Симплекс-метод

Планирование номенклатуры и объемов выпуска.

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

Таблица 1.

Производственные мощности (в шт.)

  Кухни Кофеварки Самовары
Штамповка      
Отделка      
Сборка      
Объем выпуска Х 1 Х 2 Х 3
Удельная прибыль (на одно изделие)      

При этом штамповка и отделка проводятся на одном и том же оборудовании. Оно позволяет штамповать за заданное время или 20000 кухонь, либо 30000 кофеварок, либо и то, и другое, но в меньшем количестве. А вот сборка проводится на отдельных участках.

Задача линейного программирования имеет вид:

Х 1 ≥ 0, Х 2 ≥ 0, Х 3 ≥ 0, (0)

Х 1 / 200 + Х 2 / 300 + Х 3 / 120 ≤ 100, (1)

Х 1 / 300 + Х 2 / 100 + Х 3 / 100 ≤ 100, (2)

Х 1 / 200 ≤ 100, (3)

Х2 / 120 ≤ 100, (4)

Х 3 / 80 ≤ 100, (5)

F = 15 Х1 + 12 Х2 + 14 Х 3 → max.

Неравенство (3) вытекает из неравенства (1), а неравенство (4) - из (2). Поэтому неравенства (3) и (4) можно из формулировки задачи линейного программирования исключить. Окончательно получим

F = 15 Х 1 + 12 Х 2 + 14 Х 3 → max.

Х 1 / 200 + Х 2 / 300 + Х 3 / 120 ≤ 100,

Х 1 / 300 + Х 2 / 100 + Х 3 / 100 ≤ 100,

Х 3 / 80 ≤ 100.

Полученную систему неравенств можно решить симплекс -методом

Симплекс-метод.

Этот один из первых специализированных методов оптимизации, нацеленный на решение задач линейного программирования, в то время как методы простого и направленного перебора могут быть применены для решения практически любой задачи оптимизации. Симплекс-метод был предложен американцем Г. Данцигом в 1951 г. Основная его идея состоит в продвижении по выпуклому многограннику ограничений от вершины к вершине, при котором на каждом шаге значение целевой функции улучшается до тех пор, пока не будет достигнут оптимум. Разберем пример на основе данных табл.1.

Рассмотрим задачу линейного программирования, сформулированную выше при рассмотрении оптимизации номенклатуры и объемов выпуска:

F = 15 Х 1 + 12 Х 2 + 14 Х 3 → max.

Х 1 / 200 + Х 2 / 300 + Х 3 / 120 ≤ 100,

Х 1 / 300 + Х 2 / 100 + Х 3 / 100 ≤ 100,

Х 3 / 80 ≤ 100.

При этом все переменные не отрицательны.

В соответствии с симплекс-методом введем "свободные переменные" Х 4, Х 5, Х 6, соответствующие недоиспользованным мощностям и перейдем от системы неравенств к системе уравнений:

Х 1 / 200 + Х 2 / 300 + Х 3 / 120 + Х 4 = 100

Х 1 / 300 + Х 2 / 100 + Х 3 / 100 + Х 5 = 100

Х 3 / 80 + Х 6 = 100

15 Х 1 + 12 Х 2 + 14 Х 3 = F.

У этой системы имеется очевидное решение, соответствующее одной из вершин многогранника допустимых значений переменных:

Х 1 = Х 2 = Х 3 = 0, Х 4 = Х 5 = Х 6 = 100, F = 0.

В терминах исходной задачи это означает, что ничего не надо выпускать. Такое решение неприемлемо.

В соответствии с симплекс-методом выбираем переменную, которая входит в целевую функцию F с самым большим положительным коэффициентом. Это Х 1.

Сравниваем частные от деления свободных членов в первых трех уравнениях на коэффициенты при только что выбранной переменной Х 1:

100 / (1/200) = 20000, 100 / (1/300) =30000, 100/0 = + ∞.

Выбираем строку из системы уравнений, которой соответствует минимальное из всех положительных отношений. В рассматриваемом примере - это первая строка, которой соответствует отношение 20000.

Умножим первую строку на 200, чтобы получить Х 1 с единичным коэффициентом:

Х 1 + 2/3 Х 2 + 2/1,2 Х 3 + 200 Х 4 = 20000.

Затем умножим вновь полученную строку на (-1/300) и сложим со второй строкой, чтобы исключить член с Х 1, получим

7/900 Х 2 + 4/900 Х 3 - 2/3 Х 4 + Х 5 = 100/3.

Ту же преобразованную первую строку умножим на (-15) и сложим со строкой, в правой части которой стоит F, получим:

2 Х 2 - 11 Х 3 - 3000 Х4 = F - 300000.

В результате система уравнений преобразуется к виду, в котором переменная Х 1 входит только в первое уравнение:

Х 1 + 2/3 Х 2 + 2/1,2 Х 3 + 200 Х 4 = 20000,

7/900 Х 2 + 4/900 Х 3 - 2/3 Х 4 + Х 5 = 100/3,

Х 3 / 80 + Х 6 = 100,

2 Х 2 - 11 Х 3 - 3000 Х4 = F - 300000.

Очевидно, у новой системы имеется улучшенное по сравнению с исходным решение, соответствующее другой вершине выпуклого многогранника в шестимерном пространстве:

Х 1 = 20000, Х 2 = Х 3 = Х 4 = 0, Х 5 = 100/3, Х 6 = 100, F = 300000.

В терминах исходной задачи это решение означает, что надо выпускать только кухни. Такое решение приемлемо, если допустимо выпускать только один вид продукции.

Повторим описанную выше операцию. В строке с F имеется еще один положительный коэффициент - при Х 2 (если бы положительных коэффициентов было несколько - мы взяли бы максимальный из них). На основе коэффициентов при Х 2 (а не при Х 1, как в первый раз) образуем частные от деления соответствующих свободных членов на эти коэффициенты:

20000 / (2/3) = 30000, (100/3) / (7/900) = 30000/7, 100/0 = + ∞.

Таким образом, нужно выбрать вторую строку, для которой имеем наименьшее положительное отношение 30000/7. Вторую строку умножим на 900/7 (чтобы коэффициент при Х 2 равнялся 1). Затем добавим обновленную строку ко всем строкам, содержащим Х 2, предварительно умножив их на подходящие числа, т.е. такие, чтобы все коэффициенты при Х 2 стали бы после сложения равны 0, за исключением коэффициента второй строки, который уже стал равняться 1. Получим систему уравнений:

Х 1 + 9/7 Х 3 + 1800/7 Х 4 - 600/7 Х 5 = 120000/7,

Х 2 + 4/7 Х 3 - 600/7 Х 4 + 900/7 Х 5 = 30000/7,

Х 3 / 80 + Х 6 = 100,

- 85/7 Х 3 - 19800/7 Х 4 - 1800/7 Х 5 = F - 308571.

Поскольку все переменные неотрицательны, то из последнего уравнения следует, что прибыль F достигает своего максимального значения, равного 308571, при Х 3 = Х 4 = Х 5 = 0. Из остальных уравнений следует, что при этом Х 1 = 120000/7 = 17143, Х 2 = 30000/7 = 4286, Х 6 = 100. Поскольку в строке с F не осталось ни одного положительного коэффициента при переменных, то алгоритм симплекс-метода закончил свою работу, оптимальное решение найдено.

Практические рекомендации таковы: надо выпустить 17143 кухни, 4286 кофемолок, самоваров не выпускать вообще. При этом прибыль будет максимальной и равной 308571. Все производственное оборудование будет полностью загружено, за исключением линии по сборке самоваров.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: