Upload
others
View
1
Download
0
Embed Size (px)
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