Основы симплекс-метода

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

Прямой перебор вершин выпуклого многогранника ограничений является трудоемким способом решения ЗЛП. Поэтому разработаны и разрабатываются алгоритмы направленного поиска оптимального решения. Наиболее распространенным методом поиска является симплекс-метод (метод последовательного улучшения плана). При использовании этого метода решение задачи распадается на два этапа:

1) отыскание координат первой вершины многогранника ограничений, или, в терминах линейного программирования, опорного решения (опорного плана, базисного решения);

2) отыскание координат вершины многогранника ограничений, соответствующей оптимальному значению Основы симплекс-метода - student2.ru (оптимального плана).

Таким образом, при использовании симплекс-метода вначале находят произвольную вершину многогранника, т.е. опорное решение Основы симплекс-метода - student2.ru ,определяют значение целевой функции в опорной вершине Основы симплекс-метода - student2.ru . Затем находят ребро многогранника ограничений, вдоль которого целевая функция наиболее быстро растет (если определяется максимум функции) или убывает (если отыскивается минимум), и находят следующую вершину многогранника ограничений вдоль этого ребра. Новую вершину принимают за опорную и всю процедуру повторяют, т.е.

Основы симплекс-метода - student2.ru и т. д.

Поиск заканчивают, когда приходят в вершину, для которой не найдется ни одного смежного ребра, вдоль которого Основы симплекс-метода - student2.ru будет возрастать (или убывать при поиске минимума), т.е. в точке оптимума Основы симплекс-метода - student2.ru будет ухудшаться при движении во всех допустимых направлениях.

Симплекс-метод позволяет найти крайнюю точку области допустимых решений и определить является ли она точкой экстремума функции Основы симплекс-метода - student2.ru .

Рассмотрим вычислительный аспект симплекс-метода.

Симплекс-метод является универсальным в том смысле, что позволяет решать задачу в общей постановке, хотя требует приведения ее к определенному (стандартному) виду:

Найти Основы симплекс-метода - student2.ru доставляющие минимум функции

Основы симплекс-метода - student2.ru Основы симплекс-метода - student2.ru (4.15)

при условиях

Основы симплекс-метода - student2.ru Основы симплекс-метода - student2.ru Основы симплекс-метода - student2.ru (4.16)

При m<n существует множество решений и это множество решений может быть представлено как

Основы симплекс-метода - student2.ru (4.17)

где Основы симплекс-метода - student2.ru – базисные переменные;

Основы симплекс-метода - student2.ru -свободные переменные;

Основы симплекс-метода - student2.ru -линейные функции свободных переменных.

Вследствие линейности функций Основы симплекс-метода - student2.ru равенства (4.14) могут быть приведены к виду

Основы симплекс-метода - student2.ru (4.18)

Основы симплекс-метода - student2.ru (4.19)

Здесь коэффициенты Основы симплекс-метода - student2.ru и свободные члены Основы симплекс-метода - student2.ru определяются величинами Основы симплекс-метода - student2.ru и Основы симплекс-метода - student2.ru , входящими в уравнения (4.16).

Системе уравнений (4.16) присуща следующая особенность: переменная Основы симплекс-метода - student2.ru входит только в уравнение с номером i=j, имея при этом коэффициент, равный единице, и не входят в остальные m-1 уравнений, для которых Основы симплекс-метода - student2.ru .

Такая система называется канонической. Основным ее преимуществом является то, что она позволяет легко указать множество всех возможных решений (4.16), среди которых находятся базисные решения.

Частное решение системы (4.18), получаемое приравниваем свободных переменных Основы симплекс-метода - student2.ru к нулю, называется базисным. Оно имеет вид

Основы симплекс-метода - student2.ru (4.20)

При этом Основы симплекс-метода - student2.ru . Приведем следующие три утверждения, которые положены в основу построения алгоритма улучшения допустимого базисного решения и решения задачи в целом.

1. Допустимое базисное решение системы уравнений (4.18) соответствует крайней точке области, определяемой системой линейных ограничений.

2. Если ЗЛП имеет оптимальное решение, то существует, по крайней мере, одно базисное оптимальное решение. Теперь симплекс-метод может быть определен как метод, предполагающий последовательный анализ базисных решений системы (4.16).

3. Базисное допустимое решение (4.20) является оптимальным тогда, когда коэффициенты Основы симплекс-метода - student2.ru при свободных переменных Основы симплекс-метода - student2.ru в функции Основы симплекс-метода - student2.ru (после ее выражения через свободные переменные) неотрицательны.

Таким образом, получен критерий оценки оптимальности решения задачи линейного программирования. Однако, с первой попытки найти такое решение не всегда удается. Даже в тех случаях, когда задача сведена к допустимой канонической форме, очевидное базисное решение (4.20) чаще всего оказывается промежуточным. Поэтому необходимо рассмотреть процесс улучшения решения, заключающийся в поиске нового базисного решения ,которому соответствует более близкое к оптимальному значение Основы симплекс-метода - student2.ru .

Допустим, что базисное решение (4.20) не является оптимальным, т.е. среди коэффициентов Основы симплекс-метода - student2.ru в функции Основы симплекс-метода - student2.ru есть отрицательные. Чтобы перейти от решения (4.20) к другому базисному решению нужно сделать отличной от нуля (ввести в базис) какую-то из свободных переменных Основы симплекс-метода - student2.ru , обратив в ноль одну из базисных переменных Основы симплекс-метода - student2.ru . Имея в виду ограничение Основы симплекс-метода - student2.ru , можно сказать, что при таком переходе Основы симплекс-метода - student2.ru уменьшится только тогда, когда вводимая в базис переменная будет иметь в выражении Основы симплекс-метода - student2.ru отрицательный коэффициент. Естественно, уменьшение Основы симплекс-метода - student2.ru будет тем заметнее, чем больше по модулю соответствующий коэффициент Основы симплекс-метода - student2.ru .

