Icke-linjär programmering - Vad är det, definition och koncept

Innehållsförteckning:

Icke-linjär programmering - Vad är det, definition och koncept
Icke-linjär programmering - Vad är det, definition och koncept
Anonim

Icke-linjär programmering är en metod genom vilken en objektiv funktion optimeras, antingen genom att maximera eller minimera. Detta med hänsyn till olika angivna begränsningar. Det kännetecknas av att objektivfunktionen, eller några av begränsningarna, kan vara icke-linjär.

Icke-linjär programmering är alltså en process där funktionen som ska maximeras, eller någon av begränsningarna, skiljer sig från en linjär eller första grads ekvation, där variablerna höjs till effekten 1.

Vi måste komma ihåg att en linjär ekvation är en matematisk likhet som kan ha en eller flera okända. Således har den följande grundform, där a och b är konstanterna, medan x och y är variablerna:

ax + b = y

Det bör tilläggas att inte alla element som utgör denna typ av programmering kommer att uppfylla denna egenskap. Det kan till exempel vara så att objektivfunktionen är en ekvation av andra graden och att en av variablerna är kvadratisk och uppfyller följande form:

y = ax2+ bx + c

Nu, genom icke-linjär programmering, kan denna funktion optimeras för att hitta det maximala eller minsta värdet på y. Detta med hänsyn till att x är föremål för vissa begränsningar.

Element av olinjär programmering

Huvudelementen i icke-linjär programmering är följande:

  • Objektiv funktion: Det är funktionen som optimeras, antingen genom att maximera eller minimera resultatet.
  • Begränsningar: Det är de villkor som måste uppfyllas när du optimerar objektivfunktionen. Det kan vara algebraiska ekvationer eller ojämlikheter.

Icke-linjär programmeringsövning

Låt oss se, för att avsluta, en icke-linjär programmeringsövning.

Antag att vi har följande funktion:

y = 25 + 10x-x2

Vi har också följande begränsningar:

y = 50-3x

Som vi kan se i grafen skär objektivfunktionen och begränsningen vid två punkter, men där y maximeras är när x = 2.3, där y = 43 (decimaler är ungefärliga).

Avskärningspunkterna kan hittas genom att jämföra båda ekvationerna:

25 + 10x-x2= 50-3x

0 = x2-13x + 25

Sedan har den kvadratiska ekvationen ovan två lösningar eller rötter som kan hittas med följande formler, där a = 1, b = -13 och c = 25.

Således finner vi att x1 = 2.3467 (y = 43) och x2 = 10.653 (y = 18).

Vi måste varna för att denna typ av programmering är mer komplex än linjär, och det finns inte så många verktyg online för att lösa denna typ av optimering. Det visade exemplet är ett mycket förenklat fall.