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