prof. boyan bonev ivanov, ph.d. email: [email protected] institute of chemical engineering-bas

63
Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS Приложно математично програмиране ЛЕКЦИЯ 2 Линейно програмиране

Upload: ainsley-leblanc

Post on 02-Jan-2016

29 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

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

Решение във вътрешна точка• Възможно ли е? ДА• Оптимално ли е? НИКОГА

13

LP Специални случаи

• Алтернативни оптимуми

• Невъзможни проблеми

• Безкрайни проблеми

14

Алтернативни оптимуми

15

Безкрайни проблеми

16

Невъзможни проблеми

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Оптимално решение

Оптимални стойности на управляващите променливи

Геометрично представяне

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…