Transcript x 1

Приложно математично програмиране
ЛЕКЦИЯ 2
Линейно програмиране
Prof. Boyan Bonev Ivanov, Ph.D.
Email: [email protected]
Institute of Chemical Engineering-BAS
Лекции
Лекция 1
Въведение в математичното програмиране
Лекция 2
Линейно програмиране
Лекция 3
Оптимизация при целеви функции с един управляващ
параметър
Лекция 4
Нелинейно програмиране – Градиентни методи
Лекция 5
Нелинейно програмиране – Директни методи
Лекция 6
Нелинейно програмиране – Методи с ограничения
Лекция 7
Методи за булева и дискретна оптимизация
Лекция 8
Методи за глобална оптимизация
Лекция 9
Методи за многоцелева оптимизация
Въведение в линейното
програмиране
План на лекцията
• История на линейното програмиране
• Примери за задачи от линейното
програмиране
• Графическа интерпретация на задачи от
линейното програмиране
• Стандартна форма на записване
• Основни понятия използувани в
линейното програмиране
4
Основоположник на линейното
програмиране
• George Dantzig
– Junior Statistician U.S.
Bureau of Labor Statistics
(1937-39)
– Head of USAF Combat
Analysis Branch (1941-46)
– PhD Mathematics, Cal Berkeley (1946)
– Invented “Simplex” method for solving
linear programs (1947)
5
Примери за LP
Разпределение на запасите на суровини. За
произвеждане на 3 вида продукти са необходими суровини
от 4 вида. Нека aij е разходния коефициент на j-тата
суровина за произвеждане на i-тия продукт. Наличните
запаси от суровина са bj , а цената на всеки продукт е ci
Разходните коефициенти, запасите от суровини и цените
на продуктите
са дадени
в таблицата.
Продукт
Суровина 1
Суровина 2
Суровина 3
Суровина 4
Цена на
продукта
Продукт 1
a11
a12
a13
a14
С1
Продукт 2
a21
a22
a23
a24
С1
Продукт 3
a31
a32
a33
a34
С1
Запаси от суровини
B1
B2
B3
B4
Примери за LP
Задачата е да се определи колко продукт от трите вида може да се произведе
при наличните запаси от суровини, така че да се получи максимална печалба.
f  MIN(c1 x1  c2 x2  c3 x3  c4 x4 )
x1  0, x2  0, x3  0
a11 x1  a21 x2  a31 x3  a41 x4  b1
a12 x1  a22 x2  a32 x3  a42 x4  b2
a13 x1  a23 x2  a33 x3  a43 x4  b3
a14 x1  a24 x2  a34 x3  a44 x4  b4
Примери за LP
Задача за съставяне на оптимални смеси. Разполага се с n вида
продукти за хранене xi (i=1,…n) съответно с цени ci (i=1,…n) . Задачата е да се
състави оптимална хранителна смес с минимална цена. Хранителната смес
трябва да отговаря на определени изисквания за съставките
(белтъчни,въглехидрати, мазнини и др.) bj (j=1,…m). Нека съдържанието на jтата съставка в i-тия продукт е aij. Задачата е да се определят количествата
от отделните продукти така, че цената на получената смес да бъде
минимална.
n
f  MIN ( ci xi )
i 1
xi  0, i  1,2,...,n
n
a x
i 1
ij i
 b j , j  1,2,...,m
LP Стандартна форма
Max Z = c1x1 + c2x2 + … + cnxn
Subject to (s.t.)
a11x1 + a12x2 + … + a1nxn  b1
a21x1 + a22x2 + … + a2nxn  b2
…
am1x1 + am2x2 + … + amnxn  bm
x1  0, x2  0, …, xn  0
9
LP Стандартна форма
n
Max Z =

cj xj
j =1
Subject to (s.t.)
n
 aij xj
j =1
 bj
