123
Doktorska disertacija mr. sc. Tonči Carić 1-1 SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI MR. SC. TONČI CARIĆ UNAPREĐENJE ORGANIZACIJE TRANSPORTA PRIMJENOM HEURISTIČKIH METODA DOKTORSKA DISERTACIJA ZAGREB, 2004.

Optimizacija Transport A - Tonci Caric Thesis

  • Upload
    dubi001

  • View
    798

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-1

SVEUČILIŠTE U ZAGREBU FAKULTET PROMETNIH ZNANOSTI

MR. SC. TONČI CARIĆ

UNAPREĐENJE ORGANIZACIJE TRANSPORTA PRIMJENOM HEURISTIČKIH METODA

DOKTORSKA DISERTACIJA

ZAGREB, 2004.

Page 2: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-2

PODACI I INFORMACIJE O DOKTORANTU

1. Ime i prezime: Tonči Carić 2. Datum, mjesto rođenja: 26.07.1969., Split 3. Naziv završenog fakulteta i datum diplomiranja: Elektrotehnički fakultet u

Zagrebu, 05.07.1993. 4. Naziv poslijediplomskog magistarskog znanstvenog studija: Jezgra

Računarstva 5. Naziv magistarskog znanstvenog rada: Objektno usmjerena programska

izvedba heurističkog modela usmjeravanja vozila 6. Fakultet na kojem je rad obranjen i datum obrane: Fakultet elektrotehnike i

računarstva, 05.07.2000. 7. Naziv doktorskog studija: Tehničko-tehnološki sustavi u prometu i transportu

INFORMACIJE O DOKTORSKOJ DISERTACIJI

1. Naslov disertacije: Unapređenje organizacije transporta primjenom heurističkih metoda

2. UDK 656.13 : 303.733.4 : 65.012.34 3. Fakultet na kojem je disertacija obranjena: Fakultet prometnih znanosti

POVJERENSTVA, OCJENA I OBRANA DOKTORSKE DISERTACIJE

1. Datum prijave disertacije: 26.11.2001. 2. Povjerenstvo za ocjenu podobnosti teme disertacije i doktoranda:

1) Prof.dr.sc. Slavko Šarić 2) Prof.dr.sc. Mario Anžek 3) Prof.dr.sc. Ivan Bošnjak 4) Prof.dr.sc. Ivan Županović

3. Datum prihvaćanja teme: 01.07.2002. 4. Mentori: 1) Prof.dr.sc. Hrvoje Gold

2) Prof.dr.sc. Ivan Županović 5. Povjerenstvo za ocjenu disertacije i obranu disertacije:

1) Prof.dr.sc. Hrvoje Gold 2) Prof.dr.sc. Ivan Županović 3) Prof.dr.sc. Husein Pašagić 4) Prof.dr.sc. Mladen Begović 5) Prof.dr.sc. Slavko Šarić

6. Datum obrane disertacije: 28.06.2004.

Page 3: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-3

SAŽETAK

Određivanje najpovoljnijeg puta, kojeg koristi grupa vozila prilikom posluživanja skupa

korisnika predstavlja problem na operativnoj razini tehnologije transporta. Promjenama planova

ruta vozila pri distribuciji dobara i usluga moguće je smanjiti transportne troškove. Zbog velikog

broja mogućih ruta, optimalnu rutu (osim za manji broj ruta) nije moguće pronaći egzaktnim

metodama.

Korištenjem heurističkih metoda moguće se je približiti optimalnom planu ruta. U

praktičnoj upotrebi, metode optimizacije je potrebno često modificirati i provjeravati njihovu

uspješnost. U radu je predložen programski jezik i razvojna okolina za izradu konstruktivnih

heurističkih algoritama.

Heurističke metode raspravljene su sa stanovišta njihove upotrebljivosti u praktičnoj

primjeni i testirane na standardnim ispitnim zadacima u novo razvijenom programskom

okruženju za konstrukciju, ispitivanje i parametrizaciju heurističkih algoritama. Metode su

uspoređene s vodećim heurističkim metodama i upotrebljene za rješavanje problema rutiranja

grupe vozila u realnom transportnom okruženju.

Programsko razvojno okruženje, povezano je s geoinformacijskim sustavom. Izrađen je i

programski sustav koji u realnom transportnom okruženju predlaže nove planove ruta. Analiza

rezultata optimizacije izvedena je na temelju usporedbe ruta koje se obavljaju prema radnim

nalozima u postojećem sustavu vožnje i ruta dobivenih heurističkim algoritmom. Rezultati

ukazuju na opravdanost upotrebe predloženog sustava za optimizaciju ruta grupe vozila u cilju

predlaganja novih ruta koje obavljaju isti posao uz vidne uštede.

Page 4: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-4

SUMMARY

Determining the optimal routes for a group of vehicles that serves a group of customers

represents a problem at the operative level of the transportation technology. It is shown that

optimizing delivery routes could significantly reduce the current transportation costs. However,

finding methods that would allow such changes has not been an easy task because the large

number of possible routes does not permit a use of exact methods. These exact methods can

only be applied if possible routes are very low in numbers.

In this dissertation a new approach has been taken to solve the optimization problem

with heuristic methods. These methods required to be “tailored” to the above problem. This

means that for their practical use, heuristic methods needed to be modified and their efficacy

tested. This dissertation proposed the program language and development environment needed

for construction of heuristic algorithms.

The practical use of heuristic methods has been heavily discussed here. These methods

have been tested in the developed environment through standardized tasks and compared with

the leading heuristic methods. Tested methods are used in real transportation circumstances.

Program development system was connected with a geo-information system. A newly

developed demonstration system was capable in a real transportation situation to compute and

propose new delivery routes. Data analysis was performed by comparing routes from a real life

with those derived using heuristic algorithms. The results obtained suggest that the proposed

model can be successfully used in optimizing vehicles delivery routes and in significant cost

reduction.

Page 5: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-5

SADRŽAJ

1. UVOD 1-7 1.1. SADRŽAJ RADA ...................................................................................................................................... 1-8 1.2. OPIS PROBLEMA USMJERAVANJA VOZILA (VRP) ............................................................................ 1-9

2. DEFINICIJA PROBLEMA USMJERAVANJA VOZILA 2-13 2.1. VRP S OGRANIČENJIMA KAPACITETA I NJEGOVE VARIJANTE ................................................... 2-13 2.2. VRP S VREMENSKIM OGRANIČENJIMA ........................................................................................... 2-15 2.3. VRP S DOSTAVOM I POVRATNIM PRIKUPLJANJEM ....................................................................... 2-16 2.4. VRP S PRIKUPLJANJEM I DOSTAVOM .............................................................................................. 2-17

3. OSNOVNI MODELI USMJERAVANJA VOZILA S OGRANIČENJIMA KAPACITETA 3-19

3.1. MODELI PROTOKA VOZILA ............................................................................................................... 3-20 3.2. MODELI PROTOKA TERETA .............................................................................................................. 3-23 3.3. MODELI PARTICIONIRANJA SKUPA .................................................................................................. 3-25 3.4. VRP S VREMENSKIM OGRANIČENJIMA MODELIRAN LINEARNIM PROGRAMOM .................... 3-26

4. PRISTUPI RJEŠAVANJU PROBLEMA USMJERAVANJA VOZILA 4-28 4.1. HEURISTIČKI PRISTUP RJEŠAVANJU PROBLEMA USMJERAVANJA VOZILA ................................ 4-30

4.1.1. Metoda umetanja najbližeg susjeda ...................................................................................................... 4-30 4.1.2. Metoda dodavanja ukupno najudaljenijeg susjeda ................................................................................ 4-30 4.1.3. Metoda najbližeg dodavanja ................................................................................................................ 4-32 4.1.4. Dvoprolazna Sweep metoda ................................................................................................................. 4-32 4.1.5. «Clark and Wright» metoda ............................................................................................................... 4-33

4.2. METAHEURISTIČKI PRISTUP RJEŠAVANJU PROBLEMA USMJERAVANJA VOZILA ...................... 4-34 4.2.1. Iterativna lokalna pretraga .................................................................................................................. 4-34 4.2.2. Simulirano kaljenje ............................................................................................................................. 4-37 4.2.3. Determinističko kaljenje ...................................................................................................................... 4-39 4.2.4. Tabu pretraga ..................................................................................................................................... 4-39 4.2.5. Genetički algoritmi .............................................................................................................................. 4-41 4.2.6. Neuronske mreže ................................................................................................................................ 4-42

Page 6: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-6

5. PROGRAMSKO OKRUŽENJE ZA RAZVOJ, ISPITIVANJE I PARAMETRIZIRANJE HEURISTIČKIH ALGORITAMA VENERA 5-45

5.1. OSNOVNA STRUKTURA OKRUŽENJA VENERA .............................................................................. 5-45 5.2. KORIŠTENJE OKRUŽENJA VENERA ................................................................................................. 5-47 5.3. NAREDBE PROGRAMSKOG JEZIKA MARS ....................................................................................... 5-48

5.3.1. SELECT naredba ............................................................................................................................. 5-50 5.3.2. Standardne programske strukture: petlje i uvjetne naredbe ................................................................... 5-52 5.3.3. Naredbe lokalne pretraga .................................................................................................................... 5-53

5.4. TIPOVI PODATAKA PROGRAMSKOG JEZIKA .................................................................................. 5-54

6. ALGORITMI HEURISTIČKIH METODA KODIRANI PROGRAMSKIM JEZIKOM MARS 6-57

6.1.1. 2OPT Algoritam lokalne pretrage ..................................................................................................... 6-57 6.1.2. Algoritam NNH metode umetanja najbližeg susjeda .......................................................................... 6-59 6.1.3. Algoritam FAH dodavanje ukupno najudaljenijeg susjeda .................................................................. 6-61 6.1.4. Algoritam NAH metode najbližeg dodavanja ..................................................................................... 6-63 6.1.5. Algoritam dvoprolazne Sweep metoda .................................................................................................. 6-64 6.1.6. Algoritam «Clark and Wright» metode ............................................................................................... 6-69

6.1.7. Algoritam λ lokalne pretrage .............................................................................................................. 6-71

7. PROGRAMSKI SUSTAV ZA OPTIMIZACIJU I PLANIRANJE RUTA 7-74 7.1. SUSTAV ZA PODRŠKU U ODLUČIVANJU PRI ZADAVANJU I PROMJENI PLANA RUTA ............... 7-75 7.2. PRIKUPLJANJE PODATAKA ................................................................................................................ 7-76 7.3. PRIPREMA PODATAKA GIS ALATOM ............................................................................................... 7-78

7.3.1. Aplikacija za unos i obradu podataka Miranda ................................................................................ 7-79 7.4. SIMULACIJA POSTOJEĆIH RUTA PRIJE PROCESA OPTIMIZACIJE .................................................. 7-82 7.5. IZRAČUN NOVIH PLANOVA RUTA NNH ALGORITMOM .............................................................. 7-87 7.6. IZRAČUN NOVIH PLANOVA RUTA NAH ALGORITMOM............................................................... 7-90 7.7. IZRAČUN NOVIH PLANOVA RUTA SWEEP ALGORITMOM ............................................................ 7-92 7.8. IZRAČUN NOVIH PLANOVA RUTA CLARK & WRIGHT ALGORITMOM ....................................... 7-95 7.9. ANALIZA REZULTATA IZRAČUNA NOVIH PLANOVA RUTA ......................................................... 7-98

8. ZAKLJUČAK 8-101

PRILOZI 103

LISTA KRATICA 117

LITERATURA 118

ŽIVOTOPIS 123

Page 7: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-7

1. Uvod

Transport kao značajna aktivnost ljudske zajednice omogućava i podupire mnoge druge

društvene djelatnosti. Za jasno razumijevanje funkcioniranja transportnog sustava potrebno je

poznavati složene međuovisnosti sudionika transporta kao i karakteristike potrebnih ljudskih

i materijalnih potencijala. Uspješno organiziranje transporta zahtijeva rješavanje raznorodnih

problema na strateškoj, taktičkoj i operativnoj razini [1]. U transportnom sustavu upravo je

operativna razina odraz uspješnosti cijelog sustava. Ako promatramo transportni sustav

distribucije dobara i usluga možemo smatrati da je odluka o pozicioniranju skladišta strateška

odluka, odabir grupe vozila taktička a odabir ruta vozila operativna odluka. Ovaj rad usmjeren

je na rješavanje problema organizacije transporta na operativnoj razini gdje se odabir ruta

vozila promatra kao kombinatorički problem optimizacije.

Uspješno izvedeno unapređenje prijevoznih procesa na operativnoj razini pri distribuciji

dobara i usluga donosi značajne uštede troškova prijevoza. Odabirom povoljnijih ruta vozila

postižu se direktne uštede smanjenjem prijeđenog puta i utrošenog vremena. Novim planom

ruta često je moguće obaviti isti posao uz manji broj vozila, a opterećenja pojedinih vozila

ujednačiti. Egzaktni odabir optimalnih planova ruta zahtijeva intenzivno računanje gdje za

realne situacije vrijeme računanje značajno nadilazi vremenski period u kojem se donosi

odluka o novim planovima ruta. Pošto se radi o takvim matematičkim problemima gdje

rastom broja sudionika vrijeme rješavanja raste eksponencijalno ili s faktorijelima, nužno je

uvesti aproksimativne ili heurističke metode rješavanja.

Postupak pronalaženja novog plana ruta vozila zasniva se na podacima koje

preuzimamo iz postojećeg transportnog sustava. Osim tih podataka u praktičnim situacijama

nužno je pribaviti podatke o geografskim i prometnim značajkama prostora na kojem se

odvija transport. Proces sagledavanja problema, pribavljanja podataka, stvaranja radne

okoline za evaluaciju postojećeg stanja plana ruta i dizajniranje novih planova ruta predstavlja

zahtijevan zadatak koji se može uspješno riješiti jedino poznavanjem multidisciplinarnog

pristupa prometne struke. Za razumijevanje samog transportnog procesa nužno je poznavati

tehnologiju prijevoza. Jezgra problema usmjeravanja vozila je kombinatorički problem

optimizacije NP teškog problema, pa je za samo sagledavanje problema potrebna

matematička apstrakcija problema. Za praktično pronalaženje novih planova ruta nužno je

Page 8: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-8

konstruirati i kodirati algoritme te povezati stvarne prostorne podatke s apstraktnim načinom

rješavanja, za što su potrebna znanja i vještine računarstva.

Temeljna teza u ovom radu jest da se unapređenje organizacije transportnog sustava

može brzo i učinkovito postići pomoću predloženog programskog sustava za podršku u

odlučivanju pri optimizaciji i planiranju planova ruta grupe vozila. Sustav je zasnovan na

uporabi novog koncepta interaktivnog razvoja algoritama u radnoj okolini prilagođenoj

problemu usmjeravanja vozila.

Provjera rada sustava izvedena je postupkom simulacije postojećih planova ruta i

predlaganjem novih planova ruta komunalnog poduzeća. Simulacija i izračun novih ruta

putem heurističkih algoritama izvedeni su u razvijenom programskom radnom okruženju.

1.1. Sadržaj rada

U poglavlju 1.2 opisan je problem usmjeravanja vozila i predstavljena tipična obilježja

korisnika, vozila i ruta. Opisane su i najčešće funkcije cilja koje se koriste prilikom rješavanja

problema. Formalna (matematička) definicija problema usmjeravanja vozila i njegovih

varijanti opisana je u poglavlju 2. U istom poglavlju izvršena je klasifikacija problema s

obzirom na dodatna ograničenja koja se često javljaju u praksi. U slijedećem poglavlju 3

opisani su pristupi modeliranju problema usmjeravanja vozila.

Načini rješavanja problema i opisi heurističkih i metaheurističkih načina njegovog

rješavanja opisani su u poglavlju 4. U poglavlju 5 predstavljeno je novo programsko

okruženje za razvoj, testiranje i parametriziranje heurističkih algoritama. Uz podroban opis

okruženja obrazloženi su novi koncepti pristupa razvoju heurističkih algoritama. U poglavlju

6 prikazani su programi izvedba heurističkih metode usmjeravanja vozila. Metode su ispitane

na standardnim ispitnim zadacima i uspoređene s vodećim metodama.

Sustav za optimizaciju i planiranje prijevoznih ruta koji pruža podršku odlučivanju pri

unapređenju organizacije transporta razrađen je u poglavlju 7. Osim razvojne okoline u istom

poglavlju opisan je i novo razvijeni GIS alat za obradu prostornih podataka. Na kraju

poglavlja komentirani su rezultati dobiveni upotrebom predloženog sustava na primjeru

planiranja ruta komunalnog poduzeća Čistoća Zagreb. U zadnjem poglavlju 8 provedena je

završna rasprava i dan zaključak.

Page 9: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-9

1.2. Opis problema usmjeravanja vozila (VRP)

Određivanje najpovoljnijeg puta, kojeg koristi grupa vozila prilikom posluživanja skupa

korisnika predstavlja problem usmjeravanja vozila, u daljnjem tekstu VRP (Vehicle Routing Problem).

Prvo spominjanje ovog prometnog problema zabilježeno je 1959. godine. Povod proučavanja

ovog kombinatoričko-optimizacijskog problema bio je unapređenje organizacije dostave

goriva benzinskim crpkama. Tada su Dantzig i Ramser prvi put predložili matematičku

interpretaciju problema i algoritamski pristup rješavanju [20].

Clark i Wright su 1964. g. predložili poboljšanje Dantzig-Ramserovog pristupa kroz

heuristička rješenja koja koriste "pohlepne" (greedy) algoritme. Na tragu ovih pristupa

razvijeno je više od stotinu modela i algoritama za dobivanje optimalnih i aproksimativnih

rješenja. Sa današnjim stanjem tehnologije i s trenutno najdjelotvornijim egzaktnim

algoritmima moguće je riješiti problem usmjeravanja vozila samo u slučajevima gdje imamo

manje od 50 korisnika, i to na način da se do optimuma kod najvećih problema može doći

samo za pojedine slučajeve. Realni problemi koje je potrebno rješavati imaju znatno više

korisnika, pa se pomoću egzaktnog pristupa ne mogu riješiti u prihvatljivom vremenu. Zato

se za rješavanje koristi heuristički pristup koji dovodi do približno optimalnog rješenja u

realnom vremenu.

Na osnovu iskustava u Europi i Sjevernoj Americi može se procijeniti da je uvođenjem

planiranja distribucijskih procesa računalom ostvarena ušteda od 5% do 20% ukupnih

transportnih troškova. Sustavi koji implementiraju neko od rješenja VRP-a ne rješavaju samo

probleme dostave i prikupljanje dobara, već i probleme kao što su usmjeravanje autobusa,

prijevoz hendikepiranih osoba, usmjeravanje trgovačkih putnika, servisnih ekipa itd.

Da bi definirali VRP za distribuciju ili prikupljanje dobara, potrebno je dati osnovna

ograničenja problema. U zadanom vremenu, skup vozila poslužuje skup korisnika. Vozila

kreću iz skladišta i pri transportu koriste mrežu prometnica. Rješenje problema predstavlja

skup ruta. Svaka ruta ima polaznu i završnu točku u skladištu vozila koje koristi rutu. Svi

zahtjevi korisnika moraju biti ispunjeni, a sva nametnuta ograničenja poštovana. Cilj je da

ukupni transportni trošak bude minimalan. Moguće je uvoditi različita ograničenja i ciljeve

koji mogu izravno utjecati na konstrukciju ruta prilikom optimizacijskog procesa. Mreža

prometnica koja se koristi za transport dobara najčešće se opisuje grafom čiji lukovi

predstavljaju prometnice, a točke raskrižja, skladišta ili korisnike. Lukovi mogu biti

jednosmjerni ili dvosmjerni, a uz svaki luk postoji cijena koja najčešće korespondira sa

Page 10: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-10

udaljenošću i vremenom putovanja koje je ovisno o tipu vozila. Informacije potrebne za

dobar opis korisnika pri rješavanju VRP su:

- polazna točka koja predstavlja skladište,

- količina dobara, moguće je da postoji više tipova dobara, koje je potrebno prikupiti ili

dostaviti,

- vremenski period (vremenski prozor) u kojem je potrebno poslužiti korisnika, npr.

određeni period kada je korisnik prometno dostupan ili pak korisnik želi dostavu baš u

određenom vremenskom periodu,

- vrijeme potrebno da se obavi dostava ili prikupljanje kod korisnika, vrijeme iskrcaja ili

ukrcaja koje ovisi o tipu vozila i primijenjenoj tehnologiji,

- podskup dostupnih vozila koja se mogu koristiti kod pojedinog korisnika obzirom na

mogući pristup za iskrcaj i ukrcaj.

Ponekad nije moguće u potpunosti zadovoljiti potrebe korisnika, tada količina dobara

može biti smanjena ili se podskupu korisnika može uskratiti posluživanje. Da bi se ovakvi

slučajevi što učinkovitije razriješili uvode se prioriteti ili kazne povezani s djelomičnim ili

potpunim uskraćivanjem posluživanja korisnika.

Rute kojima se poslužuju korisnici započinju i završavaju u jednom ili više skladišta.

Svako skladište je opisano brojem i tipovima vozila koji ga poslužuju, te s ukupnom

količinom dobara koja se skladišti u njemu. U praktičnim aplikacijama korisnici već unaprijed

imaju dodijeljena skladišta, a vozila se vraćaju u skladišta iz kojih su krenuli. U ovakvim

slučajevima cjelokupni problem se može dekomponirati u nekoliko odvojenih pod-problema,

tako da je svaki od njih povezan s pojedinim skladištem. Prijevoz dobara izvodi se pomoću

grupe vozila koja veličinom i karakteristikama zadovoljavaju korisnike. Tipične karakteristike

vozila su:

- početno skladište iz kojeg kreće vozilo i vjerojatnost da se nakon posluživanje korisnika

vozilo vrati u neko drugo skladište,

- kapacitet vozila izražen u maksimalnoj težini, volumenu ili broju paleta koje vozilo može

ukrcati,

- mogućnost vozila da teretni prostor preraspodijeli u komore određenog kapaciteta i

namjene ovisno o dobrima koje se utovaruju,

- raspoloživost uređaja za ukrcaj i iskrcaj tereta,

- podskup prometne mreže koji je prohodan za vozilo,

- troškovi povezani sa korištenjem vozila po prevaljenoj udaljenosti, po utrošenom

vremenu, po prevaljenoj ruti itd.

Page 11: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-11

Vozači moraju poštovati zahtjeve kao što su radno vrijeme, broj obveznih stanki,

maksimalno trajanje vožnje itd. Takvi zahtjevi prenose se na značajke vozila.

Rute moraju zadovoljavati operativne zahtjeve koje nameće priroda transporta, kvaliteta

usluge, te karakteristike vozila i korisnika. Tipični operativni zahtjevi su:

- pri vožnji na svakoj ruti vozilo ne smije imati više tereta u odnosu na nazivni kapacitet

koji je dopušten,

- korisnik može zahtijevati dostavu, prikupljanje ili i jedno i drugo,

- korisnik se poslužuje unutar vremenskog perioda koji zahtijeva korisnik a nije u

suprotnosti s radnim vremenom vozača.

Moguće je uvesti i ograničenje prednosti koje favorizira pojedine korisnike prilikom

odabira redoslijeda posluživanja korisnika. Jedan tip ograničenja prednosti je zahtjev da se

jedan korisnik posluži u ruti u kojoj se nalazi podskup drugih korisnika, te da se taj korisnik

posluži prije (ili kasnije) od podskupa korisnika. Ograničenje ovog tipa predstavlja problem

prikupljanja i dostave, gdje se dobra prikupljena kod jednog korisnika moraju istim vozilom

dostaviti drugom korisniku. Čest je zahtjev gdje se u jednoj ruti poslužuje više grupa

korisnika, a poznato je koju grupu korisnika treba prije poslužiti. Ako se na ruti provodi i

prikupljanje i dostava, a ograničenja su vezana za proces ukrcaja i iskrcaja gdje je nepoželjno

reorganiziranje tereta na ruti dolazimo do problema usmjeravanja vozila s dostavom i povratnim

prikupljanjem gdje se sva dostava mora obaviti prije prikupljanja.

Da bi utvrdili ukupni trošak transporta rutama potrebno je poznavati pojedinačne cijene

(vremena) na lukovima između pojedinih korisnika te između korisnika i skladišta. Prilikom

analize VRP-a mreža prometnica transformira se u potpuni graf, graf je potpun kada je svaki

par točaka povezan jednim lukom [9]. Točke grafa odgovaraju korisnicima i skladištu. Za

svaki par točaka i i j potpunog grafa definira se luk (i,j) s cijenom cij koja predstavlja cijenu

najkraćeg puta iz točke i u točku j na mreži prometnica. Vrijeme putovanja tij luka (i,j)

potpunog grafa predstavlja zbroj vremena potrebnih da se najkraćim putem mrežom

prometnica stigne iz točke i u točku j. U proračunu ruta umjesto originalne mreže prometnica

koristi se pripadni potpuni graf koji ovisno o matrici cijena i vremena može biti asimetričan i

simetričan.

Najčešće funkcije cilja za problem usmjeravanja vozila su:

- smanjenje broja vozila i vozača potrebnih da se posluže svi korisnici,

- smanjenje ukupnih troškova prijevoza koji direktno ovise o prevaljenom putu vozila i

fiksnim troškovima vozila i vozača,

- uravnoteženje ruta s obzirom na vrijeme putovanja na ruti i ukrcanih dobara,

Page 12: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 1-12

- smanjenje kazni zbog nemogućnosti posluživanja korisnika,

- kombinacija pojedinih ciljeva.

U realnim aplikacijama svako vozilo može odraditi više ruta u radnom vremenu ili rute

mogu trajati dulje od jednog dana. Ponekad je potrebno razmotriti neizvjesnu situaciju gdje

unaprijed nisu poznate sve osobitosti problema. Takve situacije nastaju kada nije unaprijed

poznata količina dobara koju zahtijeva korisnik ili pak nisu poznata cijene (vremena)

pojedinih lukova mreže.

Ako se korisnici ne nalaze u točkama grafa, već su distribuirani po lukovima tada se radi

o problemu usmjeravanja vozila na lukovima ARP (Arc Routing Problem). U slučaju da

raspolažemo samo jednim vozilom i ako ne postoje dodatna ograničenja tada VRP prelazi u

dobro poznati problem trgovačkog putnika TSP ( Traveling Salesman Problem) kada je potrebno

jednim vozilom obići sve točke grafa uz minimalnu cijenu (vrijeme).

Page 13: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-13

2. Definicija problema usmjeravanja vozila

2.1. VRP s ograničenjima kapaciteta i njegove varijante

Osnovni model problema usmjeravanja vozila je VRP s ograničenjima kapaciteta

CVRP (Capacitated VRP). U ovom problemu svi su korisnici i njihovi zahtjevi unaprijed

poznati, vozila su identična, a zajednička polazna točka im je u centralnom skladištu. Jedino

ograničenje koje postoji je kapacitet pojedinog vozila. Funkcija cilja izražava zahtjev za

minimiziranje ukupnog troška (npr. težinska funkcija broja ruta i njihove ukupne duljine ili

vremena) pri posluživanju svih korisnika.

