You are on page 1of 32

Elementy Bada Operacyjnych

Elementy bada operacyjnych programowanie liniowe


1. Wprowadzenie
2. Formalny standardowy model liniowy maksymalizacji (minimalizacji) jako przykad
realizacji dwch klasycznych zasad sprawnego dziaania
(A. osign maksymalny efekt przy danych nakadach, albo B. zminimalizowa
koszty osignicia danego efektu)
3. Przykadowe klasy zagadnie programowania liniowego
3.1. Zagadnienie wyboru asortymentu produkcji
(okreli, ktre wyroby w jakiej iloci produkowa, aby osign jak najwik-
sze przychody z ich sprzeday a jednoczenie nie przekroczy limitw zuycia
rodkw produkcji)
3.2. Zagadnienie diety (mieszanek)
(okreli, ktre produkty ywnociowe, i w jakich ilociach zakupi, aby do-
starczy zawartych w nich, a niezbdnych organizmowi, skadnikw odyw-
czych przy jak najmniejszych kosztach ywienia)
3.3. Zagadnienie wyboru procesu produkcyjnego
(okreli, ktre procesy technologiczne i z jak intensywnoci naley zasto-
sowa, aby osign podany rozmiar produkcji przy jak najmniejszym od-
padzie, koszcie)
3.4. Zagadnienia transportowe
3.4.1. Zamknite i otwarte zagadnienia transportowe
3.4.2. Klasy zagadnie (transportowo-produkcyjne, transportowo-produk-
cyjno-magazynowe, lokalizacji produkcji, minimalizacji pustych
przebiegw)
4. Program dualny
4.1. Program dualny do zagadnienia standardowego
4.2. Niesymetryczne zagadnienie dualne
4.3. Zwizki midzy rozwizaniem zagadnienia pierwotnego i dualnego (podsta-
wowe twierdzenia o dualizmie)
Przejcie od programu pierwotnego do dualnego; rozwizanie zadania dualnego
(metod graficzn stosown do rozwizywania prostych zagadnie programowa-
nia liniowego) i powrt do programu pierwotnego (rozwizanie z wykorzystaniem
twierdzenia o rnicach sum dopeniajcych
4.4. Interpretacja zmiennych dualnych

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

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 1


Elementy Bada Operacyjnych

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.

W badaniach operacyjnych wyrnia si cztery nastpujce etapy:


1. Sformuowanie problemu i budowa modelu.
Naley tu pocztkowo opisowo okreli: o czym mamy decydowa, co jest celem dziaa-
nia, jakie s warunki w ktrych dziaamy, jakie rodki wchodz w gr i co stanowi kryte-
rium umoliwiajce ocen wynikw dziaania, a nastpnie zapisa to w postaci modelu
matematycznego. Model odzwierciedla interesujcy nas fragment rzeczywistoci z pomi-
niciem mniej istotnych elementw tej rzeczywistoci. Budujc model matematyczny na-
ley zawsze pamita o tym, aby uwzgldnia on wszystkie istotne elementy, mogce mie
wpyw na podejmowan decyzj.
2. Rozwizanie modelu, czyli wyznaczenie decyzji optymalnej.
3. Weryfikacja modelu i uzyskanego rozwizania.
Jest to konieczne, zanim rozwizanie zostanie zastosowane w praktyce. Chodzi o konfron-
tacj uzyskanego rozwizania z rzeczywistoci w takim zakresie w jakim to jest moliwe.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 2


Elementy Bada Operacyjnych

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.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 3


Elementy Bada Operacyjnych

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).

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 4


Elementy Bada Operacyjnych

Zatem, rozwizanie programu liniowego polega na wyznaczeniu optymalnych wartoci


zmiennych decyzyjnych.
Uniwersaln, numeryczn metod rozwizywania programw liniowych jest tzw. algorytm
simpleks. Jest to procedura iteracyjna (etapowa), ktra polega na tym, e wyznacza si dowolne
pocztkowe rozwizanie dopuszczalne, tzw. rozwizanie bazowe i to rozwizanie poprawia si
w kolejnych iteracjach, a do momentu stwierdzenia, e dalsza poprawa jest niemoliwa. Od-
powiednie procedury zapewniaj, e kade kolejne rozwizanie bazowe jest lepsze (a przy-
najmniej nie gorsze) od poprzedniego. Poprawa rozwiza w kolejnych iteracjach polega na
osiganiu coraz wyszej wartoci funkcji celu, ktra jest maksymalizowana (lub coraz niszej
wartoci funkcji celu, ktra jest minimalizowana). Jest to procedura pracochonna i zwykle re-
alizuj j wyspecjalizowane pakiety komputerowe, jak np. CMMS, QSB, Lindo. Mona j
take zrealizowa w arkuszu kalkulacyjnym Excel, wykorzystujc modu (narzdzie) jakim jest
Solver, pamitajc jednake, aby w opcjach zaznaczy, i interesuje nas optymalizacja liniowa,
gdy Solver potrafi take szuka ekstremum (zarwno warunkowego, jak i bezwarunkowego)
modeli nieliniowych, ale uruchamia w tym celu podmoduy rniczkowania numerycznego,
zupenie zbdne w optymalizacji liniowej.
W szczeglnym przypadku, gdy w modelu wystpuj dwie zmienne decyzyjne mona
program liniowy rozwiza metod geometryczn. Innym szczeglnym przypadkiem s mo-
dele w ktrych wystpuj wicej ni dwie zmienne decyzyjne ale tylko dwa warunki ograni-
czajce. Do rozwizania takiego modelu mona wykorzysta zalenoci pomidzy programem
pierwotnym i dualnym, tzn. rozwiza program dualny (w ktrym bd tylko dwie zmienne
decyzyjne), a nastpnie przej do rozwizania programu pierwotnego wykorzystujc odpo-
wiednie twierdzenie.

3. PRZYKADOWE KLASY ZAGADNIE PROGRAMOWANIA LINIOWEGO


Za pomoc modeli programowania liniowego mona opisa bardzo wiele sytuacji decyzyj-
nych, w ktrych zalenoci pomidzy zmiennymi s typu liniowego. Najczciej omawiane s
trzy problemy mikroekonomiczne: wybr wielkoci i struktury produkcji w zakadzie produk-
cyjnym, wybr procesu technologicznego oraz problem diety (mieszanki). Znajomo tych ty-
powych problemw stanowi zwykle podstaw umoliwiajc rozwizanie take innych proble-
mw pojawiajcych si w praktyce.

3.1. Wybr asortymentu produkcji w zakadzie przemysowym.


