Transcript В.1

Математические методы исследования
операций
глава 2.
Линейное программирование
(часть 1)
Курс для студентов
экономико-математических
специальностей
Линейное программирование
1

Определение задачи ЛП

КЗЛП и построение канонической формы

Первая геометрическая интерпретация и
графический метод решения

Основные теоремы ЛП

Вторая геометрическая интерпретация и
базисные планы

Теоремы о базисных планах
Линейное программирование

Симплекс-метод, алгоритм

Симплекс-метод, обоснование

Метод минимизации невязок

Проблема вырожденности

Альтернативные оптимальные планы

Модифицированный симплекс-метод
2
Общая задача линейного программирования
Общая задача линейного программирования (ОЗЛП)
f (x)  c1 x1
 c2 x2

 cl xl
 cl1 xl1
 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
nm 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
*
xD
*
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}.
(!) без ограничения общности
mn
mn
Аx = b
несовместна
существуют
линейно-зависимые
ограничения
1
Вторая геометрическая интерпретация ЗЛП
a x1  a x2  a x j   a xn  b
1
xR
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,
x0
}.
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 (( q1) )  { 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 04 03  00 0  0 4  3 0 0
0 0
  35 .

1 00 17 05 35
1
0

7
5
1
0
   
 

0 01 0 1 12  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 x1 a1n 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 ) ) (( q1) )  xN (( q ) ) (( q ) )    ail (( q ) ) äëÿ i  1.. m ( j  N (( q ) )),
i
xl (( q1) )  ,
i
x j (( q1) )  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 ( ) 
i1 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 ) ) (( q1) )  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(( q1) )  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 ) ) (( q1) )  cl  xl (( q1) ) 
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̂
/ 112
 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 ( ) 