CVRP se može izraziti korištenjem notacije teorije grafova na slijedeći način:

Neka je:

G=(V, A) potpuni graf

V= {0,...,n} skup vrhova

A skup lukova

Vrhovi i=1, ... , n predstavljaju korisnike. Vrh s indeksom 0 predstavlja skladište. Ne-

negativna cijena cij povezana je s lukom (i,j)∈A i predstavlja trošak prijevoza između korisnika

i i j. Uobičajeno je ne koristiti lukove (i,i) i pretpostavlja se da je cijena cii=+∞ za sve i∈V.

Ako je G usmjereni graf, matrica troškova c je asimetrična, pa se odgovaraujući problem

naziva asimetrični VRP s ograničenjima kapaciteta ACVRP (Asymetric CVRP). Ako su cij=cji

za svaki (i,j)∈A tada se problem naziva simetrični VRP s ograničenjima kapaciteta SCVRP

(Symetric CVRP). Pod pojmom CVRP najčešće se podrazumijeva SCVRP, dok se skup A

najčešće zamjenjuje sa skupom E koji sačinjavaju neusmjereni lukovi. Za očekivati je da će

matrica troškova zadovoljavati nejednakost trokuta.

cik + ckj ≥ cij za sve i,j,k∈V

Prisutnost ove nejednakosti ponekad je od izuzetne važnosti za neke od algoritama

rješavanja CVRP-a. Matrica troškova često je sastavljena od cijena minimalnog puta između

korisnika. U slučajevima kada vrhovi grafa odgovaraju koordinatama korisnika u ravnini

koristi se euklidska distanca gdje cijena cij za svaki luk (i,j)∈V odgovara udaljenosti vrhova i i j

u ravnini. U takvom slučaju matrica je simetrična, zadovoljava nejednakost trokuta a

rezultirajući problem naziva se euklidski SCVRP. Važno je primijetiti da učestalo

Page 14: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-14

zaokruživanje realnih cijena lukova na cjelobrojne vrijednosti može ugroziti relaciju

nejednakost trokuta.

Svaki korisnik i (i=1,...,n) povezan je s poznatim ne-negativnim zahtjevom di, dok

skladište ima fiktivni zahtjev d0=0. Za podskup S⊆ V postoji d(S)=∑i∈V di koji predstavlja

ukupni zahtjev skupa. U skladištu se nalazi skup od K identičnih vozila, svako sa kapacitetom

C. Da bi rješenje problema bilo izvedivo potrebno je da vrijedi di ≤ C za svaki i (i=1,...,n).

Svako vozilo može izvesti najviše jednu rutu. Pretpostavlja se da K nije manji od Kmin, gdje je

Kmin minimalni broj vozila potrebnih da se posluže svi korisnici. Vrijednost Kmin moguće je

odrediti rješavajući BPP problem (Bin Packing Problem), koji ovdje rješava minimalni broj

vozila kapaciteta C potrebnih da se ostvare svi zahtjevi di. Iako je sam problem naprtnjače

NP težak problem poznate su metode koje efikasno pronalaze optimum za nekoliko stotina

zahtijeva [8].

Rješavanje CVRP-a predstavlja određivanje K ruta (svaka ruta je povezana samo s

jednim vozilom) gdje ukupan trošak rute treba biti minimalna. Ukupan trošak dobiva se kao

suma cijena na svakom luku koji pripada ruti. Rješenje treba zadovoljavati ove uvjete:

- svaka ruta treba započeti i završiti u skladištu,

- svaki korisnik učestvuje u samo jednoj ruti,

- suma zahtijeva korisnika koji su posluženi u jednoj ruti ne smije biti veća od kapaciteta

vozila.

U literaturi je obrađeno više varijanti ovog problema. Prva varijanta odnosi se na broj

raspoloživih vozila K koji je veći od Kmin gdje je moguće ostaviti neka vozila neiskorištena.

Smanjenje troška može se postići tako da se uz minimiziranje ukupne cijene lukova, smanji i

broj ruta (odnosno vozila), te tako uštedi na troškovima vozila. Kada se ograničenje

kapaciteta zamjenjuje ograničenjem maksimalnog puta ili vremenskog trajanja VRP dobiva

varijantu koju zovemo problem usmjeravanja vozila ograničen udaljenošću DVRP (Distance

Constrained VRP). Udaljenost, odnosno vrijeme tij (gdje je (i,j) ∈ A), ne smije biti veće od

maksimalnog dozvoljenog prevaljenog puta na ruti odnosno vremena provedenog na ruti T.

Kada se duljina lukova izražava vremenom putovanja, tada se tom vremenu dodaje i vrijeme

posluživanja si koje je vezano za svakog korisnika i, a predstavlja vrijeme zadržavanja vozila

kod korisnika.

tij=t'ij+si/2+sj/2

t'ij je vrijeme kretanja na luku bez vremena zadržavanja kod korisnika.

Page 15: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-15

U varijanti u kojoj sva vozila nisu jednaka već imaju različite kapacitete Ck,, k=1,...,K ,

tada su maksimalni dozvoljeni putovi tj. vremena Tk, k=1,...,K.

Varijanta problema gdje su prisutna dva ograničenja: ograničenje kapaciteta i

ograničenje maksimalne dužine rute zovemo problem usmjeravanja vozila ograničen

udaljenošću i kapacitetom DCVRP (Distance–Constrained CVRP).

2.2. VRP s vremenskim ograničenjima

Problem usmjeravanja vozila s vremenskim ograničenjima VRPTW (VRP with Time

Windows), je proširenje CVRP gdje osim kapacitivnih ograničenja svakog vozila postoje i

vremenska ograničenja vezana za svakog korisnika. Posluživanje svakog korisnika mora

započeti u vremenskom prozoru [ai,bi], vozilo mora mirovati za vrijeme posluživanja si. U

slučaju da vozilo dođe do korisnika prije vremena ai, vozilu je u pravilu dozvoljeno da čeka do

trenutka ai, kada može započeti posluživanje. Osim tih vremena zadano je i vrijeme kada

vozilo izlazi iz skladišta, te vrijeme koje vozilo provede na svakom od lukova tij (i,j)∈A. Uobičajeno je da se matrica troškova i matrica putnih vremena podudaraju, a da su

vremenski prozori korisnika tako definirani da se pretpostavlja kako sva vozila napuštaju

skladište u vremenskom trenutku nula 0. Interesantno je primijetiti da vremenski prozori

utječu na orijentaciju rute iako je matrica simetrična. Rješenje VRPTW problema sastoji se u

pronalaženju K ruta sa minimalnim troškom i s zadovoljavanjem slijedećih uvjeta:

- svaka ruta započinje i završava u skladištu,

- svaki korisnik se posjećuje jednom,

- suma zahtijeva korisnika u ruti ne prelazi kapacitet vozila C koje poslužuje korisnike na

ruti,

- posluživanje svakog korisnika započinje u vremenskom prozoru [ai,bi] i vozilo je

zaustavljeno za vrijeme posluživanja si.

Page 16: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-16

2.3. VRP s dostavom i povratnim prikupljanjem

Problem usmjeravanja vozila s dostavom i povratnim prikupljanjem VRPB (VRP with

Backhauls) je proširenje CVRP gdje je skup korisnika V \{0} podijeljen na dva podskupa. Prvi

podskup predstavljaju korisnici u podskupu L koji sadrži n korisnika koji zahtijevaju određene

količine robe za isporuku. Drugi podskup B sadrži m korisnika kod kojih se zahtijeva

prikupljanje određene količine srodne robe. Korisnici su indeksirani na način da je L={1,...,n}

i B={n+1,...,n+m}.

U VRPB problemu postoji ograničenje prednosti posluživanja gdje se svi korisnici iz

skupa L moraju poslužiti prije korisnika u skupu B. Ne-negativni zahtjevi di dvoznačnog su

tipa, jedan za dostavu, a drugi za prikupljanje. Skladištu je pridružen fiktivni zahtjev d0. Kada

je matrica troškova asimetrična, problem se naziva asimetrični problem usmjeravanja vozila s

dostavom i povratnim prikupljanjem AVRPB (Asymetric VRP with Backhauls). Rješenja VRPB

i AVRPB problema sastoji se od pronalaženja K ruta s minimalnim troškovima, koje

zadovoljavaju ove uvjete:

- svaka ruta započinje i završava u skladištu,

- svaki korisnik se posjećuje točno jedanput,

- zbroj pojedinačnih zahtijeva korisnika iz podskupa L i podskupa B ne prelazi kapacitet

vozila C koje poslužuje korisnike na ruti,

- u svakoj ruti svi korisnici iz podskupa L su posluženi prije korisnika u podskupu B ako B

nije prazan skup.

Uobičajeno je da podskup L nije prazan skup, a implicitno se pretpostavlja da svaka

ruta sadrži članove iz L i B podskupa. Neka KL i KB označavaju minimalni broj vozila

potrebnih da se posluže svi članovi podskupova L i B. Ove vrijednosti mogu se izračunati

rješavajući BPP problem vezan za svaki pojedini podskup. Da bi se osigurala izvedivost

rješenja pretpostavlja se da broj vozila K nije manji od minimalnog broja vozila potrebnih da

se posluže svi korisnici odnosno K ≥ max{KL ,KB}.

Page 17: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-17

2.4. VRP s prikupljanjem i dostavom

U osnovnoj verziji VRP s prikupljanjem i dostavom VRPPD ( VRP with Pickup and

Delivery), svaki korisnik i povezan je s dvije vrijednosti di i pi. One predstavljaju vrijednosti

zahtijeva za dostavom i za prikupljanjem istovrsne robe. Ponekad se koristi samo jedna

vrijednost di=di-pi za svakog korisnika i i predstavlja razliku zahtijeva dostave i prikupljanja,

koja može biti i negativne vrijednosti. Svaki zahtjev definiran je s mjestom prikupljanja,

mjestom dostave i količinom robe koja će se transportirati. Da bi se takvi zahtjevi definirali

potrebno je za svakog korisnika i poznavati mjesto dostave Oi, mjesto prikupljanja Di, ako Oi i

Di nisu skladište.

Pretpostavlja se da je dostava izvršena prije posjete mjestu gdje treba biti izvršeno

prikupljanje. Rješenje VRPPD-a predstavlja pronalaženje ruta s minimalnim troškovima koje

zadovoljavaju i ove uvjete

- svaka ruta započinje i završava u skladištu,

- svaki korisnik se posjećuje samo jednom,

- količina tereta u vozilu uvijek mora biti broj između 0 i maksimalnog kapaciteta tog

vozila,

- za svakog korisnika i postoji u istoj ruti korisnik Oi, kada se on razlikuje od skladišta kojeg

treba poslužiti prije korisnika i ,

- za svakog korisnika i postoji u istoj ruti korisnik Di, kada se on razlikuje od skladišta,

kojeg treba poslužiti poslije korisnika i .

Uobičajeno je da se izvor i odredište zahtijeva nalaze u skladištu. Tada se radi o VRP-u

sa simultanom dostavom i prikupljanjem VRPSPD (Simultaneous Pickup and Delivery).

Page 18: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 2-18

Na slici (Slika 1) dan je pregled izvedenih problema koji nastaju iz CVRP problema kao

modifikacije VRP problema.

Slika 1. CVRP, ograničenja i izvedeni problemi

Page 19: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-19

3. Osnovni modeli usmjeravanja vozila s ograničenjima kapaciteta

CVRP može se opisati kao problem u teoriji grafova koji glasi ovako: Neka je:

G=(V,A) potpuni graf, V= {0,...,n} skup vrhova i A skup lukova. Vrhovi i=1, ... ,n

predstavljaju korisnike. Vrh s indeksom 0 predstavlja skladište. Ne-negativna cijena cij

povezana je s lukom (i,j)∈A i predstavlja trošak prijevoza između korisnika i i j. Za CVRP

kosite se tri pristupa modeliranja problema: model protoka vozila poglavlje (2.1), model

protoka tereta [26] i model particioniranja skupa (SP model) [15].

Najčešći način modeliranja problema usmjeravanja vozila je korištenjem cjelobrojnih

varijabli koje su povezane sa svakim lukom grafa. Varijable prebrojavaju koliko je puta bilo

koje od vozila koristilo luk. Ovakvi pristupi poznati su kao modeli protoka vozila. Ovo su

najčešće korišteni modeli i posebno su praktični u slučajevima kada se cijena rješenja može

jednostavno izraziti kao suma cijena lukova ili kada se najbitnija ograničenja mogu zadati

pomoću članova skupa lukova i pripadnih cijena. Slabost ovakvih modela vidljiva je kada je

cijena rješenja povezana sa cjelokupnim redoslijedom korisnika u ruti ili tipom vozila koje je

pridijeljeno ruti. Modeli protoka vozila nisu podesni ni za proces relaksacije linearnih

programa kada su dodatna ograničenja vrlo uska.

Druga porodica modela bazirana je na protoku tereta. Kod ovih modela dodaju se nove

cjelobrojne varijable koje su povezane s lukovima grafa i predstavljaju protok tereta duž ruta

po kojima se vozilo kreće. Tek odnedavno, rastom procesorske moći računala (super/

cluster/grid računala), ovakvi modeli postaju interesantni kao baza za egzaktno izračunavanje

optimalnog rješenja za CVRP.

SP modeli generiraju jednu binarnu varijablu za svaku ostvarivu rutu, a zatim čine

prelaze na problem particioniranja skupa SPP (Set Partitioning Problem). Glavna prednost ovih

modela je što omogućavaju vrlo općenito postavljanje troškova pojedinih ruta, tako da

troškovi mogu ovisiti o cijeloj sekvenci lukova i vrstama vozila na različite načine. Glavni

problem pri rješavanju je eksponencijalni rast broja binarnih varijabli.

Page 20: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-20

3.1. Modeli protoka vozila

Dvoindeksni model protoka vozila koristi binarne varijable x (njih O(n2)) koje

označavaju da li je vozilo koristilo luk u optimalnom rješenju ili ne. Varijabla xij poprima

vrijednost 1 ako luk (i,j)∈A (A je skup lukova)1 pripada optimalnom rješenju, a ako luk ne

pripada optimalnom rješenju xij poprima vrijednost 0. Model protoka vozila opisan je

slijedećim relacijama:

∑∑∈ ∈Vi Vj

ijij xcmin (3.1.1)

∑∈

=Vi

ijx 1 ∀ j∈ V \ {0} (3.1.2)

∑∈

=Vj

ijx 1 ∀ i∈ V \ {0} (3.1.3)

∑∈

=Vi

i Kx 0 (3.1.4)

∑∈

=Vj

j Kx0 (3.1.5)

∑∑∉ ∈

≥Si Vj