Zakad (firma) moe produkowa N wyrobw. Do ich produkcji zuywane s rne
rodki produkcji, z ktrych cz jest dostpna w ograniczonych ilociach, zamy e jest do
dyspozycji M limitowanych rodkw produkcji. Dane s normy zuycia rodkw produkcji na
jednostk kadego wyrobu, zasoby rodkw produkcji, ceny lub zyski jednostkowe ze sprze-
day wyrobw, mog by take dodatkowe informacje o popycie na produkowane wyroby
(maksymalnej iloci jak bdzie mona sprzeda lub minimalnej iloci jak trzeba wyprodu-
kowa aby zrealizowa zamwienia odbiorcw). Zatem parametrami w modelu matematycz-
nym zagadnienia s:
aij zuycie i-tego limitowanego rodka produkcji na wytworzenie jednostki j-tego wyrobu
(i = 1,..., M; j = 1,..., N),
bi posiadany zasb i-tego limitowanego rodka produkcji,
cj cena lub zysk jednostkowy ze sprzeday j-tego wyrobu,
Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 5
Elementy Bada Operacyjnych

uj minimalna ilo j-tego wyrobu jak trzeba wyprodukowa,


vj maksymalna ilo j-tego wyrobu jak mona sprzeda.
Naley okreli wielko produkcji poszczeglnych wyrobw, tak aby nie przekraczajc
posiadanych zasobw rodkw produkcji i ewentualnie speniajc pewne dodatkowe ograni-
czenia dotyczce struktury produkcji zmaksymalizowa przychd (lub zysk) z ich sprzeday.
Zmiennymi decyzyjnymi w tym zagadnieniu s zatem wielkoci produkcji wyrobw:
xj - wielko produkcji j-tego wyrobu, a oglny model zagadnienia mona zapisa nastpujco:
c1 x1 c2 x2 cN x N max
a11 x1 a12 x2 a1N x N b1



a M 1 x1 a M 2 x2 a MN x N bM
u x v dla niektrych j
j j j

x1 ,, xn 0

lub nadal skalarnie, jednake w sposb bardziej zwarty:


N

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.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 6


Elementy Bada Operacyjnych

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:

A(0; 0) F(A) = 300 + 200 = 0,


B(400; 0) F(B) = 30400 + 200 = 12 000,
C(400; 200) F(C) = 30400 + 20200 = 16 000,
Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 7
Elementy Bada Operacyjnych

D(200; 600) F(D) = 30200 + 20600 = 18000,


E(0; 800) F(E) = 300 + 20800 = 16 000.
Najwysz warto funkcja celu przyjmuje w punkcie D; zatem wsprzdne tego punktu
stanowi rozwizanie optymalne problemu.

Rozwizanie optymalne mona znale take znacznie szybciej. Przyjmuje si mianowicie


dowoln warto funkcji celu (tak aby mona byo j nanie na rysunek) i rysuje jej wykres,
dla odrnienia od warunkw ograniczajcych na rys. 1.1 zaznaczono j lini przerywan.
Przyjmijmy np. warto pocztkow 6000. Mamy zatem F(x1, x2) = 30x1 + 20x2 = 6000; funk-
cja przecina o x1 w punkcie 200 i o x2 w punkcie 300. Zauwamy, e gdybymy przyjli
warto wysz np., 12000 to otrzymalibymy prost o rwnaniu F(x1, x2) =
30x1 + 20x2 = 12000. Prosta ta byaby rwnolega do pierwszej prostej, ale bardziej oddalona
od pocztku ukadu wsprzdnych. Gdybymy natomiast wzili pewn warto nisz np.
3000, to prosta F(x1, x2) = 30x1 + 20x2 = 3000 byaby te rwnolega do prostej pierwszej, ale
leaaby bliej pocztku ukadu wsprzdnych. Widzimy zatem, i gdybymy na rysunek na-
nieli proste dla rnych wartoci F(x1, x2), wszystkie one byyby rwnolege do siebie i do
pierwszej wyznaczonej prostej. Znalezienie punktu optymalnego sprowadza si do tego, aby w
wieloboku rozwiza dopuszczalnych znale punkt lecy na prostej o najwyszej wartoci
funkcji celu.
Praktycznie jednak wystarczy wykreli jedn prost i j przesuwa rwnolegle, w zale-
noci od potrzeb w gr lub w d, tak aby w przypadku maksymalizacji funkcji celu znale
punkt zbioru rozwiza dopuszczalnych pooony moliwie najdalej od pocztku ukadu
wsprzdnych (jeeli funkcja celu jest minimalizowana bdziemy szuka punktu pooonego

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 8


Elementy Bada Operacyjnych

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.

Ad b) Jeeli cena wyrobu W1 zostanie podwyszona do 40 z, zbir rozwiza dopuszczal-


nych nie ulegnie zmianie, moe natomiast zmieni si rozwizanie optymalne, bo zmienia si
kt nachylenia (wspczynnik kierunkowy) funkcji celu. Nowa funkcja kryterium przyjmuje
posta: F(x1, x2) = 40x1 + 20x2, a po przyjciu jej pocztkowej wartoci np. 8000 wykres funk-
cji F(x1, x2) = 40x1 + 20x2 = 8000 zaznaczono take na rys. 1.2.

Przesuwamy j nastpnie w gr szukajc punktu nalecego do wieloboku ABCDE poo-


onego moliwie najdalej od pocztku ukadu. Jak wida najwysze jej pooenie pokrywa si
z odcinkiem CD zbioru rozwiza dopuszczalnych [nietrudno zauway, i funkcja F(x1, x2)
jest rwnolega do prostej (1), do ktrej naley odcinek DE, tzn. ich wspczynniki s odpo-
wiednio proporcjonalne], zatem cay odcinek CD bdzie obecnie zbiorem rozwiza dopusz-
czalnych. Jak atwo sprawdzi, warto funkcji celu w obu punktach jest taka sama:
F(C)=40400 + 20200 = 20000 i F(D) = 40200 + 20600 = 20000. Tak sam warto przyj-
mie funkcja celu w dowolnym innym punkcie odcinka CD. W tym przypadku mamy niesko-
czenie wiele rozwiza optymalnych, dwa przykadowe to:

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 9


Elementy Bada Operacyjnych

x1 200, x2 600, lub x1 400, x2 200.


* * * *

Przy takich strukturach produkcji przychd ze sprzeday wyrobw wyniesie 20 000 z.


