Félig határozott programozás

A félig meghatározott programozás (vagy az angolból SDP .  Semidefinite programming ) a konvex programozás egy alszaka, amely egy lineáris célfüggvény optimalizálásával foglalkozik (a célfüggvény egy felhasználó által megadott függvény, amelynek értékét a felhasználó minimalizálni vagy maximalizálni szeretné) pozitív félig határozott mátrixok kúpjainak metszéspontja affin térrel .

A félig határozott programozás az optimalizálás viszonylag új területe, amely több okból is egyre nagyobb érdeklődést mutat. Az operációkutatás és a kombinatorikus optimalizálás területén számos gyakorlati probléma modellezhető vagy közelíthető félig meghatározott programozási problémaként. Az automatikus vezérlés elméletében az SDP-problémákat lineáris mátrixegyenlőtlenségekkel összefüggésben használják . Az SDP problémák valójában a kúpos programozás speciális esetei , és hatékonyan megoldhatók a belső pont módszerrel . Minden lineáris programozási problémaSDP-problémákként fejezhetők ki, és SDP-problémahierarchiák segítségével közelíthetők a polinomiális optimalizálási problémák megoldásai. A félig határozott programozást komplex rendszerek optimalizálására használják . Az elmúlt években néhány kvantumlekérdezés-bonyolultsági probléma megfogalmazódott a félig meghatározott programozás szempontjából.

Motiváció és meghatározás

Kezdeti motivációk

A lineáris programozási probléma olyan probléma, amelyben maximalizálni vagy minimalizálni kell a valós változók lineáris célfüggvényét egy poliéderen . A félig határozott programozásban helyette valós vektorokat használunk, és megengedett a vektorok pontszorzatának használata. Az LP-probléma valós változóinak nem-negativitásának feltételét az SDP-probléma változóinak mátrixára vonatkozó félig meghatározottsági megszorítások váltják fel. Közelebbről, egy általános félig meghatározott programozási probléma az űrlap bármely matematikai programozási problémájaként definiálható

feltételek mellett

Egyenértékű megfogalmazások

Egy mátrixot akkor mondunk pozitív félig meghatározottnak, ha egyes vektorok Gram-mátrixa (vagyis ha vannak olyan vektorok , amelyek mindegyikére ). Ha ez igaz, akkor jelöljük . Vegye figyelembe, hogy a pozitív félig meghatározottságnak van néhány más ekvivalens definíciója is, például a pozitív félig meghatározott mátrixok csak nem negatív sajátértékekkel rendelkeznek, és pozitív félig határozott négyzetgyökük van.

Jelölje az összes valós szimmetrikus mátrix terével. Ebben a térben van egy belső termék (ahol nyomot jelent )

A matematikai programozási feladatot átírhatjuk az előző részből ekvivalens formában

feltételek mellett

ahol a mátrix elem egyenlő az előző szakaszból származó elemmel, és egy olyan mátrix, amely az előző szakaszból származó értéket tartalmazza mátrixelemként.

Vegye figyelembe, hogy ha megfelelően hozzáadunk további változókat , akkor ez az SDP feladat konvertálható

feltételek mellett

A kényelem kedvéért az SDP-probléma kissé eltérő, de egyenértékű formában definiálható. Például nemnegatív skalárváltozókat használó lineáris kifejezések hozzáadhatók a feladatspecifikációhoz. A feladat továbbra is SDP marad, mivel minden változó átlós elemként szerepelhet a mátrixban ( egyeseknél ). Ennek biztosítása érdekében korlátozásokat adhat meg mindenre . Egy másik példaként jegyezzük meg, hogy bármely pozitív félig meghatározott mátrixhoz létezik egy olyan vektorhalmaz , amelyre a mátrix eleme egyenlő , a vektorok skaláris szorzata és . Így az SDP-problémákat gyakran a vektorok skaláris szorzatainak lineáris kifejezései alapján fogalmazzák meg. Ha az SDP-probléma szabványos formában megoldódik, a vektorok időben rekonstruálhatók (például a Cholesky X mátrix nem teljes dekompozíciójával).

Dualitáselmélet

Definíciók

Hasonlóan a lineáris programozáshoz, ha az SDP általános problémát a formában adjuk meg

