log. modeli - skripta

29
Log. modeli Opskrbni lanac: sustav koji omogućuje zadovoljenje potreba potrošača (kupaca), ostvarujući pritom komercijalnu dobit. Obuhvaća međudjelovanje uključenih subjekata, kao što su: kupci, dobavljači sirovina i repromaterijala, proizvođači finalnih proizvoda, distributeri (veletrgovci), maloprodajni trgovci, logistički operateri, prijevoznici... To se međudjelovanje očituje u odvijanju tokova roba, informacija i financijskih sredstava između i unutar pojedinih faza opskrbnog lanca. Pojam opskrbni lanac može se razmatrati u užem smislu, s aspekta pojedinoga gospodarskog subjekta, primjerice tvrtke koja se sastoji od više geografski disperziranih poslovnih jedinica u kojima se sirovine, poluproizvodi ili gotovi proizvodi nabavljaju, proizvode ili distribuiraju. Tada se radi o unutarnjim robnim, informacijskim i financijskim tokovima tvrtke. Strukturu opskrbnog lanca čini niz procesa i robnih, informacijskih i financijskih tokova unutar i između pojednih faza. Nositelji tih procesa i tokova su glavni subjekti opskrbnog lanca, koji se s obzirom na svoje funkcije mogu svrstati u sljedećih pet skupina: 1. dobavljači, 2. proizvođači, 3. distributeri (veletrgovci), 4. maloprodajni trgovci (prodajna mjesta), 5. Kupci. Struktura opskrbnog lanca, odnosno procesi i tokovi koje se odvijaju u tom sustavu, općenito se mogu promatrati na sljedeća dva načina: 1. S obzirom na funkcionalne cikluse, procesi opskrbnog lanca mogu se grupirati u niz funkcionalnih ciklusa koji predstavljaju sučelja između dviju faza, odnosno interakcije subjekata iste faze. 2. S obzirom na inicijalizaciju, procesi opskrbnog lanca mogu se podijeliti na one čije izvršenje inicijalizira reakcija – odgovor na potražnju (eng. Pull Processes) i one čije izvršenje inicijalizira očekivanje – predviđanje potražnje (eng. Push Processes). Funkcionalni ciklusi opskrbnog lanca

Upload: klenovica

Post on 26-Oct-2015

67 views

Category:

Documents


3 download

DESCRIPTION

modeli skripta

TRANSCRIPT

Page 1: Log. Modeli - Skripta

Log modeli

Opskrbni lanac sustav koji omogućuje zadovoljenje potreba potrošača (kupaca) ostvarujući pritom komercijalnu dobit

Obuhvaća međudjelovanje uključenih subjekata kao što su kupci dobavljači sirovina i repromaterijala proizvođači finalnih proizvoda distributeri (veletrgovci) maloprodajni trgovci logistički operateri prijevoznici To se međudjelovanje očituje u odvijanju tokova roba informacija i financijskih sredstava između i unutar pojedinih faza opskrbnog lanca

Pojam opskrbni lanac može se razmatrati u užem smislu s aspekta pojedinoga gospodarskog subjekta primjerice tvrtke koja se sastoji od više geografski disperziranih poslovnih jedinica u kojima se sirovine poluproizvodi ili gotovi proizvodi nabavljaju proizvode ili distribuiraju Tada se radi o unutarnjim robnim informacijskim i financijskim tokovima tvrtke

Strukturu opskrbnog lanca čini niz procesa i robnih informacijskih i financijskih tokova unutar i između pojednih faza Nositelji tih procesa i tokova su glavni subjekti opskrbnog lanca koji se s obzirom na svoje funkcije mogu svrstati u sljedećih pet skupina

1 dobavljači

2 proizvođači

3 distributeri (veletrgovci)

4 maloprodajni trgovci (prodajna mjesta)

5 Kupci

Struktura opskrbnog lanca odnosno procesi i tokovi koje se odvijaju u tom sustavu općenito se mogu promatrati na sljedeća dva načina

1 S obzirom na funkcionalne cikluse procesi opskrbnog lanca mogu se grupirati u niz funkcionalnih ciklusa koji predstavljaju sučelja između dviju faza odnosno interakcije subjekata iste faze

2 S obzirom na inicijalizaciju procesi opskrbnog lanca mogu se podijeliti na one čije izvršenje inicijalizira reakcija ndash odgovor na potražnju (eng Pull Processes) i one čije izvršenje inicijalizira očekivanje ndash predviđanje potražnje (eng Push Processes)

Funkcionalni ciklusi opskrbnog lanca

Slijedom raščlambe opskrbnog lanca na četiri faze te definiranja pet skupina njegovih glavnih subjekata procesi opskrbnog lanca mogu se grupirati u niz od sljedeća četiri funkcionalna ciklusa

1 ciklus prodaje

2 ciklus zaliha

3 ciklus proizvoda

4 ciklus materijala

Inicijalizacija procesa opskrbnog lanca

Osnovna obilježja procesa opskrbnog lanca u kontekstu odnosa ponude i potražnje određena su vremenom i inicijalizacijom njihova izvršenja s obzirom na potražnju kupaca

Kronološki gledano pull ndash procesi odvijaju se nakon stvarno iskazane potražnje kao reakcija (odgovor) na potražnju u uvjetima poznate potražnje dok se push ndash procesi odvijaju prije stvarno iskazane potražnje u uvjetima kada potražnja još nije poznata nego se očekuje odnosno mora se predvidjeti

U kojoj je fazi odnosno između kojih je ciklusa u pojedinom opskrbom lancu pushpull ndash granica zavisi o strategiji opskrbnog lanca

Push ndash strategija opskrbnog lanca

okrupnjavanje robnih tokova

sporo reagiranje na promjene potražnje

Pull ndash strategija opskrbnog lanca

usitnjavanje robnih tokova brzo reagiranje na promjene potražnje

U praksi tvrtke u pravilu kombiniraju obje strategije kako bi pozitivne učinke svake iskoristile u primjeni na svom opskrbnom lancu Sučelje ovih strategija je pushpull ndash granica a takav se pristup upravljanju opskrbnim lancem naziva pushpull ndash strategija

Uravnoteženje opskrbnog lanca primarno znači određivanje točke kompromisa između suprotstavljenih zahtjeva efektivnosti i efikasnosti kako bi se strategija opskrbnog lanca uskladila s konkurentnom strategijom tvrtke

Strategija opskrbnog lanca podrazumijeva postavljanje ciljeva koje opskrbni lanac treba ispuniti te izgrađivanje odgovarajućih sposobnosti opskrbnog lanca koje su u tu svrhu potrebne

Konkurentna strategija tvrtke podrazumijeva određivanje skupa zahtjeva (potreba) kupaca koje proizvodi ili usluge dotične tvrtke trebaju zadovoljiti

Čimbenici opskrbnog lanca

Infrastruktura ndash čvorišta u mreži opskrbnog lanca iz kojih i u koje se transportiraju predmeti zaliha Postoje dvije vrste infrastrukturnih objekata proizvodni pogoni i skladišta

Zalihe ndash predstavljaju skup nabavljenih i proizvednih roba namijenjenih za kasnije potrebe Zalihe su raspoređene u strukturi opskrbnog lanca u vidu sirovina repromaterijala materijala u proizvodnji pomoćnog materijala i gotovih proizvoda

Transport ndash predstavlja kretanje roba (sirovina repromaterijala gotovih proizvoda) u sustavu opskrbnog lanca između i unutar pojedinih njegovih faza

Informacije ndash izravno utječu na ostale čimbenike opskrbnog lanca Sastoje se od podataka o procesima i tokovima u strukturi opskrbnog lanca koje primaju šalju i obrađuju subjekti pojedinih faza

Temeljni zadaci distribucije kao faze opskrbnog lanca koja prethodi potrošnji općenito se sastoje u sljedećem

skraćenje puta i vremena potrebnog da roba (ili usluga) stigne od mjesta proizvodnje do mjesta potrošnje

povećanje konkurentnosti robe

vremensko i prostorno usklađenje proizvodnje i potrošnje

programiranje proizvodnje prema zahtjevima (potrebama) potrošača

plasman novih proizvoda (ili usluga) na tržištu

stvaranje i mijenjanje navika potrošača

S obzirom na način (tehnologiju) fizičke distribucije postoje tri osnovne koncepcije distribucijskih mreža

1 Direktna dostava

2 Distribucijsko skladištenje

3 Cross docking

Na ovim se koncepcijama (i njihovim kombinacijama) zasnivaju sva praktična rješenja opskrbnog lanca u fazi distribucije

Direktna dostava

Prednosti

Manji troškovi infrastrukture i transportno-manipulacijkih sredstava

Nema troškova distributera i LDC-a

Kratki rokovi isporuke

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

Mane

Veća izloženost utjecajima neizvjesnosti potražnje

Povećani prijevozni troškovi

Problemi s povratom robe

Distribucijsko skladištenje

Prednosti

Smanjenje prijevoznih troškova

Obavljanje završnih operacija (VAS)

Povrat robe

Mane

Troškovi infrastrukture i transportno-manipulacijskih sredstava

Cross docking

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

DD Distributer

S O

R T

I R

A N

J E

Prijamiskrcaj

Ukrcajotprema

CROSS DOCKING TERMINAL

DOSTAVNA

VOZILA

IZLAZ

ULAZ

DOLAZNI

KAMIONI

Prednosti

manji troškovi manipulacija

reduciranje zaliha

reduciranje skladišnog prostora

brzina isporuke

Mane

Velika početna ulaganja

Visoki zahtjevi koordinacije uključenih subjekata

Sustav distribucije u prostoru se manifestira kao distribucijska mreža po kojoj se odvijaju robni tokovi između subjekata fizičke distribucije

Funkcioniranje distribucijske mreže treba promatrati s aspekta

ndash zahtjeva kupaca koji moraju biti zadovoljeni (konkurentna strategija efektivnost) i

ndash troškova zadovoljenja tih zahtjeva (efikasnost)

Oblikovanje distribucijske mreže u osnovi podrazumijeva

