Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2190

.pdf
Скачиваний:
1
Добавлен:
15.11.2022
Размер:
1.24 Mб
Скачать

Тогда математическая модель задачи будет иметь следующий вид:

n n

pijxij max;

i1j 1 n

xij 1,i 1,n;

j 1

n

xij 1,j 1,n;

i1

xij {0,1}.

Квадратичная задача о назначениях.

Имеется m пунктов, в которых необходимо разместить n объектов. В каждом пункте может быть размещен только один объект. Даны расстояния между i-м и j-м пунктами dij, а

также csk – показатели, характеризующие взаимосвязи между s-м и k-м объектами (стоимость перевозок, число коммукникаций и т.д.). Необходимо определить такое назначение объектов в выделенные пункты, чтобы минимизировать соответствующие затраты.

Математическая модель задачи имеет следующий вид:

n 1 n m m

xsi xkjcsk dij min; s 1 k s 1 i 1 j 1

m

xsk 1,s 1,n;

k1 n

xsk 1,k 1,m;

s 1

xsk {0,1}.

В данном случае целевая функция зависит не от всевозможных назначений, а от всевозможных пар назначений (s-й

110

элемент размещается в i-й пункт, а k-й – в j-й пункт). Целевая функция при этом не является линейной.

Квадратичная задача о назначениях имеет широкий круг практических приложений. Она может быть использована для решения задач размещения (оборудования, предприятий, деталей, и т.д.). Особенно часто эта модель используется в задачах конструкторско-топологического проектирования.

Пример 3. Необходимо таким образом разместить n компонентов печатной платы на m позициях монтажного пространства, чтобы суммарная длина электрических соединений между компонентами была бы минимальной.

Предположим, что n=m. Пусть lks - расстояние между

k-й и s-й позициями, mij - число связей между i-м и j-м ком-

понентами. Введем бинарные переменные

1,еслиi -йкомпонентназначается

xik на k -юпозицию .0 в противном случае

n 1 n m m

xik xjSlkSmij min; i 1 j 1 i k 1 S 1

m

xik 1;i 1,n;

k1 n

xik 1;k 1,m;

i 1

xik {0,1}.

Задача коммивояжера

Имеются n пунктов или городов с заданными расстояниями dij между i-м и j-м пунктами. Необходимо составить

оптимальный маршрут из условия минимизации суммарного расстояния для коммивояжера, выходящего из пункта с номе-

111

ром 1, который должен побывать во всех пунктах ровно по одному разу и вернуться в исходный пункт.

Введем альтернативные бинарные переменные:

 

1,еслипереездизi-города в

 

 

j-йвходит вмаршрут

.

xij

 

в противном

случае

0

Условия минимизации общего расстояния , а также прибытия в каждый пункт и выезда из него ровно по одному разу могут быть выражены следующим образом:

n n

dij x ij min;

i1 j 1 n

x ij 1,i 1, n;

j 1

n

x ij 1,j 1, n;

i 1

xij {0,1}.

Однако необходимо обеспечить непрерывность маршрута, чтобы набор звеньев, входящих в маршрут, образовывал единую цепочку (например, при n=8 цепочка (1,2) - (2,6) - (6,4) - (4,8) - (8,5) - (5,3) - (3,7) - (7,1)), а не состоял бы из отдельных не связанных цепочек (например, (1,2) - (2,6) - (6,1) и (3,8) - (8,7) - (7,5) - (5,4) - (4,3)). Для устранения замкнутых циклов (подобходов), включающих количество вершин меньшее n, в

модель вводятся n дополнительные переменных ui 0 (i 1,n) и n2 дополнительных ограничений:

Ui Uj (n 1)xij n 2,i 2,n,j 2,n.

112

Действительно, пусть маршрут включает несколько цепочек. Тогда существует цепочка, начинающаяся и заканчивающаяся в начальном пункте, но включающая n1 звеньев, где n1<n. Просуммировав эти неравенства вдоль такой цепочки (т.е. при xik=1), получим бессмысленное неравенство n1(n- 1) n1(n-2) (все ui и uj при суммировании взаимно уничтожаются). Покажем теперь, что для маршрута, исключающего подобходы, это неравенство выполняется, т.е., можно найти значения ui, удовлетворяющие дополнительным ограничениям. Положим ui=p, если город i посещается коммивояжером на p-м

