Файл: Е.В. Буйная Симплексный метод решения оптимизационных задач.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2024
Просмотров: 62
Скачиваний: 0
12
4 этап. Решение задачи симплекс-методом
Строим начальную симплексную таблицу и проверяем начальный опорный план Х0 на оптимальность. Начальный базис Б0=(А5, А6, А7)
C |
Базис |
План |
4,6 |
2 |
-2 |
5 |
0 |
0 |
0 |
баз |
плана |
X0 |
A1 |
A2 |
А3 |
A4 |
A5 |
А6 |
A7 |
0 |
A5 |
10 |
1/2 |
1/10 |
1/5 |
0 |
1 |
0 |
0 |
0 |
A6 |
30 |
1/5 |
0 |
0 |
1/2 |
0 |
1 |
0 |
0 |
A7 |
20 |
0 |
3/10 |
1/5 |
1/5 |
0 |
0 |
1 |
|
Z k |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
∆ k |
|
-4,6 |
-2 |
2 |
-5 |
0 |
0 |
0 |
Из таблицы видно, что начальный опорный план не оптимален (для нашей задачи на максимум обнаруживаются отрицательные ∆ k и к тому же имеются значения Zjk >0). Следовательно, можно найти более хороший план. Для этого определяем вектор, вводимый в базис, и вектор, выводимый из базиса.
Так как при переходе к новому опорному плану значение целевой функции изменится и будет равно L { X(Θ ) } = L(X0 ) -Θ ∆ k , то очевидно желание вводить в базис вектор, для которого ∆ k<0 и величина Θ ∆ k наибольшая (последнее необязательно, но часто ускоряет достижение поставленной цели). Напомним, что
Θ = m i n |
X 0j |
|
|
. |
|
|
||
Z jk > 0 |
Z jk |
В нашем случае возможны три выбора:
∆ 1=-4,6. |
|
= |
|
10 |
|
|
30 |
|
; − |
|
|
= |
20 . |
||||
Θ |
min |
1 / 2 |
; |
1 / 5 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
∆ 2=-2. |
|
= |
|
10 |
|
|
|
|
|
|
20 |
|
|
|
= 200 |
||
Θ |
min |
|
|
|
|
; - ; |
|
|
|
|
|
|
|||||
1 / 10 |
|
3 / 10 |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
3 . |
|||||||
∆ 4=-5. |
|
= |
|
|
30 |
|
|
20 |
|
= |
|
60 . |
|||||
Θ |
min |
- ; |
1 / 2 |
; |
1 / 5 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
θ ∆ 1=-92.
θ ∆ 2~-133.
θ ∆ 3=-300.
Разумно ввести в базис A4 вместо A6 (выражаем X4 из второго уравнения и исключаем из остальных).
13
Новая симплексная таблица для Б1=(А5, А4, А7) будет выглядеть следующим образом:
C |
Базис |
План |
4,6 |
2 |
-2 |
5 |
0 |
0 |
0 |
баз |
плана |
X1 |
A1 |
A2 |
А3 |
A4 |
A5 |
А6 |
A7 |
0 |
A5 |
10 |
1/2 |
1/10 |
1/5 |
0 |
1 |
0 |
0 |
5 |
A4 |
60 |
2/5 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
A7 |
8 |
-2/25 |
3/10 |
1/5 |
0 |
0 |
-2/5 |
1 |
|
Z k |
300 |
2 |
0 |
0 |
5 |
0 |
10 |
0 |
|
∆ k |
|
-2,6 |
-2 |
2 |
0 |
0 |
10 |
0 |
Полученный опорный план не оптимален, следовательно, необхо-
димо его улучшить. Снова рассчитываем θ |
и θ ∆ |
k. |
|
||||||||||||||
∆ 1=-2,6. |
|
= |
|
10 |
|
|
60 |
|
; − |
|
= |
|
20 . |
θ ∆ |
1=-52. |
||
Θ |
min |
1 |
/ 2 |
; |
2 / 5 |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
θ ∆ |
|
||||||
∆ 2=-2. |
|
= |
|
|
10 |
|
|
|
|
8 |
|
|
= |
80 |
2~-53. |
||
Θ |
min |
|
|
|
; - ; |
|
|
|
|
||||||||
1 |
/ 10 |
3 / 10 |
|||||||||||||||
|
|
|
|
|
|
|
|
3 . |
|
|
В результате в базис войдут векторы: Б2=(А5, А4, А2). Строим новую симплексную таблицу.
C |
|
Базис |
План |
4,6 |
2 |
-2 |
5 |
0 |
0 |
0 |
баз |
|
плана |
X2 |
A1 |
A2 |
А3 |
A4 |
A5 |
А6 |
A7 |
0 |
|
A5 |
22/3 |
79/150 |
0 |
2/15 |
0 |
1 |
2/15 |
-1/3 |
5 |
|
A4 |
60 |
2/5 |
0 |
0 |
1 |
0 |
2 |
0 |
2 |
|
A2 |
80/3 |
-4/15 |
1 |
2/3 |
0 |
0 |
-4/3 |
10/3 |
|
Z k |
1060/3 |
22/15 |
2 |
4/3 |
5 |
0 |
22/3 |
20/3 |
|
|
∆ k |
|
-47/15 |
0 |
10/3 |
0 |
0 |
22/3 |
20/3 |
Очевидно, что найденный опорный план не оптимален, следовательно, необходимо его улучшить за счет ввода в базис вектора A1.
Здесь Θ |
= |
|
22 / 3 |
; |
60 |
|
= |
1100 |
и из базиса выводится A5. Строим |
||
min |
|
|
|
|
|
||||||
79 / 150 |
2 / 5 |
79 |
|||||||||
|
|
|
|
|
|
|
новую симплексную таблицу.
14
C |
|
Базис |
План |
4,6 |
2 |
-2 |
5 |
0 |
0 |
0 |
баз |
|
плана |
X3 |
A1 |
A2 |
А3 |
A4 |
A5 |
А6 |
A7 |
4,6 |
|
A1 |
1100/79 |
1 |
0 |
20/79 |
0 |
150/79 |
20/79 |
-50/79 |
5 |
|
A4 |
4300/79 |
0 |
0 |
-8/79 |
1 |
-60/79 |
150/79 |
20/79 |
2 |
|
A2 |
2400/79 |
0 |
1 |
58/79 |
0 |
40/79 |
-100/79 |
250/79 |
|
Z |
k |
31360/79 |
4,6 |
2 |
168/79 |
5 |
470/79 |
642/79 |
370/79 |
|
∆ k |
|
0 |
0 |
326/79 |
0 |
470/79 |
642/79 |
370/79 |
Из полученной таблицы видно, что найденный опорный план оптимален для данной задачи (все ∆ k ≥ 0), т.е.
Хопт=(1100/79; 2400/79; 0; 4300/79) и Lmax = 31360/79.
Ответ для нашей задачи будет выглядеть следующим образом: для того, чтобы прибыль от производства и реализации продукции трех видов была максимально возможной при данных условиях, необходимо закупить сырье 1-го вида в объеме - ~ 13,92 единицы; сырье 2-го вида - ~ 30,38 единицы; сырье 3-го вида не закупать вовсе; сырье 4-го вида - ~ 54,43 единицы. В результате подобной политики мы получим прибыль в размере ~396,96 у.е.
Замечание. Как мы уже говорили неоднократно, при переходе к новому опорному плану значение целевой функции изменяется на величину Θ ∆ k . Следовательно, получив оптимальный план и обнаружив
существование ∆ k=0, не соответствующего базисным векторам, можно сделать вывод, что найденный оптимальный план не единст-
венный (можно перейти к другому плану с тем же значением целевой функции).
Пример 2.
Рассмотрим следующую ситуацию, с которой вы сталкиваетесь каждый день. Предположим, что вы собрались в магазин канцелярских товаров. Ваша задача сделать как можно больше покупок при условии, что вы покупаете только 3 разновидности товара, а именно ручки, карандаши и блокноты (если рассматривать весь ассортимент товара, размерность задачи значительно увеличится, при наличии достаточного количества свободного времени можете попытаться ее решить). В кармане у вас 50 у.е. и, кроме всего прочего, вам необходимо купить хотя
15
бы 3 ручки и 2 блокнота. Вполне закономерно, что вам известна цена товаров: 10 - ручка, 5 – карандаш и 20 у.е. – блокнот.
Если вы обладаете достаточными аналитическими способностями, то сразу сможете сделать вывод по поводу решения данной задачи, но, в качестве примера, попытаемся решить ее симплекс-методом.
Решение:
Если обозначить за Х1 – количество приобретаемых в магазине ручек, за Х2 – карандашей, а за Х3 – блокнотов, то исходную задачу можно представить в следующем виде:
Максимизировать
L(X)=X1+X2+X3
при ограничениях
10 X1+5 X2+20 X3≤ 50,
X1≥ 3,
X3≥ 2,
X1, X2, X3≥ 0.
После приведения к каноническому виду задача примет вид:
максимизировать
L(X)=X1+X2+X3
при ограничениях |
|
|
|
10 X1 + 5X2 + 20 X3 + X4 |
|
= 50 |
|
X1 |
− X5 |
= |
3 |
X3 |
− |
X6 = |
2 |
X1,X2 ,X3 ,X4 ,X5 ,X6 ≥ 0
При определении начального опорного плана сталкиваемся с отсутствием единичной подматрицы и, следовательно, вводим искусст-
венные переменные и переходим к М-задаче (M→ |
): |
16
максимизировать
L(X)=X1+X2+X3-M X7-M X8
при ограничениях |
|
|
|
|
10 X1 + 5X 2 + 20 X 3 + X 4 |
|
|
= 50 |
|
X1 |
− X 5 |
+ X7 |
= |
3 |
X 3 |
− |
X6 |
+ X 8 = |
2 |
X1 , X 2 , X 3 , X 4 , X 5 , X6 , X7 , X 8 ≥ 0
Отыскав таким образом единичный начальный базис Б0=(А4, А7, А8), переходим к построению симплексных таблиц.
C |
|
Базис |
План |
1 |
1 |
1 |
0 |
0 |
0 |
-М |
-М |
баз |
|
плана |
X0 |
A1 |
A2 |
А3 |
A4 |
A5 |
А6 |
А7 |
A8 |
0 |
|
A4 |
50 |
10 |
5 |
20 |
1 |
0 |
0 |
0 |
0 |
-М |
A7 |
3 |
1 |
0 |
0 |
0 |
-1 |
0 |
1 |
0 |
|
-М |
A8 |
2 |
0 |
0 |
1 |
0 |
0 |
-1 |
0 |
1 |
|
|
Z k |
-5М |
-М 0 |
-М |
0 |
М М -М -М |
|||||
|
∆ k |
|
-М-1 -1 -М-1 0 |
М М 0 |
0 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
Если принять во внимание, что М – это большое положительное число, то из данной таблицы видно, что опорный план не оптимален (не все ∆ k>0 и хотя бы одно из значений Zjk >0).
Рассчитываем
∆ 1=-M-1. |
|
= |
|
50 |
; |
|
3 |
; |
− |
|
= |
3 . |
θ ∆ |
1=-3M-3. |
||
Θ |
min |
10 |
|
1 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
θ ∆ |
|
|||
∆ 2=-1. |
|
= |
|
50 |
|
|
|
|
|
|
= |
10 . |
2~-10. |
|||
Θ |
min |
5 |
|
; - ; - |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
θ ∆ |
|
||
∆ 3=-M-1. |
|
= |
|
|
50 |
|
;− ; |
2 |
|
= |
2 . |
3=-2M-2. |
||||
Θ |
min |
20 |
|
1 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Вводя в базис А1 вместо А7, получаем новую симплексную табли-
цу.
|
|
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
Базис |
План |
|
1 |
1 |
1 |
0 |
0 |
0 |
|
-М |
-М |
|
||||
|
|
баз |
плана |
|
X1 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
A1 |
A2 |
|
А3 |
A4 A5 |
А6 |
|
А7 |
A8 |
|
|||||||
|
0 |
|
A4 |
|
20 |
|
0 |
5 |
|
20 |
1 |
10 |
0 |
|
-10 |
0 |
|
||
|
1 |
|
A1 |
|
3 |
|
1 |
0 |
|
0 |
0 |
-1 |
0 |
|
1 |
0 |
|
||
|
|
-М |
|
A8 |
|
2 |
|
0 |
0 |
1 |
0 |
0 |
-1 |
|
0 |
1 |
|
||
|
|
|
Z k |
-2М+3 |
1 |
0 |
|
-М 0 -1 |
М 1 |
-М |
|
||||||||
|
|
|
|
|
|
|
|
|
0 |
-1 -М-1 0 -1 М 1+М 0 |
|
||||||||
|
|
|
∆ k |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
Очевидно, что ввод в базис вектора А3 предпочтительнее. |
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
C |
|
Ба- |
|
План |
|
1 |
|
1 |
1 |
0 |
|
0 |
|
0 |
|
-М |
-М |
||
баз |
|
зис |
|
X1 |
|
A1 |
|
A2 |
А3 |
|
A4 |
|
A5 |
|
А6 |
|
А7 |
A8 |
|
1 |
|
A3 |
|
1 |
|
0 |
|
1/4 |
1 |
1/20 |
|
1/2 |
|
0 |
|
-1/2 |
0 |
||
1 |
|
A1 |
|
3 |
|
1 |
|
0 |
0 |
0 |
|
-1 |
|
0 |
|
1 |
0 |
||
-М |
|
A8 |
|
1 |
|
0 |
|
-1/4 |
0 |
-1/20 |
|
-1/2 |
|
-1 |
|
1/2 |
1 |
||
|
Z |
k |
|
-М+4 |
|
1 |
1/4М+1/4 |
1 |
1/20М+1/20 1/2М+1/2 |
М |
-1/2М-1/2 |
-М |
|||||||
|
∆ k |
|
|
|
0 |
1/4М-3/4 |
0 |
1/20М+1/20 |
1/2М+1/2 |
М |
1/2М-1/2 |
0 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Из таблицы видно, что данный опорный план оптимален. Однако
в базисе находится искусственная переменная и она не равна нулю, от-
сюда заключаем, что в исходной задаче противоречивые ограничения. Если вспомнить о происхождении решенной задачи, то при ука-
занном количестве денег в кармане вам необходимо «умерить свой аппетит».