Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS

Preview:

DESCRIPTION

Приложно математично програмиране ЛЕКЦИЯ 6 Линейно програмиране. Prof. Boyan Bonev Ivanov, Ph.D. Email: bivanov@bas.bg Institute of Chemical Engineering-BAS. Лекции. Лекция 1 Въведение в математичното програмиране - PowerPoint PPT Presentation

Citation preview

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…

Recommended