Przykad 2. Przedsibiorstwo produkuje trzy wyroby: A, B, C do produkcji ktrych zu-
ywa m. in. dwa limitowane surowce. W cigu miesica mona zuy nie wicej ni 3000 kg
surowca S1 i nie wicej ni 1500 kg surowca S2. Inne niezbdne dane zawiera tabl. 2.
Tablica 2
Zuycie surowca (w kg) na jednostk wyrobu
Surowce
A B C
S1 3 6 8
S2 6 4 2
Cena wyrobu (z) 36 54 36
a) Ustali miesiczn wielko produkcji tych wyrobw, tak aby zmaksymalizowa przy-
chd z ich sprzeday.
b) Zamy, e bdzie mona dokupi miesicznie dodatkowe 10 kg surowca S1. Jak wpy-
nie to na przychd ze sprzeday?
R o z w i z a n i e:
Ad a) Naley ustali dzienn wielko produkcji trzech wyrobw, zatem w modelu zagad-
nienia wystpi trzy zmienne decyzyjne: x1 wielko produkcji wyrobu A, x2 wielko pro-
dukcji wyrobu B, x3 wielko produkcji wyrobu C. Ograniczeniem w procesie produkcji s
tylko zasoby dwch surowcw. Warunek ograniczajcy zuycie surowca S1 ma posta:
3x1 + 6x2 + 8x3 3000
Analogiczny warunek dla surowca 2 ma posta:
6x1 + 4x2 + 2x3 1500
Po dodaniu warunkw brzegowych i funkcji celu model przyjmuje posta:
F ( x1 , x2 , x3 ) 36 x1 54 x2 36 x3 max
3x1 6 x2 8 x3 3000
6 x1 4 x2 2 x3 1500
x1 , x2 , x3 0
Poniewa w modelu wystpuj trzy zmienne decyzyjne, trudno byoby go rozwiza metod
geometryczn, natomiast ze wzgldu na tylko dwa warunki ograniczajce atwo mona go roz-
wiza wykorzystujc zalenoci pomidzy programem pierwotnym i dualnym, bowiem w pro-
gramie dualnym (PD) wystpi tylko dwie zmienne decyzyjne, powiedzmy y1 i y2, odpowiada-
jce warunkom ograniczajcym programu pierwotnego (PP). Natomiast kolejne warunki PD
konstruujemy ze wspczynnikw stojcych przy odpowiednich zmiennych PP. Zgodnie z
omwionymi dalej pozostaymi zasadami konstrukcji PD przyjmuje on posta:
F ( y1 , y2 ) 3000 y1 1500 y2 min
1) 3 y1 6 y2 36
2) 6 y1 4 y2 54
3) 8 y1 2 y2 36
4) y1 , y2 0
Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 10
Elementy Bada Operacyjnych

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-
*

mujemy ukad rwna:


6 x2* 8 x3* 3000
4 x2* 2 x3* 1500
ktrego rozwizanie to: x2* = 300, x3* = 150.
Zatem optymalne rozwizanie zagadnienia (PP), to:
F ( x1 , x 2 , x3 ) 54 300 36 150 21600 F ( y1 , y2 ).
* * * * *
x1 0; x 2 300; x 3 150,
* * *

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

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 11


Elementy Bada Operacyjnych

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.

3.2. Wybr procesu technologicznego


Zakad ma wyprodukowa M wyrobw w ilociach b1, b2,...,bM. Do wytwarzania tych
wyrobw mona stosowa N procesw technologicznych. Stosujc jty proces z jednostkow
intensywnoci (w skali jednostkowej jeden raz) uzyskuje si poszczeglne produkty w ilo-
ciach aij ponoszc koszty cj. Naley tak dobra procesy technologiczne by wytworzy po-
trzebne iloci wyrobw przy najmniejszych kosztach. Zatem zmienne decyzyjne xj oznaczaj
tu intensywno z jak powinny by stosowane poszczeglne procesy technologiczne (skal
ich zastosowania). Zadanie to sprowadza si do rozwizania nastpujcego modelu:
c1 x1 c2 x2 c N x N min
a11 x1 a12 x2 a1N x N b1
a21 x1 a22 x2 a2 N x N b2
................................................
a M 1 x1 a M 2 x2 a MN x N bN
x1 , x2 ,, x N 0

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 12


Elementy Bada Operacyjnych

gdzie, powtrzmy raz jeszcze, poszczeglne parametry oznaczaj:


aij ilo itego wyrobu uzyskana przy zastosowaniu jtego procesu technologicznego z jed-
nostkow intensywnoci (i = 1,2,..., M; j = 1,2,..., N),
bi planowana wielko produkcji itego wyrobu,
cj koszt zastosowania jtego procesu technologicznego z jednostkow intensywnoci.
Zagadnienie wyboru procesu technologicznego ma wiele rnych wariantw. Jednym z
nich jest problem znany w literaturze jako problem rozkroju. Z pewnego surowca (np. kody
drewna, arkusze blachy, bele papieru) naley wykroi okrelone elementy (belki o pewnej du-
goci, detale o okrelonym ksztacie. Istniej na og rne sposoby rozkroju surowca dajce
podane elementy w rnych ilociach. Sposoby rozkroju to procesy technologiczne. Przez
intensywno danego procesu (sposobu rozkroju) rozumie si liczb jednostek surowca rozkro-
jonych danym sposobem. Natomiast kosztem jednostkowym jest odpad jaki powstaje po wy-
krojeniu z surowca tych elementw (lub koszt odpadu). T sytuacj ilustruje kolejny przykad.
Przykad 3. Klient dostarczy do tartaku kody o dugoci 4,4 m, zlecajc pocicie ich tak,
aby otrzyma 400 kompletw belek. Na 1 komplet skadaj si: 1 belka o dugoci 0,8 m i 3
belki o dugoci 1,1 m. Naley poda optymalny sposb rozkroju surowca, aby zrealizowa
zamwienie minimalizujc koszt odpadw, jeeli wiadomo, e 1 m odpadw kosztuje 20 z.
R o z w i z a n i e:
Mamy tu do czynienia z bardzo prostymi sposobami rozkroju kody drewna naley poci
na krtsze belki, sposoby te atwo mona znale. Przykadowo z 1 kody mona otrzyma 5
belek o dugoci 0,8 m; zuyje si na to 50,8 = 4 m, zatem odpad wyniesie 0,4
m (4,4 4 = 0,4). Inny sposb rozkroju moe da np. 4 belki o dugoci 0,8 m i 1 belk o du-
goci 1,1 m, wykorzysta si przy tym, sposobie 40,8 + 11,1 = 4,3 m, zatem odpad wyniesie
0,1 m. Wszystkie sposoby rozkroju zestawiono w poniszej tablicy uwzgldniono w niej
tylko sposoby efektywne, czyli takie ktre daj odpad mniejszy ni 0,8 m (czyli mniejszy ni
dugo krtszej belki). W ostatnim wierszu tablicy podany jest odpad wyraony w z (odpad
w metrach pomnoony przez 20 z czyli koszt 1 m odpadu).

Belki Sposoby rozkroju 1 kody Zamwiona


o dugoci I II III IV V ilo
0,8 m 5 4 2 1 0 400
1,1 m 0 1 2 3 4 1200
Odpad (m) 0,4 0,1 0,6 0,3 0
Odpad (z) 8 2 12 6 0
W ostatniej kolumnie tej tablicy podano iloci belek jakie naley klientowi dostarczy (iloci
belek w komplecie pomnoone przez liczb zamwionych kompletw 400).
Jak wida istnieje 5 moliwych sposobw rozkroju 1 kody, zatem w modelu zagadnienia
wystpi 5 zmiennych decyzyjnych: x1,..., x5 ktre bd oznacza intensywno zastosowania
poszczeglnych sposobw rozkroju, czyli inaczej ilo kd (o d. 4,4 m) pocitych sposobami
15. Model matematyczny zagadnienia ma posta:

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 13


Elementy Bada Operacyjnych

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* 400 x2* 100


x2* 4 x5* 1200
Zauwamy, e poniewa y 2 0; zgodnie z twierdzeniem o dualnoci odpowiadajcy tej
*

zmiennej warunek w PP (warunek 2) jest speniony ostro; std: 4x 5 1200 100;


1100
x5 275. Zadanie ma zatem nieskoczenie wiele rozwiza optymalnych:
*

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 ).
*

