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