i = 1, … , m
xj  0 j = 1, … , m
10
Основни положения от LP
• Линейна целева функция, ограничения
– Пропорционалност
– Адитивност
• Делимост
– Непрекъснатост на променливите
• Сигурност
– Определени параметри
11
Решение в граничните точки
X
Решение във вътрешна точка
• Възможно ли е? ДА
• Оптимално ли е? НИКОГА
12
LP Специални случаи
• Алтернативни оптимуми
• Невъзможни проблеми
• Безкрайни проблеми
13
Алтернативни оптимуми
14
Безкрайни проблеми
15
Невъзможни проблеми
16
LP Понятия
•
•
•
•
•
•
•
•
Независими променливи
Целева функция
Ограничения
Възможни решения
Възможни области
Гранични точки на решението
Оптимално решение
Оптималност на границата
17
Метод на линейното програмиране
План на лекцията
• Основи на симплексния метод
• Симплексен метод за решаване
задачата за максимум
• Теория на симплексния метод
• Симплексен метод за други проблеми
19
Пример за задача на LP
Product Mix LP. A potter produces two products, a pitcher
and a bowl. It takes about 1 hour to produce a bowl and
requires 4 pounds of clay. A pitcher takes about 2 hours and
consumes 3 pounds of clay. The profit on a bowl is $40 and
$50 on a pitcher. She works 40 hours weekly, has 120
pounds of clay available each week, and wants more profits.
Max Z = 40x + 50y
s.t.
1x + 2y  40
4x + 3y  120
x, y  0
Печалба
времетраене
глина
не отрицателност
20
Стандартна форма на
представяне
Изходна задача
Max Z = 40x1 + 50x2
s.t.
1x1 + 2x2  40
4x1 + 3x2  120
x1 , x2  0
x1 , x2 - свободни управляващи променливи
21
Геометрично представяне
Преобразуване на ограниченията от неравенства
в равенства чрез въвеждане на базисни
променливи
Z=2000
x
2
Z=1360
40
s.t.
1x1 + 2x2 + s1 = 40
4x1 + 3x2 + s2 = 120
Z=1000
Z=0
Max Z = 40x1 + 50x2
20
s1 , s2- базисни променливи
30
40
x1
22
Стандартна форма на
представяне
Решаване на уравненията на ограниченията
спрямо базисните променливи
Max Z = 40x1 + 50x2
s.t.
s1 = 40-1x1- 2x2
s2 = 120-4x1-3x2
x1 , x2 , s1 , s2  0
x1 , x2 - свободни управляващи променливи
s1 , s2- базисни променливи
23
Геометрично представяне
Намиране на начално базисно решение за
базисните променливи при x1 = 0 x2 = 0
x2
40
Z=0
Max Z = 40x1 + 50x2
s.t.
s1 = 40-1x1- 2x2
s2 = 120-4x1-3x2
x1 , x2 , s1 , s2  0
x1 = 0
x2 = 0
s1 = 40
s2 = 120
20
Z =0
30
40
x1
24
Геометрично представяне
Проверка за оптималност на полученото решение.Ако в z има +
коефициенти, то полученото решение може да се подобри. Избира
се най-големия положителен член (40 или 50) >> 50 и се променя
променливата пред този коефициент за случая x2
Max Z = 40x1 + 50x2
x2
40
s.t.
X2-става базисна
променлива
s1 = 40-1x1- 2x2
s2 = 120-4x1-3x2
x1 , x2 , s1 , s2  0
x1 = 0
x2 = 0
s1 = 40
s2 = 120
20
Z =0
30
40
x1
25
Геометрично представяне
Уравненията се видоизменят, като x1=0. За да останат s1 и s2 положителни,
то x2 може да се изменя до 20.
В този случай за свободна променлива се приема s1, а за базисна x2
x2
40
Max Z = 40x1 +
S1, x1-стават свободни
променливи
S2,X2-стават базисни
променливи
s.t.
s1 = 40
s2 = 120
50x2
- 2x2
- 3x2
x1 = 0
s1 = 0
x2 = 20
s2 = 60
20
?
Z = 1,000
30
40
x1
26
Геометрично представяне
Преобразува се системата ограничения по отношение на новите базисни
променливи (x2 и s2)
В този случай за свободна променлива се приема s1, а за базисна x2
x2
40
x2 = 40/2-1/2x1- 1/2s1
s2 = 120-4x1-3x2
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
20
Z = 40x1 + 50x2
?
Z = 1000+15x1-25s1
30
40
x1
27
Геометрично представяне
Заместваме новите свободни променливи x1=0 и s1=0 и се намира новото
базисно решение Z=1000
Z = MAX(1000+15x1-25s1)
x2
40
Z=1000
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
x1,s1-свободни променливи
x2,s2-базисни променливи
x1 = 0
s1 = 0
20
x2 = 20
s2 = 60
?
Z = 1,000
30
40
x1
28
Геометрично представяне
В базисните променливи има коефициент с положителен знак, което означава,
че полученото решение може да се подобри само ако се увеличи x1
s2 -Става свободен
x2
40
Z = MAX(1000+15x1-25s1)
5/2 по голямо от 1/2
X1-Става базисен
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
s1,s2-свободни променливи
x1,x1-базисни променливи
20
?
30
40
x1
29
Геометрично представяне
В базисните променливи има коефициент с положителен знак, което означава,
че полученото решение може да се подобри само ако се увеличи x1
Решаваме уравнението спрямо x1 и
заместваме в уравнението за x2 и Z
x2
40
Z = MAX(1000+15x1-25s1)
5/2 по голямо от 1/2
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
s1,s2-свободни променливи
x1,x1-базисни променливи
20
?
30
40
x1
30
Геометрично представяне
След преобразованията получаваме редуцираната задача, която е във вида:
Z = MAX(1360-16s1-6s2)
x2
40
x1 = 8-0.8s1+0.2s2
Z=1360
x2 =24+0.6s1-0.4s2
s1,s2-свободни променливи
x1,x1-базисни променливи
s1 = 0
s2 = 0
X1=8
X2=24
20
x1 = 8
x2 = 24
Z = 1,360
30
40
x1
31
Геометрично представяне
Проверява се новото базисно решение за оптималност.
Изменението на която и да е от свободните променливи не може да доведе до
увеличаване на Z
Z = MAX(1360-16s1-6s2)
x2
40
Z=1360
Оптимално решение
x1 = 8-0.8s1+0.2s2
x2 =24+0.6s1-0.4s2
Оптимални стойности на
управляващите променливи
s1 = 0
s2 = 0
20
x1 = 8
x2 = 24
30
40
x1
Z = 1,36032
33
34
Algebraic Representation
Max Z = 40x1 + 50x2
s.t.
1x1 + 2x2 + s1
= 40
4x1 + 3x2
+ s2 = 120
• 2 equations in 4 unknowns
• Multiple solutions (4 feasible)
• Guided search to move to
optimal solution
• “Simplex Method”
35
Algebraic Representation
Max Z = 40x1 + 50x2
s.t.
1x1 + 2x2 + s1
= 40
4x1 + 3x2
+ s2 = 120
Simplex Method Tableau
Z
C1
C2
x1
-40
1
4
x2
-50
2
3
s1
0
1
0
s2
0
0
1
RHS
0
40
120
36
Simplex Method
Z
C1
C2
x1
-40
1
4
x2
-50
2
3
s1
0
1
0
s2
0
0
1
RHS
0
40
120
•
•
•
•
s1 and s2 represent “basic” variables
x1 and x2 are “non-basic” variables
Basic solutions represent corner points
Systematically change basic solution to
improve objective function …
• … while maintaining feasibility!
37
Another Simplex Example
Max Z = x1 + 2x2 + 2x3
s.t.
Z
C1
C2
C3
5x1 + 2x2
x1 + 4x2
2x1
x1 ,
+ 3x3
+ 2x3
+ 3x3
x2 , x3
x1
-1
5
1
2
x3
-2
3
2
1
x2
-2
2
4
0
 15
 12
