Cjelobrojno programiranje (IP)
(‘Integer Programming’)
IP primjer
Max Z = 33x
1+ 12x
2s.t.
(1)
–x
1+ 2x
2
4
(2)
5x
1+ 2x
2
16
(3)
2x
1– x
2
4
x
1, x
2
0 and integer
x
21
2
3
Optimalno LP rješenje
x
1= 8/3
x
2= 4/3
Z
LP* = 104
nemoguće
IP rješenje
Zaokruženo LP rješenje
x
1= 2
x
2= 1
Z
RLP* = 78
Moguće,
nije optimalno
Optimalno IP rješenje
x
1= 2
x
2= 3
Z
IP* = 102
Optimalno
IP rješenje
Iso-profit line
Vrste IP problema
Čisto cjelobrojno programiranje
Sve su varijable cjelobrojne
Mješovito cjelobrojno programiranje
Samo neke od varijabli su cjelobrojne
0-1 cjelobrojno programiranje
Sve varijable imaju vrijednost 0 ili 1
(‘zero-one programming’ ili ‘binary
integer programming’)
IP rješenje nasuprot LP rješenja
LP rješenje je uvijek bolje
(‘optimalnije’) od IP rješenja
Zaokruživanje LP rješenja na najbliže
cijele brojeve
Može se javiti nemoguće rješenje
(narušena ograničenja)
Primjer: IP rješenje nasuprot
LP rješenja
Usljed štrajka vozača kamiona hladnjača u februaru 1974 nastala je kriza u ponudi svježeg mesa u Bostonu. U trenutku krize naglo je porasla potreba za konzervama goveđeg i ovčijeg mesa tako da su prodavači bili spremni prihvatiti konzerve mesa u bilo kojim kiličinama. Transport konzervi bio je organizovan avionskim saobračajem iz Čikaga. Cilj snabdjevača je bio da odrede optimalni odnos količine konzervi goveđeg i ovčijeg mesa kako bi imali optimalnu profit za fiksan volumen u avionu i fiksnu težinu koju avion može da nosi. Dobit po jednom paketu konzervi govedine bio je $20(x100), odnosno po jednom paketu ovčijeg mesa $10(x100). Zapremina paketa govedine bila je 5 jedinica a težina 2 jedinice. Dok je zapremina paketa ovčijeg mesa bila 4 jedinice a težina 5 jedinica. U avion je moglo da stane 24 jedinice zapremine i 13 težinskih jedinica.
Primjer: IP rješenje nasuprot
LP rješenja
Problem koji je potrebno riješiti je naći maksimum funkcije
(1) sa ograničenjima (2) 2 1
10
20
x
x
z
varijable re alne (te z ina) ) (z apre mina , 0 , 13 5 2 24 4 5 2 1 2 1 2 1 x x x x x xLP model
Primjer: IP rješenje nasuprot
LP rješenja
Rješenje LP modela:
x
1= 4,8 i
x
2=0,
Dobit
z
= 4,8*20=96(x100$).
Dobit od 96 dolara nije moguće ostvariti, jer nije moguće poslati 4,8
paketa
Ako se rezultat jednostavno zaokružili na 5 paketa, to jest
x
1= 5, za njih
bi potrebna zapremina u avionu bila 5*5 = 25 i dobili bi nemoguće rješenje
(prvo ograničenje bi bilo narušeno) jer u avionu ima na raspolaganju svega
24 jedinica zapremine.
U slučaju da jednostavno zaokružimo rješenje na
x
1= 4, ni jedno od
ograničenja ne bi bilo narušeno i profit bi bio
z
= 4*20 = 80.
Primjer: IP rješenje nasuprot
LP rješenja
Problem koji je potrebno riješiti je naći maksimum funkcije
(1) sa ograničenjima (2) 2 1
10
20
x
x
z
varijable e cje lobrojn (te z ina) ) (z apre mina , 0 , 13 5 2 24 4 5 2 1 2 1 2 1 x x x x x xIP model
Metode rješavanja IP problema
Cutting Plane Method
Branch and bound
metoda
Suština branch and bound metode jeste traženje rješenja modela cjelobrojnog programiranja analizom istog modela preko serije LP modela sve dok rješenje LP modela ne zadovolji uslov cjelobrojnosti varijabli. Primjena ove metode na model cjelobrojnog programiranja u slučaju maksimuma funkcije cilja može se opisati sljedećim nizom koraka:1. Riješiti model cjelobrojnog programiranja kao LP model. Ako optimalno rješenje zadovoljava uslov cjelobrojnosti varijabli onda je rješenje LP modela istovremeno i rješenje modela cjelobrojnog programiranja. Ako uslov cjelobrojnosti varijabli nije zadovoljen dobijeno rješenje LP modela služi kao gornja granica vrijednosti funkcije cilja rješenja modela cjelobrojnog programiranja.
Branch and bound
metoda
2. Odrediti donju graničnu vrijednost funkcije cilja modela cjelobrojnog programiranja. Ovu granicu je najlakše odrediti tako da se realne vrijednosti varijabli odlučivanja dobijenim rješenjam LP modela zaokruže na najbližu donju cjelobrojnu vrijednost.3. Rješenje modela cjelobrojnog programiranja tražiti tako što se rješavaju dva nova podproblema (dvije grane) čije rješenje će se opet tražiti kao rješenje LP modela. U svakom od podproblema potrebno je dodati po jedno novo ograničenje za jednu od varijabli iz prethodnog LP modela koja nije imala cjelobrojnu vrijednost tako da se u rješenju LP modela podproblema isključi mogućnost ovoj varijabli da ima realnu vrijednost izmađu dva cjela broja koju je imala u prethodnom rješenju. Na primjer, ako je prethodno optimalno rješenje LP modela bilo tako da je varijabla X1 imala vrijednost 5.23, u narednom koraku potrebno je problem podjeliti na dva podproblema tako da se jednom podproblemu na izvorni model doda novo ograničenje , a drugom ograničenje
Branch and bound
metoda
4. Rješiti oba podproblema kao LP modele. Ako rješenje LP modela za podproblem ne postoji podproblem se više neće razmatrati. Ako rješenje LP modela postoji a vrijednosti varijabli nisu cjelobrojne potrebno je ići na korak 3. Ako rješenje LP modela sadrži cjelobrojne vrijednosti varijabli odlučivanja potrebno je ispitati vrijednost funkcije cilja za ovo rješenje. Ako je vrijednost funkcije cilja jednaka gornjoj graničnoj vrijednosti onda je rješenje ujedno i optimalno rješenje postavljenog modela. Ako je vrijednost funkcije cilja manja od donje granične vrijednosti razmatrani podproblem (grana) ne daje optimalno rješenje i ovaj podproblem se neće više razmatrati. Ako je vrijednost funkcije cilja iznad donje granične vrijednosti funkcije cilja potrebno je tekuću vrijednost funkcije cilja proglasiti novom donjom graničnom vrijednosti i ići na korak 3.
Branch and bound
metoda - Primjer
Model cjelobrojnog programiranja definisan datom funkcijom cilja iograničenjima potrebno je riješiti branch and bound metodom.
Problem je naći maksimum funkcije
Branch and bound
metoda - Primjer
X1 = 1.33 X2 = 4 Z = 36 X1 = 1 X2 = 4 Z = 34 X1 = 2 X2 = 3 Z = 33 X1 = 1.25 X2 = 4.125 Z = 36.375 X2 ≤ 4 X1 ≥ 2 X1 ≤ 1 Ne postoji realno rješenje Ne postoji realno rješenje X1 = 0.2 X2 = 5 Z = 36.2 X1 = 0 X2 = 5.167 Z = 36.167 X1 = 0 X2 = 5 X2 ≥ 5 X1 ≥ 1 X1 ≤ 0 X2 ≥ 6 X2 ≤ 5Međusobno isključiva ograničenja
(Mutually Exclusive Constraints)
Primjer:
Kompanija koja proizvodi gotovu hranu ima velike količine kukuruza(x1), ječma (x2), i brašna (x3) koje mogu biti miješane u proizvodnji hljeba za ishranu stoke ili žitnih pahuljica za ishranu ljudi. Međutim, zbog različitih
sanitarnih zahtijeva i javnog imiđa firme rukovodstvo se odlučilo da prozvodi samo jedan od ova dva proizvoda. Pretpostavimo da je ograničenje u slučaju proizvodnje stočnog hljeba
50 3
2
5x1 x2 x3
odnosno u slučaju proizvodnje žitnih pahuljica
30
4
Međusobno isključiva ograničenja
(Mutually Exclusive Constraints)
Da bi modelirali ovakvu situaciju, potrebno je uvesti novu 0-1 varijablu, y (y može imati vrijednost nula ili jedan), i to tako da se zamijene postojeća ograničenja sa novim ograničenjima,
gdje je M proizvoljna, velika konstanta. Ako ograničimo vrijednosti varijable y na nulu ili jedinicu, efekat je sljedeći:
- Ako je y = 1 drugo ograničenje se vraća u svoju orginalnu formu. Sa izabranim velikim brojem M desna strana prvog ograničenja postaje jako velika tako da će svako rješenje za x1, x2 i x3 zadovoljiti prvo ograničenje, čineći to ograničenje praktično suvišnim.
yM
x
x
x
2
3
50
5
1 2 3M
y
x
x
x
4
30
(
1
)
2
1
2
3
Međusobno isključiva ograničenja
(Mutually Exclusive Constraints)
Prethodna ograničenja mogu se modelirati i uvođenjem dvije 0-1 varijable,
Ako postoji m1 međusobno isključivih ograničenja, onda se član yiM dodaje na desnu strano svakog od ograničenja. Svaka yi varijabla je 0-1 varijabla. Da bi osigurali da samo jedno ograničenje bude vezano za funkciju cilja dodaje se dodatno ograničenje u obliku
. 1 1 1 1
m y m i i M y x x x1 2 2 3 3 50 1 5 M
y
x
x
x
14
2 330
22
1
2 1
y
y
Primjer
Neka su data 4 ograničenja koja se međusobno isključuju:
Četiri varijable moraju biti dodate kao što je prikazano kako bi obezbjedili da samo jedno od ograničenja bude izabrano.
6 5 12 4 10 2 5 2 1 3 2 1 3 2 1 3 2 1 x x x x x x x x x x x 6 5 12 4 10 2 5 4 2 1 3 3 2 1 2 3 2 1 1 3 2 1 M y x x M y x x x M y x x x M y x x x
Međusobno isključiva ograničenja
(Mutually Exclusive Constraints)
Problem sa m1 ograničenja, od koji k mora biti odabrano rješava se kao i prethodni problem s razlikom što posljednja jednačina postaje
Ova vrsta ograničenja može se pojaviti, na primjer, u problemu sa višestrukim kriterijima (ciljevim). Na primjer, firma može nametnuti uslove za minimalno prihvatljivim profitom, veličinom prodaje, visinom dionica, brzinom vraćanja investicija, itd. i istovremeno zahtijevati da bar tri od ovih uslova budu zadovoljeni.
k
m
y
m i i
1 1 1Međusobno isključiva ograničenja
(Mutually Exclusive Constraints)
Odjeljenje razvoja jedne firme razvilo je tri nova proizvoda. Međutim da bi ograničili broj proizvoda na proizvodnim linijama menađment je nametnuo ograničenje da od razvijena tri proizvoda najviše dva mogu biti uvedena u proizvodnju. Novi proizvodi se mogu proizvoditi na dvije postojeće proizvodne linije. Iz administrativnih razloga menađment je postavio zahtijev da samo jedna od dvije postojeće linije može biti korištena za nove proizvode. Troškovi proizvodnje novih proizvoda na linijama su isti, ali zbog različite infrastrukture, vrijeme potrebno za proizvodnju novih proizvoda se razlikuje za svaku liniju kao što se vidi u sljedećoj tabeli.
Zadatak 1
Proizvod 1 2 3 Kapacitet Sati u sedmici Proizvodna linija 1 Proizvodna linija 2 3 4 2 4 6 2 30 40Zadatak 1 (nastavak)
Cilj je izabrati proizvode, prizvodne linije i količinu proizvodnje izabranih proizvoda da bi maksimizirali profit. Rješenje 3 2 1 7 3 5 Maksimum Z x x x 0, 0, cjelobrojne varijable , 0 , 2 , 1 , 0 , 0 , 0 , 9 , 5 , 7 , 40 2 6 4 , 30 2 4 3 3 2 1 5 4 3 2 1 5 3 4 2 3 1 3 2 1 2 3 2 1 1 3 2 1 x x x y y y y y My x My x My x x x x My x x x My x x x
Zadatak 2
Gradska Vlada razmatra izgradnju nekih od rekreativnih
centara:plivački bazen, tenis centar, atletsko polje i gimnastičku salu. Vlada je planirala sredstva od $1,200,000 za izgradnju i 12 ari
zemljišta. Bazen i tenisko igralište zahtijevaju istu lokaciju tako da samo jedno može biti napravljeno. Koje projekte Vlada trerba da izabere tako da bude što veći broj građana koji koriste rekreativne centre. Broj korisnika (po danu) Trosak ($000) Povrsina (ari) Bazen 300 350 4 Tenis centar 90 100 2 Atletsko polje 400 250 7
4 3 2 1
90
400
150
300
x
x
x
x
Z
Maksimum
varijable
binarne
,
0
,
,
,
,
1
,
12
3
7
2
4
,
1200
900
250
100
350
4 3 2 1 2 1 4 3 2 1 4 3 2 1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Zadatak 2 (nastavak)
Rješenje
s.t.
Neka grad ima 8 vatrogasnih stanica koje opsluzuju 22 gradska distrikta. Na slici je dat polozaj vatrogasnih stanica i distrikta. Analizom podataka iz proslosti o vremenu potrebnim da vatrogasci dodju na mjesto pozara na slici su za unaprijed propisano vrijeme dolaska vatrogasaca sa crtkanim linijom oznacene stanice koje mogu opsluzivati odredjene distrikte. Nedostatak ctkane linije izmedju stanice i distrikta znaci da se iz stanice ne moze stici u distrikt za unaprijed propisano vrijeme.
Zadatak 3
Slika 1 Raspored gradskih distrikta i vatrogasnih stanica
Zadatak 3 (nastavak)
Gradski odbor razmatra da li se neke od vatrogasnih stanica mogu zatvoriti, i ako mogu koje su to stanice. Problem se svodi na to da se nadje najmanji broj stanica dovoljnih za sigurnost grada, to jest da najmanje jedna stanice pokriva svaki distrikt.
Rješenje:
Problem se moze formulisati kao 0-1 problem. Neka su xj 0-1 varijable definisane za svaku od vatrogasnih stanica, tako da xj = 1 ako stanica ostaje u funkciji, odnosno xj = 0 ako stanicu treba zatvoriti. Funkcija cilja je minimizirati broj vatrogasnih stanica, to jest
min .
Ogranicenja slijede iz uslova da najmanje jedna od stanica pokriva odredjeni distrikt. Na
8 7 6 5 4 3 2 1
x
x
x
x
x
x
x
x
z
Zadatak 3 (nastavak)
1
2 1
x
x
ili ista vrsta ogranicenja za distrikt 8 bi bila
1
4 2
1
x
x
x
Za vježbu: (a) Dovrsiti sva ogranicenja i rijesiti problem.
(b) Iz razloga sto su pozari cesti u pojedinim distriktima moze biti
zahtijevano da vise stanica bude na raspolaganju pojedinim distriktima. Kako rijesiti taj problem?
Međusobno ovisne varijable
(Interdependent variables)
U nekim problemima može postojati međusobna ovisnost varijabli. Na primjer, problem gradnje, gdje se zahtijeva da projekat gradnje drugog sprata, zahtijeva da mu prethodi projekat gradnje prvog sprata.
Primjer Neka su varijable 0-1 varijable koje predstavljaju prihvatanje ili
odbijanje projekta j. Ako projekat 3 ne može biti prihvaćen ako nije prihvaćen projekat 2, problem može biti riješen dodajući sljedeća ograničenja:
Ako projekti 2 i 3 moraju biti prihvaćeni zajedno u protivnom ne prihvaća se ni jedan, uslov može biti ispunjen sljedećim ograničenjem:
.
0
ili
3 2 2 3
x
x
x
x
0
ili
x
x
x
x
41
Funkcije sa N mogućih vrijednosti
Neka funkcija može imati jednu od N vrijednsti:
Specijalan slučaj funkcije može biti na primjer
ili
tako da varijabla mora imati jednu od N zadatih vrijednosti. Ekvivalentna formulacija problema cjelobrojnog programiranja imala bi sljedeći oblik:
x
x
x
n
d
d
d
Nf
1,
2,...,
1ili
2
,...
ili
n j j j na
x
x
x
x
f
1 2 1,
,...,
f
x
1,
x
2,...,
x
n
x
j
N i i i nd
y
x
x
x
f
1 2 1,
,...,
,
1
1
N i iy
y
ibinarna
varijabla
za
i
1
,
2
,..,
N
Funkcije sa N mogućih vrijednosti
PrimjerU pogonu se proizvode dva proizvoda. Prvi proizvod treba 3 sata za proizvodnju a drugi 2 sata. Menadžment želi da prozvodi proizod 1 i 2 u takvim količinama da se za proizvodnju troši 6 sati ili 12 sati ili 18 sati iz administrativnih razloga.
Ovaj zahtijev može biti formulisan pomoću sljedećih ograničenja:
3 2 1 2 1
2
6
12
18
3
x
x
y
y
y
1
3 2 1
y
y
y
varijable
binarne
su
,
,
y
y
y
Problem fiksnih troškova
(The Fixed-Charge Problem)
Česte su situacije kada u funkciju cilja treba uključiti fiksne troškove koji su vezani za određenu aktivnost. Kao primjer može poslužiti aktivnost prelaska proizvodnje sa jednog na drugi proizvod na istoj mašini (potreba čišćenja mašine sa prelaska na proizvodnju druge vrste čokolade, troškovi zamjene noževa za rezanja, itd.). U ovakvim slučajevima ukupni troškovi vezani za određenu aktivnost su jednaki zbiru fiksnih troškova (da bi pokrenuli aktivnost) i varijabilnih troškova vezanih za nivo aktivnosti (na primjer, utrošak materijala po jedinici proizvoda puta broj proizvoda). Varijabilni troškovi su često proporcionalni nivou aktivnosti (na primjer, broju proizvoda). U ovom slučaju, ukupni troškovi, na primjer, aktivnosti j mogu biti predstavljeni sljedećom funkcijom:
,
0
je
ako
0
,
0
je
ako
)
(
j j j j j j jx
x
x
c
k
x
f
Neka je riječ o problemu u kojem postoji nekoliko konkurentnih aktivnosti, sa kj>= 0 za svaku aktivnost ili sa kj>= 0 samo za neke aktivnosti, i da je potrebno ostvariti minimum funkcije
uz data ograničenja.
Problem se može rješiti uvođenjem pomoćnih binarnih (0-1) varijabli tako da funkcija cilja ima sljedeći oblik:
gdje vrijedi
Problem fiksnih troškova
(The Fixed-Charge Problem)
) ( .... ) ( ) ( 1 2 2 1 x f x fn xn f Z Minimum
n j j j j jx k y c Z 1 ), ( 1 ako je x 0,Da bi model bio kompletan potrebno je još matematski opisan prethodni zahtijev pretvoriti u opis prikladan za linearno programiranje. Ako se uzme jako veliki broj
M koji je veći od bilo koje maksimalno moguće vrijednosti varijable xj onda će sljedeća ograničenja:
osigurati da bude yj = 1 kad je xj > 0. Međutim, kada je xj = 0 prethodno ograničenje će biti zadovoljeno za obadvije moguće vrijednosti (nula ili jedan) . Da bi ispravno modelirali postavljeni problem potrebno je da yj bude jednako nuli kad je xj jednako nuli. Na sreću, ovaj problem se rješava sam po sebi zahvaljujući osobini funkcije cilja. Naime, kada je xj = 0 prethodno ograničenje dozvoljava izbor između yj = 0 i yj = 1 , ali kako se traži minimum funkcije Z algoritma za rješavanje problema linearnog programiranja će uvijek izabrati yj = 0 kada je xj = 0 kako bi minimizirao funkciju cilja Z.
Problem fiksnih troškova
(The Fixed-Charge Problem)
n
j
My
Dakle, mješoviti problem cjelobrojnog programiranja sa fiksnim troškovima će imati sljedeću formulaciju:
koja je predmet originalnih ograničenja, plus sljedećih ograničenja
i yj je binarna varijabla za j = 1,2,...,n
Problem fiksnih troškova
(The Fixed-Charge Problem)
n j j j j jx
k
y
c
Z
1),
(
j
Minimizira
0
j jMy
x
MAX 1.2 F1 - 60 y1 + 1.8 F2 - 200 y2 + 2.2 F3 - 100 y3 SUBJECT TO 3 F1 + 4 F2 + 8 F3 <= 2000 3 F1 + 5 F2 + 6 F3 <= 2000 2 F1 + 3 F2 + 9 F3 <= 2000 F1 <= 300 F2 <= 200 F3 <= 50 F1 - 1000 y1 <= 0 F2 - 1000 y2 <= 0 F3 - 1000 y3 <= 0 END
GINT F1 GINT F2 GINT F3
INT y1 Bolje je: F1 - 300 y1 <= 0 F2 - 200 y2 <= 0 F3 - 50 y3 <= 0
OBJECTIVE FUNCTION VALUE 1) 460.0000
VARIABLE VALUE REDUCED COST Y1 1.000000 60.000000 Y2 1.000000 200.000000 Y3 0.000000 -2100.000000 F1 300.000000 0.000000 F2 200.000000 0.000000 F3 0.000000 0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2) 300.000000 0.000000 3) 100.000000 0.000000 4) 800.000000 0.000000 5) 0.000000 1.200000 6) 0.000000 1.800000 7) 50.000000 0.000000 8) 700.000000 0.000000 9) 800.000000 0.000000 10) 0.000000 2.200000
Vođa kampanje predsjedničkog kandidata planira na kraju kampanju u 5 gradova za koje vjeruje da su odlučujući za pobjedu. Predsjednički kandidat treba da krene iz Wašingtona i da posjeti svaki od pet gradova i da se vrati u Wašington. Zbog malog preostalog budžeta za kampanju ili pritiska novinara koji ispituju da li se na efikasan način troše sredstva fonda za kampanju kandidatat vodja kampanje želi da minimizira troškove puta kandidata i njegovog tima. Umjesto ovog cilja može se postaviti i drugi, na primjer, da se minimizira trajanje puta kako bi se dobilo na vremenu.
Problem se može riješiti kao 0-1 problem. Za svaku moguću relacija između gradova uvodi se po jedna varijabla xij koja je jednaka 1 ako se putuje iz grada i u pravcu grada
j, odnosno 0 ako otpada relacija. Neka su sa cij definisani troškovi puta od grada i do grada j. Ovakav pristup vodi do opšteg oblika funkcije cilja
Primjer (nastavak)
gdje je n ukupan broj gradova ukljucujuci i polazni grad, to jest u nasem primjeru n = 5. Varijabla xij za i = j nema smisla pa se moze iskljuciti iz funkcije cilja, ili se uz ovu varijablu mogu propisati jako veliki troskovi puta cij tako da varijabla xij nece nikad imati vrijednost 1.
Za dati problem mogu se postaviti tri grupe ogranicenja. Prva grupa ograničenja treba da bude da se svaki grad posjeti samo jedanput:
(2)
Na primjer, ogranicenje za grad broj 3 u nasem primjeru je
iz kojeg slijedi da je potrebno i dovoljno da samo jedna od varijabli bude 1, sto znaci da se samo iz jednog grada stize u grad broj 3.
n j i i ij za j n x 1 . ,... 2 , 1 11
53 43 23 13
x
x
x
x
Druga grupa ograničenja treba da obezbjedi da je moguć odlazak iz jednog grada samo u jedan drugi grad:
(3)
Jedno od ovih ograničenja je, na primjer, ograničenje
znaci da je iz grada broj 2 moguce otici samo jedanput, to jest u pravcu samo jednog od preostalih gradova.
U ovakvoj postavki problema moguca su rjesenja koja zadovoljavaju ogranicenja (2) i (3) a koja ne ispunjavaju cilj putovanja. To su rjesenja takozvanih mali turneja od kojih
n i j j ijza
i
n
x
1.
,...
2
,
1
1
1
25 24 23 21
x
x
x
x
Primjer (nastavak)
Primjer (nastavak)
1 3 5 2 4Slika 1. Male turneje od dva odnosno tri grada
Dakle, rjesenja data na slici 1 su matematski korektna ali ne zadovoljavaju postavljeni zadatak. Da bi eliminisali turneju od dva grada, moguce je uvesti ogranicenje da ako postoji putovanje iz grada i prema gradu j ne moze postojati putovanje iz grada j u grad i. Na primjer, ogranicenje
Primjer (nastavak)
Na slican nacin mogu se sprijeciti rjesenja malih turneja od tri grada, na primjer,
Moze se pokazati da je u turneji od pet gradova dovoljno sprijeciti male turneje od dva grada pa da sve ostale male turneje bude sprijecene u rjesenju. U turneji od sest gradova potrebno je eliminisati male turneje od dva grada i male turneje od tri grada. U turneji od sedam gradova potrebno je eliminisati male turneje od dva grada i male turneje od tri grada. U turneji od osam gradova potrebno je eliminisati sve male turneje od dva grada i male turneje od tri grada i male turneje od cetiri grada.
Primjena analiziranog problema nije vezana samo za primjer politicke kampanje ili trgovackog putnika, vec i za transportne probleme ili planiranje proizvodnje. Na primjer,
.
2
2
42 54 25 52 45 24
x
x
x
x
x
x
Postavka modela: min 20 x12 + 25 x13 + 32 x14 + 22 x15 + 18 x21 + 22 x23 + 16 x24 + 18 x25 + 27 x31 + 20 x32 + 30 x34 + 12 x35 + 28 x41 + 14 x42 + 30 x43 + 14 x45 + 18 x51 + 22 x52 + 10 x53 + 18 x54 subject to x21 + x31 + x41 + x51 = 1 x12 + x32 + x42 + x52 = 1 x13 + x23 + x43 + x53 = 1 x14 + x24 + x34 + x54 = 1 x15 + x25 + x35 + x45 = 1 x12 + x13 + x14 + x15 = 1 x21 + x23 + x24 + x25 = 1 x31 + x32 + x34 + x35 = 1 x41 + x42 + x43 + x45 = 1 x51 + x52 + x53 + x54 = 1 Sprijeciti male turneje od dva grada
x12 + x21 <= 1 x13 + x31 <= 1 x14 + x41 <= 1 x15 + x51 <= 1 x23 + x32 <= 1 x24 + x42 <= 1 x25 + x52 <= 1 x34 + x43 <= 1 x35 + x53 <= 1 x45 + x54 <= 1 end Vidjeti fajl: Zadatak_5
1) 87.00000
VARIABLE VALUE REDUCED COST X12 0.000000 20.000000 X13 1.000000 25.000000 X14 0.000000 32.000000 X15 0.000000 22.000000 X21 1.000000 18.000000 X23 0.000000 22.000000 X24 0.000000 16.000000 X25 0.000000 18.000000 X31 0.000000 27.000000 X32 0.000000 20.000000 X34 0.000000 30.000000 X35 1.000000 12.000000 X41 0.000000 28.000000 X42 1.000000 14.000000 X43 0.000000 30.000000 X45 0.000000 14.000000 X51 0.000000 18.000000 X52 0.000000 22.000000 X53 0.000000 10.000000
Zadatak 6
Potrebno je odlučiti kako rasporediti 7 pjesama na album tako da bude maksimalan broj pjesama na B strani. Pjesme na strani B ne smiju trajati duže od polovine
vremena svih pjesama. Vremena pjesama su
pjesma 1 2 3 4 5 6 7 vrijeme 2 5 2 2 7 2 2
Zadatak 7
Internacionalni Crveni Krst se priprema za slanje neophodnih namirnica u malu zemlju centralne Amerike koja se suočila sa velikom štetom prouzrokovanom zemljotresom. Nadležni u Crvenom Krstu su primili izvještaje o veličini štete i potrebama i oni žele da osiguraju da ce prtljag u avionu obezbjediti maksimalnu hitnu korist.
Glavna ograničenja su težina i volumen prtljaga u avionu. Avion koji ce biti korišten ima kapacitet od 30 000 kilograma i 6000 m³ zapremine. U tabeli 8-5 je data lista namirnica za hitnu pomoc koje se uvrštavaju u pošiljku, težina i zapremina kontejnera za svaku namirnicu, prosječan broj ljudi čije će potrebe biti zadovoljene po kontejneru i relativna vrjednost koja je pripisana svakoj namirnici za ovu vrstu katastrofe. Iako je kriterij koji treba da se koristi pri selekciji namirnica za prevoz teško odrediti, Crveni Krst koristi indeks koristi koji se računa množenjem broja ljudi po kontejneru sa relativnom vrijednosti pripisanom svakoj namirnici. Indeks koristi je prikazan u zadnjoj koloni u tabeli.
Zadatak 7 (nastavak)
Broj namirn ice Namir nica Težina po kontejn eru Zapre mina po kontejn eru Broj osoba po kontejn eru Relativ na vrijedn ost Index koristi 1 Krv 100 20 150 5 750 2 Lijeko vi 200 30 2500 3 7500 3 Med.na m. 150 50 100 1 100 4 Hrana 50 8 100 2 200 5 Voda 75 6 150 4 600Vidi se da korištenje gore navedenog kriterija vodi ka isključenju namirnica visokog prioriteta. Druga ograničenja moraju biti definisana kako bi se osiguralo da namirnice visokog prioriteta budu poslane u odgovarajućoj količini. Npr. Najmanje 40 kontejnera krvi, 10 kontejnera lijekova, i 100 kontejnera vode mora biti poslano u prvom avionu. Izabrati sadržaj namirnica tako da indeks koristi bude maksimalna vodeći računa o ograničenjima.
Mladi bračni par Eva i Adam žele da podijele kućne poslove. Svako je spreman da radi dva posla. Potrebno je da izaberu po dva posla kako bi minimizirali njihovo vrijeme koje troše na kućne poslove.
Kupovina
Kuhanje
Sudje
Ves
Eve
4.5
7.8
3.6
2.9
Adam
4.9
7.2
4.3
3.1
Zadatak 10
Statistički je poznata zavisnost uspjeha na ispitu od
broja sati učenja za 4 predmeta, izraženo u
razredima od po 10 sati:
Broj sati učenja Ocjena iz A Ocjena iz B Ocjena iz C Ocjena iz D 0 2 1 1 2 10 3 1 2 3 20 4 2 3 3 30 5 2 4 3 40 5 3 4 3 50 5 3 4 3 60 5 4 5 4 70 5 5 5 5