Nemlineáris programozás - mi ez, definíció és koncepció

Tartalomjegyzék:

Anonim

A nemlineáris programozás olyan módszer, amellyel egy célfüggvényt optimalizálnak, maximalizálva vagy minimalizálva. Ezt figyelembe véve a különböző korlátozásokat. Jellemzője, hogy a célfüggvény vagy néhány korlátozás nemlineáris lehet.

A nemlineáris programozás tehát egy olyan folyamat, ahol a maximalizálandó függvény vagy a korlátozások bármelyike ​​eltér a lineáris vagy az első fokú egyenlettől, ahol a változókat az 1 hatványra emelik.

Emlékeznünk kell arra, hogy a lineáris egyenlet egy matematikai egyenlőség, amelynek egy vagy több ismeretlen lehet. Í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ó összes elem nem felel meg ennek a jellemzőnek. Például előfordulhat, hogy a célfüggvény a második fokozat egyenlete, és az egyik változó négyzetes, kitöltve a következő formát:

y = ax2+ bx + c

Most, nemlineáris programozással, ez a függvény optimalizálható, megtalálva az 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:

  • Objektív funkció: A funkció optimalizálva van, maximalizálva vagy minimalizálva annak eredményét.
  • Korlátozások: Ezeknek a feltételeknek kell megfelelniük a célfüggvény optimalizálásakor. Lehet algebrai egyenlet vagy egyenlőtlenség.

Nemlineáris programozási gyakorlat

Nézzük meg a befejezést egy nemlineáris programozási gyakorlattal.

Tegyük fel, hogy a következő funkciónk van:

y = 25 + 10x-x2

A következő korlátozással is rendelkezünk:

y = 50-3x

Amint azt a grafikonon láthatjuk, a célfüggvény és a korlátozás két pontban metszik egymást, de ahol y maximalizálódik, amikor x = 2,3, ahol y = 43 (a tizedesjegyek hozzávetőlegesek).

A határértékek mindkét egyenlet megegyezésével megtalálhatók:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Ekkor a fenti másodfokú egyenletnek két megoldása vagy gyöke van, amelyek a következő képletekkel megtalálható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 az interneten nem áll rendelkezésre annyi eszköz az ilyen típusú optimalizálás megoldására. A bemutatott példa nagyon leegyszerűsített eset.