Semidefinitní programování - Semidefinite programming
Semidefinitní programování (SDP) je podpole z konvexní optimalizace zabývající se optimalizací lineárního Objektivní funkce (uživatelem zadaná funkce, kterou chce uživatel minimalizovat nebo maximalizovat) na průsečíku kužel z pozitivní semidefinit matice s afinní prostor, tj. a spektrahedron.
Semidefinitní programování je relativně nové pole optimalizace, o které je z několika důvodů stále větší zájem. Mnoho praktických problémů v operační výzkum a kombinatorická optimalizace lze modelovat nebo aproximovat jako semidefinitní programovací problémy. V teorii automatického řízení se SDP používají v kontextu lineární maticové nerovnosti. SDP jsou ve skutečnosti zvláštním případem programování kužele a lze je efektivně vyřešit pomocí vnitřní bodové metody.Všechno lineární programy lze vyjádřit jako SDP a prostřednictvím hierarchií SDP lze aproximovat řešení problémů optimalizace polynomů. Semidefinitní programování bylo použito v EU optimalizace složitých systémů. V posledních letech byly formulovány některé problémy se složitostí kvantových dotazů, pokud jde o semidefinitní programy.
Motivace a definice
Počáteční motivace
A lineární programování problém je takový, ve kterém chceme maximalizovat nebo minimalizovat lineární objektivní funkci reálných proměnných přes a polytop. V semidefinitním programování místo toho používáme vektory se skutečnou hodnotou a je nám dovoleno brát bodový součin vektorů; omezení negenativity na skutečné proměnné v LP (lineární programování) jsou nahrazeny omezeními semidefiniteness na maticových proměnných v SDP (semidefinitní programování). Obecný semidefinitní programovací problém lze definovat jako jakýkoli matematický programovací problém formuláře
Kde a jsou reálná čísla a je Tečkovaný produkt z a .
Ekvivalentní formulace
An matice se říká, že je pozitivní semidefinit pokud je to Gramianova matice některých vektorů (tj. pokud existují vektory takhle pro všechny ). Pokud tomu tak je, označíme to jako . Všimněte si, že existuje několik dalších ekvivalentních definic pozitivního semidefinitu, například pozitivní semidefinitní matice jsou samoadjung matice, které mají pouze nezáporné hodnoty vlastní čísla.
Označit podle prostor všech skutečné symetrické matice. Prostor je vybaven vnitřní produkt (kde označuje stopa )
Matematický program uvedený v předchozí části můžeme přepsat stejně
kde vstup v darováno z předchozí části a je symetrický matice s th vstup z předchozí části. Tedy matice a jsou symetrické a výše uvedené vnitřní produkty jsou dobře definované.
Všimněte si, že pokud přidáme uvolněné proměnné vhodně lze tento SDP převést na jeden z formulářů
Pro větší pohodlí může být SDP specifikován v mírně odlišné, ale ekvivalentní formě. Například lineární výrazy zahrnující nezáporné skalární do specifikace programu lze přidat proměnné. Toto zůstává SDP, protože každou proměnnou lze začlenit do matice jako diagonální vstup ( pro některé ). Zajistit to omezení lze přidat pro všechny . Jako další příklad si všimněte, že pro jakoukoli pozitivní semidefinitní matici , existuje sada vektorů takové, že , vstup z je the skalární součin z a . Proto jsou SDP často formulovány ve smyslu lineárních výrazů na skalárních produktech vektorů. Vzhledem k řešení SDP ve standardní formě, vektory lze obnovit v času (např. použitím neúplného Choleský rozklad X).
Teorie duality
Definice
Analogicky k lineárnímu programování, vzhledem k obecnému SDP formuláře
(primární problém nebo P-SDP), definujeme dvojí semidefinitní program (D-SDP) as
kde pro libovolné dvě matice a , prostředek .
Slabá dualita
The slabá dualita věta říká, že hodnota primárního SDP je přinejmenším hodnota dvojitého SDP. Proto jakékoli proveditelné řešení pro duální SDP omezuje primární hodnotu SDP a naopak jakékoli proveditelné řešení pro primární SDP horní hranici duální hodnoty SDP. To je proto, že
kde poslední nerovnost je, protože obě matice jsou kladné semidefinitní, a výsledek této funkce se někdy označuje jako dualita mezery.
Silná dualita
Za podmínky známé jako Slaterův stav, hodnota primárního a duálního SDP jsou stejné. Toto je známé jako silná dualita. Na rozdíl od pro lineární programy ne každý SDP však uspokojuje silnou dualitu; obecně může hodnota duálního SDP ležet striktně pod hodnotou primála.
(i) Předpokládejme, že primární problém (P-SDP) je omezen níže a je přísně proveditelný (tj. existuje takhle , ) Pak existuje optimální řešení do (D-SDP) a
(ii) Předpokládejme, že duální problém (D-SDP) je omezen výše a je přísně proveditelný (tj. pro některé ) Pak existuje optimální řešení do (P-SDP) a platí rovnost z (i).
Příklady
Příklad 1
Zvažte tři náhodné proměnné , , a . Podle definice jejich korelační koeficienty jsou platné právě tehdy
v takovém případě se tato matice nazývá korelační matice. Předpokládejme, že z některých předchozích znalostí (například empirických výsledků experimentu) víme, že a . Problém stanovení nejmenší a největší hodnoty can take je dáno:
- minimalizovat / maximalizovat
- podléhá
Jsme si stanovili získat odpověď. To lze formulovat pomocí SDP. Omezení nerovnosti řešíme rozšířením matice proměnných a zavedením uvolněné proměnné, například