методичка МО часть 1
.pdfЛабораторная работа 2
Симплекс-метод решения задач линейного программирования
Вопросы:
1.Постановка задачи линейного программирования в канонической форме.
2.Определение базисного плана.
3.Критерий оптимальности в симплекс-методе.
4.Достаточное условие неограниченного возрастания целевой функции.
5.Алгоритм симплекс-метода, правило прямоугольника.
Симплекс-метод применяется к задачам линейного программирования, которые в канонической форме обладают свойствами: ранг матрицы системы основных ограничений равен числу уравнений, ограничения задачи не противоречивы, причём известен или легко строится начальный базисный план.
Алгоритм
1.Задачу линейного программирования приводим к каноническому виду
c' x max , |
Ax |
|||||
x,c R |
n |
, |
b R |
m |
, |
|
|
|
|
|
|
||
2. Строим начальный |
|
базисный |
||||
преобразуем к виду (2.2): |
|
|
|
|
|
b, |
x 0 |
A |
(n |
план. Для
m) матрица. этого исходную
(2.1)
задачу
|
|
|
|
|
|
x |
|
|
|
|
|
max , |
( A |
|
A |
) |
Б |
|
b, |
x 0, |
(b 0), |
||
c x |
|
|
|||||||||
|
|
|
Б |
Н |
|
|
|
|
|
|
|
|
|
|
|
|
|
xН |
|
|
|
||
где |
|
|
|
|
|
|
|
|
|
|
|
xБ {x j , j J Б }, |
J Б { j1 , |
j2 ,..., jm } J , |
xН {x j , j J Н J \ J Б }, |
(2.2)
J {1, 2,..., n},
AБ Em |
, |
AН {a j |
, j J Н }, |
a j {aij , i I}, |
I {1, 2,..., m}. |
||||||
|
|
|
x |
1 |
|
b |
|
|
|
||
Вектор |
1 |
|
|
|
Б |
|
|
|
– начальный базисный план задачи |
||
x |
|
|
|
|
|||||||
|
|
|
1 |
|
|
|
|
|
|||
|
|
|
xН |
|
0 |
|
|
|
Вычисляем на нём значение целевой функции и оценки:
2 |
|
1 |
|
b , |
c |
|
{c |
, j J |
|
}, |
|
|
c |
|
A |
1 |
a |
|
c |
|
c |
|
z(x |
) c x |
|
c |
Б |
Б |
j |
Б |
|
j |
j |
Б |
|||||||||||
|
|
|
Б |
|
|
j |
|
|
|
|
Б |
|
|
|
(2.1).
a |
j |
c |
, |
j J |
Н |
|
j |
|
|
и переходим к пункту 3.
3. Строим начальную симплексную таблицу, задающую базисный план x1 .
11
4. Проверяем оценки j 0,
выполнение критерия оптимальности плана. Если все j JН , то базисный план (2.2) оптимален. Задача решена.
Если j |
0, |
j J Н , то идём к пункту 5. |
5. Проверяем достаточные условия неограниченности целевой функции. Если
j* 0 , j* J Н , aij* 0, i IБ , (2.3)
то задача (2.1) не имеет решения, так как целевая функция не ограничена на множестве планов. Если условие (2.3) не имеет места, то переходим к пункту 6.
6. Совершаем симплекс-итерацию – переход к новому базисному плану: а) строим новый базис с индексным множеством
J |
Б |
(J |
Б |
\ q) p, |
|
|
|
где p и q находят из соотношений:
p |
min j |
(p-ый |
столбец – разрешающий),
|
|
|
b |
|
min |
|
b |
|||
|
|
q |
|
|
i |
|||||
|
|
|
|
|
|
|
|
|
||
|
q |
|
a |
|
|
i I ,a |
0 |
|
a |
|
|
|
|
|
|
ip |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ip |
|
|
|
|
|
ip |
(q-ый строка – разрешающая),
а элемент таблицы aqp |
– разрешающий. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
б) строим новую симплекс-таблицу, совершая основное симплексное |
||||||||||||||||||||||||||
преобразование по элементу |
aqp |
: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
a |
|
a |
, |
b |
b |
, |
|
a a |
|
a |
a |
, |
|
|
|
|
|||||||
|
|
|
qj |
q |
|
ip |
qi |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
qj |
|
a |
|
|
q |
|
a |
|
|
ij |
|
ij |
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
qp |
|
|
|
|
qp |
|
|
|
|
|
|
|
|
qp |
|
|
|
|
|
|
bi ai |
bq aip |
, |
|
i I , |
i q , |
|
j |
|
j |
|
|
p aqj |
, |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
aqp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
aqp |
|
|
|
|
|
|||
|
|
|
x2 |
|
x2 |
(J ) |
|
b |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
j J , x |
2 |
|
Б |
|
|
|
|
Б |
|
|
|
|
, |
b |
{bi , i I}, |
J |
J \ J Б . |
|||||||||
|
|
2 |
2 |
|
|
|
|
|
|
Н |
||||||||||||||||
|
|
|
xН |
x (J |
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
Н ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
7. К новой таблице применяем п.4 алгоритма и т.д.
Замечания
1. Расчет новой симплекс-таблицы нужно начинать с определения значений столбца b и строки , так как если для некоторого базисного плана выполняется критерий оптимальности (см. п.4), то нет необходимости вычислять оставшуюся часть таблицы.
2. Для проверки правильности вычисления симплекс-таблиц можно ввести столбец , который равен сумме всех столбцов таблицы и также
вычисляется по правилу прямоугольника.
12
Пример. Симплекс-методом решить следующую задачу:
z x |
|
x |
2 |
3x |
3 |
max |
||||||
|
1 |
|
|
|
|
|
|
|
|
|||
2x |
x |
2 |
|
x |
|
1, |
|
|
|
|||
1 |
|
|
|
|
3 |
|
|
|
|
|
|
|
4x |
2x |
2 |
x |
3 |
2, |
|
||||||
1 |
|
|
|
|
|
|
|
|
|
|
||
3x |
x |
|
|
5 , |
|
|
x |
0, |
i 1, 3 |
|||
1 |
3 |
|
|
|
|
|
|
i |
|
|
|
(2.4)
Решение
1. Приводим задачу (2.4) к каноническому виду:
z x |
|
x |
2 |
3x |
max |
|
||||||
|
1 |
|
|
|
3 |
|
|
|
|
|||
2x |
x |
2 |
x |
x |
4 |
1, |
|
|
||||
1 |
|
|
|
|
3 |
|
|
|
|
|
||
4x 2x |
2 |
|
x |
x |
2, |
|
||||||
|
1 |
|
|
|
|
3 |
|
5 |
|
|
|
|
3x |
x |
|
x |
6 |
5 , |
x |
i |
0, |
i 1, 6. |
|||
1 |
3 |
|
|
|
|
|
|
|
|
(2.5)
1. Из системы ограничений |
|
задачи |
|
базисный план: |
J |
|
{4, 5, |
x (0, 0, 0, 1, 2, 5) , |
|
||
1 |
|
|
|
|
|
Б |
|
(2.5) |
определяем начальный |
6}. |
|
2. Составляем для задачи (2.5) начальную симплекс-таблицу и применяем симплекс-метод:
c |
|
|
|
-1 |
1 |
3 |
0 |
0 |
0 |
|
|
|
||||||
|
Á |
Базис |
b |
1 |
|
2 |
a |
3 |
|
4 |
a |
5 |
a |
6 |
|
|
|
|
c |
|
|
|
a |
a |
|
|
a |
|
|
|
|
|
|
||||
0 |
a4 |
1 |
2 |
-1 |
|
|
1 |
0 |
0 |
4 |
1/1 |
|||||||
0 |
a |
5 |
2 |
-4 |
2 |
-1 |
0 |
1 |
0 |
0 |
– |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
0 |
a |
6 |
5 |
3 |
0 |
1 |
0 |
0 |
1 |
10 |
5/1 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
0 |
1 |
-1 |
-3 |
|
0 |
0 |
0 |
-3 |
|
|
|||||
|
|
a |
3 |
1 |
2 |
-1 |
1 |
1 |
0 |
0 |
4 |
– |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
a5 |
3 |
-2 |
|
|
0 |
1 |
1 |
0 |
4 |
3/1 |
|
|||||
|
|
a6 |
4 |
1 |
1 |
0 |
-1 |
0 |
1 |
6 |
4/1 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
3 |
7 |
-4 |
0 |
3 |
0 |
0 |
9 |
|
|
||||||
|
|
a3 |
4 |
0 |
0 |
1 |
2 |
1 |
0 |
8 |
– |
|
||||||
|
|
a |
2 |
3 |
-2 |
1 |
0 |
1 |
1 |
0 |
4 |
– |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
a6 |
1 |
|
0 |
0 |
-2 |
-1 |
1 |
2 |
1/3 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
15 |
-1 |
0 |
0 |
7 |
4 |
0 |
26 |
|
|
13
a |
3 |
|
a |
2 |
|
|
a |
|
|
1 |
|
4 |
|
|
|
|
|
|
|
11 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
15 |
1 |
|
0 |
0 |
0 |
6 |
1 |
3 |
|
|
|
|
3 |
3
2 3
1
3
25
2 3
все
Последняя таблица задаёт оптимальный план: задачи (2.4), так как
оценки |
j |
0, |
|
|
|
j J Н |
{4, 5, 6}и |
|
|
|
|||||||||||
|
|
|
x |
0 |
|
|
1 |
, |
x |
0 |
|
11 |
, |
x |
0 |
4. |
|
|
|||
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
1 |
|
|
|
|
3 |
|
|
2 |
|
3 |
|
|
3 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
0 |
1 |
|
11 |
|
|
|
|
|
|
zmax 15 |
1 |
|
|||||||
Ответ: |
x |
|
|
|
|
|
, |
|
|
|
, 4, 0, 0, 0 , |
|
|
. |
|||||||
|
|
|
|
|
|
3 |
|
3 |
|||||||||||||
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
Задание. Симплекс-методом решить следующие задачи:
1. |
z 2x1 x2 |
max |
||||||||
2x |
x |
2 |
|
4, |
|
|||||
|
|
1 |
|
|
|
|
|
|
|
|
x |
|
x |
2 |
x |
3 |
4, |
||||
1 |
|
|
|
|
|
|
|
|||
x |
x |
3 |
1, |
|
||||||
|
|
1 |
|
|
|
|
|
|
|
|
x |
i |
0, i |
1, 3 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
3. |
z x2 |
x1 max |
2x1 x2 2, x1 x2 2,
x1 x2 5,
xi 0, i 1, 2
5. z x1 2x2 x3 max
2x1 x2 x3 2, 2x1 x2 5x3 6,
8x1 2x2 2x3 12, xi 0, i 1, 3
2. |
z 3x1 |
|
x3 |
max |
|
||||||||||||||
x |
|
x |
2 |
x |
4 |
5, |
|
|
|||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
2x |
2 |
3x |
3 |
|
x |
5 |
|
4, |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
2x |
2 |
x |
6 |
|
|
8, |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
i |
0, i |
1, 6 |
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. |
z 2x1 |
|
3x2 2x3 |
x4 |
max |
||||||||||||||
2x1 2x2 3x3 x4 6, |
|
||||||||||||||||||
x2 x3 x4 |
2, |
|
|
||||||||||||||||
x1 x2 2x3 5, |
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||
xi |
0, i |
1, 4 |
|
|
|
|
|||||||||||||
6. z 8x1 |
|
4x2 x3 max |
|||||||||||||||||
2x1 x2 x3 20, |
|
|
|||||||||||||||||
6x1 x2 |
|
12, |
|
|
|||||||||||||||
x1 x2 |
2, |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|||||||||||||||
xi |
0, i |
1, 3 |
|
|
|
|
14
7. |
|
z x1 |
3x2 |
|
2x3 |
min |
|
|||||||||||||||||||
x |
|
|
x |
2 |
|
2x |
3 |
5, |
|
|
||||||||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
2x |
3x |
2 |
x |
|
3, |
|
|
|||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
||
2x |
5x |
2 |
6x |
3 |
5, |
|
|
|||||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
i |
|
0, i 1, 3 |
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9. |
|
z 2x1 |
x2 10x3 x5 max |
|||||||||||||||||||||||
x1 x2 4x3 x4 1, |
|
|||||||||||||||||||||||||
x2 x3 x5 |
4 |
|
|
|
|
|||||||||||||||||||||
x2 x4 |
|
2, |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
xi |
|
0, i |
1, 5 |
|
|
|
|
|
|
|
|
|||||||||||||||
11. |
|
z 5x1 |
x2 |
x3 |
2x4 x5 |
min |
||||||||||||||||||||
x |
|
|
x |
2 |
|
|
x |
3 |
2, |
|
|
|
|
|||||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
x |
x |
2 |
|
x |
3 |
x |
4 |
1, |
|
|||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
2x |
|
x |
2 |
|
x |
5 |
|
2, |
|
|
|
|||||||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
|
0, i |
|
1, 5 |
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13. |
|
z 2x1 |
x2 |
3x3 max |
|
|||||||||||||||||||||
3x |
|
x |
3 |
8, |
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
x |
2 |
|
4x |
3 |
|
1, |
|
|
|||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2x |
|
x |
2 |
|
3x |
3 |
6, |
|
|
|
||||||||||||||||
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
|
0, i 1, 3 |
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15. |
z x1 |
3x2 |
|
|
x3 min |
|
||||||||||||||||||||
3x |
|
x |
2 |
2x |
3 |
7, |
|
|
|
|||||||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2x1 4x2 12,
4x1 3x2 8x3 10,
x |
i |
0, i 1, 3 |
|
|
15
8. |
z x1 3x2 x3 min |
||||||||||||||
x |
2 |
x |
1, |
|
|||||||||||
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
x x |
x |
4, |
|
||||||||||||
1 |
|
|
2 |
|
|
3 |
|
|
|
|
|
|
|
||
2x |
x |
|
|
2, |
|
|
|
||||||||
|
|
1 |
|
|
2 |
|
|
|
|
|
|
|
|
||
x |
|
0, i 1, 3 |
|
||||||||||||
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10. z x1 x2 x3 min |
|||||||||||||||
x1 x4 2x6 5, |
|
||||||||||||||
x2 x4 3x5 x6 3, |
|
||||||||||||||
x3 x4 x5 x6 5, |
|
||||||||||||||
|
|
|
|||||||||||||
xi |
0, i |
1, 6 |
|
|
|||||||||||
12. |
|
z 2x1 |
4x2 x3 max |
||||||||||||
x |
|
3x |
2 |
x |
3 |
4, |
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|||||
2x |
|
x |
2 |
1, |
|
|
|
||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
2 |
x |
4 |
|
3, |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
0, i 1, 3 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14. |
|
z 10x1 |
|
7x2 5x3 |
min |
||||||||||
x |
|
2x |
2 |
x |
3 |
5, |
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
|
3x |
3 |
1, |
|
|
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
2 |
x |
3 |
|
4, |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
0, i 1, 3 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16. z 2x1 3x2 x3 min
5x1 3x2 x3 15, x1 x2 4,
2x1 x3 2,
xi 0, i 1, 3
17. z 2x1 2x2 x3 |
min |
|||
x1 |
x2 2x3 2, |
|
||
2x1 x2 3x3 6, |
|
|||
x1 |
x2 x3 7, |
|
||
|
|
|
||
xi |
0, i |
1, 3 |
|
|
19. z x1 x2 x3 max 3x1 x2 2x3 1,
x1 x3 2,
x1 2x2 x3 4, xi 0, i 1, 3
21. |
z 6x1 |
x2 x3 |
min |
||||||||||||||||||
x |
|
|
x |
2 |
|
x |
3 |
1, |
|
|
|
||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
x |
|
|
x |
2 |
|
3x |
|
|
|
9, |
|
|
|||||||||
1 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
||||
x |
x |
2 |
4x |
3 |
2, |
|
|||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
|
0, i 1, 3 |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23. |
z x1 x2 |
|
2x3 |
max |
|||||||||||||||||
x |
|
|
x |
2 |
|
1, |
|
|
|
|
|
|
|
|
|
||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
|
|
2x |
3 |
1, |
|
|
|
|
|
|
||||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
|
|
x |
2 |
|
x |
3 |
|
|
2, |
|
|
|||||||||
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
x |
i |
0, i 1, 3 |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25. z 3x1 |
|
5x2 |
x3 x4 max |
||||||||||||||||||
x |
|
|
2x |
2 |
|
x |
3 |
|
x |
4 |
5, |
||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
x |
1 |
|
|
x |
2 |
|
3x |
3 |
2, |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
x |
x |
2 |
x |
3 |
|
1, |
|
||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
|
0, i 1, 4 |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18. |
z 8x1 5x2 |
x3 |
max |
|||
2x1 |
x2 |
2x3 10, |
|
|||
x1 x2 x3 5, |
|
|
||||
4x1 |
x2 |
7, |
|
|
||
|
|
|
|
|||
xi 0, i |
|
1, 3 |
|
|
|
20. z x1 |
x2 2x3 min |
||||||||||||||||
x |
|
3x |
2 |
x |
3 |
3, |
|
||||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
3x |
x |
2 |
x |
3 |
1, |
|
|||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
||||
x |
|
x |
2 |
|
x |
3 |
|
5, |
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
i |
0, i |
1, 3 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22. |
z 2x1 |
x2 |
x3 |
max |
|||||||||||||
x |
|
x |
2 |
|
x |
3 |
|
1, |
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
3x |
2 |
x |
3 |
6, |
|
|||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
2x |
x |
3 |
5, |
|
|
|
|
||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
i |
0, i 1, 3 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24. |
z x1 |
2x2 2x3 min |
|||||||||||||||
2x |
x |
3 |
x |
4 |
|
1, |
|
||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
2 |
2x |
4 |
3 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
x |
|
x |
2 |
|
x |
3 |
|
4, |
|
||||||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
x |
i |
0, i 1, 4 |
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26. |
z x1 |
3x2 |
x3 |
min |
|||||||||||||
3x |
x |
2 |
2x |
3 |
7, |
|
|||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
2x1 4x2 12,
4x1 3x2 2x3 10,
x |
i |
0, i 1, 3 |
|
|
16
Лабораторная работа 3
Двухфазный симплекс метод решения задач линейного программирования
Вопросы:
1.Постановка задачи первой фазы, для чего нужна первая фаза.
2.Три случая, которые возможны в результате решения задачи на первой фазе.
3.Лемма о непустоте множества планов задачи первой фазы.
Дана задача линейного программирования в канонической форме:
Ax b, x 0 (b 0) (3.1)
Предположим, что для неё трудно построить начальный базисный план. В этом случае задачу (3.1) следует решать двухфазным симплексметодом.
Алгоритм Первая фаза. Построение начального базисного плана задачи (3.1).
1.Составляем задачу первой фазы:
|
|
max, |
Ax x |
|
|
b, |
x 0, |
x |
|
0 |
|
|
|
e x |
И |
И |
|
И |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||
где |
|
|
1, 1, ...,1 R |
m |
, |
x xn 1 , xn 2 ,..., xn m R |
m |
– |
|||||
e |
|
|
(3.2)
вектор искусственных переменных.
2.Задачу (3.2) решаем симплекс-методом. Для неё
|
JБ JИ |
n 1, n 2,..., n m , |
AБ |
Em , |
xБ b. |
|||||||
3. Пусть решение |
задачи |
(3.2) |
– |
* |
* |
|
задается таблицей T* с |
|||||
x |
, xИ |
|
||||||||||
множеством базисных индексов |
J Б и элементами |
|
||||||||||
|
|
aij , |
i J Б , |
j J JБ . |
|
|
||||||
|
|
* |
|
|
|
* |
|
|
|
|
|
|
Возможны три случая: |
|
|
|
|
|
|
|
|
|
|||
а) Если |
x* 0 , то |
исходная |
|
задача |
не |
имеет |
планов. Процесс |
|||||
|
И |
|
|
|
|
|
|
|
|
|
|
|
решения окончен. |
|
JБ |
JИ |
|
(среди |
базисных планов нет |
||||||
б) Если |
xИ 0 |
и |
|
|||||||||
|
* |
|
|
* |
|
|
|
|
|
|
|
|
искусственных), |
то |
x |
* |
– базисный план задачи (3.1) с базисным |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
множеством |
J * . |
|
|
|
|
|
|
|
|
|
|
|
|
|
Б |
|
|
|
|
|
|
|
|
|
|
17
|
в) Если |
xИ |
0 , |
но |
JБ |
J |
И |
(среди |
базисных |
переменных |
||||||||
|
|
|
* |
|
|
|
* |
|
|
|
|
|
|
|
|
|
|
|
|
|
имеются |
искусственные), |
то для |
i JБ |
JИ |
возможны |
два |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
подслучая: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
1) Если в строке, соответствующей переменной |
i |
таблицы |
T * |
|||||||||||||
|
|
имеется элемент aij 0, j J , то, |
выбирая |
|
aij за разрешающий |
|||||||||||||
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
элемент и выполняя с ним симплексное преобразование, |
||||||||||||||||
|
|
исключаем искусственную переменную |
xi |
|
из базисных, а |
x j |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
вводим в состав базисных переменных; |
|
|
|
то |
в системе |
|||||||||||
|
|
2) Если |
же |
в |
этой |
строке все |
aij |
0, j J , |
||||||||||
|
|
|
|
|
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
|
|
ограничений |
задачи |
(3.2) |
i n |
уравнение |
есть |
следствие |
||||||||||
|
|
остальных уравнений. Его нужно из (3.2) удалить, а из |
таблицы |
|||||||||||||||
|
|
T * вычеркнуть указанную i-ю строку и j-й столбец. |
|
|
|
|||||||||||||
Выполнение |
процедур |
1) |
и |
2) |
над всеми |
элементами |
множества |
|||||||||||
JБ |
JИ |
приведут к б). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вторая фаза. Построение оптимального плана исходной задачи (3.1) –
(3.3). Принимая x* за начальный базисный план, а T* без столбцов |
j JИ |
– за начальную симплексную таблицу, решаем задачу (3.1) – (3.3) симплекс-методом.
Замечание
В конкретных случаях при составлении задачи первой фазы (3.2) искусственные переменные следует вводить только в те ограничения задачи (3.1), в которых нет базисных переменных. Более того, в основных ограничениях задачи (3.1) предварительно с помощью элементарных эквивалентных преобразований (умножение ограничений на положительное число, сложение ограничений) могут быть построены некоторые легко выделяющиеся базисные переменные. Все это ускоряет решение задачи первой фазы.
Пример. Двухфазным симплекс-методом решить задачу: z 3x1 x2 x4 max,
3x1 5x2 |
x3 1, |
(3.3) |
|
x1 2x2 2x4 2, |
|||
|
|||
2x1 x2 x4 1, |
|
||
x 0, |
i 1, 4 |
|
|
i |
|
|
18
Решение
Первая фаза. Составляем задачу первой фазы. Так как в первой равенстве уже есть базисная переменная x3, то достаточно ввести всего лишь две искусственные переменные x5 и x6 во второе и третье равенства.
F x5 x6 max,
|
|
|
|
|
|
|
|
|
3x1 5x2 x3 1, |
|
|
|
|
|
|
|
|
|
|
|
(3.4) |
|
|||||
|
|
|
|
|
|
|
|
|
x1 2x2 |
2x4 x5 2, |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
2x1 x2 x4 x6 1, |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
x |
0, |
|
i 1, 6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X |
1 |
0, 0, 1, 0, 2, 1 |
– |
начальный |
|
базисный |
|
план |
|
задачи (3.4), |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JБ |
|
|
|
|
|
JИ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
3, 5, |
6 , |
5, 6 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Задачу (3.4) решаем симплекс-методом: |
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
с |
|
|
|
|
|
|
|
|
|
0 |
|
0 |
0 |
|
0 |
|
-1 |
|
-1 |
|
|
||||||
c |
Б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Базис |
|
|
b |
|
1 |
|
a |
2 |
a |
3 |
|
a |
4 |
|
a |
5 |
|
a |
6 |
|
||
|
|
|
|
|
|
|
|
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|||||
0 |
|
|
|
a |
3 |
|
|
1 |
|
3 |
|
-5 |
1 |
|
0 |
|
0 |
|
0 |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
-1 |
|
|
|
a |
5 |
|
|
2 |
|
1 |
|
2 |
0 |
|
2 |
|
1 |
|
0 |
1 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
-1 |
|
|
|
a |
6 |
|
|
1 |
|
-2 |
|
|
|
0 |
|
-1 |
|
0 |
|
1 |
1 |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
F |
|
|
-3 |
|
1 |
|
|
|
0 |
|
-1 |
|
0 |
|
0 |
|
|
a |
3 |
|
a5
a2
F
a3
a1
a |
2 |
|
F
6
0
1
0
6
0
1
0
-7
-2
5
0
1
0
0
0 1
00
10
0 0
0 1
00
10
00
-5
4
-1
-4
8 5
4
5
3 5
0
0
1
0
0
8 5
1
5
2 5
1
5
-2
1
3
11
5
2
5
1 5
1
0
Последняя таблица задаёт |
оптимальный план |
задачи (3.4) |
||
x* , x* |
0, 1, 6, 0, 0, 0 . Искусственные переменные |
x* , x* |
не входят в |
|
И |
|
|
5 6 |
|
|
|
19 |
|
|
базис.
(3.3),
Следовательно
J Б |
1, 2, 3 . |
* |
|
x |
|
0, 1, 6, 0 |
|
– начальный базисный план задачи
Вторая фаза. Используя последнюю таблицу, отбросив в ней столбцы
a5 , a6 и заменив вектор стоимости с, решаем задачу (3.3) симплексным |
|||||||||||||||
методом в следующей таблице: |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
с |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
1 |
0 |
-1 |
|
|
|||
|
|
|
Базис |
|
b |
1 |
|
2 |
a |
3 |
|
4 |
|
|
|
|
|
|
|
|
|
|
a |
a |
|
|
a |
|
|
|
|
|
0 |
|
|
3 |
|
6 |
0 |
0 |
1 |
8 |
|
|
|||
|
|
a |
|
5 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
1 |
|
0 |
1 |
0 |
0 |
4 |
|
|
||||
|
|
|
5 |
|
|
||||||||||
|
|
|
a |
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
2 |
|
1 |
0 |
1 |
0 |
3 |
|
|
|||
|
|
a |
|
5 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
1 |
0 |
0 |
0 |
4 |
|
|
||||
Так как все оценки в строке |
в этой таблице неотрицательны, то таблица |
||||||||||||||
задает оптимальный план исходной задачи (3.3). |
|
|
|
|
|
||||||||||
Ответ: x0 |
0, 1, 6, 0 , |
zmax |
1. |
|
|
|
|
|
|
|
|
Задание. Двухфазным симплекс-методом решить следующие задачи:
1. |
z 2x1 2x2 |
x3 x4 |
min |
||||||||||
x |
x |
2 |
2x |
x |
4 |
2, |
|
||||||
1 |
|
|
3 |
|
|
|
|
|
|
|
|
||
2x x |
2 |
3x |
3 |
x |
4 |
6, |
|
||||||
|
1 |
|
|
|
|
|
|
|
|
|
|||
x |
x |
2 |
x x |
4 |
7, |
|
|||||||
1 |
|
|
3 |
|
|
|
|
|
|
|
|||
xi |
0, |
|
i |
1, 4 |
|
|
|
|
|
3. |
z x1 2x2 3x3 4x4 max |
|
x1 2x2 |
x3 x4 2, |
|
2x1 x2 |
x3 2x4 4, |
|
x |
0, |
i 1, 4 |
i |
|
|
2. |
z 6x1 |
4x2 |
3x3 |
2x4 |
max |
|||||
x |
2x |
2 |
2x x |
4 |
16, |
|
||||
1 |
|
|
3 |
|
|
|
|
|
||
4x 5x |
2 |
3x |
7x |
4 |
10, |
|
||||
|
1 |
|
3 |
|
|
|
|
|
||
x |
0, |
|
i 1, 4 |
|
|
|
|
|
||
i |
|
|
|
|
|
|
|
|
|
|
4. |
z x1 |
2x2 2x3 |
2x4 |
max |
||||||
x |
2x |
2 |
3x |
x |
4 |
7, |
|
|||
1 |
|
3 |
|
|
|
|
|
|||
x x |
2 |
2x |
3x |
4 |
4, |
|
||||
|
1 |
|
3 |
|
|
|
|
|
||
x |
0, |
|
|
i 1, 4 |
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
20