Симплексный метод Исполнитель
- Скачано: 35
- Размер: 71 Kb
Симплексный метод
Симплексный метод был разработан известным американским математиком Дж. Данцигом и в настоящее время стал универсальном методом линейного программирования. Алгоритм метода состоит из ряда шагов.
{spoiler=Подробнее}
1.При решении задачи симплексным методом необходимо систему уравнений привести к виду, когда какие-либо r переменных (базисные) выражены через остальные (небазисные), причем свободные члены этих выражений должны быть неотрицательными.
Пусть для определенности х1, х2, х3 ... хr выражены через остальные переменные х r+1, хr+2, хr+3 ... хn .
Система ограничений принимает вид:
(1)
где b`1³0, b`2 ³0, .... b`r³0.
Базис (х1,х2 , ..., хr) обозначим через Б. Пусть все небазисные переменные равны нулю:
х r+1= хr+2=...= хn =0.
Найдем из системы (1) значения базисных переменных:
x1=b’1 ,x2=b’2 ,...., xr=b’r .
В результате получаем базисное решение (b’1 ,b’2 ,...., b’r ,0,...,0),
соответствующее базису Б.
Целевая функция F(х1, ... ,хn) также выражается через небазисные переменные:
F= с0 +с’r+1 х r+1+ ... +с’nхn.
Замечаем, что значение целевой функции, соответствующее базисному решению, равно с0 : FБ= с0.
2.Следующим шагом алгоритма является проверка достижения оптимума. Если оптимум не достигнут, то из базиса Б удаляется одна из переменных в небазисные, а в место нее из числа прежних небазисных переменных вводится новая. Получаем новый базис Б’.
С новым базисом поступаем так же в соответствии с содержанием шагов 1 и 2. Если в результате этого оптимум не достигнут, то все шаги повторяем снова, причем каждый новый шаг заключается FБ уменьшается или, по крайней мере, не увеличивается:
FБ’£ FБ.
Этот процесс оканчивается одним из трех случае либо находиться оптимум, либо доказывается неограниченность целевой функции при базисных решениях, т.е. тот случай, когда задача решение не имеет.
Проследим за этой последовательностью шагов на примерах.
Задача. Минимизировать F=х2-х1 при неотрицательных х1 и х2, удовлетворяющих системе ограничений:
Решение. Запишем ограничения как уравнения, выражающие базисные переменные через небазисные:
х3=2+2х1-х2
х4=2-х1+2х2
х5=5-х1-х2.
Пусть базис Б состоит из переменных х3 ,х4,х5 .Тогда базисное решение-(0;0;2;2;5) .Теперь надо выразить F через небазисные переменные. В нашем конкретном случае это, оказывается , уже сделано.
Проверим, достигла ли целевая функция своего минимального значения. Коэффициент при х1 в выражении для F отрицателен.
Следовательно, возрастание х1 переменные х3 ,х4,х5 могут уменьшается , и необходимо следить за тем , чтобы ни одна из них не стала отрицательной. Так как увеличение х1 ведет к увеличению х3, то для этой переменной такой опасности не существует. Из анализа других базисных переменных получаем, что значение х1 может быть увеличено только до 2.Такое увеличение даст х4 =0,х3=6, х5 =3. Этот результат нас устраивает, так как число положительных переменных такое же , как и раньше . Новые базис Б’ состоит х1 ,х3,х5 .
Чтобы приступить к выполнению следующего шага, выразим эти переменные и целевую функцию F через небазисные переменные х2 и х4 . Это легко сделать , если решить второе уравнение относительно новой базисной переменной х1, а подстановка этого выражения в остальные уравнения и целевую функцию F дает:
F=-2-х2+х4
Коэффициент при х2 функции F отрицателен. По этому можно и дальше уменьшать целевую функцию F , увеличивая х2 . Однако х2 можно увеличивать не более ,чем до 1:Это следует из уравнения х5=3-3х2+х4 (если х2>1 , х4=0, то х5 <0). Подстановка х2=1 в другие уравнения дает х1=4 и х3=9.Еще раз выразим базисные переменные и F через небазисные:
х1=4-х4/3-2x5/3
x2=1+x4/3-x5/3
x3=9-x4-x5.
Базис Б’’ состоит переменных х1, х2 , х3,
F=-3+2x4/3+x5/3.
Увеличивая х4 и х5 , мы уже не можем получить дальнейшего уменьшения F.Следовательно, нами получено оптимальное решение. Наименьшее значение F, равное-3 , достигается при х1=4, х2=1 ,х3=9.
{/spoilers}