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

Симплексный метод решения ЗЛП

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

Назначение сервиса. Сервис предназначен для онлайн решения задач линейного программирования (ЗЛП) симплекс-методом в следующих формах записи:

Алгоритм симплекс-метода включает следующие этапы:

  1. Составление первого опорного плана. Переход к канонической форме задачи линейного программирования путем введения неотрицательных дополнительных балансовых переменных.
  2. Проверка плана на оптимальность. Если найдется хотя бы один коэффициент индексной строки меньше нуля, то план не оптимальный, и его необходимо улучшить.
  3. Определение ведущих столбца и строки. Из отрицательных коэффициентов индексной строки выбирается наибольший по абсолютной величине. Затем элементы столбца свободных членов симплексной таблицы делит на элементы того же знака ведущего столбца.
  4. Построение нового опорного плана. Переход к новому плану осуществляется в результате пересчета симплексной таблицы методом Жордана—Гаусса.
Базис B x1 x2 x3 x4 min
x3 20 5 2 1 0 20:5=4
x4 6 1 1 0 1 6:1=6
F(X1) -8 -5 0 0 0

Если необходимо найти экстремум целевой функции, то речь идет о поиске минимального значения (, см.

Симплексный метод решения ЗЛП

пример решения минимизации функции) и максимального значения ((, см. пример решения максимизации функции)

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

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

Суть симплекс-метода. Движение к точке оптимума осуществляется путем перехода от одной угловой точки к соседней, которая ближе и быстрее приближает к Xопт. Такую схему перебора точек, называемую симплекс-метод, предложил Р. Данцигом.
Угловые точки характеризуются базисными переменными, поэтому переход от одной угловой точки к соседней возможно осуществить сменой в базисе только одной базисной переменной на переменную из небазиса.
Реализация симплекс-метода в силу различных особенностей и постановок задач ЛП имеет различные модификации.

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

Замечание 1. Если одна из базисных переменных равна нулю, то крайняя точка, соответствующая такому базисному решению — вырожденная. Вырожденность возникает, когда имеется неоднозначность в выборе направляющей строки. Можно вообще не заметить вырожденности задачи, если выбрать другую строку в качестве направляющей. В случае неоднозначности нужно выбирать строку с наименьшим индексом, чтобы избежать зацикливания.

Замечание 2. Пусть в некоторой крайней точке все симплексные разности неотрицательные Dk³ 0 (k = 1..n+m),т.е. получено оптимальное решение и существует такой Аk – небазисный вектор, у которого Dk = 0. Тогда максимум достигается по крайней мере в двух точках, т.е. имеет место альтернативный оптимум. Если ввести в базис эту переменную xk, значение целевой функции не изменится.

Замечание 3. Решение двойственной задачи находится в последней симплексной таблице. Последние m компонент вектора симплексных разностей( в столбцах балансовых переменных) – оптимальное решение двойственной задачи. Значение целевых функций прямой и двойственной задачи в оптимальных точках совпадают.

Замечание 4. При решении задачи минимизации в базис вводится вектор с наибольшей положительной симплексной разностью. Далее применяется тот же алгоритм, что и для задачи максимизации.

Если задано условие «Необходимо, чтобы сырье III вида было израсходовано полностью», то соответствующее условие представляет собой равенство.

Инструкция. Выберите количество переменных и количество строк (количество ограничений). Полученное решение сохраняется в файле Word и Excel. При этом ограничения типа не учитывайте. Если в задании для некоторых отсутствуют ограничения, то ЗЛП необходимо привести к КЗЛП, или воспользоваться этим сервисом. При решении автоматически определяется использование М-метода (симплекс-метод с искусственным базисом) и двухэтапного симплекс-метода.

Вместе с этим калькулятором также используют следующие:
Графический метод решения ЗЛП
Решение транспортной задачи
Решение матричной игры
С помощью сервиса в онлайн режиме можно определить цену матричной игры (нижнюю и верхнюю границы), проверить наличие седловой точки, найти решение смешанной стратегии методами: минимакс, симплекс-метод, графический (геометрический) метод, методом Брауна.
Экстремум функции двух переменных
Задачи динамического программирования
Распределить 5 однородных партий товара между тремя рынками так, чтобы получить максимальный доход от их продажи. Доход от продажи на каждом рынке зависит от количества реализованных партий товара и представлен в таблице.

Объем товара Х (в партиях) Доход G(X)
1 2 3
0 0 0 0
1 28 30 32
2 41 42 45
3 50 55 48
4 62 64 60
5 76 76 72

Условие задачи

Для реализации трех групп товаров коммерческое предприятие располагает тремя видами ограниченных материально-денежных ресурсов в количестве b1 = 240, b2 = 200, b3 = 160 единиц. При этом для продажи 1 группы товаров на 1 тыс. руб. товарооборота расходуется ресурса первого вида в количестве a11 = 2 единицы, ресурса второго вида в количестве a21 = 4 единицы, ресурса третьего вида в количестве a31 = 4 единицы. Для продажи 2 и 3 групп товаров на 1 тыс. руб. товарооборота расходуется соответственно ресурса первого вида в количестве a12 = 3, a13 = 6 единицы, ресурса второго вида в количестве a22 = 2, a23 = 4 единицы, ресурса третьего вида в количестве a32 = 6, a33 = 8 единиц. Прибыль от продажи трех групп товаров на 1 тыс. руб. товарооборота составляет соответственно c1 = 4, c2 = 5, c3 = 4 (тыс. руб.). Определить плановый объем и структуру товарооборота так, чтобы прибыль торгового предприятия была максимальной.

К прямой задаче планирования товарооборота, решаемой симплекс методом, составить двойственную задачу линейного программирования.
Установить сопряженные пары переменных прямой и двойственной задачи.
Согласно сопряженным парам переменных из решения прямой задачи получить решение двойственной задачи, в которой производится оценка ресурсов, затраченных на продажу товаров.

Решение задачи симплекс методом

Пусть x1, x2, x3 — количество реализованных товаров, в тыс. руб., 1, 2, 3 — ей групп, соответственно. Тогда математическая модель задачи имеет вид:

F = 4·x1 + 5·x2 + 4·x3 –>max

Решаем симплекс методом.

Вводим дополнительные переменные x4 ≥ 0, x5 ≥ 0, x6 ≥ 0, чтобы неравенства преобразовать в равенства.

В качестве базиса возьмем x4 = 240; x5 = 200; x6 = 160.

Данные заносим в симплекс таблицу

Симплекс таблица № 1

Целевая функция:

0 · 240 + 0 · 200 + 0 · 160 = 0

Вычисляем оценки по формуле:

Δ1 = 0 · 2 + 0 · 4 + 0 · 4 – 4 = – 4
Δ2 = 0 · 3 + 0 · 2 + 0 · 6 – 5 = – 5
Δ3 = 0 · 6 + 0 · 4 + 0 · 8 – 4 = – 4
Δ4 = 0 · 1 + 0 · 0 + 0 · 0 – 0 = 0
Δ5 = 0 · 0 + 0 · 1 + 0 · 0 – 0 = 0
Δ6 = 0 · 0 + 0 · 0 + 0 · 1 – 0 = 0

Поскольку есть отрицательные оценки, то план не оптимален. Наименьшая оценка:

Δ2 = – 5

Вводим переменную x2 в базис.

Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x2.

= 26.667

Наименьшее неотрицательное: Q3 = 26.667. Выводим переменную x6 из базиса

3-ю строку делим на 6.
Из 1-й строки вычитаем 3-ю строку, умноженную на 3
Из 2-й строки вычитаем 3-ю строку, умноженную на 2

Вычисляем:

Получаем новую таблицу:

Симплекс таблица № 2

Целевая функция:

0 · 160 + 0 · 440/3 + 5 · 80/3 = 400/3

Вычисляем оценки по формуле:

Δ1 = 0 · 0 + 0 · 8/3 + 5 · 2/3 – 4 = – 2/3
Δ2 = 0 · 0 + 0 · 0 + 5 · 1 – 5 = 0
Δ3 = 0 · 2 + 0 · 4/3 + 5 · 4/3 – 4 = 8/3
Δ4 = 0 · 1 + 0 · 0 + 5 · 0 – 0 = 0
Δ5 = 0 · 0 + 0 · 1 + 5 · 0 – 0 = 0
Δ6 = 0 · (–1)/2 + 0 · (–1)/3 + 5 · 1/6 – 0 = 5/6

Поскольку есть отрицательная оценка Δ1 = – 2/3, то план не оптимален.

Вводим переменную x1 в базис.

Определяем переменную, выходящую из базиса. Для этого находим наименьшее неотрицательное отношение для столбца x1.

Наименьшее неотрицательное: Q3 = 40. Выводим переменную x2 из базиса

3-ю строку делим на 2/3.
Из 2-й строки вычитаем 3-ю строку, умноженную на 8/3

Вычисляем:

Получаем новую таблицу:

Симплекс таблица № 3

Целевая функция:

0 · 160 + 0 · 40 + 4 · 40 = 160

Вычисляем оценки по формуле:

Δ1 = 0 · 0 + 0 · 0 + 4 · 1 – 4 = 0
Δ2 = 0 · 0 + 0 · (–4) + 4 · 3/2 – 5 = 1
Δ3 = 0 · 2 + 0 · (–4) + 4 · 2 – 4 = 4
Δ4 = 0 · 1 + 0 · 0 + 4 · 0 – 0 = 0
Δ5 = 0 · 0 + 0 · 1 + 4 · 0 – 0 = 0
Δ6 = 0 · (–1)/2 + 0 · (–1) + 4 · 1/4 – 0 = 1

Поскольку отрицательных оценок нет, то план оптимален.

Решение задачи: x1 = 40; x2 = 0; x3 = 0; x4 = 160; x5 = 40; x6 = 0; Fmax = 160

Ответ

x1 = 40; x2 = 0; x3 = 0; x4 = 160; x5 = 40; x6 = 0; Fmax = 160

То есть необходимо реализовать товар первого вида в объеме 40 тыс. руб.

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

Товар 2-го и 3-го видов реализовывать не надо. При этом максимальная прибыль составит Fmax = 160 тыс. руб.

Решение двойственной задачи

Двойственная задача имеет вид:

Z = 240·y1 + 200·y2 + 160·y3 –>min

Вводим дополнительные переменные y4 ≥ 0, y5 ≥ 0, y6 ≥ 0, чтобы неравенства преобразовать в равенства.

Сопряженные пары переменных прямой и двойственной задач имеют вид:

Основные Дополнительные
x1 x2 x3 x4 x5 x6
y4 y5 y6 y1 y2 y3
Дополнительные Основные

Из последней симплекс таблицы № 3 прямой задачи, находим решение двойственной задачи:

Zmin = Fmax = 160;
y1 = Δ4 = 0; y2 = Δ5 = 0; y3 = Δ6 = 1; y4 = Δ1 = 0; y5 = Δ2 = 1; y6 = Δ3 = 4;

Ответ

y1 = 0; y2 = 0; y3 = 1; Zmin = 160;

Автор: Олег Одинцов.     Опубликовано:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *