Semi-Definite Programmering

Semidefinite programmering (eller SDP från engelska.  Semidefinite programmering ) är en underavdelning av konvex programmering , som handlar om optimering av en linjär objektivfunktion (objektivfunktionen är en användarspecificerad funktion vars värde användaren vill minimera eller maximera) vid skärningspunkten mellan koner av positivt halvdefinita matriser med affint utrymme .

Semidefinitiv programmering är ett relativt nytt område för optimering som växer i intresse av flera anledningar. Många praktiska problem inom områdena operationsforskning och kombinatorisk optimering kan modelleras eller approximeras som semidefinita programmeringsproblem. I teorin om automatisk styrning används SDP-problem i samband med linjära matrisojämlikheter . SDP-problem är i själva verket ett specialfall av konisk programmering och kan effektivt lösas med inre punktmetoden . Alla linjära programmeringsproblemkan uttryckas som SDP-problem, och med hjälp av SDP-problemhierarkier kan lösningar på polynomoptimeringsproblem approximeras. Semidefinitiv programmering används vid optimering av komplexa system . Under de senaste åren har vissa problem med kvantfrågekomplexitet formulerats i termer av semidefinite programmering.

Motivation och definition

Inledande motiveringar

Ett linjärt programmeringsproblem är ett problem där du behöver maximera eller minimera en linjär objektiv funktion av reella variabler på en polyeder . I semidefinitiv programmering använder vi istället reala vektorer och vi får använda punktprodukten av vektorer. Villkoret för icke-negativitet för de reella variablerna i LP-problemet ersätts av semi-definititetsbegränsningar på matrisen av variabler för SDP-problemet. I synnerhet kan ett allmänt semidefinitivt programmeringsproblem definieras som vilket matematiskt programmeringsproblem som helst av formen

under förhållanden

Motsvarande formuleringar

En matris sägs vara positiv halvdefinitiv om den är grammatrisen för vissa vektorer (dvs om det finns vektorer så att för alla ). Om detta är sant kommer vi att beteckna det som . Observera att det finns några andra ekvivalenta definitioner av positiv semidefiniteness, till exempel, positiva semidefinite matriser har bara icke-negativa egenvärden och har en positiv semidefinite kvadratrot.

Beteckna med utrymmet för alla reella symmetriska matriser. I detta utrymme finns en inre produkt (där betyder spår )

Vi kan skriva om det matematiska programmeringsproblemet från föregående avsnitt i motsvarande form

under förhållanden

där matriselementet är lika med från föregående avsnitt och är en matris som har värdet från föregående avsnitt som ett matriselement.

Observera att om vi lägger till ytterligare variabler korrekt, kan denna SDP-uppgift konverteras till

under förhållanden

För enkelhetens skull kan SDP-problemet definieras i en något annorlunda men likvärdig form. Till exempel kan linjära uttryck som använder icke-negativa skalära variabler läggas till i uppgiftsspecifikationen. Uppgiften förblir SDP, eftersom varje variabel kan inkluderas i matrisen som ett diagonalt element ( för vissa ). För att säkerställa kan du lägga till begränsningar för alla . Som ett annat exempel, notera att för alla positiva semidefinite matriser finns det en uppsättning vektorer så att elementet i matrisen är lika med , skalärprodukten av vektorerna och . Sålunda formuleras SDP-problem ofta i termer av linjära uttryck av skalära produkter av vektorer. Givet en lösning på SDP-problemet i standardform kan vektorerna rekonstrueras i tid (till exempel genom att använda en ofullständig nedbrytning av Cholesky- matrisen X).

Dualitetsteori

Definitioner

Liknar linjär programmering, om det allmänna problemet SDP anges i formuläret

under förhållanden

(direkt problem, eller P-SDP), definierar vi det dubbla semidefinita problemet (D-SDP) som

under förhållanden

Var för två matriser och betyder .

Svag dualitet

Den svaga dualitetssatsen säger att den primära SDP har ett värde som inte är mindre än värdet på den dubbla SDP. Sålunda begränsar varje tillåten lösning av det dubbla SDP-problemet värdet av den direkta SDP:n underifrån, och vice versa, vilket som helst tillåtet värde av det direkta SDP-problemet begränsar värdet av den dubbla SDP:n ovanifrån. Detta händer pga

där den sista olikheten återspeglar det faktum att båda matriserna är positiva semidefinita. Värdet på denna funktion kallas ibland för dubbelspel.

Stark dualitet

Under ett tillstånd som kallas Slater-villkoret är värdena för de primära och dubbla SDP-problemen lika. Detta kallas stark dualitet . Till skillnad från linjära programmeringsproblem har inte alla SDP-problem strikt dualitet. I det allmänna fallet kan värdet av det dubbla problemet SDP vara strikt mindre än värdet av det direkta problemet.

(i) Antag att det direkta problemet (P-SDP) är begränsat underifrån och strikt tillåtet (det vill säga att det finns , så att , ). Då finns det en optimal lösning för det dubbla problemet (D-SDP) och

(ii) Antag att det dubbla problemet (D-SDP) är begränsat uppifrån och strikt tillåtet (det vill säga för vissa ). Då finns det en optimal lösning för det direkta problemet (P-SDP) och jämställdheten från (i) gäller.

Exempel

Exempel 1

Betrakta tre slumpvariabler och . Per definition är deras korrelationskoefficienter giltiga om och endast om

Låt oss anta att vi från vissa källor (till exempel från empiriska eller experimentella data) vet att och . Problemet med att bestämma de minsta och största värdena kan skrivas som:

minimera/maximera under förhållanden

