Transcript В.1
Математические методы исследования
операций
глава 2.
Линейное программирование
(часть 1)
Курс для студентов
экономико-математических
специальностей
Линейное программирование
1
Определение задачи ЛП
КЗЛП и построение канонической формы
Первая геометрическая интерпретация и
графический метод решения
Основные теоремы ЛП
Вторая геометрическая интерпретация и
базисные планы
Теоремы о базисных планах
Линейное программирование
Симплекс-метод, алгоритм
Симплекс-метод, обоснование
Метод минимизации невязок
Проблема вырожденности
Альтернативные оптимальные планы
Модифицированный симплекс-метод
2
Общая задача линейного программирования
Общая задача линейного программирования (ОЗЛП)
f (x) c1 x1
c2 x2
cl xl
cl1 xl1
cn xn max
a1,1 x1
a1, 2 x2
a1,l xl
a1,l 1 xl 1
a1,n xn
b1 ,
a 2 ,1 x1
a2, 2 x2
a 2 ,l xl
a 2 ,l 1 xl 1
a 2 ,n x n
b2 ,
a r ,1 x1
ar , 2 x2
a r ,l xl
a r ,l 1 xl 1
a r ,n x n
br ,
a r 1,1 x1
a r 1, 2 x2 a r 1,l xl
a r 1,l 1 xl 1 a r 1,n xn
br 1 ,
a m ,1 x1
am , 2 x2
a m ,l xl
a m ,l 1 xl 1
x1 0, x2 0,
xl 0.
a m ,n x n
bm ,
Каноническая задача линейного программирования
Каноническая задача линейного программирования
(ОЗЛП)
f (x) cx max, D {x R n | Ax b, x 0}.
2
Построение канонической формы
1
f (x) cx max, D {x R | ai xi bi , i I n ;
n
ai xi bi , i I e ;
x j 0,
j J}
Построение канонической формы
2
ограничения, имеющие форму неравенств (i I n ) , преобразуются в
уравнения за счет добавления фиктивных неотрицательных
переменных y n i (i I n ) , которые одновременно входят в целевую
функцию с коэффициентом 0, т.е. не оказывают влияния на ее
значение;
переменные
ОЗЛП,
на
которые
наложено
условие
неотрицательности
( j J ) , формально (без каких-либо
изменений) трансформируются в соответствующие переменные
канонической формы: y j x j ;
переменные, на которые не наложено условие неотрицательности
( j J) ,
представляются
в
виде
разности
двух
неотрицательных переменных y j и y j , где, таких что:
x j y j y j .
новых
Первая геометрическая интерпретация ЗЛП
Рассмотрим задачу-базовый пример
x2
7x1 + 5x2 35
x1 + 2x2 8
x1 0
D
x1
x2 0
Графический метод решения ЗЛП
1
f (x) f (x)
f (x)
(c1 , c2 ,, cn ) c
f (x)
,
, ,
x
x
x
1
2
n
x2
x*
D
x
f ( x) Const
3
1
f ( x) Const1
f ( x) Const2
Принципиальные ситуации, возможные при решении
задачи линейного программирования
Решение
достигается в
угловой точке
Целевая
функция не
ограничена
Бесконечное
множество
решений
f (x)
x2
x2
x2
f (x)
D
f (x)
D
D
x1
(a)
x1
(b)
x1
(c)
Графический метод решения ЗЛП
2
Рассмотрим задачу
f (x) max, D {x R | Ax b; x j 0, j J },
n
nm 2
x j1 , x j2 x j j ( x j1 , x j2 )
n
cx j ( x j1 , x j2 ) max,
j 1
D {( x j1 , x j2 ) R | j ( x j1 , x j2 ) 0, j J }
2
Основные теоремы ЛП
1
Теорема
Если целевая функция f принимает максимальное значение в
некоторой точке множества допустимых планов D, то она принимает
это значение и в некоторой угловой точке данного множества.
Доказательство
Теорема о представлении многогранного
выпуклого множества
если D — многогранное выпуклое множество, то существуют такие
выпуклый многогранник V
и многогранный выпуклый конус K 0 с
вершиной в нуле, что D V K 0 .
Основные теоремы ЛП
2
D V K0
V
K0
D
Основные теоремы ЛП
3
x arg max { f ( x)} :
x D : cx cx
*
xD
*
s
p
k 1
l 1
l
k
x k x l x
*
1
s
k
x , , x ,, x
s
k 1
s
1
- угловые точки
k 0, k 1..s;
Основные теоремы ЛП
1
l
p
x , , x , , x
4
- направляющие вектора конуса
(!) рассуждения «от противного»
[0,[
] l 0 :
l 0, l 1.. p
l
l0
k
f (x ) cx k (cx ) l (cx ) l0 (cx )
s
*
*
k 1
l l0
Основные теоремы ЛП
5
По свойства многогранного выпуклого конуса:
[0,[
l
l0
k
x() k x l x x D
s
k 1
l l0
В зависимости от знака
l
(1) cx 0
0
l0
cx
l :
0
l
l0
k
*
f (x()) k (cx ) l (cx ) (cx ) f (x )
s
k 1
l l0
Основные теоремы ЛП
5
*
l0
(2) cx 0 [0, l [: f (x()) f (x )
l
(3) cx 0 0
0
0
Вторая геометрическая интерпретация ЗЛП
f (x) cx max, D {x R n | Ax b, x 0}.
(!) без ограничения общности
mn
mn
Аx = b
несовместна
существуют
линейно-зависимые
ограничения
1
Вторая геометрическая интерпретация ЗЛП
a x1 a x2 a x j a xn b
1
xR
2
j
2
a1
b
n
a
b
2
a3
a4
1
Базисный план
1
{a , a ,, a }
j1
j2
jm
N () { j1 , j2 ,, jm }
x() :
A x()
a x j1 a x j2 a
j1
j2
jm
x jm b
Базисный план
x()
2
- базисный план
x j () 0,
j N ();
x j () 0,
j N ().
Базисный план
базисный план-невырожденный:
x() 0, j N ()
вырожденный – в противном случае.
3
Базисный план
a1
4
a2
b
a3
a4
Теоремы о свойствах базисных планов
Теорема
Каждый допустимый базисный план является угловой
точкой множества допустимых планов
{a1 , a 2 ,, a m }
1
Теоремы о свойствах базисных планов
2
Базисные планы (пример)
x3
4
x3
3
x2
2
D {x R 3 | x1 2 x 2 x 3
2,
3 x1 x 2 x 3
3,
x0
}.
1
-1
0
1
2
1
2
x1
x1
3
x2
Симплекс-метод, историческая справка
Леонид Витальевич
Канторович
(1912-1986), 1939
Джордж Данциг
(1914-2005), 1947
Симплекс-метод, геометр. интерпретация
β(1) {a3 , a 4 }
f (x((1) )) b0 ((1) )
a2
a1
a3
a4
b ((1) )
b
1
Симплекс-метод, геометр. интерпретация
2
Симплекс-метод, геометр. интерпретация
β(1) {a3 , a 4 }
a2
(2) {a1, a3}
a1
a3
f (x((3) )) b0 ((3) )
b ((3) )
f (x(( 2) )) b0 (( 2) )
a4
b (( 2) )
f (x((1) )) b0 ((1) )
b ((1) )
b
(3) {a1, a2}
3
Симплекс-метод алгоритм
0-итерация: Определение
исходного допустимого
базисного плана
Проверка
оптимальности
Да
Выход
Стандартная
итерация
Нет
Определение вводимого столбца
Определение
выводимого
столбца
Обнаружена
неограниченность
Нет
Пересчёт параметров задачи относительно
нового базиса
Выход
Симплекс-метод
критерий оптимальности
план является оптимальным, если для всех j 1.. n
a0 j ( ( q ) ) 0, и неоптимальным в противном случае,
т.е. если существует такое l {1.. n}, что a0l ( ( q ) ) 0.
a0 j (( q ) ) также называют оценками столбцов
матрицы A относительно текущего базиса или симплексразностями.
Значения
Симплекс-метод
определение выводимого столбца
для столбца a l , претендующего на ввод в базис, и вектора
ограничений b рассматриваются отношения
Таким образом, если базис на q -й (итерации
включал столбцы с номерами
q)
bi ( )
(q)
i
{
1
..
m
|
a
(
) 0},
где
,
il
N ( i) { j1 , j2 ,(
q ) , j r 1 , j r , j r 1 , , jm },
ail ( )
(q)
то базис на итерации q 1 будет состоять из столбцов с номерами:
и определяется такая
строка r , что
N (( q1) ) { j1 , j2 , , jr 1 , l , jr 1 , , jm }.
r
min
{ i }.
i{1.. m| ail ( ( q ) ) 0}
Полученный индекс r определяет номер столбца в N ( ( q ) ),
выводимого из базиса, а именно, jr N r ( ( q ) ).
Симплекс-метод,
неограниченность
a4
a
l : a0l ( ( q ) ) 0
a3
2
a ( ) 0
l
a1
b
(q)
Симплекс-метод,
симплекс-таблица
Значение
Номера базисных
столбцов
T (q )
N ((q ) )
цел.функции на
текущем плане
b0 (( q ) )
a 0 (( q ) )
b(( q ) )
A( (q ) )
Столбец
ограничений в
текущем базисе
Строка «оценок»
Матрица задачи в
текущем базисе
(q )
Значения ,
рассч.при
определен.
выводимого
столбца
Симплекс-метод, примерИсходный
(0)
допустимый
базис
4 x1
3 x 2
7 x1
5 x2
x1
2 x2
max,
x3
x4
35,
8,
x1 0, x2 0, x3 0, x4 0.
1 0 0
( (1) ) 0 1 0 ,
0 0 1
1 0 0
1 ( (1) ) 0 1 0 ,
0 0 1
Симплекс-метод, пример (1)
1
(1)1
A((1b) )((1) )1
(
) (A(1)) b0
0
1 04 03 00 0 0 4 3 0 0
0 0
35 .
1 00 17 05 35
1
0
7
5
1
0
0 01 0 1 12 08 1 8 1
2 0 1
b0 (( q ) )
a 0 (( q ) )
0 4 3 0 0
5 1 0
35 7
3
(q )
A((q ) )
N((q ) ) b( )
4 8 1 2 0 1
Разрешающий
элемент
Симплекс-метод, пример (2)
4
a 0 ( ) a1 ((1) )
7
35:7=5
(1)
:7
(1)
T
0 –4
–3
0
0
35
7
5
1
0
4
8
1
2
0
8
1 Разрешающий
1
a 2 ( ) a1 ((1) )
7
T
5
элемент
(1)
( 2)
8:1=8
3
20
0 –1/7
4/7
0
5:5/7=7
1
5
1 5/7 1/7
0
4
3
0 9/7 –1/7
1 7/3
7
3:9/7=7/3
Симплекс-метод, пример (3)
План оптимальный !!!
T
( 3)
61/3
0
0
5/9
1
10/3
1
0
2/9 –5/9
2
7/3
0
1 –1/9
10 7
x ( , , 0, 0),
3 3
*
f * f (x* )
61
1
20 .
3
3
1/9
7/9
Симплекс-метод,
метод минимизации невязок
f ( x)
c1 x1
cn xn
max,
D {x R n |
a11x1
a1n xn
b1 ,
~
f ( x)
~
D {x R n m |
0 xn 1 xn 1
0 x1
1 x
max,
n m
a11 x1
0 xbnm m,
am1 x1 a1n xn 1 xanmn
1 x n
x
1
0,
xn 0
}
b1 ,
am1 x1 amn xn
0 xn 1
1 xn m
bm ,
x1 0,
xn 1 0,
xn m 0
}.
xn 0,
Обоснование симплекс-метода
Т1/1
Теорема 1. Если для плана x * () выполняется условие a0 () 0, то данный
план является оптимальным.
Рассмотрим произвольный план задачи x D. Из допустимости x следует
n
a x
j
j
b.
j 1
Значение целевой функции задачи, достигаемое на плане x, можно выразить как
f ( x)
n
c x .
j
j 1
При этом с учетом того, что
j
j 1.. n
a0, j () c j c() a j () 0
и,
соответственно, c j c() a j (), получаем
m
c
x
c
(
)
a
(
)
j j
ij
i
xj
j 1
j 1 i 1
n
n
m
n
i 1
j 1
aij () x j ci ().
(T1.1)
Обоснование симплекс-метода
Т1/2
n
Выражения
a () x
ij
j
представляют собой ничто иное, как «левые» части
j 1
ограничений задачи, преобразованные относительно текущего базиса , а, поскольку
план x является допустимым, то для i :
n
a () x
ij
j
bi ().
j 1
Подставив (T1.1) в (T1.2) получаем, что для произвольного x D
m
f (x) bi () ci () f (x* ()),
i 1
что и означает оптимальность x * ().
(T1.2)
Обоснование симплекс-метода
Т2/1
Теорема 2. В симплекс-алгоритме очередной план x(( q 1) ), получаемый на
основе допустимого базисного плана
допустимым.
x( ( q ) ),
всегда является
Базисный план x ( ( q 1) ) , получаемый на очередной итерации q 1 , связан с
предшествующим ему планом x( ( q ) ) соотношениями
xN (( q ) ) (( q1) ) xN (( q ) ) (( q ) ) ail (( q ) ) äëÿ i 1.. m ( j N (( q ) )),
i
xl (( q1) ) ,
i
x j (( q1) ) 0
äëÿ j {N (( q ) ) l},
(T2.1)
где x N (
i
(q)
(q)
(
)
b
(
) для i 1.. m.
(q)
i
)
Обоснование симплекс-метода
Т2/2
Тогда
m
i 1
n
a
i 1
( q 1)
j
m
m
m
( q 1)
l
( q 1)
( q ) a x (
A
x
(
)
)
a
x
(
)
a
x
(
) (q) )
j
l
N i ( ( q ) )
x
(
из
допустимости
плана
a
b ( j )1 b следует
i 1
( q 1)
N i ( ( q ) )
i
Ni (
(q)
)
N i ( ( q ) )
(q)
(q)
l
a
[
b
(
)
a
(
)]
a
1
..m) являются
N
(
)
l
i
il
вектора
a
(i
ail ( )
i1 a так как
N i ( ( q ) )
(q)
m
i
единичными
(вa базисе
bi ( ) )
Ni (
(q)
)
( q )( q )
i 1
m
a
N i ( ( q ) )
ail (( q ) ) al
i 1
b al al b.
?
( q)
?
Обоснование симплекс-метода
Т2/3
Таким образом, при формировании x ( ( q 1) ) согласно правилам (T2.1) при он
будет удовлетворять первой группе ограничений КЗЛП ( Ax b).
Если выбирается согласно правилам определения выводимого столбца: r
для i {1.. m | ail ( ( q ) ) 0} в силу неотрицательности r имеем
x N (( q ) ) ( ( q 1) ) x N (( q ) ) ( ( q ) ) ail ( ( q ) ) 0.
i
i
Для i {1.. m | ail ( ( q ) ) 0} также будет выполняться условие
x N (( q ) ) (( q1) ) bi (( q ) ) r ail (( q ) )
i
(q)
b
(
)
(q)
(q)
i
bi ( ) min
{
}
a
(
) 0.
il
(q)
(q)
i:ail ( ) 0 a ( )
il
Остальные компоненты x ( ( q 1) ) ( j N ( ( q ) )) — неотрицательны по определению,
т.е. план x(( q1) ) 0, что и означает его допустимость.
Обоснование симплекс-метода
Т3/1
Теорема 3. В случае невырожденности ЗЛП при переходе к очередному
базисному плану x ( ( q 1) ) происходит «улучшение» (возрастание)
значения целевой функции: f (x(( q 1) )) f (x(( q ) )).
С учетом (T2.1) значение целевой функции в x ( ( q 1) ) может быть представлено
как
f (x(
( q 1)
m
)) cN (( q ) ) xN (( q ) ) (( q1) ) cl xl (( q1) )
i 1
i
i
Таким образом, еслиm a0,l (( q ) ) 0( q ) (cтолбец l ( q )имеет отрицательную оценку), то
cN ( ) [bi ( ) r ail ( )] cl r
1
f (x(( q 1) )) f (x(( q ) )). i
m
m
(q)
c N ( ) bi ( ) r c N ( ) ail ( ( q ) ) cl
i 1
i 1
f (x(( q ) )) r a0l (( q ) ).
i
i
(q)
(q)
i
(q)
(T3.1)
Обоснование симплекс-метода
Т4/1
Теорема 4. Если для текущего базисного плана x ( ( q ) ) существует такое l , что
a0,l (( q ) ) 0 и a l ( ( q ) ) 0, то целевая функция задачи не ограничена
сверху.
В ходе доказательства теоремы 2 было показано, что базисный план x(( q 1) ),
получаемый на очередной итерации q 1, если a l ( ( q ) ) 0, при любом 0 всегда
является допустимым.
Используя (T3.1), значение целевой функции для плана x ( ( q 1) ) можно выразить
как
f (x(( q 1) )) f (x( ( q ) )) a0 l ( ( q ) ).
Тогда, с учетом того, что
a0 l ( ( q ) ) 0,
устремив ,
мы получаем
неограниченное возрастание целевой функции на множестве допустимых планов.
Сходимость симплекс-метода и проблема
вырожденности
1
Рассмотрим пример
f (x)
x1
x2
max,
D {x R |
x1
2 x2
8,
3x1
2 x2
12 ,
3x1
x2
3,
2
x 0}.
Сходимость симплекс-метода и проблема
вырожденности
2
T (1 )
T (2)
0
-1
-1
0
0
0
3
8
1
2
1
0
0
8
4
12
3
2
0
1
0
4
5
3
3
-1
0
0
1
1
1
0
-4/3
0
0
1/3
3
7
0
7/3
1
0
-1/3
3
4
9
0
3
0
1
-1
3
1
1
1
-1/3
0
0
1/3
—
Сходимость симплекс-метода и проблема
вырожденности
3
T ( 3)
5
0
0
4/7
0
1/7
2
3x 2
0
1
3/7
0
-1/7
4
0
0
0
-9/7
1
-4/7
1
2
1
0
1/7
0
2/7
(1)
f (1, 1)
существование вырожденного базисного плана в ЗЛП означает, что через угловую
точку множества D , соответствующую данному плану, проходит более чем m
x * ( 2т.е.
,3) одно или несколько
гиперплоскостей, определяемых ограничениями задачи,
D
ограничений в данной точке являются избыточными.
x1
(2)
(3)
Сходимость симплекс-метода и проблема
вырожденности
4
a
a
j1
b()
b
j2
Сходимость симплекс-метода и проблема
вырожденности
5
() Базовая идея: переход к
«возмущённой» задаче
( D(), f )
( D, f )
n
j 1
a xj b
j
n
a
j
^j
b ()
j 1
где — некоторый достаточно малый положительный параметр
( ^ j — j -я степень числа )
(В.1)
Сходимость симплекс-метода и проблема
вырожденности
6
() Теорема Чарнса
существует такое 0, что для ]0, [ задача ( D(), f ), полученная в
результате преобразования (В.1), будет невырожденной;
существует такое 0, что для ]0, [ из допустимости базиса в задаче
( D(), f ) будет следовать его допустимость в исходной задаче (а из
оптимальности — оптимальность).
Альтернативные оптимальные планы
1
Рассмотрим пример
f (x)
8 x1
10 x2
max,
D {x R |
4 x1
5 x2
20,
2 x1
3 x2 ,
6,
2
x 0}.
Альтернативные оптимальные планы
1
x (0, 4)
x2
2
x (45 / 11, 8 / 11)
1
x
(1)
f ( x ) c
D
2
x
x1
( 2)
2
Альтернативные оптимальные планы
0
-8
-10
0
3
0
s
20
4
5
1
s
0
4
i 1
40
0
0
2i 1
0
1
2
4
4/5
1
1/5
0
4
18
22/5
0
3/5
1
i
2
x 4 6i x , где
i-3 0, 0 i1 1—
T (1)
T
(2)
*
3
x̂
/ 112
1 40
02 045 / 112 45
0
x x (1 )x
x̂
2
8/11
0
1 36 /1/11
-2/11
T
11
8 / 11
1
45/11
1
0
3/22
5/22
*
( 3)
Модифицированный симплекс-метод
(q)
1
( q 1)
A( ) A(
(q)
1
( q 1)
)
A( ) ( ) A
(q)
1
(q)
1
( ) (
(q)
( q 1)
)
Модифицированный симплекс-метод
a 0 ( )
(q)
a l ((q ) )
2
Модифицированный симплекс-метод, пример
10 (0(1) ) 0
0 (( q ) )
b0 ( ( q ) )
4
3
0
0
1
7 5 1 0
((1) ) 1 ((1) ) 0
1 2 0 1
0
4 x1 3 x2
(1)
a
(
)
4 0 3 0 0
7 x1 5 x2 x3
x1 2 x2
x4
a 0 (( q ) )
x1 0, x2 0, x3 0, x4 0.
A
0 1 0 0 4 4
(q )
l
a
(q
)
1
(
q
)
7 5
N (3
) 35 0 (1 0) 7
a l ((q ) )
(q )
4 b( 8) 0
0 1 1 1 8
1
0 0
1 0
0 1
max,
35,
8,
Модифицированный симплекс-метод, пример
T1
2
–1
0
0
4
3
0
0
–1
4/7
0
7
5
1
0
–1
5/9
1/9
1
2
0
1
–4
–3
0
0
0
–1/7
4/7
0
0
0
5/9
1/9
Модифицированный симплекс-метод, пример
T2( 2 )
T2( 3)
3
20
–1
4/7
0
3
–1/7
1
5
0
1/7
0
5
5/7
7
4
3
0
–1/7
1
2
9/7
7/3
61/3
–1
5/9
1/9
1
10/3
0
2/9
–5/9
2
7/3
0
–1/9
7/9
Модифицированный симплекс-метод,
мультипликативная форма
(
1
( q 1)
)E
(q)
3
( )
1
(q)
r-й столбец:
a1l ( ( q ) )
a ( ( q ) )
rl ( q )
a2 l ( )
a ( ( q ) ) Мультипликативная форма
rl
( q 1)
( q 2)
(1)
1
(1)
. 1 ( q )
(
)
E
E
E
(
)
1
(q)
arl ( )
a ( ( q ) )
ml ( q )
arl ( )