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   Pozicija   gdje je Trenutna lokacija  trenutna lokacija
  • Standardni - brzina za svaku komponentu rješenja se računa koristeći izraz   Formula  gdje su
    • Nova brzina  - nova brzina
    • Trenutna brzina  - trenutna brzina
    • Socijalni faktor  - socijalni faktor
    • Osobni faktor  - osobni faktor
    • Pseudoslucajni broj  i Pseudoslucajni broj  - pseudoslučajni brojevi iz intervala [0, 1]
    • Socijalno najbolje  - najbolje rješenje pronađeno do sada unutar susjedstva čestice
    • Osobno najbolje  - 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   Formula  gdje su
    • Konstanta inercije  - konstanta inercije
    • Nova brzina  - nova brzina
    • Trenutna brzina  - trenutna brzina
    • Socijalni faktor  - socijalni faktor
    • Osobni faktor  - osobni faktor
    • Pseudoslucajni broj  i Pseudoslucajni broj  - pseudoslučajni brojevi iz intervala [0, 1]
    • Socijalno najbolje  - najbolje rješenje pronađeno do sada unutar susjedstva čestice
    • Osobno najbolje  - 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   Formula  gdje su
    • Konstanta inercije  - konstanta inercije
    • Nova brzina  - nova brzina
    • Trenutna brzina  - trenutna brzina
    • Socijalni faktor  - socijalni faktor
    • Osobni faktor  - osobni faktor
    • Pseudoslucajni broj  i Pseudoslucajni broj  - pseudoslučajni brojevi iz intervala [0, 1]
    • Socijalno najbolje  - najbolje rješenje pronađeno do sada unutar susjedstva čestice
    • Osobno najbolje  - najbolje rješenje pronađeno do sada od strane trenutne čestice
    Pri tome se nakon svakog kruga faktor inercije ažurira koristeći izraz   Omega formula  gdje je   Alfa   faktor smanjenja inercije
  • Dinamička ograničavajuća inercija - brzina za svaku komponentu rješenja se računa koristeći izraz   Formula  gdje su
    • Konstanta inercije  - konstanta inercije
    • Nova brzina  - nova brzina
    • Trenutna brzina  - trenutna brzina
    • Socijalni faktor  - socijalni faktor
    • Osobni faktor  - osobni faktor
    • Pseudoslucajni broj  i Pseudoslucajni broj  - pseudoslučajni brojevi iz intervala [0, 1]
    • Socijalno najbolje  - najbolje rješenje pronađeno do sada unutar susjedstva čestice
    • Osobno najbolje  - najbolje rješenje pronađeno do sada od strane trenutne čestice
    Pri tome se faktor inercije računa koristeći izraz   Dinamička ograničavajuća inercija  gdje su
  • Ograničavajuća brzina - brzina za svaku komponentu rješenja se računa koristeći izraz   Formula  gdje su
    • Nova brzina  - nova brzina
    • Trenutna brzina  - trenutna brzina
    • Socijalni faktor  - socijalni faktor
    • Osobni faktor  - osobni faktor
    • Pseudoslucajni broj  i Pseudoslucajni broj  - pseudoslučajni brojevi iz intervala [0, 1]
    • Socijalno najbolje  - najbolje rješenje pronađeno do sada unutar susjedstva čestice
    • Osobno najbolje  - najbolje rješenje pronađeno do sada od strane trenutne čestice
    • Faktor smanjenja brzine  - faktor smanjenja brzine
    Pri tome se faktor smanjenja brzine računa koristeći izraze   Faktor smanjenja brzine   i   Fi  . Pri tome mora vrijediti   Fi nejednakost
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