Differentiaalievoluutioalgoritmin kontrolliparametrien valinta
Heiskanen, Matti (2015)
Kuvaus
Opinnäytetyö kokotekstinä PDF-muodossa.
Tiivistelmä
Differentiaalievoluutio on yleiskäyttöinen ja tehokas optimointimenetelmä, jonka menestys ja suoritusaika riippuvat käyttäjän valittavissa olevista kontrolliparametreista. Tässä työssä tutkitaan, miten hyvät kontrolliparametrien yhdistelmät vaihtelevat optimoitavan funktion mukaan, kun testijoukkona käytetään CEC05-testifunktioiden osajoukkoa. Parhaat mahdolliset parametriyhdistelmät pyritään löytämään metaevolutiivisesti siten, että differentiaalievoluutio optimoi omat kontrolliparametrinsa. Ylemmän tason versio differentiaalievoluutioalgoritmista optimoi kontrolliparametreja, joilla alemman tason versio yrittää ratkaista testijoukon funktioita.
Alemmalla tasolla oleva differentiaalievoluutioalgoritmi yritti ratkaista kunkin testiongelman 100 kertaa, mistä mitattiin tieto onnistumisesta ja tarvittu arviointifunktion kutsujen määrä. Ylemmän tason differentiaalievoluutioalgoritmi koostui populaatiosta parametrivektoreita, joiden hyvyyttä mitattiin onnistumisprosentilla ja arviointifunktion kutsujen määrän keskiarvolla. Ideaalitapauksessa onnistumisprosentti on korkea ja arviointifunktion kutsujen määrä on matala, mutta käytännössä nämä suorituskyvyn mittarit ovat ristiriidassa keskenään, joten eri kontrolliparametrit voivat tuottaa vain erilaisia kompromisseja näiden mittarien suhteen. Ylemmän tason differentiaalievoluutioalgoritmin populaatio suppenee approksimoimaan Pareto-optimaalista rintamaa, joka esittää parhaita kompromisseja mittareiden suhteen.
Tutkimuksen tuloksena on ylemmän tason viimeinen populaatio (per testifunktio), joka esittää funktiokohtaisesti optimoituja kontrolliparametreja. Aineiston analyysissä tuli esiin monia tunnettuja asioita: optimaaliset kontrolliparametrit ovat hyvin riippuvaisia funktiosta, suurempi populaatio johtaa parempaan onnistumisprosenttiin, mutta luotettavuuden kasvu tapahtuu nopeuden kustannuksella, ja populaation koon ja mutaatiovakion korrelaatiokerroin on yleensä negatiivinen, mutta sen suuruus vaihtelee. Aineisto osoittaa, että Zaharien c ei yleensä korreloi populaation koon, risteytysvakion, nopeuden tai luotettavuuden kanssa, mutta se korreloi voimakkaasti mutaatiovakion kanssa. Tutkimusmenetelmä osoitti olevansa käypä keino tutkia evoluutioalgoritmin optimaalisten kontrolliparametrien ominaisuuksia.
Alemmalla tasolla oleva differentiaalievoluutioalgoritmi yritti ratkaista kunkin testiongelman 100 kertaa, mistä mitattiin tieto onnistumisesta ja tarvittu arviointifunktion kutsujen määrä. Ylemmän tason differentiaalievoluutioalgoritmi koostui populaatiosta parametrivektoreita, joiden hyvyyttä mitattiin onnistumisprosentilla ja arviointifunktion kutsujen määrän keskiarvolla. Ideaalitapauksessa onnistumisprosentti on korkea ja arviointifunktion kutsujen määrä on matala, mutta käytännössä nämä suorituskyvyn mittarit ovat ristiriidassa keskenään, joten eri kontrolliparametrit voivat tuottaa vain erilaisia kompromisseja näiden mittarien suhteen. Ylemmän tason differentiaalievoluutioalgoritmin populaatio suppenee approksimoimaan Pareto-optimaalista rintamaa, joka esittää parhaita kompromisseja mittareiden suhteen.
Tutkimuksen tuloksena on ylemmän tason viimeinen populaatio (per testifunktio), joka esittää funktiokohtaisesti optimoituja kontrolliparametreja. Aineiston analyysissä tuli esiin monia tunnettuja asioita: optimaaliset kontrolliparametrit ovat hyvin riippuvaisia funktiosta, suurempi populaatio johtaa parempaan onnistumisprosenttiin, mutta luotettavuuden kasvu tapahtuu nopeuden kustannuksella, ja populaation koon ja mutaatiovakion korrelaatiokerroin on yleensä negatiivinen, mutta sen suuruus vaihtelee. Aineisto osoittaa, että Zaharien c ei yleensä korreloi populaation koon, risteytysvakion, nopeuden tai luotettavuuden kanssa, mutta se korreloi voimakkaasti mutaatiovakion kanssa. Tutkimusmenetelmä osoitti olevansa käypä keino tutkia evoluutioalgoritmin optimaalisten kontrolliparametrien ominaisuuksia.