3.3. Problem diety


Z matematycznego punktu widzenia problem ten jest bardzo podobny do poprzednich; sta-
wiany jest tak w odniesieniu do ludzi (pojedynczego czowieka, lub okrelonej grupy ludzi, np.
dzieci w przedszkolu), jak i zwierzt domowych. Dla zaspokojenia potrzeb organizmu trzeba
mu dostarczy w rnych ilociach rozmaitych skadnikw odywczych (np. biaka, tuszcze,
sole mineralne, witaminy, kalorie itd.). Skadniki te zawarte s w rnych produktach ywno-
ciowych. Zamy e mamy do dyspozycji N produktw ywnociowych, w ktrych powinno
by zawarte M skadnikw odywczych. Parametrami (danymi) w tym zagadnieniu s:
aij zawarto itego skadnika odywczego w jednostce jtego produktu (i = 1,2,..., M;
j = 1,2,..., N),
bi tzw. norma ywienia, czyli minimalna (a czasami maksymalna) ilo itego skadnika jak
organizmowi naley (mona) dostarczy
cj cena jtego produktu ywnociowego.
W konkretnych sytuacjach decyzyjnych mog by take wymagania np. aby dieta nie bya zbyt
monotonna, tzn. podane mog by:
uj minimalna ilo jtego produktu jak powinno si spoywa
vj maksymalna ilo jtego produktu jak organizm moe otrzyma.
Naley okreli takie wielkoci zakupu poszczeglnych produktw ywnociowych, ktre
zapewni organizmowi niezbdne skadniki odywcze i speni ewentualnie pewne dodatkowe
ograniczenia, a rwnoczenie koszt ich zakupu bdzie moliwie najniszy. Zatem zmiennymi
decyzyjnymi: x1,...,xn s iloci produktw, jakie naley zakupi (xj wielko zakupu jtego
produktu ywnociowego), a problem diety sprowadza si do rozwizania nastpujcego zada-
nia:
c1 x1 c2 x2 cN xN min
a11 x1 a12 x2 a1 N xN b1

aM 1 x1 aM 2 x2 aMN xN bM
uj xj vj dla niektrych j
x1 ,, xN 0
Przykad 4 Farmer musi ekstra wzbogaci diet hodowlanych zwierzt o dwa skadniki
odywcze (A i B), zwykle obecne, ale w ronych ilociach, w wikszoci gotowych mieszanek
paszowych. W cigu miesica zwierzta powinny otrzyma co najmniej 90 jednostek skadnika
A i dokadnie 150 jednostek skadnika B. Dostpne w sprzeday mieszanki: M1 i M2 zawieraj
te skadniki, ale jest w nich obecna take pewna iloci skadnika C, ktrego zwierzta nie po-
winny otrzyma wicej ni 96 jednostek. W tabl. 4 podano zawarto skadnikw odywczych
w mieszankach i ceny ich zakupu:

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 15


Elementy Bada Operacyjnych

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.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 16


Elementy Bada Operacyjnych

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
* *

F ( y1 , y2 ) 1000 18 300 108 50400. atwo te sprawdzi, e te rozwizania optymalne


* *

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:
* *

0,6 x2* 0,8 x4* 1000


0,4 x2* 0,2 x4* 300
ktre jest nastpujce:
x2* 200 , x4* 1100 a wobec tego: F ( x1 , ..., x4 ) 45 0 54 200 42 0 36 1100 50400.
* *

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 17


Elementy Bada Operacyjnych

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.
*

3.4. Zagadnienia transportowe


Modele zagadnie transportowych uatwiaj opracowywanie planw przewozu jednorod-
nych towarw z rnych rde zaopatrzenia do odbiorcw zgaszajcych zapotrzebowanie na
te towary. Kryterium optymalizacji planu przewozw jest najczciej minimalizacja cznych
kosztw transportu (rzadziej minimalizacja odlegoci lub czasu transportu).

3.4.1 Zamknite i otwarte zagadnienia transportowe


Oglny model zagadnienia jest nastpujcy. Danych jest M dostawcw, z ktrych kady
dysponuje Ai jednostkami towaru. Zapotrzebowanie na towar zgasza N odbiorcw, kady w
iloci Bj jednostek. Kady z dostawcw moe zaopatrywa dowolnego odbiorc i odwrotnie,
kady odbiorca moe otrzyma towar od dowolnego dostawcy.
Dane s ponadto cij jednostkowe koszty transportu towaru od i-tego dostawcy do j-tego
odbiorcy (i = 1,2,..., M; j = 1,2,..., N). Zakada si, e cakowity koszt transportu jest sum
kosztw transportu na poszczeglnych trasach.
Naley opracowa plan przewozu towaru pomidzy dostawcami i odbiorcami, tak aby
czne koszty transportu byy moliwie najnisze. Plan taki ma okreli ile towaru powinien
dostarczy i-ty dostawca j-temu odbiorcy i te wielkoci s zmiennymi decyzyjnymi xij w
modelach zagadnie transportowych.
Zauwamy jeszcze, e aby model taki mia rozwizanie musi by speniony warunek:
R N

