Симплекс-метод и двойств (презентация)

advertisement
§ 1.4. Специальные виды задач ЛП
Стандартная задача
максимизации
минимизации
max z  max(c1x1   cn xn ),
min z  min(c1x1   cn xn ),
ai 1x1 
 ain xn  bi , i  1, m,
x j  0, j  1, n.
ai 1x1 
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Матричная форма записи
min z  min CX
max z  max CX
AX  B
AX  B
X 0
X 0
Обозначения
T
B   b1, b2 , , bm  X   x1, x2 , , xn T
C   c1, c2 , , cn 
Amn  aij 
1
Каноническая задача
максимизации
max z  max(c1x1 
ai 1x1 
 cn xn ),
 ain xn  bi , i  1, m,
x j  0, j  1, n.
минимизации
min z  min(c1x1   cn xn ),
ai 1x1 
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Матричная форма записи
max z  max CX
AX  B
X 0
min z  min CX
AX  B
X 0
2
Эквивалентные преобразования
• Нахождение
максимума
линейной
функции
эквивалентно нахождению минимума этой функции,
взятой с противоположным знаком, и наоборот:
min z   max(  z ),
max z   min(  z ).
• Если на переменную не накладывается условие
неотрицательности, то ее можно заменить разностью
двух неотрицательных переменных:
x j  x j  x j ,
x j  0, x j  0.
3
• Если имеется n переменных без ограничения на
знак, то их можно заменить n+1 неотрицательной
переменной:
x j  x j  x0 ,
x j  0, j  1, n, x0  0.
• Ограничение типа неравенства можно представить
в виде равенства, используя слабые переменные,
следующим образом:
ai 1x1 
 ain xn  bi  ai 1x1 
ain xn  si  bi , si  0, i  1, m,
ai 1x1 
 ain xn  bi  ai 1x1 
ain xn  si  bi , si  0, i  1, m
4
• Ограничение типа равенства можно заменить
двумя неравенствами:
ai 1x1 
ai 1x1 
 ain xn  bi  
ai 1x1 
 ain xn  bi ,
 ain xn  bi .
• Если имеется m равенств, то их можно заменить
m+1 неравенством:
ai 1x1 
 ain xn  bi , i  1, m 
ai 1x1   ain xn  bi , i  1, m,
m
m

 (ai 1x1   ain xn )   bi .
 i 1
i 1
Знак неравенства можно заменить на противоположный,
умножив данное неравенство на (-1)!
5
Пример 1.4.1. Представить задачу ЛП в стандартной и канонической формах максимизации:
min z  min(2 x1  3 x2 ),
x1  x2  10,
2 x1  3 x2  5,
7 x 14 x2  6,
x2  0.
каноническая задача максимизации:
x1  x1  x1
x1 , x1  0
max(  z )  max( 2 x1  2 x1  3 x2 ),
x1  x1  x2  10,
2 x1  2 x1  3 x2  s1  5,
7 x1  7 x1  4 x2  s2  6.
x1  0, x1  0, x2  0, s1  0, s2  0
6
min z  min(2 x1  3 x2 ),
x1  x2  10,
2 x1  3 x2  5,
7 x 14 x2  6,
x2  0.
стандартная задача
максимизации:
x1  x1  x1
x1 , x1  0
max(  z )  max( 2 x1  2 x1  3 x2 ),
x1  x1  x2  10,
 x1  x1  x2  10,
2 x1  2 x1  3 x2  5,
7 x1  7 x1  4 x2  6,
x1  0, x1  0, x2  0.
7
§ 1.5. Базисное решение системы линейных
уравнений
max z  max CX
AX  B, X  0.
Будем считать, что СЛУ AX = B совместна (имеет решение), следовательно выполнено условие:
rang ( A)  rang ( A, B )
a11x1   a1 j x j   a1n xn  b1,

a21x1   a2 j x j   a2 n xn  b2 ,


a x   a x   a x  b .
mj j
mn n
m
 m1 1
rang ( A)  rang ( A, B )  n
1. Решение единственно:
2. Бескон. множество решений: rang ( A)  rang ( A, B )  n
8
Базисным
решением
СЛУ,
зависящим
от
множества индексов S  1, , m , будем называть решение
СЛУ, которое находится по правилам:
• привести данную систему, используя метод Гаусса, к диагональной форме по переменным x1, , xm ( базисные
переменные)  x
 a1m 1xm 1   a1n xn  b1,
1

 a 2m 1xm 1   a 2n xn  b 2 ,
 x2



xm  a mm 1xm 1   a mn xn  b m .

переменные xm1, , xn называются небазисными,

возьмем xm1  0, , xn  0,
  X  (b1, b2, bm ,0...,0)
x

b
,
x

