Nemlineáris programozás
A nemlineáris programozás egy olyan módszer, amellyel egy célfüggvényt maximalizálunk vagy minimalizálunk. Ez, figyelembe véve a különböző korlátozásokat adott. Jellemző, hogy a célfüggvény vagy a korlátozások egy része lehet nemlineáris.
A nemlineáris programozás tehát egy olyan folyamat, ahol a maximalizálandó függvény vagy bármely korlátozás eltér egy lineáris vagy elsőfokú egyenlettől, ahol a változókat 1 hatványára emeljük.
Emlékeznünk kell arra, hogy a lineáris egyenlet egy matematikai egyenlőség, amely egy vagy több ismeretlent tartalmazhat. Így a következő alapformája van, ahol a és b az állandók, míg x és y a változók:
ax + b = y
Hozzá kell tenni, hogy az ilyen típusú programozást alkotó elemek nem mindegyike felel meg ennek a jellemzőnek. Például előfordulhat, hogy a célfüggvény egy másodfokú egyenlet, és az egyik változó négyzetes, ami a következő alakot tölti be:
y = ax2 + bx + c
Most nemlineáris programozással ezt a függvényt optimalizálni lehet, megkeresve y maximális vagy minimális értékét. Ez, figyelembe véve, hogy x-re bizonyos korlátozások vonatkoznak.
A nemlineáris programozás elemei
A nemlineáris programozás fő elemei a következők:
- Célfüggvény: Ez a függvény optimalizálva van, akár az eredmény maximalizálásával, akár minimalizálásával.
- Korlátozások: Ezek azok a feltételek, amelyeknek teljesülniük kell a célfüggvény optimalizálásakor. Lehetnek algebrai egyenletek vagy egyenlőtlenségek.
Nemlineáris programozási gyakorlat
Végezetül lássunk egy nemlineáris programozási gyakorlatot.
Tegyük fel, hogy a következő függvényünk van:
y = 25 + 10x-x2
Nálunk a következő korlátozások is vonatkoznak:
y = 50-3x
Ahogy a grafikonon is láthatjuk, a célfüggvény és a megszorítás két pontban metszi egymást, de ahol y maximalizálódik, akkor x = 2,3, ahol y = 43 (a tizedesjegyek közelítőek).
A vágási pontokat a két egyenlet egyenlítésével találhatjuk meg:
25 + 10x-x2 = 50-3x
0 = x2-13x + 25
Ekkor a fenti másodfokú egyenletnek van két megoldása vagy gyöke, amelyek a következő képletekkel kereshetők, ahol a = 1, b = -13 és c = 25.
Így azt találjuk, hogy x1 = 2,3467 (y = 43) és x2 = 10,653 (y = 18).
Figyelmeztetnünk kell, hogy ez a fajta programozás bonyolultabb, mint lineáris, és nem sok online eszköz áll rendelkezésre az ilyen típusú optimalizálás megoldására. A bemutatott példa egy nagyon leegyszerűsített eset.
Címkék: gazdasági-elemzés adminisztráció Argentína