određivanje lokacija tehnologije i kapaciteta infrastrukture (skladišta distribucijski centri prodajna mjesta)

određivanje vrste i tehnologije prijevoza

izgrađivanje informacijsko-komunikacijskog sustava

Čimbenici oblikovanja distribucijskih mreža

Područje distribucije

Značajke proizvoda ili usluga

Rok isporuke (eng Lead time)

Asortiman proizvoda

Dostupnost proizvoda

Percepcija kupca

Transparentnost

Povrat robe

Outsourcing

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 2: Log. Modeli - Skripta

Inicijalizacija procesa opskrbnog lanca

Osnovna obilježja procesa opskrbnog lanca u kontekstu odnosa ponude i potražnje određena su vremenom i inicijalizacijom njihova izvršenja s obzirom na potražnju kupaca

Kronološki gledano pull ndash procesi odvijaju se nakon stvarno iskazane potražnje kao reakcija (odgovor) na potražnju u uvjetima poznate potražnje dok se push ndash procesi odvijaju prije stvarno iskazane potražnje u uvjetima kada potražnja još nije poznata nego se očekuje odnosno mora se predvidjeti

U kojoj je fazi odnosno između kojih je ciklusa u pojedinom opskrbom lancu pushpull ndash granica zavisi o strategiji opskrbnog lanca

Push ndash strategija opskrbnog lanca

okrupnjavanje robnih tokova

sporo reagiranje na promjene potražnje

Pull ndash strategija opskrbnog lanca

usitnjavanje robnih tokova brzo reagiranje na promjene potražnje

U praksi tvrtke u pravilu kombiniraju obje strategije kako bi pozitivne učinke svake iskoristile u primjeni na svom opskrbnom lancu Sučelje ovih strategija je pushpull ndash granica a takav se pristup upravljanju opskrbnim lancem naziva pushpull ndash strategija

Uravnoteženje opskrbnog lanca primarno znači određivanje točke kompromisa između suprotstavljenih zahtjeva efektivnosti i efikasnosti kako bi se strategija opskrbnog lanca uskladila s konkurentnom strategijom tvrtke

Strategija opskrbnog lanca podrazumijeva postavljanje ciljeva koje opskrbni lanac treba ispuniti te izgrađivanje odgovarajućih sposobnosti opskrbnog lanca koje su u tu svrhu potrebne

Konkurentna strategija tvrtke podrazumijeva određivanje skupa zahtjeva (potreba) kupaca koje proizvodi ili usluge dotične tvrtke trebaju zadovoljiti

Čimbenici opskrbnog lanca

Infrastruktura ndash čvorišta u mreži opskrbnog lanca iz kojih i u koje se transportiraju predmeti zaliha Postoje dvije vrste infrastrukturnih objekata proizvodni pogoni i skladišta

Zalihe ndash predstavljaju skup nabavljenih i proizvednih roba namijenjenih za kasnije potrebe Zalihe su raspoređene u strukturi opskrbnog lanca u vidu sirovina repromaterijala materijala u proizvodnji pomoćnog materijala i gotovih proizvoda

Transport ndash predstavlja kretanje roba (sirovina repromaterijala gotovih proizvoda) u sustavu opskrbnog lanca između i unutar pojedinih njegovih faza

Informacije ndash izravno utječu na ostale čimbenike opskrbnog lanca Sastoje se od podataka o procesima i tokovima u strukturi opskrbnog lanca koje primaju šalju i obrađuju subjekti pojedinih faza

Temeljni zadaci distribucije kao faze opskrbnog lanca koja prethodi potrošnji općenito se sastoje u sljedećem

skraćenje puta i vremena potrebnog da roba (ili usluga) stigne od mjesta proizvodnje do mjesta potrošnje

povećanje konkurentnosti robe

vremensko i prostorno usklađenje proizvodnje i potrošnje

programiranje proizvodnje prema zahtjevima (potrebama) potrošača

plasman novih proizvoda (ili usluga) na tržištu

stvaranje i mijenjanje navika potrošača

S obzirom na način (tehnologiju) fizičke distribucije postoje tri osnovne koncepcije distribucijskih mreža

1 Direktna dostava

2 Distribucijsko skladištenje

3 Cross docking

Na ovim se koncepcijama (i njihovim kombinacijama) zasnivaju sva praktična rješenja opskrbnog lanca u fazi distribucije

Direktna dostava

Prednosti

Manji troškovi infrastrukture i transportno-manipulacijkih sredstava

Nema troškova distributera i LDC-a

Kratki rokovi isporuke

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

Mane

Veća izloženost utjecajima neizvjesnosti potražnje

Povećani prijevozni troškovi

Problemi s povratom robe

Distribucijsko skladištenje

Prednosti

Smanjenje prijevoznih troškova

Obavljanje završnih operacija (VAS)

Povrat robe

Mane

Troškovi infrastrukture i transportno-manipulacijskih sredstava

Cross docking

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

DD Distributer

S O

R T

I R

A N

J E

Prijamiskrcaj

Ukrcajotprema

CROSS DOCKING TERMINAL

DOSTAVNA

VOZILA

IZLAZ

ULAZ

DOLAZNI

KAMIONI

Prednosti

manji troškovi manipulacija

reduciranje zaliha

reduciranje skladišnog prostora

brzina isporuke

Mane

Velika početna ulaganja

Visoki zahtjevi koordinacije uključenih subjekata

Sustav distribucije u prostoru se manifestira kao distribucijska mreža po kojoj se odvijaju robni tokovi između subjekata fizičke distribucije

Funkcioniranje distribucijske mreže treba promatrati s aspekta

ndash zahtjeva kupaca koji moraju biti zadovoljeni (konkurentna strategija efektivnost) i

ndash troškova zadovoljenja tih zahtjeva (efikasnost)

Oblikovanje distribucijske mreže u osnovi podrazumijeva

određivanje lokacija tehnologije i kapaciteta infrastrukture (skladišta distribucijski centri prodajna mjesta)

određivanje vrste i tehnologije prijevoza

izgrađivanje informacijsko-komunikacijskog sustava

Čimbenici oblikovanja distribucijskih mreža

Područje distribucije

Značajke proizvoda ili usluga

Rok isporuke (eng Lead time)

Asortiman proizvoda

Dostupnost proizvoda

Percepcija kupca

Transparentnost

Povrat robe

Outsourcing

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 3: Log. Modeli - Skripta

Temeljni zadaci distribucije kao faze opskrbnog lanca koja prethodi potrošnji općenito se sastoje u sljedećem

skraćenje puta i vremena potrebnog da roba (ili usluga) stigne od mjesta proizvodnje do mjesta potrošnje

povećanje konkurentnosti robe

vremensko i prostorno usklađenje proizvodnje i potrošnje

programiranje proizvodnje prema zahtjevima (potrebama) potrošača

plasman novih proizvoda (ili usluga) na tržištu

stvaranje i mijenjanje navika potrošača

S obzirom na način (tehnologiju) fizičke distribucije postoje tri osnovne koncepcije distribucijskih mreža

1 Direktna dostava

2 Distribucijsko skladištenje

3 Cross docking

Na ovim se koncepcijama (i njihovim kombinacijama) zasnivaju sva praktična rješenja opskrbnog lanca u fazi distribucije

Direktna dostava

Prednosti

Manji troškovi infrastrukture i transportno-manipulacijkih sredstava

Nema troškova distributera i LDC-a

Kratki rokovi isporuke

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

Mane

Veća izloženost utjecajima neizvjesnosti potražnje

Povećani prijevozni troškovi

Problemi s povratom robe

Distribucijsko skladištenje

Prednosti

Smanjenje prijevoznih troškova

Obavljanje završnih operacija (VAS)

Povrat robe

Mane

Troškovi infrastrukture i transportno-manipulacijskih sredstava

Cross docking

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

DD Distributer

S O

R T

I R

A N

J E

Prijamiskrcaj

Ukrcajotprema

CROSS DOCKING TERMINAL

DOSTAVNA

VOZILA

IZLAZ

ULAZ

DOLAZNI

KAMIONI

Prednosti

manji troškovi manipulacija

reduciranje zaliha

reduciranje skladišnog prostora

brzina isporuke

Mane

Velika početna ulaganja

Visoki zahtjevi koordinacije uključenih subjekata

Sustav distribucije u prostoru se manifestira kao distribucijska mreža po kojoj se odvijaju robni tokovi između subjekata fizičke distribucije

Funkcioniranje distribucijske mreže treba promatrati s aspekta

ndash zahtjeva kupaca koji moraju biti zadovoljeni (konkurentna strategija efektivnost) i

ndash troškova zadovoljenja tih zahtjeva (efikasnost)

Oblikovanje distribucijske mreže u osnovi podrazumijeva

određivanje lokacija tehnologije i kapaciteta infrastrukture (skladišta distribucijski centri prodajna mjesta)

određivanje vrste i tehnologije prijevoza

izgrađivanje informacijsko-komunikacijskog sustava

Čimbenici oblikovanja distribucijskih mreža

Područje distribucije

Značajke proizvoda ili usluga

Rok isporuke (eng Lead time)

Asortiman proizvoda

Dostupnost proizvoda

Percepcija kupca

Transparentnost

Povrat robe

Outsourcing

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 4: Log. Modeli - Skripta

Mane

Veća izloženost utjecajima neizvjesnosti potražnje

Povećani prijevozni troškovi

Problemi s povratom robe

Distribucijsko skladištenje

Prednosti

Smanjenje prijevoznih troškova

Obavljanje završnih operacija (VAS)

Povrat robe

Mane

Troškovi infrastrukture i transportno-manipulacijskih sredstava

Cross docking

PROIZVOĐAČ

K

K

K

K

K

K

K Kupci (prodajna mjesta)

Robni tokovi

DD Distributer

S O

R T

I R

A N

J E

Prijamiskrcaj

Ukrcajotprema

CROSS DOCKING TERMINAL

DOSTAVNA

VOZILA

IZLAZ

ULAZ

DOLAZNI

KAMIONI

Prednosti

manji troškovi manipulacija

reduciranje zaliha

reduciranje skladišnog prostora

brzina isporuke

Mane

