Epälineaarinen ohjelmointi - mikä se on, määritelmä ja käsite

Sisällysluettelo:

Anonim

Epälineaarinen ohjelmointi on menetelmä, jolla tavoitetoiminto optimoidaan joko maksimoimalla tai minimoimalla. Tämä ottaen huomioon annetut erilaiset rajoitukset. Sille on tunnusomaista, koska tavoitefunktio tai jotkut rajoitukset voivat olla epälineaarisia.

Epälineaarinen ohjelmointi on siis prosessi, jossa maksimoitava funktio tai jokin rajoituksista eroaa lineaarisesta tai ensimmäisen asteen yhtälöstä, jossa muuttujat nostetaan tehoon 1.

Meidän on muistettava, että lineaarinen yhtälö on matemaattinen yhtälö, jolla voi olla yksi tai useampi tuntematon. Siten sillä on seuraava perusmuoto, jossa a ja b ovat vakioita, kun taas x ja y ovat muuttujia:

ax + b = y

On lisättävä, että kaikki tämän tyyppisen ohjelmoinnin muodostavat elementit eivät ole tämän ominaisuuden mukaisia. Esimerkiksi voi olla, että tavoitefunktio on toisen asteen yhtälö ja yksi muuttujista on neliö, joka täyttää seuraavan muodon:

y = kirves2+ bx + c

Nyt epälineaarisen ohjelmoinnin avulla tämä toiminto voitaisiin optimoida etsimällä y: n suurin tai pienin arvo. Tämä ottaen huomioon, että x: ään sovelletaan tiettyjä rajoituksia.

Epälineaarisen ohjelmoinnin elementit

Epälineaarisen ohjelmoinnin pääelementit ovat seuraavat:

  • Tavoite Tehtävä: Toiminto on optimoitu joko maksimoimalla tai minimoimalla sen tulos.
  • Rajoitukset: Ne ovat ehtoja, jotka on täytettävä tavoitetoiminnon optimoinnissa. Se voi olla algebrallisia yhtälöitä tai eriarvoisuuksia.

Epälineaarinen ohjelmointiharjoitus

Katsotaan lopuksi epälineaarinen ohjelmointiharjoitus.

Oletetaan, että meillä on seuraava toiminto:

y = 25 + 10x-x2

Meillä on myös seuraava rajoitus:

y = 50-3x

Kuten käyrästä voidaan nähdä, tavoitefunktio ja rajoitus leikkaavat kahdessa pisteessä, mutta missä y on maksimoitu, kun x = 2,3, missä y = 43 (desimaalit ovat likimääräisiä).

Raja-arvot löytyvät yhtälöstä molemmat yhtälöt:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Sitten yllä olevalla asteen yhtälöllä on kaksi ratkaisua tai juurta, jotka löytyvät seuraavista kaavoista, joissa a = 1, b = -13 ja c = 25.

Täten havaitsemme, että x1 = 2,3467 (y = 43) ja x2 = 10,653 (y = 18).

Meidän on varoitettava, että tämän tyyppinen ohjelmointi on monimutkaisempaa kuin lineaarinen, eikä verkossa ole niin paljon työkaluja tämäntyyppisen optimoinnin ratkaisemiseksi. Esitetty esimerkki on hyvin yksinkertaistettu tapaus.