Semi-Definite Programmering

Semidefinite programmering (eller SDP fra engelsk.  Semidefinite programming ) er en underafsnit af konveks programmering , som omhandler optimering af en lineær objektivfunktion (objektivfunktionen er en brugerspecificeret funktion, hvis værdi brugeren ønsker at minimere eller maksimere) ved skæring af kegler af positivt semibestemte matricer med affint rum .

Semi-bestemt programmering er et relativt nyt område for optimering, der vokser i interesse af flere årsager. Mange praktiske problemer inden for operationsforskning og kombinatorisk optimering kan modelleres eller tilnærmes som semi-definite programmeringsproblemer. I automatisk kontrolteori bruges SDP-problemer i sammenhæng med lineære matrixuligheder . SDP-problemer er i virkeligheden et særligt tilfælde af kegleprogrammering og kan effektivt løses ved hjælp af den indre punktmetode . Alle lineære programmeringsproblemer kan udtrykkes som SDP-problemer, og ved hjælp af SDP-problemhierarkier kan løsninger på polynomielle optimeringsproblemer tilnærmes. Semi-bestemt programmering bruges til optimering af komplekse systemer . I de senere år er nogle kvanteforespørgselskompleksitetsproblemer blevet formuleret i form af semibestemt programmering.

Motivation og definition

Indledende motiveringer

Et lineært programmeringsproblem er et problem , hvor du skal maksimere eller minimere en lineær objektiv funktion af reelle variable på et polyeder . I semi-bestemt programmering bruger vi i stedet reelle vektorer, og vi har lov til at bruge punktproduktet af vektorer. Betingelsen for ikke-negativitet af de reelle variabler i LP-problemet erstattes af semi-definiteness-begrænsninger på matricen af ​​variabler i SDP-problemet. Især kan et generelt semibestemt programmeringsproblem defineres som et hvilket som helst matematisk programmeringsproblem af formen

under forhold

Tilsvarende formuleringer

En matrix siges at være positiv semidefinit , hvis den er grammatricen for nogle vektorer (dvs. hvis der er vektorer , således at for alle ). Hvis dette er sandt, vil vi betegne det som . Bemærk, at der er nogle andre ækvivalente definitioner af positiv semidefiniteness, for eksempel har positive semidefinite matricer kun ikke-negative egenværdier og har en positiv semidefinite kvadratrod.

Betegn med rummet af alle reelle symmetriske matricer. I dette rum er der et indre produkt (hvor betyder spor )

Vi kan omskrive det matematiske programmeringsproblem fra forrige afsnit i tilsvarende form

under forhold

hvor matrixelementet er lig med fra forrige afsnit, og er en matrix, der har værdien fra forrige afsnit som matrixelement.

Bemærk, at hvis vi tilføjer yderligere variabler korrekt, kan denne SDP-opgave konverteres til

under forhold

For nemheds skyld kan SDP-problemet defineres i en lidt anderledes, men tilsvarende form. For eksempel kan lineære udtryk, der bruger ikke-negative skalarvariabler , tilføjes til opgavespecifikationen. Opgaven forbliver SDP, da hver variabel kan inkluderes i matricen som et diagonalt element ( for nogle ). For at sikre , kan du tilføje begrænsninger for alle . Som et andet eksempel skal du bemærke, at for enhver positiv semidefinit matrix er der et sæt vektorer , således at elementet i matrixen er lig med , skalarproduktet af vektorerne og . SDP-problemer er således ofte formuleret i form af lineære udtryk for skalarprodukter af vektorer. Givet en løsning på SDP-problemet i standardform, kan vektorerne rekonstrueres i tide (for eksempel ved at bruge en ufuldstændig dekomponering af Cholesky -matrixen X).

Dualitetsteori

Definitioner

Svarende til lineær programmering, hvis det generelle problem SDP er angivet i formularen

under forhold

(direkte problem eller P-SDP), definerer vi det dobbelte semidefinite problem (D-SDP) som