Обозначим через S тот номер j из m+1,…,n, для которого величина Основы симплекс-метода - student2.ru отрицательна и максимальна по модулю, т.е. Основы симплекс-метода - student2.ru . Вводим Основы симплекс-метода - student2.ru в базис и представим базисные переменные и Основы симплекс-метода - student2.ru в виде

Основы симплекс-метода - student2.ru (4.21)

Поскольку Основы симплекс-метода - student2.ru , нужно как можно больше увеличивать Основы симплекс-метода - student2.ru в стремлении минимизировать Основы симплекс-метода - student2.ru . Однако возрастание Основы симплекс-метода - student2.ru может продолжаться лишь до тех пор, пока какая-то из переменных Основы симплекс-метода - student2.ru не обратится в ноль. Это произойдет, если хотя бы один коэффициент Основы симплекс-метода - student2.ru в системе уравнений (4.21) положителен (по исходному условию (4.19) все Основы симплекс-метода - student2.ru ). Если же Основы симплекс-метода - student2.ru для нескольких индексов i из 1,2,…m, то при возрастании Основы симплекс-метода - student2.ru в ноль обратится первой та базисная переменная из (4.21), которой отвечает наименьшая величина отношения Основы симплекс-метода - student2.ru . Предположим, что эта переменная есть Основы симплекс-метода - student2.ru ,тогда предельное значение Основы симплекс-метода - student2.ru , до которого можно увеличить Основы симплекс-метода - student2.ru ,найдется как

Основы симплекс-метода - student2.ru (4.22)

Основы симплекс-метода - student2.ru .

При этом Основы симплекс-метода - student2.ru , так как Основы симплекс-метода - student2.ru , а Основы симплекс-метода - student2.ru .

Необходимо подчеркнуть, что равенство нулю хотя бы одного свободного члена Основы симплекс-метода - student2.ru при каких-то Основы симплекс-метода - student2.ru (случай вырожденного базисного решения, в котором равными нулю оказываются не только свободные переменные, но и некоторые базисные, так как Основы симплекс-метода - student2.ru ) означает невозможность ввода Основы симплекс-метода - student2.ru в базис с соблюдением условия Основы симплекс-метода - student2.ru .

Указанная процедура перехода может быть повторена, если новое базисное решение допускает дальнейшее улучшение (уменьшение) значения Основы симплекс-метода - student2.ru . Симплекс-алгоритм состоит в последовательном повторении подобных операций до тех пор, пока не будет найдено оптимальное решение ЗЛП.

ЗЛП имеет множество решений, если при достижении оптимальной вершины в выражении функции Основы симплекс-метода - student2.ru будет отсутствовать какая-нибудь из свободных переменных.

Если на каком-то этапе окажется, что все коэффициенты Основы симплекс-метода - student2.ru отрицательны и увеличение свободной переменной Основы симплекс-метода - student2.ru не ограничено, (область открытая), то оптимального решения не существует Основы симплекс-метода - student2.ru .

Надо отметить, что предусмотренный симплекс-алгоритмом процесс поиска Основы симплекс-метода - student2.ru закончится на конечном числе шагов, если ни на одном из них не возникнут вырожденные базисные решения.

Симплекс-метод, как указывалось выше, предполагает на первом этапе решения задачи выбор базисных переменных Основы симплекс-метода - student2.ru таким образом, чтобы выполнялись условия (4.19), что является трудоемкой задачей. Для такого выбора можно вводить дополнительные положительные переменные Основы симплекс-метода - student2.ru .Этот подход позволяет установить существование допустимых решений. Однако для его реализации требуется решать одну вспомогательную задачу линейной оптимизации тем же симплекс-методом.

Рассмотрим исходную задачу (4.15),(4.16). Для нее построим вспомогательную задачу: найти

Основы симплекс-метода - student2.ru (4.23)

для известного вектора Основы симплекс-метода - student2.ru с m дополнительными переменными

Основы симплекс-метода - student2.ru

и условиями

Основы симплекс-метода - student2.ru (4.24)

Система уравнений (4.24) является канонической системой. Принимая Основы симплекс-метода - student2.ru за свободные переменные, а Основы симплекс-метода - student2.ru - за базисные, получаем базисное допустимое решение вспомогательной задачи:

Основы симплекс-метода - student2.ru

Затем, применяя последовательно шаги симплекс-алгоритма находим оптимальное решение вспомогательной задачи. Если это решение таково, что Основы симплекс-метода - student2.ru ,то оно определяет допустимое базисное решение исходной задачи; если Основы симплекс-метода - student2.ru , то исходная задача не имеет допустимых решений.

Применение симплекс-метода для решения задач с условиями типа неравенство. Пусть ограничения задаются не уравнениями, а неравенствами. Их число обозначим через d. Неравенства могут быть легко сведены к уравнениям, если ввести в таком же количестве дополнительные положительные переменные. Для неравенства

Основы симплекс-метода - student2.ru

получим

Основы симплекс-метода - student2.ru

Для неравенства

Основы симплекс-метода - student2.ru

получим

Основы симплекс-метода - student2.ru

Тогда задача оптимизации может быть записана в следующей форме:

Основы симплекс-метода - student2.ru при Основы симплекс-метода - student2.ru

при условиях

Основы симплекс-метода - student2.ru

Таким образом, получили ЗЛП с условиями в форме равенств, которая решается симплекс-методом.

Наши рекомендации