You are on page 1of 11

MATEMATIKO PROGRAMIRANJE I OPTIMIZACIJA

Profesor: Zorica Stanimirovi


Asistent: Marija Ivanovi
Izborni predmet: 5 godina, smerovi: R i I (master)
Semestar: zimski, 2010.
Literatura: knjiga Kombinatorna optimizacija, autori Drago Cvetkovi, Mirjana
angalovi, Vera Kovaevi-Vujii, ore Dugoija, Slobodan Simi, Jovo Vuleta,
izava DOPIS, 1996.
1. AS

Uvod
Matematiko programiranje kao oblast poinje da se razvija posle drugog
svetskog rata mada su neki pionirski radovi objavljeni mnogo ranije. Oblast
matematikog programiranja se moe podeliti na linearno, nelinearno, diskretno i
stohastiko programiranje i teoriju igara. Zajednika osobina ovih oblasti je da se
trai taka u nekom vektorskom prostoru koja zadovoljava neka ogranienja, a u
kojoj data funkcija (funkcija cilja) dostie ekstremnu vrednost. Matematiko
programiranje iskljuivo razmatra probleme u konano dimenzionalnim prostorima
dok su ekstremalni problemi u beskonano dimenzionalnim prostorima predmet
drugih disciplina (varijacioni raun, optimalno upravljanje i td.)
Linearno programiranje je najrazvijenija i najee primenjivana oblast
matematikog programiranja (funkcija cilja i ogranienja su linearne funkcije). Neki
od problema linearnog programiranja su: Transportni problem, Problem dijete
(linearno programiranje), Problem optimalnog rasporeda radne snage (diskretno
programiranje), Izbor borbenih sredstava, Problem pakovanja proizvoda, Diskretni
problem optimalnog upravljanja, Problem planiranja proizvodnje (nelinearno
programiranje), Problem izbora projekata (diskretno programiranje), Problem
oroavanja novca u banci (stohastiko programiranje) i Problem iz vojne strategije
(problem Teorije igara).
Kombinatorna optimizacija je matematika disciplina koja prouava probleme
nalaenja ekstremnih vrednosti funckije definisane na konanom skupu.
Kombinatornom optimizacijom se reava problem sledeeg oblika:
Dat je konaan ili prebrojivo beskonaan, diskretan skup S i funkcija f : SR.
Nai minimum funkcije f na skupu S, to jest reiti zadatak:
(1)
min f ( x )
x S

Skup S se naziva dopustivi skup, a funkcija f funkcija cilja. Za taku x S se kae


da je dopustivo reenje problema (1).
1

Potrebno je nai sva dopustiva reenja x* (ili bar neko od njih) takva da je
f ( x * ) = min f ( x ) . Takva reenja se nazivaju optimalna reenja.
x S

Kako je max f ( x ) = min ( f ( x ) ) problem maksimizacije se svodi na problem


x S

x S

minimizacije, pa je dovoljno nai samo jedno od ova dva problema.


U najveem broju sluajeva skup S je konaan, pa se problem kombinatorne
optimizacije u literaturi esto definie kao problem odreivanja ekstremne vrednosti
funkcije na konanom dopustivom skupu.
Najpoznatiji primer kombinatorne optimizacije je Problem trgovakog putnika koji
glasi:
Dat je skup od n gradova koje trgovaki putnik treba da poseti tano po
jedanput takvim redosledom da trokovi puta budu minimalni.
Skup S ine sve permutacije skupa {1,,n} i ima ih n! .
Za datu permutaciju p = j1 ,..., jn funkcija cilja f(p) je zbir trokova putovanja izmeu
gradova j1 i j 2 , j 2 i j 3 ,, jn 1 i jn .
Cilj kombinatorne optimizacije je formiranje efikasnih algoritama za reavanje
sloenih problema. Ukoliko za dati problem ne postoji efiksana egzaktna metoda,
pristupa se priblinom reavanju pomou odgovarajuih heuristikih metoda.
Najvanije instance problema (1) su problemi celobrojnog programiranja i
optimizacioni problemi na grafovima. U sluaju celobrojnog programiranja S je
podskup skupa Z n , gde je Z n skup n-dimenzionalnih vektora sa celobrojnim
koordinatama. Posebno je znaajan problem linearnog celobrojnog programiranja:
(2)
min c T x , S = { x Z n | Ax b }
x S

