Пусть задана задача целочисленного линейногопрограммирования:
максимизировать
при условиях
Условия (12) могут быть записаны как
Предположим, что для t=0 (т.е. для исходнойтаблицы) все aij – целые и столбцы (j = 1 ,…, n) – лексикографически положительны. Тогда все столбцы на протяжениивычислений остаются лексикографически положительными.
Прежде чем изложить способ получения дополнительногоограничения из производящей строки, введем новое представление чисел. Пусть [x] обозначаетнаибольшее целое число, не превосходящее x. Для любого числа y(положительного или отрицательного) и положительного можно записать:
где (ry – неотрицательный остаток от деления нацело y на ). В частности, . Поэтому если , то и r = 1. Если , то и r = 0.
Вводимое дополнительное неравенство должно выполняться прилюбом целом решении задачи (12). Рассмотрим некоторое уравнение в t – таблице(опуская индекс строки) с a0
где x – соответствующая компонента вектора , а - текущие небазисныепеременные. Можно выразить x, a0 и aj,используя введенное выше представление (14):
Подставив выражения (16) и (17) в (15) и переставив члены,получим:
Поскольку , и на переменные x и наложено требованиенеотрицательности, левая часть уравнения (18) всегда неотрицательна. Рассмотримвыражение в правой части, заключенное в фигурные скобки. Коэффициенты в этомвыражении представляют собой целые числа, а переменные подчинены требованиюцелочисленности. Поэтому все выражение в скобках должно быть целым. Обозначимего через s, т.е.:
.Целочисленная слабая переменная s являетсянеотрицательной. Действительно, если бы s было отрицательным, т.е.принимало бы значения -1, -2, …, тоумножение на сделалобы всю правую часть уравнения (18) отрицательной, в то время как левая частьнеотрицательна.
Рассмотрим два случая и . Для и . Подставляя в уравнение (19) выражение для x из (15),получим: