szó jelentését keresi. A DICTIOUS-ban nem csak a
szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
szót egyes és többes számban mondani. Minden, amit a
szóról tudni kell, itt található. A
szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Főnév
nonlinear programming (tsz. nonlinear programmings)
- (informatika) nemlineáris programozás
A nonlinear programming (rövidítve: NLP) olyan optimalizálási probléma, ahol a célfüggvény és/vagy a korlátok legalább egyike nem lineáris. Ez a programozási forma rendkívül fontos a való életbeli problémák többségénél, mert a legtöbb rendszer nem lineárisan viselkedik.
1. Definíció
Egy általános nemlineáris programozási probléma alakja:
: nemlineáris célfüggvény
: egyenlőtlenségi korlátok
: egyenlőségi korlátok
: döntési változók vektora
2. Miért fontos?
A legtöbb reális döntési helyzet nem írható le lineárisan. Például:
- Gazdaság: csökkenő hozadék, nemlineáris költségek
- Mérnöki tudomány: energiafogyasztás, terhelés
- AI, gépi tanulás: veszteségfüggvények
- Logisztika, hálózatok: nemlineáris sebesség, késleltetés
3. Példa – Nemlineáris célfüggvény
Feladat:
Minimalizáld:
Korlát:
Ez egy konvex NLP – mert
konvex, és a megengedett tartomány is az.
4. Lineáris vs. nemlineáris
Tulajdonság
|
Lineáris programozás (LP)
|
Nemlineáris programozás (NLP)
|
Célfüggvény
|
Lineáris
|
Nemlineáris
|
Korlátok
|
Lineáris
|
Lehetnek nemlineárisak
|
Megoldás
|
Szimplex, belső pont
|
Iteratív numerikus módszerek
|
Példa
|
Termelés, transzport
|
Portfólió optimalizálás, AI
|
5. NLP problémák típusai
a) Konvex NLP
- Célfüggvény konvex, tartomány konvex → garantált globális minimum
- Jó algoritmusok léteznek rá (pl. belsőpontos módszerek)
b) Nem konvex NLP
- Több lokális minimum is lehet
- Nehéz megtalálni a globális optimumot
6. Megoldási módszerek
a) Gradient descent (gradiens módszer)
- Használható, ha a célfüggvény differenciálható
- Iteratív lépések a gradiens irányába
b) Newton-módszer
- Másodrendű derivált (Hesse-mátrix) használata
- Gyorsabb, de számításigényes
c) KKT-feltételek
(Karush-Kuhn-Tucker conditions)
- Nemlineáris korlátokkal rendelkező problémák szükséges optimalitási feltételei
- Általánosítják a Lagrange-multiplikátorokat
d) Globális optimalizálás
- Szükséges nem konvex függvényekhez
- Példák: genetikus algoritmusok, szimulált hűtés, méhkolónia-optimalizálás
7. KKT feltételek – gyors áttekintés
Tegyük fel, hogy minimalizálunk
-et, ahol:


A KKT-feltételek:
- Állandóság:

- Korlátok teljesülése:

- Komplementaritás:


8. C++ példa – egyszerű NLP szimuláció (gradiens módszer)
#include <iostream>
#include <cmath>
double f(double x) {
return x * x + 2 * x + 1; // (x+1)^2 minimum x = -1
}
double df(double x) {
return 2 * x + 2;
}
int main() {
double x = 0; // kezdőpont
double alpha = 0.1; // lépésköz
int iter = 100;
for (int i = 0; i < iter; ++i) {
x = x - alpha * df(x);
}
std::cout << "Optimális x: " << x << ", f(x): " << f(x) << "\n";
return 0;
}
9. Alkalmazási területek
Terület
|
Használat
|
Gépi tanulás
|
Veszteségfüggvény minimalizálás
|
Pénzügy
|
Kockázat és hozam optimalizálás
|
Energiaipar
|
Erőművek működtetése, fogyasztás
|
Robotika
|
Mozgástervezés, vezérlés
|
Biológia
|
Modellillesztés, enzimek optimalizálása
|
10. Összefoglalás
Fogalom
|
Jelentés
|
NLP
|
Olyan optimalizálási feladat, ahol a célfüggvény vagy a korlátok nemlineárisak
|
Cél
|
Minimum vagy maximum megtalálása
|
Eszközök
|
Gradiens módszer, Newton, KKT, evolúciós algoritmusok
|
Kihívás
|
Lokális minimum, számítási költség, differenciálhatóság
|
Jelentőség
|
Szinte minden valós életbeli optimalizálásban jelen van
|