
Chernov_-_Vvedenie_v_LP
.pdf
Среди элементов aiq разрешающего столбца следует определить разрешающий элемент. Для этого необходимо рассмотреть среди величин aiq только положительные. Для каждой из таких положительных величин следует рассмотреть отношение соответствующего элемента столбца "В" к данной величине. Среди отношений нужно выбрать наименьшее. Тот элемент aiq разрешающего столбца, для которого отношение оказалось наименьшим, и является разрешающим элементом.
Другими словами, разрешающий элемент - это тот положительный элемент aiq разрешающего столбца, для которого выполняется условие
bp |
min |
b |
i |
. |
||
|
|
|
|
|||
a |
|
a |
|
|
||
pq |
aiq 0 |
iq |
||||
|
|
|
Втом случае, если в данном разрешающем столбце наименьшее отношение возникает для нескольких его элементов (в этом случае такие наименьшие отношения, разумеется, равны друг другу), в качестве разрешающего следует выбрать один из таких элементов (любой).
Втом случае, если в разрешающем столбце среди его элементов вообще нет положительных, разрешающий элемент не может быть определен. Такая ситуация говорит о том, что целевая функция задачи неограничена. Для любого допустимого плана в этом случае существует другой допустимый план с более высоким значением целевой функции. Любой план может быть улучшен. Самого лучшего, оптимального плана не существует. Продолжать его поиск не имеет смысла. Процесс решения задачи на этом заканчивается.
Таким образом, мы получили еще один признак конца процедуры решения задачи. Он состоит в том, что для некоторого столбца таблицы критерий оптимальности нарушен и при этом среди элементов столбца нет положительных, то есть
q < 0; aiq 0; ( j 1,m) .
121
Этот признак называется критерием неограниченности целевой функции.
Разобравшись с этим, вернемся к обычной ситуации, когда в разрешающем столбце есть положительные элементы. Та строка, в которой находятся разрешающий элемент, получает название разрешающей строки. Первый индекс выбранного разрешающего элемента apq указывает, что он находится в строке с номером р. Это означает, что строка с этим номером является разрешающей. Та базисная переменная, которая указана на пересечении разрешающей строки и столбца "Хб", в результате преобразования таблицы окажется небазисной. Именно вместо нее небазисная переменная Хq войдет в базисный набор.
Втаблице ее левая и правая часть преобразуются по отдельным правилам. В левую часть входят первые три столбца таблицы. В правую часть входят все остальные столбцы (начиная со столбца "В").
Влевой части таблицы содержимое столбца "№" при преобразовании сохраняется. В содержимом столбца "Хб" производится замена одной из базисных переменных. Переменная, находящаяся в разрешающей строке, заменяется на переменную, соответствующую разрешающему столбцу. В столбце "Сб", в полном соответствии с этим элемент, стоящий в разрешающей строке, заменяется на элемент, указанный вверху таблицы над переменной разрешающего столбца.
Правая часть таблицы преобразуется методом Гаусса. Процесс преобразования состоит из нескольких шагов. На каждом шаге преобразуется отдельная строка правой части таблицы. Число шагов равно количеству строк.
Целью преобразования является превращение разрешающего столбца в базисный, в такой, где на месте разрешающего элемента стоит 1, а все остальные элементы равны 0.
Процедура начинается с преобразования разрешающей строки. На
первом шаге преобразования разрешающая строка делится на
122
разрешающий элемент. В преобразованной строке на месте разрешающего элемента оказывается 1.
Далее преобразование осуществляется отдельно с каждой строкой. Для этого следует из преобразуемой строки вычесть преобразованную разрешающую строку, умноженную предварительно на подходящее число. Таким подходящим для каждой преобразуемой строки является свое число. Оно находится на пересечении преобразуемой строки и разрешающего столбца. В результате преобразования на месте этого подходящего числа оказывается 0.
4.3.2.Формулы преобразования
Преобразование правой части таблицы можно описать в формульном виде. Отметим элементы преобразованной таблицы штрихом. Напомним, что apq разрешающий элемент.
Тогда для разрешающей строки
a1 |
|
a pj |
, |
b1 |
|
bp |
. |
|
|
||||||
pj |
|
a pq |
p |
|
a pq |
||
|
|
|
|
Для произвольной i-й строки, кроме разрешающей (i р) и
критериальной
a1ij aij a1pjaiq ;b1i bi b1p aiq .
Для критериальной строки
1j j a1pj q ;d1 d b1p q .
Легко проверить, что в соответствии с этими формулами элементы разрешающего столбца преобразуются в элементы базисного столбца.
a1 |
|
a pq |
1; |
|
|||
pq |
|
a pq |
|
|
|
|
a1iq aiq a1pq aiq 0;
123