u kome je A celobrojna matrica dimenzija m x n, a c i b celobrojni vektori


odgovarajuih dimenzija. Ukoliko se u (2) relaksira uslov celobrojnosti dobija se
problem linearnog programiranja:
(3)
min c T x , X = { x R n | Ax b }
x X

Efikasno reavanje problema linearnog programiranja je od velikog znaaja za


reavanje problema (2), jer se reavanje problema celobrojnog linearnog
programiranja esto zasniva na uzastopnim relaksacijama uslova celobrojnosti.
Probleme kombinatorne optimizacije na grafovima se mogu prikazati kao problemi
celobrojnog programiranja.

1. Grafovi, podgrafovi, matrice incidencije i susedstva


Graf je ureeni par (X,U) gde je X konaan neprazan skup (ije elemente nazivamo
vorovima) a U je skup dvoelementnih podskupova skupa X (elementi skupa U se
nazivaju grane).
Digraf je ureeni par (X,U) gde je X konaan neprazan skup a U je jedan od
ureenih parova elemenata skupa X (ovi ureeni parovi se nazivaju orijentisane
grane). Ako je G=(X,U) koriste se i oznake X=X(G), U=U(G).
Primer:

X = {A, B , C , D , E , F }
U = {a, b, c , d, e, f , g , h , i , j , k }

Graf (X,U)

Digraf (X,U)

Graf i digraf se predstavljaju geometrijskom figurom sastavljenom od taaka i linija


koje spajaju pojedine parove taaka. Take predstavljaju vorove grafova dok linije
predstavljaju grane grafa ili orijentisane grane grafa. U prvom sluaju linije su
neorijentisane dok se u drugom sluaju linije orijentiu (obeleene su strelicom).
Graf oblika {a, a} odnosno (a, a) se naziva petlja (grana koja spaja vor sa samim
sobom).
Graf sa samo jednim vrhom se naziva trivijalnim grafom inae je netrivijalan.
Graf je jednostavan ili prost ako nema petlje i nikoje dve grane ne spajaju isti par
vorova.
Ako su u grafovima (digrafovima) doputene viestruke grane (dva vora spaja vie
razliitih grana), ukljuujui i viestruke petlje onda govorimo o multigrafovima ili
multidigrafovima.

Petlja

Multigraf

Multidigraf

Hipergraf (ili skupovni sistem) je ureeni par (X, W) gde je X neprazan skup a W
familija podskupova skupa X.
3

Za dva vora grafa kaemo da su susedni ako su spojeni granom.


Dva susedna vora nazivamo krajnjim takama grane koja ih spaja.
Ako je jedan vor krajnja taka izvesne grane kaemo da se ta grana stie u tom
voru.
Kaemo da su vor i grana incidentni ili susedni ako grana poinje odnosno
zavrava se u tom voru.
Broj susednih vorova za vor x se naziva stepen vora x.
Stepen vora x se moe definisati i brojem grana koje se stiu u tom voru.
Dve grane mogu biti susedne ako imaju zajedniki vor.
Ako u nekom digrafu grana u spaja vorove xi i x j i orijentisana je od xi ka x j ,
kae se da grana izlazi iz vora xi i ulazi u vor x j . Takoe se kae da je xi poetni
a vor x j zavrni vor grane u.
Za svaki vor digrafa definie se izlazni i ulazni stepen.
Ulazni stepen vora je jednak broju grana koje ulaze u taj vor.
Izlazni stepen vora je jednak broju grana koje iz njega izlaze.
Petlja se smatra ulaznom i izlaznom granom za odgovarajui vor.
Neka je dat graf (ili digraf) G=(X,U). Graf oblika H=(Y,T), gde su Y X i
T = U Y Y (T je podskup skupa U i sadri sve one parove iz U koji su obrazovani
samo od elemenata skupa Y), se naziva podgrafom grafa (podgrafom digrafa) G,
obrazovanim (indukovanim) skupom vorova Y.
Deliminim ili parcijalnim grafom grafa (digrafa) G=(X,U) naziva se svaki graf
oblika H=(X,T) pri emu je T U .
Deliminim grafom podgrafa naziva se delimini podgraf datog grafa (digrafa)

