Optimizacija rojem čestica
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
- Funkcija
-
funkcija čiji se ekstrem traži. Neke česte funkcije su
- x^y - x sa eksponentom y gdje je y neki broj
- sin(x) - sinus od x
- cos(x) - kosinus od x
- exp(x) - baza e sa eksponentom x
- Sjeme
-
Cijeli broj koji se koristi kao sjeme za generator nasumičnih brojeva
- Od - Do
-
Granice domene funkcije. Određuje raspon koji se pretražuje i iscrtava
- Broj točaka
-
Broj koji kaže koliko će se točaka izračunati radi crtanja funkcije. Veći broj
točaka, funkcija je bolje iscrtana
- Traži
-
Određuje tražimo li minimum ili maksimum funkcije
- Broj čestica
-
Broj čestica koje pretražuju prostor
- Brzina kalkulator
-
Određuje na koji način se računa nova brzina čestice i. Nakon što je brzina izračunata, nova lokacija svake čestice
se računa koristeći izraz
gdje je
trenutna lokacija
-
Standardni - brzina za svaku komponentu rješenja se računa koristeći izraz
gdje su
-
- nova brzina
-
- trenutna brzina
-
-
socijalni faktor
-
-
osobni faktor
-
i
-
pseudoslučajni brojevi iz intervala [0, 1]
-
- najbolje
rješenje pronađeno do sada unutar susjedstva čestice
-
- najbolje
rješenje pronađeno do sada od strane trenutne čestice
-
Konstantna inercija - brzina za svaku komponentu rješenja se računa koristeći izraz
gdje su
-
- konstanta inercije
-
- nova brzina
-
- trenutna brzina
-
-
socijalni faktor
-
-
osobni faktor
-
i
-
pseudoslučajni brojevi iz intervala [0, 1]
-
- najbolje
rješenje pronađeno do sada unutar susjedstva čestice
-
- najbolje
rješenje pronađeno do sada od strane trenutne čestice
-
Dinamička inercija - brzina za svaku komponentu rješenja se računa koristeći izraz
gdje su
-
- konstanta inercije
-
- nova brzina
-
- trenutna brzina
-
-
socijalni faktor
-
-
osobni faktor
-
i
-
pseudoslučajni brojevi iz intervala [0, 1]
-
- najbolje
rješenje pronađeno do sada unutar susjedstva čestice
-
- najbolje
rješenje pronađeno do sada od strane trenutne čestice
Pri tome se nakon svakog kruga faktor inercije ažurira koristeći izraz
gdje je
faktor smanjenja inercije
-
Dinamička ograničavajuća inercija - brzina za svaku komponentu rješenja se računa koristeći izraz
gdje su
-
- konstanta inercije
-
- nova brzina
-
- trenutna brzina
-
-
socijalni faktor
-
-
osobni faktor
-
i
-
pseudoslučajni brojevi iz intervala [0, 1]
-
- najbolje
rješenje pronađeno do sada unutar susjedstva čestice
-
- najbolje
rješenje pronađeno do sada od strane trenutne čestice
Pri tome se faktor inercije računa koristeći izraz
gdje su
-
Ograničavajuća brzina - brzina za svaku komponentu rješenja se računa koristeći izraz
gdje su
-
- nova brzina
-
- trenutna brzina
-
-
socijalni faktor
-
-
osobni faktor
-
i
-
pseudoslučajni brojevi iz intervala [0, 1]
-
- najbolje
rješenje pronađeno do sada unutar susjedstva čestice
-
- najbolje
rješenje pronađeno do sada od strane trenutne čestice
-
-
faktor smanjenja brzine
Pri tome se faktor smanjenja brzine računa koristeći izraze
i
. Pri tome mora vrijediti
- c1
- Konstanta koja određuje koliki je socijalni utjecaj
- c2
- Konstanta koja određuje koliki je osobni utjecaj
- Inercija
- Konstanta koja kaže kojim faktorom skaliramo trenutnu brzinu. Mora biti u rasponu [0, 1]
- Faktor smanjenja inercije
- Konstanta koja kaže kojim faktorom skaliramo trenutnu inerciju. Mora biti u rasponu [0, 1]
- Min inercija
- Minimalna inercija koja se koristi
- Faktor smanjenja inercije
- Maksimalna inercija koja se koristi
- Broj koraka inercije
- Određuje nakon koliko koraka simulacije inercija poprima vrijednost minimalne inercije
- Susjedstvo
-
Određuje kakvo je susjedsvo čestica
-
Globalno susjedstvo - čestica vidi sve preostale čestice
-
Lokalno susjedstvo - čestica vidi sve preostale čestice koje su od nje udaljene
za ne više od broja okolnih čestica.
Koristi se topologija prstena
- Broj okolnih čestica
- Određuje na koliku udaljenost čestica može vidjeti svoje susjede
- Granica brzine
- Određuje granice unutar kojih se mora nalaziti brzina. Ako se ne nalazi, korigira se na najbližu zadanu vrijednost
- Broj generacija
-
Određuje nakon koliko generacija se prestaje sa evoluiranjem populacije čestica
Korišteni alati otvorenog koda