Risoluzione di programmi semidefiniti in tempo polinomiale


17

Sappiamo che i programmi lineari (LP) possono essere risolti esattamente in tempo polinomiale usando il metodo ellissoide o un metodo a punti interni come l'algoritmo di Karmarkar. Alcuni LP con numero di variabili / vincoli super-polinomiali (esponenziali) possono anche essere risolti in tempo polinomiale, a condizione che possiamo progettare un oracolo di separazione temporale polinomiale per loro.

Che dire dei programmi semidefiniti (SDP)? Quali classi di SDP possono essere risolte esattamente in tempi polinomiali? Quando un SDP non può essere risolto esattamente, possiamo sempre progettare un FPTAS / PTAS per risolverlo? Quali sono le condizioni tecniche alle quali ciò può essere fatto? Possiamo risolvere un SDP con un numero esponenziale di variabili / vincoli nel tempo polinomiale, se possiamo progettare un oracolo di separazione temporale polinomiale per esso?

Possiamo risolvere in modo efficiente gli SDP che si verificano nei problemi di ottimizzazione combinatoria (MAX-CUT, colorazione dei grafici)? Se riusciamo a risolvere solo entro un fattore , non avrà un effetto sugli algoritmi di approssimazione dei fattori costanti (come 0,878 per l'algoritmo MAX-CUT di Goemans-Williamson)?1+ε

Qualsiasi buona referenza su questo sarà molto apprezzata.


3
In effetti il ​​metodo funziona per la programmazione convessa in generale
Suresh Venkat,

8
Esistono almeno due motivi per cui non è possibile risolvere un SDP generale in tempi polinomiali. (1) Esistono SDP la cui soluzione ha dimensioni esponenziali. (2) Gli SDP possono codificare il problema della somma delle radici quadrate, che non è noto per essere risolvibile nel tempo polinomiale.
Robin Kothari,

2
ε1/ε

8
@SureshVenkat: supponiamo di avere una matrice 2x2 con voci [ab; CD]. Imporre che questo è semidefinito positivo e d = 1. Ciò significa b = c e a> = b ^ 2. Quindi b è superiore delimitato dalla radice quadrata di a. Ora possiamo massimizzare la somma di molti di questi b. Il valore ottimale sarà la somma delle radici quadrate delle rispettive a.
Robin Kothari,

2
Non è moltiplicativo ma additivo. Inoltre, en.wikipedia.org/wiki/Semidefinite_programming#Algorithms
Suresh Venkat

Risposte:


16

Il metodo dell'ellissoide e i metodi dei punti interni possono essere estesi per risolvere anche gli SDP. È possibile fare riferimento a qualsiasi testo standard su SDP per i dettagli. Eccone uno:

Programmazione semidefinita . Vandenberge e Stephen Boyd, 1996.


Bel riferimento Jagadish.
Arindam Pal

Bel riferimento anche! Grazie! Mi chiedevo quando si dice che l'algoritmo del tempo polinomiale risolve SDP, gli algoritmi stanno risolvendo per la soluzione ottimale, esattamente o approssimativamente?
StackExchange per tutto il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.