Velika početna ulaganja

Visoki zahtjevi koordinacije uključenih subjekata

Sustav distribucije u prostoru se manifestira kao distribucijska mreža po kojoj se odvijaju robni tokovi između subjekata fizičke distribucije

Funkcioniranje distribucijske mreže treba promatrati s aspekta

ndash zahtjeva kupaca koji moraju biti zadovoljeni (konkurentna strategija efektivnost) i

ndash troškova zadovoljenja tih zahtjeva (efikasnost)

Oblikovanje distribucijske mreže u osnovi podrazumijeva

određivanje lokacija tehnologije i kapaciteta infrastrukture (skladišta distribucijski centri prodajna mjesta)

određivanje vrste i tehnologije prijevoza

izgrađivanje informacijsko-komunikacijskog sustava

Čimbenici oblikovanja distribucijskih mreža

Područje distribucije

Značajke proizvoda ili usluga

Rok isporuke (eng Lead time)

Asortiman proizvoda

Dostupnost proizvoda

Percepcija kupca

Transparentnost

Povrat robe

Outsourcing

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 5: Log. Modeli - Skripta

Prednosti

manji troškovi manipulacija

reduciranje zaliha

reduciranje skladišnog prostora

brzina isporuke

Mane

Velika početna ulaganja

Visoki zahtjevi koordinacije uključenih subjekata

Sustav distribucije u prostoru se manifestira kao distribucijska mreža po kojoj se odvijaju robni tokovi između subjekata fizičke distribucije

Funkcioniranje distribucijske mreže treba promatrati s aspekta

ndash zahtjeva kupaca koji moraju biti zadovoljeni (konkurentna strategija efektivnost) i

ndash troškova zadovoljenja tih zahtjeva (efikasnost)

Oblikovanje distribucijske mreže u osnovi podrazumijeva

određivanje lokacija tehnologije i kapaciteta infrastrukture (skladišta distribucijski centri prodajna mjesta)

određivanje vrste i tehnologije prijevoza

izgrađivanje informacijsko-komunikacijskog sustava

Čimbenici oblikovanja distribucijskih mreža

Područje distribucije

Značajke proizvoda ili usluga

Rok isporuke (eng Lead time)

Asortiman proizvoda

Dostupnost proizvoda

Percepcija kupca

Transparentnost

Povrat robe

Outsourcing

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 6: Log. Modeli - Skripta

Faze oblikovanja distribucijskih mreža

Faza I Utvrđivanje strategije opskrbnog lanca

Faza II Određivanje regionalne konfiguracije LDC-a

Faza III Određivanje mogućih lokacija LDC-a

Faza IV Izbor lokacija i određivanje kapaciteta LDC-a

Optimizacija

određivanje skupa vrijednosti varijabli odlučivanja (promjenjivih veličina) kojim se postiže optimalna vrijednost funkcije cilja (maksimalna ili minimalna) uz zadana ograničenja (uvjete)

Svrha optimizacije je maksimizirati korisnost odnosno minimizirati utrošak resursa uz zadana ograničenja

Funkcija cilja je matematički opis postavljenog cilja a ograničenja određuju skup mogućih ili izvedivih rješenja tj kvantitativno područje dopuštenih vrijednosti varijabli odlučivanja

Optimalno rješenje

najbolje (najpovoljnije) rješenje promatranog problema s obzirom na zadana ograničenja i postavljeni kriterij optimalnosti

Kriterija optimalnosti može biti više a zavisno o promatranom problemu to može biti minimizacija ili maksimizacija odnosno minimizacija jednih veličina uz istodobnu maksimizaciju drugih veličina

Primjer

- Odrediti plan proizvodnje tako da se ostvari najveća dobit

- Rasporediti posao tako da se utroši najmanje radnog vremena

- Odrediti raspored dostave tako da transportni troškovi budu minimalni

- Odrediti lokacije i kapacitet LDC-a tako da potražnja bude zadovoljena a troškovi distribucije minimalni

Definicija pojma model

predložak obrazac uzorak prikaz plan ili opis stvarnog predmeta pojave stanja zbivanja sustava ili koncepta

pojednostavljeni sažetak stvarnosti koji pomaže u daljnjem istraživanju

Prednost rada s modelom umjesto sa stvarnim sustavom je najizrazitija u slučajevima kada je promjena stvarnog sustava nemoguća (astronomija) nedopustiva (medicina) dugotrajna ili vrlo skupa (industrija transport)

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 7: Log. Modeli - Skripta

Podjela prema načinu opisivanja (prikaza) problema

Fizički modeli ndash metrička transformacija statični prikaz primjerice maketa globus model građe atoma heliocentrični sustav N Kopernika

Analogni modeli ndash sličan skup relevantnih karakteristika dinamični prikaz primjerice laboratorijske životinje mehanizmi grafikoni crteži

Simbolički modeli ndash široko područje primjene uporaba simbola matematički izrazi (matematički model) riječi znakovi (deskriptivni model) notni zapis (partitura)

Matematički model

matematički opis objekta modeliranja (sustava procesa problema) bilo da se radi o postojećem objektu ili o nečemu što tek treba izgraditi ili nastati

apstraktni prikaz realnog sustava korištenjem matematičkog jezika koji predstavlja postojeće spoznaje o tom sustavu u primjenjivoj formi

Sustav matematičkih izraza koji čine

ndash Funkcija cilja kriterij(i) optimalnosti (MinMax)

ndash Ograničenja (uvjeti) sustav linearnihnelinearnih jednadžbi iili nejednadžbi

ndash Varijable odlučivanja nenegativne realne cjelobrojne binarne

Modeli logističkih sustava

Deskriptivni modeli

Primjenjuju se u svrhu opisivanja analiziranja i objašnjavanja funkcionalnih odnosa elemenata sustava a uključuju sljedeće

Predviđanje potražnje tržišta predviđanje ulaznih troškova (sirovina repromaterijala) i drugih čimbenika temeljem podataka iz prethodnih razdoblja

Definiranje promjena logističkih i drugih troškova kao funkcije određenih utjecajnih čimbenika

Definiranje međuzavisnosti odvijanja proizvodnih aktivnosti i trošenja resursa

Simuliranje funkcioniranja opskrbnog lanca ili samo određenog dijela kao funkcije njegovih parametara i strategije

Normativni (optimizacijski) modeli

Primjenjuju se u svrhu donošenja odluka u sklopu projektiranja i operacionalizacije odnosno poboljšavanja sustava opskrbnog lanca Pojam normativni ovdje se odnosi na identificiranje norme (standarda) koja se žele postići

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 8: Log. Modeli - Skripta

Optimizacijski modeli su matematički modeli Izrada optimizacijskog modela podrazumijeva postojanje deskriptivnog modela i relevantnih podataka kao ulaznih veličina a njihova kvaliteta izravno utječe na kvalitetu rješenja dobivenog optimizacijom

Rješavanje logističkih problema primjenom matematičkih modela

Optimalno rješenje logističkog problema koji je matematički opisan (postoji matematički model problema) može se dobiti primjenom egzaktnih metoda primjerice grafičkom metodom ili simpleks metodom (linearno programiranje) odnosno ako bi to iziskivalo neprihvatljivo puno vremena primjenom heurističkih algoritama primjerice tabu algoritam simulirano kaljenje genetski algoritam mravlja kolonija koji daju rješenja za koja se ne može sa sigurnošću tvrditi da su optimalna ali su izvodljiva (moguća) s obzirom na zadana ograničenja (uvjete)

Međutim kako je prvenstveni cilj ovog kolegija prenijeti studentima što više aktualnih praktičnih znanja i vještina umjesto izučavanja metoda operacijskih istraživanja na primjerima tri osnovna logistička problema bit će prikazana optimizacija matematičkog modela primjenom programskog alata Solver koji je dio standardnog uredskog programskog paketa MS Office Excel

Problem alociranja resursa

U realnim logističkim sustavima pojedini resursi mogu biti ili postati nedostatni za zadovoljene postavljenih zahtjeva bilo da različiti procesi dijele iste resurse ili neki procesi zahtjevaju više različitih resursa

Primjer

ndash količina robe koju treba uskladištiti prelazi raspoloživi kapacitet LDC-a

ndash količina tereta koji treba transportirati prelazi kapacitet (nosivost) vozila

ndash raspoloživi broj radnika nedostatan je za obavljanje posla u zadanom roku

ndash ograničenja opreme u određenom segmentu proizvodne linije stvaraju usko grlo

ndash ograničena količina određenog sastojka sirovine ili repromaterijala

Optimalno rješenje u takvim slučajevima znači rasporediti i dodijeliti (alocirati) raspoložive resurse tako da ukupni rezultat cjeline sustava bude najbolji Pritom treba voditi računa o sljedećem pravilu

optimum cjeline ne mora biti zbroj optimuma pojedinih dijelova

Kako zbog nedostatnih resursa nije moguće zadovoljiti potrebe svih procesa procesi koji manje pridonose ukupnom rezultatu žrtvuju se u korist onih koji pridonose više ali samo do te mjere da funkcioniranje cjeline sustava ne bude ugroženo

Ovdje treba razmotriti sljedeća pitanja

- Kako definirati funkcije međuodnosa procesa i resursa

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 9: Log. Modeli - Skripta

- Kako identificirati uska grla

- Kako vrednovati rezultate procesa

Odgovori na ova pitanja određuju alokaciju resursa u danom slučaju Primjenom modela alociranja resursa može se u tom smislu optimizirati funkcioniranje logističkog sustava kao cjeline

Transportni problem

Transportni modeli su jedna vrsta modela mreže Zasnivaju na pretpostavci da se opskrbni lanac može prikazati kao mreža koja se sastoji od čvorova i spojnica koje ih povezuju

Čvorovi predstavljaju resurse a spojnice predstavljaju fizičke ili logičke veze između nijh preko kojih se odvijaju robni informacijski i financijski tokovi opskrbnog lanca

Transportni model prikazuje razdiobu robnih tokova unutar transportne mreže tj između čvorova čija je funkcija i lokacija poznata (određena)