b
,
x

b
1
2
m
2
m
получим 1

Базисное решение
9
Замечание 1.5.1.
Базисное решение не может содержать более чем m
отличных от нуля элементов.
Замечание 1.5.2.
Если базисное решение содержит ровно m отличных от
нуля компонент, то оно называется невырожденным
базисным
решением.
В
противном
случае
–
вырожденным базисным решением.
Замечание 1.5.3.
Если
все
компоненты
базисного
решения
неотрицательные, то такое базисное решение называется
допустимым базисным решением.
Замечание 1.5.4.
Количество базисных решений СЛУ не может превышать
n!
величину
Cm 
.
n
m !  n  m !
10
Пример 1.5.1. Найдем все базисные решения
системы ЛУ:
 x1  x2  2 x3  2

 x1  2 x2  x3  1
S  1, 2
S  1, 3
S  2, 3
Максимальное количество базисных решений :
 3 x3  5
 x1

x 2  x3  3

 3 x2  4
 x1

x3  x 2  3

3!
C 
3
2!(3  2)!
2
3
x1  5, x2  3, x3  0
доп. невырожд. баз. решение
x1  4, x2  0, x3  3
недоп. невырожд. баз. решение
4
5
 1 3 x1  x2  4 3
x

0,
x

,
x

1
2
3

3
3
 1 3 x1  x3  5 3 доп. невырожд. баз. решение
11
§ 1.6. Алгоритм симплекс-метода
решения задачи ЛП
Утверждение 1.6.1.
Если у системы линейных уравнений существует
решение, то существует и базисное решение этой
системы ЛУ.
Утверждение 1.6.2.
Если задача ЛП имеет допустимое решение, то
она имеет и допустимое базисное решение.
Утверждение 1.6.3.
Если задача ЛП имеет оптимальное решение, то
она имеет и оптимальное базисное решение.
12
Перейдем к описанию формального алгоритма
симплекс-метода
для
канонической
задачи
максимизации:
max z  max (с1x1 
ai 1x1 
 сn xn ),
 ain xn  bi , i  1, m,
x j  0, j  1, n.
Выполним ряд вспомогательных построений. По задаче
ЛП запишем СЛУ, рассматривая целевую функцию как
одно из ограничений (z-уравнение):
z  c1x1   cn xn  0,

ai 1x1   ain xn  bi , i  1, m.
17
z  c1x1   cn xn  0,

ai 1x1   ai n xn  bi , i  1, m.
Приведем данную систему к диагональной форме
по переменным z,x1, , xm
z

 x1






x2
 cm 1xm 1 
 cn xn  z 0 ,
 a1 m 1xm 1 
 a1 n xn  b1,
 a2 m 1xm 1 
 a2 n xn  b2 ,
xm  am m 1xm 1 
 am n xn  bm .
18
Симплексная таблица представляет собой таблицу
коэффициентов диагональной формы СЛУ, построенной
для канонической задачи максимизации.
z x1
xr
x m xm 1
z z0 0
0
0
x1 b1 1
0
xr
0
xm b 0
m
br
cm 1
xs
xn
cs
cn
0 a1 m 1
a1s
a1 n
1
0 ar m 1
ar s
ar n
0
1 am m 1
am s
am n
19
Классификация симплексных таблиц:
 симплексная таблица называется прямо-допустимой,
если
bi  0, i  1, m ,
 симплексная таблица называется двойств.-допустимой, если
c j  0, j  1, n ,
 симплексная таблица называется оптимальной, если
она одновременно прямо- и двойственно допустимая,
соответствует оптимальному базисному решению.
20
Алгоритм прямого симплекс-метода
(максимизация)
0. Проверка прямо-допустимости.
bi  0
ИТЕРАЦИЯ
1. Проверка оптимальности или нахождение
ведущего столбца СТ.
• Если все c j  0, то текущее базисное решение
является оптимальным.
• В противном случае в базис вводим переменную
номер которой находится по правилу:
xs
cs  min c j
cj  0
Столбец s называется ведущим столбцом СТ.
21
2. Проверка неограниченности
ведущей строки СТ.
или нахождение
• Если в ведущем столбце все коэффициенты
ai s  0, i  1, m,
то решение задачи неограниченно.
• В противном случае следует выводить из базиса
переменную, для которой:
br
bi
 min
ar s ai s  0 ai s
Строка с номером r называется ведущей строкой СТ,
ar s  0  ведущим элементом СТ.
3. Преобразование СТ.
ar s  1, ai s  0, cs  0
22
Ведущий столбец
xr
x m xm 1
z z0 0
0
0
x1 b1 1
0
xr
0
xm b 0
m
br
cm 1
xs
xn
cs
cn
0 a1 m 1
a1s
a1 n
1
0 ar m 1
ar s
ar n
0
1 am m 1
am s
am n
Ведущая строка
z x1
23
Пример 1.6.2. Решим задачу из примера 3.4.1 с
помощью СТ:
max z  max(5 x1  3 x2 ),
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
Приведем к каноническому виду и составим
диагональную форму для СЛУ
z
x
 0,
