2.9. Метод отсечения (метод Гомори)

Задача (2.22) – (2.24) решается без условия целочисленности. Если полученное оптимальное решение целочисленно, то исходная задача решена. В противном случае к ограничениям задачи добавляется новое линейное ограничение, «отсекающее» нецелочисленную вершину. Это ограничение оставляет допустимыми все целые точки исходного многогранника (такое отсечение называется правильным). Далее решается задача линейного программирования с добавлением нового ограничения и т.д.

Рассмотрим вариант метода. Предполагается что задача (2.22) – (2.24) имеет решение. Пусть уравнение из симплексной таблицы, содержащей оптимальный план имеет вид:

.                  (2.25)

Базисная переменная в этом уравнении имеет наибольшую дробную часть, и некоторые коэффициенты aj, b являются дробными.

Поскольку xj – неотрицательные целые числа, то к ограничениям (2.23) можно добавить:

.                    (2.26)

Здесь стоит знак «≤», так как [aj]xj – целое и его всегда можно ограничить целой частью b. Откуда следует, что неравенство (2.26) сохраняет все целые точки многогранника множества (2.23). Можно преобразовать неравенство (2.26) к виду:

,                          (2.27)

добавив свободную переменную xn+1 с условием ее неотрицательности и целочисленности. Выражение (2.26) будет выполняться при целых xj.

Вычитая из уравнения (2.27) уравнение (2.25), получим ограничение, содержащее дробные части:

,                   (2.28)

 – это уравнение называется отсечением Гомори.

Вместо ограничения (2.26) будем использовать ограничение (2.28), так как ограничение (2.28) уже не содержит базисную переменную из выражения (2.25), а новая базисная переменная xn+1 будет выражена через прежние свободные.