1q q a1pq q 0.
Отметим, что текущие опорные планы, связанные с симплексными таблицами, должны быть допустимыми. Допустимый план удовлетворяет всем ограничениям системы. В частности, его компоненты не могут быть отрицательными. В текущем опорном плане небазисные компоненты равны 0, тем самым они неотрицательны. Базисные компоненты равны элементам столбца "В" во всех строках, кроме критериальной. Они тоже должны быть неотрицательными.
Неотрицательность элементов столбца «B» в первоначальной таблице обеспечивается предварительной подготовкой модели. Их неотрицательность в преобразованной таблице вытекает из формулы преобразования.
Действительно, для разрешающей строки
b1 |
|
bp |
. |
|
|||
p |
|
a pq |
|
|
|
По условию bp 0. Поскольку apq — разрешающий элемент, то apq
0. Отсюда следует, что b1p 0.
Для остальных строк таблицы
b1i bi b1p aiq .
По условию bi 0. Только что было доказано, что b1p 0. Если aiq
0, то из формулы сразу следует, что b1i 0.
Рассмотрим противоположный случай, когда aiq 0. Доказываемое утверждение b1i 0 равносильно неравенству
b1i b1p aiq 0,
которое, в свою очередь, равносильно
bi bp a iq 0, a
pq
124

то есть
bi bp a iq . a
pq
Поскольку по предположению aiq 0, то можно разделить обе части последнего неравенства на эту величину, сохранив его смысл
b |
i |
|
bp |
. |
|
a iq |
a pq |
||||
|
|
Последнее неравенство верно. Его справедливость следует непосредственно из правила выбора разрешающего элемента по наименьшему отношению.
Таким образом, мы доказали, что при преобразовании симплексной таблицы элементы столбца "В" во всех строках, кроме критериальной, остаются неотрицательными (хотя сами их численные значения, конечно, изменяются).
Именно благодаря этому новый текущий план оказывается допустимым. Свойство симплексной таблицы, состоящее в том, что все элементы столбца свободных членов - столбца "В" таблицы неотрицательны (кроме, быть может, критериального), называют свойством допустимости таблицы. При преобразовании таблицы е е допустимость сохраняется.
Новой симплексной таблице соответствует новый текущий опорный план. Этому плану соответствует новое значение целевой функции. Оно вычисляется по формуле
d1 d b1p q .
Как мы выяснили, b1p 0. Кроме того, по определению разрешающего столбца q < 0.
Поэтому во всех случаях d1 d, новое значение целевой функции не меньше предыдущего. Равенство возникает только при b1p = 0.
125
Обычно b1p 0. Случай, когда b1p = 0 встречается крайне редко.
Поэтому в типичной ситуации d1 > d, то есть при переходе к новому текущему опорному плану значение целевой функции строго возрастает.
4.3.3.Алгоритм симплекс-метода
Новый текущий опорный план, соответствующий новой симплексной таблице, следует проверить на оптимальность. Если он удовлетворяет критерию оптимальности, то задача решена. Если нет, то решение задачи следует продолжить. В новой таблице следует выбрать разрешающий столбец, в нем найти разрешающий элемент, определить разрешающую таблицу снова.
Так следует продолжить до тех пор, пока последовательность преобразований таблицы не прервется. Прерваться же она может только в одном их двух случаев.
Во-первых, если очередная таблица окажется удовлетворяющей критерию оптимальности (отсутствует разрешающий столбец). Тогда соответствующий ей текущий опорный план является оптимальным, задача решена.
Во-вторых, если очередная таблица окажется удовлетворяющей критерию неограниченности целевой функции (в разрешающем столбце отсутствует разрешающий элемент). Тогда задача не имеет решения.
Последовательность преобразований таблиц и сопровождающих их рассуждений образует алгоритм симплекс-метода. Он может быть представлен в виде следующей блок-схемы (рис.12).
Рассуждения, участвующие в реализации этого алгоритма, носят чисто формальный характер, сводятся к проверке определенных неравенств и расчетам по известным формулам. Такой алгоритм без труда может быть запрограммирован. Это является большим преимуществом симплекс-метода, поскольку реальные экономические задачи требуют преобразования таблиц большой размерности, практически не поддающихся ручной обработке. В настоящее время
126
разработаны разнообразные пакеты прикладных программ, позволяющие использовать современную вычислительную технику при решении и анализе задач линейного программирования. Одна из таких программ реализована в Excel под названием «Поиск решения».
Вблок-схеме алгоритма симплекс-метода имеется цикл. Каждое прохождение по циклу соответствует переходу от одной симплексной таблицы к другой, от одного текущего опорного плана к следующему.
Всхеме указаны четкие критерии выхода из цикла, критерии конца процесса решения задачи. Однако всегда ли произойдет такой выход? Не окажется ли, что в процессе решения задачи так и придется пересчитывать симплексные таблицы до бесконечности?
127

