BO wyklad 2 - polsl.pldydaktyka.polsl.pl/KWMIMKM/wyklad2.pdfTitle BO wyklad 2 Author mjasinski...

Preview:

Citation preview

Sprowadzenie modelu do postaci bazowej

2

Sprowadzenie modelu do postaci bazowej

Przykład 4.

Model matematyczny z Przykładu 1. sprowadzić do postaci bazowej.

3

Sprowadzenie modelu do postaci bazowej

� 1 29 7 63x x+ ≤Ograniczenie

Aby otrzymać ograniczenie w postaci równania wprowadzamy dodatkową zmienną do ograniczenia:

1 2 39 7 63x x x+ + =

x3 – zmienna bilansująca

Zmienna x3 określa ilość środka S1 jaki nie zostanie wykorzystany w procesie produkcyjnym

4

Sprowadzenie modelu do postaci bazowej

1 2 39 7 63x x x+ + =

3 1 263 9 7x x x= − −

Gdyby przyjąć: x1=0 i x2=0:

3 63 0x = ≥

Zmienna x3 spełnia postulat nieujemności.

5

Sprowadzenie modelu do postaci bazowej

Ograniczenie

Aby otrzymać ograniczenie w postaci równania wprowadzamy dodatkową zmienną do ograniczenia (analogicznie jak dla pierwszego ograniczenia):

x4 – zmienna bilansująca

Zmienna x4 określa ilość środka S2 jaki nie zostanie wykorzystany w procesie produkcyjnym

� 1 2 8x x+ ≤

1 2 4 8x x x+ + =

Dla x1=0 i x2=0: 4 8 0x = ≥

6

Sprowadzenie modelu do postaci bazowej

Ograniczenie

Aby otrzymać ograniczenie w postaci równania wprowadzamy dodatkową zmienną do ograniczenia:

x5 – zmienna bilansująca

� 1 23 2 6x x+ ≥

1 2 53 2 6x x x+ − =

Dla x1=0 i x2=0: 5 6 0x = − <

7

Sprowadzenie modelu do postaci bazowej

� W postaci bazowej, w kaŜdym ograniczeniu musi znajdować się jedna zmienna, która po wyzerowaniu wszystkich pozostałych zmiennych w ograniczeniu jest nieujemna.

Wprowadzamy kolejną zmienną:

1 2 5 63 2 6x x x x+ − + =

Dla x1=0, x2=0 oraz x5=0: 6 6 0x = ≥

x6 – zmienna sztuczna

8

Sprowadzenie modelu do postaci bazowej

� Rozwiązanie zadania po wprowadzeniu zmiennej sztucznej nie jest równowaŜne z rozwiązaniem zadania początkowego.

� Byłoby równowaŜne tylko wtedy, gdyby w rozwiązaniu optymalnym zmienna sztuczna miała wartość zero.

9

Sprowadzenie modelu do postaci bazowej

� Aby zapewnić x6=0 w rozwiązaniu optymalnym, kaŜdą zmienną sztuczną wprowadza się do funkcji celu.

� Współczynnik przy zmiennej sztucznej w funkcji celu dobiera się tak, aby niezerowa wartość tej zmiennej mocno pogarszała wartość funkcji celu.

1 2 6 1 2 6( , , ) 6 5 MAXZ x x x x x Mx= + + →

1000M = −

10

Sprowadzenie modelu do postaci bazowej

Czy zmienne bilansujące naleŜy uwzględnić w funkcji celu?

Tak.

Z jakimi współczynnikami?

Wszystkie współczynniki przy zmiennych bilansujących w funkcji celu są równe zero.

1 2 3 4 5 6 1 2 3 4 5 6( , , , , , ) 6 5 0 0 0 1000 MAXZ x x x x x x x x x x x x= + + + + − →

11

Sprowadzenie modelu do postaci bazowej

Postać bazowa zadania z Przykładu 1:

FC:

O:

WB:

1 2 3

1 2 4

1 2 5 6

9 7 63

8

3 2 6

x x x