Podgraf grafa (X,U)

Delimini podgraf grafa (X,U)

Ako je Y X , H se naziva pravim podgrafom grafa.


Deliminim grafom ili parcijalnim grafom grafa (digrafa) G=(X,U) naziva se svaki
graf oblika H=(X,T) pri emu je T U .
Deliminim grafom podgrafa nazivamo delimini graf datog grafa (digrafa)

Put duine k u digrafu je svaki niz grana u1 , u2 ,..., uk koji ima sledee osobine:
o Grana u1 polazi iz proizvoljnog vora digrafa
o Grana ui (i=2,,k) poinje u onom voru u kom se zavrava grana ui 1 .
Alternativno, put moe da se definie kao niz vorova kroz koje prolazi.
Put moe vie puta da prolazi istom granom ili kroz isti vor.
Grane nekog grafa mogu da se seku u taki koja nije vor tog grafa.
Elementarni put je put koji kroz svaki vor grafa prolazi samo jednom.
Put koji se zavrava u istom voru u kom i poinje naziva se kruni ili zatvoreni
put.
Kao grana, u putu moe da se pojavi i petlja.
U grafu se svaka grana moe shvatiti kao dvostrano orijenisana tako da put nije samo
definisan nizom grana nego se za svaku granu koja ulazi u posmatrani put mora
naznaiti i njna orijentacija. Za grafove se put duine k definie kao naizmenini niz
vorova xi i grana ui oblika x1 , u1 , x 2 , u2 ,..., xk , uk , xk +1 pri emu je za i=1,2,..,k vor xi
poetni a vor x i +1 krajnji za granu ui .
Duina puta u grafu (ili digrafu) je jednaka broju grana koje se nalaze u putu.
Rastojanje vorova x i y se u grafu definie kao duina najkraeg puta koji
povezuje ta dva vora.
Niz grana koje se nadovezuju jedna na drugu bez obzira njihovu orijentaciju se
naziva lanac.
Ciklus je lanac koji se zavrava u istom voru u kome i poinje.
Primer:
Lanac: afbc , aicde ,...
Ciklus: AafbcdA, AdheA,...
Ako ciklus (ili lanac) prolazi kroz svaki vor najvie jedanput, tada se taj ciklus
(lanac) naziva elementarnim.
Graf je povezan ako se proizvoljna dva njegova vora mogu povezati putem. Ako
postoje vorovi koji se ne mogu povezati putem, graf je nepovezan.
Nepovezan graf se sastoji iz vie delova koje nazivamo komponente povezanosti
grafa ili krae komponente. Komponenta grafa xi je u stvari podgraf obrazovan od
onih vorova koji se mogu spojiti sa vorom putem sa vorom xi ukljuujui i vor
xi .
Digraf je jako povezan ako je svaki par vorova xi , x j spojen putem koji vodi iz xi
u xj .
Digraf je jednostrano povezan ako je svaki neureen par vorova xi , x j povezan
bar u jednom smeru.
Digraf je slabo povezan ako je povezan (neorijentisan graf) dobijen samo od datog
digrafa zamenom orijenisanih grana odgovarajuim neorijenisanim granama.
5

