Professional Documents
Culture Documents
Cjelobrojno Programiranje
Cjelobrojno Programiranje
(Integer Programming)
IP primjer
Optimalno LP rjeenje
x1 = 8/3
x2 = 4/3
ZLP* = 104
Optimalnox2IP rjeenje
x1 = 2
Max Z = 33x1 + 12x2
x23= 3
s.t.
ZIP* = 102
(1)
(2)
(3)
x1 + 2x2 4
2
5x1 + 2x2 16
2x1 x2 Zaokrueno
4
LP rjeenje
x1, x2 0 and integer x = 2
1 1
Optimalno
IP rjeenje
Iso-profit l
nemogue
IP rjeenje
Mogue,
nije optimalno
x2 = 1
ZRLP* = 78
x1
Vrste IP problema
z 20 x1 10 x2
(1)
sa ogranienjima
5 x1 4 x2 24 (zapremina
)
2 x1 5 x2 13 (tezina)
(2)
x1 , x2 0, realnevarijable
LP model
6
z 20 x1 10 x2
(1)
sa ogranienjima
5 x1 4 x2 24 (zapremina
)
2 x1 5 x2 13 (tezina)
(2)
x1 , x2 0, cjelobrojne varijable
IP model
9
IP MODEL U LINDI
10
11
12
13
14
15
16
18
uz ogranienja
19
X2 5
X1 = 1.33
X2 = 4
Z = 36
X1 1
X1 = 1
X2 = 4
Z = 34
X1 = 0.2
X2 = 5
Z = 36.2
X1 2
X1 0
X1 = 2
X2 = 3
Z = 33
X1 1
X1 = 0
X2 = 5.167
Z = 36.167
X2 5
X1 = 0
X2 = 5
Z = 35
Ne postoji realno
rjeenje
X2 6
Ne postoji realno
rjeenje
20
5x1 2 x2 3x3 50
odnosno u sluaju proizvodnje itnih pahuljica
2 x1 4 x2 x3 30
21
5x1 2 x2 3x3 50 yM
2 x1 4 x2 x3 30 (1 y ) M
gdje je M proizvoljna, velika konstanta. Ako ograniimo vrijednosti varijable y na
nulu ili jedinicu, efekat je sljedei:
Ako je y = 1 drugo ogranienje se vraa u svoju orginalnu formu. Sa
izabranim velikim brojem M desna strana prvog ogranienja postaje jako velika
tako da e svako rjeenje za x1, x2 i x3 zadovoljiti prvo ogranienje, inei to
ogranienje praktino suvinim.
Ako je y = 0 prvo ogranienje se vraa u svoju orginalnu formu. Drugo
ogranienje postaje suvinim.
22
2 x1 4 x2 x3 30 y2 M
y1 y2 1
Ako postoji m1 meusobno iskljuivih ogranienja, onda se lan yiM dodaje
na desnu strano svakog od ogranienja. Svaka yi varijabla je 0-1 varijabla.
Da bi osigurali da samo jedno ogranienje bude vezano za funkciju cilja
dodaje se dodatno ogranienje u obliku
.
m1
y
i 1
m1 1
23
2 x1 x 2 x3 10
4 x1 x 2 x3 12
5 x1 x 2 6
etiri varijable moraju biti dodate kao to je prikazano kako bi obezbjedili da
samo jedno od ogranienja bude izabrano.
x1 x 2 x3 5 y1 M
2 x1 x 2 x3 10 y 2 M
4 x1 x 2 x3 12 y 3 M
5 x1 x 2 6 y 4 M
y1 y 2 y 3 y 4 3
y i 0 ili 1, za i 1,2,3,4.
24
y
i 1
m1 k
25
Zadatak 1
Odjeljenje razvoja jedne firme razvilo je tri nova proizvoda. Meutim da bi ograniili
broj proizvoda na proizvodnim linijama menament je nametnuo ogranienje da od
razvijena tri proizvoda najvie dva mogu biti uvedena u proizvodnju. Novi proizvodi
se mogu proizvoditi na dvije postojee proizvodne linije. Iz administrativnih razloga
menament je postavio zahtijev da samo jedna od dvije postojee linije moe biti
koritena za nove proizvode. Trokovi proizvodnje novih proizvoda na linijama su isti,
ali zbog razliite infrastrukture, vrijeme potrebno za proizvodnju novih proizvoda se
razlikuje za svaku liniju kao to se vidi u sljedeoj tabeli.
Proizvod
1
2
3
Kapacitet
Sati u sedmici
Proizvodna linija 1
Proizvodna linija 2
3
4
4
6
2
2
30
40
5
7
7
5
3
9
(u hiljadama dolara)
(komada po sedmici)
26
Zadatak 1 (nastavak)
Cilj je izabrati proizvode, prizvodne linije i koliinu proizvodnje izabranih proizvoda
da bi maksimizirali profit.
Rjeenje
Maksimum
Z 5x1 7 x2 3x3
3 x1 4 x2 2 x3 My1 30,
4 x1 6 x2 2 x3 My 2 40,
x1 7,
x2 5,
x3 9,
x1 My3 0,
x2 My 4 0,
x3 My5 0,
y1 y 2 1,
y3 y 4 y5 2,
x1 0,
x2 0,
x3 0, cjelobrojne varijable
27
28
29
30
31
32
Zadatak 2
Gradska Vlada razmatra izgradnju nekih od rekreativnih
centara:plivaki bazen, tenis centar, atletsko polje i gimnastiku salu.
Vlada je planirala sredstva od $1,200,000 za izgradnju i 12 ari
zemljita. Bazen i tenisko igralite zahtijevaju istu lokaciju tako da
samo jedno moe biti napravljeno. Koje projekte Vlada trerba da
izabere tako da bude to vei broj graana koji koriste rekreativne
centre.
Bazen
Tenis centar
Atletsko polje
Gimnast. Salu
Broj
korisnika
(po danu)
300
90
400
150
Trosak
($000)
350
100
250
900
Povrsina
(ari)
4
2
7
3
33
Zadatak 2 (nastavak)
Rjeenje
Maksimum
binarne varijable
34
35
36
Zadatak 3
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.
37
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.
Rjeenje:
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 .
z x1 x2 x3 x4 x5 x6 x7 x8
Zadatak 3 (nastavak)
x1 x2 1
ili ista vrsta ogranicenja za distrikt 8 bi bila
x1 x2 x4 1
x3 x 2
ili
x3 x2 0.
x2 x3
ili
x2 x3 0
40
f x1 , x2 ,..., xn d1
ili
d 2 ,...
ili
dN
f x1 , x2 ,..., xn
a x
j
ili
f x1 , x2 ,..., xn x j
j 1
f x1 , x2 ,..., xn
d y
i
i 1
y
i 1
1,
yi
3x1 2 x2 6 y1 12 y2 18y3
y1 y 2 y3 1
y1 , y2 , y3
su binarne varijable
42
k j c j x j
f j (x j )
0
ako je x j 0,
ako je x j 0,
gdje xj predstavlja nivo aktivnosti j (na primjer broj proizvoda), kj su fiksni trokovi i
43
Minimum
Z f1 ( x1 ) f 2 ( x2 ) .... f n ( xn )
uz data ogranienja.
Problem se moe rjeiti uvoenjem pomonih binarnih (0-1) varijabli tako da funkcija
cilja ima sljedei oblik:
Z
(c x
j
k j y j ),
j 1
gdje vrijedi
1
yj
ako je x j 0,
ako je x j 0,
44
x j My j
za
j 1,2,...,n
Minimizira
j
(c x
j
k j y j ),
j 1
x j My j 0
i yj je binarna varijabla za j = 1,2,...,n
46
Zadatak 4
47
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
Bolje je:
F1 - 300 y1 <= 0
F2 - 200 y2 <= 0
F3 - 50 y3 <= 0
END
GINT F1
GINT F2
GINT F3
INT y1
INT y2
INT y3
48
460.0000
VARIABLE
VALUE
Y1
1.000000
Y2
1.000000
Y3
0.000000
F1
300.000000
F2
200.000000
F3
0.000000
REDUCED COST
60.000000
200.000000
-2100.000000
0.000000
0.000000
0.000000
49
Primjer
Voa kampanje predsjednikog kandidata planira na kraju kampanju u 5 gradova za
koje vjeruje da su odluujui za pobjedu. Predsjedniki kandidat treba da krene iz
Waingtona i da posjeti svaki od pet gradova i da se vrati u Waington. Zbog malog
preostalog budeta za kampanju ili pritiska novinara koji ispituju da li se na efikasan
nain troe sredstva fonda za kampanju kandidatat vodja kampanje eli da minimizira
trokove puta kandidata i njegovog tima. Umjesto ovog cilja moe se postaviti i drugi,
na primjer, da se minimizira trajanje puta kako bi se dobilo na vremenu.
Problem se moe rijeiti kao 0-1 problem. Za svaku moguu relacija izmeu 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 trokovi puta od grada i do
grada j. Ovakav pristup vodi do opteg oblika funkcije cilja
n
(1)
50
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 ogranienja treba
da bude da se svaki grad posjeti samo jedanput:
n
x
i 1
i j
ij
za
j 1,2,...n.
(2)
Primjer (nastavak)
Druga grupa ogranienja treba da obezbjedi da je mogu odlazak iz jednog grada samo
u jedan drugi grad:
n
x
j 1
j i
ij
za
i 1,2,...n.
(3)
Primjer (nastavak)
1
2
5
3
4
x13 x31 1
ce sprijeciti rjesenje malih turneja izmedju gradova 1 i 3.
53
Primjer (nastavak)
Na slican nacin mogu se sprijeciti rjesenja malih turneja od tri grada, na primjer,
55
Zadatak 5
56
Postavka modela:
min
20 x12
18 x21
27 x31
28 x41
18 x51
+
+
+
+
+
subject to
x21 +
x12 +
x13 +
x14 +
x15 +
=
=
=
=
1
1
1
1
57
1)
VARIABLE
X12
X13
X14
X15
X21
X23
X24
X25
X31
X32
X34
X35
X41
X42
X43
X45
X51
X52
X53
X54
87.00000
VALUE
0.000000
1.000000
0.000000
0.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
1.000000
0.000000
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
1.000000
REDUCED COST
20.000000
25.000000
32.000000
22.000000
18.000000
22.000000
16.000000
18.000000
27.000000
20.000000
30.000000
12.000000
28.000000
14.000000
30.000000
14.000000
18.000000
22.000000
10.000000
18.0000
58
Zadatak 6
Potrebno je odluiti kako rasporediti 7 pjesama na album tako da bude maksimalan
broj pjesama na B strani. Pjesme na strani B ne smiju trajati due od polovine
vremena svih pjesama. Vremena pjesama su
pjesma
vrijeme
1
2
2
5
3
2
4
2
5
7
6
2
7
2
59
Zadatak 7
Internacionalni Crveni Krst se priprema za slanje neophodnih namirnica u malu
zemlju centralne Amerike koja se suoila sa velikom tetom prouzrokovanom
zemljotresom. Nadleni u Crvenom Krstu su primili izvjetaje o veliini tete i
potrebama i oni ele da osiguraju da ce prtljag u avionu obezbjediti maksimalnu
hitnu korist.
Glavna ogranienja su teina i volumen prtljaga u avionu. Avion koji ce
biti koriten ima kapacitet od 30 000 kilograma i 6000 m zapremine. U tabeli 8-5
je data lista namirnica za hitnu pomoc koje se uvrtavaju u poiljku, teina i
zapremina kontejnera za svaku namirnicu, prosjean 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 teko odrediti, Crveni Krst koristi indeks koristi koji se rauna
mnoenjem broja ljudi po kontejneru sa relativnom vrijednosti pripisanom svakoj
namirnici. Indeks koristi je prikazan u zadnjoj koloni u tabeli.
60
Zadatak 7 (nastavak)
Broj
namirn
ice
Namir
nica
Teina
po
kontejn
eru
Zapre
mina
po
kontejn
eru
Broj
osoba
po
kontejn
eru
Relativ
na
vrijedn
ost
Index
koristi
Krv
100
20
150
750
Lijeko
vi
200
30
2500
7500
Med.na
m.
150
50
100
100
Hrana
50
100
200
Voda
75
150
600
61
Zadatak 8 (nastavak)
Vidi se da koritenje gore navedenog kriterija vodi ka iskljuenju namirnica
visokog prioriteta. Druga ogranienja moraju biti definisana kako bi se osiguralo
da namirnice visokog prioriteta budu poslane u odgovarajuoj koliini. Npr.
Najmanje 40 kontejnera krvi, 10 kontejnera lijekova, i 100 kontejnera vode mora
biti poslano u prvom avionu. Izabrati sadraj namirnica tako da indeks koristi bude
maksimalna vodei rauna o ogranienjima.
62
Zadatak 9
Mladi brani par Eva i Adam ele da podijele kune poslove. Svako je spreman
da radi dva posla. Potrebno je da izaberu po dva posla kako bi minimizirali
njihovo vrijeme koje troe na kune poslove.
Eve
Adam
Kupovina
4.5
4.9
Kuhanje
7.8
7.2
Sudje
3.6
4.3
Ves
2.9
3.1
63
Zadatak 10
Statistiki je poznata zavisnost uspjeha na ispitu od
broja sati uenja za 4 predmeta, izraeno u
razredima od po 10 sati:
Broj sati uenja
0
Ocjena iz
A
2
Ocjena iz
B
1
Ocjena iz
C
1
Ocjena iz
D
2
10
20
30
40
50
60
70