Icke-linjära programmeringsmetoder och övningar

1239
David Holt

De icke-linjär programmering är processen att optimera en funktion som är beroende av flera oberoende variabler, som i sin tur är föremål för begränsningar.

Om en eller flera av begränsningarna, eller om funktionen att maximera eller minimera (kallas Objektiv funktion), det uttrycks inte som en linjär kombination av variablerna, så vi har ett olinjärt programmeringsproblem.

Figur 1. Icke-linjärt programmeringsproblem (NLP). där G är den (icke-linjära) funktionen som ska optimeras i det gröna området, bestämt av begränsningarna. Källa: F. Zapata.

Och därför kan inte procedurerna och metoderna för linjär programmering användas.

Till exempel kan den välkända metoden inte användas Simplex, vilket bara gäller när objektivfunktionen och begränsningarna alla är linjära kombinationer av problemvariablerna.

Artikelindex

  • 1 Metoder för linjär programmering
    • 1.1 Exempel på lösning med grafisk metod
  • 2 övningar
    • 2.1 - Övning 1 (Grafisk metod)
    • 2.2 - Övning 2 (Analytisk metod: Lagrange-multiplikatorer) 
    • 2.3 - Övning 3 (Noll gradient)
  • 3 Referenser

Linjära programmeringsmetoder

För icke-linjära programmeringsproblem är de viktigaste metoderna som ska användas: 

1.- Grafiska metoder.

2. - Lagrange-multiplikatorer för att utforska gränsen för lösningsregionen.

3.- Beräkning av lutningen för att utforska ytterligheten av objektivfunktionen.

4.- Metoden för nedåtgående steg för att hitta nollgradientpunkterna.

5.- Modifierad metod för Lagrange-multiplikatorerna (med tillståndet Karush-Kuhn-Tucker).

Exempel på lösning med grafisk metod

Ett exempel på en lösning med den grafiska metoden är den som kan ses i figur 2:

Figur 2. Exempel på ett icke-linjärt problem med icke-linjära begränsningar och dess grafiska lösning. Källa: F. Zapata.

Träning

- Övning 1 (grafisk metod)

Vinsten G för ett visst företag beror på det sålda beloppet av produkt X och det sålda beloppet för produkten Y, dessutom bestäms vinsten av följande formel:

G = 2 (X - 2)två + 3 (OCH - 3)två

Det är känt att beloppen X och Y har följande begränsningar:

X≥0; Y≥0 och X + Y ≤ 7

Bestäm värdena för X och Y som ger maximal förstärkning.

Figur 3. Ett företags vinst kan matematiskt modelleras för att hitta maximal vinst med icke-linjär programmering. Källa: Pixabay.

Lösning 

I detta problem är objektivfunktionen olinjär, medan de ojämlikheter som definierar begränsningarna är. Det är ett problem med icke-linjär programmering.

För att lösa detta problem väljs den grafiska metoden.

Först kommer lösningsregionen att bestämmas, vilket ges av begränsningarna.

Som X≥0; Y≥0 måste lösningen hittas i XY-planets första kvadrant, men eftersom det också måste vara sant att X + Y ≤ 7 ligger lösningen i det nedre halva planet av linjen X + Y = 7.

Lösningsregionen är skärningspunkten mellan den första kvadranten och linjens nedre halvplan, vilket ger upphov till ett triangulärt område där lösningen finns. Det är detsamma som anges i figur 1.

Å andra sidan kan förstärkningen G också representeras i det kartesiska planet, eftersom dess ekvation är den för en ellips med centrum (2,3).

Ellipsen visas i figur 1 för olika värden på G. Ju högre värde G är, desto större blir förstärkningen..

Det finns lösningar som tillhör regionen, men ger inte det maximala G-värdet, medan andra, som G = 92,4, ligger utanför den gröna zonen, det vill säga lösningszonen.

Därefter motsvarar det maximala värdet på G, så att X och Y tillhör lösningsregionen: 

G = 77 (maximal förstärkning), vilket ges för X = 7 och Y = 0. 

Intressant är att den maximala vinsten inträffar när försäljningsmängden för produkt Y är noll, medan mängden produkt X når sitt högsta möjliga värde..

- Övning 2 (Analytisk metod: Lagrange-multiplikatorer) 

Hitta lösningen (x, y) som gör funktionen f (x, y) = xtvå + 2 ochtvå vara maximalt i regionen g (x, y) = xtvå + Ytvå - 1 = 0.

Lösning

