Метод решения целочисленных задач. Особенности решения целочисленных задач
|
||
Пример: пусть 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=Sj=1n lij*xlj-ei>=0 Покажем, что при целых значениях xlj,xki величина Si будет целой Si=Sj=1n (aij-tij)*xij-bi+ti xki+Sj=1n aijxlj=bi==>Sj=1n aijxlj-bi=-xkj Si=-Sj=1n tijxlj-xki+ti -------------- - целая часть, а значит и Si-целое и Si=-ei, а ei<=0. Этот метод не гарантирует оптимального решения. |
||