Предварительная подготовка модели
Заполнение исходной симплексной таблицы
Выполнен ли |
да |
Задача решена. |
критерий |
|
Текущий опорный план |
оптимальности? |
|
является оптимальным. |
|
|
|
нет
Выбор
разрешающего
столбца
|
Выполнен ли |
да |
|
|
критерий неограниченности |
|
Задача не имеет решения. |
||
|
целевой функции? |
|
Целевая функция неограничена. |
|
|
нет |
|
|
|
|
|
|
||
|
|
|
|
|
|
Определение |
|
|
|
|
разрешающего |
|
|
|
|
элемента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определение |
|
|
|
|
разрешающей |
|
|
|
|
строки |
|
|
|
|
|
|
|
|
Преобразование симплексной таблицы
Рис.12.Блок-схема алгоритма симплекс-метода
Теорема о сходимости симплекс-метода утверждает, что можно этого не опасаться. Через конечное число прохождения цикла процесс решения задачи прекратится.
128
Доказательство теоремы основано на следующем рассуждении. Каждой симплексной таблице соответствует свой базисный набор переменных. В задаче участвует конечное число (n) переменных. В базисном наборе участвует конечное число (m) этих же переменных. Следовательно, количество всевозможных базисных наборов конечно.
Каждой симплексной таблице с ее базисным набором соответствует свой текущий опорный план. Таким образом, число текущих опорных планов конечно.
При прохождении по циклу блок-схемы осуществляется переход от одного текущего опорного плана к другому. Каждому плану соответствует свое значение целевой функции. Это значение при переходе от одного плана к другому сохраняется или растет.
Если оно растет, то текущие опорные планы не могут повторяться, поскольку новым планам будут соответствовать новые значения целевой функции. Каждый раз при преобразовании таблицы будет возникать новый план, не встречавшийся ранее.
Поскольку количество таких планов конечно, то процесс решения задачи рано или поздно прекратится. Прекратиться же он может лишь в одном из двух случаев, указанных в блок-схеме.
Если же значение целевой функции сохраняется, то в принципе оказывается возможным повторение текущих опорных планов и зацикливание процесса решения задачи. Однако разработан и обоснован специальный прием, позволяющий обнаруживать такое зацикливание и выходить из него. Таким образом, и в этом случае обеспечивается то, что процесс решения задачи прекращается через конечное число прохождений цикла, конечное число преобразований симплексных таблиц.
Теоретически сходимость алгоритма с помощью специального приема выхода из цикла обеспечена безусловно. В практике программирования этот специальный прием обычно не используется, поскольку он серьезно загромождает основной алгоритм, а его
129
практический эффект весьма мал. Натолкнуться на задачу с зацикливанием практически невероятно.
На основе симплекс-метода может быть полностью проведен постоптимизационный анализ задачи линейного программирования с любым числом переменных и ограничений. Он требует определенных модификаций, изучаемых в теории двойственности и теории параметрического программирования.
Однако определенную важную информацию можно извлечь уже из обычной симплексной таблицы.
Предположим, что задача решена симплекс-методом и получен ее оптимальный план. Оптимальные значения дополнительных переменных, появившихся при приведении задачи к канонической форме, указывают для задачи производственного планирования те объемы ресурсов, которые остаются неиспользованными при реализации оптимального плана. Тем самым мы получаем информацию о ресурсном обеспечении оптимального плана.
В оптимальной симплексной таблице содержатся и теневые цены (двойственные оценки) ресурсов. Извлечь их из таблицы можно следующим образом.
Обозначим посредством yk двойственную оценку k-го ресурса (правой части k-го ограничения).
Рассмотрим исходную симплексную таблицу. Определим в ней базисную переменную, соответствующую k-й строке (это та переменная, которая находится на пересечении столбца "Хб" и k-й строки). Пусть эта переменная есть xl.
Рассмотрим теперь столбец, соответствующий этой переменной. Над обозначением "xl" столбца находится коэффициент cr с которым эта переменная входит в целевую функцию. Рассмотрим этот же столбец " xl", но уже не в исходной, а в оптимальной таблице. На пересечении этого столбца и критериальной строки оптимальной таблицы находится некоторая величина r
130