ij Srx )( ∀ S ⊆ V\{0}, S≠∅ (3.1.6)

{ }1,0∈ijx ∀ i,j∈V (3.1.7)

Ograničenja (3.1.2) i (3.1.3) ukazuju da jedno vozilo dolazi ka korisniku i da jedno

vozilo odlazi od korisnika. Sukladno tome ograničenja (3.1.4) i (3.1.5) ukazuju da K vozila

dolazi i odlazi iz skladišta. Dovoljan broj ograničenja je 2⎥V⎜-1 jer je zadnje ograničenje

implicitno određeno ostalim. Takozvano ograničenje kapacitivnog reza (3.1.6) CCC (Capacity

Cut Constrains) određuje povezanost i kapacitet rješenja. CCC ustanovljava da svaki rez (V\S,

S) definiran skupom korisnika S sječe lukove i da je broj presječenih lukova uvijek veći ili

jednak od r(S), tj. minimalnog broja vozila potrebnih da se posluži skup S (Slika 2).

Iz ograničenja (3.1.2) i (3.1.3), te (3.1.4) i (3.1.5) može se izvesti relacija (3.1.8). Relacija

(3.1.8) je vidljiva na primjeru (Slika 2) nakon izvedenog kapacitivnog reza.

1 Koristi se notacija definirana u 2.1 VRP s ograničenjima kapaciteta i njegove varijante

Page 21: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-21

Slika 2. Kapacitivni rez

∑∑∑∑∈ ∉∉ ∈

=Si Sj

ijSi Sj

ij xx ∀ S ⊆ V\{0}, S≠∅ (3.1.8)

Rez siječe lukove u oba smjera jednaki broj puta tako da je:

S)\(VrxSi Sj

ij ≥∑∑∉ ∈

∀ S ⊂ V, 0∈ S (3.1.9)

Alternativna formulacija vodi nas ka ograničenju uopćene eliminacije ruta GSEC

(Generalized Subtour Elimination Constrains) (Slika 3).

)(SrSxSi Sj

ij ⎜−≤⎥∑∑∈ ∈

∀ S ⊂ V\{0}, S≠∅ (3.1.10)

Ograničenja (3.1.6) i (3.1.10) imaju kardinalnost koja eksponencijalno raste s brojem

korisnika n. Zbog takvog rasta praktično je nemoguće riješiti problem usmjeravanja vozila u

općem slučaju direktnom relaksacijom linearnog programa.

Page 22: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-22

Slika 3. Ograničenje uopćene eliminacije ruta

Potencijalno je moguće razmotriti manji podskup ograničenja i postepeno dodavati ona

ograničenja koja su nužna koristeći neku od separacijskih procedura. Promatrana ograničenja

mogu se relaksirati na Lagrange-ov način [24] i [34] ili se mogu izravno rješavati relaksacijom

linearnog programa kao u «branch and cut» pristupu.

Page 23: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-23

3.2. Modeli protoka tereta

Model protoka tereta prvi put je predstavljen u radu [26] za problem distribucije nafte, a

kasnije je proširen u radovima [39], [40] na dvije varijante i to za TSP i VRP. U ovom VRP

modelu osim varijabli potrebnih za dvoindeksni model protoka vozila dodaje se novi skup

kontinuiranih varijabli povezanih sa svakim lukom. Model zahtijeva prošireni graf G'=(V',A')

nastao iz grafa G 2 dodavanjem korisnika n+1 koji je još jedna kopija skladišta. Rute

predstavljaju putevi povezanih lukova od korisnika 0 do korisnika n+1. Dvije nenegativne

varijable protoka yij i yji povezane su s lukom (i,j)∈A'. Ako se vozilo kreće iz i u j tada yij

predstavlja teret, a varijabla yji neiskorišteni kapacitet vozila duž luka (i,j). Očito da je odnos tih

dviju varijabli yji =C - yij . Uloge varijabli su izmijenjene ako vozilo putuje iz j u i. Zbog toga je

zadovoljena jednakost yji =C - yij za svaki (i,j)∈A'.

Slika 4. Primjer modela protoka tereta

Za svaku rutu koja predstavlja dio ostvarivog rješenja, varijable protoka definiraju dva

usmjerena puta. U jednom smjeru varijable predstavljaju teret, dok u drugom smjeru te iste

varijable predstavljaju neiskorišteni kapacitet. Tako možemo zamisliti vozilo koje kreće od

korisnika 0 do korisnika n+1, napuštajući korisnika 0 s dostatnim teretom kako bi se svakom

korisniku isporučila tražena količina tereta. Vozilo stiže kod korisnika n+1 prazno. Zamislimo

drugo vozilo koje kreće od korisnika n+1 prazno i prikuplja teret od svakog korisnika jednako

po količini njegovom zahtjevu. Na slici (Slika 4) prikazan je primjer s 3 korisnika i

kapacitetom vozila C=20, zahtjevi korisnika prikazani su brojem kraj svakog korisnika i,j i k.

Kao i u dvoindeksnom modelu protoka vozila koriste se binarne varijable x koje

označavaju da li je vozilo koristilo luk u optimalnom rješenju ili ne. Varijabla xij poprima

2 Koristi se notacija definirana u 2.1 VRP s ograničenjima kapaciteta i njegove varijante

Page 24: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-24

vrijednost 1 ako luk (i,j)∈A' pripada optimalnom rješenju, a ako luk ne pripada optimalnom

rješenju xij poprima vrijednost 0. Model kojim je opisan ACVRP može se zadati ovim

relacijama:

∑∈ ',

minAji

ijij xc (3.2.1)

∑∈

=−'

2)(Vi

iijji dyy (3.2.2)

∑+∈

+=1}n\{0,'0 1})n\{0,'(

Vjj Vdy (3.2.3)

∑+∈

+−=1}n\{0,'

0 1})n\{0,'(Vj

j VdKCy (3.2.4)

∑+∈

+ =1}n\{0,'

,1Vj

jn KCy (3.2.5)

yij + yji =C xij (i,j)∈A' (3.2.6)

∑∈

=+'

2)(Vi

jiij xx ∀ i ∈ V' \ {0,n+1} (3.2.7)

yij ≥ 0 (i,j)∈A' (3.2.8)

xij ∈ {0,1} (i,j)∈A' (3.2.9)

Ograničenja (3.2.2) ustanovljavaju da je razlika između sume varijabli protoka tereta

vezanih za dolazak i odlazak svakog od korisnika i jednaka dvostrukoj vrijednosti zahtijeva

svakog od korisnika. Ograničenja (3.2.3, 3.2.4, 3.2.5) osiguravaju ispravne vrijednosti varijabli

protoka tereta prema skladištu. Odnos među varijablama protoka tereta dan je relacijom

(3.2.6). Broj posjeta svakom od korisnika ograničen je relacijom (3.2.7).

Page 25: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-25

3.3. Modeli particioniranja skupa

Model particioniranja skupa SP (Set Partitioning) prvi put je predložen u radu [15] i

koristi potencijalno eksponencijalni broj binarnih varijabli. Svaka od varijabli povezana je sa

nekom od izvedivih ruta iz skupa svih ruta Ψ={H1,… Hq,} gdje je q=⎥ Ψ ⎜. Svaka ruta Hj ima

svoj trošak cj. Binarni koeficijent aij poprima vrijednost 1 ako je korisnik posjećen ili 0 ako

korisnik nije posječen. Binarna varijabla xj j=1,…,q jednaka je 1 ako i samo ako je ruta Hj dio

optimalnog rješenja. SP model opisan je slijedećim relacijama:

∑=

q

jjj xc

1

min (3.3.1)

∑=

=q

jjij xa

1

1 ∀ i ∈ V' \ {0} (3.3.2)

∑=

=q

jj Kx

1

(3.3.3)

xj ∈ {0,1} ∀ j=1,…,q (3.3.4)

Ograničenje (3.3.2) zahtijeva da svaki korisnik bude posjećen samo jednom u

optimalnom rješenju i da rješenje ima K ruta ograničenje (3.3.3). Ovo je uopćeni model, kojeg

je moguće proširiti novim ograničenjima. U slučaju da želimo modelirati VRPTW, potrebno

je započeti samo od skupa ruta koje zadovoljavaju ograničenje vremenskih prozora.

Glavni nedostatak modela je eksplicitno generiranje svih mogućih ruta, pa je za

rješavanje ovako postavljenog linearnog programa prikladno koristiti metodu «column

generation» .

Page 26: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-26

3.4. VRP s vremenskim ograničenjima modeliran linearnim programom

Kao primjer troindeksnog modela protoka vozila uzet ćemo VRPTW i prikazati njegov

linearni program. Polazni elementi matematičkog modela su skup identičnih vozila ν, skup

korisnika C i usmjereni graf koji međusobno povezuje korisnike, ali i neke od korisnika sa

skladištem. Kardinalni broj skupa C je n. Skladište je ujedno i krajnje odredište pa se ta dva mjesta

označuju kao 0-ti korisnik i n+1 korisnik. Lukovi u usmjerenom grafu predstavljaju veze među

korisnicima. Nijedan luk ne završava kod nultoga korisnika i nijedan luk ne započinje u n+1

korisniku. Za skup svih korisnika koji označujemo sa N, možemo kazati da je N = C ∪ {0,n+1}.

Cijena cij i vrijeme putovanja tij povezani su s lukom (i,j), i≠j odnosno ne postoji luk, cijena ili

vrijeme koji povezuju korisnika s njim samim. Vrijeme tij može sadržavati i vrijeme posluživanja

korisnika i. Ako se vozilo ne upotrebljava, t0,n+1=0, a c0,n+1 predstavlja trošak korištenja vozila.

Nepostojeći ili neostvarivi lukovi (i,j) mogu se modelirati koristeći veliki koeficijent cijene cij.

Svako vozilo ima kapacitet q, a svaki od korisnika ima svoje zahtjeve di , i∈C.

Posluživanje svakoga korisnika mora započeti u vremenskom prozoru [ai,bi], i∈C. Vozila

moraju napustiti polaznu točku u vremenskom prozoru [a0,b0] i vratiti se u vremenskom prozoru

[an+1,bn+1]. Vozilima je dopušteno da stignu do korisnika i prije početka vremenskog prozora i da

slobodno pričekaju do njegova početka, ali nije im dopušteno da stignu poslije vremena

određenog kao kraj vremenskog prozora. Model uključuje dvije vrste varijabli odluka. Varijabla

odluke xijk (definirana ∀i,j∈N, ∀k∈ν, i≠j, i≠n+1, j≠0) ima vrijednost 1 ako vozilo k vozi od

korisnika i do korisnika j, a u suprotnom poprima vrijednost 0. Vremenska varijabla sik (definirana

∀ i∈N, ∀k∈ν) označuje vrijeme kada vozilo k započinje posluživanje korisnika i. Može se

zaključiti da je varijabla s0k=0, dok je sn+1,k vrijeme dolaska vozila k u početno odnosno krajnje

mjesto.

Rješenje problema opisanog ovim modelom je skup ruta koji će uz minimalan trošak

poslužiti sve korisnike. Sam matematički VRPTW model dan je ovim relacijama:

Page 27: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 3-27

∑∑∑∈ ∈ ∈νk Ni Nj

ijkij xcmin (3.4.1)

∑∑∈ ∈

=νk Nj

ijkx 1 ∀ i∈C (3.4.2)

∑ ∑∈ ∈

≤Ci Nj

ijki qxd ∀ k∈ν (3.4.3)

∑∈

=Nj

jkx 10 ∀ k∈ν (3.4.4)

∑ ∑∈ ∈

=−Ni Nj

hjkihk xx 0 ∀ h∈C, ∀ k∈ν (3.4.5)

∑∈

+ =Ni

knix 1,1, ∀ k∈ν (3.4.6)

jkijkijik sxKts ≤−−+ )1( ∀ i∈N, ∀ j∈N, ∀ k∈ν (3.4.7)

iiki bsa ≤≤ ∀ i∈N, ∀ k∈ν (3.4.8)

{ }1,0∈ijkx ∀ i∈N, ∀ j∈N, ∀ k∈ν (3.4.9)

Rute moraju zadovoljavati kapacitet vozila i definirane vremenske intervale (prozore).

Funkcija cilja je minimiziranje cijene koja je definirana relacijom (3.4.1). Relacija (3.4.2) predstavlja

ograničenje kojim zahtijevamo da svaki korisnik bude poslužen samo jednim vozilom. Relacija

(3.4.3) je zahtjev da svako vozilo koje poslužuje korisnike u svojoj ruti svojim kapacitetom može

zadovoljiti ukupne zahtjeve svih pojedinačnih korisnika u ruti. Zahtjev u relaciji (3.4.4) osigurava

da sva vozila napuštaju početnu točku samo jednom, dok relacija (3.4.5) predstavlja zahtjev da sva

vozila koja napuštaju nekoga korisnika moraju i pristupiti tom korisniku. Da sva vozila završavaju

svoju rutu u mjestu n+1, osigurano je zahtjevom u relaciji (3.4.6). Zahtjev u relaciji (3.4.7) definira

da vozilo k ne može stići u j prije sik+tij ako se kreće od j do k. Broj K može biti bilo koji vrlo

veliki broj. Relacija (3.4.8) osigurava ispravnost vremenskih intervala, dok relacija (3.4.9) definira

skup vrijednosti varijable odluke xijk.

Page 28: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-28

4. Pristupi rješavanju problema usmjeravanja vozila

Pristupi rješavanju VRP-a i povijesni razvoj korištenih metoda mogu se pratiti kroz

četiri dekade dvadesetog stoljeća. Problem usmjeravanja vozila prvi put je predstavljen 1959.

godine [20]. Početkom šezdesetih mogli su se riješiti isključivo mali problemi koji su

uključivali od 10 do 20 korisnika. Clark i Wright algoritam [19] jedan je od uspješnijih

algoritama koji do rješenja dolazi konstrukcijom ruta, pa se zbog svoje djelotvornosti i danas

koristi. Krajem šezdesetih dogodio se bitan pomak uvođenjem 2OPT i 3OPT mehanizma

poboljšavanja ruta [18]. Algoritmi razvijeni do početka sedamdesetih, mogli su riješiti samo

neke od problema koji su sadržavali od 30 do 100 korisnika. U sedamdesetim uveden je

koncept dvoprolaznih algoritama, a sama brzina izvođenja algoritma postaje sve značajnija.

Veličine problema koji se rješavaju bitno rastu, tako da su riješeni i neki problemi od 1000

korisnika. U toj dekadi od 1970. do 1980. neki od problema od 25 do 30 korisnika rješavaju

se optimalno. Osamdesetih godina dvadesetog stoljeća započinje brz razvoj egzaktnog

rješavanja problema zasnovanog na linearnom programiranju. Osim egzaktnog predlažu se i

razvijaju i drugi pristupi rješavanju problema usmjeravanja vozila zasnovani na iskustvu.

Optimalno se rješavaju neki od problema s 50 korisnika. Na osnovu mnogo novouvedenih,

međusobno bitno različitih metoda, tijekom devedesetih formira se na općem nivou

rješavanja optimizacijsko kombinatoričkih problema novi koncept metaheuristike. Problemi

usmjeravanja vozila koji se optimalno rješavaju devedesetih dosežu veličinom i do 100

korisnika.

Suvremeni pristupi rješavanju VRP problema mogu se podijeliti prema različitim

motivacijama rješavanja problema kao na slici (Slika 5). Prvi pristup rješavanju je potraga za

egzaktnim rješenjem problema. Praktična primjena ovog pristupa vrlo je ograničena jer je

optimalna rješenja moguće pronaći tek za manji broj korisnika. Broj mogućih ruta za opći

slučaj usmjeravanja vozila raste iznimno brzo, pa nije moguće očekivati da ovaj pristup u

općem slučaju generira rješenja uporabljiva u realnom vremenu koja se zahtijevaju u praksi. U

slučaju hibridnih algoritama i u specijalnim slučajevima kada je bitno sužen skup mogućih

rješenja često se koriste egzaktni algoritmi «branch and cut», «column generation» i «lagrange

relaxation».

Page 29: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-29

Heuristički pristup predstavlja korištenje iskustva, intuicije i vlastite procjene prilikom

rješavanja nekog problema. Za razliku od egzaktnih metoda, heurističke metode ne

predstavljaju znanje o strukturi ili odnosima unutar modela problema koji rješavamo.

Heurističke metode predstavljaju pravila izbora, filtriranja i odbacivanja rješenja, a služe za

smanjivanje broja mogućih puteva u postupku rješavanja problema [41]. Heuristički algoritmi

često se zasnivaju na konstrukciji ruta gdje se konstruiranje i poboljšavanje ruta s obzirom na

ciljnu funkciju vrši iterativno. Predstavnici ovakvog pristupa konstruktivnim heurističkim

metodama koji daju aproksimativne rezultate su Clark and Wright, Sweep ili Christofides

Mignozi Toth algoritmi.

Slika 5. Pristupi rješavanju problema usmjeravanja vozila

Najnoviji pristup rješavanja NP-teških problema kombinatorne optimizacije je

metaheuristički, koji kao pojam u optimizaciji predstavlja skup koncepata koji definiraju

heurističke metode upotrebljive pri rješavanju velikog broja različitih problema.

Metaheuristika u praksi je skup algoritama koji se koriste pri rješavanju više različitih

optimizacijskih problema gdje se sam algoritam vrlo malo mijenja u ovisnosti o problemu koji

se rješava. Metaheuristički pristup rješavanja problema usmjeravanja vozila često se zasniva na

lokalnoj pretrazi vođenoj procesima koji se preuzeti iz prirode poput simuliranog kaljenja,

genetičkih algoritama i kolonije mravi.

Page 30: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-30

4.1. Heuristički pristup rješavanju problema usmjeravanja vozila

Heurističke metode za rješavanje VRP problema mogu se u većem broju slučajeva

adaptirati iz metoda koje rješavaju TSP problem [33]. TSP metode, umetanja najbližeg

susjeda, dodavanje ukupno najudaljenijeg susjeda i najbližeg dodavanja, mogu se uz preinake

iskoristiti i za rješavanje CVRP i DVRP problema. Prilikom primjene spomenutih metoda

važno je imati na umu da se kreiraju samo one rute koje su izvedive obzirom na razliku

između VRP i TSP problema.

4.1.1. Metoda umetanja najbližeg susjeda

Intuitivni heuristički način rješavanja VRP-a je konstruiranje rute po načelu umetanje

najbližeg korisnika NNH (Nearest Neighbour Heuristic). Početni korisnik rute odabire se po

proizvoljnom kriteriju (nasumce ili npr. najudaljeniji korisnik od skladišta). Svaki slijedeći

korisnik koji se umeće u rutu odabire se po kriteriju najbližeg susjeda od zadnje umetnutog

korisnika u rutu. Vrijeme izvršavanja NNH metode je O(n2), a garancija odstupanja od

optimalne vrijednosti u najgorem slučaju (Worst Case Guarantee) je prema [37].

⎡ ⎤ )1log(5.0)(/)( 2 +≤ NIOPTINNH .

Ova metoda preuzeta je iz heurističke metode za rješavanje problema trgovačkog

putnika [25]. Za prilagodbu algoritma VRP problemu potrebno je dodati kapacitivno

ograničenje kako bi svaki novo umetnuti korisnik mogao biti poslužen vozilom čiju rutu

konstruiramo. NNH algoritam kodiran je u programskom jeziku Mars poglavlje (6.1.2),

(Program 6.2).

4.1.2. Metoda dodavanja ukupno najudaljenijeg susjeda

Heuristika dodavanja najudaljenijeg susjeda FAH (Farthest Addition Heuristic) je

konstruktivni heuristički pristup izgradnje rute, gdje se korisnik koji je ukupno najudaljeniji od

svakog od članova ruta koja se konstruiraju, dodaje u rutu.

Promatranja izgleda ruta nakon prvih par iteracije (Slika 6), postaje jasno zašto je ova

ideja jedna od najučinkovitijih za rješavanje TSP problema. Dodavanje najudaljenijeg

korisnika, daje već u prvim itreacijama obrise rute s minimalnim prijeđenim putem.

Page 31: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-31

Prilagodba ovog algoritma VRP problemu daje dobre rezultate tek kod dvoprolaznih

heuristika kao što je Sweep poglavlje (4.1.4). Direktna primjena za VRP problem ne daje

dobre rezultate (Slika 7) jer se područja djelovanja svakog od vozila preklapaju, odnosno

svakom novom rutom (vozilom) pokušavamo riješiti cijeli problem premda kapacitet vozila

nije dovoljan za posluživanja svih korisnika problema. Ako koristimo ovu metodu samo za

konstrukciju rute jednog vozila, što nam omogućavaju dvoprolazne VRP heuristike, rezultati

FAH su vrlo dobri. Vrijeme izvršavanja FAH metode je O(n3). FAH metoda kodirana je u

programskom jeziku Mars poglavlje (6.1.3), (Program 6.3).

Slika 6. Riješenja FAH metodom za TSP problem

Slika 7. Riješenja FAH metodom za VRP problem

Page 32: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-32

4.1.3. Metoda najbližeg dodavanja

Ideju dodavanja najbližeg korisnika možemo proširiti zahtjevom dodavanja ukupno

najbližeg korisnika u odnosu na svakog od postojećih članova rute koju konstruiramo. Tim

zahtjevom usporavamo metodu na O(n3), ali očekujemo i bolje rezultate. Ovo proširenje

NNH metode predstavlja metodu najbližeg dodavanja NAH algoritam (Nearest Addition

Heuristic). Ovakvim pristupom konstruiramo više ruta istovremeno i proširujemo ocjenu

novog člana rute minimizirajući razliku udaljenosti (Slika 8).

Slika 8. Odabir korisnika kojeg umećemo u NAH alogirtmu

Nakon odabira člana kojeg želimo dodati brišemo luk između korisnika X i Z, a

dodajemo dva nova luka (X,Y) i (Y,Z). NAH metoda kodiran je u programskom jeziku Mars

poglavlje (6.1.4), (Program 6.4).

4.1.4. Dvoprolazna Sweep metoda

Jedan od pristupa rješavanja problema usmjeravanja vozila prvo grupira korisnike

prema određenom kriteriju, a zatim unutar grupe pronalazi najpovoljniji način obilaska

korisnika jednim vozilom. Grupe se mogu formirati, npr. za CVRP problem, tako da

zadovolje ograničenje kapaciteta (ukupan kapacitet korisnika koji se poslužuju ne smije

prelaziti kapacitet vozila). Drugi kriterij odabira grupa korisnika koristi «zraku» koja rotira oko

skladišta i spaja svakog od korisnika sa skladištem. Odabir korisnika u grupe vrši se prema

kriteriju najmanjeg kuta kojeg zatvara zraka i korisnik kao na slici (Slika 9).

Page 33: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-33

Slika 9. Grupiranje korisnika po kriteriju minimalnog kuta

Iako su počeci ove metode vezani uz rad [13], razvoj algoritma se pripisuje autorima

Gillettu i Milleru koji su algoritmu i dali ime «Sweep» [27]. Svaki korisnik predstavljen je

polarnim koordinatama (θi, ρi) gdje je θi kut, a ρi dužina zrake. Prvom korisniku i* pridružit će

se umjesto (x,y) koordinate, kut θ*=0 i dužina ρ* =1. Korisnici će formirati grupu prema

kriteriju najmanjeg kuta i preostalog kapaciteta vozila koje poslužuje grupu. Nakon formiranja

grupe, svaka se grupa promatra kao poznati TSP problem i s nekom od raspoloživih metoda

optimizira u drugom prolazu algoritma. Sweep algoritam kodiran je u programskom jeziku

Mars poglavlje (6.1.5), (Program 6.6, Program 6.7, Program 6.8).

4.1.5. «Clark and Wright» metoda

Clark Wright-ova metoda razvijena je za CVRP problem gdje je broj vozila

neograničen. Algoritam započinje od rješenja gdje svaka ruta ima samo skladište i jednog

korisnika. U svakoj iteraciji algoritma pokušavaju se sjediniti dvije rute prema kriteriju

maksimalne uštede. Algoritam se izvršava u O(n2log(n)) vremenu, ali njegova se kompleksnost

može reducirati koristeći prikladne podatkovne strukture [29]. Algoritam implicitno ne

uvažava fiksne troškove vozila i veličinu flote. Troškovi vozila mogu se lako uključiti

dodavanjem konstante na svaku cijenu luka. Unatoč povećanju troška može se postići rješenje

i s fiksnim brojem vozila. Clark and Wright-ov algoritam kodiran je u programskom jeziku

Mars poglavlje (6.1.6)(Program 6.9).

Page 34: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-34

4.2. Metaheuristički pristup rješavanju problema usmjeravanja vozila

Za rješavanje VRP-a metaheurističkim pristupom najčešće se upotrebljavaju slijedeće

metode: iterativna lokalna pretraga ILS (Iterated Local Search), simulirano kaljenje SA (Simulated

Annealing), determinističko kaljenje DA (Deterministic Annealing), tabu pretraga TS (Tabu Search),

genetički algoritmi GA (Genetic Algorithm), kolonije mrava AC (Ant Colony) i neuronske mreže

NN (Neural Networks). Iako sve metode imaju bitno različito vođenje pretrage, ipak se mogu

uočiti neka zajednička svojstva. Algoritmi SA, DA i TS kreću od početnog rješenja xt i u

svakoj iteraciji t pronalaze novo rješenje xt+1 u susjedstvu N(xt) rješenja xt. Ove metode mogu

prilikom iteriranja prihvatiti i ona rješenja koja su lošija od trenutnih i na taj način zaobilaziti

probleme lokalnih optimuma. Za njih je potrebno osigurati mehanizam izbjegavanja kruženja

između lokalnih optimuma [11]. TS, GA i AC bilježe informacije pri procesu pretrage i

koriste ih za poboljšanje rješenja problema [45].

4.2.1. Iterativna lokalna pretraga

Iterativna lokalna pretraga (ILS) je vrlo općenita heuristička metoda koja generira slijed

rješenja na osnovu heurističke pravilnosti. Pravilnost u generiranju rješenja vodi boljim

rješenjima nego nasumični pokušaj odabira novog rješenja. Lokalna pretraga ima jednostavne

postavke rada, lako se implementira, dugo je u upotrebi i daje dobre rezultate.

Algoritam lokalne pretrage (Algoritam 4.1) može se opisati u četiri koraka:

K1: Odabrati početno rješenje iz prostora pretrage, izračunati vrijednost ciljne funkcije, definirati početno rješenje kao trenutno rješenje.

K2: Na osnovu heurističke pravilnosti iz trenutnog rješenja generirati novo rješenje i izračunati vrijednost ciljne funkcije za novo rješenje.

K3: Ako je novo rješenje bolje od trenutnog rješenja tada novo rješenje postaje trenutno rješenje.

K4: Ponavljati korake 2 i 3 dok se primjećuje poboljšanje trenutnog rješenja.

Algoritam 4.1 Iterativna lokalna pretraga

Očito je da u ILS-u ključnu ulogu ima generiranje novih rješenja na osnovu heurističke

pravilnosti (K2: korak 2) i vođenje lokalne pretrage (K4: korak 4). Postoje dva krajnja slučaja,

jedan je da ILS generira rješenja tako da nakon određenog broja koraka sva moguća rješenja

Page 35: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-35

budu generirana, a drugi je da se na potpuno slučajan način generira novo rješenje. Oba

krajnja slučaja su neprihvatljiva. Pri prvom slučaju trenutno rješenje ni na koji način ne utječe

na slijedeće, a u drugom slučaju otvara se nepovoljna mogućnost pretrage kada više puta

ispitujemo isto rješenje. Upotrebljivi kompromis leži između ove dvije krajnosti, pa se

pretražuje područje oko trenutnog rješenja, a svako pronađeno bolje rješenje premješta žarište

pretrage na novo susjedstvo oko tog novog boljeg rješenja. U slučaju da je susjedstvo maleno

tada cijelo susjedstvo možemo pretražiti vrlo brzo, ali lako možemo upasti u zamku lokalnog

optimuma. U slučaju da je susjedstvo vrlo veliko, imamo manje problema s lokalnim

optimumom, ali je uspješnost pretrage manja. Način generiranja susjedstva kojeg

primjenjujemo na trenutno rješenje određuje veličinu susjedstva, tako da susjedstvo mora biti

odabrano sukladno sa svojstvima ciljne funkcije i reprezentacije našeg rješenja.

Jedna od najčešćih heurističkih pravilnosti generiranja susjedstva naziva se 2OPT. Može

započeti sa slučajno odabranom rutom T koju želimo poboljšati. Susjedstvo se definira kao

skup ruta koje nastaju izmjenom dvaju lukova kao npr. na slici (Slika 10) gdje isprekidane

linije predstavljaju lukove nad kojima se obavlja 2OPT zamjena.

Slika 10. a) Ruta prije 2OPT zamjene b) Ruta nakon 2OPT zamjene

Nova ruta T´ se prihvaća ako ima povoljniju vrijednost funkcije cilja. 2OPT algoritam

može se generalizirati kao k-OPT procedura gdje se k lukova promatra i izmjenjuje po

kriteriju najboljih izmjena. Upravo ovdje treba preko parametra k uravnotežiti veličinu

susjedstva s obzirom na ciljnu funkciju optimizacije. Broj članova susjedstva eksponencijalno

raste s brojem k, tako da se na ovako prikazan način generiranja susjedstva rijetko koristi

susjedstvo sa k>3. Lokalna pretraga djeluje nad nekim početnim rješenjem, te je uspjeh svake

iterativne lokalne pretrage određen efikasnošću mehanizma generiranja lokalnih promjena.

Lokalna pretraga 2OPT susjedstava kodirana je u programskom jeziku Mars poglavlje (6.1.1),

(Program 6.1).

Page 36: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-36

Po sličnim načelima rada k-OPT procedure za jednu rutu, predložen je i mehanizam

generiranja λ-zamjena (λ - interchange generation mechanism) za više ruta [44]. Ovaj

mehanizam generiranja susjedstva temelji se na zamjenama i premještanjima korisnika iz

jedne rute u drugu nad skupom parova ruta. Neka je rješenje skup S={R1,...,Rp,...,Rq,...,Rk}

gdje je RP skup korisnika posluženih jednim vozilom na ruti p. Promjena između para ruta Rp i

Rq je zamjena podskupa S1⊆ Rp veličine⏐S1⏐≤λ s drugim podskupom S2 ⊆ Rq veličine⏐S2⏐≤λ.

Na taj način dobivaju se dvije nove rute: Rp`=(Rp\S1)∪S2 i Rq`=(Rq\S2)∪S1 te novo susjedno

rješenje S`={R1,...,Rp`,...,Rq`,...,Rk}. Susjedstvo Nλ(S) danog rješenja S je skup svih susjeda S`

generiranih metodom λ zamjena za dani cjelobrojni λ. Lokalna pretraga susjedstava

generiranih λ-zamjena kodirana je u programskom jeziku Mars poglavlje (6.1.7), (Program

6.10, Program 6.11).

Lokalna pretraga je često samo jedna od karika u hibridnom lancu heurističkih metoda i

ona sama koristi rezultat mehanizma generiranja promjena među rutama kao područje

pretrage. Generiranje promjena predstavlja sustavnu izmjenu korisnika među rutama. Skup

svih ocjena ruta predstavlja ocjenu rješenja. Mehanizam generiranja susjednih rješenja i odabir

ciljne funkcije predstavlja temelj lokalne pretrage, ali i mnogih drugih metoda.

Page 37: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-37

4.2.2. Simulirano kaljenje

Metoda simuliranog kaljenja je stohastička relaksacijska tehnika, predložena u radu [31].

Naziv metode dolazi iz analogije koja se može uočiti s procesom kaljenja. Pri procesu kaljenja

krutina se zagrijava na visoku temperaturu, a zatim postupno hladi i kristalizira. Budući da

proces zagrijavanja dopušta slučajno gibanje atoma, naglo hlađenje sprječava proces

dosezanja potpune termalne ravnoteže atoma. Ako se krutina hladi polagano, daje se atomima

dovoljno vremena da oni postignu minimalno energetsko stanje formirajući pravilnu kristalnu

rešetku. Simulirano kaljenje koristi stohastički pristup vođenja pretrage. Ova metoda dopušta

da se pretraga nastavi u smjeru susjednih rješenja, iako funkcija cilja u tom smjeru daje lošije

rezultate.

U iteraciji t simuliranog kaljenja, rješenje x se odabire nasumce u okolini N(xt). Ako je

f(x) ≤ f(xt) tada se xt+1 postavlja na vrijednost x ; inače ,

(4.2.1)

U relaciji (4.2.1) pt je padajuća funkcija argumenata [t, f(x)-f(xt)]. Često se pt definira kao:

t

txfxf

t ep Θ−

=)()(

(4.2.2)

U relaciji (4.2.2) Θt je temperatura pri iteraciji t. Zakonitost po kojoj se mijenja Θt naziva

se raspored hlađenja. Uobičajeno je da je Θt ima padajući trend u svakoj slijedećoj iteraciji.

Temperatura Θt se u početku postavlja na vrijednost Θ1>0. Svakih T slijedećih koraka Θt se

množi sa faktorom α (0<α<1), tako da se vjerojatnost prihvaćanja lošijeg rješenja smanjuje s

vremenom. Kriteriji zaustavljanja najčešće su:

- promjena ciljne funkcije Δf1 ispod π1% nakon k1 uzastopnih ciklusa od T iteracija

- broj pomaka koji se prihvaćaju manji je od π1% od T za k2 uzastopnih ciklusa

- ukupno je izvršeno k3 ciklusa od T iteracija

Page 38: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-38

I. H. Osman proveo je uspješnu implementaciju simuliranog kaljena za rješavanje VRPa

uz lokalnu pretragu nad susjedstvima generiranim λ-zamjenama ruta [36], (Algoritam 4.2).

K1: /*Silazna pretraga faza 1*/ Generiraj početno rješenje Clarke i Wright algoritmom. Izvrši pretragu susjedstva generiranog λ-zamjenama dok ima poboljšanja (u slučaju poboljšanja funkcije cilja izvrši zamjenu).

K2: /*Pretraga simuliranim kaljenjem faza 2*/ Izvrši potpunu pretragu susjedstva generiranog λ-zamjenama bez stvarne izmjene ruta i pronađi ∆max i ∆min (najveće i najmanje apsolutne promjene ciljne funkcije), te parametar β koji predstavlja broj potencijalno ostvarivih λ-zamjena.

K3: Postavi Θ1=∆max, k=1, k3=3, t=1, t*=1 (ovo je iteracija pri kojoj je pronađeno najbolje rješenje unutar trenutnog ciklusa pretrage), x1 je trenutno rješenje, a x*=x1

K4: ZA SVAKI xt /*korak pretrage susjedstva generiranog λ-zamjenom. */

AKO je f(x)<f(xt)

xt+1=x

AKO je f(x)<f(x*)

x*=x; Θ* = Θk

INAČE xt+1 izračunaj koristeći (4.2.1.) i (4.2.2)

AKO je xt+1=x

Θt+1=max {Θt/2, Θ*}; k=k+1

INAČE Θt+1= Θt/[(nβ+nt0.5) ∆max ∆min]; t=t+1

AKO je k=k3

STOP

Algoritam 4.2 Simulirano kaljenje

Page 39: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-39

4.2.3. Determinističko kaljenje

Simulirano kaljenje koristi stohastički mehanizam prihvaćanja pojedinih rješenja. Kada

se stohastički mehanizam zamjeni determinističkim dobiva se determinističko kaljenje kao

varijanta simuliranog kaljenja. Razvijene su dvije standardne tehnike ovog metaheurističkog

koncepta: prihvaćanje praga, (treshold accepting) [21] i kretanje od rješenja do rješenja, (record to

record travel) [22]. Kod algoritma prihvaćanje praga, xt+1 se prihvaća ako je f(xt+1) < f(xt)+Θ1

gdje je Θ1 kontrolni parametar. U algoritmu kretanje od rješenja do rješenja, novo rješenje se

prihvaća ako je f(xt+1) < Θ2f(xt) gdje je Θ2 kontrolni parametar tek nešto malo veći od broja 1.

Θ2 je zadan kao postotak trenutno najboljeg rješenja odnosno zbroj broja 1 i devijacije Θ2=(1

+ k%). Devijacija je k% * f(xt), pa ova interpretacija upućuje na sličnost s prethodnim

algoritmom f(xt+1) < f(xt)+devijacija. Vidljivo je da se ove dvije tehnike tek neznatno razlikuju,

ali obje dopuštaju prihvaćanje i lošijih rezultata s različitim parametrima.

4.2.4. Tabu pretraga

Tabu pretraga, TS (Tabu Search) je metoda lokalne pretrage kod kombinatoričke

optimizacije koja pokazuje vrlo dobre rezultate pri rješavanje problema usmjeravanja vozila.

Česta uporaba ove metode rezultirala je s preko 10 uspješnih varijacija osnovne ideje, a sama

osnovna ideja je prvi puta predstavljena u radu [28]. Pristup TS-a temelji se na sprječavanju

kruženja između lokalnih optimuma uvođenjem memorijske strukture koja zabranjuje ili

kažnjava pomake prema rješenjima koji su označeni kao "tabu pomaci", a vode ka već

pronađenim lokalnim optimumima. Ostvarenje ove ideje u doslovnom smislu zahtijevalo bi

memoriju vrlo velikog kapaciteta u kojoj bi se bilježili nedozvoljeni pomaci, pa algoritmi često

rješavaju taj problem koristeći mehanizam kratkotrajne memorije (short term memory).

Mehanizam bilježi samo atribute pronađenih rješenja koja se žele zaobići, a svako rješenje

koje posjeduje zapamćene atribute odbacuje se u slijedećih Θ iteracija.

Bitne odrednice TS-a su svojstvo TS da pretražuje što raznolikija susjedstva

(diverzifikacija) i pretrage gdje se pod određenim okolnostima naglašava lokalna pretraga u

određenom susjedstvu (intenzifikacija). Potreba za diverzifikacijom proizlazi iz želje da se

izbjegne pretraga po samo jednom dijelu prostora rješenja. Diverzifikacija se postiže

vođenjem bilježaka o pronađenim lokalnim optimumima i kažnjavanjem prečesto izvođenih

pomaka ka tim područjima. Mehanizam bilježenja naziva se dugotrajna memorija, (long term

memory). Drugi pristup postizanja diverzifikacije je započinjanje potpuno nove pretrage što se

naziva slučajno odabrani ponovni početak, (random restart), u kojem se generiraju potpuno

nova nasumice odabrana rješenja.

Page 40: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-40

Intenzifikacija se sastoji u naglašavanju izvođenja pretrage u okolini najboljih rješenja.

Proces tabu pretrage stalno alternira između dva cilja. Jedan cilj je potraga za lokalnim

optimumom, a drugi cilj je napraviti pomak u "najbolje susjedstvo", iako možda trenutno

funkcija cilja u tom susjedstvu ima lošije vrijednosti od trenutno najboljeg lokalnog

optimuma. Treba riješiti problem da "najbolje susjedstvo" ne dovede pretragu do već

pronađenih lokalnih optimuma. Taj problem rješava se održavanjem tabu liste koja odbacuje

one pomake koji cijeli proces vode ka već pretraženom susjedstvu i poznatim lokalnim

optimumima. TS predviđa iznimke u situacijama kada postoje garancije da će nas zabranjeni

pomak ipak odvesti u novo dobro rješenje, a iznimke se definiraju preko aspiracijskih uvjeta,

(aspiration level conditions). TS je metoda koja koristi varijabilno susjedstvo što matematičkim

formalizmom možemo opisati na slijedeći način:

Neka je funkcija susjedstava N(s): S→2S definirana kao funkciju preslikavanja koja za

svako rješenje x daje podskup N(x) rješenja. Ako je T(s,k) tabu lista rješenja (rješenja koja se

žele zaobići) tada je N(s,k) = N(s)-T(s,k) odnosno N(s,k) je varijabilno susjedstvo rješenja s u

k-tom koraku. TS algoritma (Algoritam 4.3) može se opisati u dva koraka.

K1: Generiraj početno rješenje; k=1

K2: DOK nisu ispunjeni uvjeti zaustavljanja

Odredi N(s), skup susjeda

Odredi T(s,k), tabu listu

Odredi A(s,k), listu aspiracijskih uvjeta

Odaberi najbolji s'∈N(s,k)={N(s)-T(s,k) ∪A(s,k)}

Zapamti s' ako je bolje od do sada pronađenog najboljeg rješenja

s= s'; k=k+1

Algoritam 4.3 Tabu pretraga

Motivi za uvjete zaustavljanja su najčešće:

- pronađeno je optimalno rješenje prema određenim usvojenim kriterijima

- N(s,k)=∅, k je veći od maksimalno određenog broja koraka

- nema značajnih pomaka k boljem rješenju.

Page 41: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-41

4.2.5. Genetički algoritmi

Genetički algoritam GA, (Genetic Algorithm) je tehnika globalne pretrage koja rješava

probleme oponašajući evolucijske procese u prirodi. Paradigma rješavanja problema

genetskim algoritmom predstavljena je prvi puta u radu [6]. Osnovni GA je generička tehnika

rješavanja problema koja koristi vrlo malo heurističkih znanja iz domene problema kojeg

rješava. Zbog takve odlike GA ima vrlo široke mogućnosti uporabe, posebice za rješavanje

probleme koji se teško definiraju. GA razvija populaciju grupe bitova ili kromosoma, u kojoj

svaki kromosom predstavlja jedno od rješenja problema. Sama evolucija populacije odvija se

primjenom operatora koji oponašaju fenomene operacija nad genima poput (reprodukcije,

rekombinacije s recipročnim izmjenama, mutacije, …).

K1: Generiraj nasumce početnu populaciju kromosoma X1={X11, . . .,X1

N}

K2: ZA t=1 DO T

ZA k=1 DO N/2

/*reprodukcija*/ odredi dva roditelja-kromosoma iz Xt

/*rekombinacija*/ generiraj dva potomka odabranih roditelja operatorom rekombinacije s recipročnim izmjenama

/*mutacija*/ primjeni operator mutacije s vrlo malom vjerojatnošću nad kromosomom svakog od potomaka

/*zamjena generacija*/ kreiraj Xt+1 iz Xt tako da 2k najlošijih rješenja zamijeniš s 2k novih potomaka

Algoritam 4.4 Genetski algoritam

U genetskom algoritmu (Algoritam 4.4) parametar T predstavlja broj generacija, a k broj

selekcija u generaciji. Najbolje rješenje nakon T generacija je konačni rezultat ovog algoritma.

U koraku (K2 /*reprodukcija*/) vjerojatnosna funkcija odabira roditelja ugođena je u korist

kromosoma s većom vrijednošću ciljne funkcije. U koraku (K2 /*rekombinacija*/) novi

potomci stvaraju se izmjenom podskupova bitova među roditeljima. Prilikom koraka (K2

/*mutacija*/) svaki od potomaka može biti neznatno izmijenjen promjenom jednog bita

(zatečena jedinica se mijenja u nulu, ili zatečena nula u jedinicu) na svakoj poziciji kromosoma

s vrlo malom vjerojatnošću. Na kraju drugog koraka algoritma dolazi do smijene generacije.

Ponavljanjem koraka 2 ovog algoritma očekuje se da nasumce izabrana populacija, svakim

korakom generira potomke sa sve "boljim" rezultatima ciljne funkcije, pošto se roditelji s

Page 42: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-42

lošijim vrijednostima ciljne funkcije u zadnjem koraku algoritma zamjenjuju svojim "boljim"

potomcima. Teoretska razmatranja ovog procesa optimizacije nalaze se u radovima [5],[6][5].

4.2.6. Neuronske mreže

Neuronske mreže predstavljanju model koji je sastavljen od jedinki neurona (procesnih

jedinica) koje su međusobno povezane težinskim vezama (sinapsama), poput neurona u

ljudskom mozgu. Signal koji se šalje vezom od jedne jedinke k drugoj dodatno se modulira

srazmjerno pridijeljenoj težini pojedine veze koja prenosi signal. Pokazalo se da neuronske

mreže mogu učiti na temelju primjera i «donositi» opće koncepte postupkom ugađanja težina

veza. Ovakav pristup računanju uveden je pri rješavanju zadataka vezanim za ljudsku

inteligenciju (umjetni vid i prepoznavanje govora) gdje su se tradicionalne metode računanja

pokazale teško prilagodljive. U radu [30] prvi puta se primjenjuju neuronske mreže pri

rješavanju kombinatoričkih problema. Problem trgovačkog putnika rješavan je korištenjem

modela elastičnih mreža EN (Elastic Net), [23] i samoorganizirajućih mapa SOM (Self-

Organizing Map), [7]. Oba modela su značajno različita od klasičnih neuronskih mreža, ali

daju bitno bolje rezultate pri rješavanju TSP-a od klasičnog Hopfield-Tank modela

neuronskih mreža. U usporedbi s drugim metaheurističkim modelima spomenuti modeli još

uvijek lošije rješavaju probleme u odnosu na ostale metaheuristike.

Modifikacija rada neuronskih mreža pri rješavanju TSP problema prvenstveno je vezana

za geometrijska svojstva TSP-a nad kojim se koristi model podešavanja težine veza. Načela

rada elastičnih mreža i samoorganizirajućih mapa prikazan je slikom (Slika 11). Bijeli krugovi

su korisnici, a crni kružići su jedinke modela. Jedinke su povezane u prsten. Pozicija jedinki se

neprestano ugađa (poput težina veza kod klasičnih neuronskih mreža) dok jedinke ne postanu

dovoljno blizu korisnicima koje treba obići trgovački putnik. Na kraju procesa svakom se

korisniku pridružuje najbliža jedinka. Prilikom pridruživanja, poredak jedinki u prstenu

predstavlja i smjer obilaska korisnika u TSP problemu. Elastične mreže i samoorganizirajuće

mape rade prema istim načelima, jedino se razlikuju u načinu kontrole približavanja jedinke

modela korisnicima TSP problema.

Page 43: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-43

Slika 11. Prikaz rada algoritma nad EN i SOM modelima a) početna pozicija jedinki b) ugađanje veza i približavanje