Här accepterar vi . Problemet kan formuleras som ett SDP-problem. Vi kompletterar ojämlikheterna genom att utöka matrisen av variabler och införa ytterligare variabler , till exempel

Efter att ha löst detta SDP-problem får vi minimi- och maximivärden ( och respektive).

Exempel 2

Tänk på problemet

minimera under förutsättningarna

där det antas att vid .

Genom att införa en extra variabel skriver vi om problemet i formen:

minimera under förhållanden

I denna formulering är objektivfunktionen en linjär funktion av två variabler ( ).

Den första begränsningen kan skrivas om som

,

där matris är en kvadratisk matris med värden på diagonalen lika med elementen i vektorn .

Den andra begränsningen kan skrivas som

Vi definierar matrisen enligt följande

Vi kan använda Schurs komplementteori för att visa det

[ett]

Det halvdefinierade programmeringsproblemet för detta problem kommer att vara av formen

minimera under förhållanden

Exempel 3 (Goemans-Williamson MAX CUT Approximation Algorithm)

Semidefinitiv programmering är ett viktigt verktyg för att skapa approximationsalgoritmer för NP-hårda maximeringsproblem. Den första approximationsalgoritmen baserad på SDP föreslogs av Michel Goemans och David Williamson [2] . De studerade MAX CUT- problemet : Givet en graf G = ( V , E ), är det nödvändigt att dela upp hörnen av V i två delar på ett sådant sätt att antalet kanter som förbinder dessa två delar maximeras. Problemet kan ses som ett heltals kvadratiskt programmeringsproblem :

Maximera föremål för någon .

Om inte P = NP kan vi inte lösa detta problem effektivt. Men Goemans och Williamson beskrev ett trestegsförfarande för att angripa denna typ av problem:

  1. Vi försvagar det heltals kvadratiska programmeringsproblemet till SDP-problemet.
  2. Vi löser SDP-problemet (med vilket som helst godtyckligt litet fel ).
  3. Vi avrundar lösningen av SDP-problemet för att få en ungefärlig lösning av det ursprungliga problemet med heltalskvadratprogrammering.

För MAX CUT- problemet är den mest naturliga avslappningen

för , där maximering utförs över vektorer snarare än skalära heltalsvariabler.

Problemet är ett SDP-problem eftersom både objektivfunktionen och begränsningarna är linjära funktioner av skalära produkter av vektorer. Lösningen på SDP-problemet ger en uppsättning enhetsvektorer i . Eftersom vektorerna inte nödvändigtvis är kolinjära, kan värdet på det avslappnade problemet bara vara större än värdet på det ursprungliga heltalskvadratprogrammeringsproblemet. En sista avrundningsprocedur behövs för att få delningen. Goemans och Williamson väljer ett slumpmässigt hyperplan (med en enhetlig fördelning) genom ursprunget och delar upp hörnen baserat på deras plats i förhållande till det planet. Direkt analys visar att denna procedur ger den förväntade approximationsfaktorn på 0,87856 - ε. (Förväntningsvärdet för ett snitt är lika med summan över alla kanter av sannolikheterna för att kanten går in i snittet, och denna förväntan är proportionell mot vinkeln mellan vektorerna vid kantens ändpunkt. Om vi ​​jämför denna sannolikhet med , förväntan på förhållandet kommer alltid att vara minst 0,87856.) Om man antar korrekthetshypotesen för det unika spelet kan det visas att approximationskoefficienten för denna approximation huvudsakligen är optimal.

Sedan uppsatsen av Goemans och Williamson publicerades har SDP-problem tillämpats på utvecklingen av ett stort antal approximationsalgoritmer. Nyligen utvecklade Prasad Raghavendra ett allmänt schema för problem med begränsningstillfredsställelse baserat på den unika spelhypotesen [3] .

Algoritmer

Det finns flera typer av algoritmer för att lösa SDP-problem. Resultatet av dessa algoritmer är värdet av SDP-problemet upp till , vilket erhålls i en tid som beror polynomiellt på problemets storlek och .

Interior Point Methods

De flesta lösningssystem är baserade på den inre punktmetoden (CSDP, SeDuMi, SDPT3, DSDP, SDPA), som är robust och effektiv för generella linjära SDP-problem. Tillvägagångssättet begränsas i användning av det faktum att algoritmerna är andra ordningens metoder och kräver att stora (och ofta täta) matriser memoreras och dekomponeras.

Första ordningens metoder

Första ordningens metoder för konisk optimering undviker att lagra och bryta ner stora hessiska matriser och är tillämpliga på mycket större problem än inre punktmetoder, till priset av en förlust i noggrannhet. Metoden är implementerad i "SCS solver"-systemet.

Strålmetoden

SDP-problemet är formulerat som ett icke-smidigt optimeringsproblem och löses med spektralstrålemetoden. Detta tillvägagångssätt är mycket effektivt för speciella klasser av linjära SDP-problem.

Andra

Algoritmer baserade på den generaliserade lagrangiska metoden (PENSDP) liknar beteendet med inre punktmetoder och kan anpassas för några mycket stora problem. Andra algoritmer använder lågnivåinformation och omformulerar SDP-problemet till ett icke-linjärt programmeringsproblem (SPDLR).

Applikationer

Semi-definitiv programmering har använts för att hitta ungefärliga lösningar på kombinatoriska optimeringsproblem, som att lösa det maximala cut -problemet med en approximationsfaktor på 0,87856. SDP-problem används också i geometri för att definiera tensegrity-grafer och visas i kontrollteorin som linjära matrisojämlikheter .

Anteckningar

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

Litteratur

Länkar