Симплекс-метод решения задач линейного программирования

Симплекс-метод является аналитическим методом решения задач линейного программирования. Пусть система ограничений задается системой линейных уравнений Симплекс-метод решения задач линейного программирования - 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 . От полученного базиса можно перейти к другому базису с таким расчетом, чтобы значение Симплекс-метод решения задач линейного программирования - 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 найдем значения базисных переменных Симплекс-метод решения задач линейного программирования - 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 , Симплекс-метод решения задач линейного программирования - 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 входят в целевую функцию Симплекс-метод решения задач линейного программирования - 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 Симплекс-метод решения задач линейного программирования - 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

Выберем разрешающий столбец Симплекс-метод решения задач линейного программирования - student2.ru из условия: Симплекс-метод решения задач линейного программирования - student2.ru и хотя бы один из элементов Симплекс-метод решения задач линейного программирования - student2.ru . Затем выберем разрешающую Симплекс-метод решения задач линейного программирования - student2.ru -ю строку из условия Симплекс-метод решения задач линейного программирования - student2.ru для Симплекс-метод решения задач линейного программирования - student2.ru . Произведем пересчет элементов разрешающей Симплекс-метод решения задач линейного программирования - student2.ru -й строки по формуле Симплекс-метод решения задач линейного программирования - student2.ru , где Симплекс-метод решения задач линейного программирования - student2.ru . Элементы всех остальных строк вычисляем по формуле Симплекс-метод решения задач линейного программирования - student2.ru , где Симплекс-метод решения задач линейного программирования - student2.ru .

Если после проделанных действий:

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

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

3. все значения Симплекс-метод решения задач линейного программирования - student2.ru , тогда получено оптимальное решение.

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