c) jedinke i kriteriji pridruživanja d) pridruživanje jedinki korisnicima

Vidljivo je da će prikazani koncepti dobro funkcionirati u Euklidskom TSP-u, ali svako

dodavanje dodatnih ograničenja poput ograničenje kapaciteta ili vremena obilaska rute, remeti

geometrijsko obilježje problema i vodi ka teškoj primjenjivosti spomenutih modela. U radu

[3] izrađena je varijanta SOM-a koja rješava VRP problem.

Transformacija opisanih modela s TSP problema na VRP problema izvedena je

uvođenjem više struktura jedinki odnosno prstenova, za svaku od ruta po jedna nova

struktura. Pošto se pojavljuje više prstenova istovremeno, javlja se novi problem

ravnomjernog pridruživanja istog broj korisnika svakom prstenu.

Vjerojatnosti odabira pojedinih prstenova u gore navedenom primjeru (Algoritam 4.5)

dinamički se ugađaju tijekom odvijanja algoritma. Dominantni kriterij odabira u početku

odvijanja algoritma predstavlja udaljenost između korisnika i jedinke. Važnost pri odabiru

prstena, daje se kriteriju ispunjavanja ograničenja kapaciteta, ali tek nešto kasnije. Tada se,

jedinke koje narušavaju ograničenje kapaciteta, odabiru s manjom vjerojatnošću. Pri kraju

procesa jedino prstenovi koji zadovoljavaju ograničenju imaju značajniju vjerojatnost odabira.

Page 44: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 4-44

K1: /* natjecanje prstenova i migracija jedinki*/

PONAVLJAJ DOK postoji jedinka koja nije dovoljno blizu korisnicima

odaberi slijedećeg korisnika

odredi vjerojatnost odabira pojedinog prstena

odaberi trenutni prsten

pridijeli trenutnom korisniku najbližu jedinku trenutnog prstena

pomakni jedinku, kao i ostale članove prstena bliže trenutnom korisniku

K2: pridjeli svakom korisniku najbližu jedinku i generiraj rješenje

Algoritam 4.5 Elastične mreže

Page 45: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-45

5. Programsko okruženje za razvoj, ispitivanje i parametriziranje heurističkih algoritama Venera

Razvijanje heurističkih algoritama za rješavanje problema usmjeravanja vozila je

dugotrajan istraživački i inženjerski posao. Svaka od ideja najčešće se razvija od samog

početka, pa skoro svaki autor ima svoj način pseudokodiranja, svoje rutine i svoju radnu

okolinu. U knjizi [12] predlaže se validacija i upotreba postojećeg koda te organiziranje

zajedničkog okvira za razvoj metaheurističkih algoritama.

Zbog nepotrebnog ponavljanja razvoja programskog koda iste funkcionalnosti u ovom

radu predložen je novi pristup problemu razvoja heurističkih algoritama. Oblikovani su i

izgrađeni programska radna okolina Venera i programski jezik Mars. Venera objedinjuje

grafičko sučelje za interaktivnu definiciju problema i vizualnu prezentaciju rješenja.

Programski jezik Mars specijaliziran je za pisanje algoritama koji rješavaju probleme

usmjeravanja vozila. Jezik raspolaže sa transportnim tipovima podatkovnih struktura i

naredbama za raznovrsne lokalne pretrage i neproceduralno minimiziranje i maksimiziranje

ciljne funkcije. Venera i Mars izrađeni su u objektnom programskom jeziku Java [38].

5.1. Osnovna struktura okruženja Venera

Algoritam je apstraktna forma procedure rješavanja nekog problema. Algoritam

prilagođen za izvođenje na računalu predstavlja program [4]. Svaki program pisan je u

izvornom programskom jeziku, te je njegov opis izvršavanja definiran izvornim kodom. Da

bi se neki izvorni kod izvršio potrebno je programsko okruženja koje povezuje programski

jezik i strojni jezik. Povezivanje napisanog izvornog koda i izvršnog strojnog koda može biti

ostvareno pomoću jezičnog prevoditelja «compiler» ili preko jezičnog tumača «interpreter».

Ako se koristi jezični prevoditelj, izvorni kod programa samo se jednom prevede u izvršni

kod zapisan u strojnom jeziku i zatim izvršava potreban broj puta. Kod jezičnog tumača,

prevođenje se vrši pri svakom izvođenju programa bez znanja korisnika da se prevođenje

programa uopće dogodilo.

Page 46: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-46

Osnovni modul Venere je jezični tumač programskog jezika Mars prilagođen za

interaktivno razvijanje, izvršavanje i testiranje algoritama koji rješavaju problem usmjeravanja

vozila. Venera u svojoj osnovi predstavlja razvojno okruženje s grafičkim prikazom podataka

u kojem korisnik interaktivno razvija i ispituje algoritme upotrebom programskog jezika Mars

(Slika 12).

Slika 12. Razvojno programsko okruženje Venera

Programski jezik Mars opisan je sa simbolima, pravilima kombiniranja tih simbola i

formalizmom koji opisuju sintaksu jezika. U tijeku prevođenja napisanog programa u strojni

jezik izvode se leksička i sintaktička analiza (Slika 13).

Prilikom leksičke analize odstranjuju se komentari i znakovi praznina, a sam tekst

programa razdjeljuje se u osnovne jezične jedinice. Gramatika programskog jezika određuje

dozvoljene strukture leksičkom analizom prepoznatih osnovnih jezičnih jedinica (naredbi,

identifikatora, brojeva, zagrada itd …). Sintaktički ispravan program nije uvijek i program koji

je prihvatljiv ili radi upravo ono što želimo. Takav program zadovoljava samo formalnu

sintaksu koja predstavlja dozvoljenu strukturu programa.

Page 47: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-47

Slika 13. Princip rada jezičnog tumača

Sintaktički analizator (parser) jezičnog tumača programskog jezika Mars izveden je

tehnikom rekurzivnog spusta. Tehnika rekurzivnog spusta je tehnika implementacije

sintaktičkog analizatora gdje se upotrebom samopozivanja modula koristi pozicija na stogu

kao pokazivač na trenutnu dubinu sintaktičke analize [10].

5.2. Korištenje okruženja Venera

Nakon pokretanja razvojnog okruženja Venera, stvara se radni prostor od četiri prozora

prikazana na slici (Slika 14). U prozoru 1 vidi se usmjereni graf kao grafička interpretacija

skupa transportnih varijabli kojeg čine vozilo (VEHICLE), korisnik (CUSTOMER) i veza

(ARC). Svaka izmjena skupa transportnih varijabla uočava se i u prikazu usmjerenog grafa. U

ovom prozoru mogu se obaviti promjene atributa korisnika uz pomoć alata iz alatne trake.

Moguće je brisati i dodavati položaj korisnika ili veza. U prozoru 1 (Slika 14) stvaraju se,

brišu ili izmjenjuju ne samo korisnici već i veze među korisnicima. Svaka akcija nad

korisnicima ili vezama automatski mijenja sadržaj skupa transportnih varijabli CUSTOMER,

VEHICLE i ARC. Obnavljanje podataka u ovom prozoru moguće je ostvariti i za vrijeme

rada programa naredbom (obnovi crtež) REPAINT.

Korisnici se mogu upisivati, brisati i pregledavati i u prozoru 2 (Slika 14), gdje su

dostupna sva polja skupa transportnih varijabli CUSTOMER. U prozoru 3 (Slika 14) mogu

se dodavati i brisati vozila, te mijenjati njihovi kapaciteti i boje, koje su vezane za prikaz ruta

na zaslonu. Promjena u jednom prozoru automatski obnavlja i sadržaj preostala dva. Četvrti

prozor je mjesto gdje se unosi tekst programa ili tekst interaktivnih naredbi jezičnom tumaču.

U trenutku pokretanja programa, taj prozor predstavlja i zaslon na kojem se ispisuju podaci

vezani za tijek programa.

Page 48: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-48

Slika 14. Izgled radnog okruženja Venera

5.3. Naredbe programskog jezika Mars

Programski jezik Mars koristi rezervirane riječi vozilo (VEHICLE), korisnik

(CUSTOMER) i veza (ARC) koje predstavljaju transportne varijable posebnog tipa. Stanja

varijabli i njihove promjene varijabli mogu se vidjeti u prozorima 1, 2 i 3 (Slika 14). Nad

transportnim skupom varijabli Mars definira specifične naredbe (MOVE, ADDARC,

DELARC, SELECT) koje bitno pojednostavljuju kodiranje klasičnih heurističkih algoritama,

tako da kod postaje čitak i kratak.

Rezervirane riječi programskog jezika predstavlja riječi koju nije moguće iskoristi u neke

druge svrhe (npr. kao ime varijable), jer je takva riječ osnovna jezična jedinica gramatike

programskog jezika te predstavlja naredbu ili dio naredbe, deklaraciju ili neke drugu

dozvoljenu jezičnu konstrukciju.

Page 49: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-49

Kako bi se opisala sintaksa jezika, odnosno same naredbe, često se upotrebljavaju dva

formalizma: Backus Naur Form (BNF) i sintaksni dijagrami [35]. Iz BNF-a mogu se dobiti

sintaksni dijagrami koji predstavljaju grafički prikaz jezičnog formalizma. Većina autora

novijih programskih jezika za definiranje jezika koriste proširenu Backus Naur Formu

notaciju EBNF (Enhenced Backus Naur Form) koja uključuje više operatora i time daje

kompaktniji opis jezika s manje mogućnosti gramatičkih konflikata.

Naredba MOVE prikazana je slijedećim sintaktičkim dijagramom.

Ovom naredbom gradi se ruta, tako da vozilo od zadnje posjećenog korisnika krene k

navedenom korisniku. Ako do trenutka korištenja ove naredbe vozilo nije bilo korišteno,

onda se do navedenog korisnika kreće iz početne točke CUSTOMER (0) koje predstavlja

skladište. Gradnja rute može se ostvariti i naredbom ADDARC, a brisanje pojedinog luka

rute naredbom DELARC. Spomenute naredbe imaju sintaktički dijagram oblika:

Prilikom korištenja naredbe ADDARC koja kreira vezu između dva zadana korisnika,

polje POSITION zadanog vozila poprima vrijednost odredišnog korisnika.

Naredba DELARC koja bi brisala npr. vezu između drugog korisnika CUSTOMER(2) i

trećeg korisnika CUSTOMER(3) izgledala bi ovako:

DELARC ARC(CUSTOMER(2),CUSTOMER(3))

Nakon njenog izvršavanja polje POSITION vozila koje obavlja tu rutu poprima

vrijednost korisnika 2.

Page 50: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-50

5.3.1. SELECT naredba

Naredba selekcije (SELECT) je glavni iskorak programskog jezika Mars u odnosu na

klasu proceduralnih jezika u koju se Mars može svrstati. SELECT naredba djeluje kao upit, a

ne kao element slijedne strukture koja predstavlja sekvencijalni opis koraka algoritma. Ovom

naredbom traži se rješenje za zadane uvijete, bez opisa kako do rješenja doći. Naredba upita

slične je sintakse kao istoimena naredba selekcije kod SQL (Structured Query Language)

jezika za postavljenje upita sustavu za upravljanje bazama podataka. Zadatak naredbe selekcije

jest pretraga svih korisnika, vozila ili veza koji zadovoljavaju navedene logičke izraze. Za sve

odabrane varijable može se tražiti dodatna pretraga u cilju minimiziranja ili maksimiziranje

navedene ciljne funkcije. Potpuna sintaksa naredbe selekcije opisana je sintaktičkim

dijagramom (Slika 15).

Slika 15. Sintaksa naredbe SELECT

Naredba selekcije započinje s rezerviranom riječi SELECT iza koje se mora deklarirati

jedna ili više varijabli tipa CUSTOMER, VEHICLE ili ARC, a varijable trebaju biti odvojene

zarezima. Kod deklaracije, ispred svake varijable mora se nalaziti rezervirana rječi

(CUSTOMER, VEHICLE ili ARC) koja ovisi o tipu koji želimo deklarirati. Primjeri naredbe

SELECT:

Page 51: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-51

SELECT CUSTOMER c WHERE ... ili SELECT ARC vez, CUSTOMER kor WHERE ... ili SELECT CUSTOMER c1, CUSTOMER c2, VEHICLE vozilo WHERE ...

Nakon deklaracije obvezna je rezervirana riječ WHERE iza koje se nalaze logički izrazi

po kojima se radi selekcija deklariranih varijabli iz skupa svih transportnih varijabli. Ako se

želi napraviti dodatna pretraga iza deklaracijskog i uvjetnog dijela SELECT naredbe dodaje se

funkcija cilja.

Pretraživati se može prema kriteriju minimuma ili maksimuma funkcije cilja. Takvo

pretraživanje je dano kao opcija i tada se izdvajaju oni članovi skupa transportnih varijabli koji

zadovoljavaju kriterij maksimuma ili minimuma funkcije cilja. Ovakva struktura uvjeta

pretraživanja je izuzetno korisna pri razvoju i kodiranju heurističkih algoritama. SELECT

naredbom Mars automatizira pretragu po dijelu susjedstva koje je opisano u WHERE dijelu

naredbe SELECT (Slika 15). Opcijama MINIMISE i MAXIMISE odabire su upravo ona

varijabla koja se nalazi u odabranom dijelu susjedstava, a ujedno daje željeni minimalni ili

maksimalni rezultat funkcije cilja.

U slijedećem primjeru prikazan je način pronalaženja korisnika koji do sada nije

posjećen, a ispunjava uvjet da postoji vozilo koje ima dostatni kapacitet da tog korisnika

posluži. Ako ima više takvih vozila i korisnika, selekcija se zaustavi na prvom korisniku i

vozilu koje pronađe.

SELECT VEHICLE v, CUSTOMER c

WHERE

c.TIMESVISITED = 0 v.CAPACITYLEFT - c.Q >= 0 MINIMISE DISTANCE(v.POSITION, c) ENDSELECT

U primjeru je postavljen i dodatni uvjet da se među svim selektiranim vozilima odabere

ono vozilo i onaj korisnik koji su najbliži. Ako takvih vozila i korisnika ima više, a na

identičan način zadovoljavaju uvjete, SELECT odabire onog korisnika i ono vozilo koji su

prvi pronađeni.

Page 52: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-52

5.3.2. Standardne programske strukture: petlje i uvjetne naredbe

EBNF notacija za prikaz naredbi ponavljanja i uvjetnih naredbi programskog jezika

Mars dana je u (Prilogu 6).

Ovdje su prikazani sintaksni dijagrami samo za često korištenu uvjetnu struktura IF i

tri vrste petlje:

- FOR struktura

- DO WHILE struktura

- WHILE ENDWHILE struktura

- IF ELSE struktura

Page 53: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-53

5.3.3. Naredbe lokalne pretraga

Programski jezik Mars omogućava lokalnu pretragu u 2OPT i λ okolini poglavlje (4.2.1)

kao i implementaciju pojedinih strategija pretrage poglavlje (6.1.7). Lokalna pretraga je

huristička metoda za rješavanje problema, koja zahtijeva da u svakom trenutku raspolažemo

jednim dopustivim rješenjem problema. To tekuće rješenje nastoji se poboljšati. Promatra se

susjedstvo tekućeg rješenja, odnosno skup rješenja koja su blizu tekućem rješenju u smislu da

se susjedna rješenja mogu dobiti nekom jednostavnom transformacijom tekućeg rješenja.

Tijekom pretrage bira se najbolje rješenje iz okoline strategijom ukupno najbolji GB (Global

Best ) (Program 6.10) ili rješenje koje je bolje od tekućeg strategijom prvi najbolji FB (First

Best) (Program 6.11). Postupak se nastavlja dok god je moguće, odnosno sve dok ne dobijemo

tekuće rješenje u čijoj okolini nema boljeg rješenja [43]. Prema ovako postavljenom opisu

lokalne pretrage izrađene su naredbe programskog jezika Mars i to naredbe za pretrage u λ i

2OPT okolini.

Na početku pretrage λ susjedstva definira se parametar λ, naredbom INITLAMBDA n,

gdje je parametar n dubina pretrage. Najčešće n iznosi 2, pa se slijednim odabirom [42],

generiraju ovi operatori (0,1), (1,0), (1,1), (0,2), (2,0), (2,1), (1,2) i (2,2). Svakim pozivanjem

naredbe LAMBDANEXT generira se novo rješenje iz susjedstva na način da se modificira

trenutno rješenje djelovanjem operatora odnosno izmjenama nad transportnim varijablama

ARC. Kako bi se mogla odrediti veličina susjedstva, nakon pokretanje naredbe

INITLAMBDA rezerviranoj varijabli sustava LAMBDACOUNT, sustav pridjeljuje

vrijednost broja iteracija potrebnih da se pretraži cijela okolina. Rezervirana varijabla sustava

je varijabla koje se ne deklarira na početku programa, već njen sadržaj upisuje i po potrebi

obnavlja sustav i rezervirana je isključivo kao varijabla čiji se sadržaj programski čita, a samoj

varijabli nije moguće programski pridijeliti vrijednost. Rezervirana varijabla sustava

LAMBDAEND predstavlja zastavicu koja ima vrijednost 1 u trenutku kada se u potpunosti

pretraži cijelo susjedstvo. Zastavica predstavlja binarnu logičku varijablu koja signalizira da li

se određeni uvjet ispunio ili ne. Da bi se omogućilo što fleksibilnije vođenje pretrage

metahurističkim metodama (gdje se uzimaju u obzir i rješenja koja ne ispunjavaju sve uvijete)

sadržaj rezervirane varijable sustava CAPACITYOK obnavlja se nakon svake iteracije i služi

za kontrolu ispunjavanja uvjeta CVRP-a; odnosno kontrolira se da li sva vozila poslužuju

korisnike na način da ukupni kapacitet potreban vozilu za posluživanje korisnika u ruti ne

prelazi definirani kapacitet samog vozila. U trenutku kada je pretraga susjedstva gotova

Page 54: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-54

potrebno je naredbom LAMBDAFINISH osloboditi zauzete resurse računala potrebne da bi

se generirala pretraga susjedstva.

Pretraga 2OPT susjedstva poglavlje (4.2.1) započinje se naredbom INITTWOOPT.

Rezervirana varijabla sustava TWOOPTCOUNT nakon inicijalizacije pretrage sadrži broj

iteracija potrebnih da se pretraži cijela 2OPT okolina. Zastavica TWOOPTEND postavlja se

na vrijednost 1 u trenutku kada je cijela 2OPT okolina pregledana, a svaka slijedeća iteracija

generira se naredbom TWOOPTNEXT. U trenutku kada je pretraga 2OPT susjedstva

gotova potrebno je naredbom TWOOPTFINISH osloboditi zauzete resurse računala

potrebne da bi se generirala pretraga susjedstva.

Za privremeno pohranjivanje tekućeg rješenja odnosno skupa ruta koristi se naredba

PUTSOLUTION varijabla, a za učitavanje pohranjenih ruta u sustav koristi se naredba

GETSOLUTION varijabla.

5.4. Tipovi podataka programskog jezika

Mars podržava šest tipova podataka od kojih su tri tipa usko vezana za problem

usmjeravanja vozila i zbog specifičnosti uporabe ta tri tipa se nazivaju tipovi podataka

transportnih varijabli. Preostala tri tipa podataka su tipovi NUMBER, STRING i SOLUTION.

Svaku varijablu je potrebno deklarirati prije upotrebe, najčešće radi preglednosti, na početku

programa.

Jezični tumač pisan je u programskom jeziku Java. Java je objektno usmjereni

programski jezik nove generacije, opće prihvaćen i u upotrebi od 1995. godine. Svojom

pojavom definirao je novi pristup programiranju koji je neovisan od operativnog sustava i

strojnog koda računala na kojem se programi pisani u Java programskom jeziku izvršavaju.

Tip podataka NUMBER pohranjuje realni broj s 15 značajnih znamenaka u rasponu od

10-324 do 10308 u 64 bitnu kodnu riječ, što odgovara u Javi tipu double. Tip podataka STRING

predstavlja po volji velik niz slovno brojčanih znakova koji završava terminirajućim znakom.

U varijablu tipa SOLUTION pohranjuje se rješenje problema, odnosne sve transportne

varijable.

Tipovi transportnih varijabli CUSTOMER, VEHICLE i ARC predstavljaju korisnike,

vozila i usmjerene lukove između pojedinih korisnika odnosno minimalne prevaljene putove

između dva korisnika koje prelazi određeno vozilo. Sadržaj ovih varijabli u pravilu se zadaje

Page 55: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-55

prije izvršavanja programa u samom radnom okruženju preko grafičkog sučelja ili

učitavanjem konkretnog VRP problema iz datoteke. Varijable CUSTOMER, VEHICLE i

ARC koje dohvaćamo preko indeksa, npr. (CUSTOMER (0), VEHICLE (1), ARC (

CUSTOMER(0), CUSTOMER (1)) ), nije potrebno deklarirati jer predstavljaju već definirani

