WYKŁAD nr 3
Numeryczne rozwiązanie ZPL (metoda SIMPLEX )
Jedną z przyczyn zastosowania i dużego znaczenia metody Simplex jest jej prostota i łatwość otrzymywania rozwiązania. Koncepcja tej metody polega na zbliżaniu się do rozwiązania optymalnego w kolejnych krokach . Po skończonej ilości kroków rozwiązanie zostaje znalezione lub okazuje się że ograniczenia są sprzeczne albo rozwiązanie jest nieograniczone. Schematycznie rzecz ujmując przebieg postępowania w metodzie Simplex można zestawić w kilku kolejnych punktach :
1. Metoda Simplex polega na generowaniu ciągu bazowych rozwiązań dopuszczalnych od początkowego rozwiązania bazowego w taki sposób aby ciąg ten był zbieżny w skończonej liczbie kroków do optymalnego rozwiązania .
K
xB x0B
xˆB
1. Jeżeli tylko ograniczenia nie są sprzeczne oraz zbór rozwiązań dopuszczalnych jest ograniczony to w metodzie Simplex warunek skończonej zbieżności jest zawsze spełniony .
3. Generowanie ciągu bazowych rozwiązań dopuszczalnych postępuje w ten sposób ,że przez odpowiedni dobór kolejnych punktów ciągu funkcja kosztów
K
xB
( ) ( )
K BKB z
z x +1 < x co oznacza ze każde następne rozwiązanie bazowe powoduje zmniejszenie wartości funkcji kosztów zadania ZPL .
4. W celu pełnego zdefiniowania metody Simplex należy rozpatrzyć następujące zagadnienia
A./ sposób przechodzenia z jednej bazy do drugiej , B./ kryterium zbieżności ,
C./ metody wyznaczania początkowego bazowego rozwiązania dopuszczalnego x0B ,
D./ sposoby postępowania w przypadku pojawienia się zdegenerowanych rozwiązań bazowych .
ad. A Algorytm przejścia z bazy do bazy :
Kolejno generowane rozwiązania bazowe muszą charakteryzować się dwoma własnościami :
BK
x
a./ muszą być bazowymi rozwiązaniami dopuszczalnymi xBK ≥0 , b./ muszą zapewnić spełnienie warunku
( ) ( )
K BKB z
z x +1 < x .
Wynika stąd , że przy stosowaniu algorytmu przejścia z bazy do bazy nie można w sposób dowolny wybierać ani wektora usuwanego z bazy , ani wektora wprowadzanego do bazy na miejsce wektora .
Bk Bk+1
r
bk Bk
k j∉B
a bkr
1./ Wybór wektora decyduje o tym czy następne rozwiązanie będzie rozwiązaniem dopuszczalnym ,
r
bk xkB+1
2./ Wybór decyduje o tym czy będzie to rozwiązanie lepsze tzn. czy zapewni spełnienie warunku
k j∉B
a
( ) ( )
k kBB z
z x +1 < x . Zakładamy znajomość następujących wielkości :
1./ rozszerzona macierz A składa się z kolumn A=
[
a1 a2 a3 a4 a5]
wektor współczynników kosztów c=
[
c1 c2 c3 c4 c5]
2./ bazowe rozwiązanie na kroku k np.: macierz b
xBk =B−1K ⋅ BK =
[
a1 a2 a5]
(1)( )
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡ −
3 2 1 1
35 32 31
25 22 21
15 12 11
5 2 1
b b b
a a a
a a a
a a a
x x x
3./ funkcja kosztów na kroku : k zK =<c ,BK xBK > (2)
[ ]
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
=
5 2 1 5 2 1
x x x c c c zK
4./ określamy wektory K
( )
BKj dla j R x
y , ∉ tzn. .wektory na
kroku o indeksach nie należących do zbioru indeksów aktualnej bazy . k
K K j
( )
BKj a j R x
y =B−1⋅ , ∉ (3)
Zbiór indeksów bazy BK =
[
1,2,5]
zatem j∉R( )
xBK =[3,4]czyli
(4)
1 4 4
1 3 3
a y
a y
⋅
=
⋅
=
−
− K K K K
B B
5./ Definiujemy zbiór
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x (5)
w którym c określany jest jako wektor względnych współczynników j kosztów:
cj =cj−<cBK⋅yKj > (6)
= −< ⋅ >
>
⋅
<
−
=
K BK
K KB
c c
c c
4 4
4
3 3
3
y c
y c
np.:
[ ]
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
−
=
33 23 13 5 2 1 3 3
y y y c c c c
c
[ ]
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
−
=
34 24 14 5 2 1 4 4
y y y c c c c c
6./ Badamy czy zbiór
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x = 0
(7)
Zbiór
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x jest równy 0 wówczas gdy wszystkie jego elementy są większe lub równe zero ,
a./ jeżeli
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x =0 oznacza to ,że
rozwiązanie jest rozwiązaniem optymalnym dającym minimum funkcji kosztów
K
xB xˆBK
z i wówczas następuje zakończenie obliczeń ,
( ) {
K = j: j <0 , ∉ ( BK)}
≠0B c c j R
W x x
b./ jeżeli tzn. że przynajmniej
jeden element cj=cj−<c ,BK yKj > jest >0 , i wówczas przechodzimy do następnego punktu obliczeń w którym ,
7./ Dokonujemy wyboru wektora wchodzącego do nowej bazy wg kryterium wyboru A , które brzmi :
P∉BK
a
Jeżeli w zbiorze J =
{
j:cj∈W(xBK)}
istnieje takie Jj dla c c
że P
j j
P = j ∈
= , min oraz dla cP∈W(xBK) istnieje przynajmniej jeden element yiP >0 , i=1,..,m to wektor aP∉BK należy wprowadzić do bazy Bk na miejsce kolumny r macierzy bazowej
Bk.
bKr ⇐aP (8)
Jeżeli dla cj∈W(xBK) nie istnieje przynajmniej jeden element yij >0 , i=1,..,m to wartość funkcji celu jest nieograniczona czyli ˆz=< xc, ˆ >→−∞ .
i również wówczas następuje zakończenie obliczeń . Jeżeli zaistnieje pierwszy przypadek z punktu 7 przechodzimy do punktu 8.
8./ Dokonujemy wyboru wektora wychodzącego z aktualnej bazy wg kryterium wyboru B , które następująco zdefiniujemy :
K r K∈B b
Niech będą:
1./ aktualna baza BK =
[
b1K bK2 . . bKm]
w przestrzeni R m utworzona z kolumn macierzy rozszerzonej , A2./ odpowiadające jej bazowe rozwiązanie dopuszczalne xBK , 3./ zbiór wektorów K K j
( )
BKj a j R x
y =B−1⋅ , ∉ ,
jeżeli wśród istnieje takie wskazane przez kryterium wyboru B w postaci :
m
K i
Ki ∈B , =1,..,
b bKr ∈BK
Θ
⎪⎭=
⎪⎬
⎫
⎪⎩
⎪⎨
⎧ >
=min ; , 0
, , ,
, K
P K i
P i K
i B K i
P r K
r
B y
y x y
x (9)
to po usunięciu z i utworzeniu nowej bazy przez podstawienie
K r K∈B
b BK BK+1
K P∉R
a w miejsce bKr znalezione według kryterium A nowe rozwiązanie bazowe xBK+1 będzie rozwiązaniem dopuszczalnym . jeżeli minimum nie jest jedyne , to nowe bazowe rozwiązanie
dopuszczalne xBK+1 będzie zdegenerowane, gdyż
,1 0
, , ,
, = K → BK+i =
P r K
r B K
P i K
i
B x
y x y
x (10)
jeżeli to oznacza , że czyli startujemy ze zdegenerowanego rozwiązania bazowego . Ponadto nowe rozwiązanie dopuszczalne będzie również zdegenerowane .
=0
Θ xBK,r =0
+1 K
xB
9./ Dla nowej bazy wyliczamy BK+1 : a./ xBK+1 ,
b./ zBK+1=<cBK+1,xBK+1>>, c./ , yKj+1 dla j∉R(xBK+1) d./ zbiór W(xBK+1)
10./ Podstawiamy :
( ) ( )
11 1
1
1, + , + + , +
+ ⇐ ⇐ ⇐
⇐ BK BK BK Kj Kj BK BK
K
B x z z y y W x W x
x
11./ Powracamy do warunku 6 ,
jeżeli 6a.Æ STOP
jeżeli 6b Æ przeprowadzamy obliczenia cyklicznie aż do zaistnienia warunku 6a lub 7b .
Wektor xBK+1 można wyliczyć w wyniku
a./ odwrócenia macierzy BK+1 , x + =
( )
+ −1⋅b 1 1K K
B B
b./ lub zastosowania wzoru w
którym wektor
⋅Φ +
+ = K
r B K B K
B 1 x x ,
x
T
K j r Kj m K
j r K j r K
j r K
j r K j r K
j r
Kj i
y y y
y y
y y y
y
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
= − +
, , ,
, 1 ,
, , 1 ,
, 1 1 , ,...,
, ,...,
Φ (11)
c./ z zastosowaniem wektora można również wyliczyć Φ yjK+1= yKj + yrK,j ⋅Φ (12)
Przykład nr 1
x1
x2
2
2 0
1≤ 2 x
2 1
1 + ≤
− x x
2 3
1+ x ≥ x
A
B
C
Zbiór rozwiązań dopuszczalnych
=14 F
=10 F
Rys.1 Obszar rozwiązań dopuszczalnych wyznaczonych przez układ nierówności liniowych
Przyjmiemy układ ograniczeń liniowych w postaci układu nierówności :
−x1+x2 ≤1 , x1+x2 ≥3 , x1≤2 (13) który wyznacza obszar rozwiązań dopuszczalnych jak na rys.1
Określimy wskaźnik jakości z=< xc, > w którym wektor współczynników kosztów wynosi . Zadanie sprowadza się do poszukiwania w zbiorze rozwiązań dopuszczalnych takiego wektora rozwiązań , dla którego iloczyn skalarny ( wskaźnik jakości ) osiągnie wartość minimalna.
[
2 , 6=
c
]
x
>
< xc,
Wprowadzamy do układu nierówności przedstawiających ograniczenia zmienne dodatkowe sprowadzające układ nierówności w układ równań ;
2 3 1
5 1
4 2
1
3 2 1
= +
=
− +
= +
+
−
x x
x x
x
x x x
xi≥ i0, =1,..,5 (14) równanie (14) zapiszemy w postaci macierzowej :
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⎥⎥
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎢⎢
⎣
⎡
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
2 3 1
1 0 0 0 1
0 1 0 1 1
0 0 1 1 1
5 4 3 2 1
x x x x x
[ ]
⋅3*5= m=3,n=5 ;dimx=5 dimb=3A A x b
(15) ilość rozwiązań bazowych
)!
(
!
! m n m
n
−
⋅ = 10
)!
3 5 (
! 3
!
5 =
−
⋅
tworzymy macierz bazową BK dla k =1 uformowaną z kolumn macierzy
[
a1 a2 a3 a4 a5]
= A
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
=
1 0 0 0 1
0 1 0 1 1
0 0 1 1 1 A
[ ] [ ]
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
−
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡−
=
=
= −
2 1 1
0 1 1
0 1 1 2 , 1
1 0 1
0 1 1
0 1 1
1 3
2 5 1
2
1 K K K K
K a a a b b b B
B
dopuszczalne rozwiązanie bazowe:
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⇒
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
−
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
5 2 1
1 2 1 2 3 1 2 1 1
0 1 1
0 1 1 2 1
x x x
BK
x
wskaźnik jakości dla rozwiązania bazowego
[ ]
141 2 1 0 6 2
, =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
=
>
=< BK BK
z c x
obliczamy wektory K K j
( )
BKj a j R x
y =B−1⋅ , ∉ j=3, 4
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡ −
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
−
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⋅
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
= −
2 1
2 1
2 1 1 1 1 2 1 0
0 1 2 1 1
0 1 1
0 1 1 2 1
1 3 33 23 13
3 a
y K
K K K K
y y y
B
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
−
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⋅
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
= −
2 1
2 1
2 1
1 1 1 2 1 0
1 0
2 1 1
0 1 1
0 1 1 2 1
4 1 34 24 14
4 a
y K
K K K K
y y y
B
obliczamy względne współczynniki kosztów :
[ ]
22 1
2 1
2 1 0 6 2 0 , 3
3
3 =−
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡−
⋅
−
>=
<
−
=c BK K
c c y
[ ]
42 1
2 1
2 1 0 6 2 0 , 4
4
4 =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
⋅
−
>=
<
−
=c BK K
c c y
obliczamy
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x :
( )
={
c3 , c4} {
= −2,4}
≠0W xBK
Kryterium A : określamy indeks p kolumny macierzy , którą wprowadzimy do nowej bazy ;
A aP
{
2 4}
2 3min
min = − =− ⇒ = =
= c j p
c j
P j
oraz przynajmniej jeden element wektora ,
wówczas do nowej bazy wprowadzimy
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
>
5 . 0
5 . 0
5 . 0 ,
0
33 23 13 3 3
y y y y y
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
= 0 0 1 a3
aP
Kryterium B określimy indeks r kolumny w bazie , która ma być podmieniona na kolumnę .
r
bK B
aP
Θ
⎪⎭=
⎪⎬
⎫
⎪⎩
⎪⎨
⎧ >
=min ; , 0
, , ,
, K
P K i
P i K
i B K i
P r K
r
B y
y x y
x
( )
{
, 4, 2}
2 30 2 1 2 , 1 , 1 0 2 1 2 , 1 , 2 0 2 1 2 , 1 1
0 , , 0 ,
, 0
, 3,3
3 , 3
3 , 3
, 2 3 , 2
2 , 3
, 1 3 , 1
1 , ,
,
=
⇒
=
⎭⎬
⎫
⎩⎨
⎧ ⎟⎟
⎠
⎜⎜ ⎞
⎝
⎛ >
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛ >
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛ − <
−
⎪⎭=
⎪⎬
⎫
⎪⎩
⎪⎨
⎧
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
=
r odpada
n i m
n i m
y y y x
y y x
y n x i y m x
i i
K BK K
BK K
BK K i
p r Kr B
Nowa baza utworzona w wyniku podmiany kolumn ;
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡−
1 0 1
0 1 1
0 1 1
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
0 0 1
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
− 0
1 0
4
3 a
a BK
5 2
1 a a
a
3 2
1 K K
K b b
b
a3
a5
+1
BK
3 2
1 a a
a
3 2 1
K K
K b b
b
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡−
0 0 1
0 1 1
1 1
Kryterium A 1
Kryterium B nowa baza
Znajdujemy rozwiązania dla nowej bazy . Obliczamy wartości wektora Φ 3
,
3 = =
= j p
r , B
[ ]
3*3T
Kj r K
j m Kj
r K
j r Kj
K r j r K
j r Kj
r K
j i
y y y
y y
y y y
y
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
= − +
, , ,
, 1 ,
, , 1 ,
, 1 1 , ,...,
, ,...,
Φ
z uwagi na wymiar macierzy B
[ ]
3*3 oraz wartości 3r =3 , j= p= wektor Φ otrzymuje szczególną postać ;T
Kj K r
j r K
j r Kj
r K
j r
y y
y y
y
⎥⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
= − − 1 1
, ,
, ,
, 1 ,
,
Φ 2
( )
( ) ( )
( ) ( )
[ ]
TT T K
K K K
K
y y y y
y
1 1 1
2 1 1 , 1 2 1
2 , 1 2 1
2 1 1
, 1 ,
3 , 3 3 , 3
3 , 2 3
, 3
3 , 1
−
=
⎥ =
⎦
⎢ ⎤
⎣
⎡
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛ −
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛−
⎟⎟⎠
⎜⎜ ⎞
⎝
⎛− −
⎥ =
⎥
⎦
⎤
⎢⎢
⎣
⎡
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ −
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛−
= Φ
dopuszczalne rozwiązanie bazowe:
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅ +
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⋅ +
=
+ +
2 1 2
1 1 1 1 1 2 1
1 1 ,
BK
Kr K B K B B
x
x x
x Φ
wskaźnik jakości dla nowego rozwiązania bazowego
[ ]
102 1 2 0 6 2
, 1
1 =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
=
>
=< BK+ KB+
z c x
obliczamy wektory yKj+1 = yKj + yrK,j ⋅Φ j∉R
( )
xBK j= 4,5⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅ +
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
=
⋅ +
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
+ =
1 1 0
1 1 1 ) 2 1 ( 2 1
2 1
2 1
4 , 3 34 24 14 1
4 K Φ
K K K
K y
y y y y
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
−
−
−
−
⎟⋅
⎠
⎜ ⎞
⎝⎛−
=
⋅
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
= −
1 0 0 2 0 0 2 1 1
0 0 2 1 1
0 1 1
0 1 1 2 1
1 5 35 25 15
5 a
y K
K K K K
y y y
B
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
=
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅ +
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
=
⋅ +
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
+ =
2 1 1 1
1 1 ) 1 ( 1 0 0
5 , 3 35 25 15
5 1 K Φ
K K K
K y
y y y y
obliczamy względne współczynniki kosztów :
[ ]
61 1 0 0 6 2 0 , 4 1
1 4
4 =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅
−
>=
<
−
=c KB+ K+
c c y
[ ]
42 1 1 0 6 2 0 , 5 1
1 5
5 =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
−
⋅
−
>=
<
−
=c KB+ K+
c c y
zbiór W
( )
xBK+1 ={
c4 , c5} {
= 6 , 4}
=0 jest zbiorem pustym co oznacza , iż ostatnie rozwiązanie bazowe jest rozwiązaniem optymalnym dającym minimum wskaźnika jakości z[ ]
102 1 2 0 6 2
, 1
1 =
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢
⎣
⎡
⋅
=
>
=< BK+ BK+
z c x
Rozwiązanie przykładu nr 3 w oparciu o m. SIMPLEX
1./ Krok 1 pierwsza baza utworzona z kolumn B1=
[
a1 a2 a3 a5]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
−
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
−
−
= −
1 1 0 0
0 0 1 1
66 , 0 0 33 , 0 0
66 , 0 0 66 , 0 0 ,
0 0 1 5 ,
1 0 1 5 ,
0 0 1 1
0 1 1 1
1 1
1 B
B
rozwiązanie bazowe uzyskane w oparciu o , oraz wskaźnik wynoszą :
B1 z
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⋅
= −
1 1 66 , 1
33 , 1
11
1 b
x B
[ ]
4,6661 1 66 , 1
33 , 1 0 0 2 1 , 1
1 =
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⋅
>=
=<c x z
obliczamy wektory K K j
( )
BKj a j R x
y =B−1⋅ , ∉ j=4 ,6
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
=
⋅
=
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
= −
0 1 333 , 0
667 , 0
4 1 1 44 34 24 14
4 a
y B
K K K K K
y y y y
,
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡−
=
⋅
=
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
= −
1 0
667 , 0
667 , 0
6 1 1 46 36 26 16
6 a
y B
K K K K K
y y y y
obliczamy względne współczynniki kosztów ;
[ ]
1,3330 1 333 , 0
667 , 0 0 0 2 1 0 , 4
1 4
4 =−
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
⋅
−
>=
<
−
=c c y c
[ ]
0,6671 0 667 , 0
667 , 0 0 0 2 1 0 , 6
1 6
6 =−
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡−
⋅
−
>=
<
−
=c c y c
obliczamy
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x :
( )
={
c4 , c6} {
= −1,333,−0,667}
≠0 W xBKKryterium A
{
1,333 0,667}
1,333 4 minmin = − − =− → = =
= c j p
c j
P j
Kryterium B =Θ
⎪⎭
⎪⎬
⎫
⎪⎩
⎪⎨
⎧ >
=min ; , 0
, , ,
, K
j K i
j i Ki B K i
j r Kr
B y
y x y
x
( )
3
, 0 , 0 1 1, , 1 0 333 , 0 33, , 0
66 , , 1 0 667 , 0 667, , 0
33 , 1
0 , , 0 , , 0 , , 0 ,
4 , 4
4 , 4 4 , 4 4 , 4
, 3 4 , 3 3 , 4
, 2 4 , 2 2 , 4
, 1 4 , 1 1 , ,
,
=
⎭⎬
⎫
⎩⎨
⎧ ⎟ =
⎠
⎜ ⎞
⎝
⎛ >
⎟⎠
⎜ ⎞
⎝
⎛ >
⎟⎠
⎜ ⎞
⎝
⎛ >
⎪⎭=
⎪⎬
⎫
⎪⎩
⎪⎨
⎧
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛ >
=
r
odpada y
n i m
y y y x
y y x
y y x
y n x i y m x
i
K K B K
K B K
K B K
K B K i
p r K r B
Wniosek : W aktualnej bazie na miejsce kolumny trzeciej wprowadzamy kolumnę uzyskując nową bazę .
3
3 a
b = a4
2./ Krok 2 druga baza utworzona z kolumn B2 =
[
a1 a2 a4 a5]
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
−
=
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
−
−
= − −
1 1 0 0
0 0 1 1
66 , 0 0 0 333 , 0
66 , 0 0 0 667 , 0 ,
0 0 1 5 ,
1 0 1 5 ,
0 1 1 1
0 0 1 1
21
2 B
B
rozwiązanie bazowe uzyskane w oparciu o B2 , oraz wskaźnik z wynoszą :
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
=
⋅
= −
1 1 333 , 1
667 , 0
1 2
2 b
x B
[ ]
3,3330 1 333 , 1
667 , 0 0 0 2 1 , 1
1 =
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡
⋅
>=
=<c x z
obliczamy wektory K K j
( )
BKj a j R x
y =B−1⋅ , ∉ j=3,6
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
−
−
=
⋅
=
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
= −
0 1,333 0
667 , 0
1 3 2 43 33 23 13
3 a
y B
K K K K K
y y y y
⎥⎥
⎥⎥
⎦
⎤
⎢⎢
⎢⎢
⎣
⎡−
=
⋅
=
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡
= −
1 0
667 , 0
667 , 0
1 6 2 46 36 26 16
6 a
y B
K K K K K
y y y y
obliczamy względne współczynniki kosztów ;
[ ]
1,3331 0 667 , 0
667 , 0 0 0 2 1 0 , 3
2 3
3 =
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡−
⋅
−
>=
<
−
=c cB y c
[ ]
0,6671 0 667 , 0
667 , 0 0 0 2 1 0 , 6
2 6
6 =−
⎥⎥
⎥⎥
⎥
⎦
⎤
⎢⎢
⎢⎢
⎢
⎣
⎡−
⋅
−
>=
<
−
=c cB y c
obliczamy
( ) {
K j: j 0 , ( BK)}
B c c j R
W x = < ∉ x :
( )
={
c3 , c6} {
= 1,333,−0,667}
≠0 W xBKKryterium A c =mincj =min
{
1,333 −0,667}
=−0,667→ j= p=6P j
Kryterium B =Θ
⎪⎭
⎪⎬
⎫
⎪⎩
⎪⎨
⎧ >
=min ; , 0
, , ,
, K
j K i
j i Ki B K i
j r Kr
B y
y x y
x