Ai B j ,
i 1 j 1

(poda dostawcw powinna by nie mniejsza ni czne zapotrzebowanie odbiorcw).


R N
Jeeli warunek jest speniony z rwnoci, tzn. Ai B j , mamy do czynienia z za-
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

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 18


Elementy Bada Operacyjnych

Model zagadnienia transportowego zamknitego ma posta:


M N

c x
i 1 j 1
ij ij min funkcja celu

(minimalizacja cznych kosztw transportu - od wszystkich dostaw-


cw do wszystkich odbiorcw).
N

x
j 1
ij Ai (i = 1,2,..., M) warunki dla dostawcw

(i-ty dostawca ma dostarczy wszystkim odbiorcom tyle towaru ile


posiada; warunkw tych jest tyle ilu dostawcw, czyli R)
M

x
i 1
ij Bj (j = 1,2,..., N) warunki dla odbiorcw

(j-ty odbiorca ma otrzyma od wszystkich dostawcw tyle towaru, ile


potrzebuje; warunkw tego typu jest N)
xij 0 (i = 1,..., M; j = 1,..., N) warunki brzegowe

Modele zagadnie transportowych s szczeglnym przypadkiem modeli liniowych, mona


zatem je rozwizywa za pomoc algorytmu simpleks. Jednak specyficzna struktura warunkw
ograniczajcych w tych modelach sprawia, e mog one by rozwizywane za pomoc algo-
rytmw bardziej efektywnych.
Uniwersaln metod rozwizywania zagadnie transportowych jest algorytm transportowy
(raczej s, bo istnieje wiele alternatywnych algorytmw transportowych). Jest to procedura ite-
racyjna. W pierwszym kroku stosujc jedn z wielu znanych metod, wyznacza si pocztkowe
rozwizanie dopuszczalne, ktre nastpnie poprawia si w kolejnych iteracjach, a do momentu
stwierdzenia, e dalsza poprawa (obnika wartoci funkcji celu) jest niemoliwa. Podobnie jak
nie omawialimy algorytmu simpleks, tak nie bdziemy te omawia algorytmw transporto-
wych, bo s procedury pracochonn i dzisiaj realizowane bez wikszych problemw za po-
moc gotowych pakietw komputerowych. Pokazujemy jedynie jak mona wyznaczy poczt-
kowe rozwizanie dopuszczalne.
Algorytm transportowy zakada, e zadanie jest zbilansowane (zamknite). Zagadnienie
otwarte (OZT) mona sprowadzi do zamknitego (ZZT) przez wprowadzenie fikcyjnego
N+1szego odbiorcy, ktrego zapotrzebowanie BN+1 jest rwne nadwyce poday nad popytem,
R N
tzn. BN 1 Ai B j . W rzeczywistoci fikcyjnym odbiorc jest najczciej magazyn
i 1 j 1

znajdujcy si u dostawcw, tzn. zakada si e nadwyka towaru pozostanie w magazynach


dostawcw. Mog by podane dodatkowo jednostkowe koszty magazynowania u poszczegl-
nych dostawcw (ci,N+1) lub te zakada si, e koszty magazynowania s pomijalnie mae w
porwnaniu z kosztami transportu (tzn. ci,N+1 = 0) . W funkcji celu minimalizuje si czne
koszty transportu i magazynowania.
Poniej po lewej stronie przedstawiono oglny model zagadnienia otwartego, po stronie
prawej zagadnienie otwarte jest sprowadzone do zamknitego.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 19


Elementy Bada Operacyjnych

Model OZT OZT sprowadzone do ZZT


M N M N 1
Funkcja celu: cij xij min
i 1 j 1
c x
i 1 j 1
ij ij min
N 1

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),

warunki brzegowe xij i = 1,..., M; xij i = 1,..., M;


j = 1,..., N) j = 1,..., N + 1)

3.4.2 Klasy zagadnie transportowych


Przykad 6. Trzy magazyny zaopatruj w cukier cztery zakady cukiernicze. Magazyny
posiadaj odpowiednio: 70, 50 i 80 ton cukru natomiast zapotrzebowanie poszczeglnych za-
kadw cukierniczych wynosi: 40, 60, 50 i 50 ton. Koszty transportu 1 tony cukru z magazynw
do zakadw cukierniczych (w z) podano w tablicy 6.
Tablica 6
Odbiorcy Z1 Z2 Z3 Z4
Dostawcy
M1 125 100 125 50
M2 100 200 175 75
M3 150 100 175 200
Naley opracowa plan przewozu cukru z magazynw do zakadw cukierniczych tak, aby
czne koszty transportu byy moliwie najnisze.

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:

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 20


Elementy Bada Operacyjnych

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

Dla tak sformuowanego modelu wyznaczymy pocztkowe rozwizanie dopuszczalne -