VRP problem.

Za potrebe programa moguće je povećati broj varijabli, tipa CUSTOMER, VEHICLE i

ARC, i dodatno ih deklarirati. Tako deklarirane varijable neće biti vidljivi u Venerinom

grafičkom radnom okruženju (Prilog 2), jer predstavljaju pomoćne varijable, a ne sadržaj

samog VRP problema koji se rješava. Takve transportne varijable dohvaćamo preko imena

koje navedemo u deklaraciji i one imaju svoje vrijednosti samo za vrijeme izvršavanja

programa. U slučaju da želimo izvršiti neku jednostavnu strukturu naredbi sastavljenu od

SELECT naredbe ili FOR petlje, moguće je zaobići deklariranje pomoćnih varijabli, jer te

dvije programske strukture po potrebi provode inicijalizaciju i deklaraciju samostalno. Takvim

pristupom moguće je napraviti brzu interakciju između sustava i korisnika sustava i dobiti

odgovor na jednostavne upite sustavu bez potrebe deklariranja varijabli.

Tip varijabli CUSTOMER i VEHICLE ukazuje na numeričke podatke koji su usko

vezani za definiciju VRP, CVRP, DVRP i VRPTW problema. Karakteristike polja prikazane

su u tablici (Tablica 1) za tip CUSTOMER i u (Tablica 2) za tip VEHICLE. Treći tip skupa

transportnih varijabli je tip ARC koji predstavlja luk u usmjerenom grafu i koristi se najčešće

u programima putem naredbi dodavanja luka ADDARC, brisanja luka DELETEARC ili

indirektno s naredbom pomicanja vozila MOVE VEHICLE (i). Karakteristike tipa ARC

prikazane su u tablici (Tablica 3).

POLJE TIP OPIS

X NUMBER X koordinata Y NUMBER Y koordinata Q NUMBER zahtjev za dostavom/prikupljanjem T1 NUMBER najranije vrijeme početka posluživanja T2 NUMBER najkasnije vrijeme završetka posluživanja T3 NUMBER trajanje posluživanja INDEX NUMBER indeks korisnika (redni broj) TIMESVISITED NUMBER broj posjeta korisniku

Tablica 1. CUSTOMER – transportna varijabla koja predstavlja korisnika

Page 56: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 5-56

POLJE TIP OPIS

CAPACITY NUMBER kapacitet vozila CAPACITYLEFT NUMBER preostali kapacitet vozila ROUTELENGTH NUMBER ukupan pređeni put vozila INDEX NUMBER indeks vozila (redni broj) POSITION CUSTOMER korisnik u kojem se vozilo trenutno nalazi

Tablica 2. VEHICLE – transportna varijabla koja predstavlja vozilo

POLJE TIP OPIS

LENGTH NUMBER duljina veze FROM CUSTOMER polazni korisnik TO CUSTOMER odredišni korisnik VEHICLE VEHICLE vozilo koji je vlasnik veze

Tablica 3. ARC – transportna varijabla koja predstavlja luk usmjerenog grafa

Page 57: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-57

6. Algoritmi heurističkih metoda kodirani programskim jezikom Mars

Heurističke metode opisane u poglavljima (od 4.1.1 do 4.2.1) kodirane se u

programskom jeziku Mars i testirane na standardnim ispitnim zadacima za probleme

usmjeravanja vozila s kapacitivnim ograničenjima (Tablica 4): E051-05e, E076-10e i E101-08e

[2]. Ulazni podaci za standardni ispitni zadatak E051-05e nalazi se u (Prilog 4 i 5) Svi dobiveni

rezultati uspoređeni su s do sada najboljim objavljenim heurističkim rješenjima [11].

ISPITNI ZADATAK

KAPACITETVOZILA

BROJKORISNIKA

NAJBOLJE RJEŠENJE

E051-05e 160 50 524,61 E076-10e 140 75 835,26 E101-08e 140 100 826,14

Tablica 4. Standardni ispitni CVRP zadaci

6.1.1. 2OPT Algoritam lokalne pretrage

Jedna od najefikasnijih metoda lokalne pretrage je 2OPT lokalna pretraga poglavlje

(4.2.1). U programskom jeziku Mars implementirane su naredbe opisane u poglavlje (5.3.3) za

obavljanje lokalne pretrage u 2OPT okolini. Program 6.1 pretražuje cijelo 2OPT susjedstvo i

u slučaju pronalaska rješenje koje je izvedivo, s obzirom na kapacitet vozila i predstavlja manji

ukupni prijeđeni put s obavljenim svim postavljenim zadacima posluživanja, zamjenjuje

tekuće rješenje s novo pronađenim rješenjem.

Pretraga susjedstva je brza, te se najčešće koristi kao zadnji korak nakon svake

heurističke metode. Rezultati izvedenih heurističkih algoritama, nad standardnim ispitnim

zadacima, dodatno su poboljšani 2OPT algoritmom (Program 6.1).

Page 58: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-58

'-----------------------------------------------------------------------------------' 'naziv algoritma : 2OPT ALGORITAM ' '-----------------------------------------------------------------------------------' SOLUTION savedsolution, bestsolution NUMBER foundbetter=0 ' da li je uopce nadjeno ijedno bolje rjesenje NUMBER better=1 NUMBER iteracija=0, bestcost=0,COUNT=0 PUTSOLUTION savedsolution WHILE better=1 iteracija=iteracija+1 bestcost=TOTALLENGTH INITTWOOPT MESSAGE "pretraga duzine: "+TWOOPTCOUNT COUNT=0 better=0 ' postoji li bolje rjesenje WHILE NOT TWOOPTEND IF TOTALLENGTH < bestcost AND CAPACITYOK PUTSOLUTION bestsolution bestcost=TOTALLENGTH better=1 MESSAGE "poboljsanje: "+bestcost REPAINT ENDIF TWOOPTNEXT REPAINT COUNT=COUNT+1 ENDWHILE MESSAGE "pretrazeno: "+COUNT TWOOPTFINISH IF better=1 ' postavljam trenutni solution na nadjeni GETSOLUTION bestsolution REPAINT MESSAGE "novi najbolji ("+iteracija+"):"+TOTALLENGTH foundbetter=1 ENDIF ENDWHILE IF foundbetter=0 GETSOLUTION savedsolution ELSE GETSOLUTION bestsolution ENDIF

Program 6.1 Algoritam 2OPT lokalne pretrage

Page 59: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-59

6.1.2. Algoritam NNH metode umetanja najbližeg susjeda

Metoda umetanja najbližeg susjeda NNH (Nearest Neighbour Heuristic) opisana je u

poglavlju (4.1.1) kao konstruktivna heuristička metoda. Prilikom kodiranja ovog algoritma

(Program 6.2) korištena je upravljačka struktura izbora SELECT, kako bi se pronašao

korisnik koji je najbliži u odnosu na zadnjeg u rutu umetnutog korisnika.

'----------------------------------------------------------------------------------' 'naziv algoritma : UMETANJA NAJBLIŽEG SUSJEDA ' '----------------------------------------------------------------------------------' WHILE NOT SOLVED SELECT VEHICLE v, CUSTOMER c WHERE NOT EQUALS(v.POSITION, c) c.TIMESVISITED = 0 v.CAPACITYLEFT - c.Q >= 0 MINIMISE DISTANCE(v.POSITION, c) ENDSELECT IF NOT FOUND(c) BREAK ENDIF MOVE v, c ENDWHILE FOR i = 0 TO VEHICLECOUNT-1 MOVE VEHICLE(i), CUSTOMER(0) ENDFOR

Program 6.2 Algoritam NNH metode umetanja najbližeg susjeda

Kroz upravljačku strukturu SELECT zahtijeva se od podrške za heurističke

optimizacije programskog okruženja pronalaženje neposjećenog korisnika c

(c.TIMEVISITED=0) i rute odnosno vozila v dostatnog kapaciteta (v.CAPACITYLEYFT-

c.Q >= 0), koji su minimalno udaljeni od zadnje umetnutog korisnika rute (MINIMISE

DISTANCE (v.POSITION,c)).

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO NNH

RJEŠENJE

NNHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:01 5 696 618 524,61 15% E076-10e 00:04 11 1134 1073 835,26 22% E101-08e 00:08 11 1232 1135 826,14 27%

Tablica 5. Rezultati izvođenja NNH i 2OPT algoritma nad standardnim ispitnim zadacima

Page 60: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-60

U tablici (Tablica 5) prikazani su rezultati primjene metode najbližeg susjeda, odnosno

NNH algoritma, pri rješavanju standardnih ispitnih zadataka za probleme usmjeravanja vozila

s kapacitivnim ograničenjima. Prosječno odstupanje rezultata ove metode u odnosu na

najbolje postignute rezultate svih do sada u literaturi testiranih metoda, za ovu grupu testova

je oko 21%. Najbolji rezultat je postignut za ispitni zadatak E051-05e, gdje je u odnosu na

početno rješenje uz primjenu 2OPT algoritma rezultat poboljšan za 11% (Slika 16). Prosječno

poboljšanje koje se postiže 2OPT lokalnom pretragom nad početnim NNH rješenjem iznosi

7,5%.

Slika 16. Izgled rješenja ispitnog zadatka E051-05e a) prije i b) poslije 2OPT optimizacije

Page 61: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-61

6.1.3. Algoritam FAH dodavanje ukupno najudaljenijeg susjeda

Metoda dodavanja najudaljenijeg susjeda FAH (Farthest Adition Heuristic) opisana je u

poglavlju (4.1.2) kao konstruktivna heuristička metoda. Implementacija ove metode u

dvoprolaznom Sweep algoritmu provedena je u poglavlju (6.1.5), (Program 6.3). Rezultati

direktno primijenjene FAH metode nad ispitnim rezultatima ispod su prosječnih rezultata

(Tablica 6) za uobičajene konstruktivne heurističke algoritme. Međutim sami algoritam je

predložak za naredbu TSPOPT programskog jezika Mars, koja daje dobre rezultate kao druga

faza Sweep algoritma. Razlog ovako selektivne uspješnosti metode proizlazi iz same ideja

konstrukcije rute dodavanjem najudaljenijih susjeda koja dobro funkcionira samo u TSP

okruženju. Uspoređivanjem rezultata dobivenih primjenom NNH i FAH algoritma, može se

primijetiti da su rezultati NNH algoritma značajno bolji, ali je FAH algoritam riješio problem

E076-10e s jednim vozilom manje.

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO FAH

RJEŠENJE

FAHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 01:35 5 783 783 524,61 33% E076-10e 08:05 10 1397 1387 835,26 40% E101-08e 28:01 11 1714 1714 826,14 52%

Tablica 6. Rezultati izvođenja FAH algoritma nad ispitnim zadacima

Page 62: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-62

'-----------------------------------------------------------------------------------' 'naziv algoritma : DODAVANJE UKUPNO NAJUDALJENIJEG SUSJEDA ' '-----------------------------------------------------------------------------------' CLEAR CUSTOMER skladiste=CUSTOMER(0),c ARC st_no, novi NUMBER count_veh, best_len, best_index, best_veh, solvedx, temp_len, count_veh=0 '---konstrukcija pocetne rute---------- SELECT CUSTOMER c WHERE MAXIMISE DISTANCE(skladiste, c) ENDSELECT MOVE vehicle(0), c MOVE vehicle(0), skladiste '---konsturiranje ostalih ruta--------- WHILE NOT SOLVED best_len = 0 best_index=0 best_veh=0 solvedx=0 FOR no_veh = 0 TO count_veh 'zapocinje petlja za sve nerutirane korisnike FOR j= 0 TO CUSTOMERCOUNT-1 temp_len=0 IF CUSTOMER(j).TIMESVISITED = 0 AND VEHICLE(no_veh).CAPACITYLEFT >=

CUSTOMER(j).Q 'postavljamo st_no na vezu koja pocinje u skladistu i koristi vozilo u no_veh SELECT ARC st_no WHERE st_no.FROM.INDEX=0 st_no.VEHICLE.INDEX=no_veh ENDSELECT novi = st_no DO temp_len=temp_len + DISTANCE(novi.FROM, CUSTOMER(j)) '---novi ARC je onaj koji se nastavlja u ruti iza st_no--------- SELECT ARC novi WHERE EQUAL VEHICLE (st_no.VEHICLE, novi.VEHICLE) EQUAL CUSTOMER (novi.FROM,st_no.TO) ENDSELECT st_no= novi LOOPIF NOT EQUAL CUSTOMER (novi.FROM, skladiste) IF (temp_len > best_len) best_len = temp_len best_index =j best_veh=no_veh solvedx=1 ENDIF ENDIF ENDFOR ENDFOR IF solvedx=0 count_veh = count_veh+1 SELECT CUSTOMER c WHERE c.TIMESVISITED = 0 VEHICLE(count_veh).CAPACITYLEFT - c.Q >= 0 MAXIMISE DISTANCE(skladiste, c) ENDSELECT MOVE VEHICLE(count_veh), c MOVE VEHICLE(count_veh), skladiste ELSE SELECT ARC veza WHERE veza.VEHICLE.INDEX=best_veh MINIMISE DISTANCE (veza.FROM, CUSTOMER(best_index))+ DISTANCE (veza.TO, CUSTOMER (best_index)) -veza.LENGTH ENDSELECT ADDARC VEHICLE(best_veh), veza.FROM, CUSTOMER (best_index) ADDARC VEHICLE(best_veh), CUSTOMER (best_index), veza.TO DELARC veza solvedx=1 ENDIF ENDWHILE

Program 6.3 Algoritam FAH dodavanje ukupno najudaljenijeg susjeda

Page 63: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-63

6.1.4. Algoritam NAH metode najbližeg dodavanja

Metoda najbližeg dodavanja opisana je u poglavlju (4.1.3) i predstavlja proširenje

metode umetanja najbližeg korisnika gdje se umeće ukupno najbliži korisnik u odnosu na sve

već umetnute korisnike rute. Prilikom konstrukcije algoritma za ovu metodu koriste se dvije

upravljačke strukture izbora SELECT. Prva struktura SELECT prema kriteriju odabira (Slika

8) izabire onu vezu i korisnika koji imaju najmanju cijenu umetanja. Druga SELECT

struktura započinje novu rutu odabirom novog najbližeg korisnika spremištu, ako svi

korisnici nisu posluženi. Kodirani NAH algoritam (Program 6.4) je unatoč nešto složenijoj

strukturi u odnosu na prethodne programe kodiran pregledno i čitko. U ovom programu

SELECT naredbe su korištene dvojako; za pronalaženje minimalne vrijednosti i za provjeru

postojanja neposjećenih korisnika.

'-----------------------------------------------------------------------------------' 'naziv algoritma : ALGORITAM NAJBLIŽEG DODAVANJA ' '-----------------------------------------------------------------------------------' CLEAR NUMBER brojvoz=-1, kreiraj =1 WHILE NOT SOLVED IF kreiraj =1 brojvoz=brojvoz+1 SELECT CUSTOMER susjed1 WHERE susjed1.TIMESVISITED = 0 MINIMISE DISTANCE(susjed1, CUSTOMER(0)) ENDSELECT IF NOT FOUND (susjed1) BREAK ELSE kreiraj=0 MOVE VEHICLE(brojvoz), susjed1 MOVE VEHICLE(brojvoz), CUSTOMER(0) ENDIF ENDIF SELECT CUSTOMER korisnik, ARC veza WHERE korisnik.TIMESVISITED = 0 VEHICLE (brojvoz).CAPACITYLEFT - korisnik.Q >= 0 veza.VEHICLE.INDEX=brojvoz MINIMISE DISTANCE(veza.FROM, korisnik) + DISTANCE(veza.TO, korisnik) -

veza.LENGTH ENDSELECT IF NOT FOUND(korisnik) kreiraj = 1 ELSE ADDARC VEHICLE(brojvoz), veza.FROM, korisnik ADDARC VEHICLE(brojvoz), korisnik, veza.TO DELARC veza ENDIF ENDWHILE

Program 6.4 Algoritam NAH metode najbližeg dodavanja

U tablici (Tablica 7) prikazani su rezultati dobiveni primjenom NAH algoritma.

Prosječno odstupanje rezultata ove metode, u odnosu na najbolje postignute rezultate svih do

sada u literaturi testiranih metoda, za ovu grupu testova je oko 30%, što je za 9% lošije od

NNH algoritma.

Page 64: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-64

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO NAH

RJEŠENJE

NAHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:04 5 686 783 524,61 24% E076-10e 00:12 10 1186 1165 835,26 28% E101-08e 00:40 11 1350 1324 826,14 38%

Tablica 7. Rezultati izvođenja NAH algoritma nad ispitnim zadacima

6.1.5. Algoritam dvoprolazne Sweep metoda

Dvoprolazna Sweep metoda opisana je u poglavlju (4.1.4) i kodirana u programskom

jeziku Mars (Program 6.5, Program 6.6, Program 6.7, Program 6.8). Sva tri programa imaju

jednaku prvu faza Sweep algoritma u kojoj se vrši grupiranje korisnika po kriteriju

minimalnog kuta (Slika 9) i dostatnog kapaciteta vozila potrebnog da posluži sve korisnike u

grupi.

Za sve tri implementacije algoritma karakteristični je dio koda (Program 6.5) odnosno

prva faza algoritma i korištenje procedure ObrisiNekoristenaVozila. U prvoj fazi algoritma

naredbom INITPOLAR prelazi se na računanje u polarnim koordinatama, a uz pomoć

naredbi SELECT i GETANGLE vrši se grupiranje korisnika. U drugom prolazu koriste se

više metoda pronalaženja najboljeg slijeda obilaska korisnika pojedinim vozilom. Može se

uočiti da se prvom fazom Sweep algoritma, VRP problem razložio na više TSP problema, što

predstavlja potencijalnu mogućnost distribuirane izvedbe Sweep alogritma.

'-------------' ' PRVI PROLAZ ' '-------------' CUSTOMER skladiste = CUSTOMER (0) NUMBER test = 1, testx, brojvoz=0, kapacitet = VEHICLE(0).CAPACITYLEFT INITPOLAR DO SELECT CUSTOMER najmanjikut, VEHICLE slobodan WHERE najmanjikut.TIMESVISITED = 0 slobodan.CAPACITYLEFT - najmanjikut.Q >= 0 MINIMISE GETANGLE (najmanjikut) ENDSELECT IF FOUND (najmanjikut) MOVE slobodan, najmanjikut ELSE test = 0 ENDIF LOOPIF test=1 PROCEDURE ObrisiNekoristenaVozila FOR i=VEHICLECOUNT-1 TO 0 STEP -1 IF VEHICLE(i).CAPACITY = VEHICLE(i).CAPACITYLEFT DELVEHICLE VEHICLE(i) ENDIF ENDFOR ENDPROCEDURE

Program 6.5 Zajednički dio koda porodice Sweep algoritama

Page 65: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-65

Prvi pristup rješavanja TSP problema (Program 6.6) u drugoj fazi Sweep metode

motiviran je intuitivnim i najbržim načinom konstrukcije rute odnosno dodavanja najbližeg

susjeda. Već poznati NNH algoritam (Program 6.2) prilagođen je za potrebe konstrukcije rute

jednog vozila tj. za rješavanje TSP problema.

'----------------------------' ' DRUGI PROLAZ ' ' MODIFICIRANI NNH ALGORITAM ' '----------------------------' ObrisiNekoristenaVozila brojvoz= USEDVEHICLECOUNT FOR i = 0 TO brojvoz testx = 1 DO SELECT ARC veza WHERE veza.VEHICLE.INDEX=i ENDSELECT IF NOT FOUND (veza) testx = 0 BREAK ELSE DELARC veza ENDIF LOOPIF testx = 1 WHILE NOT SOLVED SELECT VEHICLE v, CUSTOMER c WHERE NOT EQUAL CUSTOMER (v.POSITION, c) c.TIMESVISITED = 0 v.CAPACITYLEFT - c.Q >= 0 MINIMISE DISTANCE(v.POSITION, c) ENDSELECT IF NOT FOUND(c) BREAK ENDIF MOVE v, c ENDWHILE ENDFOR FOR jx = 0 TO VEHICLECOUNT-1 MOVE vehicle(jx), skladiste ENDFOR

Program 6.6 Sweep algoritam i modificirani NNH algoritam

U tablici (Tablica 8) prikazani su rezultati dobiveni primjenom Sweep NNH algoritma

nad ispitnim zadacima.

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO SNNH

RJEŠENJE

SNNHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:12 5 685 609 524,61 14% E076-10e 00:44 10 1068 948 835,26 12% E101-08e 01:52 11 1350 1244 826,14 34%

Tablica 8. Rezultati izvođenja Sweep - NNH algoritma

Page 66: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-66

Ako koristimo modificirani NAH algoritam (Program 6.4), gdje se umeće ukupno

najpovoljniji korisnik s obzirom na do tada umetnute korisnike u novoj ruti (Slika 8),

Poglavlje (4.1.3), ukupni rezultat se može dodatno poboljšati. Ovakav pristup rješavanja TSP

problema koristi se u (Program 6.7).

'----------------------------' ' DRUGI PROLAZ ' ' MODIFICIRANI NAH ALGORITAM ' '----------------------------' ObrisiNekoristenaVozila brojvoz= USEDVEHICLECOUNT FOR i = 0 TO brojvoz-1 testx = 1 DO SELECT ARC veza WHERE veza.VEHICLE.INDEX=i ENDSELECT IF NOT FOUND (veza) testx = 0 BREAK ELSE DELARC veza ENDIF LOOPIF testx = 1 SELECT VEHICLE v, CUSTOMER c WHERE NOT EQUAL CUSTOMER (v.POSITION, c) c.TIMESVISITED = 0 v.CAPACITYLEFT - c.Q >= 0 v.index=i MINIMISE DISTANCE(v.POSITION, c) ENDSELECT MOVE v, c MOVE v, skladiste testx = 1 WHILE testx=1 SELECT CUSTOMER korisnik, ARC veza WHERE korisnik.TIMESVISITED = 0 VEHICLE (i).CAPACITYLEFT - korisnik.Q >= 0 veza.VEHICLE.INDEX=i MINIMISE DISTANCE(veza.FROM, korisnik) + DISTANCE(veza.TO, korisnik) -

veza.LENGTH ENDSELECT IF NOT FOUND(korisnik) testx=0 ELSE ADDARC VEHICLE(i), veza.FROM, korisnik ADDARC VEHICLE(i), korisnik, veza.TO DELARC veza ENDIF ENDWHILE ENDFOR

Program 6.7 Sweep algoritam i modificirani NAH algoritam

U tablici (Tablica 9) prikazni su rezultati Sweep NAH algoritam postignuti nad ispitnim

zadacima:

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO SNAH

RJEŠENJE

SNAHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:18 5 618 588 524,61 11% E076-10e 01:11 10 1087 1072 835,26 22% E101-08e 03:24 11 1287 1254 826,14 34%

Tablica 9. Rezultati izvođenja Sweep - NAH algoritma

Page 67: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-67

Kada za rješavanja TSP problema u drugoj fazi Sweep algoritma upotrijebimo FAH

algoritam, dodatno ubrzan direktnom implementacijom FAH algoritma naredbom TSPOPT

programskog jezika Mars, dobivaju se najbolji rezultati.

'----------------------------' ' DRUGI PROLAZ ' ' MODIFICIRANI FAH ALGORITAM ' '----------------------------' ObrisiNekoristenaVozila brojvoz= USEDVEHICLECOUNT FOR i = 0 TO brojvoz testx = 1 DO SELECT ARC veza WHERE veza.VEHICLE.INDEX=i ENDSELECT IF NOT FOUND (veza) testx = 0 BREAK ELSE DELARC veza ENDIF LOOPIF testx = 1 ' WHILE NOT SOLVED SELECT VEHICLE v, CUSTOMER c WHERE NOT EQUAL CUSTOMER (v.POSITION, c) c.TIMESVISITED = 0 v.CAPACITYLEFT - c.Q >= 0 MINIMISE DISTANCE(v.POSITION, c) ENDSELECT IF NOT FOUND(c) BREAK ENDIF MOVE v, c ENDWHILE ENDFOR FOR jx = 0 TO VEHICLECOUNT-1 MOVE vehicle(jx), skladiste TSPOPT vehicle (jx) ENDFOR

Program 6.8 Sweep algoritam i modificirani FAH algoritam

U tablici (Tablica 10) prikazni su rezultati Sweep FAH algoritam postignuti nad ispitnim

zadacima:

ISPITNI ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO SFAH

RJEŠENJE

SFAHI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:10 5 589 589 524,61 11% E076-10e 00:45 10 951 948 835,26 12% E101-08e 1:54 11 1255 1254 826,14 34%

Tablica 10. Rezultati izvođenja Sweep - FAH algoritma

Page 68: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-68

Ukupni rezultati koje postižu sva tri Sweep algoritma prikazani su u tablici (Tablica 11)

ALOGORITAM

UKUPNO VRIJEMEIZVRŠAVANJA

(MIN:SEC)

UKUPAN ZBROJ

VOZILA

UKUPAN ZBROJ

RJEŠENJA

PROSJEČNO ODSTUPANJE OD

NAJBOLJEG

Sweep -NNH 02:48 26 2801 20% Sweep -NAH 04:53 26 2914 22% Sweep -FAH 02:49 26 2791 19%

Tablica 11. Rezultati izvođenja Sweep algoritama

Slika 17. Odnos ukupnih duljina ruta i vremena potrebnih za izvođenje algoritama

Rezultati koje postižu Sweep algoritmi prikazani su na slici (Slika 17). Najsporiji je

Sweep algoritam koji u drugoj fazi rješava TSP problem NAH metodom poglavlje (4.1.3).

Rezultati koje postiže ovaj algoritma na ispitnim zadacima su u prosjeku 22% lošiji od do

sada najboljih objavljenih rezultata (Tablica 4). Nešto bolje rezultate postiže Sweep algoritam

koji u drugom prolazu algoritma rješava TSP probleme konstrukcijom rute po kriteriju

dodavanje najbližeg korisnika odnosno NNH metodom poglavlje (4.1.1). Rezultati ovog

algoritma odstupaju 20% od najboljih objavljenih rezultata. Najbolji rezultati (19%

odstupanja od najboljih rezultata) postignuti su kada se TSP problem rješava FAH metodom

poglavlje (4.1.2). Ova je metoda je zbog složenosti najsporija, ali je direktnim kodiranjem kroz

naredbu TSPOPT značajno ubrzana i po vremenu izvođenja usporediva sa ostalim

implementacijama.

Page 69: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-69

6.1.6. Algoritam «Clark and Wright» metode

Ideja rada "Clark and Wright" metode opisane su u poglavlju (4.1.5). Ova metoda

kodirana je u programskom jeziku Mars (Program 6.9).

'-----------------------------------------------------------------------------------' 'naziv algoritma : ALGORITAM CLARK-WRIGHT METODE ' '-----------------------------------------------------------------------------------' CLEAR DodajVozila CUSTOMERCOUNT, 160 CUSTOMER depot = CUSTOMER(0) NUMBER kraj, kraj0=0 FOR i = 1 TO CUSTOMERCOUNT-1 ADDARC VEHICLE (i-1), depot, CUSTOMER (i) ADDARC VEHICLE (i-1), CUSTOMER (i), depot ENDFOR DO SELECT ARC arc1, ARC arc2 WHERE EQUAL CUSTOMER (arc1.TO, depot) EQUAL CUSTOMER (arc2.FROM, depot) NOT EQUAL VEHICLE(arc1.VEHICLE, arc2.VEHICLE) arc2.VEHICLE.CAPACITY-arc2.VEHICLE.CAPACITYLEFT <

