Professional Documents
Culture Documents
Literatura:
Badania operacyjne w przykadach i zadaniach, praca zbior. pod red. K. Kukuy, wydanie
V, poprawione i rozszerzone, PWN, Warszawa 2007
Badania operacyjne, praca zbior. pod red. W. Sikory, PWE, Warszawa 2008
Guzik B., Wstp do bada operacyjnych, Wydawnictwo Uniwersytetu Ekonomicznego, Po-
zna 2009
1. WPROWADZENIE
Sprawno zarzdzania przedsiwziciami i firmami jest jednym z gwnych postulatw
gospodarki rynkowej. Przy jego realizacji potrzebne s efektywne systemy wspomagania de-
cyzji. Pomocne s tu badania operacyjne, ktre dostarczaj modeli i metod poszukiwania roz-
wiza optymalnych w danych warunkach ekonomicznych. Badania operacyjne s stosunkowo
mod dziedzin rozwiny si w czasie drugiej wojny wiatowej. Jak sama nazwa wskazuje,
rozwiny si w zwizku z problematyk wojskow. Najpierw w Wielkiej Brytanii, potem w
Stanach Zjednoczonych przy dowdztwach wikszych jednostek powoano grupy ekspertw
skadajce si z przedstawicieli rnych dyscyplin naukowych, ktrych zadaniem bya analiza
niektrych zamierzonych operacji. Dzi z perspektywy czasu ocenia si, e najwiksz zasug
tych grup jest to, i potrafiy wypracowa pewne oglne metody. Metody te umoliwiy analiz
wielu wariantw planu pewnej operacji i wybranie wariantu najkorzystniejszego.
Okazao si, e metody bada operacyjnych maj znacznie szersze zastosowanie ni do
zagadnie wojskowych, a w szczeglnoci, e mog by z powodzeniem stosowane do rozwi-
zywania problemw techniczno-ekonomicznych.
Trzeba jednak zwrci uwag, i historia bada operacyjnych siga okresu przed II
wojn. Wymieni trzeba przede wszystkim nazwisko L.W. Kantorowicza, ktry w 1939 r. opu-
blikowa prac zawierajc przegld metod matematycznych do planowania przedsibiorstwa
oraz zawierajc metody rozwizywania modeli liniowych. Tym samym Kantorowicza uznaje
si za twrc programowania liniowego, ktre kilka lat pniej rozwino si niezalenie w
krajach zachodnich.
Kada dziaalno (w tym take dziaalno gospodarcza) odbywa si w okrelonych wa-
runkach, opiera si na pewnych zasobach (finansowych czy materialnych) oraz zasilaniu infor-
macyjnym i podporzdkowana jest okrelonemu celowi (celom). Warunki dziaania wyzna-
czaj zakres moliwych planw realizacji okrelonego przedsiwzicia. Plany zgodne z wyma-
ganiami narzuconymi przez warunki dziaania nazywane s planami (decyzjami) dopuszczal-
nymi. Natomiast nie kady plan dopuszczalny jest jednakowo dobry w wietle celw jaki sta-
wiaj sobie podmioty gospodarcze. Std powstaje problem wyboru planu najlepszego opty-
malnego, zgodnie ze sformuowanym kryterium optymalnoci. Badania operacyjne (zaliczane
do nauk o zarzdzaniu) dostarczaj metod wspomagajcych podejmowanie decyzji. Mona po-
wiedzie, e badania operacyjne zajmuj si analiz celowych dziaalnoci (operacji), genero-
waniem i ocen ilociow rnych decyzji kierowniczych (taktycznych lub strategicznych). W
analizie rnych decyzji wykorzystywane s metody matematyczne (szczeglnie optymaliza-
cyjne), heurystyczne oraz symulacja komputerowa.
Jeeli okae si, e model czy jego rozwizanie nie jest adekwatne do rzeczywistoci, e
przeoczono czynniki istotne - powinna nastpi korekta modelu i poszczeglne kroki pro-
cedury powinny by powtrzone.
4. Wdroenie rozwizania i opracowanie systemu kontroli.
Rozwizany model stanowi wskazwk do podjcia decyzji. Rwnoczenie trzeba pami-
ta, e rzeczywisto nie jest statyczna, e podlega nieustannym zmianom (mog zmieni
si warunki dziaania co wyraa si zmianami wartoci parametrw, moe si take zmie-
ni charakter relacji wystpujcych w modelu) w zwizku z tym rozwizanie ktre kiedy
uznano za optymalne po pewnym czasie moe przesta by optymalnym. System kontroli
powinien zapewnia szybk informacj o zmianie warunkw a take umoliwia szybk
zmian rozwizania, by byo ono optymalne w nowych warunkach. Bardzo czsto algo-
rytmy rozwizywania modeli bada operacyjnych uzupenione s o dodatkowe moduy
(metody) umoliwiajce analiz wraliwoci uzyskanego rozwizania na zmiany parame-
trw modelu.
Do analizy decyzji niezbdna jest informacja, dana jako parametry modelu. W zalenoci
od charakteru posiadanych informacji wyrnia si kilka typw modeli bada operacyjnych.
Z typami wi si z kolei metody ich rozwizywania. Jeeli wszystkie parametry modelu s
wielkociami znanymi i staymi to mamy do czynienia z modelami deterministycznymi. W tych
modelach kada moliwa decyzja prowadzi do jednoznacznie okrelonych wynikw. Metody
stosowane przy rozwizywaniu modeli deterministycznych to:
rachunek rniczkowy ktry umoliwia wyznaczenie ekstremum funkcji wielu zmien-
nych; stosowany jest jednak tylko do rozwizywania bardzo prostych problemw,
programowanie liniowe modele w ktrych wszystkie relacje maj charakter liniowy;
metoda ta odgrywa w badaniach operacyjnych szczegln rol, bowiem w praktyce czsto
spotykamy si z zagadnieniami, ktre daj si uj w postaci modelu liniowego, lub za
pomoc odpowiednich przeksztace mona je sprowadzi do modelu liniowego,
programowanie nieliniowe pod t nazw wystpuje szereg rnych metod, stosowanych
do rozwizywania problemw, ktrych nie da si opisa bez specjalnego znieksztacania
rzeczywistoci modelem liniowym.
Jeeli parametry modelu s nieznane, ale znane s ich rozkady prawdopodobiestwa, to
mamy do czynienia z modelami w warunkach ryzyka (modele statystyczne lub probabili-
styczne).
Wreszcie modele, w ktrych nie s znane nawet rozkady parametrw, a znany jest z reguy
tylko zbir wartoci jakie parametry mog przyjmowa nazywane s modelami podejmowania
decyzji w warunkach niepewnoci (modelami strategicznymi), ich typowym przykadem s
modele teorii gier.
2. PROGRAM LINIOWY
Programem liniowym (PL) nazywamy zadanie o nastpujcej postaci:
c1 x1c2 x2 cN xN max funkcja celu (funkcja kryterium)
a11 x1 a12 x2 a1N xN b1
a21 x1 a22 x2 a2 N xN b2
warunki ograniczajce (1)
...............................................
aM 1 x1 aM 2 x2 aMN xN bM
x1 , x2 ,, xN 0 warunki brzegowe
lub
c1 x1 c2 x2 cN x N min funkcja celu (funkcja kryterium)
a11 x1 a12 x2 a1N x N b1
a21 x1 a22 x2 a2 N x N b2
warunki ograniczajce (2)
.........................................
a M 1 x1 aM 2 x2 a MN xM bM
x1 , x2 ,, x N 0 warunki brzegowe
Program liniowy (1) nazywamy standardowym zadaniem maksymalizacji a program (2)
standardowym zadaniem minimalizacji.
W programie tym wystpuj pewne wielkoci dane parametry: aij, bi, cj (i = 1,2,...,M; j =
1,2,...,N) oraz wielkoci, ktre naley ustali zmienne decyzyjne: xj (j = 1,2,...,N).
Elementami kadego programu liniowego s: warunki ograniczajce, warunki brzegowe i
funkcja celu. Warunki ograniczajce to ukad rwna lub nierwnoci opisujcych warunki
dziaania. W konkretnych sytuacjach decyzyjnych nierwnoci w warunkach ograniczajcych
mog oczywicie mie przeciwny zwrot, mog to take by rwnoci. W warunkach brzego-
wych zakada si, e zmienne decyzyjne, ktre s pewnymi wielkociami ekonomicznymi bd
liczbami nieujemnymi. Funkcja celu umoliwia wybr optymalnego przy istniejcych ograni-
czeniach wariantu planu; moe by maksymalizowana lub minimalizowana.
Zbir wartoci zmiennych decyzyjnych speniajcy warunki ograniczajce i warunki brze-
gowe nazywamy rozwizaniem dopuszczalnym PL. Rozwiza dopuszczalnych jest zwykle
wiele. Spord nich wybiera si takie, dla ktrego (ktrych) funkcja celu przyjmuje warto
ekstremaln (w zalenoci od sytuacji maksymaln lub minimaln). Jest to rozwizanie opty-
malne.
Standardowy program liniowy moe by odpowiednio take zapisany w notacji macierzo-
wej:
cTx max cTx min
Ax b Ax b (3)
x0 x0
gdzie: A jest macierz wspczynnikw stojcych po lewej stronie ukadu warunkw ograni-
czajcych (o wymiarach MN), b jest wektorem (kolumnowym, o wymiarach M1) wyrazw
wolnych ukadu warunkw ograniczajcych, cT jest wektorem wierszowym (o wymiarach
1N) wspczynnikw funkcji celu i x jest wektorem zmiennych decyzyjnych (o wymiarach
N1).
x1 ,, xn 0
c x
j 1
j j max
N
aij x j bi , i 1,...,M
j 1
u j x j v j dla niektrych j
x 0, j 1,...,N
j
gdzie pierwsze M warunkw dotyczy ograniczonych zasobw rodkw produkcji, pozostae
za warunki, ktre nie zawsze wystpuj zwizane s z ograniczeniami ze strony popytu.
Przykad 1. Przedsibiorstwo produkuje dwa wyroby: W1 i W2. Ograniczeniem w procesie
produkcji jest czas pracy trzech maszyn: M1, M2 i M3. W tablicy 1 podano zuycie czasu pracy
kadej z tych maszyn na produkcj jednostki poszczeglnych wyrobw, dopuszczalne czasy
pracy maszyn oraz ceny wyrobw.
Tablica 1
Zuycie czasu pracy maszyny Dopuszczalny czas
Maszyny (w godz.) ma jednostk wyrobu pracy maszyny
W1 W2 (w godz.)
M1 2 1 1000
M2 3 3 2400
M3 1,5 600
Ceny (z) 30 20
a) Naley okreli w jakich ilociach produkowa poszczeglne wyroby, aby przy istniej-
cych ograniczeniach przychd z ich sprzeday by moliwie najwikszy.
b) Czy optymalna struktura produkcji ulegnie zmianie, jeeli cena wyrobu W1 wzronie do
40 z.
R o z w i z a n i e:
Ad a) Naley ustali wielko produkcji dwch wyrobw, zatem zmiennymi decyzyjnymi
bd: x1 wielko produkcji wyrobu W1 i x2 wielko produkcji wyrobu W2. W warunkach
ograniczajcych naley zapisa, i wielkoci produkcji tych wyrobw powinny by takie, aby
nie zostay przekroczone dopuszczalne czasy pracy maszyn. Dla maszyny M1 warunek bdzie
mia posta: 2x1+1x2 1000 (gdzie 2x1 to zuycie czasu pracy M1 na produkcj wyrobu W1 a
1x2 to zuycie czasu pracy tej maszyny na produkcj wyrobu W2). Analogiczne warunki dla
maszyn M2 i M3 przyjmuj posta: 3x1+3x2 2400 i 1,5x1 600. Poniewa nie ma tu ad-
nych dodatkowych ogranicze dotyczcych wielkoci produkcji poszczeglnych wyrobw,
wystarczy doda warunki brzegowe i funkcj celu maksymalizujc przychd ze sprzeday:
30x1+20x2 max (gdzie 30x1 to przychd ze sprzeday wyrobu W1, a 20x2 to przychd ze
sprzeday wyrobu W2). Zatem w caoci PL dla powyszej sytuacji decyzyjnej ma posta:
F ( x1 , x2 ) 30 x1 20 x2 max .
1) 2 x1 x2 1000
2) 3x1 3x2 2400
3) 1,5 x1 600
4) x1 , x2 0
Poniewa w programie wystpuj tylko dwie zmienne decyzyjne mona go rozwiza me-
tod geometryczn (na ukadzie wsprzdnych). Aby narysowa rwnania poszczeglnych
prostych naley dla kadej z nich znale dwa punkty przez ktre jej wykres przechodzi. Naj-
atwiej jest znale punkty przecicia prostych z osiami ukadu wsprzdnych. I tak np. dla
warunku (1), jeeli przyjmiemy, e x2 = 0 wwczas x1 = 500; ten punkt zaznaczamy na osi
x1. Jeeli z kolei przyjmiemy x1 = 0 wwczas x2 = 1000; ten punkt zaznaczamy na osi x2. Te
dwa punkty czymy prost a poniewa warunek (1) ma posta nierwnoci jego geome-
trycznym obrazem jest ppaszczyzna leca poniej (na lewo) wraz z punktami nalecymi
do prostej, co na rysunku zaznaczono za pomoc strzaki skierowanej w d. Analogicznie za-
znaczono na rys. 1.1 pozostae dwa warunki: prosta (2) przecina o x1 w punkcie 800 i o x2 w
punkcie 800 a warunek speniaj punkty lece na prostej i poniej; graficznym obrazem wa-
runku (3) jest ppaszczyzna poniej prostej (cznie z t prost) rwnolegej do osi x2 o rw-
naniu x1 = 400.
Obszar speniajcy wszystkie warunki to piciobok ABCDE; punkty (o wsprzdnych x1 i
x2) lece na jego krawdziach (brzegach) i wewntrz s rozwizaniem dopuszczalnym PL. W
tym wieloboku naley znale punkt lub punkty stanowice rozwizanie optymalne, przy
czym kryterium optymalnoci jest maksymalizacja przychodu ze sprzeday, danego funkcj
F(x1, x2).
Rozwizanie optymalne, jeli istnieje, znajduje si zawsze w wierzchoku (lub wierzcho-
kach, ale wtedy caa krawd, czca te wierzchoki jest rozwizaniem optymalnym) zbioru
rozwiza dopuszczalnych. Mona je zatem znale obliczajc wartoci funkcji celu we
wszystkich jego wierzchokach. Wsprzdne wierzchokw znajdujemy rozwizujc odpo-
wiednie ukady rwna dla par przecinajcych si w nich warunkw (prostych). I tak, w naszym
przykadzie, mamy:
moliwie najbliej pocztku ukadu wsprzdnych). Jak wida F(x1, x2) = 30x1 + 20x2 = 6000
mona przesun rwnolegle tak, e bdzie ona styczna do zbioru rozwiza dopuszczalnych
w punkcie D o wsprzdnych:
x1* = 200; x2* = 600; F(x1*, x2*) = 30 200 + 20600 = 18000.
Zatem naley produkowa 200 sztuk wyrobu W1 i 600 sztuk wyroby W2, co da przychd ze
sprzeday (maksymalny przy istniejcych ograniczeniach) w wysokoci 18000 z.
Jak atwo sprawdzi, posugujc si np. metod geometryczn, rozwizanie optymalne pro-
gramu dualnego oraz optymalna warto funkcji celu ksztatuj si:
y1* = 1,8; y2* = 10,8; F(y1*, y2*) = 30001,8 + 150010,8 = 21 600.
Znajc rozwizanie programu dualnego (PD) mona przej do rozwizania programu pier-
wotnego (PP) korzystajc z przytoczonych dalej twierdze. Sprawdzimy zatem jak (ostro czy
sabo), dla rozwizania optymalnego (y1*, y2*) spenione s poszczeglne warunki PD. Otrzy-
mujemy:
1) 3 1,8 6 10,8 70,2 36 x1* 0
2) 6 1,8 4 10,8 54 54
3) 8 1,8 2 10,8 36 36
A wic ostro speniony jest warunek (1), z czego wynika e odpowiadajca mu optymalna
warto zmiennej w PP (x1*) przyjmuje warto 0, natomiast y1* i y2* s dodatnie, wic odpo-
wiadajce im warunki 1) i 2) PP s dla rozwiza optymalnych x2* i x3* spenione sabo (lewa
i prawa strona s sobie rwne zachodz z rwnoci). Wstawiajc wic x1 0 do PP otrzy-
*
Jak wic wida, zgodnie z podstawowym twierdzeniem o dualizmie: wartoci funkcji celu
dla rozwiza optymalnych obu programw s sobie rwne.
Naley zatem produkowa 300 sztuk wyrobu B i 150 sztuk wyrobu C, natomiast wyrobu A
nie produkowa. Miesiczny przychd ze sprzeday tych wyrobw wyniesie 21600 z.
Ad b) W odpowiedzi na pytanie jak wzronie przychd ze sprzeday wyrobw, jeeli zasb
surowca S1 wzronie o 10 kg wykorzystamy interpretacj zmiennych dualnych. Zamy na
wstpie, e mona dokupi 1 kg surowca S1 i wyznaczmy rozwizanie ukadu (przy zaoeniu,
e ten dodatkowy zasb nie wpynie na zmian rozwizania optymalnego):
6 x2* 8 x3* 3001
4 x2* 2 x3* 1500
Jest nim x2* = 299,9; x3* = 150,2 (x1* = 0), a F(x1*, x2*, x3*) = 360 + 54299,9 + 36150,2 =
21601,8. Wzrost zasobu surowca S1 o 1 kg da przyrost przychodu ze sprzeday (wartoci funk-
cji celu) o F = 21601,8 21600 = 1,8 = y1 .
*
Mona take sprawdzi, i gdyby o 1 kg wzrs zasb surowca S2, to rozwizaniem ukadu
rwna:
6 x2* 8 x3* 3000
4 x2* 2 x3* 1501
s wartoci x2* = 300,4; x3* = 149,7, a F(x1*, x2*, x3*) = 360 + 54300,4 + 36149,7 =
21610,8. Zatem warto przychodu ze sprzeday wzrosa o
F = 21610,8 21600 = 10,8 = y2*.
Mona take sprawdzi, i jeeli zasb surowca S1 wzronie o 10 kg, to przychd ze sprze-
day wyrobw wzronie o 18 z (101,8) podkrelmy raz jeszcze, e zakada si i taka
zmiana zasobu rodka nie powoduje zmiany rozwizania optymalnego.
Zgodnie z neoklasyczn teori ekonomii, zmienna dualna yi okrela wic kracow produk-
tywno jednostki i-tego rodka.
Na zakoczenie warto zwrci uwag na ciekaw interpretacj ekonomiczn programu du-
alnego do zagadnienia wyboru asortymentu produkcji. Przede wszystkim zauwamy, i
zmienne dualne interpretowane s take jako ceny dualne. W tym przypadku to ceny rodkw
produkcji, wyraone w z na jednostk rodka produkcji.
Zamy, e konkurent chce odkupi od producenta rodki produkcji. Budujc a nastpnie
rozwizujc program dualny konkurent oblicza jakie ceny powinien producentowi zaoferowa.
Z jednej strony chciaby odkupi rodki jak najtaniej, proponuje wic aby bi yi* , czyli warto
funkcji celu programu dualnego bya jak najnisza. Z drugiej jednak strony konkurent musi
liczy si z faktem, e jeeli zaoferuje producentowi zbyt nisk cen, to ten posiadanych rod-
kw nie sprzeda. Cena za niska, to taka, przy ktrej przychd ze sprzeday tych rodkw byby
niszy od przychodu jaki producent mgby uzyska produkujc ze rodkw wyroby i sprzeda-
jc te wyroby. Gdyby producent sprzeda rodki niezbdne do produkcji jednostki j-tego wy-
robu po cenach yi (i = 1,..., M), to dostaby sum aijyi, a wic opaci mu si sprzeda, jeeli ta
suma bdzie nie mniejsza od ceny lub zysku ze sprzeday tego wyrobu, czyli:
aijyi cj (j = 1,2,..., N),
a warunki te stanowi ograniczenia programu dualnego.
Zatem pogram dualny do zagadnienia wyboru asortymentu produkcji to program, ktry po-
winien rozwiza konkurent pragncy naby rodki produkcji od producenta, jeeli chciaby
dziaa racjonalnie i liczy na racjonalne zachowanie producenta.
F ( x1 ,...,x5 ) 8 x1 2 x2 12 x3 6 x4 0 x5 min
5 x1 4 x2 2 x3 x4 400
x2 2 x3 3 x4 4 x5 1200
x1 , x2 ,...,x5 0
W modelu wystpuje 5 zmiennych decyzyjnych, ale tylko dwa warunki ograniczajce
mona zatem go rozwiza wykorzystujc zalenoci pomidzy programem pierwotnym i du-
alnym. Program dualny dla powyszego modelu ma posta:
F ( y1 , y2 ) 400 y1 1200 y2 max
1) 5 y1 8
2) 4 y1 y2 2
3) 2 y1 2 y2 12
4) y1 3 y2 6
5) 4 y2 0
6) y1 , y2 0
a jego rozwizaniem optymalnym, znalezionym metod geometryczn, jak atwo sprawdzi
[zbir rozwiza dopuszczalnych redukuje si do odcinka OA, gdzie O(0; 0) oraz A(0,5; 0)]
bez wtpienia jest wsprzdne punktu A, tj.:
y1 0,5; y 2 0; F ( y1 , y2 ) 400 0,5 1200 0 200.
* * * *
Aby wrci do rozwizania PP sprawdzamy, jak (ostro czy sabo) w rozwizaniu optymal-
nym PD spenione s jego poszczeglne warunki. Podstawiajc optymalne wartoci zmiennych
dualnych mamy:
1) 5 0,5 2,5 8 x1* 0
2) 4 0,5 0 2
3) 2 0,5 2 0 1 12 x3* 0
4) 0,5 3 0 3 6 x4* 0
5) 4 0 0
Wiedzc, e x1 x 3 x 4 0 mona atwo znale rozwizanie programu pierwotnego:
* * *
4
x2* 100,x5* 275;F ( x1* ,...,x5* ) 8 0 2 100 12 0 6 0 0 275 200 z F ( y1* , y2* ).
Naley zatem 100 kd poci sposobem drugim i co najmniej 275 kd sposobem pi-
tym. czny koszt odpadw wyniesie 200 z.
Warto jeszcze zwrci uwag na interpretacj zmiennych dualnych. Rwnie w tym przy-
padku s to ceny dualne ceny 1 dodatkowego wyrobu. Przypomnijmy raz jeszcze, e w myl
twierdzenia o dualizmie warto zmiennej dualnej yi informuje o ile wzronie warto funkcji
Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 14
Elementy Bada Operacyjnych
celu PP, jeeli wyraz wolny w itym ograniczeniu wzronie o 1. Zatem gdyby klient zayczy
sobie dodatkow belk o dugoci 0,8 m, to koszt odpadw wzrsby o y1* 0,5 z, gdyby za
klient zayczy sobie dodatkow belk o dugoci 1,1 m, to koszt odpadw nie ulegby zmianie
( y 2 0 ).
*
Tablica 4
Zawarto skadnika w 1 kg mieszanki Cena 1 kg
Mieszanka
A B C mieszanki (z)
M1 6 15 24 4,5
M2 15 10 4 3
Wiedzc ponadto, e mieszanki M1 nie naley podawa wicej ni M2 i nie wicej ni 4
kg w cigu miesica naley odpowiedzie na nastpujce pytania:
a) w jakiej iloci zakupi mieszanki M1 i M2, aby zwierzta otrzymay potrzebne skadniki
odywcze przy moliwie najniszych kosztach zakupu mieszanek.
b) czy optymalna dieta ulegnie zmianie, jeeli mieszanka M2 podroeje do 4 z.
R o z w i z a n i e:
Ad a) Naley ustali optymaln wielko zakupu dwch mieszanek, zatem w modelu wy-
stpuj dwie zmienne decyzyjne: x1 - wielko zakupu mieszanki M1 i x2 - wielko zakupu
mieszanki M2, a model opisujcy powyszy problem ma posta:
F ( x1 , x2 ) 4,5 x1 3x2 min
1) 6 x1 15x2 90
2) 15x1 10 x2 150
3) 24 x1 4 x2 96
4) x1 x2
5) x1 4
6) x1 , x2 0
Zauwamy, e geometrycznym obrazem warunku (4) jest prosta x1 = x2 i punkty lece na
lewo od niej. Zbiorem rozwiza dopuszczalnych jest odcinek prostej (2) (warunek (2) jest
speniony wycznie przez punkty lece na prostej) pomidzy punktami A(0; 15) i B(2;12).
Odcinek ten jest rwnoczenie rozwizaniem optymalnym zadania, bowiem warto funkcji
celu w obydwu punktach jest taka sama: F(A) = 4,50 + 315 = 45 = F(B) = 4,52 + 312 = 45.
Przykad 5. Odlewnia powinna wyprodukowa w ramach zamwienia 1600 ton eliwa
zawierajcego 62,5% Si i 18,75% Mn. W celu realizacji zamwienia odlewnia moe kupi
czterech rodzajw stopw eliwnych, ale o innej proporcji wyej wymienionych pierwiastkw.
Zawartoci pierwiastkw i ceny zakupu stopw, podanych w tablicy 5.
a) Ile naley zakupi poszczeglnych stopw, aby wyprodukowa eliwo o podanym
skadzie ponoszc moliwie najnisze koszty zakupu stopw.
b) Jak wzrosn koszty zakupu stopw, jeeli wymagania dotyczce zawartoci Si w eliwie
wzrosn o 10 ton.
Tablica 5
% zawarto pier-
Stop wiastka w stopie Cena 1 tony
stopu (z)
Si Mn
S1 30 30 45
S2 60 40 54
S3 70 - 42
S4 80 20 36
R o z w i z a n i e:
Ad a) Przykad ten dotyczy zagadnienia mieszanki, bdcego uoglnieniem zagadnienia
diety. Zagadnienie mieszanki dotyczy ustalenia iloci podstawowych surowcw jakie naley
zmiesza (zakupi) aby otrzyma produkt o podanym skadzie chemicznym przy moliwie
najniszych kosztach zakupu surowcw.
W tym przypadku surowcami s cztery rodzaje stopw, zatem zmienne decyzyjne x1, x2,
x3, x4 to odpowiednio iloci ton stopw S1, ... S4. Wytworzone (w iloci 1600 ton) eliwo po-
winno zawiera 62,5% (czyli 62,5%1600 = 1000 ton) Si oraz 18,75% (czyli 18,75%1600 =
300 ton) Mn. Program liniowy dla powyszego problemu przyjmuje posta:
F ( x1 ,...,x4 ) 45x1 54 x2 42 x3 36 x4 min
0,3x1 0,6 x2 0,7 x3 0,8 x4 1000
0,3x1 0,4 x2 0,2 x4 300
x1 , x2 , x3 , x4 0
Najatwiej mona go rozwiza wykorzystujc zalenoci pomidzy PP i PD. Program du-
alny przedstawiono poniej:
F ( y1 , y2 ) 1000 y1 300 y2 max
0,3 y1 0,3 y2 45
0,6 y1 0,4 y2 54
0,7 y1 42
0,8 y1 0,2 y2 36
y1 , y2 0
Rozwizaniem optymalnym PD s wsprzdne punktu P, w ktrym przecinaj si proste (2) i
(4). Rozwizujc ukad tych dwu rwna otrzymujemy: y1 18, y 2 108, a wobec tego
* *
sabo (jako rwnoci) speniaj warunki (2) i (4), natomiast ostro speniaj warunki (1) i (3).
Std wiadomo, e x1 x3 0. Pozostaje zatem rozwizanie ukadu rwna:
* *
Do produkcji eliwa naley zatem uy 200 ton stopu S2 i 1100 ton stopu S4, czne koszty
zakupu surowcw wynios 50 400 z.
Ad b) Aby odpowiedzie na pytanie: jak wzrosn koszty zakupu stopw, jeeli wymaga-
nia dotyczce zawartoci Si w eliwie wzrosn o 10 ton, tj. do 1010 ton, mona wykorzysta
interpretacj zmiennych dualnych lub rozwiza ukad rwna:
0,6 x2* 0,8 x4* 1010
0,4 x2* 0,2 x4* 300
i porwna wartoci funkcji celu.
Otrzymujemy: x2 190, x4 1120. F ( x1 , ..., x4 ) 54 190 36 1120 50580. Zatem
* * * *
koszty zakupu surowcw wzrosy o F = 50580 50400 = 180 z. Analogiczny wynik daje:
y1 10 18 10 180.
*
Ai B j ,
i 1 j 1
mknitym zagadnieniem transportowym (ZZT), jeeli natomiast warunek jest speniony z nie-
R N
rwnoci (ostro) Ai B j , jest to tzw. otwarte zagadnienie transportowe (OZT).
i 1 j 1
c x
i 1 j 1
ij ij min funkcja celu
x
j 1
ij Ai (i = 1,2,..., M) warunki dla dostawcw
x
i 1
ij Bj (j = 1,2,..., N) warunki dla odbiorcw
x
N
warunki dla dostawcw: xij Ai (i 1,...,M ), ij Ai (i 1,...,M ),
j 1 j 1
M M
warunki dla odbiorcw: xij B j
i 1
( j 1,...,N ), x
i 1
ij Bj ( j 1,...,N 1),
R o z w i z a n i e:
Przepiszmy tablic 6 uzupeniajc j o dodatkowy wiersz i kolumn do ktrych wpiszemy
odpowiednio poda i popyt:
Tablica 6a
Odbiorcy Z1 Z2 Z3 Z4 Ai
Dostawcy
M1 125 100 125 50 70
M2 100 200 175 75 50
M3 150 100 175 200 80
Bj 40 60 50 50
3 4
Poniewa Ai 70 50 80 200;
i 1
B
j 1
j 40 60 50 50 200; jest to zatem zagad-
nienie transportowe zamknite. Zmienne decyzyjne xij to ilo ton cukru, jak naley przewie
z i-tego magazynu (i = 1, 2, 3) do j-tego zakadu cukierniczego (j = 1,..., 4); zmiennych decy-
zyjnych bdzie 34 = 12. Model zagadnienia jest nastpujcy:
K ( xij ) 125 x11 100 x12 125 x13 50 x14 funkcja celu minimalizujca czne
100 x21 200 x22 175 x23 75 x24 koszty transportu od wszystkich do-
150 x31 100 x32 175 x33 200 x34 min stawcw do wszystkich odbiorcw.
4
x11 x12 x13 x14 x1 j 70
j 1
4 warunki dla dostawcw
x21 x22 x23 x24 x2 j 50
j 1
4
x31 x32 x33 x34 x3 j 80
j 1
3
x11 x21 x31 xi1 40
i 1
3
x12 x2 2 x32 xi 2 60
i 1
3 warunki dla odbiorcw
x13 x23 x33 xi 3 50
i 1
3
x14 x24 x34 xi1 50
i 1
xij 0 (i = 1, 2, 3; j = 1,..., 4) warunki brzegowe
koszty produkcji 1 tony w tej cukrowni, czyli 1600, do kosztw transportu z drugiej cukrowni
1550 i z trzeciej 1570. Elementy pitej kolumny bd sum kosztw produkcji i magazy-
nowania w poszczeglnych cukrowniach.
1665 1690 1640 1740 1560
Macierz ta ma posta: kij 1625 1675 1700 1725 1560 ,
1670 1645 1695 1620 1580
a model zadania jest nastpujcy:
Warunki dla dostawcw: Warunki dla odbiorcw:
x11 + x12 + x13 + x14 + x15 = 350 x11 + x21 + x31 = 200
x21 + x22 + x23 + x24 + x25 =300 x12 + x22 + x32 = 200
x31 + x32 + x33 + x34 + x35 =350 x13 + x23 + x33 = 200
x14 + x24 + x34 = 200
x15 + x25 + x35 = 200; w tym ostatnim wa-
runku zapisano, i cznie w trzech cu-
krowniach naley zmagazynowa 200
(1000-800) ton cukru.
Funkcja celu:
F(xij) = 1665x11 + 1690x12 + 1640x13 + + 1695x33 + 1620x34 + 1580x35 min
Rozwizanie optymalne, uzyskane za pomoc metody minimalnego elementu macierzy (co
prawda nie wszystkie przewozy udao si rozmieci w klatkach z zerami) jest nastpujce:
x13* = 200, x15* = 150, x21* = 200, x24* = 50, x25* = 50, x32* = 200, x34* = 150;
K(xij*) = 1 623 250 z.
Solver z Excela poradzi sobie jednak troch lepiej:
x13* = 200, x15* = 150, x21* = 200, x22* = 50, x25* = 50, x32* = 150, x34* = 200;
K(xij*) = 1 619 500 z.
Naley zauway, i konstrukcja optymalnego planu przewozw jest moliwa take przy
zaoeniu, e zdolnoci produkcyjne cukrowni bd wykorzystane tylko w takim stopniu jak
tego wymaga zapotrzebowanie zakadw cukierniczych. Wwczas fikcyjnym odbiorc bdzie
nie magazyn, lecz niewykorzystana zdolno produkcyjna; ki5 = 0 dla i = 1, 2, 3 (bo nie pono-
simy ani kosztw produkcji, ani kosztw magazynowania), a rozwizanie optymalne uzyskane
za pomoc Solvera jest nastpujce:
x13* = 200, x15* = 150, x21* = 200, x22* = 50, x25* = 50, x32* = 150, x34* = 200,
K(xij*)=1 307 500 z.
Z tego rozwizania wynika, e niewykorzystane zdolnoci produkcyjne pozostan w cu-
krowniach C1 (150 ton cukru) i C2 (50 ton cukru).
O ile omawiane dotychczas zagadnienia dotyczyy optymalnych przewozw masy towaro-
wej, o tyle zagadnienie minimalizacji pustych przebiegw dotyczy optymalnego krenia rod-
kw transportu rozwocych towar.
Zamy, e istnieje N miast, midzy ktrymi odbywa si wymiana towarw. Miasta tworz
ukad zamknity, tzn. wymiana odbywa si tylko pomidzy nimi i kade moe by zarwno
dostawc, jak i odbiorc. Do kadego z tych punktw przywozi si i z kadego z nich wywozi
si w pewnym okresie okrelon mas towarow nadajc si do transportu tym samym rod-
kiem transportu. Znane s odlegoci pomidzy miastami (dij; i, j = 1, 2,..., N), znany jest te
przewz masy towarowej pomidzy miastami aij wyraony liczb penych rodkw trans-
portu (samochodw, wagonw itp.).
Dla kadego miasta mona wic okreli liczb rodkw transportu niezbdn do wywiezie-
nia masy towarowej (wywz z i-tego miasta), wynoszcy:
N
wi aij (i 1,...,N ),
j 1
oraz licz rodkw transportu niezbdn do przywiezienia masy towarowej (przywz do mia-
sta), ktry wynosi:
n
p j aij ( j 1,...,N ) ,
i 1
skd wynika, e speniona musi by rwno:
n n
wi pi .
i 1 i 1
Natomiast dla poszczeglnych miast wywz (wi) nie musi by rwny przywozowi (pi). Pozo-
staje wic problem zaopatrzenia w puste rodki transportu tych miast, w ktrych wywz jest
wikszy od przywozu przez te miasta, ktrych wywz jest mniejszy od przywozu (nie wyko-
rzystuj pewnej iloci nadchodzcych rodkw transportu). Za optymalny plan przebiegu pu-
stych rodkw transportu (samochodw, wagonw) uznaje si taki, przy ktrym czny wa-
gono(samochodo)kilometra pustych przebiegw bdzie minimalny, przy zaopatrzeniu wszyst-
kich miast w niezbdn ilo pustych rodkw transportu.
Miasta dla ktrych wj > pj, wystpi jako odbiorcy pustych rodkw transportu (j O, ich
zapotrzebowanie na puste rodki transportu wyniesie: Bj = wj pj (Bj > 0), miasta dla ktrych
wi < pi, wystpi jako dostawcy pustych rodkw transportu (i D; nadwyka pustych rod-
kw transportu w tych miastach wyniesie Ai = pi wi. Jeli dla pewnego j pj = wj, to takie miasto
eliminujemy z analizy. Znajc wielkoci dostaw pustych samochodw (Ai) i zapotrzebowania
na puste samochody (Bj) oraz odlegoci pomidzy miastami (dij) mona uoy ZZT.
R o z w i z a n i e:
W tablicy 9a dokonano podziau analizowanych miejscowoci na dostawcw (D) i odbior-
cw (O) pustych wagonw, obliczajc rnice pomidzy przywozem i wywozem.
Tablica 9a
Stacja (i) wi pi
1 34 4 = 10 O
2 24 38 = 4 D
3 16 10 = 6 O
4 14 20 = 6 D
5 39 20 = 19 O
6 20 38 = 18 D
7 18 13 = 5 O
8 5 7 = 2 D
W rezultacie problem sprowadza si do zamknitego zagadnienienia transportowego z czte-
rema dostawcami i czterema odbiorcami, co przedstawia tablica 9b. Dostawcami pustych wa-
gonw bd stacje 2, 4, 6, 8, a odbiorcami stacje 1, 3, 5, 7. W ostatniej kolumnie tablicy po-
dano oferowane przez dostawcw iloci pustych wagonw (Ai) a w ostatnim wierszu zapo-
trzebowanie (Bj)na puste wagony zgaszane przez stacje odbiorcw
Tablica 9b
Odbiorcy
1 3 5 7 Ai
Dostawcy
2 310 185 200 140 14
4 360 330 220 440 6
6 230 220 280 260 18
8 330 200 120 180 2
Bj 10 6 19 5
Wewntrz tablicy podano odlegoci pomidzy stacjami dostawcami i stacjami odbior-
cami. Zmienne decyzyjne xij to iloci pustych wagonw jak naley przesa z miejscowoci i
(i = 2, 4, 6, 8) do miejscowoci j (j = 1, 3, 5, 7). Model matematyczny zagadnienia jest nast-
pujcy:
Funkcja celu:
K(xij) = 310x21 + 185x23 + 200x25 + 140x27 + ... + 180x87 min
Warunki dla dostawcw:
x21 + x23 + x25 + x27 = 14
x41 + x43 + x45 + x47 = 6
x61 + x63 + x65 + x67 = 18
x81 + x83 + x85 + x87 = 2
Warunki dla odbiorcw:
x21 + x41 + x61 + x81 = 10
x23 + x43 + x63 + x83 = 6
x25 + x45 + x65 + x85 = 19
x27 + x47 + x67 + x87 = 5
Warunki brzegowe:
xij i D, j O.
W funkcji celu minimalizuje si wagonokilometra pustych przebiegw.
Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 27
Elementy Bada Operacyjnych
4. PROGRAM DUALNY
Do kadego programu liniowego, ktry moemy uzna za program pierwotny (prymalny),
moemy stworzy program do dualny. Jest to zadanie wyjtkowo proste w odniesieniu do
zagadnienia standardowego (maksymalizacji wzgldnie minimalizacji).
mog mie te posta rwnoci. Ponadto nie wszystkie zmienne decyzyjne musz by nieu-
jemne. Niektre mog by niedodatnie, inne za dowolne. Jak zatem w takiej sytuacji utworzy
program dualny do takiego zagadnienia pierwotnego, ktre nie ma struktury zagadnienia stan-
dardowego? Wbrew pozorom, sprawa jest prosta; mamy 4 proste reguy dziaajce w dwie
strony (tu trzeba pamita, e kademu warunkowi ograniczajcemu w jednym zagadnieniu
odpowiada jaka zmienna decyzyjna w drugim zagadnieniu, i na odwrt, kadej zmiennej de-
cyzyjnej w drugim zagadnieniu odpowiada jaki warunek ograniczajcy w pierwszym zagad-
nieniu):
1o programem dualnym do pierwotnego zagadnienia maksymalizacji jest zagadnienie mini-
malizacji, i na odwrt, programem dualnym do pierwotnego zagadnienia minimalizacji jest za-
gadnienie maksymalizacji
2o warunkom ograniczajcym o kierunku nierwnoci zgodnym z zagadnieniem standardo-
wym w jednym zagadnieniu, w drugim zagadnieniu odpowiadaj nieujemne zmienne decy-
zyjne, i na odwrt: nieujemnym zmiennym decyzyjnym w jednym zagadnieniu w drugim za-
gadnieniu odpowiadaj warunki o nierwnociach zgodnych z zagadnieniem standardowym
3o warunkom ograniczajcym o kierunku nierwnoci niezgodnym z zagadnieniem standar-
dowym w jednym zagadnieniu, w drugim zagadnieniu odpowiadaj niedodatnie zmienne de-
cyzyjne, i na odwrt: niedodatnim zmiennym decyzyjnym w jednym zagadnieniu w drugim
odpowiadaj warunki o nierwnociach niezgodnych z zagadnieniem standardowym
4o warunkom ograniczajcym w postaci rwnoci w jednym zagadnieniu, w drugim zagad-
nieniu odpowiadaj dowolne zmienne decyzyjne, i na odwrt: dowolnym zmiennym decyzyj-
nym w jednym zagadnieniu w drugim odpowiadaj warunki w postaci rwnoci.
Przedstawione powyej (w sposb werbalny) reguy zestawilimy bardziej formalnie w po-
niszej tabeli, zakadajc e warunki i zmienne zostay tak przenumerowane, e przy czytaniu
tabeli z lewej na praw (kiedy programem pierwotnym jest zagadnienie maksymalizacji) K
pierwszych warunkw ma kierunek nierwnoci zgodny z kierunkiem zagadnienia standardo-
wego, L kolejnych warunkw ma kierunek nierwnoci niezgodny z zagadnieniem standardo-
wym, pozostae za s rwnoci
a x j bi i 1, , K
warunki ograniczajce
y i 0 i 1, , K
zmienne decyzyjne
ij
j 1
N
a
j 1
ij x j bi i K 1, , L y i 0 i K 1, , L
N
a
j 1
ij x j bi i K L 1,, M y i R i K L 1, , M
M
a
warunki ograniczajce
xj 0 j 1, , S xj cj j 1, , S
zmienne decyzyjne
ij
i 1
M
xj 0 j S 1, , T a
i 1
ij xj cj j S 1, , T
M
xj R j S T 1,, N a
i 1
ij xj cj j S T 1,, N
R o z w i z a n i e:
Niech y1, y2 bd zmiennymi decyzyjnymi programu dualnego (bd dwie zmienne dualne,
bo program pierwotny ma tylko 2 warunki ograniczajce; warunek (3) jest warunkiem brzego-
wym). W programie dualny funkcja celu bdzie podlegaa maksymalizacji, bowiem w progra-
mie pierwotnym jest ona minimalizowana. Skoro program pierwotny ma 4 zmienne decyzyjne,
to program dualny bdzie mia 4 warunki ograniczajce, przy czym jeden warunek (pierwszy)
bdzie mia kierunek nierwnoci niezgodny z zagadnieniem standardowym (maksymalizacji),
bo pierwsza zmienna decyzyjna w programie pierwotnym jest niedodatnia. Obydwie zmienne
decyzyjne programu dualnego bd nieujemne, bo obydwa warunki ograniczajce programu
pierwotnego s postaci , czyli maj kierunek nierwnoci zgodny z zagadnieniem standardo-
wym (minimalizacji). Wobec tego program dualny bdzie mia nastpujc posta:
G ( y1 , y2 ) 8 y1 10 y2 max
(1) y1 y2 4
(2) y1 y2 2
(3) 3 y1 7 y2 28
(4) y1 7
(5) y1 , y2 0
Przykad 11. Znale rozwizanie optymalne modelu z przykadu 10, wiedzc, e rozwi-
zanie optymalne programu dualnego to: y1* = 7 i y2* = 7.
R o z w i z a n i e:
Poniewa y1* y2* s niezerowe, to warunek (1) i (2) dla rozwiza optymalnych x1*, x2*,
x3* i x4* bd rwnociami, zatem
(1) x1* x*2 3x*3 x*4 8
(2) x1* x*2 7 x*3 10
ale dla y1* = 7 i y2* = 7 warunki (1) i (2) programu dualnego s spenione ostro
(y1* + y2* = 7 + 7 = 14 > 4; y1* y2* = 7 7 = 0 < 2), wobec tego, w myl twierdzenia o su-
mach dopeniajcych: x1* = 0 i x2* = 0. Ostatecznie mamy zatem:
(1) 3x*3 x*4 8 x4* 86 / 7
(2) 7 x*3 10 x3* 10 / 7
wobec tego pene rozwizanie programu pierwotnego to: x1* = 0, x2* = 0, x3* = 10/7
i x4* = 86/7. Kontrolne obliczenia:
10 86
G ( y1* , y2* ) 8 7 10 7 126 4 0 2 0 28 7 F ( x1* , x2* , x3* , x4* )
7 7
pokazuj, e przejcie od rozwizania optymalnego programu dualnego do rozwizania opty-
malnego programu pierwotnego odbyo si poprawnie, bowiem zgodnie z Twierdzeniem 2 op-
tymalne wartoci funkcji celu s identyczne.
t dodatkow jednostk owego i-tego limitowanego rodka produkcji. Zapewne nie wicej ni
moemy zyska zwikszajc produkcj dziki owej dodatkowej jednostce. Z rwnoci opty-
malnych wartoci funkcji celu (Twierdzenie 2) wynika, e zwikszenie limitu i-tego rodka
produkcji o jednostk zwiksza warto funkcji celu zagadnienia dualnego, a tym samym pro-
gramu pierwotnego o yi* (bo i-ty skadnik nowej funkcji celu jest rwny:
(bi +1)yi* = biyi* + yi*). Zatem optymalna warto zmiennej dualnej jest maksymaln cen (du-
aln), jak warto da za dodatkow jednostk limitowanego rodka produkcji.
Ta interpretacja pokazuje, e znaczenie programy dualnego wykracza poza moliwo po-
redniego rozwizania programu pierwotnego za porednictwem programu dualnego, kiedy
rozwizanie tego pierwszego wprost (bezporednio) moe by zbyt trudne (pracochonne) czy
wrcz niemoliwe. Czasami naley rozwiza program dualny, aby pogbi zrozumienie pro-
gramu pierwotnego.