Neka su d1 , d2 ,..., dn stepeni vorova x1 , x 2 ,..., xn u grafu bez petlji koji ima m
grana. Sabiranjem svih stepena vorova dobijamo dvostruki broj grana obzirom da
svaka grana ima dva vora. Vai relacija:
d1 + d2 + ... + dn = 2m
Broj vorova neparnog stepena u konanom grafu (ili multigrafu) bez petlji je
paran.
Graf se naziva regularan stepena r ako je d1 = d2 = ... = dn = r .
Regularan graf stepena r ima m=nr/2 grana.
Konaan, povezan, regularan graf stepena 2 zove se kontura. Kontura koja sadri
sve vorove grafa naziva se Hamiltonova kontura.
Ako kontura ima n vorova, oni se mogu oznaiti sa x1 , x 2 ,..., xn tako da je x1
susedan sa x 2 , x 2 sa x 3 ,.., x n 1 sa xn i xn sa x1 . Primer konture slika nie:

Konaan regularan graf stepena 2 ima za komponente povezanosti konture.


Kod digrafa imamo orijentisanu konturu. Orijentisana kontura se dobija kada se
svaka njena grana orijentie tako da izlazni ili ulazni stepen svakog vora bude
jednak 1.
Graf je aciklian kada ne sadri ni jednu konturu.
Digraf je aciklian kada se izostavljanem orijentacije grana dobija aciklian graf.
Regularni grafovi sa n vorova stepena n-1 se nazivaju poptuni grafovi. Potpun graf
sa n vorova oznaava se sa K n .
Potpuni grafovi imaju m =

n
1
n (n 1) = grana, to jest svaki par vorova je
2
2

spojen granom.
K-kompletan graf K n1 ,...nk je graf iji se skup vorova moe podeliti na k meusobno
disjunktnih podskupova koji sadre redom n1 ,..., nk vorova tako da su svaka dva
vora iz razliitih podskupova povezana granom a da ni jedna grana ne povezuje
vorove iz istog podskupa.
Za k=2 dobijamo bikompletne grafove K m ,n .
Dvodelni (biparitni) graf se sastoji iz dve grupe vorova pri emu grane povezuju
vorove iz razliitih grupa. Biparitni graf se esto predstavlja ureenom trojkom
(X,Y,U) gde su X i Y grupe vorova, a U skup grana.
6

Graf (digraf) moe da bude predstavljen i jednom kvadratnom matricom iji je red
jednak broju vorova grafa. Element aij na preseku i-te vrste i j-te kolone ove
matrice je jednak broju grana koje izlaze iz vora xi i ulaze u vor x j . Ova matrica
se zove matrica susedstva grafa i obeleava se sa A.
Ako dopustimo da dva vora mogu da biti spojena najvie jednom granom iste
orijentacije, elementi matrice A mogu biti samo 0 ili 1. Elementi matrice susedstva
multigrafa su prirodni brojevi ili nula.
Matrica susedstva A (neorijentisanog) grafa je simetrina matrica, tj. A = AT .
Neka je G=(X,U) graf gde je X={ x1 , x 2 ,..., xn } i U={ u1 , u2 ,..., un }. Matrica incidencije R
vorova grana grafa G je matrica R = [rij ]n m gde je
1
rij =
0

ako su vor x i i grana u j incidentni,


u suprotnom

Matrica incidencije u potpunosti odreuje graf.


Primer:
a b c d e
1
R (G ) = 1

0
Graf G

1
1
0
0

0
1
1
0

0
0
1
1

1
0
0
1

f
0
0
0
2

g
1 A
0 B
1 C

0 D

A B C
0
A (G ) = 2

Matrice incidencije

2
0
1
0

1
1
0
1

D
1 A
0 B
1 C

1 D

Matrica susedstva

Neka je uz iste oznake je G=(X,U) digraf pri emu je U skup orijentisanih grana.
Matrica incidencije R vorova grana digrafa G je matrica S = [sij ]n m gde je
1 ako grana u j izlazi iz vora x i ,

sij = -1 ako grana u j ulazi u x i ,

0 ako x i i u j nisu incidentni