arc1.VEHICLE.CAPACITYLEFT MAXIMISE arc1.LENGTH + arc2.LENGTH - DISTANCE(arc1.FROM, arc2.TO) ENDSELECT IF FOUND (arc1) MESSAGE "MAX saving -> " + arc1.FROM.INDEX + " na " + arc2.TO.INDEX kraj = 0 DO SELECT ARC arc3 WHERE NOT EQUAL ARC (arc3, arc2) EQUAL VEHICLE (arc3.VEHICLE, arc2.VEHICLE) ENDSELECT IF FOUND (arc3) ADDARC arc1.vehicle, arc3.FROM, arc3.TO DELARC arc3 ELSE kraj = -1 ADDARC arc1.VEHICLE, arc1.FROM, arc2.TO DELARC arc1 DELARC arc2 ENDIF LOOPIF kraj = 0 ELSE kraj0=-2 ENDIF LOOPIF kraj0 = 0 ObrisiNekoristenaVozila PROCEDURE DodajVozila(NUMBER broj, NUMBER kapacitet) ObrisiSvaVozila FOR i=0 TO broj-1 ADDVEHICLE kapacitet ENDFOR ENDPROCEDURE PROCEDURE ObrisiNekoristenaVozila FOR i=VEHICLECOUNT-1 TO 0 STEP -1 IF VEHICLE(i).CAPACITY = VEHICLE(i).CAPACITYLEFT DELVEHICLE VEHICLE(i) ENDIF ENDFOR ENDPROCEDURE PROCEDURE ObrisiSvaVozila FOR i=VEHICLECOUNT-1 TO 0 STEP -1 DELVEHICLE VEHICLE(i) ENDFOR ENDPROCEDURE

Program 6.9 Clark & Wright algoritam

Page 70: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-70

U prvom dijelu programa FOR strukturom ponavljanja stvara se onoliko ruta koliko

ima i korisnika, svaka od ruta sastoji se samo od spremišta i jednog korisnika. Nakon

inicijalizacije, prva SELECT naredba odabire one rute koje imaju dovoljni kapacitet jednog

od vozila da se izvrši ujedinjenje ruta, a da se pri tome maksimalno uštedi u duljini ukupno

prijeđenog puta vozila. Slijedeća SELECT naredba ujedinjuje dvije rute i smanjuje broj

potrebnih vozila za 1. Odabiri i ujedinjenje ruta obavljaju se dok je god moguće postići

uštedu.

ISPITNI

ZADATAK

VRIJEME IZVRŠAVANJA

(MIN:SEC)

BROJVOZILA

POČETNO CW

RJEŠENJE

CWI

2OPT

NAJBOLJE RJEŠENJE

ODSTUPANJEOD

NAJBOLJEG E051-05e 00:13 6 592 592 524,61 11% E076-10e 00:42 10 904 893 835,26 6% E101-08e 02:15 11 1037 1031 826,14 20%

Tablica 12. Rezultati izvođenja Clark & Wright algoritma nad ispitnim zadacima

Clark & Wright metoda postiže prosječno 12% lošije rezultate u odnosu na najbolje

postignute rezultate svih do sada u literaturi testiranih metoda, za ovu grupu testova (Tablica

12). Jedan od rezultata (Slika 19) za ispitni zadatak E076-10e približio se na 6% odstupanja od

do sada objavljenih rezultata. Vrijeme izvršavanja ovog algoritma je približno istog reda

veličine kao i kod svih ostalih prikazanih algoritama.

Slika 18. Rješenja ispitnog zadatka E076-10e dobivenog Clark & Wright algoritma i 2OPT optimizacije

Page 71: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-71

6.1.7. Algoritam λ lokalne pretrage

Lokalna pretraga λ okoline [44], uz dubinu pretraga λ=2 predstavlja poboljšanje

konstruktivnih heurističkih algoritama gdje se izmjenama ili preseljenjem pojedinog segmenta

jedne rute u drugu generira susjedstvo u kojem se vrši pretraga. '-----------------------------------------------------------------------------------' 'naziv algoritma : ALGORITAM λ LOKALNE PRETRAGE STRATEGIJOM UKUPNO NAJBOLJI ' '-----------------------------------------------------------------------------------' SOLUTION savedsolution SOLUTION bestsolution PUTSOLUTION savedsolution NUMBER foundbetter=0, pocetak = TOTALLENGTH, better=1, iteracija=0, prolaz = 1,

brojac=0, linija=25 NUMBER ogranicenje=1000001, jedanesest=0, bestcoast = 0 MESSAGE " starategija SILAZNI SPUST, ogranicenje --> " + ogranicenje WHILE better=1 bestcoast=TOTALLENGTH INITLAMBDA 2 ' inicijaliziram lambda pretragu dubine 2 better=0 ' postoji li bolje rjesenje jedanesest=jedanesest+1 message "Biti ce ukupno iteracija --> " + LAMBDACOUNT WHILE (NOT LAMBDAEND AND jedanesest < ogranicenje) iteracija=iteracija+1 jedanesest=jedanesest+1 IF TOTALLENGTH<bestcoast IF (CAPACITYOK) PUTSOLUTION bestsolution bestcoast=TOTALLENGTH better=1 ENDIF ELSE brojac= brojac +1 ENDIF LAMBDANEXT ENDWHILE LAMBDAFINISH jedanesest=0 IF better=1 ' postavljam trenutni solution na nadjeni foundbetter=1 prolaz=prolaz+1 iteracija = 0 GETSOLUTION bestsolution ENDIF ENDWHILE IF foundbetter=0 GETSOLUTION savedsolution REPAINT MESSAGE "("+iteracija+"): "+TOTALLENGTH + "NEMA POBOLJSANJA" ELSE GETSOLUTION bestsolution REPAINT MESSAGE "("+iteracija+"): "+TOTALLENGTH + " !najbolje rjesenje!" ENDIF

Program 6.10 Pretraga po λ okolini sa strategijom ukupno najboljeg rješenja (Glolbal Best) ograničena brojem iteracija

U programu (Program 6.10) koriste se naredbe lokalne pretrage opisane u poglavlju

(5.3.3) i strategija pronalaženja ukupno najboljeg rješenja (Globala Best). S obzirom da je λ

okolina vrlo velika postavlja se ograničenje na broj iteracija u jednom prolazu. Kada broj

iteracija u jednom prolazu prijeđe broj koji je postavljen kao ograničenje, tada se u slučaju da

je pronađeno više boljih rješenje od trenutnog čija se okolinu pretražujemo, nastavlja pretraga

Page 72: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-72

u susjedstvu novog najboljeg rješenja. Ako nije pronađeno ni jedno bolje rješenje pretraga se

zaustavlja. '-----------------------------------------------------------------------------------' 'naziv algoritma : ALGORITAM λ LOKALNE PRETRAGE STRATEGIJOM PRVI NAJBOLJI ' '-----------------------------------------------------------------------------------' SOLUTION savedsolution SOLUTION bestsolution PUTSOLUTION savedsolution NUMBER foundbetter=0, pocetak = TOTALLENGTH, better=1, iteracija=0, prolaz = 1,

brojac=0, NUMBER bestcoast = 0, nasaoboljeg=0 MESSAGE "Ukupna startna duljina rute: "+TOTALLENGTH MESSAGE "*! starategija SILAZNI SPUST, ogranicenje --> 1e6 *!" WHILE better=1 AND iteracija < 1000001 bestcoast=TOTALLENGTH INITLAMBDA 2 ' inicijaliziram lambda pretragu dubine 2 better=0 ' postoji li bolje rjesenje message "Biti ce ukupno iteracija --> " + LAMBDACOUNT WHILE (NOT LAMBDAEND AND nasaoboljeg =0) iteracija=iteracija+1 IF TOTALLENGTH<bestcoast IF (CAPACITYOK) PUTSOLUTION bestsolution bestcoast=TOTALLENGTH REPAINT better=1 nasaoboljeg=1 ENDIF ELSE brojac= brojac +1 ENDIF LAMBDANEXT ENDWHILE LAMBDAFINISH nasaoboljeg=0 IF better=1 ' postavljam trenutni solution na nadjeni foundbetter=1 prolaz=prolaz+1 MESSAGE "Prelazimu u novi prolaz" MESSAGE "prije CURENTSOLUTION-a -->" +TOTALLENGTH GETSOLUTION bestsolution MESSAGE "poslije CURENTSOLUTION-a -->" +TOTALLENGTH CLS ENDIF ENDWHILE IF foundbetter=0 GETSOLUTION savedsolution REPAINT MESSAGE "("+iteracija+"): "+TOTALLENGTH + "NEMA POBOLJSANJA" ELSE GETSOLUTION bestsolution REPAINT MESSAGE "("+iteracija+"): "+TOTALLENGTH + " !najbolje rjesenje!" ENDIF

Program 6.11 Pretraga po λ okolini sa strategijom prvi najbolji (First Best) ograničena brojem iteracija

Za razliku od strategije ukupno najboljeg rješenja, često se bolji rezultati mogu postići

sa strategijom odabira prvog najboljeg rješenja kao trenutnog rješenja s kojim se započinje

pretraga novog λ susjedstva program (Program 6.11). Pri ovoj strategiji potrebno je također

odrediti ograničenje broja iteracija pošto su susjedstva vrlo velika. Ako broj iteracija u

trenutnom prolazu prijeđe broj ograničenja, tada se zaustavlja pretraga; u slučaju prvog boljeg

Page 73: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 6-73

rješenja, broj iteracija se postavlja na nulu i prelazi u novu pretragu susjedstva netom

pronađenog rješenja.

Lokalna pretraga zahtjeva početno rješenje, nad kojim se dalje vrši lokalna pretraga. U

tablici (Tablica 13) prikazani su rezultati lokalne pretrage s različitim početnim rješenjima

prethodno testiranih algoritama nad standardnim ispitnim zadatkom E051-05e. Za svako od

početnih rješenja varira se ograničenje broja iteracija (1e5 i 1e6) i strategija pretrage (ukupno

najbolji GB i prvi najbolji FB). POČETNO RJEŠENJE

GB1e5

GB1e6

FB1e5

FB 1e6

Sweep – NNH 554 545 559 559 Sweep – NAH 540 540 540 533 Sweep – FAH 553 544 546 539

Clark & Wright 576 566 567 557

Tablica 13. Rezultati izvođenja Clark & Wright algoritma nad standardnim ispitnim zadatkom E051-05e

Najbolji rezultat (Slika 19) postignut je za početno rješenje Sweep-NAH, uz strategiju

prvi najbolji i za ograničenje od 1E6 iteracija. To rješenje je ujedno i vrlo blizu do sada

najboljem objavljenom rješenju ispitnog zadatka E051-05e koje iznosi 524. Odstupanje

rješenja dobivenog izbedbom Clark & Wright algoritma naredbama programskog jezika Mars

u odnosu na najbolje rješenja ispitnog zadatka E051-05e iznosi 1,7%.

Slika 19. Rješenje standardnog ispitnog zadataka E051-05e Clark & Wright algoritmom

Page 74: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-74

7. Programski sustav za optimizaciju i planiranje ruta

Rješavanje problema usmjeravanja vozila je zahtjevan matematički problem, ali same

matematičke metode i modeli nisu dostatni za njegovo praktično rješavanje. Neophodno je

povezati VRP model i stvarno okruženje u prometnom poduzeću čiju organizaciju transporta

se želi unaprijediti npr. sugestijom promjena transportnih ruta (itinerera). Geografski

informacijski sustavi poglavlje (7.3) nameću se kao jedno od obveznih sučelje između metoda

razvijenih na VRP matematičkom modelu i stvarne radne okoline prijevoznog poduzeća sa

svim njegovim specifičnostima poslovanja (Slika 20).

Slika 20. Potrebni računarski resursi za unos stvarnih prostornih podataka i optimizaciju ruta

Page 75: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-75

7.1. Sustav za podršku u odlučivanju pri zadavanju i promjeni plana ruta

Sustav za podršku u odlučivanju pri zadavanju i promjeni plana ruta razvijen je,

primijenjen i ispitan za usmjeravanja vozila stvarnog radnog okruženje komunalnog poduzeća

Čistoća iz Zagreba. Prikupljanje otpada u gradovima je komunalna aktivnost koja se sa

stanovišta odabira najpovoljnih ruta može vrlo dobro opisati ACVRP problemom poglavlje

(2.1). Sustav objedinjava skup programskih rješenja sa ciljem predlaganje novih ruta

prikupljanja otpada.

Poboljšanje organizacije transporta moguće je izvršiti promjenom planova ruta, tako da

se zadrže postojeća mjesta prikupljanja. U slučaju da postoje namjera i dostatna novčana

sredstva za promjene pozicija mjesta prikupljanja moguće je predložiti nova mjesta

prikupljanja s obzirom na promjene naseljenosti i distribuciju otpada [17].

Ako je unapređenje organizacije transporta usmjereno samo na ostvarenje uštede

promjenom redoslijeda obilaska pojedinih mjesta prikupljanja, tada će intervencija u

poslovanje komunalnog poduzeća biti minimalne. Promjene se svode na izmjenu plana ruta, a

sama mjesta prikupljanja ostaju ista. Odabir novih ruta rješava se kao problem usmjeravanja

vozila, a funkcija cilja je smanjenje ukupnog prijeđenog puta vozila koja prikupljaju otpad.

Skraćivanjem ukupne duljine puta postiže se i smanjenje ukupnog vremena obavljanja

prikupljanja, odnosno smanjenje ukupnih troškova poslovanja. S obzirom da sustav

transporta ne dopušta brze promjene [14], opravdano je prvo smanjiti troškove izmjenom

planova ruta, a tek nakon takve analize planirati dodavanje novih i (ili) preraspodijeliti

postojeća mjesta prikupljanja. Očekivane uštede koje donose samo promijene planova ruta su

oko 20 posto [16].

S obzirom da je VRP matematički model, potrebno je iz poduzeća prikupiti podatke

koji će što vjernije preslikati stvarno stanje transporta u model prikupljanja otpada. Opis

transportnog procesa u razvijenom programskom sustavu za planiranje i optimizaciju ruta

izveden je uz određena pojednostavljenja. Naglašena je veza između predloženih

matematičkih rješenja VRP-a i potrebnog računarskog okruženja za programiranje i unos

geografskih podataka koji dolaze iz realnog transportnog sustava (Slika 20).

Page 76: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-76

Sustav objedinjava pet postupaka:

- prikupljanje podataka,

- obrada podataka GIS alatom,

- analiza postojećih ruta,

- interaktivno generiranje novih planova ruta korištenjem heurističkih metoda,

- prikazivanje rezultata.

Za unos i obradu prikupljenih podataka izrađen je program Miranda opisan u poglavlju

(7.3.1), a za analizu postojećih ruta, interaktivno generiranje novih planova ruta i prikazivanje

rezultata koristi se razvijeno radno okruženje Venera opisano u poglavlju (5.2).

7.2. Prikupljanje podataka

Podaci su prikupljeni na temelju radnih naloga i obradom podataka iz statističkih

izvještaja komunalnog poduzeća Čistoća. Obuhvaćeno je 169 mjesta prikupljanja otpada u

području Novog Zagreba (Slika 22).

Slika 21. Područje Novog Zagreba na kojem su prikupljeni podaci o 169 mjesta prikupljanja otpada

Page 77: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-77

Prilagođenje izvornih podataka modelu podataka sustava Miranda izvedeno je

korištenjem standardnog modela opisa entiteta i njihovih veza odnosno ER (Entity

Relationship) modela. Prikupljeni podaci mogu se grupirati u dva entiteta baze i jednu vezu

tipa 1 : n (Slika 22).

Slika 22. ER model prikupljenih podataka

Entitete predstavljaju vozilo i mjesto prikupljanja dok vezu predstavlja zapis rute koja

povezuje jedno vozilo s n mjesta prikupljanja i jedno mjesto prikupljanja samo s jedinim

vozilom. U (Prilogu 3) nalazi se tablica svih mjesta prikupljanja.

Kako bi se podaci o prikupljanju otpada, opisani ER modelom (Slika 22), prilagodili

potrebama ACVRP modela uvedena su slijedeća pojednostavljenja:

- pretpostavlja se da svaka ruta započinje i završava na istom mjestu, odlagalištu Jakuševac,

- ruta se ne prekida već se odvoz otpada obavlja točno prema radnom nalogu s jednim

dovozom otpada na odlagalište po jednoj ruti,

- sve rute obavljaju se vozilima istog kapaciteta odnosno svako vozilo raspolaže s 16 m3

prostora za prikupljanje,

- otpad se sabija "Faun rotopres" tehnologijom što prema podacima iz komunalnog

poduzeća Čistoća odgovara maksimalnoj masi od 6000 kg prikupljenog otpada.

Page 78: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-78

7.3. Priprema podataka GIS alatom

Geografski informacijski sustav GIS (Geographic Information System) je sustav za

rukovanje prostornim podacima i predstavlja skup programskih alata koji se koriste za unos,

pohranu, manipulaciju, analizu i prikaz geografskih odnosno prostornih podataka. Za razliku

od drugih sustava za upravljanje bazama podataka i grafičkih računarskih sustava, GIS za sve

prostorne podatke ima geografsku referencu (npr. geografsku širinu i dužinu). Prostorni

podaci mogu se transformirati iz jednog koordinatnog sustava u drugi i objediniti neovisno o

različitosti izvora i koordinatnih sustava u jedinstvenu bazu podataka koristeći GIS aplikacije.

Pronalaženja novih planova ruta (Slika 23) izvedeno je u tri faze:

- priprema podataka GIS alatom,

- simulacija transporta odvoza otpada prema postojećim radnim nalozima,

- predlaganje novih planovi ruta hurističkim metodama.

U fazi pripreme podataka GIS alatom izvodi se unos prostornih podataka u bazu

podataka pomoću aplikacije Miranda poglavlje (7.3.1)

Slika 23. Faze pronalaženja novih planova ruta

Page 79: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-79

7.3.1. Aplikacija za unos i obradu podataka Miranda

Za unos i obradu podataka izrađena je posebna GIS aplikacija prilagođena problemu

usmjeravanja vozila i podacima komunalnih poduzeća za prikupljanje otpada. Aplikacija je

izrađena u suradnji s tvrtkom Mireo d.o.o.. GIS aplikacija Miranda izrađena je uporabom

postojećih komponenata: GIS modula, modula za crtanje i modula za navigaciju. Nad

postojećim geoinformacijskim razinama (mreža gradskih prometnica, usmjerenost ulica)

izrađena je nova geoinformacijska razina minimalnih puteva. Podaci o mreži prometnica

grada Zagreba izvedeni su vektorizacijom orto-foto snimaka Zagreba iz zraka. Osnovna

funkcionalnost sustava zasnovana je na postojećim rutinama iz GIS biblioteke razvijene na

osnovu GDF (Geographic Data Files) standarda.

GDF je relativno novi standard zapisa prostornih podataka koji je 1995. usvojen od

strane Europskog tijela za normizaciju CEN-a (Central European Normalisation). GDF je

razvijen kao format za prezentaciju i razmjenu prostornih podataka zapisanih u digitalnom

obliku unutar projekta izrade digitalne karte europskih prometnica EDRM (European Digital

Road Map). Format služi kao osnova za pohranjivanje podataka pri opisivanju mreže

prometnica i podataka vezanih za same prometnice. U njemu se spremaju i podaci potrebni

za rutiranje, uporabu lokacijskih servisa i aplikacija GPS-a. GDF daje pravila o zahvaćanju

podataka, njihovom atributiranju i stvaranju veza među podacima. Na iskustvima prvih

korisnika ovog formata iz područja transporta: Bosch, Philips i Volvo, pokazalo se da je GDF

pogodan kao informacijska podloga za sustave navigacije u automobilima. GDF format

dobro je prihvaćen i u aplikacijama upravljanja voznim parkom, upravljanja distribucijom

proizvoda, analize i upravljanja prometom i automatskog lociranja vozila. Interesantno je da

se sam GDF format ne koristi direktno već se transformira u novi format ovisno o aplikaciji.

Prosječna veličina GDF datoteka prostornih podataka je oko 20 MB i sam format je prilično

složen. Podataka unutar GDF datoteka obično ima puno više no što je za pojedinu aplikaciju

potrebno, pa je nužno filtrirati podatke ovisno o aplikaciji.

Aplikacija Miranda pribavlja podatke o prometnoj mreži iz GDF formata i stvara dvije

odvojene baza podataka u koje posprema dobivene podatke. Jedna baza je prilagođena za

numeričku obradu podataka odnosno proračunavanje najkraćeg puta, dok je druga

prilagođena prikazivanje podataka na zaslonu. Proračun najkraćeg puta izvodi se

modificiranim Dijkstra algoritmom. Dijkstra algoritam je jedan od najčešće upotrebljavanih

algoritama za proračun najkraćeg puta koji u usmjerenom grafu pronalazi put od početnog

čvora do svih ostalih čvorova po kriteriju minimalnog zbroja težina grana unutar grafa.

Page 80: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-80

Prilikom izračunavanja minimalnog puta aplikacija uzima u obzir smjernost prometnica. S

obzirom na postojanje jednosmjernih prometnica i zabrana pojedinih skretanja, udaljenost

između dvije pozicije može biti različita ovisno o tome koju poziciju odaberemo kao početnu.

Aplikacija generira asimetričnu matricu udaljenosti najkraćeg puta za sve odabrane pozicije.

Na osnovu odabranih pozicija i redoslijeda obilazaka pozicija u ruti aplikacija izračunava

ukupnu duljinu tražene rute u metrima. Vjerodostojnost proračuna najviše ovisi o ažurnosti

podataka smjernosti prometnica, a ne o primijenjenim programskim rješenjima.

Aplikacija Miranda izrađena je prvenstveno kao GIS alat sa funkcijom unosa mjesta

prikupljana otpada. Podaci o mjestima prikupljanja otpada unose se na temelju radnog naloga

kojeg dobiva vozač vozila prilikom svakog odlaska na rutu prikupljanja (Prilog 1). Svaki radni

nalog sadrži adresu mjesta prikupljanja i broj kontejnera koje treba isprazniti.

Koordinator na osnovi adrese i kućnog broja pronalazi mjesto prikupljanja na

vektoriziranom prikazu mreže prometnica (Slika 24) i započinje unos atributa u GIS sustav.

Nakon odabira pozicije na zaslonu, Miranda određuje geografsku širinu i dužinu pozicija

prikupljanja otpada. Slijedi unos podataka adresnog modula (odnosno kućni broj odabrane

ulice), broj kontejnera čiji sadržaj treba prikupiti na toj poziciji, ime korisnika usluge odvoza

otpada i identifikatora radnog naloga, (Slika 24).

Slika 24. Aplikacija za unos i obradu podataka

Page 81: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-81

Osim datoteke pozicija generira se i asimetrična matrica međusobnih najkraćih

udaljenosti između svih pozicija i između svih pozicija i odlagališta. Stvarna mjesta

prikupljanja otpada u gradu pretvaraju se u datoteku pozicija s geografskim dužinama i

širinama (Prilog 3). Osim datoteke pozicija generira se i asimetrična matrica međusobnih

najkraćih udaljenosti između svih pozicija prikupljanja uključivši i odlagalište. S tako

stvorenim geografskim opisom i matricom udaljenosti formira se ACVRP model

usmjeravanja vozila i nastavlja računanje optimalnih ruta.

Tijekom eksperimentalnog dijela rada utvrđeno je nekoliko pogrešaka u korištenoj

digitalnoj karti Zagreba. Okom teško primjetne pogrešake u vektorizaciji orto-foto snimke

uzrokovale su prometnu nedostupnost manjih područja grada. Nedostupnost se očitovala

nemogućnošću izračunavanja minimalnog puta do pojedinih mjesta prikupljanja otpada.

Pogreška je utvrđena i otklonjena pregledom asimetrične matrice udaljenosti prilikom

razjašnjavanja loših rezultata rada pojedinih algoritama.

Page 82: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-82

7.4. Simulacija postojećih ruta prije procesa optimizacije

GIS alat Miranda omogućava prikaz mreže prometnica, računanje minimalnih

udaljenosti pojedinih pozicija i unos podataka u bazu. U Mirandi se unose pozicije pojedinih

kontejnera, kućni brojevi ulica u kojima se kontejneri nalaze i broj kontejnera na pojedinim

mjestima prikupljanja (Slika 24).

Analiza postojećih ruta zasniva se na simulaciji transporta (odvoza otpada) na osnovu

postojećih radnih naloga (Slika 23). Rezultat obrade prostornih podataka Mirandom je

matrica najkraćih putova između svih kontejnera međusobno (prilog 7), između svih

kontejnera i odlagališta, te između odlagališta i pojedinog kontejnera. Podaci o poziciji nalaze

se u datoteci «cistoca.txt», a proračunata asimetrična matrica svih udaljenosti u datoteci

«matrica.txt». Te dvije datoteke učitavaju se iz Venerinog radnog okruženja (Slika 25) i

smještaju se u prostor usmjerenog grafa.

Slika 25. Prijenos podataka iz Mirande u Veneru

Page 83: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-83

Veze između korisnika u grafu (Slika 25) predstavljaju tek simbolički redoslijed

obilazaka korisnika vozilom jer se udaljenost između dvije točke grafa ne računa euklidskom

distancom već se uzimaju vrijednosti iz matrice. Svi algoritmi implementirani u Veneri koriste

naredbu izračunavanja udaljenosti DISTANCE (customer(x), customer(y)), koja vraća stvarnu

udaljenost najkraćeg puta kroz prometnice grada s poštivanjem smjernosti prometnice. Te

stvarne vrijednosti udaljenosti izračunate su u pripremnoj fazi GIS sustavom Miranda i

prenesene su u Veneru putem datoteke «matrica.txt». Veze prikazane na slici (Slika 26)

označavaju smjer obilaska vozila i pripadnosti pojedinog korisnika određenoj ruti.

Upisivanjem podataka s radnih naloga u Mirandu, izračunom matrice udaljenosti,

prijenosom Mirandinih podataka u radnu okolinu Venera pomoću datoteka «cistoca.txt» i

«matirca.txt», te izvršavanjem programa simulacje vožnje prema planu ruta s radnih naloga

(Program 7.1) dobiveni su slijedeći podaci za pojedine postojeće rute (Tablica 14).

Redni broj

Početnapozicija

Krajnjapozicija

Broj kontejnera

Udaljenost(m)

1 1 36 157 16640 2 37 47 150 6677 3 48 60 153 11747 4 61 83 174 17147 5 84 108 149 31150 6 109 129 123 17998 7 697 735 156 39573 ∑ 140932

Tablica 14. Podaci o pređenom putu na odabranim rutama radnog naloga

Odstupanje rezultata od stvarnog pređenog puta direktno ovisi od:

- pridržavanja posade vozila ruti radnog naloga,

