Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть II.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

2.2. Понятие о симплекс-методе

Оптимальное решение задачи линейного программирования (ЗЛП) связаны с угловыми точками многогранника решений.

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

Найти оптимальное решение (оптимальный план), беспорядочно перебирая все базисные решения, затруднительно.

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

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

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

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

Пример 2.3:

f(x) = 12x1 + 15x2  max

Приводим к канонической форме:

f(x) = 12x1+15x2 +0x3+0x4+0x5

Среди переменных задачи можно выделить базисные переменные x3, x4, x5 и не базисные x1, x2.

Не базисные те, которые можно приравнять к 0, а остальные базисные.

Приравняв не базисные переменные к 0, получим исходный базисный план:

Значение целевой функции для этого плана f(x) = 0 (прибыль равна нулю)

Данная ситуация не может удовлетворить предприятие, и, тем более, не является оптимальной.

f(x)= 0-(-12x1-15x2)  max

Анализируя функцию f можно сделать вывод, что увеличение значения функции (дохода) может произойти только при возрастании значений х1 и x2, отсюда увеличение х1 или x2 равносильно переходу переменных в число базисных.

В первую очередь увеличиваем значение x2 , так как единица продукции Р2 приносит больший доход. Значение х1, по-прежнему, равно 0 , значение x2 нельзя увеличивать бесконечно, то есть увеличиваем до тех пор, пока х3, x4 и x5 ≥ 0. Значит, необходимо определить значение x2, до которого можно его увеличивать:

Для выполнения данных условий необходимо чтобы x2=5, так как данное значение получилось из 3-го ограничения, то, выразив x2 через x1 и x5, мы заменим (введем) переменную x2 в число базисных вместо x5.

Подставим выражение x2 в целевую функцию и оставшиеся ограничения по x3 и x4:

В этом случае новый базисный план после первой итерации будет:

f(x) = 75

На основании результатов можно сделать вывод, что полученный план не является оптимальным, так как значение целевой функции может быть увеличено за счет увеличения значения x1 (x5 мы не можем увеличивать, так как это приведет к снижению f).

Значение x1 также нельзя увеличивать бесконечно, а только до такой величины, чтобы x3,x4,x2 ≥ 0:

- из первого ограничения.

x1 выразим из 1-го ограничения:

,

В этом случае новый базисный план после второй итерации будет:

f(x)=84

После анализа значения f следует, что данный план является оптимальным так как х3 и х5 , то на основании оптимального плана (f* = 84, x1* = 2 x2* = 4) делаем вывод, что предприятие для получения максимального дохода, равного 84 единицы должно выпускать из имеющегося количеств сырья 2 ед. продукции Р1 и 4 ед. продукции Р2.

Пример 2.4:

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

Приводим к канонической форме:

 

 

 

х2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1)

(4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рис . 2.2

.

1) Среди переменных задачи можно выделить базисные переменные x3, x4, x5, x6 и не базисные x1, x2.

Приравняв не базисные переменные к 0, получим исходный базисный план:

В первую очередь увеличиваем значение x1 , т.к. единица продукции P1 приносит больший доход. Значение х2, по-прежнему, равно 0, однако значение x1 нельзя увеличивать бесконечно, т.е. увеличиваем до тех пор, пока х3, x4, x5 и x6 ≥ 0. Значит, необходимо определить значение x1, до которого можно его увеличивать.

Для выполнения данных условий необходимо чтобы x1=11, т.к. данное значение получилось из четвертого ограничения, то, выразив x1 через x2 и x6, мы введем переменную x1 в число базисных вместо x6.

Подставим выражение x1 в целевую функцию и оставшиеся ограничения по x3 , x4 и x5.

2) В этом случае новый базисный план после первой итерации будет:

.

На основании результатов можно сделать вывод, что полученный план не является оптимальным, т.к. значение целевой функции может быть увеличено за счет увеличения значения x2 (x6 мы не можем увеличивать т.к. это приведет к снижению значения целевой функции).

Значение x2 нельзя увеличивать бесконечно, т.е. увеличиваем до тех пор, пока х3, x4, x5 и x1 ≥ 0.

Выразив x2 через x5 и x6, мы введем переменную x2 в число базисных вместо x5.

Подставим выражение x2 в целевую функцию и оставшиеся ограничения по x3 , x4 и x1.

3) В этом случае новый базисный план после второй итерации будет:

.

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

Значение x6 увеличиваем до тех пор, пока х3, x4, x2 и x1 ≥ 0.

Выразив x6 через x4 и x5, мы введем переменную x6 в число базисных вместо x4.

Подставим выражение x6 в целевую функцию и оставшиеся ограничения по x3 , x2 и x1.

4) В этом случае новый базисный план после третьей итерации будет:

После анализа значения f следует, что данный план является оптимальным т.к. все .

Ответ:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]