You are on page 1of 18

# SVEUILITE U SPLITU

POMORSKI FAKULTET

## DARIA BOENA FORLI

CJELOBROJNO PROGRAMIRANJE

SPLIT, 2015.

SVEUILITE U SPLITU
POMORSKI FAKULTET

## DARIA BOENA FORLI

CJELOBROJNO PROGRAMIRANJE

## KOLEGIJ: Operacijska istraivanja

MENTOR: prof. pred. Goran Kovaevi
STUDENT: Daria Boena Forli
BROJ INDEXA: 0171252085
SPLIT, 2015

1. UVOD........................................................................................................................................................4
2. OPERACIJSKA ISTRAIVANJA............................................................................................................5
3. LINEARNO PROGRAMIRANJE............................................................................................................7
3.1. Opa matematika formulacija LP-a (standardni problem maximuma).............................................9
4. CJELOBROJNO PROGRAMIRANJE...................................................................................................12
4.1. Problem trgovakog putnika.............................................................................................................15
4.2. Heuristike metode............................................................................................................................15
4.3. Metode grananja i ograniavanja......................................................................................................16
5. ZAKLJUAK..........................................................................................................................................17
LITERATURA.............................................................................................................................................18

1. UVOD

## Cjelobrojno programiranje je oblik linearnog programiranja kod kojeg se varijable odluivanja

definiraju (ograniavaju) kao cjelobrojne varijable. Vanost cjelobrojnog programiranja jest u rjeavanju
praktinih problema. Gotovo da i nema podruja u kojemu se cjelobrojno programiranje ne bi moglo
primijeniti. Najea su podruja primjene podruje industrije i podruje ekonomije, ali i vojno podruje,
gdje je primjena u izboru i razmjetaju sredstava naoruanja. U svakoj organizaciji nailazimo na proces
odluivanja koji odreuje koritenje dodijeljenih sredstava organizacije. Vrlo je esto podruje primjene
cjelobrojnog programiranja transport. Transport je jedna od najvitalnijih usluga u modernom drutvu.
Osnova je za mnoge druge funkcije drutva, kao to su proizvodnja i izgradnja, prehrambena i
poljoprivredna industrija, dostava i distribucija energenata, dostupnost medicinske njege i turizam. Prvi
takav problem izrastao je iz elje jedne naftne kompanije da bolje organizira regionalni vozni park
kamiona i vozae. U budunosti za postizanje ope dobrobiti, ekonomskog rasta i stabilnosti, transportni
programi i fiziki sistemi morat e biti osmiljeni i napravljeni kako bi osigurali brz, siguran, efikasan i
dostupan transport po najnioj cijeni.

2. OPERACIJSKA ISTRAIVANJA

## Kvantitativne metode za poslovno upravljanje ili operacijska istraivanja su kompleksno

interdisciplinarno struno podruje koje se bavi rjeavanjem problema odluivanja koji imaju podlogu u
stvarnosti. Cilj operacijskih istraivanja je odrediti najbolji mogui, tj. optimalni smjer aktivnosti u
problemu odluivanja, a sve u okviru postavljenih restrikcija i ogranienih kapaciteta. Pojam operacijskih
istraivanja gotovo iskljuivo se vee uz matematike metode u modeliranju i analizi problema
odluivanja ipak, esto se dogaa da specifini problemi odluivanja sadre neopipljive faktore koje je
teko ili nemogue prevesti na matematiki jezik pa je tu uvijek prisutan i potreban ljudski faktor.
Praktina primjena operacijskih istraivanja dolazi u vojnom podruju, problemi industrije, proizv.
programi, izbor lokacije tvornica, optimalno planiranje invest. ulaganja, razmjetaj strojeva, izbor
optimalnih tehnolokih postupaka, sastavljanje optim. planova prehane i transporta, i sl.
Kvantitativne metode za poslovno upravljanje ili operacijska istraivanja su kompleksna
znanstvena disciplina koja se bavi rjeavanjem problema odluivanja koji imaju podlogu u stvarnosti.1
Istraivaki odjel Ministarstva zrakoplovstva Velike Britanije tijekom Drugog svjetskog rata razvija
metode optimizacije vojnih operacija (raspored radara, osiguranje konvoja, miniranje podmornica,
bombardiranje). Cilj kvantitativnih metoda za poslovno upravljanje je pronalazak najboljeg, tj.
optimalnog smjera aktivnosti u problemu odluivanja u okviru danih restrikcija i ogranienih kapaciteta.
Bit kvantitativnih metoda za poslovno upravljanje mogao bi se podijeliti na slijedee korake:
1. Formulacija problema, tj. postavljanje granica sustava koji se istrauje
2. Konstrukcija modela
3. Modelsko raunanje
4. Primjena2