przykadowo za pomoc metody kta pnocno zachodniego, ktra polega na tym, e wype-
nianie macierzy przewozw rozpoczyna si od klatki w lewym grnym rogu (std nazwa kta
pnocno-zachodniego). Wpisujemy do niej mniejsz z liczb A1B1 odpowiadajcych tej klatce,
a nastpnie przesuwamy si w prawo lub w d; w prawo gdy towar i-tego dostawcy nie zosta
jeszcze cakowicie rozdysponowany, w d gdy ca poda i-tego dostawcy rozdzielono odbior-
com.
W naszym przykadzie do klatki M1Z1 wpisujemy 40 t (x11 = 40) i przesuwamy si w prawo
(poniewa zapotrzebowanie Z1 zostao zaspokojone, a M1 pozostao jeszcze 30 t, ktre dostar-
czy do Z2 (x12 = 30). Obecnie przesuwamy si w d do M2, ktry dostarczy brakujce 30 t Z2
(x22 = 30) i pozostae 20 t Z3 (x23 = 20). Przesuwamy si ponownie w d do M3, ktry
dostarczy brakujce Z3 30 t (x33 = 30) i pozostae 50 t Z4 (x34 = 50). Rozwizanie to przedsta-
wiono w poniszej tablicy 6c; obok obliczono odpowiadajce mu koszty transportu.
Zakady Rozwizaniu takiemu odpowiadaj nast-
Z1 Z2 Z3 Z4 Ai pujce koszty transportu:
Magazyny
M1 40 30 70 12540+100 30 +
M2 30 20 50 +200 30 +175 20 +
M3 30 50 80 +175 30 + 20050 = 32 750 z
Bj 40 60 50 50
Rozwizanie powysze powinno by poprawiane w kolejnych iteracjach algorytmu trans-
portowego, a do momentu uzyskania rozwizania optymalnego. Poniewa jednak metoda kta
pnocno-zachodniego abstrahuje od kosztw transportu, dlatego te algorytm transportowy
wymaga zwykle wikszej liczby iteracji ni wwczas, gdy rozwizanie pocztkowe wyzna-
czymy inn metod, np. metod minimalnego elementu macierzy.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 21


Elementy Bada Operacyjnych

Metoda minimalnego elementu macierzy polega bowiem na rozmieszczeniu przewozw


przede wszystkim na trasach, na ktrych koszty s najnisze. Punktem wyjcia jest przekszta-
cenie macierzy kosztw do takiej postaci, by w kadym wierszu i w kadej kolumnie wystpo-
wao co najmniej jedno zero. Mona to uzyska, odejmujc od elementw poszczeglnych
wierszy macierzy kosztw najmniejszy element znajdujcy si w danym wierszu, a nastpnie
od poszczeglnych kolumn otrzymanej w ten sposb macierzy odejmujc element najmniejszy
znajdujcy si w danej kolumnie.
Majc tak przeksztacon macierz kosztw staramy si rozmieci przewozy na trasy, gdzie
obecnie koszty s najnisze, czyli gdzie wystpuj zera. Rozmieszczanie przewozw rozpo-
czyna si od dowolnej kratki z zerem. Jeeli uda si rozmieci przewozy wycznie w krat-
kach w ktrych wystpuj zera otrzymane rozwizanie jest ju optymalnym planem przewo-
zw. Jeeli nie, naley je poprawia stosujc algorytm transportowy.
Podane niej macierze c1 i c2 s przeksztaconymi macierzami kosztw. Macierz c1 powstaa
w wyniku odjcia od poszczeglnym elementw macierzy (tablicy) kosztw najmniejszych
elementw wierszy (od wiersza pierwszego odjto 50, od drugiego 75, od trzeciego - 100).
Macierz c2 powstaa przez odjcie od poszczeglnych kolumn macierzy c1 najmniejszych ele-
mentw odpowiednich kolumn (w pierwszej- 25, w trzeciej 75, w drugiej i czwartej 0).
75 50 75 0 50 50 0 0

c1 25 125 100 0 c2 0 125 25 0 .
50 0 75 100 25 0 0 100

Rozdysponowanie przewozw rozpoczniemy np. od klatki M2Z1 gdzie mona wpisa tylko
40 (bo tyle wynosi zapotrzebowanie Z1). Przechodzc do drugiej kolumny do klatki M3Z2
wpisujemy 60, w kolumnie trzeciej wystpuj dwa zera, wpisujemy np. 20 na tras M 3Z3 i 30
na tras M1Z3. Dla zbilansowania wpisujemy 40 na tras M1Z4 i 10 na tras M2Z4. Poniewa w
tym wypadku udao si rozmieci wszystkie przewozy w klatkach z zerami otrzymane roz-
wizanie jest optymalne. Rozwizanie to i odpowiadajce mu koszty przedstawiono poniej.
Tablica 6d
Zakady Rozwizaniu takiemu odpowiadaj nast-
Z1 Z2 Z3 Z4 Ai pujce koszty transportu:
Magazyny
M1 30 40 70 12530+5040+
M2 40 10 50 +10040 + 7510 +
M3 60 20 80 +10060 +17520 = 20 000 z
Bj 40 60 50 50
a wic znacznie nisze ni w przypadku ni rozwizanie pocztkowe wyznaczono metod kta
pnocno-zachodniego (nie biorc pod uwag kosztw transportu). Zatem najnisze cakowite
koszty transportu (20 000 z) mona osign, jeeli magazyn M1 dostarczy 30 t mki do Z3 i
40 t do Z4, magazyn M2 40 t do Z1 i 10 t do Z4, a M3: 60 t do Z2 i 20 t do Z3.
W praktyce pocztkowe rozwizanie dopuszczalne wyznacza si tylko jedn, wybran me-
tod, a jak wida metoda minimalnego elementu macierzy daje z reguy wyniki znacznie blisze
rozwizaniu optymalnemu. Metod kta pnocno-zachodniego przedstawiono jedynie jako
jedn z pierwszych stosowanych w praktyce.
Przykad 7. Wprowadmy do przykadu 6 zmian polegajc na zwikszeniu poday M 1
do 100 ton mki; czyli obecnie A1 = 100, A2 = 50, A3 = 80. Zapotrzebowania poszczeglnych
zakadw cukierniczych (Bj) oraz jednostkowe koszty transportu nie ulegaj zmianie. Poniewa
obecnie Ai = 230 > Bj = 200 jest to przykad otwartego zagadnienia transportowego (OZT).

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 22


Elementy Bada Operacyjnych

Zamy zatem, e nadwyka cukru ponad zapotrzebowanie odbiorcw pozostanie w magazy-


nach, przy czym jednostkowe koszty magazynowania wynosz: w M1 c15 = 20, w M2 c25 =
20 i w M3 c35 = 30. Nadwyka ta wynosi 230 200 = 30 ton mki bdzie to zapotrzebo-
wanie fikcyjnego, pitego odbiorcy.
Po sprowadzeniu zagadnienia TO do TZ tablica 6a przybierze posta tablicy 7a.
Odbiorcy
Z1 Z2 Z3 Z4 M Ai
Dostawcy
M1 125 100 125 50 20 100
M2 100 200 175 75 20 50
M3 150 100 175 200 30 80
Bj 40 60 50 50 30
a model zadania w obecnej postaci jest nastpujcy:

warunki dla dostawcw: warunki dla odbiorcw:


3

x11 x21 x31 xi1 40
i 1

5
x11 x12 x13 x14 x15 x1 j 100
3
x12 x2 2 x32 xi 2 60
j 1 i 1

5 3

x21 x22 x23 x24 x25 x2 j 50 x13 x23 x33 xi 3 50
j 1 i 1
5 3
x31 x32 x33 x34 x35 x3 j 80 x14 x24 x34 xi1 50
j 1 i 1
3
x15 x25 x35 xi 5 30
i 1
125x11+100x12+125x13+50x14+20x15+ ... +175x34+200x35 min (minimalizacja cznych
kosztw transportu i
magazynowania).
Macierze c1 i c2 oraz macierz optymalnych przewozw (xij*) przedstawiono poniej:
105 80 105 30 0 25 10 0 0 0 0 0 50 50 0
c1 80 180 155 55 0 c2 0 110 50 25 0 x* 40 0 0 0 10 .


120 70 145 170 0 40 0 40 140 0 0 60 0 0 20

Rwnie w tym przypadku w wyniku zastosowania metody minimalnego elementu macie-


rzy otrzymano rozwizanie optymalne (wszystkie przewozy udao si rozmieci w klatkach z
zerami. Zatem M1 powinien dostarczy 50 t mki do Z3 i 50 t do Z4, M2 powinien dostarczy
40 t do Z1 i 10 ton pozostawi w magazynie, M3 powinien dostarczy 60 t do Z2 i 20 t magazy-
nowa. czne koszty wynios: 6250 + 2500 + 4000 + 6000 (koszty transportu) + 200 +
600 (koszty magazynowania) = 18750 + 800 = 19550 z.
Do ZZT mona sprowadzi wiele problemw decyzyjnych, niekoniecznie majcych inter-
pretacj transportow. Poniej omwiono dwa zagadnienia sprowadzalne do ZZT zagadnie-
nie transportowo-produkcyjne i zagadnienie minimalizacji pustych przebiegw, omwiono po-
niej.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 23


Elementy Bada Operacyjnych

W zagadnieniu transportowo-produkcyjnym (ZT-P) dostawcami s producenci towaru (a nie


magazyny), a model najkrcej mona scharakteryzowa nastpujco:
M producentw pewnego jednorodnego produktu, z ktrych kady posiada zdolno pro-
dukcyjn Ai (i = 1,..., R) jednostek towaru zaopatruje w swoj produkcj N odbiorcw. Kady
odbiorca zgasza zapotrzebowanie na Bj jednostek (j = 1,..., N). Zakada si, e czne zdolnoci
produkcyjne zakadw przekraczaj czne zapotrzebowanie. Dane s ponadto cij jednost-
kowe koszty transportu towaru od i-tego zakadu dostawcy do j-tego odbiorcy oraz pi jed-
nostkowe koszty produkcji w i-tym zakadzie. Towar nie zosta jeszcze wyprodukowany i na-
ley podj decyzj gdzie go produkowa i jak rozsya do odbiorcw aby czne koszty pro-
dukcji i transportu (oraz ewentualnie magazynowania nadwyki) byy moliwie najnisze.
Zadanie ZT-P mona atwo sprowadzi do ZZT przez:
a) wprowadzenie fikcyjnego odbiorcy ON+1, ktry reprezentowa bdzie niewykorzystane
zdolnoci produkcyjne poszczeglnych producentw i ktrego zapotrzebowanie jest rnic
pomidzy sum zdolnoci produkcyjnych wytwrcw i sum zapotrzebowa odbiorcw, tzn.
M N
BN ! Ai B j
i 1 j 1

b) skonstruowanie macierzy cznych kosztw transportu i produkcji kij w nastpujcy spo-


