Пример: пусть x1,x2-целые и имеем следующую задачу
x1>=0,x2>=0-ограничения, наложенные на задачу
2x1+11x2<=38
x1+x2<=7
4x1-5x2<=5
Найти Z=x1+x2-max
Рисунок 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.
Этот метод не гарантирует оптимального решения.