Sekventiell linjär-kvadratisk programmering
Sekventiell linjär-kvadratisk programmering ( SLQP ) är en iterativ metod för icke-linjära optimeringsproblem där objektiv funktion och begränsningar är två gånger kontinuerligt differentierbara . På samma sätt som sekventiell kvadratisk programmering (SQP), fortsätter SLQP genom att lösa en sekvens av optimeringsunderproblem. Skillnaden mellan de två tillvägagångssätten är att:
- i SQP är varje delproblem ett kvadratiskt program , med en kvadratisk modell av målet föremål för en linearisering av begränsningarna
- i SLQP löses två delproblem i varje steg: ett linjärt program (LP) som används för att bestämma en aktiv uppsättning , följt av ett jämlikhetsbegränsat kvadratiskt program (EQP) som används för att beräkna det totala steget
Denna nedbrytning gör SLQP lämplig för storskaliga optimeringsproblem, för vilka effektiva LP- och EQP-lösare finns tillgängliga, dessa problem är lättare att skala än fullfjädrade kvadratiska program.
Grunderna i algoritmen
Tänk på ett icke-linjärt programmeringsproblem av formen:
Lagrangian för detta problem är
där och är lagrangemultiplikatorer .
LP-fas
I LP-fasen av SLQP löses följande linjära program:
Låt beteckna den aktiva mängden vid den optimala för detta problem, dvs. att säga, uppsättningen av begränsningar som är lika med noll vid . Beteckna med och undervektorerna för och som motsvarar element i .
EQP-fas
I EQP-fasen av SLQP, erhålls sökriktningen för steget genom att lösa följande jämlikhetsbegränsade kvadratiska program:
Observera att termen i objektivfunktionerna ovan kan utelämnas för minimeringsproblemen, eftersom den är konstant.
Se även
Anteckningar
- Jorge Nocedal och Stephen J. Wright (2006). Numerisk optimering . Springer. ISBN 0-387-30303-0 .