sb:
kij = pi + cij (dla i = 1,..., M; j = 1,..., N)
ki,N+1 = 0 (tzn. niewykorzystanym zdolnociom produkcyjnym odpowia-
daj koszty rwne zeru).
Zauwamy jeszcze, e w zadaniu ZT-P wielkoci xi,N+1 to niewykorzystane zdolnoci pro-
dukcyjne poszczeglnych wytwrcw.

Przykad 8. Dostawcami bd obecnie producenci cukru cukrownie. Trzy cukrownie za-


opatruj w cukier cztery zakady cukiernicze. Zdolnoci produkcyjne cukrowni (Ai), zapotrze-
bowanie zgaszane przez zakady cukiernicze (Bj), jednostkowe koszty transportu (cij) z cu-
krowni do zakadw oraz jednostkowe koszty produkcji cukru w poszczeglnych cukrowniach
(pi) zestawiono w tablicy 8. Zamy dodatkowo, i cukrownie bd wykorzystywa swe zdol-
noci produkcyjne, a nadwyk cukru magazynowa z przeznaczeniem na eksport. Jednost-
kowe koszty magazynowania w poszczeglnych cukrowniach wynosz kolejno: 20, 10, 10.
Tablica 8
Zakady
Z1 Z2 Z3 Z4 Ai pi
Cukrownie
C1 125 150 100 200 350 1540
C2 75 125 150 175 300 1550
C3 100 75 125 50 350 1570
Bj 200 200 200 200
Naley opracowa plan produkcji, transportu i magazynowania cukru, tak aby czne
koszty produkcji, transportu i magazynowania byy moliwie najnisze.
R o z w i z a n i e:
Jest to przykad zagadnienia otwartego, gdy Ai = 1000 > Bj = 800. Zmienne decyzyjne
xij to wielko produkcji cukry i-tej cukrowni (i = 1,2,3) dostarczona do j-tego zakadu
(j = 1,...,5), przy czym xi5 to ilo cukru jaka pozostanie w magazynie i-tej cukrowni).
Przed przystpieniem do budowy modelu zapiszmy macierz cznych kosztw produkcji,
transportu i magazynowania kij. Do kosztw transportu z pierwszej cukrowni naley doda

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 24


Elementy Bada Operacyjnych

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

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 25


Elementy Bada Operacyjnych

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.

Przykad 9. Do omiu stacji kolejowych nadchodz i s odprawiane przesyki caowago-


nowe. Wielkoci przywozu (pi) i wywozu (wi) wyraone liczb penych wagonw oraz odle-
goci miedzy stacjami (dij) zawiera tablica 2.7.
Tablica 9
Stacja (i) 1 2 3 4 5 6 7 8 pi
1 0 310 245 360 210 230 400 330 24
2 0 185 440 200 360 140 250 38
3 0 330 180 220 190 200 10
4 0 220 330 440 70 20
5 0 280 380 120 20
6 0 260 300 38
7 0 180 13
8 0 7
wj 34 24 16 14 39 20 18 5
Naley opracowa plan przewozu pustych wagonw z miejscowoci, ktre maj ich nad-
miar do miejscowoci ktre zgaszaj zapotrzebowanie na puste wagony, taki przy ktrym
czny wagonokilometra pustych przebiegw bdzie najmniejszy.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 26


Elementy Bada Operacyjnych

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).

4.1. Program dualny do zagadnienia standardowego


Ponownie rozpatrzmy zapisane macierzowo standardowe zagadnienia liniowe maksymali-
zacji (3a) i minimalizacji (3b):

cTx max cTx min