x x x

x x x x

+ + =+ + =+ − + =

1 2 3 4 5 60, 0, 0, 0, 0, 0x x x x x x≥ ≥ ≥ ≥ ≥ ≥

1 2 3 4 5 6 1 2 3 4 5 6( , , , , , ) 6 5 0 0 0 1000 MAXZ x x x x x x x x x x x x= + + + + − →

12

Sprowadzenie modelu do postaci bazowej

Sprowadzenie do postaci bazowej ograniczenia typu:

1 23 5 4x x+ =

Wprowadzamy zmienną sztuczną:

1 2 33 5 4x x x+ + =

NaleŜy ją uwzględnić w funkcji celu w podany poprzednio sposób, czyli tak, aby jej niezerowa wartość mocno pogarszała wartość funkcji celu.

13

Sprowadzenie modelu do postaci bazowej

Postać bazowa:

� Wszystkie ograniczenia w postaci równań

� W kaŜdym ograniczeniu znajduje się zmienna, która po wyzerowaniu pozostałych zmiennych ma wartość nieujemną

� Współczynnik przy tej zmiennej ma wartość 1

� Wprowadzone zmienne bilansujące wprowadza się do funkcji celu z zerowymi współczynnikami

� Wprowadzone zmienne sztuczne uwzględnia się w funkcji celu ze współczynnikami mocno pogarszającymi jej wartość

METODA SIMPLEX

15

Metoda simplex

Przykład 5.

Rozwiązać zadanie z Przykładu 1. metodą simplex.

16

Metoda simplex

Tablica simplex:

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

17

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

1 0 9 0 1 ( 1000) 3z = ⋅ + ⋅ + − ⋅ 3000= −

-3000

18

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

2 0 7 0 1 ( 1000) 2z = ⋅ + ⋅ + − ⋅ 2000= −

-3000 -2000

19

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

3 0 1 0 0 ( 1000) 0z = ⋅ + ⋅ + − ⋅ 0=

-3000 -2000 0

20

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

4 0 0 0 1 ( 1000) 0z = ⋅ + ⋅ + − ⋅ 0=

-3000 -2000 0 0

21

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

5 0 0 0 0 ( 1000) ( 1)z = ⋅ + ⋅ + − ⋅ − 1000=

-3000 -2000 0 0 1000

22

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

6 0 0 0 0 ( 1000) 1z = ⋅ + ⋅ + − ⋅ 1000= −

-3000 -2000 0 0 1000 -1000

23

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

1 1 6 ( 3000)c z− = − − 3006=

-3000 -2000 0 0 1000 -1000

cj - zj 3006

24

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

2 2 5 ( 2000)c z− = − − 2005=

-3000 -2000 0 0 1000 -1000

cj - zj 3006 2005

25

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

3 3 0 0c z− = − 0=

-3000 -2000 0 0 1000 -1000

cj - zj 3006 2005 0

26

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

4 4 0 0c z− = − 0=

-3000 -2000 0 0 1000 -1000

cj - zj 3006 2005 0 0

27

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

5 5 0 1000c z− = − 1000= −

-3000 -2000 0 0 1000 -1000

cj - zj 3006 2005 0 0 -1000

28

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj

6 6 1000 ( 1000)c z− = − − − 0=

-3000 -2000 0 0 1000 -1000

cj - zj 3006 2005 0 0 -1000 0

29

Metoda simplex

j jc z− - wskaźniki optymalności

� Dla zmiennych bazowych wskaźniki optymalności zawsze są równe 0.

30

Metoda simplex

Kryterium optymalności:

Rozwiązanie jest optymalne, jeŜeli wartości wszystkich wskaźników optymalności są niedodatnie.

Rozwiązanie w bazie [x3, x4, x6] nie jest rozwiązaniem optymalnym.

NaleŜy przejść do następnej bazy

31

Metoda simplex

Kryterium wejścia do bazy:

Do bazy wchodzi zmienna, która ma największą wartość wskaźnika optymalności.

