|
6.10. Некоторые общие сужденияВ каждой из разобранных выше задач поиск оптимального решения начинался с некоторого исходного допустимого базисного решения X0 системы ограничений задачи. Затем осуществлялся переход к другому допустимому базисному решению X1 доставлявшему минимизируемой форме меньшее значение, чем решение X0. От решения X1 делался переход к решению X2 и т. д. до получения желаемого результата. В этом приеме и состоит сущность симплекс-метода. Вспомним, что каждое допустимое базисное решение определяет некоторую угловую точку выпуклого многогранника решений задачи. Поэтому можно сказать, что, отправляясь от некоторой исходной угловой точки, с помощью симплекс-метода мы выходим на другую угловую точку с меньшим значением минимизируемой формы F(X) и т. д. Уже известно, что если оптимальное значение F(X) на многограннике решений существует, то оно заведомо достигается по крайней мере в одной из его угловых точек (т. е. при некотором допустимом базисном решении). Реализацию симплекс-метода легко унифицируют и все вычисления проводят с помощью специального вида таблиц {симплекс-таблиц), работа с которыми не представляет труда. В каждую из таких таблиц заносят значения коэффициентов, с которыми базисные неизвестные и форма выражаются через свободные (т. е. определенное допустимое базисное решение). Тем самым таблица представляет собой более экономную запись системы ограничений и минимизируемой формы задачи. По четко установленным правилам работы (именно эти правила были использованы в рассмотренных примерах) от занесенного в таблице решения переходят к таблице с другим Решением и т. д. Описание работы с таблицами читатель может найти почти в каждом руководстве по линейному программированию (например [6; 1]), и мы на этом внимание читателя не фиксируем. К этому следует добавить, что математическое обеспечение современных ЭВМ располагает специальной программой для решения задач линейного программирования. Поэтому даже нет необходимости учиться решать такие задачи "вручную". Читатель, по-видимому, заметил, что в разобранных нами задачах линейного программирования значения всех базисных неизвестных в каждом из допустимых базисных решений были отличными от нуля. Это свойство называют невырожденностью;" а именно, задача линейного программирования называется невырожденной, если в каждом из ее допустимых базисных решений значения всех базисных неизвестных строго больше нуля. В курсах линейного программирования доказывается следующая теорема о симплекс-методе. Предположим, что:
Тогда существует по крайней мере одно оптимальное базисное решение. Это решение может быть достигнуто симплекс-методом исходя из любого начального допустимого базисного решения. Отметим, что при нарушении условия о невырожденности возможна ситуация, при которой оптимальное решение не достигается, так как не появляется никаких препятствий для перехода от одного допустимого базисного решения к другому. Возникает так называемое зацикливание - явление возможное, но крайне редкое. В геометрическом плане зацикливание означает, что процесс решения "застрял" на некоторой вершине многогранника Q решений. Этой вершине соответствует несколько различных допустимых базисных решений. Симплекс-метод при этом переводит от одного подобного решения к другому без сдвига на другую вершину многогранника Q и без изменения значения формы F(X). Чтобы начать работу по симплекс-методу, нужно иметь, как мы видели, исходное допустимое базисное решение X0. В простых случаях X0 можно подобрать непосредственно (что мы и делали), изучая систему ограничений задачи. Однако при большом числе уравнений и неизвестных необходим иной путь определения X0. Замечательную возможность для этого открывает тот же симплекс-метод. Более того, одновременно этот метод дает возможность установить, совместна ли система ограничений в области неотрицательных значений неизвестных, т. е. не является ли пустым многогранник Q допустимых решений. Вот идея этого приема. Перепишем систему (30) ограничений задачи линейного программирования в виде (54)
Без нарушения общности можно предположить, что все bi ≥ 0 (если bi<0, то умножаем i-е уравнение на - 1). Введем (по числу уравнений) вспомогательные переменные ξ1, ξ2, ..., ξm, связав их с переменными x1, x2, ..., xn соотношениями (55)
Рассмотрим вспомогательную линейную форму относительно ξ1: φ(ξ) = ξ1 + ξ2 + ... + ξn.(56)
Начнем минимизировать форму φ(ξ) при ограничениях (54) и условиях неотрицательности неизвестных: ξ1≥0, ξ2≥ 0, ..., ξm ≥0. Для решения этой, по существу, вспомогательной задачи мы можем сразу же применить симплекс-метод. Действительно, будем считать переменные xj (j = 1, ..., n) свободными, а ξi (i = 1, ..., m) - базисными. При этом возникнет исходное допустимое базисное решение ξi = bi (i = 1, ..., m); xj = 0 (j = 1, ..., n).
В силу неотрицательности ξi всегда φ(ξ) ≥ 0, поэтому и min φ (ξ) ≥ 0. Но min φ (ξ) = 0 достигается только при всех ξi = 0. Это означает, что существует система неотрицательных значений xj, которые обращают все ξi в нуль. Иными словами, значения xj (j = 1, ..., n) удовлетворяют системе (54). Справедливо также и обратное утверждение: всякое допустимое решение х0j≥ 0 (j = 1, ..., n) системы (54) придает всем ξi из (55) значения, равные нулю, т. е. сообщают форме (56) минимальное значение min φ (ξ) = 0. Таким образом, для того чтобы система (54) была совместна в области допустимых решений (т. е. чтобы многогранник Q Не был пуст), необходимо и достаточно, чтобы min φ (ξ) = 0. Заметим, что при min φ (ξ) >0 сразу можно заключить, что система (54) в области неотрицательных значений xj (j = 1, ..., n) несовместна, т. е. не имеет ни одного допустимого (а тем более допустимого базисного) решения. Итак, для отыскания допустимого решения исходной задачи линейного программирования следует минимизировать вспомогательную форму φ (ξ). От найденного допустимого решения можно теми же приемами симплекс-метода перейти к допустимому базисному решению, а затем уже перейти к решению исходной задачи (см., например, [6]).
|
|
|||
© MATHEMLIB.RU, 2001-2021
При копировании материалов проекта обязательно ставить ссылку на страницу источник: http://mathemlib.ru/ 'Математическая библиотека' |