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

Řešení tohoto SDP dává minimální a maximální hodnoty tak jako a resp.

Příklad 2

Zvažte problém

minimalizovat
podléhá

kde to předpokládáme kdykoli .

Představujeme pomocnou proměnnou problém lze přeformulovat:

minimalizovat
podléhá

V této formulaci je cílem lineární funkce proměnných .

První omezení lze zapsat jako

kde matice je čtvercová matice s hodnotami v úhlopříčce rovnými prvkům vektoru .

Druhé omezení lze zapsat jako

Definování jak následuje

K tomu můžeme použít teorii Schurových doplňků

(Boyd a Vandenberghe, 1996)

Semidefinitní program spojený s tímto problémem je

minimalizovat
podléhá

Příklad 3 (Goemans – Williamsonův maximální aproximační algoritmus řezu)

Semidefinitní programy jsou důležitými nástroji pro vývoj aproximačních algoritmů pro NP-hard maximalizační problémy. První aproximační algoritmus založený na SDP je způsoben Michel Goemans a David P. Williamson (JACM, 1995). Studovali problém maximálního řezu: Vzhledem k graf G = (PROTI, E), výstup a rozdělit vrcholů PROTI tak, aby se maximalizoval počet hran přecházejících z jedné strany na druhou. Tento problém lze vyjádřit jako celočíselný kvadratický program:

Maximalizovat takové, že každý .

Ledaže P = NP, nemůžeme tento problém s maximalizací efektivně vyřešit. Goemans a Williamson však pozorovali obecný tříkrokový postup útoku na tento druh problému:

  1. Odpočinout si celočíselný kvadratický program do SDP.
  2. Vyřešte SDP (do libovolně malé chyby aditiva ).
  3. Kolo řešení SDP k získání přibližného řešení původního celočíselného kvadratického programu.

Pro maximální řez je nejpřirozenější relaxace

takhle , kde je maximalizace nad vektory místo celočíselných skalárů.

Toto je SDP, protože objektivní funkce a omezení jsou všechny lineární funkce vektorových vnitřních produktů. Vyřešením SDP získáte sadu jednotkových vektorů ; protože vektory nemusí být kolineární, hodnota tohoto uvolněného programu může být pouze vyšší než hodnota původního kvadratického celočíselného programu. Nakonec je pro získání oddílu zapotřebí postup zaokrouhlování. Goemans a Williamson jednoduše zvolí rovnoměrně náhodnou nadrovinu přes počátek a rozdělí vrcholy podle toho, na které straně nadroviny leží odpovídající vektory. Přímá analýza ukazuje, že tento postup dosahuje očekávaného přibližný poměr (záruka výkonu) 0,87856 - ε. (Očekávaná hodnota řezu je součet přes hrany pravděpodobnosti, že je hrana řezána, která je úměrná úhlu mezi vektory v koncových bodech hrany nad . Porovnání této pravděpodobnosti s , v očekávání je poměr vždy alespoň 0,87856.) Za předpokladu domněnky o jedinečných hrách, lze ukázat, že tento aproximační poměr je v zásadě optimální.

Od původního článku Goemansa a Williamsona byly SDP použity k vývoji mnoha aproximačních algoritmů. V poslední době Prasad Raghavendra vytvořil obecný rámec pro problémy s uspokojením omezení založený na domněnky o jedinečných hrách.[1]

Algoritmy

Existuje několik typů algoritmů pro řešení SDP. Tyto algoritmy vydávají hodnotu SDP až do aditivní chyby v čase, který je polynomem ve velikosti popisu programu a .

Existují také algoritmy redukce obličeje, které lze použít k předzpracování problémů s SDP kontrolou omezení daného problému. Lze je použít k detekci nedostatku přísné proveditelnosti, k odstranění nadbytečných řádků a sloupců a také ke zmenšení velikosti matice proměnných.[2]

Metody vnitřních bodů

Většina kódů je založena na vnitřní bodové metody (CSDP, MOSEK, SeDuMi, SDPT3, DSDP, SDPA). Robustní a efektivní pro obecné lineární problémy SDP. Omezeno skutečností, že algoritmy jsou metody druhého řádu a je třeba je ukládat a rozdělovat na velkou (a často hustou) matici.

Metody prvního řádu

Metody prvního řádu pro kónická optimalizace vyhnout se výpočtu, ukládání a faktorizaci velké hesenské matice a škálování na mnohem větší problémy než metody vnitřních bodů, za určitou přesnost. Metoda prvního řádu je implementována v řešení Splitting Cone Solver (SCS).[3] Další metodou prvního řádu je metoda střídavého směru multiplikátorů (ADMM).[4] Tato metoda vyžaduje v každém kroku projekci na kužel semidefinitních matic.

