prof. boyan bonev ivanov, ph.d. email: [email protected] institute of chemical engineering-bas
DESCRIPTION
Приложно математично програмиране ЛЕКЦИЯ 2 Линейно програмиране. Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS. Лекции. Лекция 1 Въведение в математичното програмиране Лекция 2 Линейно програмиране - PowerPoint PPT PresentationTRANSCRIPT
Prof. Boyan Bonev Ivanov, Ph.D.
Email: [email protected]
Institute of Chemical Engineering-BAS
Приложно математично програмиране
ЛЕКЦИЯ 2
Линейно програмиране
Лекции
Лекция 1 Въведение в математичното програмиране
Лекция 2 Линейно програмиране
Лекция 3 Оптимизация при целеви функции с един управляващ
параметър
Лекция 4 Нелинейно програмиране – Градиентни методи
Лекция 5 Нелинейно програмиране – Директни методи
Лекция 6 Нелинейно програмиране – Методи с ограничения
Лекция 7 Методи за булева и дискретна оптимизация
Лекция 8 Методи за глобална оптимизация
Лекция 9 Методи за многоцелева оптимизация
4
План на лекцията
• История на линейното програмиране
• Примери за задачи от линейното програмиране
• Графическа интерпретация на задачи от линейното програмиране
• Стандартна форма на записване
• Основни понятия използувани в линейното програмиране
5
Основоположник на линейното програмиране
• 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)
Примери за 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
Задачата е да се определи колко продукт от трите вида може да се произведе при наличните запаси от суровини, така че да се получи максимална печалба.
)( 44332211 xcxcxcxcMINf
0 ,0 ,0 321 xxx
4444334224114
3443333223113
2442332222112
1441331221111
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
Примери за LP
Задача за съставяне на оптимални смеси. Разполага се с n вида продукти за хранене xi (i=1,…n) съответно с цени ci (i=1,…n) . Задачата е да се състави оптимална хранителна смес с минимална цена. Хранителната смес трябва да отговаря на определени изисквания за съставките (белтъчни,въглехидрати, мазнини и др.) bj (j=1,…m). Нека съдържанието на j-тата съставка в i-тия продукт е aij. Задачата е да се определят количествата от отделните продукти така, че цената на получената смес да бъде минимална.
)(1
n
iii xcMINf
nixi ,...,2,1 ,0
n
ijiij mjbxa
1
,...,2,1 ,
9
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
10
Max Z = cj xj
Subject to (s.t.)
aij xj bj i = 1, … , m
xj 0 j = 1, … , m
j =1
n
j =1
n
LP Стандартна форма
11
Основни положения от LP
• Линейна целева функция, ограничения– Пропорционалност– Адитивност
• Делимост– Непрекъснатост на променливите
• Сигурност– Определени параметри
12
Решение в граничните точки
X
Решение във вътрешна точка• Възможно ли е? ДА• Оптимално ли е? НИКОГА
17
LP Понятия
• Независими променливи• Целева функция• Ограничения• Възможни решения• Възможни области• Гранични точки на решението• Оптимално решение• Оптималност на границата
19
План на лекцията
• Основи на симплексния метод
• Симплексен метод за решаване задачата за максимум
• Теория на симплексния метод
• Симплексен метод за други проблеми
20
Пример за задача на 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 не отрицателност
21
Стандартна форма на представяне
Max Z = 40x1 + 50x2
s.t.1x1 + 2x2 404x1 + 3x2 120x1 , x2 0
Изходна задача
x1 , x2 - свободни управляващи променливи
22
Геометрично представяне
x2
40
4030
20
x1
Max Z = 40x1 + 50x2
s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120
Преобразуване на ограниченията от неравенства в равенства чрез въвеждане на базисни
променливи
s1 , s2- базисни променливиZ=0
Z=1000
Z=1360
Z=2000
23
Решаване на уравненията на ограниченията спрямо базисните променливи
s1 , s2- базисни променливи
x1 , x2 - свободни управляващи променливи
Max Z = 40x1 + 50x2
s.t.s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0
Стандартна форма на представяне
24
x2
40
4030
20
x1
x1 = 0x2 = 0s1 = 40s2 = 120Z = 0
Намиране на начално базисно решение за базисните променливи при x1 = 0 x2 = 0
Max Z = 40x1 + 50x2
s.t.s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0
Z=0
Геометрично представяне
25
x2
40
4030
20
x1
x1 = 0x2 = 0s1 = 40s2 = 120Z = 0
Проверка за оптималност на полученото решение.Ако в z има + коефициенти, то полученото решение може да се подобри. Избира се най-големия положителен член (40 или 50) >> 50 и се променя променливата пред този коефициент за случая x2
Max Z = 40x1 + 50x2
s.t.s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0
X2-става базисна променлива
Геометрично представяне
26
x2
40
4030
20
x1
Max Z = 40x1 + 50x2
s.t.s1 = 40 - 2x2 s2 = 120 - 3x2
x1 = 0s1 = 0x2 = 20s2 = 60Z = 1,000
?
Уравненията се видоизменят, като x1=0. За да останат s1 и s2 положителни, то x2 може да се изменя до 20.
В този случай за свободна променлива се приема s1, а за базисна x2
S2,X2-стават базисни променливи
S1, x1-стават свободни променливи
Геометрично представяне
27
x2
40
4030
20
x1
?
Преобразува се системата ограничения по отношение на новите базисни променливи (x2 и s2)
В този случай за свободна променлива се приема s1, а за базисна x2
x2 = 40/2-1/2x1- 1/2s1
s2 = 120-4x1-3x2 s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
Z = 1000+15x1-25s1
Z = 40x1 + 50x2
Геометрично представяне
28
x2
40
4030
20
x1
?
Заместваме новите свободни променливи x1=0 и s1=0 и се намира новото базисно решение Z=1000
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
Z = MAX(1000+15x1-25s1)
x1,s1-свободни променливиx2,s2-базисни променливи
x1 = 0s1 = 0
x2 = 20s2 = 60Z = 1,000
Z=1000
Геометрично представяне
29
x2
40
4030
20
x1
?
В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
Z = MAX(1000+15x1-25s1)
s1,s2-свободни променливиx1,x1-базисни променливи
5/2 по голямо от 1/2
X1-Става базисен
s2 -Става свободен
Геометрично представяне
30
x2
40
4030
20
x1
?
В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи x1
s2 = 60-5/2x1+3/2s1
x2 = 20-1/2x1-1/2s1
Z = MAX(1000+15x1-25s1)
s1,s2-свободни променливиx1,x1-базисни променливи
5/2 по голямо от 1/2
Решаваме уравнението спрямо x1 и заместваме в уравнението за x2 и Z
Геометрично представяне
31
След преобразованията получаваме редуцираната задача, която е във вида:
x1 = 8-0.8s1+0.2s2
x2 =24+0.6s1-0.4s2
Z = MAX(1360-16s1-6s2)
s1,s2-свободни променливиx1,x1-базисни променливи
s1 = 0s2 = 0
x1 = 8x2 = 24Z = 1,360
x2
40
4030
20
x1
Z=1360
X1=8X2=24
Геометрично представяне
32
Проверява се новото базисно решение за оптималност.Изменението на която и да е от свободните променливи не може да доведе до
увеличаване на Z
x1 = 8-0.8s1+0.2s2
x2 =24+0.6s1-0.4s2
Z = MAX(1360-16s1-6s2)
s1 = 0s2 = 0
x1 = 8x2 = 24Z = 1,360
x2
40
4030
20
x1
Z=1360Оптимално решение
Оптимални стойности на управляващите променливи
Геометрично представяне
35
Algebraic Representation
• 2 equations in 4 unknowns• Multiple solutions (4 feasible)• Guided search to move to
optimal solution • “Simplex Method”
Max Z = 40x1 + 50x2
s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120
36
Algebraic Representation
x1 x2 s1 s2 RHSZ -40 -50 0 0 0
C1 1 2 1 0 40C2 4 3 0 1 120
Max Z = 40x1 + 50x2
s.t. 1x1 + 2x2 + s1 = 40 4x1 + 3x2 + s2 = 120
Simplex Method Tableau
37
Simplex Method
• 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!
x1 x2 s1 s2 RHSZ -40 -50 0 0 0
C1 1 2 1 0 40C2 4 3 0 1 120
38
Another Simplex Example
Max Z = x1 + 2x2 + 2x3
s.t. 5x1 + 2x2 + 3x3 15 x1 + 4x2 + 2x3 12
2x1 + 3x3 8x1 , x2 , x3 0
x1 x2 x3 s1 s2 s3 RHSZ -1 -2 -2 0 0 0 0
C1 5 2 3 1 0 0 15C2 1 4 2 0 1 0 12C3 2 0 1 0 0 1 8
39
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 x1 ,
x2 0 x1 x2 s1 s2 s3 s4 RHSZ -4500 -4500 0 0 0 0 0
C1 1 0 1 0 0 0 1C2 0 1 0 1 0 0 1C3 5000 4000 0 0 1 0 6000C4 400 500 0 0 0 1 600
40
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
43
Finite Number of CPF Solutions
!!
)!(
int
intvar
nm
nm
n
nm
sconstra
sconstraiables
Example: m=50 constraints, n=100 decision variables
401001.2!100!50
)!10050(
!!
)!(
nm
nm
Greater than thenumber of atoms in
Universe!
45
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
46
Today’s Agenda
• Other LP Problems– Negative RHS’s – Equality constraints– Greater than constraints– Negative RHS’s– Minimization problems
• LP Solution Problems– Unbounded solutions– No feasible solutions
• Other Solution Techniques
• Extra Credit– Two phase method– Goal programming
48
Equality Constraints
Max Z = 2x1 + 3x2
s.t.1x1 + 2x2 4 x1 + x2 = 3 x1 , x2 0
Note: x1 = x2 = 0 is not feasible
3
2
3 4
(2,1)
X
How to achieve feasibility?
49
Big M Method
Max Z = 2x1 + 3x2
s.t.1x1 + 2x2 4 x1 + x2 = 3 x1 , x2 0
Max Z = 2x1 + 3x2 - M a1
s.t.1x1 + 2x2 + s1 =
4 x1 + x2 + a1 =
3 x1 , x2 , s1, a1 0
Note: x1 = x2 = 0 is now feasible
M is a VERYbig number
Strategy: Start feasible, then drive artificial variables from the basis with M
Add artificial variable a1
50
Big M Augmented Form
Max Z = 2x1 + 3x2 – M a1 = 0s.t.
1x1 + 2x2 + s1 = 4
x1 + x2 + a1 = 3
x1 , x2 , s1, a1 0x1 x2 s1 a1 RHS
Z –2 –3 0 M 0C1 1 2 1 0 4C2 1 1 0 1 3
Need toremove!
51
Big M Augmented Form
Max Z = 2x1 + 3x2 – M a1 = 0s.t.
1x1 + 2x2 + s1 = 4
x1 + x2 + a1 = 3
x1 , x2 , s1, a1 0 2x1 + 3x2 – M a1 = 0 M (x1 + x2 ) + a1 = 3 )___________________________ (M+2)x1 + (M+3)x2 = 3M
Need to “reduce” objective function to form basis:
52
Big M Tableau
Max Z = (M+2)x1 + (M+3)x2 = 3Ms.t.
1x1 + 2x2 + s1 = 4 x1 + x2 + a1 = 3 x1 , x2 , s1, a1 0
x1 x2 s1 a1 RHSZ –(M+2) –(M+3) 0 0 –3M
C1 1 2 1 0 4C2 1 1 0 1 3
Initial Solutionx1 = 0x2 = 0s1 = 4a1 = 3
53
“Greater Than” Constraints
Max Z = 2x1 + 5x2 + 3x3
s.t.1x1 – 2x2 + x3
202x1 + 4x2 + x3 =
50 x1 , x2 , x3 0
1x1 – 2x2 + x3 – s1 = 20
1x1 – 2x2 + x3 – s1 + a1 = 50
Subtract slack variableto create equality
Add artificial variablefor equality…
54
“Greater-Than” Big M
Max Z = x1 + 2x2 + 2x3 – Ma1 – Ma2 = 0s.t. 1x1 – 2x2 + x3 – s1 + a1 = 20 2x1 + 4x2 + x3 + + a2 = 50 x1 , x2 , x3 , s1 , a1 , a2 0
x1 x2 x3 s1 a1 a2 RHSZ -(3M+2) -(2M+5) -(2M+3) 1M 0 0 -70M
C1 1 -2 1 -1 1 0 20C2 2 4 1 0 0 1 50
Tableau with reduced objective function:
57
Minimization Problems
Min Z = 0.4x1 + 0.3x2
Is exactly equivalent to
Max Z = – 0.4x1 – 0.3x2
Multiply by –1
59
x1 x2 s1 s2 RHSZ -40 -50 0 0 0
C1 1 0 1 0 40C2 4 0 0 1 120
Unbounded Solutions
• Pivot cell is zero• Can bring in unlimited x2
• Z increases without limit!• LP is “unbounded”
40/0=
120/0=
61
No Feasible Solutions
An LP is infeasible if an artificial variableremains basic in the optimal solution
x1 x2 s1 a1 RHSZ 0 M+3 M+2 0 300
C1 1 2 1 0 4C2 0 1 4 1 3
62
Interior Point Solution Approach
• Starts at feasible point• Moves through interior of
feasible region• Always improves
objective function• Theoretical interest
x2
40
4030
20
x1