z  5 x1  3 x2

z
x

x

s

4,

1
2
1

s1
5
x

2
x

s

10,
1
2
2

s2
 x1, x2, s1, s2  0.
1
x2
s1 s2
0
-5
-3
0
0
4
1
1
1
0
10
5
2
0
1
24
Итерация 1.
Итерация 2.
z
x1
x2
s1 s2
z
0
-5
-3
0
0
s1
4
1
1
1
0
s2
10
5
2
0
1
z
x1
x2
s1 s2
z
10
0
-1
0
1
s1
x1
2
2
0
1
3/5
2/5
1
0
-1/5
1/5
Итерация 3.
Оптимальное решение
z
x1
x2
s1
s2
40/3
0
0
5/3
2/3
x2 10/3
0
1
5/3
-1/3
x1 2/3
1
0
-2/3
1/3
z
x1  2 / 3,
x2  10 / 3,
z   40 / 3.
25
Геометрическая интерпретация расчетов
по симплекс-методу:
max z  max(5 x1  3 x2 ),
x2
x1  x2  4,
C
4
5 x1  2 x2  10,
x1  0, x2  0.
1-ое базисное решение
B
О:
x1  0, x2  0
А:
x1  2, x2  0
2-ое базисное решение
grad z   5,3 
3-ье базисное решение
O