under forhold

Hvor for alle to matricer og , betyder .

Svag dualitet

Den svage dualitetssætning siger, at den primære SDP har en værdi, der ikke er mindre end værdien af ​​den dobbelte SDP. Enhver tilladt løsning af det dobbelte SDP-problem begrænser således værdien af ​​den direkte SDP nedefra, og omvendt begrænser enhver tilladelig værdi af det direkte SDP-problem værdien af ​​den dobbelte SDP ovenfra. Dette sker pga

hvor den sidste ulighed afspejler det faktum, at begge matricer er positive semidefinite. Værdien af ​​denne funktion kaldes nogle gange det dobbelte mellemrum.

Stærk dualitet

Under en tilstand kendt som Slater-tilstanden er værdierne af de primære og dobbelte SDP-problemer ens. Dette kaldes stærk dualitet . I modsætning til lineære programmeringsproblemer har ikke alle SDP-problemer streng dualitet. I det generelle tilfælde kan værdien af ​​det dobbelte problem SDP være strengt mindre end værdien af ​​det direkte problem.

(i) Antag, at det direkte problem (P-SDP) er afgrænset nedefra og strengt tilladt (det vil sige, at der eksisterer , sådan at , ). Så er der en optimal løsning på det dobbelte problem (D-SDP) og

(ii) Antag, at det dobbelte problem (D-SDP) er afgrænset ovenfra og strengt tilladt (det vil sige for nogle ). Så er der en optimal løsning på det direkte problem (P-SDP) og ligestillingen fra (i) gælder.

Eksempler

Eksempel 1

Overvej tre tilfældige variable , og . Per definition er deres korrelationskoefficienter gyldige hvis og kun hvis

Lad os antage, at vi fra nogle kilder (for eksempel fra empiriske eller eksperimentelle data) ved, at og . Problemet med at bestemme de mindste og største værdier kan skrives som:

minimere/maksimere under forhold

Her tager vi imod . Problemstillingen kan formuleres som et SDP-problem. Vi fuldender ulighederne ved at udvide matricen af ​​variabler og introducere yderligere variable , for eksempel

Efter at have løst dette SDP-problem opnår vi minimums- og maksimumværdierne ( hhv .).

Eksempel 2

Overvej problemet

minimere under betingelserne

hvor det antages at kl .

Ved at introducere en ekstra variabel omskriver vi problemet i formen:

minimere under forhold

I denne formulering er objektivfunktionen en lineær funktion af to variable ( ).

Den første begrænsning kan omskrives som

,

hvor matrix er en kvadratisk matrix med værdier på diagonalen lig med vektorens elementer .

Den anden begrænsning kan skrives som

Vi definerer matrixen som følger

Det kan vi bruge Schurs komplementteori til at vise

[en]

Det semi-definitive programmeringsproblem for dette problem vil være af formen

minimere under forhold

Eksempel 3 (Goemans-Williamson MAX CUT Approximation Algorithm)

Semi-bestemt programmering er et vigtigt værktøj til at skabe tilnærmelsesalgoritmer til NP-hårde maksimeringsproblemer. Den første tilnærmelsesalgoritme baseret på SDP blev foreslået af Michel Goemans og David Williamson [2] . De undersøgte MAX CUT- problemet : Givet en graf G = ( V , E ), er det nødvendigt at opdele V -spidserne i to dele på en sådan måde, at antallet af kanter, der forbinder disse to dele, maksimeres. Problemet kan opfattes som et heltals kvadratisk programmeringsproblem :

Maksimer underlagt evt .

Medmindre P = NP , kan vi ikke løse dette problem effektivt. Men Goemans og Williamson skitserede en tre-trins procedure for at angribe denne form for problem:

  1. Vi svækker det kvadratiske heltalsprogrammeringsproblem til SDP-problemet.
  2. Vi løser SDP-problemet (med enhver vilkårlig lille fejl ).
  3. Vi runder løsningen af ​​SDP-problemet af for at opnå en omtrentlig løsning på det oprindelige problem med heltals kvadratisk programmering.

