optimointialgoritmeja
Optimointialgoritmeja ovat menetelmät, joiden tehtävänä on löytää tavoitefunktion minimi tai maksimi annetun ongelman ehdoilla. Niitä käytetään laajasti esimerkiksi koneoppimisessa, suunnittelussa, resurssienhallinnassa ja taloudellisissa optimointitehtävissä. Tavoitefunktio voi kuvata kustannuksia, hyötyä tai virheen suuruutta, ja ehtoja voivat olla muuttujien sallitut arvot, epämuodolliset rajoitteet tai monimutkaisemmat tilarajoitteet.
Ongelmat voidaan luokitella monin tavoin. Yleisesti erotetaan jatkuvat ja diskreetit ongelmat sekä rajoitetut ja rajoittamattomat ongelmat.
Kantavana kategoriana ovat gradienttipohjaiset menetelmät ja niiden variaatiot. Unconstrained- eli rajoittamattomissa ongelmissa käytetään esimerkiksi gradienttihatkaa, Newtonin
Derivaatittomia ja stokastisia lähestymistapoja ovat Nelder–Mead -menetelmä, kuviohaku (pattern search), geneettiset algoritmit, simuloitu annealing sekäpartiikelasumennus (particle
Valinta optimointialgoritmille riippuu ongelman luonteesta, kuten konveksisuudesta, epälineaarisuudesta, häiriöistä ja tarvittavasta tarkkuudesta.