� JeŜeli największa wartość wskaźnika optymalności odpowiada więcej niŜ jednaj zmiennej, wybieramy zmienną o najniŜszym indeksie.

W przykładzie kryterium wejścia spełnia zmienna x1.

32

Metoda simplex

Kryterium wyjścia z bazy:

Obliczamy ilorazy wyrazów wolnych (kolumna bi) przez elementy (tylko dodatnie) kolumny zmiennej wchodzącej do bazy.

Bazę opuszcza ta zmienna, dla której obliczony iloraz jest najmniejszy.

� JeŜeli najmniejsza wartość ilorazu występuje dla więcej niŜ jednej zmiennej, to jako zmienną opuszczającą bazę moŜna wybrać dowolną z nich.

33

Metoda simplex

3 : 63/9 7x = 4 : 8/1 8x = 6 : 6 /3 2x =

W przykładzie kryterium wyjścia spełnia zmienna x6.

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

9 7 1 0 0 0

1 1 0 1 0 0

3 2 0 0 -1 1

63

8

6

bix(B)

x3

x4

x6

c(B)

0

0

-1000

zj -3000 -2000 0 0 1000 -1000

cj - zj 3006 2005 0 0 -1000 0

34

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

0 1 1 0 3 -3

0 1/3 0 1 1/3 -1/3

1 2/3 0 0 -1/3 1/3

45

6

2

bix(B)

x3

x4

x1

c(B)

0

0

6

zj 6 4 0 0 -2 2

cj - zj 0 1 0 0 2 -1002

Rozwiązanie w bazie [x3, x4, x1] nie jest rozwiązaniem optymalnym.

35

Metoda simplex

Do bazy wchodzi zmienna: x5

Ilorazy:

3 : 45/3 15x =

4 : 6 /(1/3) 18x =

1 :x − ujemny współczynnik – nie liczymy ilorazu

Z bazy wychodzi zmienna: x3

36

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

0 1/3 1/3 0 1 -1

0 2/9 -1/9 1 0 0

1 7/9 1/9 0 0 0

15

1

7

bix(B)

x5

x4

x1

c(B)

0

0

6

zj 6 14/3 2/3 0 0 0

cj - zj 0 1/3 -2/3 0 0 -1000

Rozwiązanie w bazie [x5, x4, x1] nie jest rozwiązaniem optymalnym.

37

Metoda simplex

Do bazy wchodzi zmienna: x2

Ilorazy:

5 : 15/(1/3) 45x =

4 : 1/(2 /9) 4.5x =

1 : 7 /(7 /9) 9x =

Z bazy wychodzi zmienna: x4

38

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

0 0 1/2 -3/2 1 -1

0 1 -1/2 9/2 0 0

1 0 1/2 -7/2 0 0

27/2

9/2

7/2

bix(B)

x5

x2

x1

c(B)

0

5

6

zj 6 5 1/2 3/2 0 0

cj - zj 0 0 -1/2 -3/2 0 -1000

Rozwiązanie w bazie [x5, x2, x1] jest rozwiązaniem optymalnym.

39

Metoda simplex

cTx→MAX 6 5 0 0 0 -1000

x1 x2 x3 x4 x5 x6

0 0 1/2 -3/2 1 -1

0 1 -1/2 9/2 0 0

1 0 1/2 -7/2 0 0

27/2

9/2

7/2

bix(B)

x5

x2

x1

c(B)

0

5

6

zj 6 5 1/2 3/2 0 0

cj - zj 0 0 -1/2 -3/2 0 -1000

5 27 / 2x = 2 9/ 2x = 1 7 / 2x =Zmienne bazowe:

Zmienne niebazowe: 3 0x = 4 0x = 6 0x =

40

Metoda simplex

Rozwiązanie:

1 2 3 4 5 63.5 4.5 0 0 13.5 0x x x x x x= = = = = =

Funkcja celu:

1 2 3 4 5 6( , , , , , ) 43.5Z x x x x x x =

RóŜnice w algorytmie metody simplex na

MAX i MIN

42