Koraci:
1

Dr. sc. Dominika Crnjac Mili, mr. sc. Ljiljanka Kvesi: Heuristike metode cjelobrojnog programiranja i njihove aplikacije
u ekonomiji
2

## rijeiti odabranom najpogodnijom metodom operacijskih istraivanja

Izbor metode za rjeavanje problema ovisi o modelu. U nekim sluajevima treba izraditi novu
metodu za model, dok se u odreenim sluajevima koristimo ve poznatim metodama. Metode koje emo
upoznati:
1. Dual
2. Viekriterijalno programiranje
3. Razlomljeno programiranje
4. Cjelobrojno programiranje
5. Ciljno programiranje
6. Transportni problem
7. Problem asignacije
8. Trgovaki putnik
9. Teorija igara
10. Mreno programiranje
11. Modeli repova ekanja
12. Modeli zaliha3

http://www.math.hmc.edu/seniorthesis/archives/2001/kbryant/kbryant-2001-thesis.pdf,

3. LINEARNO PROGRAMIRANJE
Linearno programiranje (LP) - pojam:
- linearno: zahtjev da sve matem. f-je koje su sastavni dio LP-a budu linearne f-je
- programiranje (optimiranje): bavi se problemima alokacije ogranienih resursa na meusobno
konkurentne aktivnosti na najbolji mogui (optimalan) nain

## Komponente LP modela: Cilj; Varijable odluivanja; Ogranienja (restrikcije); Parametri

Z = 6x1+4x2+x3 max!

f-ja cilja

4x1+x2 26
parametri

2x1+2x2+x3 100

ogranienja (restrikcije)

4x2+x3 = 60
varijable odluivanja

x1,2,3 0

Cilj LP maximalizacija (profita, dobiti, prihoda) ili minimalizacija (trokova, vremena, ...)
Zadatak LP utvrditi vrijednosti za varijable odluivanja koje e maximalizirati ili minimalizirati f-ju
cilja
Ogranienja uvijek su zadana u obliku jedn. ili nejedn., a svako ogranienje se sastoji od 4 elementa:
- koliina (desna strana) = konstanta
- algebarski znak (=,,)
- varijabla odluivanja (x1, x2, x3,...)
- parametri (vrijednosti uz varijable odluivanja)4

3 tipa ogranienja:
1. sustavno sadri 2 ili vie varijabli odluivanja
2. individualno sadri samo jednu varijablu odluivanja

## 3. uvjet nenegativnosti odnosi se na potencijalne vrijednosti koje mogu poprimiti varijable

odluivanja tj. uvjetuje podruje doputenih od nedoputenih rjeenja od osi x1

Optimalno rjeenje ako navedeno rjeenje ujedno i optimalizira vrijednost f-je cilja (najbolja mogua
kombinacija varijabli odluivanja)

Formuliranje LP-modela
1. identifikacija varijabli odluivanja
2. formuliranje f-je cilja
3. identifikacija

ogranienja

(jedn.

ili

nejedn.)
4. odreivanje vrijednosti za parametre
5. formuliranje modela
6. rjeavanje (vrednovanje) modela LP-a5

http://www.math.hmc.edu/seniorthesis/archives/2
001/kbrant/kbryant-2001-thesis.pdf

## Objekt LP je uvijek problem optimiranja odnosno maximalizacija ili minimalizacija uz

