Semidefinitiv programmering - Semidefinite programming
Semidefinite-programmering ( SDP ) er et underfelt for konveks optimalisering opptatt av optimalisering av en lineær objektivfunksjon (en brukerspesifisert funksjon som brukeren ønsker å minimere eller maksimere) over skjæringspunktet mellom kjeglen til positive semidefinite matriser med en affine plass , det vil si et spektraeder .
Semidefinite programmering er et relativt nytt felt for optimalisering som er av økende interesse av flere grunner. Mange praktiske problemer i driftsforskning og kombinatorisk optimalisering kan modelleres eller tilnærmes som halvbestemte programmeringsproblemer. I automatisk kontrollteori brukes SDPer i sammenheng med lineære matriksulikheter . SDPs er i virkeligheten et spesielt tilfelle av kjegle programmering og kan effektivt løses ved indre punkt metoder . Alle lineære programmer kan uttrykkes som SDP-er, og via hierarkier av SDP-er kan løsningene på polynomoptimaliseringsproblemer tilnærmes. Semidefinitiv programmering har blitt brukt i optimalisering av komplekse systemer. I de senere år er det blitt formulert noen kvanteforespørselskompleksitetsproblemer når det gjelder semidefinite programmer.
Motivasjon og definisjon
Innledende motivasjon
Et lineært programmeringsproblem er et problem der vi ønsker å maksimere eller minimere en lineær objektiv funksjon av reelle variabler over en polytop . I semidefinert programmering bruker vi i stedet virkelighetsverdige vektorer og får lov til å ta prikkproduktet av vektorer; nonnegativitetsbegrensninger på reelle variabler i LP ( lineær programmering ) erstattes av semidefinitetsbegrensninger på matrisevariabler i SDP ( semidefinert programmering ). Spesielt kan et generelt semidefinert programmeringsproblem defineres som ethvert matematisk programmeringsproblem av skjemaet
hvor , og de er reelle tall og er prikkproduktet av og .
Tilsvarende formuleringer
En matrise sies å være positiv semidefinitiv hvis den er den gramiske matrisen til noen vektorer (dvs. hvis det finnes vektorer slik at for alle ). Hvis dette er tilfelle, betegner vi dette som . Merk at det er flere andre ekvivalente definisjoner av å være positive semidefinite, for eksempel positive semidefinite matriser er selvadjoint matriser som bare har ikke-negative egenverdier.
Betegn ved plass for alle virkelige symmetriske matriser. Plassen er utstyrt med det indre produktet (hvor betegner sporingen )
Vi kan omskrive det matematiske programmet gitt i forrige avsnitt på samme måte som
hvor oppføring i er gitt ved i foregående avsnitt og er en symmetrisk matrise som har th adgang fra det foregående avsnitt. Dermed er matrisene og symmetriske, og de ovennevnte indre produktene er veldefinerte.
Merk at hvis vi legger til slakkvariabler på riktig måte, kan denne SDP-en konverteres til en av skjemaet
For enkelhets skyld kan en SDP spesifiseres i en litt annen, men ekvivalent form. For eksempel kan lineære uttrykk som involverer ikke-negative skjellvariabler legges til programspesifikasjonen. Dette forblir en SDP fordi hver variabel kan inkorporeres i matrisen som en diagonal inngang ( for noen ). For å sikre at det kan legges begrensninger for alle . Som et annet eksempel, legg merke til at for en hvilken som helst positiv semidefinitmatrise , finnes det et sett med vektorer slik at , inngangen til er det skalære produktet av og . Derfor formuleres ofte SDP-er i form av lineære uttrykk på skalære produkter av vektorer. Gitt løsningen på SDP i standardform, kan vektorene utvinnes i tide (f.eks. Ved å bruke en ufullstendig Cholesky dekomponering av X).
Dualitetsteori
definisjoner
Analogt til lineær programmering, gitt en generell SDP av skjemaet
(det primære problemet eller P-SDP), definerer vi det dobbelte semidefinite-programmet (D-SDP) som
hvor for to matriser og , betyr .
Svak dualitet
Den svake dualitetsteoremet sier at verdien av den primære SDP er minst verdien av den dobbelte SDP. Derfor begrenser enhver mulig løsning på dual SDP den primære SDP-verdien, og omvendt, enhver mulig løsning på den primære SDP øvre grenser den doble SDP-verdien. Dette er fordi
der den siste ulikheten skyldes at begge matriser er positive semidefinite, og resultatet av denne funksjonen blir noen ganger referert til som dualitetsgap.
Sterk dualitet
Under en tilstand kjent som Slater-tilstand , er verdien av de primære og doble SDP-ene lik. Dette er kjent som sterk dualitet . I motsetning til for lineære programmer , tilfredsstiller imidlertid ikke hver SDP sterk dualitet; Generelt kan verdien av dobbelt SDP ligge strengt under verdien av primalen.
(i) Anta at det primære problemet (P-SDP) er avgrenset nedenfor og er strengt gjennomførbart (det vil si at det finnes slik at , ). Så er det en optimal løsning på (D-SDP) og
(ii) Anta at det doble problemet (D-SDP) er begrenset over og strengt mulig (dvs. for noen ). Da er det en optimal løsning på (P-SDP) og likheten fra (i) holder.
eksempler
Eksempel 1
Tenk tre tilfeldige variabler , og . Per definisjon er korrelasjonskoeffisientene gyldige hvis og bare hvis
i så fall kalles denne matrisen korrelasjonsmatrise . Anta at vi fra en viss forkunnskap (empiriske resultater av et eksperiment, for eksempel) vet at og . Problemet med å bestemme de minste og største verdiene som kan ta, gis ved:
- minimalisere / maksimering
- underlagt
Vi bestemmer oss for å få svaret. Dette kan formuleres av en SDP. Vi håndterer ulikhetsbegrensningene ved å forsterke den variable matrisen og introdusere slake variabler , for eksempel
Løse dette SDP gir minimums- og maksimumsverdier for så og hhv.
Eksempel 2
Vurder problemet
- minimere
- underlagt
hvor vi antar at når .
Introduserer en hjelpevariabel kan problemet omformuleres:
- minimere
- underlagt
I denne formuleringen er målet en lineær funksjon av variablene .
Den første begrensningen kan skrives som
hvor matrisen er den firkantede matrisen med verdier i diagonalen lik elementene i vektoren .
Den andre begrensningen kan skrives som
Definere som følger
Vi kan bruke teorien om Schur Complements for å se det
(Boyd og Vandenberghe, 1996)
Semidefinite programmet assosiert med dette problemet er
- minimere
- underlagt
Eksempel 3 (Goemans-Williamson MAX CUT tilnærmingsalgoritme)
Semidefinite-programmer er viktige verktøy for å utvikle tilnærmingsalgoritmer for NP-harde maksimeringsproblemer. Den første tilnærmingsalgoritmen basert på en SDP skyldes Michel Goemans og David P. Williamson (JACM, 1995). De studerte MAX CUT-problemet : Gitt en graf G = ( V , E ), send ut en partisjon av toppunktene V for å maksimere antall kanter som krysser fra den ene siden til den andre. Dette problemet kan uttrykkes som et helt tall kvadratisk program :
- Maksimer slik at hver .
Med mindre P = NP , kan vi ikke løse dette maksimeringsproblemet effektivt. Imidlertid observerte Goemans og Williamson en generell tretrinnsprosedyre for å angripe denne typen problemer:
- Slapp av det heltals kvadratiske programmet til en SDP.
- Løs SDP-en (til innenfor en vilkårlig liten tilsetningsfeil ).
- Rund SDP-løsningen for å få en tilnærmet løsning på det originale kvadratiske programmet.
For MAX CUT er den mest naturlige avslapningen
- slik at der maksimaliseringen er over vektorer i stedet for heltallsskaler.
Dette er en SDP fordi den objektive funksjonen og begrensningene alle er lineære funksjoner for indre indre produkter. Å løse SDP gir et sett enhetsvektorer i ; siden vektorene ikke er påkrevd å være kollinære, kan verdien av dette avslappede programmet bare være høyere enn verdien av det originale kvadratiske heltallsprogrammet. Til slutt er det nødvendig med en avrundingsprosedyre for å skaffe en partisjon. Goemans og Williamson velger ganske enkelt et jevnt tilfeldig hyperplan gjennom opphavet og deler toppunktene etter hvilken side av hyperplanet de tilsvarende vektorene ligger. Enkel analyse viser at denne prosedyren oppnår et forventet tilnærmelsesforhold (ytelsesgaranti) på 0,87856 - ε. (Den forventede verdien av snittet er summen over kantene for sannsynligheten for at kanten er kuttet, som er proporsjonal med vinkelen mellom vektorene ved endepunktene av kanten over . Sammenligning av denne sannsynligheten til , i forventning, er forholdet alltid på minst 0,87856.) Forutsatt at Unique Games Conjecture , kan det vises at dette tilnærmelsesforholdet i det vesentlige er optimalt.
Siden originaloppgaven til Goemans og Williamson, har SDP-er blitt brukt for å utvikle en rekke tilnærmingsalgoritmer. Nylig har Prasad Raghavendra utviklet en generell ramme for problemer med begrensningstilfredshet basert på Unique Games Conjecture .
algoritmer
Det er flere typer algoritmer for å løse SDP-er. Disse algoritmene gir verdien av SDP-en opp til en additiv feil i tid som er polynom i programbeskrivelsesstørrelsen og .
Innvendige punktmetoder
De fleste koder er basert på interiørpunktmetoder (CSDP, MOSEK , SeDuMi, SDPT3, DSDP, SDPA). Robust og effektiv for generelle lineære SDP-problemer. Begrenset av det faktum at algoritmene er andreordens metoder og trenger å lagre og faktorisere en stor (og ofte tett) matrise.
Førsteordens metoder
Førsteordens metoder for konisk optimalisering unngår beregning, lagring og faktorisering av en stor Hessian-matrise og skala til mye større problemer enn interiørpunktmetoder, til en viss pris i nøyaktighet. En førsteordens metode implementeres i Splitting Cone Solver (SCS). En annen førsteordens metode er vekselretningsmetoden for multiplikatorer (ADMM). Denne metoden krever i hvert trinn projeksjon på kjeglen til semidefinite matriser.
Buntemetode
Koden ConicBundle formulerer SDP-problemet som et problemfritt optimaliseringsproblem og løser det ved hjelp av Spectral Bundle-metoden for nonsmooth-optimalisering. Denne tilnærmingen er veldig effektiv for en spesiell klasse av lineære SDP-problemer.
Annen
Algoritmer basert på Augmented Lagrangian-metoden (PENSDP) ligner i oppførsel som de indre punktmetodene og kan spesialiseres til noen svært store skala-problemer. Andre algoritmer bruker informasjon om lav rangering og reformulering av SDP som et ikke-lineært programmeringsproblem (SDPLR).
applikasjoner
Semidefinitiv programmering har blitt brukt for å finne omtrentlige løsninger på kombinasjonsoptimaliseringsproblemer, for eksempel løsningen på max cut- problemet med et tilnærmelsesforhold på 0,87856. SDPer brukes også i geometri for å bestemme strekningsgrafikker, og oppstår i kontrollteori som LMI-er .
referanser
- Lieven Vandenberghe, Stephen Boyd, "Semidefinite Programming", SIAM Review 38, March 1996, s. 49–95. pdf
- Monique Laurent, Franz Rendl, "Semidefinite Programming and Integer Programming", Report PNA-R0210, CWI, Amsterdam, April 2002. optimization-online
- E. de Klerk, "Aspects of Semidefinite Programming: Interior Point Algorithms and Selected Applications", Kluwer Academic Publisher, Mars 2002, ISBN 1-4020-0547-4 .
- Robert M. Freund, "Introduksjon til Semidefinite Programming (SDP), SDP-Introduction
Eksterne linker
- Koblinger til introduksjoner og arrangementer i feltet
- Forelesningsnotater fra László Lovász om Semidefinite Programming