feltételek mellett

(közvetlen probléma vagy P-SDP), a kettős félig meghatározott problémát (D-SDP) a következőképpen definiáljuk

feltételek mellett

Ahol bármely két mátrix és , azt jelenti .

Gyenge kettősség

A gyenge dualitás tétele kimondja, hogy az elsődleges SDP értéke nem kisebb, mint a duális SDP értéke. Így a kettős SDP probléma bármely megengedhető megoldása alulról korlátozza a közvetlen SDP értékét, és fordítva, a közvetlen SDP probléma bármely megengedhető értéke felülről korlátozza a kettős SDP értékét. Ez azért történik, mert

ahol az utolsó egyenlőtlenség azt a tényt tükrözi, hogy mindkét mátrix pozitív félig határozott. Ennek a függvénynek az értékét néha dual gap-nek is nevezik.

Erős kettősség

A Slater - feltételként ismert feltétel mellett az elsődleges és a kettős SDP-probléma értéke egyenlő. Ezt erős kettősségnek hívják . A lineáris programozási problémákkal ellentétben nem minden SDP-probléma szigorú kettősséggel rendelkezik. Általános esetben a kettős probléma SDP értéke szigorúan kisebb lehet, mint a közvetlen probléma értéke.

(i) Tételezzük fel, hogy a közvetlen probléma (P-SDP) alulról korlátos és szigorúan megengedhető (vagyis létezik olyan, hogy , ). Akkor van egy optimális megoldás a kettős problémára (D-SDP) és

(ii) Tételezzük fel, hogy a kettős probléma (D-SDP) felülről korlátos és szigorúan megengedhető (azaz egyeseknél ). Ekkor van egy optimális megoldás a közvetlen problémára (P-SDP), és az (i) egyenlőség teljesül.

Példák

1. példa

Tekintsünk három valószínűségi változót , és . Definíció szerint korrelációs együtthatóik akkor és csak akkor érvényesek

Tegyük fel, hogy bizonyos forrásokból (például empirikus vagy kísérleti adatokból) tudjuk, hogy és . A legkisebb és legnagyobb érték meghatározásának problémája a következőképpen írható fel:

minimalizálni/maximálni feltételek mellett

Itt elfogadjuk . A probléma SDP problémaként is megfogalmazható. Az egyenlőtlenségeket a változók mátrixának kibővítésével és további változók bevezetésével egészítjük ki, pl.

Az SDP-probléma megoldása után megkapjuk a minimális és maximális értékeket ( illetve ).

2. példa

Fontolja meg a problémát

minimalizálni feltételek mellett

ahol azt feltételezik, hogy at .

Egy további változó bevezetésével átírjuk a problémát a következő formában:

minimalizálni feltételek mellett

Ebben a megfogalmazásban a célfüggvény két változó lineáris függvénye ( ).

Az első megszorítás átírható a következőre:

,

ahol a mátrix egy négyzetmátrix, amelynek az átlóján lévő értékek megegyeznek a vektor elemeivel .

A második megszorítást így írhatjuk fel

A mátrixot a következőképpen definiáljuk

Ennek bemutatására használhatjuk Schur komplementelméletét

[egy]

Ennek a feladatnak a félig határozott programozási problémája a következő formában lesz

minimalizálni feltételek mellett

3. példa (Goemans-Williamson MAX CUT Approximációs algoritmus)

A félig határozott programozás fontos eszköz az NP-kemény maximalizálási problémák közelítő algoritmusainak létrehozásához. Az első SDP-n alapuló közelítő algoritmust Michel Goemans és David Williamson javasolta [2] . Tanulmányozták a MAX CUT problémát : Adott egy G = ( V , E ) gráf, V csúcsait két részre kell osztani úgy, hogy maximalizálja a két részt összekötő élek számát. A probléma egész szám másodfokú programozási problémaként fogható fel :

Maximalizálja bármelyik tárgyat .