izvjesna ogranienja u vidu niza uvjeta (restrikcija) matematiki, pod LP se smatra
optimiranje jedne f-je cilja uz izvjesna ogranienja koja limitiraju veliine varijabli
Z = c1x1 + c2x2 + ... + cnxn

max!

(1)
m, i oznake za red

## a11x1 + a12x2 + ... + a1nxn b1

a21x1 + a22x2 + ... + a2nxn b2

(2)

n, j oznake za stupac

...
am1x1 + am2x2 + ... + amnxn bm
x1,2,...n 0

(3)

## cn, j dobit po jedinici "j" = koeficijent f-je cilja

= strukturna varijabla

## aij, mn koef. koji govori koliko je potrebno jedinica

m, i broj restrikcija

## proizv. faktora i ili m za jedinicu aktivnosti xj, n

aktivnosti

n, j obujam pojedinih

n

Z cj x j

j1

max!

## max vrijednost uz uvjete:

n

a ij x j bi ; i 1,2,...m
j1

xj 0; j = 1,2,...m

## Za skup toaka iz (1), (2) i (3) vrijedi iskazi:

- skup toaka x1,2,...n predstavlja konveksni poliedar koji u nekim sluajevima moe imati
beskonano udaljene vrhove

## Pored problema maximiziranja postoji i problem minimuma

Z = b1v1 + b2v2 + ... + bmvm min!

(1)

## a11v1 + a21v2 + ... + am1vm c1

a12v1 + a22v2 + ... + am2vm c2

(2)

...
a1nx1 + a2nx2 + ... + amnvm cn
v1,2,...m 0

(3)

Potrebno je pronai x1, x2, ... xm koji zadovoljavaju sustav {(4), (5), (6)} i omoguavaju da f-ja
cilja (4) dostigne min. Uoavamo simetriju s problemom maximuma, pa kaemo da su ovi
problemi meusobno dualni
1. matrica skupa restrikcija drugog problema (duala) predstavlja transponiranu matricu
prvog (primarnog) problema
2. nejednakosti u skupu restrikcija su suprotno orijentirane
3. ulogu slobodnih lanova u skupu restrikcija drugog problema (duala) imaju
koeficijenti f-je cilja iz primarnog problema i obrnuto
4. u dualu f-ja cilja se minimizira, dok se u primarnom problemu maximizira

## Postavljanje problema LP opi model postavljanja

varijable odluivanja (x1, x2,
x3, ....)
- proizvodi, roba, hrana, osobe,
sirovine, ... strojevi
Odjeli
faze

- najmanje 30g

- najvie 50 sek

## parametri uz varijable odluivanja

sastojci, ...
... Z ....

kapacitet

Primjeri za tip
restrikcije:

koeficijenti uz varijable
odluivanja u Z

desna strana
restrikcija - ne vie od 20 min

- 24 sata
max! / min! =

- u potpunosti
iskoriten
=
Primjer postavljanja: Proizvodni asortiman
U nekom pogonu proizvode se 2 proizvoda, A i B, koji zbog tehn. procesa moraju proi kroz 3
proizv. faze tj. 3 stroja (S1, S2, S3). Za izradu 1 jedinice A treba raditi 2 h na stroju S 1 i 2 h na
stroju S2, a za izradu 1 jedinice B treba raditi 4 h na S1, 1 h na S2 i 4 h na S3. Kapaciteti
strojeva su ogranieni na 16, 10 i 12 h respektivno.
Postavlja se pitanje koju koliinu proizvoda A i B treba proizvesti da bi se postigla max dobit
ako se zna da se po jedinici proizvoda A ostvaruje dobit od 20, a po jedinici B dobit od 30
NJ?
PROIZVODI
dobit

A (x1)
(x2)

Linearni model:
kapacitet

S1

16

S2

10

S3

12

Z: max
dobit

20

## Z = 20x1 + 30x2 max!

2x1 + 4x2 16
2x1 + x2 10
4x2 12
x1, x2 0

30