Dva grafa su izomorfna ako postoji uzajamno jednoznano preslikavanje skupa


njihovih vorova (iz jednog na drugi) koje odava osobinu susednosti vorova.
Graf koji ne sadri ni jednu konturu kao delimini podgraf naziva se uma. Ako je
graf uz to povezan on se naziva stablo ili drvo.
Stablo u kome je jedan vor posebno oznaen naziva se korensko stablo. Oseneni
koren je koren stabla.

Stablo
7

Svaki vor korenskog stabla povezan je jedinstvenim elementarnim putem sa


korenom k stabla. Broj grana u ovom putu definie nivo vora x. Koren stabla k
ima nivo 0 a najvei nivo imaju vorovi koji su od korena najudaljeniji. Korensko
stablo se prikazuje kao digraf, tj. stablo sa orijentisanim granama. Pri tome se
grane orijentiu od vorova manjeg nivoa ka vorovima veeg nivoa. Ulazni stepen
korena je 0 dok je ulazni stepen ostalih vorova u korenskom stablu 1.
vorovi do kojih vode grane polaze iz vora x nazivaju se sinovi vora x pri emu je
vor x njihov otac. vor bez dece naziva se list. Pri tome je koren vor bez oca.
Listovi se takoe nazivaju terminalnim vorovima dok se ostali vorovi nazivaju
neterminalnim vorovima. Ako se u korenskom stablu svaki otac ima tano dva
sina onda se to stablo naziva binarno stablo.
Ako su u binarnom stablu svi zavrni vorovi istog nivoa, onda se to stablo naziva
potpuno. Potpuno binarno stablo ima pored nivoa 0 jo k novoa pa je broj n
vorova u stablu jednak
n = 1 + 2 + 22 + ... + 2k = 2k +1 1 (na svakom nivou i ima 2i vorova).

Terminalnih vorova ima 2k =

n +1
n 1
dok neterminalnih ima 2k 1 =
.
2
2

Planarni grafovi
Planarni grafovi su oni grafovi koji se mogu nacrtati tako da im se grane ne seku,
odnosno to su grafovi koji se mogu predstaviti tako da zajednika taka dve grane
moe biti samo vor grafa koji predstavlja zajedniku krajnju taku tih grana. Ako
je planaran graf predstavljen na opisani nain u ranvni on deli ranav na vie
konanih zatvorenih oblasti i jednu beskonanu oblast (mrea puteva predstavlja
planaran graf).

Komplement grafa G , je graf sa istim skupom vorova kao i graf G pri emu su

dva razliita vora u G susedna ako i samo ako nisu susedni u G.


Graf bez petlji se boji na taj nain tako to se svakom voru pridrui neka boja, tj.
Svaki vor se boji jednom bojom. Graf je pravilno obojen ako su svaka dva
susedna vora obojena razliitim bojama. Ako graf moe da se pravilno boji i da se
pri tom upotrebi k ili manje od k boja, graf je onda k-obojiv. Hromatski broj (G )
grafa G je jednak k ako je graf k-obojiv a nije (k-1)-obojiv. Ako je (G ) =k kae se
da je graf G k-hromatski. Za k=2 graf se naziva bihromatski i on je tada bipartitni.
Ako graf G sadri samo izolovane vorove, bez grana, tada je (G ) =1 (sve vorove
moemo obojiti istom bojom). Nasuprot tome potpuni graf sa n vorova ima
(G ) =n.
8

Maksimalni potpuni podgrafovi nazivaju se klike grafa. Za graf G se definie