Optimalno rješenje u takvim slučajevima znači povezati izvorišne čvorove (proizvodni pogoni distribucijski centri) i odredišne čvorove (skladišta prodajna mjesta) transportnim putovima tako da potražnja bude zadovoljena a trošak transportne mreže minimalan

Ovdje treba razmotriti sljedeća pitanja

- Iz kojih izvora opskrbljivati koja odredišta

- Kako kvantitativno odrediti razdiobu opskrbe

- Koje transportne putove odabrati

Odgovori na ova pitanja određuju suprastrukturno rješenje transportne mreže u danom slučaju Primjenom transportnih modela može se u tom smislu optimizirati funkcioniranje transportne mreže kao cjeline

Svojstva alokacijskog modela I transportnog modela

Za rješavanje problema optimizacijom matematičkog modela primjenom MS Excel programskog alata Solver bitno je uočiti sljedeća svojstva modela

1 Model ima samo jednu funkciju cilja

2 Varijable odlučivanja (argumenti funkcije cilja) međusobno su neovisnea učinak varijabli odlučivanja se zbraja

3 Relacije između vrijednosti funkcije cilja i njezinih argumenata (varijabli odlučivanja) kao i relacije ograničenja (uvjeta) su linearne

4 Varijable odlučivanja mogu poprimiti bilo koju nenegativnu cjelobrojnu vrijednost pri čemu je kod interpretacije dopušteno zaokruživanje (realni brojevi mdashgt cijeli brojevi) budući da su vrijednosti koje varijable mogu poprimiti dovoljno velike te se odstupanja nalaze u granicama točnosti ulaznih podataka (zaokruživanje ne može dovesti do grube greške)

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 10: Log. Modeli - Skripta

Varijable odlučivanja u mnogim problemima linearnog programiranja predstavljaju

nenegativne cjelobrojne vrijednosti Za takve probleme primjenjuje se metode

cjelobrojnog programiranja eng IP ndash Integer Programming

Mješovito cjelobrojno programiranje

Problemi koji sadrže i varijable odlučivanja kod kojih zaokruživanje nije dopušteno jer bi dovelo do grubih pogrešaka

To se odnosi na probleme kod kojih treba interpretirati odluke u ekstremnom slučaju samo DA ili NE Varijable odlučivanja tada poprimaju vrijednosti 0 ili 1 (binarne varijable 0 = NE 1 = DA)

Primjerice kod oblikovanja distribucijske mreže treba donijeti odluku hoće li se ili neće otvoriti DC (distribucijski centar) na određenoj lokaciji te koliki kapacitet DC-a treba odrediti

Za takve probleme primjenjuju se metode mješovitog cjelobrojnog programiranja eng MIP ndash Mixed Integer Programming

Lokacijski modeli također su jedna vrsta modela mreže

Od transportnih modela razlikuju se po tomu što funkcije i lokacije mrežnih čvorova nisu poznate već ih treba odrediti

Optimalno rješenje u ovom slučaju znači