Grafiki pristup rjeavanju problema primjena grafikog pristupa je ograniena, tj. LPmodel se moe rjeiti samo ako je dvodimenzionalan tj. ako u njemu postoje 2 varijable
odluivanja (x1 i x2)6

http://www.math.hmc.edu/seniorthesis/archives/2001/kbryant/kbryant-2001-thesis.pdf

4. CJELOBROJNO PROGRAMIRANJE

Kod velikog broja problema linearnog programiranja postoji zahtjev da varijable imaju
cjelobrojna rjeenja. U sklopu cjelobrojnog programiranja mogue su tri vrste problema:
1. isto cjelobrojno programiranje (sve varijable moraju biti cijeli brojevi)
2. Mjeovito cjelobrojno programiranje (samo neke varijable moraju biti cijeli brojevi)
3. Binarno programiranje (varijable moraju biti 0 ili 1) kada razmiljamo o
alterantivama tipa da - ne
Ove probleme rjeavamo pomou specijalnih algoritama koje moemo podijeliti u tri
grupe:
1. Metode odsijecanja ravnina (Gomory metoda) koristi se za rjeavanje istog i
mjeovitog cjelobrojnog programiranja
2. Metode stabla odluivanja (Metode grananja i ograivanja) - koristi se za rjeavanje
istog i mjeovitog cjelobrojnog programiranja
3. Heuristike metode (Metoda enumeracije) za rjeavanje problema binarnog
programiranja.7
Metoda cjelobrojnog linearnog programiranja omoguuje modeliranje i rjeavanje problema
linearne optimizacije kod kojih bar neke varijable imaju cjelobrojnu vrijednost.
Primjer modela cjelobrojnog linearnog programiranja:
Max ( 6 x1 + 4 x2 )
Uz ogranienja:
1 x2 < 3

ogranienje br. 1

2 x1 + 2 x2 < 8

ogranienje br. 3

7

## Nain rjeavanja problema cjelobrojnog linearnog programiranja

Postoji nekoliko pristupa rjeavanju cjelobrojnog linearnog programiranja.
Prvi od njih koristi linearno programiranje sa zaokruivanjem, i to tako da se nae rjeenje LP
problema i to se rjeenje zaokrui na nie cjelobrojno rjeenje.
Kada na primjer rijeimo simplex metodom, kao optimalno rjeenje dobijemo toku A
(2.817, 1.183), s vrijednou funkcije cilja od 21.63 ali, to rjeenje nije cjelobrojno.
Zaokruenje koordinata rjeenja na nie cijele brojeve daje toku s koordinatama (2, 1) koja
se nalazi u podruju moguih rjeenja i ija je vrijednost funkcije cilja 16.

## Drugi je pristup pomou potpunog nabrajanja, u kojem se usporeuju vrijednosti funkcije

cilja za sve cjelobrojne toke u podruju moguih rjeenja. Ta je metoda upotrebljiva samo za
male probleme jer s porastom broja varijabli odluivanja jako brzo raste i broj takvih toaka
Metoda djelominog nabrajanja mnogo je efikasnija jer se ograniava na ispitivanje samo
dijela svih cjelobrojnih toaka u podruju moguih rjeenja.

Ostale metode linearne optimizacije Prof. dr. Vlatko eri Ekonomski fakultet - Zagreb

Najvie koritena metoda te vrste jest metoda grananja i ograniavanja (engl. branch and
bound). Ona dijeli skup toaka u dva meusobno iskljuiva podskupa (grananje), odluuje
koji e se od ta dva podskupa odbaciti, a koji e se dalje dijeliti na dva dijela itd., sve dok ne
doe do toke s optimalnom vrijednou funkcije cilja.9

