Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мат. методы. разделы для самостоятельного изуче....doc
Скачиваний:
6
Добавлен:
25.12.2018
Размер:
266.24 Кб
Скачать

3.8.2. Методы отсечения. Метод Гомори

Сущность методов отсечения состоит в том, что сначала задача решается без условия целочисленности. Если полученный план целочисленный, то задача решена. В противном случае к ограничениям задачи добавляется новое ограничение, обладающее следующими свойствами:

  • оно должно быть линейным;

  • должно отсекать найденный оптимальный нецелочисленный план;

  • не должно отсекать ни одного целочисленного плана.

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

Далее задача решается с учетом нового ограничения. После этого в случае необходимости добавляется еще одно ограничение и так далее.

Рис. 3.5.

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

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

Один из алгоритмов решения задачи линейного целочисленного программирования (3.41) – (3.44), предложенный Гомори, основан на симплексном методе и использует достаточно простой способ построения правильного отсечения.

Пусть задача линейного программирования (3.41) – (3.43) имеет конечный оптимум и на последнем шаге ее решения симплексным методом получены следующие уравнения, выражающие базисные переменные x1, x2, . . ., xj, . . . , xm через свободные переменные xm+1, xm+2, . . . , xm+i, . . . , xn оптимального решения

x1 = b1 – a1,m+1ּ xm+1 - . . . – a1,m+iּ xm+i - . . . – a1,nּ xn

x2 = b2 – a2,m+1ּ xm+1 - . . . – a2,m+iּ xm+i - . . . – a2,nּ xn

. . . . . . .

xi = bi – ai,m+1ּ xm+1 - . . . – ai,m+iּ xm+i - . . . – ai,nּ xn (3.45)

. . . . . . .

xm = bm – am,m+1ּ xm+1 - . . . – am,m+iּ xm+i - . . . – am,nּ xn

так, что оптимальным решением задачи (3.41) – (3.43) является

X* = (b1, b2, . . . , bi, . . . , bm, 0, 0, . . . , 0), в котором, например, bi – нецелая компонента. В этом случае можно доказать, что неравенство1)

{bi} – {ai,m+1}ּ xm+1 - . . . – {ai,m+i}ּ xm+i - . . . – {ai,n}ּ xn ≤ 0 (3.46)

сформированное по i-му уравнению системы (3.45), обладает всеми свойствами правильного отсечения.

----------------------------------------------------------------------------------------------------– в неравенстве (3.46) символ { } означает дробную часть числа. Целой частью числа а называется наибольшее число [a], не превосходящее а, а дробной частью числа – число {а}, равное разности между этим числом и его целой частью, то есть, {а} = а - [a].

Например, для а = 2 имеем [a] = 2, {а} = 2 - 2 = ;

для а = - 2 имеем [a] = -3 {а} = - 2 - (-3) = ;

-----------------------------------------------------------------------------------------------------

Для решения задачи целочисленного линейного программирования

  1. (3.41) – (3.44) методом Гомори используется следующий алгоритм:

  2. 1. Симплексным методом решить задачу (3.41) – (3.43) без учета условия целочисленности. Если все компоненты оптимального плана целые, то он является оптимальным и для решения задачи целочисленного программирования (3.41) – (3.44). Если первая задача (3.41) – (3.43) неразрешима (то есть, не имеет конечного экстремума или условия ее противоречивы), то и вторая задача

(3.41) – (3.44) также неразрешима.

2. Если среди компонент оптимального решения есть нецелые, то выбрать компоненту с наибольшей частью по соответствующему уравнению системы (3.45) сформировать правильное отсечение (3.46).

3. Неравенство (3.46) введением дополнительной неотрицательной переменной преобразовать в равносильное уравнение

{bi} – {ai,m+1}ּ xm+1 - . . . – {ai,m+i}ּ xm+i - . . . – {ai,n}ּ xn = 0 (3.47)

и включить его в систему ограничений (3.42).

4. Полученную расширенную задачу решить симплексным методом. Если найденный оптимальный план будет целочисленным, то задача целочисленного программирования (3.41) – (3.43) решена. В противном случае вернуться к п. 2 алгоритма.

Если задача разрешима в целых числах, то после конечного числа шагов (итераций) оптимальный целочисленный план будет найден.

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

Недостатком метода Гомори является требование целочисленности всех переменных: как основных, выражающих единицы продукции, так и для дополнительных, выражающих величину неиспользованных ресурсов, которые могут быть и дробными.