veliina K(G) koja je jednaka najveem broju vorova jedne klike. Vai da je
(G ) K (G ) .
Teinski graf je graf kod koga svaka grana ima svoju vrednost (dodeljen joj je neki
broj). Drugim reima, grafu (ili digrafu) G=(X,U) je pridrueno preslikavanje
: U R koje svakoj grani u U dodeljuje broj ( u ) kao teinu. Funkciju
nazivamo teinska funkcija. U veini sluajeva teina predstavlja njenu duinu,
propusnu mo (ili kapacitet), cenu prenosa i td.
U optem sluaju teinska funkcija pridruuje grani umesto realnog broja
proizvoljan matematiki objekat, npr. Vektor.
Teinski graf (digraf) G=(X,U) sa teinskom funkcijom , tj. ureeni par (G, )
esto se naziva i mrea.
Neka su u optem sluaju vorovi numerisani sa 1,2, ,n posmatramo potpuni
teinski graf G u kojem je grani u izmeu vorova i i j pridruena teina (duina)
( u ) = dij . Od veliine dij se moe formirati kvadratna matrica D = [dij ]nxn . Matrica
D se naziva teinska matrica ili matrica rastojanja
Teina grafa se definie kao zbir teina grana od kojih je taj graf obrazovan.

Pretraivanje grafova
Pretraivanje grafova moe da se pone iz nekog proizvoljnog vora i obilazak
njegovih susednih vorova, pa zatim suseda njihovih suseda i tako redom dok ne
prosledimo sve vorove jednog grafa. Uvek e se znati koji deo vorova je pretraen i
za svaki naredni korak se odreuje koji e sledei vor biti prosleen. Poto je taj
izbor uglavnom vieznaan mogu se uvesti neka ogranienja kojima se regulie
prioritet izbora potencijalnih kandidata.
Postoje dve vrste pretraivanja grafova:
Pretraivanje u dubinu
Pretraivanje u irinu.
Za obe pretrage je karakteristino da se obilaze svi vorovi grafa kao i grane i to svaka
po jedanput u oba smera.
Pretraga u dubinu:
Neka je X skup svih vorova, a Y skup ve prosleenih vorova. Oznaimo sa y vor
koji je poslednji prosleen. Izbor narednog vora za prosleivanje se vri na sledei
nain: prvo se odredi da li meu neprosleenim vorovima, tj.vorovima skupa X/Y
postoji vor susedan sa y, i ako postoji takav vor, tada se meu potencijalnim
kandidatima bira bilo koji od njih (prosleivanje unapred). U suprotnom, umesto
vora y se posmatra njegov prethodnik (vor koji je pre njega prosleen u skup Y i iz
njega se direktno dolazi u vor y) i za njega se ponavlja isti postupak kao I za vor y
(prosleivanje unazad). Ovim postupkom (ukoliko je graf povezan) e svi vorovi grafa
biti prosleeni. U suprotnom, kod nepovezanih grafova se isti postupak moe
primeniti na onim podgrafovima koji su povezani.
Prilikom pretrage u dubinu, kod povezanih grafova, ako evidentiramo sve grane grafa,
tada te grane obrazuju razapinjujue stablo. Ovo stablo se naziva stablom pretrage u
dubinu.
Primer:

Graf

Stablo pretrage u dubinu (po koracima


A-B-C-D-E-D-F-D-C-G-C-B-A)

10

Pretraga u irinu:
Ponovo posmatramo skup svih vorova X i skup neprosleenih vorova Y . Neka je
skup Q skup svih neprosleenih vorova kojima je prioritet prosleivanja ranije
odreen. Prosleivanje vorova je sada komplikovanije obzirom da se za izbor sledeeg
kandidata mora konsultovati i skup Q. Skup Q tretiramo kao red za ekanje, iz ovog
skupa se prvo prosleuje vor koji je najdue u redu. Na poetku pretrage je skup Y
prazan i njemu se proizvoljno dodeljuje jedan vor (bilo koji vor iz grafa). Sada se iz
skupa Q bira vor koji je najdue u redu i on se prosleuje skupu Y, npr vor x.
Skupu Q se na kraju reda unose vorovi koji su susedni sa x a koji se ve ne nalaze
u skupu Q nisu ranije prosleeni u Y.
Primer:

Graf

Stablo pretrage u irinu (po koracima


A-B-C-D-E-F-G)

11

You might also like