Ax b (3a) Ax b (3b)
x0 x0
gdzie: A jest macierz MN wspczynnikw stojcych po lewej stronie ukadu warunkw
ograniczajcych (czyli mamy M warunkw ograniczajcych i N zmiennych decyzyjnych), b
jest wektorem kolumnowym M wyrazw wolnych ukadu warunkw ograniczajcych, a cT jest
wektorem wierszowym N wspczynnikw funkcji celu, za x jest wektorem kolumnowym N
zmiennych decyzyjnych zagadnienia pierwotnego. Jeeli teraz przez y oznaczymy sobie M-
elementowy wektor kolumnowy nowych zmiennych decyzyjnych (zmiennych dualnych), to
poniszy program (4a) jest programem dualnym do programu pierwotnego (3a), za program
4b) jest programem dualnym do programu (3b):
bTy min bTy max
ATy c (4a) ATy c (4b)
y0 y0
Jak wic wida: program dualny do standardowego zagadnienia maksymalizacji jest stan-
dardowym zagadnieniem minimalizacji, za program dualny do standardowego zagadnienia
minimalizacji jest standardowym zagadnieniem maksymalizacji. Zatem, programy (3a) i (4a)
oraz (3b) i (4b) s wzajemnie dualne: jak jeden uznamy za pierwotny, to drugi bdzie dualny, i
odwrotnie: jak drugi bdzie pierwotny, to pierwszy bdzie dualny.
Charakterystyczne dla programu dualnego jest to, e ma tyle warunkw ograniczajcych ile
zmiennych mia program pierwotny, za zmiennych ma tyle, ile warunkw mia program pier-
wotny. Dalej, w programie dualnym wagami funkcji celu s wyrazy wolne zagadnienia pier-
wotnego, za wyrazami wolnymi s wagi funkcji celu programu pierwotnego. Te wasnoci
programu dualnego sprawiaj, e moe by atrakcyjny dla decydenta. Mianowicie, pierwotny
problem decyzyjny moe mie liczne zmienne decyzyjne, ale niewielk liczb warunkw ogra-
niczajcych, zatem program dualny bdzie mie liczne warunki ograniczajce, ale niewielk
liczb zmiennych decyzyjnych, przez co moe by atwiejszy do rozwizania. I gdyby istnia
zwizek (przejcie) miedzy rozwizaniami programw pierwotnego i dualnego, to korzy z
posiadania programu dualnego jest oczywista.

4.2. Niesymetryczne zagadnienie dualne


Program dualny atwo utworzy dla zagadnienia standardowego, ale rzeczywiste problemy
decyzyjne rzadko maj struktur zagadnienia standardowego (ycie jest zwykle bogatsze ni
wszelkie teoretyczne modele formalne): nie wszystkie warunki ograniczajce maj kierunek
nierwnoci zgodny z zagadnieniem standardowym (przypomnijmy: dla standardowego za-
gadnienia maksymalizacji i dla standardowego zagadnienia minimalizacji), niektre warunki

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 28


Elementy Bada Operacyjnych

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

program pierwotny program dualny


Funk- N M Funk-
cja
celu
c
j 1
j x j max b y i i min cja
celu
i 1
N

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

program dualny program pierwotny

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 29


Elementy Bada Operacyjnych

Przykad 10. Utworzy program dualny do poniszego programu pierwotnego:

F ( x1 ,...,x4 ) 4 x1 2 x2 28x3 7 x4 min


(1) x1 x2 3x3 x4 8
(2) x1 x2 7 x3 10
(3) x1 0, x2 , x3 , x4 0

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

4.2. ZWIZKI MIDZY ROZWIZANIEM ZAGADNIENIA PIERWOTNEGO I DUALNEGO (podsta-


wowe twierdzenia o dualimie)
Koncepcja programu dualnego jest midzy innymi dlatego poyteczna, e istnieje jedno-
znaczny zwizek midzy rozwizaniami optymalnymi obydwu zagadnie: znajc rozwizanie
optymalnego jednego zagadnienia moemy wyliczy rozwizanie optymalnego drugiego za-
gadnienia. Zwizek ten wynika z podstawowych twierdze o dualizmie.
Twierdzenie 1 (o istnieniu)
Jeeli obydwa zagadnienia (pierwotne i dualne) maj rozwizania dopuszczalne (s nie-
sprzeczne), to obydwa maj rozwizania optymalne. Jeeli chocia jedno z nich nie ma rozwi-
zania dopuszczalnego, to obydwa nie maj rozwiza optymalnych.
Twierdzenie 2 (o optymalnoci)
Jeeli x* jest rozwizaniem dopuszczalnym programu pierwotnego, a y* jest rozwizaniem
programu dualnego, to te rozwizania dopuszczalne bd optymalne wtedy i tylko wtedy, gdy
optymalne wartoci funkcji celu bd rwne (identyczne), tzn. cTx* = bTy*.
I najwaniejsze twierdzenie, umoliwiajce przejcie od rozwizania optymalnego jednego
zagadnienia rozwizania optymalnego drugiego zagadnienia:

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 30


Elementy Bada Operacyjnych

Twierdzenie 3 (o sumach dopeniajcych)


Jeeli x* jest rozwizaniem dopuszczalnym programu pierwotnego, a y* jest rozwizaniem
programu dualnego, to te rozwizania dopuszczalne bd optymalne wtedy i tylko wtedy, gdy:
N
1) y*T(Ax* b) = 0, czyli skalarnie i 1,...,M yi* aij x*j bi 0
j 1
N
2) x*T(ATy* c) = 0, czyli skalarnie j 1,...,N x*j aij y *i c j 0 .
j 1
Z warunku 1) wynika za, e jeeli i-ta optymalna zmienna decyzyjna programu dualnego
nie jest zerem, to odpowiadajcy tej zmiennej, czyli i-ty, warunek programu pierwotnego dla
rozwiza optymalnych musi by speniony z rwnoci. Z warunku 2) wynika, e jeli j-ty
warunek programu dualnego dla rozwiza optymalnych jest speniony ostro (wyraenie w na-
wiasie nie jest zerem), to optymalna warto odpowiadajcej temu warunkowi, czyli j-tej
zmiennej decyzyjnej programu pierwotnego jest rwna zeru (j-ta optymalna zmienna decyzyjna
jest zerem: xj* = 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.

4.3. INTERPRETACJA ZMIENNYCH DUALNYCH


Interpretacja zmiennych dualnych jest najbardziej wyrazista w przypadku zagadnienia wy-
boru asortymentu produkcji. Gdybymy chcieli dokupi dodatkow jednostk i-tego limitowa-
nego rodka produkcji, to musimy sobie zada pytanie: ile maksymalnie moemy zapaci za

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 31


Elementy Bada Operacyjnych

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.

Antoni Goryl, Anna Walkosz: Programowanie liniowe strona 32

You might also like