Nelinearno programiranje - kaj je to, opredelitev in koncept

Kazalo:

Nelinearno programiranje - kaj je to, opredelitev in koncept
Nelinearno programiranje - kaj je to, opredelitev in koncept
Anonim

Nelinearno programiranje je metoda, s katero je ciljna funkcija optimizirana bodisi s povečevanjem bodisi z minimiziranjem. To ob upoštevanju različnih podanih omejitev. Zanj je značilno, da je lahko ciljna funkcija ali nekatere omejitve nelinearna.

Nelinearno programiranje je torej postopek, pri katerem se funkcija, ki jo je treba maksimirati, ali katera koli omejitev razlikuje od linearne ali enačbe prve stopnje, kjer spremenljivke dvignemo v stopnjo 1.

Ne smemo pozabiti, da je linearna enačba matematična enakost, ki ima lahko eno ali več neznank. Tako ima naslednjo osnovno obliko, kjer sta a in b konstanti, medtem ko sta x in y spremenljivki:

ax + b = y

Dodati je treba, da vsi elementi, ki sestavljajo tovrstno programiranje, ne bodo v skladu s to značilnostjo. Na primer, ciljna funkcija je lahko enačba druge stopnje in ena od spremenljivk na kvadrat, ki izpolnjuje naslednjo obliko:

y = os2+ bx + c

Zdaj bi lahko z nelinearnim programiranjem to funkcijo optimizirali, tako da bi našli največjo ali najmanjšo vrednost y. To ob upoštevanju, da za x veljajo določene omejitve.

Elementi nelinearnega programiranja

Glavni elementi nelinearnega programiranja so naslednji:

  • Cilj: Funkcija je optimizirana tako, da poveča ali zmanjša rezultat.
  • Omejitve: So tisti pogoji, ki jih je treba izpolniti pri optimizaciji ciljne funkcije. Lahko so algebrske enačbe ali neenakosti.

Nelinearno programiranje

Poglejmo za konec še nelinearno programiranje.

Recimo, da imamo naslednjo funkcijo:

y = 25 + 10x-x2

Imamo tudi naslednjo omejitev:

y = 50-3x

Kot lahko vidimo na grafu, se ciljna funkcija in omejitev sekata na dveh točkah, toda kjer je maksimiziran y, je x = 2,3, kjer je y = 43 (decimalk je približno).

Mejne točke lahko najdemo z enačenjem obeh enačb:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Potem ima kvadratna enačba dve rešitvi ali korenini, ki ju lahko najdemo z naslednjimi formulami, kjer je a = 1, b = -13 in c = 25.

Tako ugotovimo, da je x1 = 2,3467 (y = 43) in x2 = 10,653 (y = 18).

Opozoriti moramo, da je tovrstno programiranje bolj zapleteno kot linearno in na spletu ni na voljo toliko orodij za reševanje tovrstne optimizacije. Prikazani primer je zelo poenostavljen primer.