Metoda ravnine odsijecanja (engl. cutting plane) rjeava cjelobrojni linearni problem kao LP
problem, pri emu odsijeca necjelobrojna rjeenja dodavanjem novog ogranienja (ravnine)
ne dirajui pritom cjelobrojne toke podruja moguih rjeenja. Kada na na problem
primijenimo neku od posljednje tri metode, dobit emo da je optimalno rjeenje toka (2, 2)
za koju je vrijednost funkcije cilja jednaka 20. Vidimo da je ovo rjeenje znatno povoljnije od
onog koje smo dobili koristei linearno programiranje sa zaokruivanjem: toka (2, 1) to daje
16.
Mjeovito cjelobrojno linearno programiranje
Mjeovito cjelobrojno linearno programiranje prouava probleme optimizacije unutar
sustava zadanih ogranienja. Zadana nam je funkcija cilja koju je potrebno minimizirati ili
zadovoljena. Funkcija cilja i ogranienja su linearne funkcije. Neke varijable koje koristimo u
takvim linearnim programima mogu poprimiti vrijednosti iz skupa realnih brojeva, a neke iz
skupa cijelih brojeva.
Binarno programiranje
Binarno programiranje je oblik cjelobrojnog programiranja kod kojeg varijable
odluivanja mogu poprimiti dvije vrijednosti 0 ili 1 i koje se definiraju (ograniavaju) kao
binarne varijable. Binarno programiranje moe se primijeniti u rjeavanju brojnih problema
odluivanja: problema izbora opcija, problema optimalnog pridruivanja, transportnih
problema.
4.1. Problem trgovakog putnika

## Problem trgovakog putnika (Traveling Salesman Problem, TSP) je problem diskretne

i kombinatorne optimizacije. Spada u skupinu NP-tekih problema, a sloenost mu je O(n!).
9

Ostale metode linearne optimizacije Prof. dr. Vlatko eri Ekonomski fakultet - Zagreb

Matematike probleme sline problemu trgovakog putnika poeo je razmatrati Euler, kojeg
je zanimalo kako bi skaka na ahovskoj ploi posjetio sva 64 mjesta samo jednom. Poetkom
20.st. matematiari William Rowan Hamilton i Thomas Kirkman su razmatrali probleme koji
se svode na problem trgovakog putnika, a njegova opa forma se pojavljuje 30-ih godina 20.
stoljea. Pojam "trgovaki putnik" prvi put je upotrijebljen 1932. godine. Sam problem je vrlo
jednostavan trgovaki putnik ima unaprijed definirane gradove i sve meusobne udaljenosti
meu njima, te mora posjetiti svaki grad samo jednom i vratiti se u poetni grad. Pitanje je
kojim bi redoslijedom trgovaki putnik morao obilaziti gradove, a da ukupna duljina puta
bude minimalna. Na prvi pogled ovaj se problem i ne ini pretekim, ali ako se uzme u obzir
da ima faktorijelnu sloenost raunanjem se dobije da ve za 11 gradova postoji 1 814 400
moguih redoslijeda obilazaka.10

## 4.2. Heuristike metode

Sve poznate egzaktne metode cjelobrojnog programiranja su elegantne, ali spore. Zato
su za rjeavanje veih problema u praksi samo uvjetno pogodne. Veu prednost imaju
heuristike metode. One trebaju manje vremena za raunanje i s velikom vjerojatnou vode
do optimalnog rjeenja, ili bar do onoga koje je blizu optimalnom. Jedna od metoda poinje s
koordinatnim ishoditem (ili iz neke druge cjelobrojne toke, po mogunosti da toka ne bude
u kutu doputenog podruja). Malim cjelobrojnim koracima u smjeru koordinata pokuava se
pribliiti optimumu. Izbor pravca vri se po kriteriju "najvee promjene". 11 U svakom se
koraku odreuje najprije za svaku varijablu xj umnoak koeficijenata funkcije cilja s najmanje
negativnim cjelobrojnim kvocijentom elemenata desne strane i koeficijentom promatrane
varijable. Varijablu koja ima apsolutno najvei (negativni) umnoak (najvea promjena)
poveava se za jedan cjelobrojni iznos, najmanje za 1. Pritom se mijenjaju desne strane
jednadbe. Male duljine koraka (zbog toga se radi o "opreznom pribliavanju"). Kod malih
koraka postoji relativno visoka sigurnost da se doe do toke "ispod optimuma". Mali koraci
sprjeavaju da se metoda u ranijoj fazi ne zaplete u jednom neoptimalnom kutu, iz kojeg
nema izlaza. Metoda koja vodi do uspjeha u mnogim primjerima ne oslanja se na male, ve na
velike korake. Najprije se koriste samo koraci u smjeru koordinata. Kad takvi koraci vie nisu
uspjeni, pokuava se promjenom dvije, tri ili eventualno vie varijabli, i to istodobno.
10