RóŜnice w algorytmie metody simplex na MAX i MIN

Kryterium wejścia

MAX:

Zmienna z największą wartością wskaźnika optymalności

MIN:

Zmienna z najmniejszą wartością wskaźnika optymalności

43

RóŜnice w algorytmie metody simplex na MAX i MIN

Kryterium wyjścia

MAX:

Zmienna, dla której iloraz elementu z wektora wyrazów wolnych przez współczynnik z kolumny zmiennej wchodzącej do bazy ma najmniejszą wartość.

MIN:

Identycznie jak w zadaniu na MAX.

44

RóŜnice w algorytmie metody simplex na MAX i MIN

Rozwiązanie optymalne

MAX:

Wszystkie wskaźniki optymalności muszą być niedodatnie

MIN:

Wszystkie wskaźniki optymalności muszą być nieujemne.

Postępowanie, gdy zmienne nie spełniają warunków

nieujemności

46

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

1 2 3FC : ( ) 3 6 4 MAXZ x x x= + − →x

1 2 3

1 2 3

1 2 3

O : 3 5 2 6

2 3 7 12

4 6 3 5

x x x

x x x

x x x

− − ≥ −− + ≥+ − =

1 2 3WB: 0 0x x R x≥ ∈ ≤

47

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

* ** * **2 2 2 2 2, 0, 0x x x x x= − ≥ ≥

Zmienną x2 zastępujemy róŜnicą dwóch zmiennych nieujemnych:

x2 ∈ R

48

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

* ** * **3 3 3 3 3, 0, 0x x x x x= − ≥ ≥

Zmienną x3 zastępujemy róŜnicą dwóch zmiennych nieujemnych:

x3 ≤ 0

49

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

* ** * ** * ** * **1 2 2 3 3 1 2 2 3 3FC : ( , , , , ) 3 6( ) 4( ) MAXZ x x x x x x x x x x= + − − − →

* ** * **1 2 2 3 3

* ** * **1 2 2 3 3

* ** * **1 2 2 3 3

O : 3 5( ) 2( ) 6

2 3( ) 7( ) 12

4 6( ) 3( ) 5

x x x x x

x x x x x

x x x x x

− − − − ≥ −− − + − ≥+ − − − =

* ** * **1 2 2 3 3WB: 0 0 0 0 0x x x x x≥ ≥ ≥ ≥ ≥

50

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

1 2 3 4 5 1 2 3 4 5ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆFC : ( , , , , ) 3 6 6 4 4 MAXZ x x x x x x x x x x= + − − + →

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

ˆ ˆ ˆ ˆ ˆO : 3 5 5 2 2 6

ˆ ˆ ˆ ˆ ˆ2 3 3 7 7 12

ˆ ˆ ˆ ˆ ˆ4 6 6 3 3 5

x x x x x

x x x x x

x x x x x

− + − + ≥ −− + + − ≥+ − − + =

ˆWB: 0, 1,2,3,4,5jx j≥ =

Zmieniamy numery zmiennych:

51

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

1 2 3 4 5 1 2 3 4 5ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆFC : ( , , , , ) 3 6 6 4 4 MAXZ x x x x x x x x x x= + − − + →

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

ˆ ˆ ˆ ˆ ˆO : 3 5 5 2 2 6

ˆ ˆ ˆ ˆ ˆ2 3 3 7 7 12

ˆ ˆ ˆ ˆ ˆ4 6 6 3 3 5

x x x x x

x x x x x

x x x x x

− + − + − ≤− + + − ≥+ − − + =

ˆWB: 0, 1,2,3,4,5jx j≥ =

Ograniczenia, w których wyraz wolny jest wartością ujemną mnoŜymy przez -1 (tutaj ograniczenie pierwsze):

52

Postępowanie, gdy zmienne nie spełniają warunków nieujemności

Dalsze postępowanie identyczne jak przy sprowadzaniu do postaci bazowej.

Szczególne przypadki rozwiązań

54

Szczególne przypadki rozwiązań

Zadanie sprzeczne

