Метод решения целочисленных задач. Особенности решения целочисленных задач

Пример: пусть x1,x2-целые и имеем следующую задачу

x1>=0,x2>=0-ограничения, наложенные на задачу

2x1+11x2<=38

x1+x2<=7

4x1-5x2<=5

Найти Z=x1+x2-max

 

 

3

Рисунок 3. Иллюстрация поиска решения

 

Выкинем условия целочисленности и решим задачу как обыкновенную. Получим решение В(4 1/3,2 2/3), С(4 4/9,2 5/9), при отбрасывании дробной части получаем решение В(4,2),С(4,2)- лежащее вне области допустимых решений. Настоящее решение E(3,2),F(2,3) лежит в  области допустимых решений. Таким образом стандартные методы не подходят для решения таких задачи. Для решения целочисленных задач разработано три метода:

-метод отсечений Гомори,

на задачу накладываются дополнительные ограничения, которые отсекают нецелочисленные области

-метод ветвей и границ ( комбинаторный метод)- основан на идее перебора всех целочисленных решений

-эвристический метод (случайного поиска) -использует метод Монте-Карло.

Рассмотрим подробно метод Гомори. Сначала к задаче применяется симплекс-метод, игнорируя условие целочисленности. При этом получаются некоторые нецелочисленные решения.

x11 x12 ....x1n aj<=0,bi-нецелое

xk1 a11 a12 a1n b1-оптимальное решение, которое может

xk2 a21 a22 a2n b2 быть нецелочисленным

.......

xkn am1 am2 ... amn bm

Введем и построим дополнительные ограничения по правилу

lij=aij-[aij]=aij-tij-целая величина,[ ]-целая часть.

tij<aij<tij+1

ei=bi-[bi]=bi-ti,где

ti<bi<ti+1

Определим

Si=li1xl1+li2xl2+...+linxln-ei>=0

Si=`sum` j=1n lij*xlj-ei>=0

Покажем, что при целых значениях xlj,xki величина Si будет целой

Si=`sum` j=1n (aij-tij)*xij-bi+ti

xki+`sum` j=1n aijxlj=bi==>Sj=1n aijxlj-bi=-xkj

Si=-`sum` j=1n tijxlj-xki+ti

-------------- - целая часть, а значит и Si-целое

и Si=-ei, а  ei<=0.

Этот метод не гарантирует оптимального решения.