http://www.zemris.fer.hr/~golub/ga/ga_skripta1.pdf,

11

http://www.zemris.fer.hr/~golub/ga/ga_skripta1.pdf,

## Metode se mogu kombinirati. Moe se preporuiti da se pone s metodom "opreznog

pribliavanja", jer se time sprjeava prerano dolaenje u neoptimalnu kutnu toku. Ove
metode priblinog rjeavanja pobuuju interes jer se najee dobiva rjeenje koje se moe
koristiti i koje je blizu optimalnom rjeenju. Prednost im je u brem vremenu raunanja, a
nedostatak da ne pronalaze uvijek optimalno rjeenje.12

## Grananje i ograniavanje (Branch and Bound) je opi algoritam za traenje optimalnih

rjeenja mnogih optimizacijskih problema. Sastoji se od brojanja svih potencijalnih rjeenja,
pri emu se veliki podskupovi loih rjeenja odbacuju. Loa rjeenja su ona koja su unutar
nekog intervala, tj. izmeu predefinirane gornje i donje granice. Redoslijed obilaska gradova
trgovakog putnika se prvo rekurzivno grana na dva dijela, te nastaje struktura stabla. Nakon
toga se raunaju gornja i donja granica za svaki dobiveni podskup. Ako je donja granica
nekog vora bolja od gornje granice nekog drugog vora, taj drugi vor se izbacuje iz
pretrage. Rekurzija se zaustavlja kad se skup reducira na jedan element ili kad njegova gornja
granica postane jednaka njegovoj donjoj granici.13

12

## Z. Luka, L. Nerali, Operacijska istraivanja,

13

http://www.zemris.fer.hr/~golub/ga/ga_skripta1.pdf

## Element, Zagreb, 2012.

5. ZAKLJUAK
U veini podruja i problema kojima se bave operacijska istraivanja potrebno je
odrediti vrijednosti nekih varijabli tako da se postigne optimalna vrijednost odrenene funkcije
cilja. Kvantitativne metode za poslovno upravljanje ili operacijska istraivanja su kompleksna
znanstvena disciplina koja se bavi rjeavanjem problema odluivanja koji imaju podlogu u
stvarnosti. Vanost cjelobrojnog programiranja jest u rjeavanju praktinih problema. Gotovo
da i nema podruja u kojemu se cjelobrojno programiranje ne bi moglo primijeniti. Stoga je
prouavanje cjelobrojnog programiranja od velike vanosti za budunost te za postizanje ope
dobrobiti, ekonomskog rasta i stabilnosti, a njegovo poznavanje uvelike pomae kod
rjeavanja problema.

LITERATURA
1. Dr. sc. Dominika Crnjac Mili, mr. sc. Ljiljanka Kvesi: Heuristike metode
cjelobrojnog programiranja i njihove aplikacije u ekonomiji
2. http://www.math.hmc.edu/seniorthesis/archives/2001/kbryant/kbryant-2001-thesis.pdf
3. Z. Luka, L. Nerali, Operacijska istraivanja,

## Element, Zagreb, 2012

4. http://www.math.hmc.edu/seniorthesis/archives/2001/kbrant/kbryant-2001-thesis.pdf
5. Barkovi, Draen: 'Operacijska istraivanja', Ekonomski fakultet Osijek, Osijek 2002
6. Ostale metode linearne optimizacije Prof. dr. Vlatko eri Ekonomski fakultet
Zagreb
7. http://www.zemris.fer.hr/~golub/ga/ga_skripta1.pdf