- točnosti pozicioniranja mjesta prikupljanja,

- točnosti podataka o smjernosti prometnica.

Sedam odabranih vozila izvršilo je prikupljanje na 169 pozicija. Svako je vozilo

prosječno prikupilo 152 kontejnera i prevalilo put od oko 20 km. Ukupni prevaljeni put za

prikupljanje na svih sedam ruta iznosi 140 932 m. Na slici (Slika 26) prikazano je svih sedam

ruta koje se obave prema radnim nalozima. Obojani kvadrati (R1-R7) naglašavaju područja na

kojima pojedina vozila vrše prikupljanje. Radi bolje preglednosti na slici nije prikazana veza

između odlagališta i prvog korisnika, kao ni veza između zadnjeg korisnika i odlagališta.

Pošto je unos podataka o mjestima prikupljanja izrađen prema radnim nalozima, mjesta

prikupljanja poredana su u slijedu prema rutama. Programsko okruženje Venera omogućava

Page 84: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-84

interaktivni rad u kojem se prema programu (Program 7.1) pokrene vozilo koje obilazi

korisnike prema radnim nalozima.

'-------------------------------------------------------------' ' PROGRAM SIMULACIJE VOŽNJE PREMA PLANU RUTA RADNIH NALOGA ' '-------------------------------------------------------------' 'ruta 1 73A SETCAPACITY VEHICLE(0),180 FOR i=0 TO 36 MOVE VEHICLE (0), CUSTOMER (i) ENDFOR MOVE VEHICLE (0), CUSTOMER (0) MESSAGE 180 - VEHICLE(0).CAPACITYLEFT 'ruta 2 74A SETCAPACITY VEHICLE(1),180 MOVE VEHICLE (1), CUSTOMER (0) FOR i=37 TO 47 MOVE VEHICLE (1), CUSTOMER (i) ENDFOR MOVE VEHICLE (1), CUSTOMER (0) MESSAGE 180 - VEHICLE(1).CAPACITYLEFT 'ruta 3 76A SETCAPACITY VEHICLE(2),180 MOVE VEHICLE (2), CUSTOMER (0) FOR i=48 TO 60 MOVE VEHICLE (2), CUSTOMER (i) ENDFOR MOVE VEHICLE (2), CUSTOMER (0) MESSAGE 180 - VEHICLE(2).CAPACITYLEFT 'ruta 4 77A SETCAPACITY VEHICLE(3),180 MOVE VEHICLE (3), CUSTOMER (0)' FOR i=61 TO 83 MOVE VEHICLE (3), CUSTOMER (i) ENDFOR MOVE VEHICLE (3), CUSTOMER (0) MESSAGE 180 - VEHICLE(3).CAPACITYLEFT 'ruta 5 84A SETCAPACITY VEHICLE(4),180 MOVE VEHICLE (4), CUSTOMER (0) FOR i=84 TO 108 MOVE VEHICLE (4), CUSTOMER (i) ENDFOR MOVE VEHICLE (4), CUSTOMER (0) MESSAGE 180 - VEHICLE(4).CAPACITYLEFT 'ruta 6 86A SETCAPACITY VEHICLE(5),180 MOVE VEHICLE (5), CUSTOMER (0) FOR i=109 TO 129 MOVE VEHICLE (5), CUSTOMER (i) ENDFOR MOVE VEHICLE (5), CUSTOMER (0) MESSAGE 180 - VEHICLE(5).CAPACITYLEFT 'ruta 7 73B SETCAPACITY VEHICLE(6),180 MOVE VEHICLE (6), CUSTOMER (0) FOR i=130 TO 168 MOVE VEHICLE (6), CUSTOMER (i) ENDFOR MOVE VEHICLE (6), CUSTOMER (0) MESSAGE 180 - VEHICLE(6).CAPACITYLEFT

Program 7.1 Generiranje ruta prema radnim nalozima

Page 85: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-85

Slika 26. Prikaz ruta koje se obavljaju prema radnim nalozima

Page 86: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-86

Radno okruženje nakon izvršenog programa daje informacije o pređenom putu, broju

posluženih kontejnera i grafički prikaz rute (Prilog 2). Generiranje svake rute može se izvršiti i

pojedinačno, pošto novo izvršeni programski kod uvijek obavlja promjene nad zadnjim

stanjem podataka u transportnom skupu podataka CUSTOMER, VEHICLE i ARC.

Page 87: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-87

7.5. Izračun novih planova ruta NNH algoritmom

Algoritam umetanja najbližeg susjeda NNH (Nearest Neighbour Heuristic) opisan je u

poglavlju (4.1.1). NNH algoritam je konstruktivni algoritam koji dodaje novog korisnika u

rutu prema kriteriju umetanja najbližeg korisnika u odnosu na zadnje umetnutog korisnika.

Prema NNH algoritmu, odnosno programom (Program 6.2) kodiranim u programskom

jeziku Mars unutar programskog okruženja Venera izvršeno je generiranja novih planova ruta

za odabrani zadatak prikupljanja otpada u Novom Zagrebu. Rezultat NNH algoritma korišten

je kao početno rješenje za daljnju 2OPT optimizaciju i lokalne pretrage sa različitim

strategijama pretrage i ograničenjima na broj iteracija. Korištene su strategije pretrage ukupno

najbolji i prvi najbolji. Ograničenje na broj iteracija izvedeno je za 1E5 i 1E6 iteracija. Ova

grupa rezultata izvedena iz početnog rješenja NNH algoritmom karakteristična je po

neosjetljivosti na promjene parametra ograničenja maksimalnog broja iteracija što je vidljivo

iz prikaza rezultata (Tablica 15) i (Slika 28). Najbolji rezultat od 99672 m prijeđenog puta na

novom planu ruta dobivenom NNH algoritmom, što je poboljšanje od 29% u odnosu na

ukupni prijeđeni put prema radnim nalozima, prikazan je na slici (Slika 27).

LOKALNA

PRETRAGA VRIJEME

IZVRŠAVANJAUKUPNI

PUT POBOLJŠANJE

U ODNOSU NA 2OPT

2OPT 367 s 106917 m - Ukupno najbolji GB 1E5 5773 s 99672 m 6,8% Ukupno najbolji GB 1E6 56726 s 99672 m 6,8% Prvi najbolji FB 1E5 931 s 102443 m 4,2% Prvi najbolji FB 1E6 2673 s 102443 m 4,2%

Tablica 15. Rezultati lokalne pretrage s početnim rješenjem algoritma umetanja najbližeg susjeda

Page 88: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-88

Slika 27. Izgled ruta koje generira NNH algoritam umetanja najbližeg susjeda

Page 89: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-89

99000

100000

101000

102000

103000

104000

105000

106000

107000

108000

100 1000 10000 100000

Vrijeme izvođenja lokalne pretrage (s)

Uku

pna

udal

jeno

st (m

)

2opt

FB 1E5 FB 1E6

GB 1E5 GB 1E6

Slika 28. Odnos ukupne udaljenosti i vremena izvođenja lokalne pretrage s početnim rješenjem koje daje algoritam umetanja

najbližeg susjeda

Page 90: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-90

7.6. Izračun novih planova ruta NAH algoritmom

Algoritam najbližeg dodavanja NAH (Nearest Addition Heuristic) opisan je u poglavlju

(4.1.3) i kodiran u programskom jeziku Mars (Program 6.4). NAH algoritam je konstruktivni

heuristički algoritam koji dodaje novog korisnika u rutu prema kriteriju umetanja ukupno

najbližeg korisnika u odnosu na svakog od postojećeg člana rute koju konstruiramo. Grupa

rezultata (Tablica 16) izvedena lokalnim pretragama iz početnog rješenja dobivenog NAH

algoritmom ističe se među svim izvedenim metodama najboljim rezultatom. Šest vozila

obavilo bi zadatak na način da prijeđe put od 97804 m, što je za 30,6 % manji prijeđeni put u

odnosu na plan ruta koji se obavlja prema radnim nalozima. Ovaj rezultat dobiven je

strategijom ukupno najbolji sa ograničenjem broja iteracija u jednom prolazu ne prelazi 1E5

iteracija. Interesantno je primijetiti da su preostale tri lokalne pretrage dale isti rezultat od

101119 m. LOKALNA

PRETRAGA VRIJEME

IZVRŠAVANJAUKUPNI

PUT POBOLJŠANJE

U ODNOSU NA 2OPT

2OPT 670 s 101688 m - Ukupno najbolji GB 1E5 1031 s 97804 m 3,8% Ukupno najbolji GB 1E6 2128 s 101119 m 0,6% Prvi najbolji FB 1E5 569 s 101119 m 0,6% Prvi najbolji FB 1E6 2115 s 101119 m 0,6%

Tablica 16. Rezultati lokalne pretrage s početnim rješenjem algoritma najbližeg dodavanja

97500

98000

98500

99000

99500

100000

100500

101000

101500

102000

100 1000 10000

Vrijeme izvođenje lokalne pretraga (s)

Uku

pna

udal

jnos

t (m

)

2opt

FB 1E5

FB 1E6

GB 1E5

GB 1E6

Slika 29. Odnos ukupne udaljenosti i vremena izvođenja lokalne pretrage s početnim rješenjem koji daje algoritam najbližeg

dodavanja

Page 91: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-91

Slika 30. Izgled ruta koje generira NAH algoritam najbližeg dodavanja

Page 92: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-92

7.7. Izračun novih planova ruta Sweep algoritmom

Sweep algoritam je dvoprolazni algoritam kod kojeg se u prvoj fazi grupiraju korisnici, a

u drugoj kreiraju i optimiraju rute grupiranih korisnika. Sweep metoda opisana je u poglavlju

(4.1.4) i kodirana u programskom jeziku Mars u tri izvedbe (Program 6.5, Program 6.6,

Program 6.7, Program 6.8), koje se razlikuju pa načinu rješavanja TSP problema na kojeg se

svodi VRP problem nakon grupiranja korisnika. Rezultati prve grupe rješenja koji započinju

lokalnu pretragu nad rezultatima prva izvedbe Sweep - NNH algoritma prikazani su u tablici

(Tablica 17).

LOKALNA

PRETRAGA VRIJEME

IZVRŠAVANJAUKUPNI

PUT POBOLJŠANJE

U ODNOSU NA 2OPT

2OPT 660 s 132564 m - Ukupno najbolji GB 1E5 3640 s 121523 m 8,3% Ukupno najbolji GB 1E6 43168 s 118689 m 10,5% Prvi najbolji FB 1E5 1436 s 125739 m 5,1% Prvi najbolji FB 1E6 9026 s 123608 m 6,8%

Tablica 17. Rezultati lokalne pretrage s početnim rješenjem prve izvedbe (Sweep - NNH algoritma)

Rezultati druge grupe rješenja koji započinju lokalnu pretragu nad rezultatima druge

izvedbe Sweep - NAH algoritma prikazani su u tablici (Tablica 18).

LOKALNA

PRETRAGA VRIJEME

IZVRŠAVANJAUKUPNI

PUT POBOLJŠANJE

U ODNOSU NA 2OPT

2OPT 3180s 135744 m - Ukupno najbolji GB 1E5 3016 s 125310 m 7,7% Ukupno najbolji GB 1E6 32202 s 125529 m 7,5% Prvi najbolji FB 1E5 697 s 130208 m 4,1% Prvi najbolji FB 1E6 2851 s 129842 m 4,3%

Tablica 18. Rezultati lokalne pretrage s početnim rješenjem druge izvedbe (Sweep - NAH algoritma)

Rezultati treće grupe rješenja koji započinju lokalnu pretragu nad rezultatima treće

izvedbe Sweep - FAH algoritma prikazani su u tablici (Tablica 19).

Page 93: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-93

LOKALNA PRETRAGA

VRIJEMEIZVRŠAVANJA

UKUPNIPUT

POBOLJŠANJE U ODNOSU

NA 2OPT 2OPT 357s 127698 m - Ukupno najbolji GB 1E5 3797 s 116614m 8,68% Ukupno najbolji GB 1E6 37463 s 116614 m 8,68% Prvi najbolji FB 1E5 922 s 121650 m 4,74% Prvi najbolji FB 1E6 3377 s 117881m 7,69%

Tablica 19. Rezultati lokalne pretrage s početnim rješenjem treće izvedbe (Sweep - FAH algoritma)

Svi rezultati Sweep porodice algoritama zajedno su prikazani na slici (Slika 31).

Usporedbom rezultata može se zaključiti da strategija lokalne pretrege "ukupno najbolji"

(Global Best) postiže bolje rezultate od strategije "prvi najbolji" (First Best) za sve slučajeve

gdje početno rješenje predstavlja rezultat nekog od Sweep algoritama. Nabolje početno

rješenje koje je dao Sweep - FAH algoritam bio je najbitniji preduvjet za dobre rezultate

lokalne pretrage. Grupiranje rezultata lokalne pretrage (Slika 31) upravo je određeno

početnim rješenjem, tako da iako ponekad lokalna pretraga poboljšava rezultat i do 10,5%

kao u slučaju (SNNH GB 1E6), (Tablica 17), prednost dobrog početnog rješenja nije moguće

nadoknaditi. Najbolji rezultat ukupno, među Sweep porodicom algoritama postiže SFAH GB

1E5 (Slika 32).

115000

120000

125000

130000

135000

140000

100 1000 10000 100000

Vrijeme izvođenja lokalne pretrage (s)

Uku

pna

udal

jeno

st (m

)

2opt SFAH

2opt SNAH

2opt SNNH

GB 1E5 SNNH

GB 1E5 SNAH

GB 1E5 SFAH

GB 1E6 SNAH

GB 1E6 SNNH

GB 1E6 SFAH

FB 1E5 SNNH

FB 1E5 SNAH

FB 1E5 SFAH

FB 1E6 SNAH

FB 1E6 SNNH

FB 1E6 SFAH

Slika 31. Rezultati sve tri izvedbe algoritma Sweep

Page 94: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-94

Slika 32. Izgled ruta koje generira Sweep SFAH GB 1E5 algoritam

Page 95: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-95

7.8. Izračun novih planova ruta Clark & Wright algoritmom

Clark & Wright algoritam poglavlje (4.1.5) kodiran u programskom jezikom Mars

unutar radnog okruženja Venera (Program 6.9) poglavlje (6.1.6), daje najbolje rezultate u

grupi početnih rješenja (Tablica 20) konstruktivnih heurističkih algoritama i početne 2OPT

pretrage kojom su rješenja pripremljena za daljnju lokalnu pretragu. Iz tablice (Tablica 20)

vidljivo je da Sweep algoritmi daju za oko 30% lošije rezultate od konstruktivnih heurističkih

algoritama, a da Clark & Wright-ov algoritam daje najbolje početno rješenje.

KONSTRUKTIVNI HEURISTIČKI ALGORITMI

VRIJEMEIZVRŠAVANJA

UKUPNI PUT

ODSTUPANJE U ODNOSU

NA C&W Umetanja najbližeg susjeda NNH 367 s 106917 5,5% Najbliže dodavanja NAH 670 s 101688 0,4% Clark & Wright C&W 1689 s 101306 - Sweep - NNH 660 s 132564 30,9% Sweep - NAH 3180 s 135744 34,0% Sweep - FAH 357 s 127698 26,1%

Tablica 20. Rezultati heurističkih algoritama koji predstavljaju početno rješenje za daljnju lokalnu pretragu

Nakon što se završi 2OPT pretraga nad početnim rješenjem dobivenim Clark &

Wright-ov algoritam, vrši se lokalnu pretragu gdje se varira broj iteracija i strategija pretrage

(Tablica 21).

LOKALNA PRETRAGA

VRIJEMEIZVRŠAVANJA

UKUPNIPUT

POBOLJŠANJE U ODNOSU

NA 2OPT 2OPT 1689 s 101306 m - Ukupno najbolji GB 1E5 2803 s 98739 m 2,53% Ukupno najbolji GB 1E6 27925 s 98739 m 2,53% Prvi najbolji FB 1E5 2555 s 98751 m 2,52% Prvi najbolji FB 1E6 2555 s 98751 m 2,52%

Tablica 21. Rezultati lokalne pretrage s početnim rješenjem Clark & Wright algoritma

Clark & Wright-ov algoritam daje najbolji početni rezultat za lokalnu λ pretragu, pa su

prosječni rezultati same pretrage očekivano najbolji (Slika 34). Svi planovi ruta imaju ukupno

prijeđeni put ispod 100000 m i praktički sve strategije završavaju u istom lokalnom

optimumu. Na slici (Slika 33) prikazano je najbolje rješenje dobiveno primjenom Clark &

Wright-ov algoritma koje od ukupno najboljeg rješenja (Slika 30) dobivenog GB 1E5

lokalnom pretragom s početnim rješenjem NAH algoritmom najbližeg dodavanja, iznosi

nešto manje od 1%.

Page 96: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-96

Slika 33. Izgled ruta koje generira Clark & Wright algoritam

Page 97: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-97

Kao i za grupu rezultata izvedenu iz početnog rješenja NNH algoritmom i za ovu grupu

rješenja (Tablica 21) karakteristična je neosjetljivost na promjenu parametra ograničenja

maksimalnog broja iteracija.

98500

99000

99500

100000

100500

101000

101500

1000 10000 100000

Vrijeme izvođenja lokalne pretrage (s)

Uku

pna

udal

jeno

st (m

)

2opt

GB 1E5 GB 1E6FB 1E5

FB 1E6

Slika 34. Rezultati Clark & Wright algoritma

Page 98: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-98

7.9. Analiza rezultata izračuna novih planova ruta

Novi planovi ruta za prikupljanje otpada u području Novog Zagreba izračunati su

primjenom heurističkih algoritama kodiranih uz programskom jeziku Mars unutar

programskog okruženja Venera. Poboljšanja koja donose novi planovi ruta za postojeće

pozicije prikupljanja odnose se na smanjenje ukupne duljine ruta i broja vozila potrebnih za

prikupljanje otpada. Svi primijenjeni modeli rješavanja uspijevaju smanjiti broj vozila za jedno

vozilo. Smanjenje broja vozila vidi se na planovima ruta po kojima se obavlja prikupljanje

otpada. Za plan ruta prikupljanja otpada prema radnim nalozima (Slika 26) potrebno je sedam

vozila. Kod svih predloženih planova (Slika 27, Slika 30, Slika 32 i Slika 33) isti posao je

moguće obaviti sa šest vozila. Modeli rješavanja razlikuju se po odabiru metoda (algoritama)

koji se ulančavaju tako da rješenje jedne metode postaje početno rješenje druge metode.

Izračun novih planova ruta odnosno model rješavanja izveden je na slijedeći način.

Nad podacima prikupljenim iz radnih naloga komunalnog poduzeća, korištenjem GIS alata

Miranda, stvorena je lista mjesta prikupljanja otpada i zahtijevanih kapaciteta vozila (Prilog 3),

te generirana prometna matrica najkraćih puteva. Matrice najkraćih puteva (Prilog 7) između

svaka dva mjesta prikupljanja otpada kao i od odlagališta i svakog od mjesta prikupljanja

odražava prometna obilježja prostora na kojem je potrebno obaviti odabrani posao. Tako

priređeni podaci preneseni su razmjenom datoteka u razvojno okruženje Venera. Za provjeru

postupka prikupljanja otpada u stvarnom prometnom okruženju izvedena je simulacija

prikupljanja na osnovi radnih naloga (Tablica 14).

Algoritmi izračuna ruta provjereni nad ispitnim zadacima kodirani u jedanaest programa

(od Program 6.1 do Program 6.11) korišteni su kao elementi modela rješavanja. Početno

rješenje generira se na osnovu konstruktivnih heurističkih algoritama: (umetanje najbližeg

susjeda, najbliže dodavanja, Clark & Wright, Sweep-NNH, Sweep-NAH i Sweep-FAH).

Kako bi se izvršila lako uočljiva poboljšanja (Slika 10) i postigli što bolji rezultati, nad svim

rezultatima konstruktivnih heurističkih algoritama izvršena je brza lokalna pretraga nad 2OPT

okolinom. Tako dobivena rješenja postaju početna rješenja za λ lokalnu pretragu s

parametrom (λ=2), gdje se variraju strategije prvi najbolji (FB) i ukupno najbolji (GB), te

parametar maksimalnog dozvoljenog broja iteracija 100.000 (1E5) i 1.000.000 (1E6). Upravo

ovako opisani slijed korištenja alata i algoritama odabran je za model rješavanja odabira plana

ruta prikupljanja otpada. U tablici (Tablica 22) izdvojeni su najbolji rezultati za pojedinu

Page 99: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-99

grupu dobivenih rješenja iz istog početnog rješenja odnosno najbolji rezultati za svaku od

tablica (Tablica 15, Tablica 16, Tablica 17, Tablica 18, Tablica 19 i Tablica 21).

POČETNA RJEŠENJA SKRAĆENO IME

STRATEGIJA PRETRAGE

BROJ ITERACIJA

VRIJEME IZVRŠAVANJA

UKUPNIPUT

Umetanje najbližeg susjeda NNH GB 1E5 5773 s 99672 Najbliže dodavanja NAH GB 1E5 1031 s 97804 Clark & Wright CW GB 1E5 2803 s 98739 Sweep-NNH SNNH GB 1E6 43168 s 118689 Sweep-NAH SNAH GB 1E5 3016 s 125310 Sweep-FAH SFAH GB 1E5 3797 s 116614

Tablica 22. Najbolja konačna rješenja lokalne pretrage za pojedine grupe početnih rješenja

Ovako objedinjeni rezultati (Tablica 22) svih najboljih rješenja daju jasnu sliku da za

proračun planova ruta za problem prikupljanja otpada u Novom Zagrebu treba odabrati

strategiju lokalne pretrage ukupno najbolji (GB), jer ni u jednoj grupi rješenja nisu postignuti

bolji rezultat primjenom strategije prvi najbolji (FB). Varirajući broj dozvoljenih iteracija u

jednom prolazu pretrage, samo se u jednom slučaju povećavanjem maksimalnog broja

dozvoljenih iteracija (i to kada se koriste rezultati početnog rješenja Sweep - NNH) dobivaju

najbolji rezultati za neko početno rješenje. S obzirom na predočene rezultate utemeljeno je

tvrditi da je, odabir strategije pretrage ukupno najbolji i ograničavanje maksimalnog broja

iteracija na 1E5 iteracija najbolji odabir parametara λ lokalne pretrage za zadatak prikupljanja

otpada u Novom Zagrebu. Analiza ovisnosti konačnog rješenja λ lokalne pretrage o

početnom rješenju može se provesti nad prikupljenim podacima (Tablica 23) i (Slika 35).

HEURISTIČKI ALGORITMI

POČETNA RJEŠENJA

ODSTUPANJEOD

CW GB1E5

VRIJEMEIZVR.

KRAJNJA RJEŠENJA

ODSTUPANJEOD

NAH GB1E5 NNH GB1E5 106917 5,5% 5773 s 99672 1,91% NAH GB1E5 101688 0,4% 1031 s 97804 - CW GB1E5 101306 - 2803 s 98739 0,96% SNNH GB1E6 132564 30,9% 43168 s 118689 21,35% SNAH GB1E5 135744 34,0% 3016 s 125310 28,12% SFAH GB1E5 127698 26,1% 3797 s 116614 19,23%

Tablica 23. Usporedba početnih rješenja lokalne pretrage, njihovih odstupanja od najboljih rješenja i konačnih rješenja

lokalne pretrage, te njihovih odstupanja od najboljih rješenja

Pregledom rezultata jasno se uočavaju dvije grupe rješenja. Prva grupa rješenja ima

odstupanja od najboljeg početnog rješenja za maksimalno 5,5% i rezultat je primjene

porodice jednoprolaznih konstruktivnih heurističkih algoritama (umetanje najbližeg susjeda,

najbliže dodavanja i Clark & Wright metoda). Druga grupa rezultata ima odstupanje od

Page 100: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 7-100

najboljeg početnog rezultata od 26% do 34% i rezultat je primjene porodice dvoprolaznih

sweep algoritama (Sweep - NNH, Sweep - NAH i Sweep - FAH). Za razliku od rezultata nad

standardnim ispitnim zadacima gdje su dvoprolazni Sweep algoritmi postizali bolje rezultate

ovdje se "neuspjeh" Sweep porodice algoritama može objasniti prostorno drugačijim

smještajem odlagališta (Slika 19) i (Slika 26). U (Tablica 23) jasno se vidi da je rezultat λ

lokalne pretrage jako ovisan o početnom rješenju, pa dvije navedene grupe rezultata osim

jasnog obilježja dvoprolaznosti, odnosno jednoprolaznosti dijele i velike razlike pripadnih

početnih rješenja.

95000

100000

105000

110000

115000

120000

125000

1000 10000 100000

Vrijeme izvođenja lokalne pretrage (s)

Uku

pna

udal

jeno

st (m

)

NNH NAH CW GB1E5

SNNH GB1E6

SNAH GB1E5

SFAH GB1E5

Slika 35. Odnos ukupna duljina ruta i vrijeme potrebno za izvođenje algoritma rutiranja

Na osnovi rezultata prikazanih na slici (Slika 35), najuspješniji plan ruta dobiva se

korištenjem modela rješavanja (NAH GB1E5), odnosno postupkom izračuna početnog

rješenja NAH algoritmom najbližeg dodavanja, poboljšanog lokalnom pretragom u 2OPT

susjedstvu i zatim lokalnom pretragom u λ susjedstvu, uz strategiju pretrage ukupno najbolji i

ograničenjem maksimalnog broja iteracija na 100.000 iteracija u jednom prolazu. Ovaj model

rješavanja skraćenog naziva NAH GB1E5 pozicioniran je u donjem lijevom kutu dijagrama

prikazanog na slici (Slika 35), što znači da taj model ima najmanje vrijeme izračunavanja 2803

sekunde i najmanju ukupnu udaljenost 97804 m za grupu od 6 vozila, što je za 29 posto

manje od prijeđenog puta izvedenog prema radnim nalozima odnosno 140 932 m za grupu

od 7 vozila (Tablica 14). Za izračun plana ruta ovog modela rješavanja u radnom okruženju

Venera potrebno je 46 minuta na standardom PC računalu karakteristika (Pentium 3, 800

MHz, 128 MB RAM, Windows 2000, razvojni alat J Builder X).

Page 101: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-101

8. Zaključak

Uvođenje potpuno novih tehnologija transporta nužnost je gospodarskog napretka, ali

se zbog skupih infrastrukturnih ulaganja takvi veliki tehnološki pomaci događaju rijetko.

Nasuprot tome, postoje mogućnosti poboljšanja postojećih rješenja koja ne iziskuju

infrastrukturne promjene, ali zahtijevaju rješavanje složenih matematičkih problema

metodama heurističkih optimizacija i upotrebu modernih računalskih tehnologija za

modeliranje i optimiranje.

Unapređenje tehnologije prijevoza pri distribuciji i prikupljanju dobara postavlja niz

raznovrsnih zahtijeva za njegovo ostvarenje. Djelotvorno unapređenje takvog transporta

ostvaruje se osmišljavanjem tehnološkog modela zasnovanog na korištenju geografskog

informacijskog sustava, matematičkih metoda optimiranja i sustava za upravljanje bazama

podataka.