8
0
s1
0
1
0
0
s2
0
0
1
0
s3 RHS
0
0
0 15
0 12
1
8
38
Yet Another Simplex Example
Max Z = 4,500 x1 + 4,500 x2
s.t.
x1
1
x2
1
5,000x1 + 4,000x2  6,000
400x1 + 500x2  600
Z
C1
C2
C3
C4
x1
x2
s1
-4500 -4500 0
1
0
1
0
1
0
5000 4000 0
400 500 0
s2
0
0
1
0
0
s3
0
0
0
1
0
x1 , x2  0
s4 RHS
0
0
0
1
0
1
0 6000
1 600
39
Theory of the Simplex Method
• The optimal solution of an LP must be a
corner-point feasible (CPF) solution
• If there are alternate optima, then at
least two must be adjacent CPF
solutions
• There are a finite number of CPF
solutions
• A CPF solution is optimal if there are no
other adjacent CPF solutions that are
better
40
Corner Point Solutions
X
Interior Point Solution
• Feasible? Yes
• Optimal? Never
41
Alternate Optima
42
Finite Number of CPF Solutions
 variables constraint s   m  n  (m  n)!



constraint s
m!n!

  n 
Example: m=50 constraints, n=100 decision variables
(m  n)! (50  100 )!
40

 2.01 10
