Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska
Optymalizacja liniowa - ćwiczenia
Irena Musiał – Walczak
Zadanie 1.Wykazać, że zbiór C jest wypukły. C ={(x,y)∈R2 : x⋅y ≥1, x >0, y >0}
Weźmy dwa punkty należące do zbioru C i wykażemy, że kombinacja wypukła tych punktów też należy do tego zbioru.
Geometrycznie, rozwiązanie polega na tym aby wykazać, że wraz z dwoma punktami z tego zbioru , do zbioru należy również odcinek łączący te dwa punkty.
1 0
, ) , )(
1 ( ) , ( )
, ( ), ,
( 1 1 2 2
? 2
2 1
1 y x y ∈C ⇒ α x y + −α x y ∈C ≤α ≤
x
Punkty A i B należą do zbioru C więc mają dodatnie współrzędne i
1 ,
1 2 2
1
1⋅ y ≥ x ⋅ y ≥ x
Jeśli punkt
( 1 2 1 2)
2 2 1
1, ) (1 )( , ) (1 ) , (1 )
(x y α x y αx α x αy α y
α + − = + − + −
należałby do zbioru C to iloczyn jego pierwszej i drugiej współrzędnej byłby większy lub równy 1 . Ten punkt ma dodatnie współrzędne , spróbujemy wykazać wymaganą nierówność .
( ) ( )
1 ) 1 ( ) 1 ( 2 )
1 ( )
1 ( )
1 ( )
1 (
) 1 ( )
1 ( )
1 ( )
1 ( )
1 ( )
1 (
) 1 ( )
1 ( )
1 ( )
1 ( )
1 (
2 2
2 1
2 2 2 2 2 1
2 1
2 2
2 1
2 1
1 1 2 2
2 2 2 1
2 1
2 2
1 2
2 2 2 1
2 2
1 1
1 2 2
1 2
1
=
− +
− +
≥
−
+
+
− +
=
−
+
+
− +
≥
≥
− +
− +
− +
=
− +
− +
− +
≥
≥
− +
− +
− +
=
− +
⋅
− +
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
α α
x x
x x
x x x
x
y x x y x
x x y x
x y
x
y x y
x y
x y
x y
y x
x
Skorzystaliśmy z tego , że dla dodatnich liczb a i b zachodzi nierówność 2
2
2 + ≥
ab b a
i w ten sposób można wykazać, że zbiór C jest wypukły.
Zadanie 2.
Materiał Zużycie na jednostkę elementu Dysponowana ilość materiału
A B
M1 4 8 6200
M2 6 10 8100
M3 12 8 7200
Do wykonania elementów A i B używa się materiałów M1, M2, i M3. Zużycie ich na jednostkę elementu oraz dysponowane ilości (limity) materiałów podaje tabela. Wyznaczyć liczbę elementów, aby nie przekraczając limitów materiałów osiągnąć maksymalny efekt produkcji. Jednostkowy zysk dla elementu A wynosi 8 zł, a dla elementu B wynosi 12 zł.
Ustalmy funkcję celu – w tym wypadku zysk producenta elementów A i B. Jeśli za x1przyjmiemy ilość wyprodukowanych elementów A, a za x2 ilość elementów B to funkcja celu będzie miała postać:
2 1 12 8
)
(X x x
f = +
Naszym zadaniem jest wyznaczenie takich ilości elementów A i B , aby ta funkcja miała największą wartość.
Funkcja celu jest funkcją liniową. Taka funkcja w dziedzinie liczb rzeczywistych jest nieograniczona. Najmniejsza jej wartość to minus nieskończoność, a największa to plus nieskończoność.
Ale w naszym zagadnieniu są przecież dodatkowe ograniczenia. Zmienne , które określają ilość elementów A i B muszą być nieujemne oraz muszą być spełnione założenia na limity materiałów. Mamy 6200 jednostek materiału M1 , 8100 jednostek materiału M2 oraz 7200 jednostek materiału M3.
Bilans dla materiału M1 4x1+8x2 ≤6200
Bilans dla materiału M2 Bilans dla materiału M3
8100 10
6x1+ x2 ≤ 7200 8
12x1+ x2 ≤
I oczywiście x1≥0, x2 ≥0
Funkcja celu i wszystkie ograniczenia są liniowe.
Zmienne występują tylko w pierwszej potędze i mnożone są tylko przez liczby znane, stałe.
Spróbujemy rozwiązać to zagadnienie graficznie na płaszczyźnie , bo wszystkie związki w nim występujące zawierają tylko dwie zmienne.
Ponieważ zmienne są nieujemne będziemy rysować tylko w pierwszej ćwiartce.
Narysujemy proste, które są brzegami nierówności z ograniczeń.
Pierwsza prosta 4x1+8x2 =6200 Druga prosta 6x1+10x2 =8100 Trzecia prosta 12x1+8x2 =7200
Ponieważ punkty spełniające nierówności leżą poniżej trzech prostych, to nasz zbór, w którym będziemy szukać rozwiązania danego zagadnienia to zbiór punktów zakreskowany na szaro.
Ten zbór D będziemy nazywać zbiorem dopuszczalnym naszego zagadnienia.
Szukamy w zbiorze D maksimum funkcji celu 2
1 12 8
)
(X x x
f = +
Będziemy przesuwać proste 2 1 12
8x x
c= +
przez zbiór D i szukać takiego punktu w tym zbiorze dla którego c jest największe.
Wszystkie proste 2 1 12
8x x
c= +
mają wektor prostopadły równy
] 12 , 8
=[ nr
lub do niego równoległy np.:
[2,3]
Jeśli będziemy się poruszać po prostych równoległych zgodnie z jego zwrotem wartość c będzie rosła.
C=0 C=2400 C=5400
C=8160 C=9550 W
Widać, że w wierzchołku W, który jest punktem przecięcia
pierwszej i trzeciej prostej
osiągniemy największą wartość c, to znaczy największą wartość funkcji celu. Obliczymy ten punkt przecięcia.
Odejmując równania przedstawiające trzecią i pierwszą prostą dostajemy:
5 , 712 5700
500 6200 8
125 1000
8x1= ⇒ x1= ⇒ x2 = − = ⇒ x2 =
Punkt (125; 712,5) jest rozwiązaniem optymalnym podanego zagadnienia, funkcja f ( 125, 712,5) = 9550, co jest wartością maksymalną w zbiorze D.
Zadanie 3. Znaleźć minimum funkcji celu :
4 3 2
1 2
4x x x x
X
f ( )= − + +
Przy ograniczeniach:
4 5
12 2
3
4 2
1
4 3 2
1
≤
− +
−
≤ + +
−
x x
x
x x x
x xj ≥ 0, j =1,2,3,4
Wprowadzamy zmienne bilansujące do nierówności , zamieniając je w równania.
6 , 5 , 4 , 3 , 2 , 1 ,
0 ,
4 5
12 2
3
6 4
2 1
5 4 3 2
1
=
≥
= +
− + +
−
= +
+ +
−
j x
x x
x x
x x x x
x
j
cj C1 C2 C3 C4 C5 C6
4 -1 2 1 0 0 b ilorazy
X5 0 3 -1 2 1 1 0 12 xxxxx
X6 0 -1 5 0 -1 0 1 4 4/5
zj 0 0 0 0 0 0 0
zj-cj -4 1 -2 -1 0 0
Pierwsza macierz simpleks ma postać:
cj C1 C2 C3 C4 C5 C6
4 -1 2 1 0 0 b ilorazy
X5 0 14/5 0 2 4/5 1 1/5 64/5
X2 -1 -1/5 1 0 -1/5 0 1/5 4/5
zj 1/5 -1 0 1/5 0 -1/5 -4/5
zj-cj -19/5 0 -2 -4/5 0 -1.5
Wprowadzamy drugą współrzędną, a usuwamy z bazy współrzędną szóstą, ponieważ z2– c2>0 , a jedyna współrzędna wektora P2 dodatnia jest przy x6.
Druga macierz simpleks ma postać:
Ponieważ wszystkie są zj– cj niedodatnie to rozwiązanie bazowe z dodatnimi
współrzędnymi piątą i drugą jest rozwiązaniem minimalnym .
Rozwiązanie minimalne X= ( 0; 4/5; 0; 0; 64/5; 0 ), minimum funkcji celu f = -4/5.
Będziemy szukać minimum funkcji - f(X) i wprowadzimy dwie sztuczne zmienne. Do funkcji celu zmienne sztuczne wprowadzamy z bardzo dużym współczynnikiem M , aby algorytm jak najszybciej wyeliminował je z bazy.
5 , 4 , 3 , 2 , 1 ,
0 0
7 3
11 4
4 )
( )
(
5 3
2 1
4 3 2
1
5 4
3 2 1
=
≥
= +
− +
= +
+ +
+ +
−
−
−
=
−
=
j x
x x
x x
x x x
x
Mx Mx
x x x
X f X
f
j
cj -1 -4 -1 M M b ilorazy
X4 M 4 11 3 1 0 7 7/11
x5 M 1 1 -1 0 1 0 0
zj 5M 12M 2M M M 7M
zj - cj 5M+1 12M+4 2M+1 0 0
Pierwsze bazowe współrzędne to zmienne sztuczne , pierwszy wierzchołek X=( 0; 0; 0; 7; 0) – zdegenerowany, bo ma tylko jedną współrzędną dodatnią. Funkcja celu w tym wierzchołku jest równa 7M. Pierwsza macierz simpleks ma następującą postać:
Ponieważ z2 – c2 jest dodatnie i największe to wprowadzamy do bazy współrzędną o indeksie 2, liczymy ilorazy i usuwamy z bazy tę zmienną dla której iloraz jest najmniejszy pod warunkiem , że współrzędne wektora P2 są dodatnie. Druga macierz simpleks ma postać:
Zadanie 4. Znaleźć maximum funkcji celu f(X)==== x1 ++++4x2 ++++ x3 przy ograniczeniach:
0 7 3
11 4
3 2 1
3 2
1
====
−−−−
++++
====
++++
++++
x x x
x x
x
cj -1 -4 -1 M M b ilorazy
x4 M -7 0 14 1 -11 7 1/2
x2 -4 1 1 -1 0 1 0
zj -7M-4 -4 14M+4 M -11M-4 7M
zj - cj -7M-3 0 14M+5 0 -12M-4
Otrzymaliśmy ten sam wierzchołek zdegenerowany X*= (0; 0; 0; 7; 0) i funkcja w nim równa się ponownie 7M. Ale teraz zmienną bazową jest współrzędna o indeksie 2. Ponieważ największa dodatnia wartość spośród zj- cj jest dla j =3 , wprowadzamy zmienną o tym indeksie do bazy, a ponieważ tylko jedna – pierwsza współrzędna wektora P3jest dodatnia to usuwamy z bazy zmienna x4. Następna macierz simpleks ma postać:
cj -1 -4 -1 M M b ilorazy
x3 -1 -1/2 0 1 1/14 -11/14 1/2
x2 -4 1/2 1 0 1/14 -3/14 1/2
zj -3/2 -4 -1 -5/14 23/14 -5/2
zj - cj -5/2 0 0 -5/14-
M
23/14- M
Wszystkie zj- cjsą niedodatnie , otrzymany wierzchołek jest minimalny, ponieważ zmienne sztuczne opuściły bazę , otrzymaliśmy rozwiązanie minimalne pierwotnego problemu : dla X** = ( 0; ½; ½; 0; 0 ) min (-f) = -5/2 zatem
maksimum f = 5/2.
Zadanie 5. Znaleźć minimum funkcji celu: f(X)= −x1+ x2
przy ograniczeniach:
0 ,
, 2 2
2 2
2 1 2
1
2 1
≥
≥ +
≤ +
−
x x x
x
x x
Wyrównamy ograniczenia do równań wprowadzając zmienne bilansujące, te zmienne wprowadzamy do funkcji celu z zerowymi współczynnikami.
4 3
2
1 0 0
)
(X x x x x
f =− + + ⋅ + ⋅
0 ,
, , ,
2 2
2 2
4 3 2 1 4
2 1
3 2 1
≥
=
− +
= +
+
−
x x x x x
x x
x x x
Zmienne bilansujące nie mogą tworzyć bazy, bo zmienna czwarta byłaby ujemna. Aby nie szukać pierwszego wierzchołka rozwiązując układy równań, wprowadzamy do drugiego równania jedną zmienną sztuczną, którą wprowadzamy również do funkcji celu z bardzo dużym współczynnikiem.
Nowe zagadnienie jest równoważne tylko wtedy wyjściowemu, gdy zmienna sztuczna jest zerowa, tzn.: opuści bazę. Ma ono postać: Znaleźć minimum funkcji:
5 4
3 2
1 0 0
)
(X x x x x Mx
f =− + + ⋅ + ⋅ +
przy ograniczeniach:
0 ,
, , , ,
2 2
2 2
5 4 3 2 1 5
4 2
1
3 2 1
≥
= +
− +
= +
+
−
x x x x x x
x x
x
x x x
Pierwszym wierzchołkiem jest X = ( 0; 0; 2; 0; 2) i funkcja celu jest równa f (X) = 2M. Zbudujemy pierwszą macierz simpleks.
cj -1 1 0 0 M b ilorazy
x3 0 -2 1 1 0 0 2
x5 M 2 1 0 -1 1 2
zj 2M M 0 -M M 2M
zj - cj 2M+1 M-1 0 -M 0
Dla j = 1 zj - cj>0 i największe, wprowadzamy do bazy pierwszą współrzędną, ponieważ tylko druga współrzędna wektora P1jest dodatnia z bazy usuwamy x5. Druga macierz simpleks ma postać:
cj -1 1 0 0 M b ilorazy
x3 0 0 2 1 -1 1 4
x1 -1 1 1/2 0 -1/2 1/2 1
zj -1 -1/2 0 1/2 -1/2 -1
zj - cj 0 -3/2 0 1/2 -1/2-M
Jest jeszcze jedno zj- cj>0 dla j =4, ale obie współrzędne wektora P4są ujemne, zatem funkcja celu może maleć do minus nieskończoności. Zagadnienie ma rozwiązania dopuszczalne , ale funkcja celu jest nieograniczona z dołu.
Zadanie 6. Znaleźć minimum funkcji celu: f(X)=−x1+x2
przy ograniczeniach:
0 ,
, 8 4
2
2 2
2 1 2
1 2 1
≥
≥ +
≤ +
x x x
x x x
Wprowadzamy dwie zmienne bilansujące i jedną zmienną sztuczną. Wtedy zagadnienie ma postać:
Znaleźć minimum funkcji celu:
5 4
3 2
1 0 0
)
(X x x x x Mx
f = − + + + +
przy ograniczeniach:
0 ,
, , , ,
8 4
2
2 2
5 4 3 2 1 5
4 2
1
3 2 1
≥
= +
− +
= +
+
x x x x x x
x x
x
x x x
Pierwszy wierzchołek: X = (0; 0; 2; 0; 8) , funkcja celu f(X) = 8M. Pierwsza macierz simpleks ma postać:
cj -1 1 0 0 M b ilorazy
x3 0 1 2 1 0 0 2 1
x5 M 2 4 0 -1 1 8 2
zj 2M 4M 0 -M M 8M
zj - cj 2M+1 4M-1 0 -M 0
Wprowadzamy do bazy drugą zmienną – ma największe dodatnie zj- cj, usuwamy z bazy trzecią zmienną – ma mniejszy iloraz . Wtedy druga macierz simpleks jest następująca.
cj -1 1 0 0 M b ilorazy
x2 1 1/2 1 1/2 0 0 1
x5 M 0 0 -2 -1 1 4
zj 1/2 1 1/2-2M -M M 4M+1
zj - cj 3/2 0 1/2-2M -M 0
Drugim wierzchołkiem jest X* = ( 0; 1, 0; 0; 4) i funkcja celu w min jest równa f = 4M+1. Wprowadzamy pierwszą zmienną , a usuwamy z bazy zmienną drugą ( tylko przy niej współrzędna wektora P1jest dodatnia. Otrzymujemy następującą następną macierz simpleks:
cj -1 1 0 0 M b ilorazy
x1 -1 1 2 1 0 0 2
x5 M 0 0 -2 -1 1 4
zj -1 -2 -2M-1 -M M 4M-2
zj - cj 0 -3 -2M-1 -M 0
Otrzymaliśmy nowe rozwiązanie zagadnienia ze zmienną sztuczną X** = (2; 0; 0; 0; 4) dla którego funkcja celu jest równa f = 4M – 2, ale to jest koniec algorytmu, bo wszystkie zj- cj są niedodatnie. Jednak zmienna sztuczna nie opuściła bazy. To oznacza, że zagadnienie pierwotne nie ma rozwiązań dopuszczalnych. Ograniczenia są sprzeczne.
Zadanie 7. Sformułować zadanie dualne do podanego.
Znaleźć minimum funkcji celu : f(X)=2x1+x2−x3−x4
przy ograniczeniach:
4 , 3 , 2 , 1 , 0 ,
7 6 3
2
2 2
4 3 2 1
4 3 2
1
4 3 2
1
=
≥
= + + +
= +
− +
=
− +
−
i x
x x x x
x x x
x
x x x
x
i
Ponieważ zagadnienie pierwotne jest w postaci standardowej ( z równościami) sformułujemy zagadnienie dualne niesymetryczne. Zagadnienie to będzie miało trzy zmienne ( tyle ile jest ograniczeń) i cztery nierówności ( tyle ile jest zmiennych), a macierz w ograniczeniach będzie macierzą transponowaną w stosunku do macierzy układu w
ograniczeniach zagadnienia pierwotnego. W zagadnieniu niesymetrycznym dualnym nowe zmienne nie muszą być nieujemne.
Zagadnienie dualne: Znaleźć maksimum funkcji celu: g(W)=2w1+6w2+7w3
przy ograniczeniach:
1 1 3
2
1 2 2
3 2 1
3 2 1
3 2 1
3 2 1
−
≤ + +
−
−
≤ +
−
≤ + +
−
≤ + +
w w w
w w w
w w w
w w w
Zmienne wi mogą mieć dowolny znak.
Uwaga: Rozwiązanie zagadnień jest zadaniem do samodzielnej pracy. Odpowiedzią dla zagadnienia pierwotnego jest X= (3,0,1,3) minf = 2. Oczywiście maxg też musi się równać 2.
Zadanie 8. Sformułować zagadnienie dualne do podanego:
Znaleźć minimum funkcji celu : f(X)=6x1+2x2 +5x3
przy ograniczeniach:
0 , , , 2 4
2
1 3
3 2 1 3
2 1
3 2 1
≥
−
≥
−
−
≥ + +
−
x x x x
x x
x x x
Dla tak podanego zagadnienia pierwotnego zdefiniujemy symetryczne zagadnienie dualne:
Znaleźć maksimum funkcji celu:
2
1 2
)
(W w w
g = −
przy ograniczeniach:
0 ,
, 5
2 4
6 2
3
2 1 2
1 2 1
2 1
≥
≤
−
≤
−
≤ +
−
w w w
w w w
w w
Pozostawiamy rozwiązanie zagadnień do samodzielnej pracy. Zagadnienie pierwotne można rozwiązać metodą simpleks wprowadzając dwie zmienne bilansujące i jedną zmienną sztuczną, a zagadnienie dualne można rozwiązać metodą graficzną w R2.
Zadanie 9. Dana jest gra dwuosobowa za pomocą macierzy wypłat a dla gracza P1. Sformułować
odpowiednie zagadnienia programowania liniowego potrzebne do rozwiązania tej gry za pomocą metody simpleks.
=
1 7 5
4 3 a 2
Oznaczymy strategię gracza P1 przez wektor kolumnę X, a strategię gracza P2 przez wektor wiersz Y.
[ ], 1, , , 0
, 0 ,
, 1
, 1 2 1 2 1 2 3 1 2 3 1 2 3
2
1 + = ≥ = + + = ≥
= x x x x Y y y y y y y y y y
x X x
Wartość gry oznaczymy przez v i jest ona dodatnia, bo wszystkie wyrazy macierzy wypłat są dodatnie.
Wielkość v jest wygraną gracza P1, gracz ten będzie maksymalizował v , a przeciwnik będzie tę wielkość minimalizował – będzie chciał aby gracz P1wygrał jak najmniej.
Dla gracza P1zagadnienie będzie miało postać:
0 ,
, 1 4
7 3
5 2
2 1 2
1
2 1
2 1
2 1
≥
= +
≥ +
≥ +
≥ +
x x x
x
v x x
v x x
v x
x Dzieląc wszystkie związki przez wartość v >0, i
podstawiając :
2 , 1 ,
0 =
≥
′ = i
v xi xi
Otrzymamy zagadnienie: znaleźć minimum
x v x X
f 1
)
( = 1′+ 2′ =
przy ograniczeniach
0 ,
, 1 4
1 7
3
1 5
2
2 1 2
1
2 1
2 1
′ ≥
≥ ′ + ′
′
′ ≥
′+
′ ≥
′+
x x x
x
x x
x x
Rozwiązując to ostatnie zagadnienie metodą simpleks otrzymamy rozwiązanie minimalne dla wartości 1/v , czyli maksymalne dla v.
Po powrocie do pierwotnych zmiennych :
2 , 1 , =
′⋅
= x v i
xi i uzyskamy optymalną strategię gracza P1 .
Dla gracza P2zagadnienie ma postać:
0 ,
, , 1 7
5
4 3
2
3 2 1 3
2 1
3 1 1
3 2
1
≥
= + +
≤ + +
≤ +
+
y y y y
y y
v y y y
v y y
y
Dzieląc związki przez v i podstawiając
3 , 2 , 1 ,
0 =
≥
′ = j
v yj yj
Otrzymamy zagadnienie dualne symetryczne do poprzedniego:
Znaleźć maksimum
y v y y Y
g 1
)
( = 1′+ 2′+ 3′ =
przy ograniczeniach:
0 ,
,
1 7
5
1 4
3 2
3 2 1
3 1 1
3 2
1
′ ≥
′
′
′ ≤
′+
′+
′ ≤
′+
′+
y y y
y y y
y y
y
Rozwiązując to ostatnie zagadnienie metodą simpleks otrzymamy rozwiązanie maksymalne dla wartości 1/v , czyli minimalne dla v.
Po powrocie do pierwotnych zmiennych :
3 , 2 , 1
, =
′⋅
= y v j yj j
Otrzymamy strategię optymalną dla gracza P2 .
Zadanie 10. Rozwiązać następujące zagadnienie transportowe: Mamy 3 punkty odpraw o zapasach towaru :
4 ,
7 ,
6 2 3
1 = a = a =
a i 3 punkty odbioru o zapotrzebowaniach: b1=9, b2 =5, b3 =3 oraz macierz kosztów c :
=
1 2 0
1 3 2
2 0 1 c
Jak przewieźć towar z punktów odpraw do punktów odbioru, aby całkowity koszt transportu był jak najmniejszy.
Metodą minimum macierzowego wybieramy pierwszy wierzchołek:
3 5 9
4 7 6
0 0 4
3 0 4
0 5 1
Na miejscu (1,2) na którym koszt jest zerowy dajemy 5 jednostek towaru , wtedy drugi punkt odbioru ma pełne zapotrzebowanie. Jest jeszcze jeden współczynnik kosztu zerowy na miejscu (3, 1), na którym dajemy 4, tyle ile jest w trzecim punkcie odbioru. Zerowych współczynników kosztu już więcej nie ma. Na miejscu (1,1) w macierzy kosztów jest 1 , dajemy 1 jednostkę towaru i wtedy zapasy w pierwszym punkcie odpraw się kończą. Zostaje tylko towar w punkcie drugim, który rozdajemy 4
jednostki na miejsce (2,1) i 3 na miejsce (2,3). Ponieważ zapasy równoważą się z zapotrzebowaniem , dostajemy pierwszy wierzchołek: X = ( 1; 5; 0; 4; 0; 3; 4; 0; 0) dla którego funkcja celu przyjmuje wartość f(X) = 12
Tworzymy macierz kosztów pośrednich dla bazowych współczynników kosztów . Rozbijamy bazowe współczynniki kosztów z macierzy c na sumę ui+vj:
−
−
0
1 2
0 1
0 2 1
1 1 0
i uzupełniamy macierz dla wszystkich
współczynników
−
−
=
−
−
1 1 0
1 1 2
0 0 1
0 2 1
1 1 0
cij Wtedy:
−
−
−
−
=
−
2 3 0
0 2 0
2 0 0
ij
ij c
c
Ponieważ w następnym wierzchołku funkcja celu równa się f(WN)= f(WP)−θ⋅(cij −cij), θ ≥0
a żadne cij −cij nie jest dodatnie, funkcja celu nie może zmaleć i otrzymany wierzchołek jest rozwiązaniem minimalnym, a min f =12.
A co by było gdybyśmy zaczęli z innego wierzchołka?
Zastosujemy teraz metodę kata północno-zachodniego dla znalezienia pierwszego wierzchołka. Wtedy:
3 5 9
4 7 6
3 1 0
0 4 3
0 0 6
Wybieramy wierzchołek niezależnie od macierzy kosztów. Na miejscu (1,1) wstawiamy 6 jednostek towaru, bo tyle mamy w pierwszym punkcie odpraw . Na miejscu (2,1)
wstawiamy 3 jednostki, bo tyle jeszcze zostało do pokrycia zapotrzebowania w pierwszym punkcie odbioru. Teraz na miejscu (2,2) wstawiamy 4 jednostki towaru, bo tyle nam zostało w drugim punkcie odpraw. Na miejscu (3,2) wstawiamy 1 i pokrywamy zaopatrzenie w drugim punkcie odbioru. Pozostałe 3 jednostki towaru z trzeciego punktu przewozimy do trzeciego punktu odbioru . Otrzymaliśmy wierzchołek X* = (6; 0; 0; 3; 4; 0; 0; 1; 3), dla którego funkcja kosztów jest równa f(X*) = 29.
Tworzymy macierz kosztów pośrednich dla bazowych współczynników kosztów . Rozbijamy bazowe współczynniki kosztów z macierzy c na sumę ui+vj:
1 2 3 2 1
1 2 1
0 1 0
i uzupełniamy macierz dla wszystkich
współczynników
=
1 2 1
2 3 2
1 2 1
1 2 1
0 1 0
cij Wtedy:
−
=
−
0 0 1
1 0 0
1 2 0
ij
ij c
c
Ponieważ na miejscu (1,2) w różnicy cij −cij jest wyraz dodatni i największy wprowadzamy do bazy zmienną o tym indeksie.
3 5 9
4 7 6
3 1 0
0 4
3
0 6
− +
−
θ θ
θ
θ Chcemy, aby wielkość θ była jak największa dodatnia, ale wszystkie zmienne muszą być nieujemne, dodatnich
współrzędnych w wierzchołku może być w tym wypadku co najwyżej 5 zatem θ = 4. Wtedy zeruje się zmienna na miejscu (2,2) i dostajemy nowy wierzchołek
X**= ( 2; 4; 0; 7; 0; 0; 0; 1; 3) dla którego funkcja celu równa się f = 21.
3 5 9
4 7 6
3 1 0
0 0 7
0 4 2