шаге, p=2,n . Отсюда следует, что ui uj n 2 i, j 2,n.

Таким образом, ограничения выполняются для всех xij 0.

При xij 1 эти ограничения превращаются в равенства

Ui U j (n 1)xij p (p 1) n 1 n 2.

Задача коммивояжера имеет широкий круг практических приложений. К ней сводятся задачи оптимальной маршрутизации (выбор маршрутов перевозки грузов, маршрутов движения транспорта, минимизация расстояния, проходимого исполнительным механизмом станка с ЧПУ и т.д.), задачи проектирования электрических и вычислительных сетей, задачи определения последовательности обработки деталей на станках с условием минимизации времени переналадок и т.д.

Пример 4. Пусть необходимо проложить коммуникации между n различными ЭВМ таким образом, чтобы каждая ЭВМ была связана с двумя соседними, вся сеть была бы подключена к центральной ЭВМ, а суммарная длина коммуникаций была бы минимальна. Заданы расстояния dij между i-й и j-й ЭВМ.

Данная задача формализуется в виде задачи коммивояжера следующим образом:

113

n n

dij xij min; i 1 j 1

n

xij 1,i 1,n;

j1 n

xij 1,j 1,n;

i 1

U i U j (n 1) x ij n 2 ,i 2 , n , j 2 , n ; x ij {0,1}, u i 0 .

При этом xij=1, если i-я и j-я ЭВМ соединяются.

Задача о покрытии

Пусть имеется n предметов, каждый из которых обладает некоторым числом признаков из заданного множества m признаков, а в совокупности эти n предметов обладают всеми m признаками. Необходимо выбрать минимальное число предметов, которые в совокупности обладали бы m признаками. Условия задачи задаются матрицей A с элементами

a ij

1,

если

j - й предмет

обладает

i - м признаком

 

0

 

 

в

противном

случае

 

 

 

 

Введем бинарные переменные:

 

 

 

x j

1,

если

j - й предмет

выбран .

 

 

 

в

противном

случае

 

 

 

0

Тогда математическая модель задачи имеет следующий

вид:

114

n

x j min;

j 1

n

a ij x j 1,i 1, m;

j 1

x j {1,0}.

Каждое i-е ограничение в данном случае показывает, что должен быть выбран хотя бы один предмет, обладающий i- м признаком.

Если каждому j-му предмету приписывается вес Cj,

может быть сформулирована взвешенная задача о покрытии:

n

C jx j min

j 1

n

a ij x j 1,i 1, m,

j 1

x j {0,1}

Если каждому i-му признаку приписывается натуральное число i и требуется найти минимальное число таких

предметов, что i-м признаком обладает не менее i предметов из указанного набора, получаем задачу о кратном покрытии:

n

x j min

j1 n

aij x j i,i 1, m,

j 1

xj {0,1}

115

Задача о разбиении. Задача о разбиении аналогична задачи о покрытии с тем отличием, что признаки у различных предметов не должны совпадать:

n

x j min;

j 1

n

a ij x j 1,i 1, m;

j 1

x j {1,0}.

Задача о взвешенном разбиении формулируется следующим образом:

n

x j min;

j 1

n

aijx j 1,i 1,m;

j 1

xj {1,0}.

Кзадаче о покрытии сводится широкий круг задач информационного поиска, синтеза логических схем, задачи разбиения электронных схем на модули и покрытия схем типовыми ячейками и т.д.

Пример 5. Пусть некоторое количество информации

хранится в n массивах (файлах) длины cj, j 1,n, причем на

каждую единицу информации отводится по крайней мере один массив. Задана матрица T с элементами

1, еслив j-ммассиве находится i -я информация

tij

0

в противном случае

 

116

Получена заявка на m типов единиц информации. Необходимо определить подмножество массивов минимальной длины, необходимых для удовлетворения заявки.

Введем бинарные переменные:

1, если j-ймассиввыбирается

xj

0

.

 

в противном случае

Тогда математическая модель задачи формализуется в виде задачи о покрытии:

n

cij xj min;

j1 n

tij xj 1,i 1,m;

j 1

xj {1,0}.

ЛЕКЦИЯ 11 МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЦЕЛОЧИСЛЕННОГО

ПРОГРАММИРОВАНИЯ

Методы решения задач целочисленного программирования делятся на следующие группы:

методы отсечения; комбинаторные методы; приближенные методы.

Методы отсечения используются только для решения линейных задач, а комбинаторные и приближенные методы - как для линейных, так и для нелинейных задач.

В EXCEL для решения целочисленных задач используется метод ветвей и границ, который относится к классу комбинаторных методов. Рассмотрим этот метод.

Метод ветвей и границ основан на использовании конечности множества допустимых вариантов и замене полного перебора сокращенным направленным перебором. При этом

117

полного перебора удается избежать за счет отбрасывания неперспективных множеств вариантов, т.е. тех множеств, где заведомо нет оптимального решения. В методе ветвей и границ все множество допустимых вариантов последовательно дробится на все меньшие подмножества. При этом вычисляются оценки (границы), которые позволяют сделать вывод о том, какое из полученных подмножеств может быть отброшено при условии сохранения подмножества, содержащего оптимальное решение. Для иллюстрации работы МГ используется дерево, называемое деревом перебора (вариантов).

Рассмотрим частично целочисленную задачу следующего вида:

Максимизировать Z = СX

при ограничениях AX = B, X 0,

хj - целочисленная переменная при j I,

где I - множество индексов целочисленных переменных задачи. Задача записана в векторной форме: С=(с1…сn) - вектор-

x

 

1

 

строка коэффициентов целевой функции; X= ... - вектор

x

 

n

b1

столбец переменных задачи; В= ... - вектор-столбец правых

 

 

 

b

 

 

 

 

 

n

a

...

a

 

 

 

11

...

1n

 

 

частей; A= ...

... - матрица коэффициентов при пере-

 

...

 

 

 

 

am1

amn

 

 

менных в системе ограничений.

В качестве первого шага необходимо решить сформулированную задачу ЛП, рассматривая все ее переменные как непрерывные. Получаемая таким образом задача ЛП обозначается через ЛП-1, оптимальное значение ее целевой функции - через Z1. Пусть в оптимальном решении задачи ЛП-1 некото-

118

рые целочисленные переменные принимают дробные значения; тогда оптимальное решение исходной задачи не совпадает с оптимальным решением ЛП-1. В этом случае величина Z1 представляет собой верхнюю границу оптимального значения Z исходной задачи.

На следующем шаге проводится ветвление по одной из целочисленных переменных, имеющих дробное значение в оптимальном решении задачи ЛП-1. Для определения переменной, по которой производится ветвление, разработан ряд правил. Приведем некоторые из них.

1.Выбор целочисленной переменной с наибольшей дробной частью.

2.Приписывание целочисленным переменным приоритетов и ветвление по переменной с наибольшим приоритетом. Важность целочисленной переменной может определяться следующими соображениями:

- данная переменная является наиболее важной, ее значение ирает важную роль в модели по мнению разработчиков.

- коэффициент целевой функции при данной переменной превосходит остальные;

3.Находится то дополнительное ограничение, которое приводит к наибольшему возрастанию нижней границы. Цель - найти ту вершину, которая наиболее верно будет отброшена.

4.Произвольные правила выбора. Например, можно выбирать переменную с наименьшим номером.

Пусть ветвление происходит по целочисленной переменной хj, дробное значение которой в оптимальном решении

ЛП-1, равно j . Далее рассматриваются две новые задачи ЛП, обозначаемые через ЛП-2 и ЛП-3. Они получаются путем вве-

дения ограничений x j j и xj j соответственно, где

через j обозначается наибольшее целое, не превосходящее j

, через

j

- наименьшее целое, большее

j. Условия задачи

ЛП-2 и ЛП-3 можно записать следующим образом:

 

 

ЛП-2

ЛП-3

119

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]