Optimizacija kolonijom mrava

PAŽNJA!
Biblioteka JFreeChart koja se koristi je malo veća te stoga i učitavanje appleta prvi puta traje malo duže. Budite strpljivi.
Također morate imati instaliran Java plugin za Vaš preglednik kako biste mogli pokrenuti program.

Evolucijski algoritmi

Pojašnjenje opcija

Gradovi
koordinate gradova u formatu Format gradova. Za gradove unesene kao pocetne vrijednosti, optimalna putanja je oko 7542
Sjeme
Cijeli broj koji se koristi kao sjeme za generator nasumičnih brojeva
Broj mrava
Određuje koliko se mrava seće
Algoritam
Određuje koji se algoritam koristi za simulaciju. Moguće je odabrati izmedu sljedećih algoritama
Konstanta isparavanja
konstanta isparavanja koja određuje kojim intenzitetom se obavlja isparavanje (u formulama oznaka Konstanta isparavanja)
Alfa
konstanta alfa (u formulama oznaka Alfa)
Beta
konstanta beta (u formulama oznaka Beta)
Broj mrava azurira
Određuje koliko se mrava sa najboljim rješenjem korisit za ažuriranje feromonskih tragova
Broj šetnji
Određuje koliko šetnji će svaki mrav napraviti

Objašnjenja pojedinih algoritama

Simple Ant Colony Algorithm

Pseudokod
Inicijaliziraj tragove
Dok nije kraj
	Za svakog od X mrava
		Obavi šetnju
	Ažuriraj globalno najbolje rješenje
	Za Y najboljih mrava
		Ažuriraj tragove puteva kojima je prošao
	Ispari tragove
                    
Inicijaliziraj tragove
Svakom putu se na pošetku postavlja količina feromona od 0.001 jedinica
Odabir puta
Svaki mrav bira sljedeće odrediste iz skupa gradova koje još nije posjetio (budic da radimo sa potpuno povezanim grafom, iz svakog grada se može docć u sve preostale) sa vjerojatnošću Vjerojatnost odabira puta gdje su
  • Vjerojatnost odabira grada - vjerojatnost odabira puta iz grada i u grad j
  • Skup gradova - skup gradova koje nismo posjetili
  • Jakost feromona - jakost feromona na putu iz grada i u grad j
  • Alfa - alfa konstanta
Ažuriranje tragova
Svaki mrav ažurira tragove na putu kojim je prošao koristeći relacije Azuriranje tragova i Delta traga gdje su
  • Duljina puta - duljina puta mrava koji ažurira
  • Jakost feromona - jakost feromona na putu iz grada i u grad j
Isparavanje tragova
Svim putevima se tragovi ažuriraju koristeći relaciju Azuriranje tragova gdje su

Ant System

Pseudokod
Inicijaliziraj tragove
Dok nije kraj
	Za svakog od X mrava
		Obavi šetnju
	Ažuriraj globalno najbolje rješenje
	Ispari tragove
	Za svakog od X mrava
		Ažuriraj tragove puteva kojima je prosao
                    
Inicijaliziraj tragove
Svakom putu se na pocetku postavlja količina feromona jednaka recipročnoj vrijednosti duljini puta pronađenoj uz pomoc pohlepnog algoritma
Odabir puta
Svaki mrav bira sljedeće odredište iz skupa gradova koje još nije posjetio (budući da radimo sa potpuno povezanim grafom, iz svakog grada se moze doći u sve preostale) sa vjerojatnošću Vjerojatnost odabira puta gdje su
  • Vjerojatnost odabira grada - vjerojatnost odabira puta iz grada i u grad j
  • Skup gradova - skup gradova koje nismo posjetili
  • Jakost feromona - jakost feromona na putu iz grada i u grad j
  • Vrijednost heuristicke funkcije - vrijednost heurističke funkcije na putu iz grada i u grad j (u našem slucaju recipročna vrijednost njihove međusobne udaljenosti)
  • Alfa - alfa konstanta
  • Beta - beta konstanta
Ažuriranje tragova
Svaki mrav ažurira tragove na putu kojim je prošao koristeći relacije Azuriranje tragova i Delta traga gdje su
  • Duljina puta - duljina puta mrava koji ažurira
  • Jakost feromona - jakost feromona na putu iz grada i u grad j
Isparavanje tragova
Svim putevima se tragovi ažuriraju koristeći relaciju Azuriranje tragova gdje su

Korišteni alati otvorenog koda