Za rješavanje problema distribucije ili prikupljanja potrebno je opise tehnoloških

procesa približiti opisu matematičkog problema. Sam problem distribucije i prikupljanja

dobara razmatra se kao prošireni problem usmjeravanja vozila s kapacitivnim ograničenjima

(Capacitated Vehicle Routing Problem - CVRP). Taj se matematički kombinatorno

optimizacijski problem, osim za slučaj manjeg broja vozila, ne može općenito i egzaktno

riješiti u prihvatljivom vremenu. Do praktičnih rješenja dolazi se aproksimativnim metodama

koje su najčešće heurističke prirode. Objedinjavanjem geografskog informacijskog sustava,

matematičkih metoda i baza podataka značajno se povećava upotrebna vrijednost postojećih

optimizacijskih metoda odnosno algoritama, pošto se provjera novih planova ruta i simulacija

postojećih planova ruta može brzo izvesti. Kako bi se zahtjev za čestim modifikacijama i

provjerama uspješnosti metoda odnosno algoritama zadovoljio, predložen je novi programski

sustav za optimizaciju i planiranje ruta grupe vozila.

Tijekom istraživanje mogućih unapređenja tehnologije transporta izrađeno je razvojno

programsko okruženje za rješavanja problema usmjeravanja vozila primjenom heurističkih

algoritama (Venera). Razvojno okruženje povezano je sa geoinformacijskim programskim

sustavom (Miranda) i zajedno s njim čini cjelovit računalom podržani sustav. Heurističke

metode usmjeravanja vozila (Clark-Wright, Sweep, Nearest Neighbour Heuristic - umetanje

najbližeg susjeda, Farthest Addition Heuristic - dodavanje najudaljenijeg susjeda, Nearest

Addition Heuristic - najbliže dodavanje, 2OPT i λ lokalna pretraga) raspravljene su sa

stanovišta njihove upotrebljivosti u praktičnoj primjeni, ispitane na standardnim ispitnim

zadacima, ispitane s obzirom na njihovo međusobno povezivanje odnosno ulančavanje,

Page 102: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-102

ispitane s obzirom na variranje parametara i strategije pretrage, uspoređene s vodećim

heurističkim metodama i upotrebljene u realnom transportnom okruženju. Prilikom testiranja

algoritama nad standardnim ispitnim zadacima postignuta su dva iznimna rezultata.

Standardni ispitni zadatak E076-10e riješen je sa svega 6% odstupanja od najboljeg

objavljenog rješenja, a zadatak E051-05e odstupa svega 1,7% od najboljeg objavljenog

rješenja.

Osnovni modul okruženja Venere je programski jezik Mars sa sposobnošću izražavanja

transportnih veličina (KORISNIK, VOZILO, LUK) putem odgovarajućih tipova podataka.

Programsko okruženje i jezik predstavljaju izvorno rješenje za optimizaciju problema

usmjeravanja vozila s kapacitivnim ograničenjem (Capacitated Vehicle Routing Problem –

CVRP) i problema usmjeravanja vozila s ograničenjima vremenskih prozora (Vehicle Routing

Problem with Time Windows – VRPTW). Jedna od bitnih prednosti predloženog sustava je

uvođenje deklarativnog karaktera temeljne upravljačke strukture, strukture izbora. Ona na

neproceduralni način obavlja pretraživanje prostora rješenja problema usmjeravanja vozila,

korištenjem ugrađene podrške za heurističke optimizacije. Ovakvim pristupom upotrebe

novo razvijenog koncepta generiranja budućih ruta na analitičkim principima uspoređivanje

postojećih i potencijalno ostvarivih ruta, postavlja se dobra početna osnova za optimizaciju i

planiranje ruta grupe vozila u stvarnom vremenu.

Postavljena teza o učinkovitom unapređenju tehnologije prijevoza optimizacijom

usmjeravanja vozila primjenom heurističkih metoda provjerena je kroz upotrebu razvijenog

programskog sustava za usmjeravanje vozila s ograničenjima kapaciteta u realnom

transportnom prostoru poslovanja komunalnog poduzeća za prikupljanje otpada. Analiza

rezultata optimizacije postignute algoritmima sastavljenim u programskom jeziku Mars

izvedena je na temelju usporedbe ruta koje se obavljaju prema radnim nalozima u postojećem

sustavu vožnje i ruta dobivenih heurističkim algoritmima. Rezultati ukazuju na opravdanost

upotrebe predloženog modela sustava za planiranje ruta u cilju predlaganja novih ruta koje

obavljaju isti posao uz vidne uštede. Predloženi su novi planovi ruta u realnom okruženju

prikupljanja otpada u gradu koji ukazuju na moguće uštede i do 29 % u prijeđenom putu uz

smanjenje broja vozila.

Page 103: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-103

POPIS PRILOGA

PRILOG 1. Radni nalog vozilu za prikupljanje otpada

PRILOG 2. Prikaz informacija o prijeđenom putu, broju posluženih kontejnera i generiranih ruta u programskom okruženju Venera

PRILOG 3. Baza podatka o poziciji, adresi i broju kontejnera na mjestu prikupljanja otpada

PRILOG 4. Standardni ispitni zadatak E051-05e

PRILOG 5. Grafički prikaz ispitnog zadatka E051-05e

PRILOG 6. Definicija sintakse programskog jezika Mars(isječak)

PRILOG 7. Asimetrična matrica minimalnih puteva (isječak)

PRILOG 8. Popis slika, tablica, algoritama i programa

Page 104: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-104

PRILOG 1. Radni nalog vozilu za prikupljanje otpada

Page 105: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-105

PRILOG 2: Prikaz informacija o prijeđenom putu, broju posluženih kontejnera i generiranih ruta u programskom okruženju Venera

Page 106: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-106

PRILOG 3: Baza podatka o poziciji, adresi i broju kontejnera na mjestu prikupljanja otpada

Page 107: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-107

Page 108: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-108

Page 109: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-109

Page 110: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-110

PRILOG 4: Standardni ispitni zadatak E051-05e

E051-05e

VEHICLE NUMBER CAPACITY 50 160 CUSTOMER

CUST NO. XCOORD. YCOORD. DEMAND READY TIME DUE DATE SERVICE TIME

0 30 40 0 0 0 0 1 37 52 7 0 0 0 2 49 49 30 0 0 0 3 52 64 16 0 0 0 4 20 26 9 0 0 0 5 40 30 21 0 0 0 6 21 47 15 0 0 0 7 17 63 19 0 0 0 8 31 62 23 0 0 0 9 52 33 11 0 0 0 10 51 21 5 0 0 0 11 42 41 19 0 0 0 12 31 32 29 0 0 0 13 5 25 23 0 0 0 14 12 42 21 0 0 0 15 36 16 10 0 0 0 16 52 41 15 0 0 0 17 27 23 3 0 0 0 18 17 33 41 0 0 0 19 13 13 9 0 0 0 20 57 58 28 0 0 0 21 62 42 8 0 0 0 22 42 57 8 0 0 0 23 16 57 16 0 0 0 24 8 52 10 0 0 0 25 7 38 28 0 0 0 26 27 68 7 0 0 0 27 30 48 15 0 0 0 28 43 67 14 0 0 0 29 58 48 6 0 0 0 30 58 27 19 0 0 0 31 37 69 11 0 0 0 32 38 46 11 0 0 0 33 46 10 23 0 0 0 34 61 33 26 0 0 0 35 62 63 17 0 0 0 36 63 69 6 0 0 0 37 32 22 9 0 0 0 38 45 35 15 0 0 0 39 59 15 14 0 0 0 40 5 6 7 0 0 0 41 10 17 27 0 0 0 42 21 10 13 0 0 0 43 5 64 11 0 0 0 44 30 15 16 0 0 0 45 39 10 10 0 0 0 46 32 39 5 0 0 0 47 25 32 25 0 0 0 48 25 55 17 0 0 0 49 48 28 18 0 0 0 50 56 37 10 0 0 0

Page 111: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-111

PRILOG 5: Grafički prikaz ispitnog zadatka E051-05e

Page 112: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-112

PRILOG 6: Definicija sintakse programskog jezika Mars (isječak) ostale_lek_jed ::= Identifikator. identifikator ::= slovo {slovo | broj}. leksicka_jedinka ::= uvijet | petlja | selekcija | naredbe_luk | naredbe_zaslon |

ostale_naredbe. uvijet ::= ('IF' logicki_izraz) \ (blok) \ (['ELSE' Blok])\('ENDIF'). petlja ::= while | do | for. do ::= ('DO')\ (blok) \ ('WHILE' logicki_izraz). while ::= ('WHILE' logicki_izraz) \ (blok) \ ('ENDWHILE' ). for ::= ('FOR' var_iden '=' num_izraz 'TO' num_izraz) \ ( ['STEP' num_izraz]) \

('ENDFOR'). naredbe_luk ::= move | addarc | delarc. move ::= 'MOVE' vozilo ',' korisnik. selekcija ::= ('SELECT' (('CUSTOMER' korisnik |'VEHICLE' vozilo | 'ARC'

veza)// ',')) \ ('WHERE' {logicki_izraz}+ ) \ (['MINIMISE' funkcija_cilja | 'MAXIMISE' funkcija_cilja ])\('ENDSELECT').

addarc ::= 'ADDARC' vozilo ',' korisnik ',' korisnik '. delarc ::= 'DELARC' veza. leksi_jedin_broj ::=broj. Broj ::= {znamenka}. program ::= blok. blok ::= {Naredba}. naredba ::= leksicka_jedinka | pridruzivanje. pridruzivanje ::= id '=' vrijednost. vrijednost ::= id | broj. leksicka_jedinka ::= naredba | broj | string | korisnik | veza | vozilo. tip ::= broj | rijec | znak | string.

Page 113: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-113

PRILOG 7. Asimetrična matrica minimalnih puteva (isječak)

Page 114: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-114

PRILOG 8. Popis slika

Slika 1. CVRP, ograničenja i izvedeni problemi ............................................................................... 2-18 Slika 2. Kapacitivni rez .......................................................................................................................... 3-21 Slika 3. Ograničenje uopćene eliminacije ruta .................................................................................... 3-22 Slika 4. Primjer modela protoka tereta ................................................................................................ 3-23 Slika 5. Pristupi rješavanju problema usmjeravanja vozila ............................................................... 4-29 Slika 6. Riješenja FAH metodom za TSP problem ........................................................................... 4-31 Slika 7. Riješenja FAH metodom za VRP problem .......................................................................... 4-31 Slika 8. Odabir korisnika kojeg umećemo u NAH alogirtmu .......................................................... 4-32 Slika 9. Grupiranje korisnika po kriteriju minimalnog kuta ............................................................. 4-33 Slika 10. a) Ruta prije 2OPT zamjene b) Ruta nakon 2OPT zamjene ............................................ 4-35 Slika 11. Prikaz rada algoritma nad EN i SOM modelima .............................................................. 4-43 Slika 12. Razvojno programsko okruženje Venera ............................................................................ 5-46 Slika 13. Princip rada jezičnog tumača ............................................................................................... 5-47 Slika 14. Izgled radnog okruženja Venera ......................................................................................... 5-48 Slika 15. Sintaksa naredbe SELECT .................................................................................................... 5-50 Slika 16. Izgled rješenja ispitnog zadatka E051-05e a) prije i b) poslije 2OPT optimizacije ....... 6-60 Slika 17. Odnos ukupnih duljina ruta i vremena potrebnih za izvođenje algoritama .................. 6-68 Slika 18. Rješenja ispitnog zadatka E076-10e , Clark & Wright algoritma i 2OPT optimizacije 6-70 Slika 19. Rješenje standardnog ispitnog zadataka E051-05e Clark & Wright algoritmom .......... 6-73 Slika 20. Potrebni računarski resursi za unos stvarnih prostornih podataka i optimizaciju ruta 7-74 Slika 21. Područje Novog Zagreba na kojem su prikupljeni podaci ............................................... 7-77 Slika 22. ER model prikupljenih podataka.......................................................................................... 7-77 Slika 23. Faze pronalaženja novih planova ruta ................................................................................. 7-78 Slika 24. Aplikacija za unos i obradu podataka .................................................................................. 7-80 Slika 25. Prijenos podataka iz Mirande u Veneru .............................................................................. 7-82 Slika 26. Prikaz ruta koje se obavljaju prema radnim nalozima ....................................................... 7-85 Slika 27. Izgled ruta koje generira NNH algoritam umetanja najbližeg susjeda ............................ 7-88 Slika 28. Odnos ukupne udaljenosti i vremena izvođenja pretraga, umetanja najbližeg susjeda 7-89 Slika 29. Odnos ukupne udaljenosti i vremena izvođenja pretrage, najbližeg dodavanja ............ 7-90 Slika 30. Izgled ruta koje generira NAH algoritam najbližeg dodavanja ........................................ 7-91 Slika 31. Rezultati sve tri izvedbe algoritma Sweep ........................................................................... 7-93 Slika 32. Izgled ruta koje generira Sweep SFAH GB 1E5 algoritam .............................................. 7-94 Slika 33. Izgled ruta koje generira Clark & Wright algoritam .......................................................... 7-96 Slika 34. Rezultati Clark & Wright algoritma ..................................................................................... 7-97 Slika 35. Odnos ukupna duljina ruta i vrijeme potrebno za izvođenje algoritma rutiranja ....... 7-100

Page 115: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-115

Popis tablica

Tablica 1. CUSTOMER – transportna varijabla koja predstavlja korisnika ................................. 5-55 Tablica 2. VEHICLE – transportna varijabla koja predstavlja vozilo ........................................... 5-56 Tablica 3. ARC – transportna varijabla koja predstavlja luk usmjerenog grafa ............................. 5-56 Tablica 4. Standardni ispitni CVRP zadaci ......................................................................................... 6-57 Tablica 5. Rezultati izvođenja NNH i 2OPT algoritma nad standardnim ispitnim zadacima .... 6-59 Tablica 6. Rezultati izvođenja FAH algoritma nad ispitnim zadacima ........................................... 6-61 Tablica 7. Rezultati izvođenja NAH algoritma nad ispitnim zadacima .......................................... 6-64 Tablica 8. Rezultati izvođenja Sweep - NNH algoritma ................................................................... 6-65 Tablica 9. Rezultati izvođenja Sweep - NAH algoritma ................................................................... 6-66 Tablica 10. Rezultati izvođenja Sweep - FAH algoritma .................................................................. 6-67 Tablica 11. Rezultati izvođenja Sweep algoritama ............................................................................. 6-68 Tablica 12. Rezultati izvođenja Clark & Wright algoritma nad ispitnim zadacima ....................... 6-70 Tablica 13. Rezultati izvođenja Clark & Wright algoritma nad zadatkom E051-05e ................... 6-73 Tablica 14. Podaci o pređenom putu na odabranim rutama radnog naloga .................................. 7-83 Tablica 15. Rezultati lokalne pretrage , umetanja najbližeg susjeda ................................................ 7-87 Tablica 16. Rezultati lokalne pretrage s početnim rješenjem algoritma najbližeg dodavanja ...... 7-90 Tablica 17. Rezultati lokalne pretrage, (Sweep - NNH algoritma) .................................................. 7-92 Tablica 18. Rezultati lokalne pretrage, (Sweep - NAH algoritma) .................................................. 7-92 Tablica 19. Rezultati lokalne pretrage, (Sweep - FAH algoritma) ................................................... 7-93 Tablica 20. Rezultati heurističkih algoritama, početno rješenje za daljnju lokalnu pretragu ....... 7-95 Tablica 21. Rezultati lokalne pretrage s početnim rješenjem Clark & Wright algoritma ............. 7-95 Tablica 22. Najbolja konačna rješenja lokalne pretrage za pojedine grupe početnih rješenja ..... 7-99 Tablica 23. Usporedba početnih rješenja, odstupanja, konačnih rješenja, odstupanja rješenja .. 7-99

Page 116: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-116

Popis algoritama

Algoritam 4.1 Iterativna lokalna pretraga ........................................................................................... 4-34 Algoritam 4.2 Simulirano kaljenje ........................................................................................................ 4-38 Algoritam 4.3 Tabu pretraga ................................................................................................................. 4-40 Algoritam 4.4 Genetski algoritam ........................................................................................................ 4-41 Algoritam 4.5 Elastične mreže.............................................................................................................. 4-44

Popis programa

Program 6.1 Algoritam 2OPT lokalne pretrage ................................................................................. 6-58 Program 6.2 Algoritam NNH metode umetanja najbližeg susjeda ................................................. 6-59 Program 6.3 Algoritam FAH dodavanje ukupno najudaljenijeg susjeda ....................................... 6-62 Program 6.4 Algoritam NAH metode najbližeg dodavanja ............................................................. 6-63 Program 6.5 Zajednički dio koda porodice Sweep algoritama ........................................................ 6-64 Program 6.6 Sweep algoritam i modificirani NNH algoritam ......................................................... 6-65 Program 6.7 Sweep algoritam i modificirani NAH algoritam ......................................................... 6-66 Program 6.8 Sweep algoritam i modificirani FAH algoritam .......................................................... 6-67 Program 6.9 Clark & Wright algoritam ............................................................................................... 6-69 Program 6.10 Pretraga po λ okolini (Glolbal Best) ograničena brojem iteracija .......................... 6-71 Program 6.11 Pretraga po λ okolini (First Best) ograničena brojem iteracija ............................... 6-72 Program 7.1 Generiranje ruta prema radnim nalozima .................................................................... 7-84

Page 117: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-117

LISTA KRATICA

ACVRP (Asymetric CVRP) - Asimetrični VRP s ograničenjima kapaciteta

AVRPB (Asymetric VRP with Backhauls) - ACVRP s dostavom i povratnim prikupljanjem

BPP (Bin Packing Problem) - Problem naprtnjače

CCC (Capacity Cut Constrains) - Ograničenje kapacitivnog reza

CVRP (Capacitated VRP) - VRP s ograničenjima kapaciteta

DA (Deterministic Annealing) - Determinističko kaljenje

DVRP (Distance Constrained VRP) - Problem usmjeravanja vozila ograničen udaljenošću

DCVRP (Distance–Constrained CVRP) - VRP ograničen udaljenošću i kapacitetom

GA (Genetic Algorithm) - Genetički algoritmi

GSEC (Generalized Subtour Elimination Constrains) - Ograničenju uopćene eliminacije

NN (Neural Networks) - Neuronske mreže

SA (Simulated Annealing) - Simulirano kaljenje

SP (Set Partitioning) - Problem particioniranja skupa

TS (Tabu Search) - Tabu pretraga

TSP (Traveling Salesman Problem) - Problem trgovačkog putnika

VRP (Vehicle Routing Problem) - Problem usmjeravanja vozila

VRPB (VRP with Backhauls) - VRP s dostavom i povratnim prikupljanjem

VRPSPD (Simultaneous Pickup and Delivery) - VRP-u sa simultanom dostavom i prikupljanjem

Page 118: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-118

LITERATURA

KNJIGE

[1] Bodin L., Golden B., Assad A., Ball M.: Routing and Scheduling of Vehicles and

Crews – the State of the Art, Pergamon Press 1983.

[2] Christofides N., Mingozzi A., Toth P.: The Vehicle Routing Problem, Christofides N.,

Mingozzi A., Toth P., Sandi C., editors, Combinatiorial optimization, Wiley,

Chichester, UK, 1979, 12:568-581,1964.

[3] Ghaziri H.: Supervision in the self-organizing feature map: Application to the vehicle

routing problem, Osman I. H., Kelly J.P., editors, Meta-Heuristic: Theory and

Applications, Kluwer, Boston, MA, 641-660, 1996.

[4] Gold H., Kovačević D., Kavran Z.: Informatika u prometnom inženjerstvu 1, Fakultet

prometnih znanosti, Sveučilište u Zagrebu, Zagreb, 2001.

[5] Goldberg D.E.: Genetic Algorithms in Search, Optimization and Machine Learning,

Addison-Wesley, Reading MA, 1989.

[6] Holland J.H.: Adaptation in Natural and Artificial Systems, The University of

Michigan Press, AnnArbor, 1975.

[7] Kohonen T.: Self-Organization and Associative Memory, Springer, Berlin 1988.

[8] Martello S., Toth P.: Knapsack Problems: Algorithms and Computer Implementations,

Wiley, Chichester, UK, 1990.

[9] Pašagić H.: Matematičko modeliranje i teorija grafova, Fakultet prometnih znanosti,

Sveučilište u Zagrebu, Zagreb, 1998.

Page 119: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-119

[10] Srbljić S.: Jezični procesori 1: Uvod u teoriju formalnih jezika, auomata i gramatika,

Element, Zagreb, 2000.

[11] Toth P., Vigo D.: The Vehicle Routing Problem, SIAM, Philadelphia, 2002.

[12] Voss S., Woodruff D.: Optimization Software Class Libraries, Kluwer, Boston, 2002.

[13] Wren A.: Computers in Transport Planning and Operation, Ian Allan, London, 1971.

[14] Županović I.: Tehnologija cestovnog prijevoza, Fakultet prometnih znanosti,

Sveučilište u Zagrebu, Zagreb, 2002.

ČLANCI

[15] Balinski M., Quandt R.: On a integer program for a delivery problem, Operations

Research, 12:300-304,1964.

[16] Canen A.G., Scott L.G.: Bridging theory and practice in VRP, Journal of the

Operational Research Society 46-1, 1-9, 1995.

[17] Chang N., Lu H.Y.: GIS technology for vehicle routing and scheduling in solid waste

collection systems, Journal of Environmental Engineering 123-9, 901-911,1997.

[18] Christofides N., Elion S.: An Algorithm for the Vehicle Dispatching Problem,

Operational Research Quarterly 20, 309-318,1969.

[19] Clarke G., Wright J.W: Scheduling of vehicles from a central depot to a number of

delivery points, Operations Research 12, 568-581,1964.

[20] Dantzig G., Ramser J.: The Truck Dispatching Problem, Managment Science 6, 81-

91,1959.

Page 120: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-120

[21] Dueck G., Scheurer T.: Threshold accepting: A general purpose optimization

algorithm, Journal of Computational Physics 90, 161-175,1990.

[22] Dueck G., The great deluge algorithm and the record-to-record travel, Journal of

Computational Physics 104, 86-92,1993.

[23] Durbin R., Willshaw D.: An Analogue approach to the traveling salesman problem

using an elastic net method, Nature 326, 689-691, 1987.

[24] Fisher M.L.: Optimal solution of vehicle routing problem using k-trees, Operations

Research 42,626-642, 1994.

[25] Flood M.M, The Traveling Salesman Problem, Operations Research 4, 61-75,1953.

[26] Gavrin W.M., Crandall H.W., John J.B., Spellman R.A.: Applications of linear

programming in oil industry, Management Science, 3,407-430,1957.

[27] Gillett B., Miller L.: A heuristic algorithm for the vehicle dispatch problem,

Operations Research 22, 340-349, 1974.

[28] Glover F., Future Paths for Integer Programming and Links to Artificial Intelligence,

Computer & Operations Research 13, 533-549, 1986.

[29] Golden B.L., Magnanti T.L., Nguyen H.Q.: Implementing Vehicle Routing Algorithms,

Networks 7, 113-148, 1997.

[30] Hopfield J.J., Tank D.W.: Neural computation of decisions in optimization problems,

Biological Cybernetics 52, 141-152, 1985.

[31] Kirkpatrick S., Gelatt Jr C.D., Vecchi M.P.: Optimization by simulated annealing,

Science 220, 671-680, 1983.

[32] Laporte G.: The Vehicle Routing Problem: An overview of exact and approximative

algorithms, European Journal of Operational Research 59, 345-358, 1992.

Page 121: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-121

[33] Laporte G.: The traveling salesman problem: An overview of exact and approximate

algorithms, European Journal of Operational Research 59, 231-248, 1992.

[34] Miller D.L.: A matching based algorithm for capacitated vehicle routing problems,

ORSA Jounal on Computing 7,1:1-9, 1995.

[35] Nauer P.: Revised Report on the Algorithmic Language ALGOL 60, Communication

of the ACM 3, 5, 299-341, 1960.

[36] Osman I.H.: Metastrategy simulated annealing and tabu search for the vehicle routing

problem, Annals of Operations Research 41, 421-451, 1993.

[37] Rosenkrantz D.J., Sterans R.E., Lewis. II P.M.: An analysis for several heuristics for

the traveling salesman problem, SIAM J. Comput. 6, 563-581, 1977.

OSTALI IZVORI (doktorske disertacije, diplomski radovi, autorizirana predavanja, ...)

[38] Galić A.: Model poboljšanja prijevoznih procesa preusmjeravanjem vozila, Diplomski

rad, Fakultet prometnih znanosti, Sveučilište u Zagrebu, Zagreb, 2004.

[39] Gavish B., Graves S.: The traveling salesman problem and related problems, Working

Paper 7905, Graduate School of Management, University of Rochester, Rochester, NY

1979.

[40] Gavish B., Graves S., Scheduling and routing in transportation and distributions

systems: Formulations and new relaxation, Working Paper, Graduate School of

Management, University of Rochester, Rochester, NY 1982.

[41] Gold H.: Doprinos sigurnosti prometa primjenom inteligentnih informacijsko-

komunikacijskih modula, Doktorska disertacija, Fakultet prometnih znanosti

Sveučilišta u Zagrebu, 1994.

Page 122: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-122

[42] Kenny Z. Q.: Heuristic Methods For Vehicle Routing Problem with Time Windows,

Bachelor Degree Theses, National University of Singapore, 1999.

[43] Manger R.: Algoritmi za rješavanje NP-teških problema kombinatorne optimizacije,

Autorizirana predavanja poslijediplomskog kolegija, PMF Matematički odjel, Zagreb,

2004.

[44] Osman I.H., Christofides N.: Simulated Annealing and Descent Algorithms for

Capacitated Clustering Problem, Research Report, Imperial College, University of

London, Presented at EURO-X Conference, Beograd, Yugoslavia, 1989.

[45] Taillard E.D., Gambardella L.M., Gandreau M., Potvin J.Y.: Adaptive memory

programming: A unified view of metaheuristics, Research Rerport IDSIA/19-98

IDSIA, Lugano, Switzerland, 1998.

Page 123: Optimizacija Transport A - Tonci Caric Thesis

Doktorska disertacija mr. sc. Tonči Carić 8-123

Životopis

Rođen sam 26. srpnja, 1969. u Splitu. Maturirao sam u Matematičko-informatičkom

obrazovnom centru u Splitu. Studij na Elektrotehničkom fakultetu u Zagrebu završio sam 1993.

godine. Nakon studija radio sam u tvrtkama IN Servis i Teserak. Sudjelovao sam u pokretanju i

vođenju informatičkog časopisa BUG, gdje sam i danas aktivan.

Godine 1995. počeo sam raditi na Fakultetu prometnih znanosti na radnom mjestu

mlađeg asistenta na Katedri za informacije i komunikacije kod prof. dr. Frane Jelušića.

Magistrirao sam na Fakultetu elektrotehnike i računarstva 5. srpnja, 2000. Doktorski studij na

Fakultetu prometnih znanosti započeo sam 2001 godine. Sudjelujem u nastavi i znanstvenim

istraživanjima u području primjene elektrotehnike i računarstva u tehnologiji prometa.