For MAX CUT- problemet er den mest naturlige afslapning

for , hvor maksimering udføres over vektorer frem for skalære heltalsvariable.

Problemet er et SDP-problem, fordi både den objektive funktion og begrænsningerne er lineære funktioner af skalarprodukterne af vektorer. Løsningen på SDP-problemet giver et sæt enhedsvektorer i . Da vektorerne ikke nødvendigvis er kollineære, kan værdien af ​​det afslappede problem kun være større end værdien af ​​det oprindelige heltals kvadratiske programmeringsproblem. En sidste afrundingsprocedure er nødvendig for at få opdelingen. Goemans og Williamson vælger et tilfældigt hyperplan (ved hjælp af en ensartet fordeling) gennem oprindelsen og opdeler hjørnerne baseret på deres placering i forhold til dette plan. Direkte analyse viser, at denne procedure giver den forventede tilnærmelsesfaktor på 0,87856 - ε. (Forventningsværdien af ​​et snit er lig med summen over alle kanter af sandsynligheden for, at kanten går ind i snittet, og denne forventning er proportional med vinklen mellem vektorerne ved kantens endespidser. Hvis vi sammenligner denne sandsynlighed med , vil forventningen til forholdet altid være mindst 0,87856.) Forudsat korrekthedshypotesen for det unikke spil kan det påvises, at approksimationskoefficienten for denne tilnærmelse hovedsageligt er optimal.

Siden fremkomsten af ​​papiret af Goemans og Williamson, er SDP-problemer blevet anvendt på udviklingen af ​​et stort antal tilnærmelsesalgoritmer. For nylig udviklede Prasad Raghavendra en generel ordning for problemer med begrænsningstilfredshed baseret på den unikke spilhypotese [3] .

Algoritmer

Der findes flere typer algoritmer til løsning af SDP-problemer. Resultatet af disse algoritmer er værdien af ​​SDP-problemet op til , som opnås i en tid, der afhænger polynomisk af problemets størrelse og .

Interior Point Methods

De fleste løsningssystemer er baseret på den indre punktmetode (CSDP, SeDuMi, SDPT3, DSDP, SDPA), som er robust og effektiv til generelle lineære SDP-problemer. Tilgangen er begrænset i brug af det faktum, at algoritmerne er andenordens metoder og kræver store (og ofte tætte) matricer, der skal huskes og dekomponeres.

Første ordensmetoder

Førsteordensmetoder til konisk optimering undgår lagring og nedbrydning af store hessiske matricer og er anvendelige til meget større problemer end indre punktmetoder på bekostning af et tab i præcision. Metoden er implementeret i "SCS solver" systemet.

Strålemetoden

SDP-problemet er formuleret som et ikke-glat optimeringsproblem og løses ved spektralstrålemetoden. Denne tilgang er meget effektiv til særlige klasser af lineære SDP-problemer.

Andre

Algoritmer baseret på den generaliserede lagrangiske metode (PENSDP) ligner i adfærd til indre punktmetoder og kan tilpasses til nogle meget store problemer. Andre algoritmer bruger information på lavt niveau og omformulerer SDP-problemet som et ikke-lineært programmeringsproblem (SPDLR).

Ansøgninger

Semi-bestemt programmering er blevet brugt til at finde omtrentlige løsninger på kombinatoriske optimeringsproblemer, såsom at løse det maksimale cut -problem med en tilnærmelsesfaktor på 0,87856. SDP-problemer bruges også i geometri til at definere tensegrity-grafer og optræder i kontrolteori som lineære matrixuligheder .

Noter

  1. Boyd, Vandenberghe, 1996 .
  2. Goemans, Williamson, 1995 .
  3. Raghavendra, 2008 , s. 245-254.

Litteratur

Links