Теорема.
Пусть
исходная задача решается на max. Если для
некоторого опорного плана все оценки
Δj
(j =
)
не отрицательны (больше или равны 0), то
такой план оптимален.
Доказательство:
Так
как Z = ΔO
и
Δj
0, то Z достигает
max,
когда
=
0, а это возможно, если хm+1
= 0, хm+2
=
0, ..., хn = 0, т. е. опорный план (В1,
В2,
…, Вm,
0, …, 0) –
оптимален.
Теорема.
Если
исходная задача решается на min и для
некоторого опорного плана все оценки
Δj
(j =
)
не положительны (меньше или равны 0), то
такой план оптимален.
Пример 9. Решить задачу линейного программирования.
|
|
Система ограничений задачи имеет предпочтительный вид: базисом являются переменные х2,х4,х1. Заносим условие задачи в симплексную таблицу (табл. 18):
Таблица 18
БП |
СБ |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
2 |
– 1 |
3 |
– 2 |
1 |
|||
x2 |
– 1 |
1,5 |
0 |
1 |
0,5 |
0 |
0,5 |
x4 |
– 2 |
2 |
0 |
0 |
1 |
1 |
0 |
x1 |
2 |
0,5 |
1 |
0 |
– 0,5 |
0 |
0,5 |
Zj – cj |
– 4,5 |
0 |
0 |
– 6,5 |
0 |
– 0,5 |
|
Пусть решается задача линейного программирования с системой ограничений в предпочтительном виде
(i
=
),
(5)
ее
начальный опорный план
= (В1,
В2,
…, Вm,
0, …, 0). Значение целевой функции Z(
)
=
= ΔO.
Рассмотрим
задачу на mах:
если все Δj
0, то опорный план оптимален. Пусть
существует jO,
для которого ΔjO
< 0. Вектор столбец
,
для которого ΔjO
< 0, называется разрешающим, а
соответствующая переменная xjo
–
перспективной. Попытаемся,
не изменяя нулевых значений свободных
переменных хm+1,
хm+2,
…, хn,
кроме xjo
увеличить значение целевой функции Z
за счет увеличения переменной xjo
> 0. Однако увеличивать xjo
надо осторожно, так как выбор
влияет на значения х1,
...,
хm,
которые должны быть
0. Имеем:
х1
0, х2
0, ..., хm
0, хm+1
= 0,..., xjo-1
= 0,
xjo
> 0, xjo+1
= 0, ..., xn
= 0 и из (5) имеем
xi
= BI
–
–
(i
=
).
(6)
При
значительном
увеличении
может случиться, что для некоторого i
соответствующее BI
<
,
значит получим хi
< 0, что недопустимо. В случае, если
(i
=
),
такого нарушения не произойдет.
Итак,
xjo
можно увеличивать до тех пор, пока Bi
–
xjo
0, не нарушая общности, можно считать
>
0, тогда
.
Найдем среди отношений
наименьшее. Пусть оно называется
наименьшим симплексным отношением и
обозначается Q.
xjo
= min
=
= Q,
Заполним
индексную строку (Zj
–
сj):
,
ΔO = – 1 1,5 – 2 2 + 2 0,5 = – 4,5,
Δ1 = – 1 0 – 2 0 + 2 1 – 2 = 0,
Δ2 = – 1 1 – 20 + 20 – (–1) = 0,
Δ3 = – 1 0,5 – 2 + 2 (– 0,5) – 3= – 6,5,
Δ4 = – 1 0 – 21 + 20 – (– 2) = 0,
Δ5 = – 1 0,5 – 2 0 + 2 0,5 – 1 = – 0,5.
Начальный
опорный план
= (0,5; 1,5; 0;2; 0), Z
(
)
= – 4,5. Так
как все оценки индексной строки Δj
не положительны, а задача на min, то план
–
оптимален х* = (0.5: 1.5: 0: 2: 0); Z (х*) = – 4,5.
(если
это условие выполняется при нескольких
i,
то в качестве iO
можно выбрать любое) Cтроку
называют разрешающей, элемент
–
разрешающим. Переменная
,
присутствующая в базисе, является
неперспективной и ее выводят из базиса:
xm+1
= 0, …,
=
0,
=
Q,
=
0, …, xn
= 0, а из равенства (6) находим: x1
= B1
–
Q,
…,
=
–
Q,
= 0,
=
–
Q,
…,
xm
=
Q.
Новый
базис будет состоять из переменных х1,
,
,
,
..., xm,
а соответствующий ему опорный план
примет вид, X1
= (B1
–
Q;
B2
–
Q;
…;
–
Q;
0;
–
Q;
…;
Q;
0; …; Q;
0; …; 0).
В
результате
преобразований получен новый опорный
план
,
в котором переменная
заменена на
,
причем Z(X1)
= Δ0
– Δj0Q
=
Z(X0)
–
Δj0Q,
но Δj0
< 0, поэтому Z(X1)
Z(X0),
то есть новый план
не хуже начального
.
Практика
показывает, что в случае решения задачи
на max число шагов уменьшается, если
разрешающий столбец выбрать по правилу
max
(Δj
0), т. е. в базис вводить переменную,
которой соответствует max по абсолютной
величине оценки.
В случае задачи на min разрешающий столбец нужно выбирать по правилу mах Δj (Δj > 0).
Далее
процесс
повторяется. Проверяем, является ли
план
оптимальным, если да, то задача решена.
Если нет, то переходим к нехудшему
опорному плану
и т. д.
Шаг симплексного метода, позволяющий перейти от одного опорного плана к другому нехудшему, называется итерацией.
Симплексные преобразования нового базиса выполняются по правилу:
1.
Элементы строки iO
новой таблицы равны соответствующим
элементам разрешающей строки старой
таблицы, деленным на разрешающий
элемент:
,
,
(j
=
).
2.
Элементы разрешающего столбца j0
новой таблицы равны 0, за исключением
=
1.
3. Чтобы найти любой другой элемент новой симплексной таблицы, нужно воспользоваться правилом прямоугольника и полученное число разделить на разрешающий элемент.
4. По 3 пункту вычисляются и элементы индексной строки.
Для
контроля вычислений они могут быть
рассчитаны по формулам
,
Пример 10. Найти max Z = 14х1 – 5х2 + 2х3 – х4 + 8х5, если
Решение.
Так как задача имеет предпочтительный вид, то занесем ее условия в симплексную табл. 19 (итерация 0).
Таблица 19
N итерации |
БП |
СБ |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
Симплексные отношения |
14 |
– 5 |
2 |
– 1 |
8 |
|||||
0 |
x2 |
– 5 |
5 |
[1] |
1 |
0 |
0 |
– 1 |
|
х3 |
2 |
41 |
5 |
0 |
1 |
0 |
3 |
||
х4 |
– 1 |
15 |
– 5 |
0 |
0 |
1 |
4 |
||
zj – cj |
42 |
[– 4] |
0 |
0 |
0 |
– 1 |
|||
1 |
х1 |
14 |
5 |
1 |
1 |
0 |
0 |
– 1 |
|
х3 |
2 |
16 |
0 |
– 5 |
1 |
0 |
[8] |
||
х4 |
– 1 |
40 |
0 |
5 |
0 |
1 |
– 1 |
||
zj – cj |
62 |
0 |
4 |
0 |
0 |
[– 5] |
|||
2 |
х1 |
14 |
7 |
1 |
3/8 |
1/8 |
0 |
0 |
|
Х5 |
8 |
2 |
0 |
– 5/8 |
1/8 |
0 |
1 |
||
х4 |
– 1 |
42 |
0 |
35/8 |
1/8 |
1 |
0 |
||
zj – cj |
72 |
0 |
7/8 |
5/8 |
0 |
0 |
|||