Det är helt klart ett icke-linjärt programmeringsproblem, eftersom både objektivfunktionen f (x, y) och begränsningen g (x, y) = 0 inte är en linjär kombination av variablerna x och y.

Lagrange-multiplikatormetoden kommer att användas, som först kräver att Lagrange-funktionen definieras L (x, y, λ):

L (x, y, λ) = f (x, y) - λ g (x, y) = xtvå + 2 ochtvå - λ (xtvå + Ytvå - 1) 

Där λ är en parameter som heter Lagrange-multiplikator.

För att bestämma de extrema värdena för objektivfunktionen f, i lösningsområdet som ges av begränsningen g (x, y) = 0, följ dessa steg:

-Hitta delderivaten av Lagrange-funktionen L, med avseende på x, y, λ.

-Ställ varje derivat till noll.

Här är sekvensen för dessa operationer:

  1. ∂L / ∂x = 2x - 2λx = 0
  2. ∂L / ∂y = 4y - 2λy = 0
  3. ∂L / ∂λ = - (xtvå + Ytvå - 1) = 0
Möjliga systemlösningar

En möjlig lösning av detta system är λ = 1 så att den första ekvationen är uppfylld, i vilket fall y = 0 så att den andra är uppfylld.

Denna lösning innebär att x = 1 eller x = -1 för att den tredje ekvationen ska kunna uppfyllas. På detta sätt har två lösningar S1 och S2 erhållits:

S1: (x = 1, y = 0)

S2: (x = -1, y = 0).

Det andra alternativet är att λ = 2 så att den andra ekvationen är uppfylld, oavsett värdet y.

I det här fallet är det enda sättet för den första ekvationen att vara uppfylld att x = 0. Med tanke på den tredje ekvationen finns det bara två möjliga lösningar, som vi kommer att kalla S3 och S4:

S3: (x = 0, y = 1)

S4: (x = 0, y = -1)

För att ta reda på vilken eller vilka av dessa lösningar som maximerar objektivfunktionen fortsätter vi med att ersätta i f (x, y):

S1: f (1, 0) = 1två + 2,0två = 1

S2: f (-1, 0) = (-1)två + 2,0två = 1

S3: f (0, 1) = 0två + 2.1två = 2

S4: f (0, -1) = 0två + tjugoett)två = 2

Vi drar slutsatsen att de lösningar som maximerar f, när x och y tillhör omkretsen g (x, y) = 0 är S3 och S4.

Värdena (x = 0, y = 1) och (x = 0, y = -1) maximerar f (x, y) i lösningsområdet g (x, y) = 0.

- Övning 3 (Noll gradient)

Hitta lösningar (x, y) för objektivfunktionen:

f (x, y) = xtvå + 2 ochtvå

Låt vara maximalt i regionen g (x, y) = xtvå + Ytvå - 1 ≤ 0.

Lösning

Denna övning liknar övning 2, men lösningsregionen (eller begränsning) sträcker sig till det inre området av omkretsen g (x, y) = 0, det vill säga till cirkeln g (x, y) ≤ 0. Detta inkluderar till omkretsen och dess inre region.

Lösningen vid gränsen har redan fastställts i övning 2, men den inre regionen återstår att utforska.

För att göra detta måste gradienten för funktionen f (x, y) beräknas och ställas lika med noll för att hitta extrema värden i lösningsområdet. Detta motsvarar beräkning av partiella derivat av f med avseende på x respektive y och inställning lika med noll:

∂f / ∂x = 2 x = 0

∂f / ∂y = 4 y = 0

Detta ekvationssystem har som enda lösning (x = 0, y = 0) som tillhör cirkeln g (x, y) ≤ 0.

Att ersätta detta värde i funktionen f resulterar i:

f (0, 0) = 0

Sammanfattningsvis är det maximala värdet som funktionen tar i lösningsregionen 2 och inträffar vid gränsen för lösningsregionen för värdena (x = 0, y = 1) och (x = 0, y = -1 ).

 Referenser

  1. Avriel, M. 2003. Icke-linjär programmering. Dover Publishing.
  2. Bazaraa. 1979. Icke-linjär programmering. John Wiley & Sons.
  3. Bertsekas, D. 1999. Icke-linjär programmering: 2: a upplagan. Athena Scientific.
  4. Nocedal, J. 1999. Numerisk optimering. Springer-Verlag.
  5. Wikipedia. Icke-linjär programmering. Återställd från: es.wikipedia.com

Ingen har kommenterat den här artikeln än.