m!n!
50!100!
Greater than the
number of atoms in
Universe!
43
Solving Other Types of
Linear Programs
Agenda (review)
• The Simplex Method
• Simplex Method for max problems
• Theory of the Simplex Method
• Simplex Method for other LP problems
• Unbounded and infeasible problems
• Interior point methods
45
Today’s Agenda
• Other LP Problems
–
–
–
–
–
Negative RHS’s
Equality constraints
Greater than constraints
Negative RHS’s
Minimization problems
• Other Solution
Techniques
• Extra Credit
– Two phase method
– Goal programming
• LP Solution Problems
– Unbounded solutions
– No feasible solutions
46
Finding a Feasible Solution?
Minimization Problems
Equality Constraints
X
Not Feasible!
47
Equality Constraints
Max Z = 2x1 + 3x2
s.t.
Note:
x1 = x2 = 0
is not feasible
1x1 + 2x2  4
x1 + x2 = 3
x1 , x2  0
3
How to achieve
feasibility?
2
(2,1)
X
3
4
48
Start
Big M MethodStrategy:
feasible, then drive
artificial variables
from the basis
with M
Max Z = 2x1 + 3x2
s.t.
1x1 + 2x2  4
x1 + x2 = 3
x1 , x2  0
Max Z = 2x1 + 3x2
s.t.
Add
artificial
variable a1
- M a1
M is a VERY
big number
1x1 + 2x2 + s1
=4
x1 + x2
+ a1 = 3 Note:
x1 , x2 , s1, a1  0
x1 = x2 = 0
is now feasible
49
Big M Augmented Form
Max Z = 2x1 + 3x2
s.t.
Z
C1
C2
– M a1 = 0
1x1 + 2x2 + s1
=4
x1 + x2
+ a1 = 3
x1 , x2 , s1, a1  0
x1
–2
1
1
x2
–3
2
1
s1
0
1
0
Need to
remove!
a1 RHS
M
0
0
4
1
3
50
Big M Augmented Form
Max Z = 2x1 + 3x2
s.t.
– M a1 = 0
1x1 + 2x2 + s1
=4
x1 + x2
+ a1 = 3
x1 , x2 , s1, a1  0
Need to “reduce” objective function to form basis:
2x1 + 3x2 – M a1 = 0
M (x1 + x2 ) + a1 = 3 )
___________________________
(M+2)x1 + (M+3)x2
= 3M
51
Big M Tableau
Max Z = (M+2)x1 + (M+3)x2 = 3M
s.t.
1x1 + 2x2 + s1
=4
x1 + x2
+ a1 = 3
x1 , x2 , s1, a1  0
x1
x2
Z –(M+2) –(M+3)
C1
1
2
C2
1
1
s1
0
1
0
Initial
Solution
x1 = 0
x2 = 0
s1 = 4
a1 = 3
a1 RHS
0 –3M
0
4
1
3
52
“Greater Than” Constraints
Max Z = 2x1 + 5x2 + 3x3
s.t.
1x1 – 2x2 + x3  20
2x1 + 4x2 + x3 = 50
x1 , x2 , x3  0
Subtract slack variable
to create equality
1x1 – 2x2 + x3 – s1 = 20
Add artificial variable
for equality…
1x1 – 2x2 + x3 – s1 + a1 = 50
53
“Greater-Than” Big M
Max Z = x1 + 2x2 + 2x3
s.t.
– Ma1 – Ma2 = 0
1x1 – 2x2 + x3 – s1 + a1
= 20
2x1 + 4x2 + x3 +
+ a2 = 50
x1 , x2 , x3 , s1 , a1 , a2  0
Tableau with reduced objective function:
x1
x2
x3
s1
Z -(3M+2) -(2M+5) -(2M+3) 1M
C1
1
-2
1
-1
C2
2
4
1
0
a1
0
1
0
a2
0
0
1
RHS
-70M
20
50
54
Negative Variables
xj allowed to be any value (+ or –)
Substitute
xj = xj+ – xj –
xj+ , xj –  0
55
Negative RHS’s
0.4x1 – 0.3x2  – 10
Is exactly equivalent to
Multiply by –1
– 0.4x1 + 0.3x2  10
56
Minimization Problems
Min Z = 0.4x1 + 0.3x2
Is exactly equivalent to
Multiply by –1
Max Z = – 0.4x1 – 0.3x2
57
LP Solution Problems
• Unbounded Solutions
• No Feasible Solutions
58
Unbounded Solutions
Z
C1
C2
•
•
•
•
x1
-40
1
4
x2
-50
0
0
s1
0
1
0
s2
0
0
1
RHS
0
40 40/0=
120 120/0=
Pivot cell is zero
Can bring in unlimited x2
Z increases without limit!
LP is “unbounded”
59
Unbounded LP’s
60
No Feasible Solutions
An LP is infeasible if an artificial variable
remains basic in the optimal solution
Z
C1
C2
x1
0
1
0
x2
s1 a1 RHS
M+3 M+2 0 300
2
1
0
4
1
4
1
3
61
Interior Point Solution Approach
x2
40
• Starts at feasible point
• Moves through interior of
feasible region
• Always improves
objective function
• Theoretical interest
20
30
40
x1
62
Next week…
LP Sensitivity
and Duality