Алгоритм симплексного метода

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

1. Привести задачу линейного программирования к каноническому виду

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

Если опорное решение отсутствует, то задача не имеет решения в силу несовместности системы ограничений.

3.Вычислить оценки разложений векторов условий по базису опорного решения и заполнить симплексную таблицу.

4. Если выполняется признак единственности оптимального решения то решение задачи заканчивается.

5. Если выполняется условие существования множества оптимальных решений Алгоритм симплексного метода - student2.ru (следствие 4 из теоремы 2.3.1.), то путем простого перебора находят все оптимальные решения.

6. Если выполняются условия следствия 5 теоремы об улучшении опорного решения, то задача не имеет решения ввиду неограниченности целевой функции.

7. Если пункты 4-6 алгоритма не выполняются, находят новое опорное решение с использованием условий следствия 1 и возвращаются к пункту 3.

Пример. Решить симплексным методом задачу:

Алгоритм симплексного метода - student2.ru Алгоритм симплексного метода - student2.ru Алгоритм симплексного метода - student2.ru

Р е ш е н и и е. Приводим задачу к каноническому виду. Для этого в левую часть первого ограничения-неравенства типа «≤» вводим дополнительную переменную Алгоритм симплексного метода - student2.ru с коэффициентом +1. В целевую функцию переменная Алгоритм симплексного метода - student2.ru входит с коэффициентом 0 (т.е. не входит). Получаем:

Алгоритм симплексного метода - student2.ru

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

Вычисляем оценки разложений векторов условий по базису опорного решения, используя формулу (2.2.1).

Алгоритм симплексного метода - student2.ru

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

В последней строке таблицы с оценками Алгоритм симплексного метода - student2.ru в столбце « Алгоритм симплексного метода - student2.ru » записывается значение целевой функции на опорном решении Алгоритм симплексного метода - student2.ru

Таблица 2.4.1

9 5 Алгоритм симплексного метода - student2.ru 3 2 0

Б Алгоритм симплексного метода - 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 -2 -4 -
Алгоритм симплексного метода - student2.ru   -2 -9    

Алгоритм симплексного метода - student2.ru


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

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

Определим, введение какого из двух векторов приведет к большему приращению целевой функции. Приращения целевой функции найдем по формуле Алгоритм симплексного метода - student2.ru . Вычислим значения параметра Алгоритм симплексного метода - student2.ru для первого и третьего столбцов по формуле (2.2.5), получим Алгоритм симплексного метода - student2.ru при l=1 (где l – номер строки) и Алгоритм симплексного метода - student2.ru при l=1. находим приращение целевой функции при введении в базис первого вектора Алгоритм симплексного метода - student2.ru и третьего вектора Алгоритм симплексного метода - student2.ru . Следовательно, для наиболее быстрого нахождения оптимального решения необходимо ввести в базис опорного решения вектор Алгоритм симплексного метода - student2.ru вместо первого вектора базиса Алгоритм симплексного метода - student2.ru , так как минимум параметра Алгоритм симплексного метода - student2.ru достигается в первой строке (ℓ=1).

Далее выполним преобразование Жордана с элементом Алгоритм симплексного метода - student2.ru , получим второе опорное решение Алгоритм симплексного метода - student2.ru (0, 0, 3, 21, 42, 0) с базисом Алгоритм симплексного метода - student2.ru (табл. 2.4.2). Это решение не является оптимальным, так как вектор Алгоритм симплексного метода - student2.ru имеет отрицательную оценку Алгоритм симплексного метода - student2.ru Для улучшения опорного решения необходимо ввести вектор Алгоритм симплексного метода - student2.ru в базис опорного решения.

Таблица 2.4.2 Алгоритм симплексного метода - 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 -3 Алгоритм симплексного метода - student2.ru - Алгоритм симплексного метода - student2.ru - -
Алгоритм симплексного метода - student2.ru Алгоритм симплексного метода - student2.ru -6

Алгоритм симплексного метода - student2.ru


Определим номер вектора, выводимого из базиса. Для этого вычислим параметр Алгоритм симплексного метода - student2.ru для второго столбца, он равен 7 при ℓ=2. Следовательно, из базиса выводим второй вектор базиса Алгоритм симплексного метода - student2.ru . Выполним преобразование Жордана с элементом Алгоритм симплексного метода - student2.ru , получим третье опорное решение Алгоритм симплексного метода - student2.ru (0, 7, 10, 0, 63, 0) с базисом Алгоритм симплексного метода - student2.ru (табл. 2.4.3). Это единственное оптимальное решение, так как для всех векторов, не входящих в базис, оценки разложений по базису опорного решения положительны:

Алгоритм симплексного метода - student2.ru Алгоритм симплексного метода - student2.ru Алгоритм симплексного метода - student2.ru

Таблица 2.4.3

Б Алгоритм симплексного метода - 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

О т в е т: max Z(X)=201 при Алгоритм симплексного метода - student2.ru =(0, 7, 10, 0, 63). Алгоритм симплексного метода - student2.ru

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