Sekwencyjne programowanie liniowo-kwadratowe
Sekwencyjne programowanie liniowo-kwadratowe ( SLQP ) to iteracyjna metoda rozwiązywania nieliniowych problemów optymalizacyjnych , w których funkcja celu i ograniczenia są dwukrotnie różniczkowalne w sposób ciągły . Podobnie jak w przypadku sekwencyjnego programowania kwadratowego (SQP), SLQP polega na rozwiązywaniu sekwencji podproblemów optymalizacji. Różnica między tymi dwoma podejściami polega na tym, że:
- w SQP każdy podproblem jest programem kwadratowym , z kwadratowym modelem celu podlegającym linearyzacji ograniczeń
- w SLQP na każdym kroku rozwiązywane są dwa podproblemy: program liniowy (LP) używany do określenia aktywnego zbioru , po którym następuje program kwadratowy z ograniczeniami równości (EQP) używany do obliczenia całkowitego kroku
Ten rozkład sprawia, że SLQP nadaje się do rozwiązywania problemów optymalizacyjnych na dużą skalę, dla których dostępne są wydajne rozwiązania LP i EQP, przy czym problemy te są łatwiejsze do skalowania niż pełnoprawne programy kwadratowe.
Podstawy algorytmu
Rozważ problem programowania nieliniowego postaci:
Lagrange'a dla tego problemu jest
gdzie i Lagrange'a _ _
faza LP
W fazie LP SLQP rozwiązywany jest następujący program liniowy:
Niech oznacza zbiór aktywny w optymalnym czyli powiedzieć, zestaw ograniczeń, które są równe zeru w . Oznacz przez i wektorów podrzędnych i do odpowiadające elementom .
Faza EQP
W fazie EQP SLQP kierunek wyszukiwania kroku jest uzyskiwany przez rozwiązanie następującego programu kwadratowego z ograniczeniami równości: re
Zauważ, że termin w powyższych funkcjach można pominąć w przypadku problemów z minimalizacją
Zobacz też
- Metoda Newtona
- Metoda sieczna
- Sekwencyjne programowanie liniowe
- Sekwencyjne programowanie kwadratowe
Notatki
- Jorge Nocedal i Stephen J. Wright (2006). Optymalizacja numeryczna . Skoczek. ISBN 0-387-30303-0 .