ТОП 10:

Задачи дискретного программирования.



Многие задачи исследования операций такие, как задачи распределения ресурсов, сетевого планирования и управления, календарного планирования, размещения, замены оборудования – описываются математическими моделями дискретного программирования. По структуре математической модели задачи дискретного программирования делятся на следующие классы:

1. Задачи с неделимостями.

2. Экстремальные комбинаторные задачи.

3. задачи на несвязных выпуклых областях.

4. задачи с разрывными целевыми функциями.

Рассмотрим задачу дискретного программирования в виде

, xÎХ (5. 1)

Если множество Х является конечным или счетным, то поставленная задача является задачей дискретного программирования. Если в частном случае компоненты векторов x являются целыми числа, то перед нами задача целочисленного программирования. В задачах дискретного программирования область допустимых решений не является связной, поэтому не является выпуклой в обычном понимании. Отыскание решения таких задач сопряжено со значительными трудностями. Для решения задач дискретного и целочисленного программирования разработаны специальные методы. Эти методы делятся на 3 группы:

· методы отсечения;

· комбинаторные методы;

· методы случайного поиска и эвристические методы.

 

Методы отсечения для решения задач целочисленного линейного программирования.

Рассмотрим задачу целочисленного линейного программирования

ác,xñ® max,  
A x = b, (5. 2)
x³0n,  
xiцелые, i=1,2,3,...,n.  

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

Опишем более подробно применительно к задаче (5.2). Пусть эта задача решена без условия целочисленности. Ее решение достигается на базисном решении, неограничивая общности его, можно записать x=(xB, x¢)T. На последнем шаге симлекс-метода из симплекс-таблицы можно выразить

xB=b–A¢x¢ (5.3)

где b – столбец свободных членов симплекс-таблицы, A – матрица симплекс-таблицы, соответствующая вектору внебазисных переменных x¢. Если у вектора все компоненты целочисленны, то задаче решена, в противном случае строим отсечение. Выделим из системы (5.3) строку, соответствующую нецелочисленной компоненте вектора b, получим

(5.3¢)

Отсечение Данцига. Если решение дробное, то по крайней мере одна из внебазисных переменных не равна 0, учитывая условие целочисленности, она должна быть больше или равна 1. Так как мы эта переменная не известна, то должно выполняться неравенство

.

Отсечение Гомори.Отсечение Данцига оказалось не эффективным, были построены задачи, в которых бесконечное число таких отсечений не приводило к решению. Несколько позже Гомори разработал несколько видов отсечений на другой основе. Первое отсечение Гомори имеет вид

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

получаем, что переменную y можно включить в базис, но базис получаем не допустимым, так как –bj<0. Но так как в последней симплекс-таблице все оценки di³0, то решение задачи можно продолжить двойственным симплекс-методом.

 

Пример.

x1 + x2 ® max,
2x1 + x2 £
x1 + 2x2 £

xi ³ 0,xiцелые, i=1,2.

 

Приведем задачу к каноническому виду и занесем данные в симплекс-таблицу:

Xb b X1 X2 Y1 Y2
Y1
Y2
d 1 1

 

Решив эту задачу без условия целочисленности, получим симплекс-таблицу.

Xb b X1 X2 Y1 Y2
X1 0.67 0.67 0.33
X2 0.67 0.33 0.67
d 1.33 0.33 0.33

 

Из этой таблицы получаем X1=0.67, X2=0.67, т.е. решение не целочисленное, строим дополнительное ограничение по первой строке (можно и по второй): 0.67Y10.67Y2 £ –0.67.

Приводим его к каноническому виду 0.67Y10.67Y2+ Y3=0.67 и приписываем к симплекс-таблице:

 

Xb b X1 X2 Y1 Y2 Y3
X1 0.67 1.0 0.67 0.33
X2 0.67 0.33 0.67
Y3 0.67 0.67 0.67
d 1.33 0.33 0.33

 

Решаем двойственным симплекс-методом:

Xb b X1 X2 Y1 Y2 Y3
X1 1.0 1
X2
Y1
d 1.33 0.5

Получим целочисленное решение X1=0, X2=1, Y1=1, Y2=0, Y3=0,
Y
1,Y2,Y3 дополнительные переменные. Ответ: X1=0, X2=1.

Самостоятельная работа № 10.

Решить задачу 5.2, в которых:

Вариант Матрица A Вектор cT Вектор b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–3
–3

 

–2

 

 

–2 –4

 

 

 

–2 –4

 

 

 

–2 –4

 

–1 –2 –1 –1

 

 

–2 –4

 

–1 –1

 

 

 

 







Последнее изменение этой страницы: 2016-06-29; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.215.33.158 (0.02 с.)