A
2
x1
В:
x1  2 3 x2  10 3
26
§ 1.7. Прямая и двойственная задачи ЛП.
Прямая задача
 cn xn ) min w  min(b1y1 
max z  max(c1x1 
ai 1x1 
ai 1x1 
Двойственная задача
 ai n xn  bi
 ai n xn  bi
i  1, m1
yi  0
i  m1  1, m
yi  R
 bm y m )
1
xj  0
j  1, n1
a1 j y1 
 am j y m  c j
x j  R1
j  n1  1, n
a1 j y1 
 am j y m  c j
X   x1, x2, , xn   R
T
n
Y   y1, y 2, , y m   R m
Пример 1.7.1. Запишем двойственную задачу к задаче:
max z  3 x1  2x2  x3 ,
1x1  1x2  1x3  5, 1 
2 x1  1x2  3 x3  6,  2 
x1  0,
x2  R,
x3  R.
minw  5y1  6y 2 ,
y1  0,
y 2  R,
y1  2y 2  3,
y1  y 2  2,
y1  3y 2  1.
28
Прямая задача
Частные случаи
Двойственная задача
max z  max CX
AX  B, X  0
min w  minYB
YA  C, Y  0
max z  max CX
AX  B, X  0
min w  minYB
YA  C
min z  minCX
AX  B, X  0
max w  max YB
YA  C
min z  minCX
AX  B, X  0
max w  max YB
YA  C, Y  0
min z  min CX
max w  max YB
YA  C, Y  0
AX  B
29
Экономическая интерпретация пары
стандартных двойственных задач ЛП:
max z  max(c1x1 
ai 1x1 
 cn xn ), min w  min(b1y1 
 ai n xn  bi , i  1, m,
ai j
– прибыль, приходящаяся на единицу продукции,
– запас ресурса,
– расход ресурса на единицу продукции,
Оптимальный план производства

X  x ,x ,
*
*
1
 am j y m  c j , j  1, n,
y i  0, i  1, m.
x j  0, j  1, n.
c j , j  1, n
bi , i  1, m
a1 j y1 
 bm y m ),
*
2
*
n

x ,
максимизирующий суммарную
прибыль при ограничении на
запасы ресурсов.
Оптимальные цены ресурсов

Y *  y1* , y 2* ,

y m* ,
минимизирующие суммарные
затраты при ограничении на
стоимость продукции.
30
Теоремы двойственности и равновесия
в линейном программировании
min w  minYB
max z  max CX
AX  B, X  0
YA  C, Y  0
1.7.1
1.7.2 
Стандартная пара
двойственных задач
Лемма 1.7.1. (Свойство допустимых решений)
Пусть X и Y – произвольные допустимые
решения задач (1.7.1) и (1.7.2) .
Док-во:
умножим
тогда
Тогда
CX  YB
умножим AX  B на Y слева: YAX  YB,
YA  C
на X справа: CX  YAX
CX  YAX  YB  CX  YB.
31
Лемма 1.7.2. (Достаточное условие оптимальности)
Пусть X* и Y* – произвольные допустимые решения
задач (1.7.1) и (1.7.2), для которых выполнено
равенство
CX *  Y *B.
Тогда X* и Y* – оптимальные решения задач ЛП.
Доказательство:
X и Y – произвольные допустимые решения, тогда
для любого X , выполнено CX  YB
возьмем X* :
CX *  YB,
но CX *  Y *B  Y *B  YB,
следовательно, Y * – оптимальное решение.
Теорема 1.7.1. (Двойственности).
• Если обе задачи ЛП (и прямая, и двойственная) имеют
допустимые решения, то обе задачи имеют оптимальные
решения X* и Y* , причем
 
 
CX   Y B, т.е. z X   w Y 
• Если хотя бы одна из задач ЛП (прямая или двойств.)
не имеет допустимого решения, то обе задачи ЛП не
имеют оптимальных решений.
Замечание 1.7.1.
Теорема двойственности справедлива для любой
пары двойственных задач.
33
Иллюстрация теоремы
min w  min(4 y1  2y 2 ),
*

y
y1  y 2  1,
1  2
 *
y1  2,
y 2  0
 *
y1  0, y 2  0.
w  8
max z  max( x1  2 x2 ),
x1  x2  4,
x1  2,
x1  0, x2  0.
4
 x1*  0
 *
 x2  4
 *
z  8
1
2
4
1

2
34
Теорема1.7.1. (Критерий оптимальности)
Для того чтобы пара допустимых решений X* и Y*
задач (1.7.1) и (1.7.2) была парой оптимальных решений
соответствующих задач, необходимо и достаточно, чтобы
CX   Y B
Теорема 1.7.2. (Стандартная теорема
равновесия)
Для того чтобы пара допустимых решений X* и Y*
задач (1.7.1) и (1.7.2) была парой оптимальных решений
соответствующих задач, необходимо и достаточно, чтобы
Y  (B  AX  )  0,
 

(Y A  C ) X  0.
35
Следствие. (Критерий оптимальности для
стандартной задачи ЛП).
Для того чтобы пара допустимых решений


1

n
X  (x , , x )



и
Y  ( y1 , , y m )
задач (1.7.1) и (1.7.2) была парой оптимальных решений , необх. и дост., чтобы выполнялись соотношения:
1.

xj
0

a1 j y1

2.

a1 j y1
3.
y i  0  ai 1x1 

4. ai 1x1 

 am j y m

 am j y m
 cj 

xj
 cj,
 0,
 ai n xn  bi ,
 ai n xn  bi  y i  0.
36
Пример 1.7.1.
Прямая задача
max z  max(5 x1  3 x2 ),
x1  x2  4,
5 x1  2 x2  10,
x1  0, x2  0.
Оптимальное решение
z  40 / 3,
x1  2 / 3, x2  10 / 3.
Двойственная задача
min w  min(4 y1  10 y 2 ),
y1  5 y 2  5,
y1  2y 2  3,
y1  0, y 2  0.
Критерий оптимальности
x1  0  y1  5 y 2  5,
x2  0  y1  2y 2  3.
Оптимальное решение
y1  5 / 3, y 2  2 / 3, w   40 / 3.
37
Пример 1.7.2.
Прямая задача
min z  min(4 x1  x2 ),
3 x1  x2  3,
4 x1  3 x2  6,
 x1  2 x2  4,
x1  0, x2  0.
Оптимальное
решение
z  17 / 5
 x1  2 / 5
 
 x2  9 / 5
Двойственная задача
max z  max(3 y1  6 y 2  4 y 3 ),
3 y1  4 y 2  y 3  4,
y1  3 y 2  2y 3  1,
y 2  0, y 3  0.
Критерий оптимальности
x1  0
 3 y1  4 y 2  y 3  4,
x2  0
 y1  3y 2  2y 3  1,
4 x1  3 x2  6
 y 2*  0.
 y1  7 5
Оптимальное 
 
решение
 y3  1 5
 *
 y 2  0 38
max z  max CX
min w  minYB
Каноническая пара
AX  B, X  0
YA  C
двойственных задач
(1.7.4)
(1.7.3)
Теорема 1.7.4. (Канон. теорема равновесия)
Для того чтобы пара допустимых решений X* и
Y* задач (1.7.3) и (1.7.4) была парой оптимальных
решений соответствующих задач, необх. и дост., чтобы
(Y A  C )X   0.
Следствие. (Критерий оптимальности)
Для того чтобы пара допустимых решений X* и
Y* задач (1.7.3) и (1.7.4) была парой оптимальных
решений соответствующих задач, необх. и дост., чтобы
1.
x j  0  a1 j y1 
2. a1 j y1 

 am j y m
 cj,

 am j y m
 c j  x j  0.
39
Download