Metoda svazku

Kód ConicBundle formuluje problém SDP jako nehladká optimalizace problém a řeší ho metodou Spectral Bundle nehladké optimalizace. Tento přístup je velmi efektivní pro speciální třídu problémů lineárního SDP.

Další metody řešení

Algoritmy založené na Rozšířená Lagrangeova metoda (PENSDP) se chováním podobají metodám vnitřních bodů a lze je specializovat na některé velmi rozsáhlé problémy. Jiné algoritmy používají informace nízké úrovně a přeformulování SDP jako a nelineární programování problém (SDPLR).[5]

Přibližné metody

Byly také navrženy algoritmy, které přibližně řeší SDP. Hlavním cílem těchto metod je dosáhnout nižší složitosti v aplikacích, kde jsou přibližná řešení dostatečná a složitost musí být minimální. Prominentní metodou, která byla použita pro detekci dat v bezdrátových systémech s více vstupy a více výstupy (MIMO), je Triangular Přibližná relaxace SEmidefinite (TASER),[6] který pracuje na Choleského rozkladných faktorech semidefinitní matice namísto semidefinitní matice. Tato metoda počítá přibližné řešení pro problém typu max-cut, který je často srovnatelný s řešením od přesných řešitelů, ale pouze v 10-20 iteracích algoritmu.

Aplikace

Semidefinitní programování bylo použito k nalezení přibližných řešení kombinačních optimalizačních problémů, jako je například řešení max. řez problém s přibližný poměr 0,87856. SDP se také používají v geometrii k určení tensegritních grafů a vznikají v teorii řízení jako LMI.

Reference

  1. ^ Raghavendra, P. 2008. Optimální algoritmy a výsledky nepřístupnosti pro každého CSP?. In Proceedings of the 40. Annual ACM Symposium on theory of Computing (Victoria, British Columbia, Canada, 17. – 20. Května 2008). STOC '08. ACM, New York, NY, 245-254.
  2. ^ Zhu, Yuzixuan; Pataki, Gábor; Tran-Dinh, Quoc (2019), „Sieve-SDP: jednoduchý algoritmus redukce obličeje k předzpracování semidefinitních programů“, Výpočet matematického programování, 11 (3): 503–586, arXiv:1710.08954, doi:10.1007 / s12532-019-00164-4, ISSN  1867-2949, S2CID  53645581
  3. ^ Brendan O'Donoghue, Eric Chu, Neal Parikh, Stephen Boyd, „Kónická optimalizace pomocí rozdělení operátorů a homogenní vlastní duální vkládání“, Journal of Optimization Theory and Applications, 2016, str. 1042--1068,https://web.stanford.edu/~boyd/papers/pdf/scs.pdf.
  4. ^ Wen, Zaiwen, Donald Goldfarb a Wotao Yin. „Střídavý směr rozšířil Lagrangeovy metody semidefinitního programování.“ Matematické programovací výpočty 2.3-4 (2010): 203-230.
  5. ^ Monteiro, Renato D. C .; Burer, Samuel (2003), „Nelineární programovací algoritmus pro řešení semidefinitních programů pomocí low-rank faktorizace“, Matematické programování, 95 (2): 329–357, CiteSeerX  10.1.1.682.1520, doi:10.1007 / s10107-002-0352-8, ISSN  1436-4646, S2CID  7691228
  6. ^ Castañeda, O .; Goldstein, T .; Studer, C. (prosinec 2016). „Detekce dat ve velkých bezdrátových systémech s více anténami pomocí přibližné semidefinitní relaxace“. Transakce IEEE na obvodech a systémech I: Pravidelné práce. 63 (12): 2334–2346. doi:10.1109 / TCSI.2016.2607198. ISSN  1558-0806.
  • Lieven Vandenberghe, Stephen Boyd, „Semidefinite Programming“, SIAM Review 38, březen 1996, str. 49–95. pdf
  • Monique Laurent, Franz Rendl, „Semidefinite Programming and Integer Programming“, zpráva PNA-R0210, CWI, Amsterdam, duben 2002. optimalizace-online
  • E. de Klerk, „Aspekty semidefinitního programování: Algoritmy vnitřních bodů a vybrané aplikace“, Kluwer Academic Publishers, březen 2002, ISBN  1-4020-0547-4.
  • Robert M. Freund, „Úvod do semidefinitního programování (SDP), SDP-Úvod

externí odkazy