Ha nem P = NP , ezt a problémát nem tudjuk hatékonyan megoldani. Goemans és Williamson azonban felvázoltak egy három lépésből álló eljárást az ilyen jellegű problémák megtámadására:

  1. Az egész szám másodfokú programozási problémáját az SDP problémává gyengítjük .
  2. Megoldjuk az SDP problémát (bármilyen kis hibával ).
  3. Lekerekítjük az SDP feladat megoldását, hogy megközelítő megoldást kapjunk az egész másodfokú programozás eredeti problémájára.

A MAX CUT probléma esetén a legtermészetesebb relaxáció az

for , ahol a maximalizálás vektorokon keresztül történik, nem pedig skaláris egész változókon.

A probléma SDP probléma, mert mind a célfüggvény, mind a megszorítások a vektorok skaláris szorzatának lineáris függvényei. Az SDP probléma megoldása egységvektorok halmazát adja meg -ben . Mivel a vektorok nem feltétlenül kollineárisak, a relaxált feladat értéke csak nagyobb lehet, mint az eredeti egész szám másodfokú programozási feladat értéke. A felosztáshoz egy végső kerekítési eljárásra van szükség. Goemans és Williamson véletlenszerű hipersíkot választanak (egyenletes eloszlást használva) az origón keresztül, és felosztják a csúcsokat a síkhoz viszonyított elhelyezkedésük alapján. A közvetlen elemzés azt mutatja, hogy ez az eljárás biztosítja a 0,87856 - ε várható közelítési tényezőt . (A vágás várható értéke egyenlő annak a valószínűségnek az összes élére eső összegével, hogy az él bekerül a vágásba, és ez a várakozás arányos az él végcsúcsánál lévő vektorok közötti szöggel. Ha ezt a valószínűséget összehasonlítjuk , az arány elvárása mindig legalább 0,87856 lesz.) Az egyedi játék helyességi hipotézisét feltételezve kimutatható, hogy ennek a közelítésnek a közelítési együtthatója főként optimális.

Goemans és Williamson cikkének megjelenése óta az SDP-problémákat számos közelítő algoritmus kifejlesztésére alkalmazták. A közelmúltban Prasad Raghavendra kidolgozott egy általános sémát a kényszer-elégedettségi problémákra az egyedi játékhipotézis [3] alapján .

Algoritmusok

Az SDP problémák megoldására többféle algoritmus létezik. Ezeknek az algoritmusoknak az eredménye az SDP-probléma -ig terjedő értéke , amelyet egy olyan idő alatt kapunk, amely polinomiálisan függ a feladat méretétől és .

Interior Point Methods

A legtöbb megoldási rendszer a belső pont módszerre épül (CSDP, SeDuMi, SDPT3, DSDP, SDPA), amely robusztus és hatékony az általános lineáris SDP problémák megoldására. A megközelítést korlátozza az a tény, hogy az algoritmusok másodrendű módszerek, és nagy (és gyakran sűrű) mátrixokat igényelnek a memorizáláshoz és a felbontáshoz.

Elsőrendű módszerek

A kúpos optimalizálás elsőrendű módszerei elkerülik a nagy Hess-mátrixok tárolását és felbontását, és sokkal nagyobb problémákra alkalmazhatók, mint a belső pont módszerek, a pontosság elvesztése árán. A módszer az "SCS megoldó" rendszerben valósul meg.

A sugármódszer

Az SDP-probléma nem sima optimalizálási problémaként van megfogalmazva, és spektrális nyalábos módszerrel oldja meg. Ez a megközelítés nagyon hatékony a lineáris SDP problémák bizonyos osztályaiban.

Egyéb

Az általánosított Lagrange-módszeren (PENSDP) alapuló algoritmusok viselkedésükben hasonlóak a belső pont módszerekhez, és néhány nagyon nagy problémára adaptálhatók. Más algoritmusok alacsony szintű információkat használnak, és az SDP -problémát nemlineáris programozási problémaként (SPDLR) fogalmazzák újra.

Alkalmazások

A félig határozott programozást alkalmazták a kombinatorikus optimalizálási problémák közelítő megoldásainak megtalálására, például a maximális vágási feladat megoldására 0,87856 - os közelítési tényezővel . Az SDP-problémákat a geometriában is használják tensegrity gráfok meghatározására, és a vezérléselméletben lineáris mátrixegyenlőtlenségekként jelennek meg .

Jegyzetek

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

Irodalom

Linkek