optimointialgoritmeilla
Optimointialgoritmeilla viitataan menetelmiin, joita käytetään etsimään parhaita mahdollisia ratkaisuja ongelmissa, joissa tavoitefunktio on minimoitava tai maksimoitava ja mahdolliset rajoitteet on otettava huomioon. Ongelman yleinen muoto on: minimoida f(x) rajoitteineen x ∈ D, tai maksimoida f(x). Optimointia sovelletaan monilla aloilla kuten insinööritieteissä, taloustieteissä, koneoppimisessa ja logistiikassa.
Luokittelu: menetelmät voivat olla deterministisiä tai stokastisia, ja ratkaisut voivat olla paikallisia tai globaaleja. Joukko yleisiä
- Jatkuvan optimoinnin menetelmät: gradient descent ja sen muunnelmat (momentum, Nesterov), konjugoitujen gradienttien menetelmä, Newtonin menetelmä sekä
- Diskreetit ja kokonaisoptimointi: lineaarinen ohjelmointi (Simplex- ja interior-point -menetelmät); epälineaarisissa ongelmissa käytetään branch-and-bound ja branch-and-cut -menetelmiä.
- Heuristiset ja metaheuristiset menetelmät: geneettiset algoritmit, differential evolution, particle swarm optimization (PSO) ja muut bioinnoitetut lähestymistavat.
Sovelluksia ovat esimerkiksi resurssien jakaminen, tuotannon aikataulutus, reitinvalinta sekä hyperparametrien optimointi koneoppimisessa. Optimointialgoritmien valinta riippuu ongelman