prof. boyan bonev ivanov, ph.d. email: bivanov@bas.bg institute of chemical engineering-bas
Post on 16-Jan-2016
31 Views
Preview:
DESCRIPTION
TRANSCRIPT
Prof. Boyan Bonev Ivanov, Ph.D.
Email: bivanov@bas.bg
Institute of Chemical Engineering-BAS
Приложно математично програмиране
ЛЕКЦИЯ 6
Линейно програмиране
Лекции
Лекция 1 Въведение в математичното програмиране
Лекция 2 Оптимизация при целеви функции с един управляващ
параметър
Лекция 3 Нелинейно програмиране – Градиентни методи
Лекция 4 Нелинейно програмиране – Директни методи
Лекция 5 Нелинейно програмиране – Методи с ограничения
Лекция 6 Линейно програмиране
Лекция 7 Методи за булева и дискретна оптимизация
Лекция 8 Методи за глобална оптимизация
Лекция 9 Методи за многоцелева оптимизация
Въведение в линейното програмиране
4
План на лекцията
1. История на линейното програмиране
2. Примери за задачи от линейното програмиране
3. Графическа интерпретация на задачи от линейното програмиране
4. Стандартна форма на записване
5. Основни понятия използувани в линейното програмиране
6. Основи на симплексния метод
7. Симплексен метод за решаване задачата за максимум
8. Алгоритъм на симплексния метод
9. Геометрично представяне на Алгоритъма на симплексния метод
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
Решение във вътрешна точка• Възможно ли е? ДА• Оптимално ли е? НИКОГА
Целева функцияОграничение 1
Ограничение 2
Ограничение 3
Целева функция
13
LP Специални случаи
• Алтернативни оптимуми
• Невъзможни проблеми
• Безкрайни проблеми
14
Алтернативни оптимуми
Целева функцияОграничение 1
Ограничение 2
Ограничение 3
15
Безкрайни проблеми
16
Невъзможни проблеми
17
LP Понятия
• Независими променливи• Целева функция• Ограничения• Възможни решения• Възможни области• Гранични точки на решението• Оптимално решение• Оптималност на границата
18
Методи за решаване на задачите на LP
1. Методи на последователното изключване
2. Методи на граничните точки
3. Симплексен метод за решаване на задачата на линейното програмиране
Редуциране на броя на променливите, чрез последователно изключване на част от променливите в уравненията тип равенства
Метода се базира на обстоятелството, че решението на задачата се намира на един от върховете на многостена, определящ допустимото пространство на търсене на решението.
Симплексния метод в линейното програмиране представлява процедура за последователно подобряване на решението до достигане на условния екстремум. Тази процедура дава последователност от базисни решения, при които всяко следващо е по-добро от предидущото
19
Алгоритъм на симплексния метод:
1. Преобразуват се всички неравенствени ограничения в равенствени чрез въвеждане на фиктивни променливи. Получава се нова изходна задача с ограничения тип равенства.
2. Приемат се n свободни и m базисни (опорни) променливи. В началото управляващите променливи се приемат за свободни. Останалите m базисни се изразяват чрез тях
3. Приема се начално базисно решение за свободните управляващи параметри x=0 и се получава начално базисно решение за базисните управляващи променливи. Необходимото условие базисното решение да бъде допустимо е всички базисни променливи да бъдат положителни
4. Получените стойности за базисното решение се заместват в целевата функция и се получава началната базисна стойност за Ц.Ф.
5. Проверява се за оптималност полученото решение до този етап
6. Определя се границата, до която може да се повиши съответния управляващ параметър, докато базисните променливи остават положителни.
20
7. За базисна променлива се приема тази която от свободните първа води до нарушаване на условието за положителност на базисните променливи
8. Преобразува се системата, чрез новата базисна променлива
9. Преобразува се Ц.Ф. чрез новата базисна променлива
10. Получава се ново базисно решение, като в преобразуваната Ц.Ф. Се заместват новите свободни променливи с x=0 и алгоритъма се повтаря от т.5
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
1. Преобразуване на ограниченията от неравенства в равенства чрез въвеждане на базисни променливи
s1 , s2- базисни променливиZ=0
Z=1000
Z=1360
Z=2000
x1 , x2 - свободни управляващи променливи
23
2. Решаване на уравненията на ограниченията спрямо базисните променливи
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
3. Намиране на начално базисно решение за базисните променливи при 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
4. Проверка за оптималност на полученото решение.Ако в 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
?
5. Определя се границата до която x2 може да се повишава.Уравненията се видоизменят, като x1=0. За да останат s1 и s2 положителни, то x2 може да се изменя до 20.
S2,X2-стават базисни променливи
S1, x1-стават свободни променливи
В този случай за свободна променлива се приема s1, а за базисна x2
27
x2
40
4030
20
x1
?
6. Преобразува се системата ограничения по отношение на новите базисни променливи (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
Max Z = 40x1 + 50x2
s.t.s1 = 40-1x1- 2x2 s2 = 120-4x1-3x2 x1 , x2 , s1 , s2 0
28
x2
40
4030
20
x1
?
7. Заместваме новите свободни променливи 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
?
8. В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само, ако се увеличи 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
?
9. В базисните променливи има коефициент с положителен знак, което означава, че полученото решение може да се подобри само ако се увеличи 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
10. След преобразованията получаваме редуцираната задача, която е във вида:
x1 = 8-0.8s1+0.2s2
x2 =24+0.6s1-0.4s2
Z = MAX(1360-16s1-6s2)
s1,s2-свободни променливиx1,x2-базисни променливи
s1 = 0s2 = 0
x1 = 8x2 = 24Z = 1,360
x2
40
4030
20
x1
Z=1360
X1=8X2=24
32
11. Проверява се новото базисно решение за оптималност.Изменението на която и да е от свободните променливи не може да доведе до увеличаване на 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Оптимално решение
Оптимални стойности на управляващите променливи
33
34
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
41
Corner Point Solutions
X
Interior Point Solution• Feasible? Yes• Optimal? Never
42
Alternate Optima
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!
Solving Other Types of Linear Programs
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
47
Finding a Feasible Solution?
Minimization Problems
Equality Constraints
X Not Feasible!
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:
55
Negative Variables
xj allowed to be any value (+ or –)
Substitute xj = xj
+ – xj –
xj+ , xj
– 0
56
Negative RHS’s
0.4x1 – 0.3x2 – 10
Is exactly equivalent to
– 0.4x1 + 0.3x2 10
Multiply by –1
57
Minimization Problems
Min Z = 0.4x1 + 0.3x2
Is exactly equivalent to
Max Z = – 0.4x1 – 0.3x2
Multiply by –1
58
LP Solution Problems
• Unbounded Solutions
• No Feasible Solutions
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=
60
Unbounded LP’s
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
LP Sensitivity and Duality
Next week…
top related