Oto schludny z optymalizacji: algorytm Alternative Direction Method of Multipliers (ADMM).
Biorąc pod uwagę niesprzężoną i wypukłą funkcję celu dwóch zmiennych (same zmienne mogą być wektorami) oraz ograniczenie liniowe łączące dwie zmienne:
minf1(x1)+f2(x2)
s.t.A1x1+A2x2=b
Rozszerzoną funkcją Lagrangian dla tego problemu optymalizacji byłby wtedy
Lρ(x1,x2,λ)=f1(x1)+f2(x2)+λT(A1x1+A2x2−b)+ρ2||A1x1+A2x2−b||22
Algorytm ADMM z grubsza działa, wykonując podział „Gaussa-Seidela” na rozszerzonej funkcji Lagrangiana dla tego problemu optymalizacji, minimalizując najpierw w odniesieniu do (podczas gdy pozostają naprawiono), następnie minimalizując w odniesieniu do (podczas gdy pozostają stałe), a następnie aktualizując . Cykl ten trwa do momentu spełnienia kryterium zatrzymania.Lρ(x1,x2,λ)x1x2,λLρ(x1,x2,λ)x2x1,λλ
(Uwaga: niektórzy badacze, tacy jak Eckstein, odrzucają widok podziału Gaussa-Siedela na rzecz operatorów proksymalnych, na przykład patrz http://rutcor.rutgers.edu/pub/rrr/reports2012/32_2012.pdf )
W przypadku problemów wypukłych udowodniono, że algorytm ten jest zbieżny - dla dwóch zestawów zmiennych. Nie dotyczy to trzech zmiennych. Na przykład problem optymalizacji
minf1(x1)+f2(x2)+f3(x3)
s.t.A1x1+A2x2+A3x3=b
Nawet jeśli wszystkie są wypukłe, podejście podobne do ADMM (minimalizowanie rozszerzonego Lagrangiana w odniesieniu do każdej zmiennej , a następnie aktualizowanie podwójnej zmiennej ) NIE jest gwarantowane, aby się zbiegało, jak pokazano w tym artykule.fxiλ
https://web.stanford.edu/~yyye/ADMM-final.pdf