- odrediti broj i funkcije čvorova (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

- odrediti lokacije čvorova u logističkoj mreži

tako da potražnja bude zadovoljena a trošak logističke mreže minimalan

Pojam logistička mreža u ovom kontekstu može se odnositi na cijeli opskrbni lanac ili samo na pojedinu fazu primjerice na distribuciju

Kako odrediti broj i kapacitet infrastrukturnih objekata i gdje ih locirati

Odgovori na ova pitanja određuju infrastrukturno rješenje logističke mreže u danom slučaju

Primjenom lokacijskih modela može se u tom smislu optimizirati funkcioniranje logističke mreže kao cjeline

Problem distribucijske mreže

Model distribucijske mreže u osnovi predstavlja sublimaciju prethodna tri modela (alokacijski transportni i lokacijski model) dopunjenu još nekim parametrima

minus troškovi dopreme robe od luke do LDC-a

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 11: Log. Modeli - Skripta

minus varijabilni troškovi rada LDC-a

minus troškovi praznog hoda odnosno neiskorištenog kapaciteta LDC-a

u cilju postizanja višeg stupnja sličnosti s realnim sustavom

Optimalno rješenje u ovom slučaju znači odrediti

minus broj i funkcije svakog čvora (proizvodni pogon distribucijski centar cross docking terminal skladište prodajno mjesto)

minus kapacitet i lokacije čvorova u distribucijskoj mreži

minus raspored opskrbe (transportni putovi količine supstrata)

tako da potražnja bude zadovoljena a trošak distribucijske mreže minimalan

Kako odrediti broj i funkcije infrastrukturnih objekata njihove lokacije i s tim u svezi raspored opskrbe

Odgovori na ova pitanja određuju cjelovito rješenje distribucijske mreže u danom slučaju Primjenom ovakvih modela može se u tom smislu optimizirati funkcioniranje distribucijske mreže kao cjeline

RANSPORTNIMODEdoc dr sc Jasmina Pašagić ŠkrinjarHEURISTIČKE METODEUVOD1048708 Problemi koji se rješavaju na računalu su vrlo raznovrsni Neki od njih su dobro definirani i imaju jedno ili nekoliko diskretnih rješenja U nekima se rješenje može odrediti u prihvatljivom vremenu Kod nekih drugih problema vrijeme traženja točnog rješenja bi i na najbržem računalu bilo tako dugo da se moramo zadovoljiti najboljim dohvatljivim približnim rješenjem1048708 Za dobro strukturirane probleme mogu se definirati matematički modeli koji se rješavaju egzaktnim metodama Ove metode uvijek polaze od precizno formuliranog matematičkog modela koji dovoljno dobro odražava prirodu problema koji se rješava na primjer

Transport istovrsne robe1048708 U tablici 1 dane su količine robe a1 a2 a3 ndash ponuda koje treba transportirati iz ishodišta I1 I2 I3 u odredišta O1 O2 O3 O4 sa potražnjom b1 b2 b3 b4 U lijevom gornjem kutu svakog polja upisana je cijena cij transporta jedinične količine robe iz i-tog ishodišta u j ndashto odredište1048708 Tablica 11048708 Treba odrediti plan transporta tako da ukupni troškovi budu minimalni U ovom primjeru ponuda je jednaka potražnji tj1048708 Nepoznate veličine su xij tj koliko tereta treba iz i-tog ishodišta transportirati u j-to odredište1048708 Matematički model postavljenog problema jemin ( 5 x11 + 12 x12 + x13 + 4 x14 + 7 x21 + 8 x22 + 14 x23 + 6 x24 + 15 x31 + 4x32 + 2 x33 + 7 x34)uz ograničenja1048708 x11+x12+x13+x14=301048708 x21+x22+x23+x24=251048708 x31+x32+x33+x34=351048708 x11+x21+x31=101048708 x12+x22+x32=20

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 12: Log. Modeli - Skripta

1048708 x13+x23+x33=201048708 x14+x24+x34=401048708 xij ge 0 za i = 123 j = 12341048708 To je klasični problem transporta

1048708 Ovaj problem je dobro strukturiran može se napisati matematički model koji dobro predstavlja realnu situaciju te postoje matematičke metode tj egzaktne metode koje rješavaju ovakve i slične probleme1048708 Postavlja se pitanja što ako je problem velikih dimenzija i ako su cijene ponuda i potražnja slučajne varijable1048708 Većina realnih problema su slabo strukturirani tj mogu imati kompleksnu strukturu sa velikim brojem raznorodnih ograničenja koji se često ne mogu u potpunosti matematički formulirati pa se zato ne može formulirati precizan matematički model koji bi na zadovoljavajući način predstavljao ovustrukturu1048708 Tipičan primjer je problem nalaženja rasporeda sati u obrazovnoj ustanovi traženje optimalnog reda letenja za određenu zračnu luku ili opis procesa iskrcavanja broda1048708 Praktični problemi mogu sadržati i elemente neodređenosti neizvjesnosti I subjektivne procjene zahtijevati nelinearnost nekih svojih zavisnosti ili zadovoljenje više od jednog cilja što ih sve može učiniti veoma teškim i za modeliranje i za rješavanje Osim toga i kod nekih dobro strukturiranih problema može se desiti da u slučaju velikih dimenzija egzaktne metode ne mogu naći optimalno rješenje u razumnom vremenu Kao primjer problema čije bi rješavanje egzaktnim metodama zahtijevalo ogromne računarskeresurse i vrijeme obrade bilo bi neprihvatljivo veliko je problem trgovačkog putnikaProblem trgovačkog putnika1048708 Pretpostavimo da trgovački putnik želi da obiđe izvjestan broj gradova Kojim redoslijedom trgovački putnik treba da obilazi gradove tako da svaki grad obiđe bar jedanput da se po obilasku svih gradova vrati u početni grad i da pri tom pređe najmanji put 1048708 Sa problemom trgovačkog putnika susrećemo se pri obavljanju distribucije sakupljanja ili neke druge usluge na logističkoj mreži Prilikom rješavanja problema trgovačkog putnika težimo da pronađemo najkraću rutu koja počinje u određenom čvoru logističke mreže prolazi kroz ostale čvorove mreže najmanje jedanput i završava u početnom čvoru1048708 Slučaj kada trgovački putnik mora posjetiti svaki čvor na transportnoj mreži točno jedanput pri čemu se vraća u početni čvor prevalivši najmanje moguće rastojanje obično se naziva klasičnim problemom trgovačkog putnika1048708 Ako rastojanje između bilo koja dva grada ne zavisi od pravca putovanja od jednog ka drugom ovaj problem se naziva simetrični problem trgovačkog putnika

1048708 Problemu trgovačkog putnika se može pridružiti težinski graf tako da svakom gradu odgovara jedan čvor grafa a svakom uređenom paru gradova (ij) i nej luk grafa usmjeren od odgovarajućeg čvora grada i do odgovarajućeg čvora grada j pri čemu je ovom luku pridružena bdquotežinaldquo jednaka cij Pošto u slučaju

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 13: Log. Modeli - Skripta

simetričnog problema trgovačkog putnika lukovi koji odgovaraju parovima gradova (ij) i (ji) imaju iste težine oni se mogu zamijeniti samo jednim neorijentiranim lukom ij s težinom cij pa tako pridruženo graf postaje neorijentirani slika 2 na primjer neorijentirani luk koji spaja čvorove 4 i 5 u oznaci 45 ima težini 7 što znači da je rastojanje između gradova 4 I 5 u oba smjera jednako 7Pridruženi graf za simetrični problem trgovačkog putnika sa n=5

1048708 Problem trgovačkog putnika je očigledno dobro strukturiran problem jer se može korektno jednostavno matematički modelirati ali je vrlo težak za egzaktno rješavanje Naime iako je skup dopustivih rješenja ovog problema konačan broj njegovih članova može biti veoma velik za n gradova on je jednak (n-1)2 Zato bi rješavanje problema potpunim pretraživanjem tj generiranjem svih dopustivih putovanja trgovačkog putnika i izborom najkraćeg od njih bilo za veliko n praktično neostvarivo u razumnom vremenu1048708 Zato se sredinom 60-tih godina prošlog stoljeća zajedno sa razvojem kompjutorskih znanosti umjetne inteligencije i računarske tehnologije počeli u okviru operacijskih istraživanja razvijati tzv heurističke metode ili heuristike koje pokušavaju razraditi prethodno opisane poteškoćeHeuristike ne koriste klasično formalizirane matematičke postupke bazirane na teoriji pa zato njihova primjena pri rješavanju problema ne garantira nalaženje optimalnog rješenja Međutim ove metode omogućuju implementaciju različitih zdravo razumskih pravila koja često imitiraju process ljudskog mišljenja oslanjajući se na pozitivno ljudsko iskustvo i intuiciju Zbog toga inteligentno koncipirane heuristike mogu osigurati rješenja vrlo bliska optimalnim1048708 Iako u početku podcjenjivane heurističke metode su danas postale jedan od uobičajenih načina a ponekad i jedini način za rješavanje mnogobrojnih i raznovrsnih kompleksnih realnih problema u mnogim područjima pa tako I u logistici i transportu1048708 Osim toga od sredine 80-tih godina prošlog stoljeća se intenzivno razvija I široko primjenjuje čitav niz sistematiziranih heurističkih metoda tzv umjetne inteligencije koji daju opća načela za rješavanje problema nezavisno od specifičnosti njihove strukture

Pojam heuristike1048708 Naziv bdquoheuristikaldquo potiče od starogrčke riječi bdquoheuriskeinldquo ndash što znači bdquonaćildquo ili bdquootkritildquo (Čuveni Arhimedov uzvik bdquoEurekaldquo predstavlja prošlo vrijeme ovog glagola)

1048708 Heurističke se metode redovito upotrebljavaju i u svakodnevnom životu Kad idemo na posao nastojimo odabrati najbolju varijantu hoćemo li ići tramvajem automobilom ili pješice Odlučujemo i kojim je putom najbolje poći Odluke ćemo donijeti bez proračuna i mjerenja situacije na terenu1048708 Odluke donosimo u svakodnevnom životu pomoću grubih procjena koje ne možemo nazvati bdquometodamaldquo Ipak ako slični pristup želimo automatizirati za rad na računalu moramo definirati sustavni postupak koji tada ipak postaje metoda1048708 Općenito heurističke metode i metode umjetne inteligencije su osobito prikladne za rješavanje slabo definiranih problema koji se ne mogu dobro matematički formulirati kao što je već spomenuti problem ukrcaja i iskrcaja broda Upotrebljavaju se i za dobro definirane probleme koji bi se u teoriji mogli rješavati matematičkim metodama ali se od toga odustaje zbog nedostatka ili nepouzdanosti podataka Od matematičkih metoda ndash egzaktnih metoda isto će se odustati ako je vrijeme izvođenja programa zakorisnika neprihvatljivo1048708 Heuristika kao opći pojam danas se najčešće definira na slijedeći načinHeuristika je tehnika koja pokušava naći neka bdquodobraldquo rješenja problema (tj takva dopustiva rješenja problema koja su dovoljno bliska njegovom optimumu) u okviru razumnog vremena pri čemu se ne garantira da će nađeno rješenje biti optimalno niti se može odrediti njihova bliskost optimalnom rješenju1048708 Pri formiranju neke heuristike treba težiti da se implementiraju takva pravila koja omogućuju njeno bdquodobroldquo prosječno ponašanje

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 14: Log. Modeli - Skripta

1048708 Heuristički algoritmi trebaju imati još jednu važnu osobinu ndash da rade u razumnom vremenu tj da budu računski efikasni

1048708 Neka je na primjer broj čvorova u određenoj mreži jednak n Broj čvorova n je najčešće reprezentant dimenzija razmatranog problema Pretpostavimo da je ukupan broj elementarnih operacija E koje je potrebno obaviti prilikom primjene određenog algoritma jednak1048708 E = 4n4 + 5n3 + 2n +71048708 Za veće vrijednosti n najveći utjecaj na ukupan broj elementarnih operacija ima n4 Uobičajeno je da se kaže da je u ovakvom slučaju bdquoračunarska složenost algoritmaldquo proporcionalna n4 odnosno bdquo da je algoritam O(n4) Uz pretpostavku da svaka elementarna operacija zahtjeva jednu jedinicu vremena može se reći da algoritam zahtjeva O(n4) vremenaJasno je da je sa stajališta računarske složenosti algoritam utoliko bdquoboljildquo ukoliko zahtjeva obavljanje manjeg broja elementarnih operacija Tako je na primjer algoritam koji zahtjeva O(n2) vremena bdquoboljildquo algoritma koji zahtjeva O(n3) vremena1048708 Pod bdquodobrimldquo algoritmima se promatrano sa stajališta računarske složenosti smatraju tzv polinomski algoritmi Polinomski algoritmi su oni algoritmi čija je računarska složenost proporcionalna ili ograničenapolinomskom funkcijom reprezentanta dimenzije problema Tako su na primjer algoritmi koji zahtijevaju O(n2) O(n5) ili O(n6) vremena polinomski algoritmi1048708 Pod bdquološimldquo algoritmima podrazumijevaju se eksponencijalni (nepolinomski) algoritmi Eksponencijalni su na primjer algoritmi koji zahtijevaju O(3n) ili O(n) vremena1048708 Da bi heuristički algoritmi bili efikasni treba da budu polinomski da u razumno vrijeme mogu riješiti problem velikih dimenzija1048708 Postoji još čitav niz osobina koje je poželjno da neka heuristika zadovoljava Ona treba biti jednostavna da bi bila razumljiva za one koji je koriste I robusna tj da ne mijenja drastično svoje ponašanje za male promjene parametara problema treba ako je potrebno da posjeduje mogućnostgeneriranja većeg broja bdquodobrihldquo rješenja da bi korisnik mogao izabrati najprihvatljivije od njih u odnosu na neke kriterije koje je teško formalizirati treba imati i mogućnost interaktivnog rada gdje korisnik može interaktivno da utječe u većoj ili manjoj mjeri na proces dobivanja rješenja donoseći bitne odluke u nekim koracima heuristike itd

Primjer 1 ndash Heuristika za problem trgovačkog putnika1048708 Ovdje ćemo ukratko ilustrirati metodu najbližeg neposjećenog susjeda primijenjenu na grafički predstavljeni simetrični problem- slika21048708 Ova metoda polazeći od nekog čvora pridruženog grafa formira iterativno čvor po čvor tako da se u svakoj iteraciji kao slijedeći čvor bira najbliži neposjećeni susjed trenutnoga čvora Na primjer kod grafa na slici 2 ako bi se pošlo od čvora 1 tada bi se među njemu susjednim čvorovima 2 34izabrao najbliži čvor 3 kao slijedeći čvor dok bi se nadalje među neposjećenim susjedima 2 4 i 5 čvora 3 izabrao najbliži 4 kao slijedeći itdNa taj način bi se dobila tzv Hamiltonova kontura ili Hamiltonov ciklus (13452) čija je ukupna duljina 19 jer se iz točke 2 treba vratiti u 1 Hamiltonov ciklus na grafu G je ciklus koji sadrži sve vrhove od G1048708 Kako je problem simetričan istu ukupnu duljinu puta 19 imao bi obilazak u suprotnom smjeru tj (25431) Da smo za početnu točku izabrali čvor 3 tada bi metodom najbližeg neposjećenog susjeda dobili konturu (31452) čija je ukupna duljina 18 za konturu (14352) isto je ukupna duljina 18 to su inače optimalne konture

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 15: Log. Modeli - Skripta

1048708 Konture se mogu prikazati i grafički kao Hamiltonova kontura s težinama na lukovima - udaljenosti slika 3Kontura x1 f(x1) =19 Kontura x2 f(x2) = 181048708 Konture x1 i x2 moguća rješenja ili mogući obilasci a svi obilasci tj sve konture čine skup X Funkcija cilja za konturu x1 je f(x1) = 19 za x2 je f(x2) = 181048708 Napomenimo da danas postoje mnogo bdquointeligentnijeldquo polinomske heurističke metode koje zahvaljujući primjeni složenijih logičkih pravila osiguravaju nalaženje rješenja trgovačkog putnika koja su u prosjeku vrlo bliska optimumu

Primjena heurističkih metoda1048708 Mnogi praktični optimizacijski problemi imaju kombiniranu prirodu tj Mogu se formulirati kao specijalni slučajevi zadaća tzv kombinirane optimizacijeOva zadaća se u najopćenitijem obliku definira kao min f(x) ili max f(x) x isin X (1) gdje je X eksplicitno ili implicitno zadan skup sa konačno ili prebrojivo mnogo elemenata a f je bilo kakva funkcija takva da f X rarrR gdje je R skup svih realnih brojeva (Na primjer problem trgovačkog putnika je tipičan primjer kombinirane optimizacije)1048708 Znatan broj realnih zadaća tipa (1) predstavlja slabo strukturirane problem za koje je uslijed njihove kompleksnosti i nemogućnosti dovoljnog stupnja njihove formalizacije vrlo teško (a ponekad i nemoguće) kreirati egzaktne algoritme rješavanja Zato je jedini razumni način za nalaženje rješenja ovakvih problema primjena odgovarajućih dovoljno inteligentnih heuristika1048708 Osim toga postoji čitava jedna klasa dobro strukturiranih problema kombinirane optimizacije za koje postoje egzaktni algoritmi ali su svi oni neefikasni jer imaju eksponencijalnu složenost (npr 3n) Polinomski egzaktni algoritmi za ove probleme do danas nisu pronađeni pri čemu još nije dokazano da li oni postoje ili na postoje Ovakva klasa se naziva NP ndash klasom problema (nepolinomski problemi) Za efikasno rješavanje problema iz klase NP za sada koriste se pogodno definirane heurističke metode1048708 Heurističke procedure se često koriste i kao dio egzaktnih algoritama u cilju ubrzavanja procesa nalaženja optimalnih rješenja1048708 Napomenimo da nije uvijek lako procijeniti da li neki realnih problem treba rješavati egzaktno ili heuristički Naime ako se pri njegovom egzaktnom rješavanju pođe od matematičkog modela koji ne odražava dovoljno dobro realnost tada se može očekivati da će optimalno rješenje ovog modela bitidaleko od stvarnog optimalnog rješenja problema S druge strane pošto su heuristike obično fleksibilnije od egzaktnih metoda i sposobne su da savladaju znatno komplicirana i realnija ograničenja problema modeli od koji oni polaze mogu se formulirati tako da mnogo vjernije odražavaju strukturu problema Sada se postavlja pitanje da li je bolje egzaktno (točno) rješavati jedan nedovoljno precizno model ili heuristički (približno) rješavati jedan model koji mnogo više odgovara stvarnosti

Klasifikacija heuristika1048708 Jedna od uobičajenih klasifikacija heurističkih metoda obavlja se prema njihovom općem pristupu rješavanju problema Mogu se navesti neke vrste heuristika koje se često koriste u praksi1048708 Konstruktivne metode ndash generiraju samo jedno dopustivo rješenje problema koje primjenom odgovarajućih inteligentnih pravila treba biti blisko optimumu Pri tome se mogu koristiti dva principa1048708 princip bdquolokalnog kriterijaldquokod koga se u svakoj iteraciji od trenutno mogućih izbora bira onaj koji je bdquonajboljildquo po nekom lokalnom kriteriju i1048708 princip koji u svakoj iteraciji među trenutno mogućim izborima prepoznaje one koji mogu dovesti do formiranja lošeg krajnjeg rješenja pa se zato ovakvi izbori izbjegavaju1048708 Metode lokalnog pretraživanja (ili sekvencijalne metode) ndash iterativno generiraju čitav niz dopustivih rješenja problema težeći da ona budu sve bolja i bolja Pri tom se u svakoj iteraciji pretražuje bdquookolinaldquo trenutnog rješenja i u njoj bira prema nekom lokalnom kriteriju slijedeće rješenje u ovom nizu (Princip rada ovakvih heuristika biti će prikazano kada se bude govorilo o metodologiji Simuliranog kaljenja i Tabu pretraživanju)1048708 Evolucijske metode ndash u svakoj iteraciji generiraju ne jedno nego više dopustivih rješenja problema koja čine tzv bdquopopulacijuldquo pri čemu se teži da svaka slijedeće formirana populacija bude u prosjeku bolja od prethodne (Genetski algoritmi o kojima ćemo govoriti podržavaju baš ovakve metode)1048708 Metode dekompozicije ndash na heuristički način razbija problem na više potproblema manjih dimenzija Ovi potproblemi se zatim odvojeno heuristički ili egzaktno rješavaju pri čemu se vodi računa o njihovojmeđusobnoj korelaciji

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 16: Log. Modeli - Skripta

1048708 Induktivne metode ndash rješavaju veće i složenije probleme koristeći principe metoda razvijenih za manje i jednostavnije probleme istog tipa Takve metode se često izvode iz egzaktnih metoda koje uspješno rješavaju samo pojednostavljene modele grananja i ograđivanja za rješavanje linearnog cjelobrojnog programiranja u operacijskim istraživanjima Ako se ograniči vrijeme rada ove metode može se desiti da za velike dimenzije problema ona u okviru raspoloživog vremena ne dođe do optimalnog rješenja Zato se ovako ograničena metoda može smatrati induktivnom heuristikom1048708 Može se navesti još jedna novija klasifikacija ndash podjela heurističkih metoda na specijalne i opće Specijalne heuristike se dizajniraju za posebne vrste optimalizacijskih problema poštujući pri tome svojstva i specifičnosti ovih problema Zato se njima mogu rješavati samo oni problemi za koje su dizajnirani U prvoj fazi razvoja heurističkog pristupa intenzivno su razvijene samo metode ovog tipa tako da danas za svaki problem sa liste NP ndash kompletnih problema postoji bar jedna specijalna heuristika koja ga rješava1048708 Međutim od sredine 80-tih godina prošlog stoljeća počinju da se razvijaju tzvOpće heuristikeTo su heurističke metodologije općeg karaktera koje se mogu primijeniti na bilo koji problem kombinirane optimizacije bez obzira na specifičnost njegove strukture Široka primjena i popularnost općih heuristika u praksi kao I njihova velika prilagodljivost različitim vrstama problema su razlog zašto je ovim heuristikama posvećena posebna pažnja

OPĆA HEURISTIKA1048708 Opće heuristike (u literaturi često nazivane i metaheuristikama) su prije svega namijenjene rješavanju problema kombinirane optimizacije koji se u najopćenitijom slučaju mogu prikazati kao min f(x) x isinX1048708 gdje dopustivi skup tj prostor dopustivih rješenja X ima konačno mnogo elemenata Ove metodologije definiraju opći način rješavanja bilo kojeg problema gornjeg oblika pri čemu njihova konkretna interpretacija zavisi od prirode i specifičnosti strukture svakog pojedinačnog problema1048708 Među općim heuristikama najčešće se koriste Simulirano kaljenje Tabu pretraživanje Metode promjenljivih okolina Genetski algoritam Prva tri od njih baziraju se na principu lokalnog pretraživanja dok je posljednja evolucijskog tipa1048708 Interesantno je napomenuti da većina postojećih opći heuristika imitira neke spontane optimalizacijske procese koji se javljaju u prirodi Tako se Simulirano kaljenje zasniva na simulaciji termodinamičkog procesa kaljenja Tabu pretraživanje sadrži elemente umjetne inteligencije primjenjujući pretraživanje sa nekom vrstom inteligentnog bdquopamćenjaldquo dok Genetski algoritmi imitiraju proces prirodne selekcije jedinki u biološkim sustavimaPrincip lokalnog pretraživanja1048708 Princip lokalnog pretraživanja primijenjen na rješavanje problema min f(x) x isinX podrazumijeva definiranje neke strukture okolina u prostoru dopustivih rješenja X u okviru koje se svakom x isinX pridružuje neki podskup N(x) X x N(x) koji se naziva okolinom dopustivog rješenja x a njeni članovi su susjedi od x U lokalnom pretraživanju se polazi od proizvoljne točke x1 iz X kao od početnog rješenja pa se u svakoj iteraciji n pretražuje okolina N(xn) trenutnog rješenja xn i u njoj nalazi prema nekom definiranom pravilu izbora susjed koji predstavlja slijedeće rješenje xn+1 Ako se takav susjed ne može naći pretraživanje se zaustavlja I za aproksimaciju optimalnog rješenja problema min f(x) x isinX uzima seono među generiranim rješenjima za koje je vrijednost funkcije cilja f(x) najmanja

Kod diskretnog dopustivog skupa X okolina N(x) nekog dopustivog rješenja x može se u općem slučaju definirati kao skup svih onih elemenata y iz X koji mogu biti dobiveni direktno iz x primjenom neke unaprijed zadane modifikacije nazvane pomak iz x u y označen kao m(xy) Da bi neka struktura okolina osigurala efikasnost lokalnog pretraživanja intuitivno je jasno da pri određivanju ove modifikacije treba težiti da budu zadovoljeni slijedeći uvjeti1048708 Okolina svake točke iz X treba da bude simetrična tj y N(x) ako I samo ako x N(y)1048708 Struktura okolina treba da zadovoljava uvjet dostiživosti tj da se polazeći od bilo koje točke prostora X može nizom uzastopnih pomaka doći do bilo koje druge točke ovog prostora1048708 Pomak treba omogućiti što jednostavnije i brže generiranje susjednih rješenja tj preporučljivo je da ova modifikacija bude polinomske složenosti1048708 Okolina ne treba biti ni suviše velika ni suviše mala da bi se s jedne strane mogla lakše odgovarajuće pretraživati a s druge strane da bi pružila dovoljno mogućnosti da se nađe slijedeća točka pretraživanja

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 17: Log. Modeli - Skripta

Okolina za problem trgovačkog putnika1048708 Problem trgovačkog putnika može se shvatiti kao problem min f(x) x isinX u kome X predstavlja skup svih Hamiltonovih kontura odgovarajućeg grafa a f(x) je ukupna težina konture x1048708 Pri heurističkom rješavanju simetričnog problema trgovačkog putnika često se razmatra tzv 2-okolina neke Hamiltonove konture x u pridruženom neorjentiranom grafu koja se definiraju pomoću slijedeće modifikacije1048708 Iz konture x se eliminira dva njene nesusjedna luka čime se ona razbija na dva puta Ovi putovi se zatim spajaju s dva nova luka tako da se dobije nova Hamiltonova kontura y1048708 Prethodna modifikacija se naziva 2-razmjena između x i y i ona predstavlja pomak m(xy) Kontura y se smatra susjedom konture x dok sve konture koje se ovakvim pomakom mogu generirati iz x čine 2-okolinu N(x) slika 4

Slika 4 ndash 2-okolina za problem trgovačkog putnika1048708 Pravila izbora slijedeće točke xn+1 u procesu lokalnog pretraživanja mogu se definirati na različite načine Tako se kod klasičnih metoda bdquospuštanjaldquo dozvoljavaju samo bdquosilazećildquo pomaci tj pomaci u susjede koji poboljšavaju funkciju cilja jer se xn+1 bira tako da je f(xn+1) lang f(x) 1048708 Međutim glavni nedostatak pri primjeni metoda spuštanja na problem nalaženja globalnih minimuma (u koje spada i problem min f(x) x isinX) je što se često u procesu pretraživanja ne mogu izbjeći zamke lokalnog minimuma iz koje se ne može izvući korištenjem samo silazećih pomakaSlika5 Zaglavljivanje u lokalni minimumKod općih heuristika ndash Simuliranog kaljenja i Tabu pretraživanja ovaj nedostatak je realiziran tako što one koriste lokalno pretraživanje ali pri tome dozvoljavaju (na strogo kontrolirani način) i bdquouspinjućeldquopomake tj pomake koji vode u susjede sa lošijom (većom) vrijednosti funkcije cilja

SIMULIRANO KALJENJE1048708 Simulirano kaljenje (SK) je opća heuristika koja kombinira princip determinističke metode spuštanja sa vjerojatnosnim pristupom Naime u svakoj iteraciji ova heuristika na slučajan način generira nekog susjeda iz okoline trenutne točke uzimajući ga kao slijedeću točku pretraživanja ne samo u slučaju poboljšanja nego i u slučaju pogoršanja funkcije cilja ali sa izvjesnom vjerojatnosti koja se kontrolirano mijenja tijekom iteracija Na taj način se mogu izbjeći zamke lokalnih minimuma i tako povećati mogućnost dobivanja kvalitetnih rješenja1048708 Osnovni koncept simuliranog kaljenja je razvijen sa nekim algoritmima termodinamike kreiranim za simulaciju procesa kaljenja Oni simuliraju proces kontroliranog hlađenja (kaljenja) nekog rastopljenog materijala do postizanja kristaliziranog čvrstog stanja Pri ovoj simulaciji se na slučajan način mijenja trenutna konfiguracija atoma materijala što dovodi do promjene njegove unutarnje energije Ako se energija smanjuje nova konfiguracija atoma se prihvaća a ako se energija povećava ovakonfiguracija se prihvaća sa određenom vjerojatnosti Ako je smanjenje unutarnje energije dovoljno sporo tada materijal teži prema termodinamičkim zakonima da postigne stanje minimalne energije tj daočvrsne u pravilnu kristalnu strukturu bez devijacija1048708 Tek 80-tih godina prošlog stoljeća pokazano je da se osnovni principi na kojima se zasniva simulacija kaljenja mogu primijeniti na rješavanje optimalizacijskih problema pri čemu dopustivo rješenje odgovara jednoj mogućoj konfiguraciji atoma materijala vrijednost funkcije cilja njegovoj unutarnjoj energiji a prijelaz u susjedno rješenje promjeni energetskog stanja Od tada se ova metodologija pod nazivom bdquosimulirano kaljeneldquo (simulated annealing) primjenjuje kao opći heuristički pristup za rješavanjeproblema oblika min f(x) x isinX1048708 Sustav kaljenja se može u najopćenitijem slučaju prikazati u vidu slijedećeg algoritma1048708 Inicijalizacija Izabrati početno rješenje x1 X x = x1 f = f (x1 ) (x - optimalno)1048708 Iterativni korak Za n = 12hellip- Naći na slučajan način neko x iz okoline N(xn ) trenutnog rješenja xn - Ako f(x) le f(xn ) tada xn+1 = x - Ako f(x) lang f tada x = x f = f(x)- Ako je f(x) rang f(xn ) izabrati slučajan broj p uniforman na [01]- Ako p le pn tada xn+1 = x - Ako p rang pn tada xn+1 =xn

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 18: Log. Modeli - Skripta

1048708 Kraj Ako je zadovoljen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja

Primjena simuliranog kaljenja za problem trgovačkog putnika1048708 Najjednostavnija varijanta simuliranog kaljenja algoritma za rješavanje simetričnog problema trgovačkog putnika mogla bi se bazirati na slijedećim izborima1048708 Početna Hamiltonova kontura x1 se ili generira slučajno ili dobije primjenom neke od mnogobrojnih specijalnih heuristika razvijenih za ovaj problem Pošto se svaka Hamiltonova kontura u grafu sa n čvorova može predstaviti kao jedna permutacija indeksa svih čvorova ovog grafa tj brojevaod 1 do n tada se slučajno generiranje konture x1 svodi na slučajno nalaženje neke ovakve permutacije1048708 Kao okolina N(xn) trenutne konture xn može se koristiti 2-okolina definirana u ranijem primjeru U tom slučaju se slučajno generiranje nekog susjeda x iz N(xn) može realizirati na vrlo jednostavan način1048708 Ako je xn predstavljeno permutacijom i1 i2 hellip in indeksa čvorova grafa tada se primjenom slučajnih brojeva uniformnih na [01] slučajno biraju dva nesusjedna člana il i ik ove permutacije Tada se slučajni susjed dobije x dobije eliminiranjem ivica il il+1 i ik ik+1 iz konture xn sliku 41048708 Kontura x sa slike 4 predstavlja se permutacijom 1 2 3 4 5 6 Slučajni izbor dva nesusjedna člana 1 i 4 permutacije doveo bi do eliminiranja lukova 12 i 45 iz x i do generiranje susjeda y predstavljenog permutacijom 1 4 3 2 5 6

TABU PRETRAŽIVANJE1048708 Tabu pretraživanje se bazira na principu lokalnog pretraživanja i koristi kao svoju najvažniju komponentu tzv adaptivnu memoriju tj pamćenje nekih podataka o prethodnim fazama procesa pretraživanja koje zatim utječu na izbor slijedećih točaka u ovom procesu Naime u svakoj iteraciji n čuva se neka povijest H prethodnog pretraživanja tj zapis koji pamti izbrane karakteristike nekih od prethodno generiranih točaka Okolina N(xn) trenutne točke xn se modificira (smanjuje ili proširuje) u zavisnosti od povijesti H i na taj način formira skup N(xnH) svih kandidata za slijedeću točkupretraživanja xn+1 N(xnH) se često naziva i aktivnom okolinom točke xn u odnosu na povijest H1048708 Metoda tabu pretraživanje može se u najopćenitijem obliku prikazati na slijedeći načinInicijalizacija1048708 Izabrati početno rješenje x1 X x = x1 f = f(x)Iterativni korak Za n = 12hellip- Definirati aktivnu okolinu N(xn H) točke xn u odnosu na povijest H- Definirati podskup N (xn) N(xn H)- Odrediti xn+1 minimalizacijom funkcije f(x) na N (xn)- Ako je f(xn+1) lang f(x) tada x = x n+1 i f = f(xn+1)- Ažurirati povijest HKraj Ako je ispunjen kriterij zaustavljanja staje se a x se uzima za aproksimaciju optimalnog rješenja1048708 Najvažnijih dio metodologije tabu pretraživanja predstavlja definiranje odgovarajuće adaptivne memorije tj načina formiranja i ažuriranja povijesti H

1048708 U osnovnoj verziji tabu pretraživanja koristi se samo jedan tip takve memorije ndash tzv kratkoročna memorija kod koje u svakoj iteraciji H pamti karakteristike točaka generiranih u neposrednoj prošlosti Takvo H se formalno definira uvođenjem pojma tzv tabu lista1048708 Kriterij zaustavljanja može imati slijedeći oblik Procedura se zaustavlja ako je broj uzastopnih iteracija u kojima nije bilo poboljšanja trenutno najbolje vrijednosti f funkcije cilja veći od zadane vrijednostiPrimjena Tabu pretraživanja za problem trgovačkog putnika1048708 Na primjeru prikazanom na slici 4 može se ilustrirati pristup tabu pretraživanja na rješavanje simetričnog problema trgovačkog putnika koji koristi strukturu 2-okoline (druge okoline)1048708 Pod atributom nekog pomaka m(xy) smatra se jedan od novih lukova uvedenih u konturu y pri 2-razmjeni između kontura x i y Na bazi ovog atributa definira se tabu lista T Na primjer pri 2-razmjeni između kontura x i y na slici 4 uvedene su u y novi lukovi 1 4 i 2 5 Ako bi se pri Tabu pretraživanju prešlo iz x u y onda bi u Tabu listu ušao jedan od ovih lukova pa bi u slijedećem pomaku bilo zabranjeno njegova eliminacija iz konture y čime bi se spriječilo eventualno ponovno generiranje konture x

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 19: Log. Modeli - Skripta

GENETIČKI ALGORITAM1048708 Ovakvi algoritmi su prvobitno kreirani da simuliraju proces genetske evolucije jedne populacije jedinki pod djelovanjem okruženja i genetičkih operatora U ovom procesu je svaka jedinka okarakterizirana kromosomom koji predstavlja njen genetski kod One jedinke iz populacije koje su u većoj mjeri prilagođene okruženju međusobno se dalje reproduciraju (primjenom genetskih operatora na njihove kromosome) i tako se stvara nova generacija jedinki više prilagođena od prethodne1048708 Iako genetički algoritmi nisu prvobitno predviđeni za rješavanje optimalizacijskih problema pokazano je da se oni mogu koristiti i za optimalizaciju nelinearnih funkcija a u skorije vrijeme i kao opća heurističkametodologija za rješavanje problema min f(x) x isinX 1048708 Svakom rješenju iz prostora dopustivih rješenja X problema pridružuje se na točno definirani način jedan niz konačne duljine nad nekom konačnom abecedom simbola koji se naziva kod ovog rješenja Skup kodova svih dopustivih rješenja iz X čini prostor kodiranih rješenja Xk Sada genetički algoritam realizira takav proces pretraživanja koji generira točke ne direktno u prostoru X već u prostoru kodiranih rješenja Xk Tumačeći neko rješenje iz X kao jedinku a njegov kod kao kromosomom te jedinke Genetski algoritam u svakoj iteraciji generira ne jednu točku već skup više točaka iz Xk koji predstavlja populaciju1048708 U osnovnoj verziji genetski algoritam koristi binarno kodiranje odnosno brojeve u binarnom sustavu s elementima 0 i 1 tako kod duljine četiri elementa je npr 1010 ili duljine šest elemenata 1101011048708 U osnovnoj verziji genetskog algoritma upotrebljavaju se dvije vrste operatora za generiranje novih rješenja iz prostora mogućih rješenja operatori križanja i operatori mutacije

1048708 Operator križanja se po ugledu na istoimeni genetski proces definira u najopćenitijem slučaju kao postupak u kome se slučajno uzajamno razmjenjuju dijelovi kodova (kromosoma) dva rješenja iz X (roditelja) i tako dobiju kodovi dva nova rješenja (djeca) U tablici 2 prikazan je operator križanjaTablica 2Broj točaka križanja Roditelji Djeca1 1001 1010 1001 11111100 1111 1100 10102 010 101 11 010 111 11110 111 00 110 101 00Genetski algoritam za problem trgovačkog putnika1048708 Problem trgovačkog putnika je jedan od prvih problema kombinirane optimizacije na koji je primijenjena metodologija genetičkog algoritma1048708 Do sada je razvijeno čitav niz specijalnih operatora križanja koji generiraju djecu u vidu permutacija zamjena mjesta pojedinih elemenata1048708 Jedna od njih je uzajamno preslikavanje dijela kodova U tablici 3 prikazano je uzajamno preslikavanje u kodovima roditelja za drugu skupinu kodova kod roditelja1048708 Tablica 3 Specijalni operatori križanja permutacijaRoditelji Djeca31 472 65 27 613 4524 613 57 36 472 51

1048708 Kod problema trgovačkog putnika su razvijeni i posebni operatori mutacija koji osiguravaju očuvanje permutacija Takav je na primjer operator kod koga dva slučajno izabrana indeksa u permutaciji međusobno zamjene mjesta ili operator koji neki slučajno izabrani indeks permutacije pomjera za slučajan broj pozicija na lijevo ili na desno tablica 4Tablica 4Operatori mutacije Kod Mutirani kodZamjena mjesta broja3 i 6 2134567 2164537Promjena 5 ispred 1 2134567 2513467

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 20: Log. Modeli - Skripta

HIBRIDNI ALGORITMI1048708 Početne implementacije genetičkog algoritma za rješavanje teških problema su se pokazala neefikasnim u odnosu na algoritme simuliranog kaljenja ili tabu pretraživanja što je navelo istraživače da pokušaju iznaći modifikacije tih algoritama koje bi ih učinile prihvatljivim Rješenje se pronašlo u tzvHibridnim genetičkim algoritmima čija je karakteristika da je unutar genetičkog algoritma ugrađena komponenta lokalnog pretraživanja koja nakon operatora križanja i mutacije obavlja lokalno pretraživanje s ciljem poboljšanja jedinki u populaciji

PROBLEM NAPRTNJAČE1048708 Problem naprtnjače je kombinirani problem u kojem je potrebno maksimalizirati funkciju cilja Dano je n grumena koji sadrže bdquozlatoldquo I naprtnjača kapaciteta W U torbu treba spremiti onu kombinaciju grumenakoja je najvrednija tj koja sadrži najviše bdquozlataldquo Neka je poznatoprofit p0 p1 pn-1težine w0 w1 wn-1kapacitet W1048708 Problem naprtnjače ili problem ranca praktično je korišten u vojsci SAD za određivanje sadržaja vojne naprtnjače Svaki predmet pridružena je vjerojatnost da će biti potreban vojniku Ukupan volumen i ukupna težina bili su ograničenja Isti problem javlja se kod ukrcaja tereta u zrakoplov ili brodKod postavljana raznih predmeta na palete isto ili pakovanje kutija slični su problemi problemima naprtnjače1048708 Za rješavanje problema naprtnjače obično se koristi koncept tabu pretraživanja Ideja je te heuristike da se naprtnjača stalno bdquopuni i praznildquo na način da se u nju doda grumen s najvećim relativnim doprinosom profita a kada to nije moguće onda se oduzme grumen s najmanjim omjerom profita I težineAlgoritam heuristike tabu pretraživanja za problem naprtnjače1048708 ako postoji barem jedan i za koji vrijedi xi = 0 i nije u tabu listi tada među takvim i-ovima nađi onaj za kojeg je rarr max te promjeni pripadni bit u 1 ( xi se stavlja u naprtnjaču)1048708 inače razmatraj i-ove za koje je xi = 1 među njima nađi onaj za kojeg je rarrmin te promjeni pripadni bit u 0 ( xi se vadi iz naprtnjače)

PROBLEM KINESKOG POŠTARA1048708 Jedan od najpoznatijih i najviše izučavanih problema u problematici pokrivanja lukova grafa je problem kineskog poštara Naznačeni problem sastoji se u slijedećem1048708 On započinje sa raznošenjem pošte iz određenog čvora u kome je locirana pošta i tokom radnog vremena mora obići sve ulice u promatranom dijelu grada najmanje jedanput da bi se na završetku radnog vratio u poštuLogično je da sebi postavimo slijedeće pitanje koja je to ruta kojom se treba kretati poštar tako da rastojanje koje pređe bude minimalno pri čemu svaku ulicu treba obići najmanje jedanput1048708 Rješavanje problema kineskog poštara povezano je sa definicijama Eulerovog puta Pod Euler-ovom rutom se podrazumijeva ciklus kojim se kroz svaku granu u mreži prolazi točno jedanput Euler-ov put je put kojim se kroz svaki luk prolazi točno jedanput pri čemu se put ne završava u čvoru iz kojeg je počeo1048708 U zavisnosti od logističko ndash transportnog problema koji se razmatra pod poštarom mogu da se podrazumijevaju vozila za pranje ulica vozila dostave vozila za čišćenje ulica od snijega vozila za sakupljanje smeća u gusto naseljenim ulicama vozila koja se koriste za popravku i inspekciju komunalne infrastrukture

MRAVLJA KOLONIJA1048708 Mravi termiti pčele i ose imaju svojstvo tzv bdquokolektivne inteligencijeldquo Zadržimo se na primjeru mrava Mravi svakog dana izlaze iz mravinjaka u potrazi hranom Prva skupina mrava su bdquoizviđačildquo Oni lutaju nasumice I ostavljaju kemijski bdquoferomonski tragldquo po kojemu ih ostali mogu slijediti Onaj mrav koji prvi slučajno nađe hranu vraća se u mravinjak udvostručujući svoj trag Ostali mravi kreću po tom tragu i dodatno ga pojačavaju svojim tragom1048708 S vremenom sve više mrava ide po najjačem tragu do najboljeg nalazišta hrane Neki mravi u međuvremenu otkriju kraći put do cilja koji po istom algoritmu prihvaćaju i ostali Tako kolonija mrava zajednički nalazi optimalni put1048708 Mnogi heuristički algoritmi se još više unaprijediti i ubrzati ako se omogući da čovjek donosi odluku na kritičnim mjestima u algoritmu- bdquočovjek u petljildquo

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja

Page 21: Log. Modeli - Skripta

Stručnjak može iskoristiti svoje znanje iskustvo i intuiciju da spriječi pretraživanje onih dijelova područja u kojima je manja mogućnost postizanja optimuma

NEURONSKE MREŽE1048708 Istraživanja i razvoj neuronskih mreža motivirana su spoznajama o građi I načinu funkcioniranja ljudskog mozga te njegovim nevjerojatno velikim sposobnostima u rješavanju složenih problema Dva su osnovna cilja tih istraživanja1048708 prvi je razvoj novih struktura umjetnih neuronskih mreža koje bi funkcionirale na analogan način kao što funkcionira ljudski mozak I koje bi mogle oponašati barem neke njegove funkcije a1048708 drugi je njihova praktična primjena u rješavanju praktičnih problema1048708 Razvijeno je mnoštvo različitih struktura neuronskih mreža koje su u osnovi mogu podijeliti na statičke i dinamičke neuronske mreže (statičke ne zavise od vremenske komponente a dinamičke zavise od vremenske komponente)

1048708 Biološki neuron kao osnovna građevna jedinica biološke neuronske mreže prima i obrađuje informacije od drugih neurona iili od osjetilnih organa Sa stajališta obrade signala bez ulaženja u opisivanje elktrokemijskih procesa koji se događaju pri prijenosu i obradi signala biološki se neuron možepojednostavljeno prikazati kao stanica sastavljena od tijela (soma) mnoštva dendrita i aksona slika 6 Akson se može zamisliti kao tanka cjevčica čiji je jedan kraj povezan na tijelo neurona a drugi je razdijeljen na mnoštvo grana Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite a rijetko tijelo drugog neurona Mali razmak između završetka aksona prethodnog neurona i dendrita slijedećeg neurona naziva se sinapsa Sinapsa predstavlja memorijske članove biološke neuronske mreže Signali se od sinapsi dendritima šalju do tijela neurona gdje se prikupljaju i obrađuju Ovi signali mogu za tijelo neurona biti pobuđujući ili smirujućiSignali od drugih neurona ili od osjetila izlazi prema drugim neuronima1048708 Obrada signala u biološkom neuronu odvija se kroz dvije odvojene operacije1048708 sinaptička operacija daje određen značaj (težinu) svakom ulaznom signal u neuronu1048708 somatska operacija prikuplja sve bdquootežaneldquo ulazne signale te ako je njihova kumulativna vrijednost veća od praga osjetljivosti neurona generira impulse koje šalje prema drugim neuronima1048708 Umjetne neuronske mreže nastoje oponašati biološke neuronske mrežeIstraživanja iz područja umjetnih neuronskih mreža nisu nova ali su tek zadnjih deset godina postala intenzivna Jednostavni model neurona umjetne neuronske mreže zove se perceptron prikazan je na slici1048708 Povezivanjem velikog broja perceptrona moguće je modelirati ljudski mozak slika 7

Slika 7 ndash Shematski prikaz perceptoraMeđutim iako po svojoj organizaciji podsjeća na biološki neuron perceptron je pojednostavljen pa toga ima ograničene sposobnosti predstavljanja Podešavanje sinaptičkih težinskih koeficijenata perceptrona bila je prva umjetna neuronska mreža koja je imala sposobnost učenja