1 2 1 2

1 2

1 2

1 2

( , ) 6 5 MAX

8

3 2 6

, 0

Z x x x x

x x

x x

x x

= + →+ ≥+ ≤

1 2 3 4 5 1 2 4

1 2 3 4

1 2 5

1 2 3 4 5

( , , , , ) 6 5 1000 MAX

8

3 2 6

, , , , 0

Z x x x x x x x x

x x x x

x x x

x x x x x

= + − →+ − + =

+ + =≥

W postaci bazowej:

55

Szczególne przypadki rozwiązań

56

Szczególne przypadki rozwiązań

Zadanie sprzeczne:

• Nie ma rozwiązań dopuszczalnych

Objawy w metodzie simplex:

W rozwiązaniu optymalnym, zmienna sztuczna (w tym przykładzie x4) będzie miała wartość niezerową (czyli będzie w bazie).

57

Szczególne przypadki rozwiązań

Alternatywne rozwiązania optymalne

1 2 1 2

1 2

1 2

1 2

( , ) 2 2 MAX

8

3 2 6

, 0

Z x x x x

x x

x x

x x

= + →+ ≤+ ≥

1 2 3 4 5 1 2 5

1 2 3

1 2 4 5

1 2 3 4 5

( , , , , ) 2 2 1000 MAX

8

3 2 6

, , , , 0

Z x x x x x x x x

x x x

x x x x

x x x x x

= + − →+ + =

+ − + =≥

W postaci bazowej:

58

Szczególne przypadki rozwiązań

C(0,8) : (0,8) 16

D(8,0) : (8,0) 16

Z

Z

==

59

Szczególne przypadki rozwiązań

Alternatywne rozwiązania optymalne:

• KaŜdy punkt odcinka CD jest rozwiązaniem optymalnym – odpowiada alternatywnemu, optymalnemu rozwiązaniu

Objawy w metodzie simplex:

W rozwiązaniu optymalnym, zerowe wartości wskaźników optymalności dla zmiennych niebazowych.

• MoŜe się zdarzyć, Ŝe zadanie ma nieskończenie wiele rozwiązań optymalnych

Rozwiązania optymalne moŜna zidentyfikować przechodząc do kolejnych baz.

60

Szczególne przypadki rozwiązań

Nieograniczona funkcja celu

1 2 1 2

1 2

1

1 2

( , ) 2 3 MAX

3 2 6

7

, 0

Z x x x x

x x

x

x x

= + →+ ≥

≤≥

1 2 3 4 5 1 2 4

1 2 3 4

1 5

1 2 3 4 5

( , , , , ) 2 3 1000 MAX

6

7

, , , , 0

Z x x x x x x x x

x x x x

x x

x x x x x

= + − →+ − + =

+ =≥

W postaci bazowej:

61

Szczególne przypadki rozwiązań

62

Szczególne przypadki rozwiązań

• Zbiór rozwiązań jest nieograniczony

Objawy w metodzie simplex:

W tablicy simplex kolumna zmiennej wchodzącej do bazy ma wszystkie elementy niedodatnie.

• Funkcja celu jest nieograniczona od góry

W tym zadaniu:

63

Szczególne przypadki rozwiązań

Czy funkcja celu moŜe być nieograniczona od dołu?

Nie, poniewaŜ wymagana jest nieujemność zmiennych

Czy, pomimo tego Ŝe zbiór rozwiązań dopuszczalnych jest nieograniczony moŜe istnieć „dokładne” rozwiązanie optymalne?

MoŜe, gdy zadanie jest zadaniem na MIN.

64

Szczególne przypadki rozwiązań

1 2 1 2

1 2

1

1 2

( , ) 2 3 MIN

3 2 6

7

, 0

Z x x x x

x x

x

x x

= + →+ ≥

≤≥

A(2,0) : (2,0) 4

B(0,3) : (0,3) 9

C(7,0) : (7,0) 14

Z

Z

Z

===

MIN

Z poprzedniego rysunku:

65

The Happy End