Quali classi di programmi matematici possono essere risolti esattamente o approssimativamente, in tempi polinomiali?


31

Sono piuttosto confuso dalla letteratura sull'ottimizzazione continua e dalla letteratura TCS su quali tipi di programmi matematici (continui) (MP) possano essere risolti in modo efficiente e quali no. La comunità di ottimizzazione continua sembra affermare che tutti i programmi convessi possono essere risolti in modo efficiente, ma credo che la loro definizione di "efficiente" non coincida con la definizione TCS.

Questa domanda mi ha infastidito molto negli ultimi anni e non riesco a trovare una risposta chiara. Spero che tu possa aiutarmi a risolverlo una volta per tutte: quali classi di parlamentari possono essere risolte esattamente in tempo polinomiale e con quali mezzi; e cosa si sa circa l'approssimazione della soluzione ottimale di parlamentari che non possiamo risolvere esattamente in tempi polinomiali?

Di seguito, do una risposta incompleta a questa domanda che potrebbe anche essere errata in alcuni punti, quindi spero che tu possa verificarmi e correggermi nei punti in cui mi sbaglio. Indica anche alcune domande alle quali non posso rispondere.

Sappiamo tutti che la programmazione lineare può essere risolta esattamente in tempo polinomiale, eseguendo il metodo ellissoide o un metodo a punti interni e successivamente eseguendo una procedura di arrotondamento. La programmazione lineare può anche essere risolta nel tempo polinomiale del numero di variabili quando si affronta una famiglia di LP con qualsiasi super quantità di vincoli lineari, purché si possa fornire un "oracolo di separazione" per esso: un algoritmo che, dato un punto , determina se quel punto è fattibile o genera un iperpiano che separa il punto dal poliedro di punti fattibili. Allo stesso modo, la programmazione lineare nel tempo polinomiale del numero di vincoli di fronte a una famiglia di LP con qualsiasi quantità super grande di variabili, se si fornisce un algoritmo di separazione per i doppi di questi LP.

Il metodo ellissoide è anche in grado di risolvere programmi quadratici in tempo polinomiale, nel caso in cui la matrice nella funzione obiettivo sia positiva (semi?) Definita. Sospetto che, usando il trucco dell'oracolo della separazione, in alcuni casi possiamo farlo anche se abbiamo a che fare con un numero incredibile di vincoli. È vero?

Ultimamente la programmazione semidefinita (SDP) ha guadagnato molta popolarità nella comunità TCS. È possibile risolverli fino a una precisione arbitraria utilizzando i metodi dei punti interni o il metodo ellissoide. Penso che gli SDP non possano essere risolti esattamente a causa del problema che le radici quadrate non possono essere calcolate esattamente. (?) Sarebbe quindi corretto se dico che esiste un FPTAS per SDP? Non l'ho visto da nessuna parte, quindi probabilmente non è giusto. Ma perché?

Siamo in grado di risolvere esattamente LP e SDP con precisione arbitraria. Che dire di altre classi di programmi conici? Possiamo risolvere i programmi dei coni del secondo ordine con precisione arbitraria, usando il metodo ellissoide? Non lo so.

Su quali classi di parlamentari possiamo usare il metodo ellissoide? Quali proprietà deve soddisfare un tale MP in modo tale che una risposta possa essere data a precisione arbitraria e quali proprietà aggiuntive sono necessarie per essere in grado di ottenere una soluzione esatta in tempo polinomiale? Stesse domande per i metodi di punti interni.

Oh, e infine, che cosa fa sì che gli ottimizzatori continui affermino che i programmi convessi possono essere risolti in modo efficiente? È vero che una risposta di precisione arbitraria a un programma convesso può essere trovata in un tempo polinomiale? Credo di no, quindi in quali aspetti la loro definizione di "efficiente" differisce dalla nostra?

Ogni contributo è apprezzato! Grazie in anticipo.


6
Il titolo di questa domanda è troppo ampio; sembra che quello che vuoi veramente sapere è se i programmi convessi possono davvero essere risolti in tempi polinomiali.
Peter Shor,

Distaccato. Bart, forse puoi scomporre le cose in domande specifiche?
Suresh Venkat,

Peter e Suresh, grazie per questi suggerimenti. Da quello che ho scritto si suppone che segua che non sono solo interessato alla questione se i programmi convessi possano essere risolti o approssimati nel poli-tempo. Sono sostanzialmente interessato ai limiti dei metodi dell'ellissoide e dei punti interni e spero che qualcuno sappia esattamente su quali classi di parlamentari lavorano in modo efficiente. Lo chiedo perché l'attuale corpus di letteratura non è chiaro al riguardo (per me).
Bart

Personalmente, penso che sarebbe bello avere una bella panoramica di questo su un punto (come una risposta a questa domanda di scambio di stack). Anche per me questa sembra una domanda abbastanza coerente. Tuttavia, poiché sono nuovo di StackExchannge, non ho familiarità con la cultura e l'etica qui .. quindi, nel caso insisti, proverò a scoprire come suddividere questa domanda in più piccole domande.
Bart,

1
Penso che la portata di questa domanda sia troppo ampia per avere una risposta. I limiti dei metodi dell'ellissoide e dei punti interni sarebbero una buona domanda, e cosa si può fare per i programmi convessi è una buona domanda, ma se non si specifica il tipo di algoritmo o il tipo di programma, si sta sostanzialmente chiedendo per un riepilogo dell'intero campo dell'ottimizzazione continua nella tua risposta, e questo è praticamente impossibile. Non è un piccolo campo. Tuttavia, se lasci la tua domanda così com'è, è possibile che otterrai un'altra buona risposta parziale.
Peter Shor,

Risposte:


18

Posso rispondere a questa parte:

Sarebbe quindi corretto se dico che esiste un FPTAS per SDP? Non l'ho visto da nessuna parte, quindi probabilmente non è giusto. Ma perché?

L'affermazione è corretta, ma spesso non la vediamo perché un'affermazione più forte contiene ed è più importante di questa affermazione più debole.

Un FPTAS è un algoritmo a tempo polinomiale che, dato un problema e un parametro di precisione 1 k , genera una soluzione approssimata (1 + 1 / k ).

Ma per SDP, il metodo ellissoide e il metodo del punto interno forniscono algoritmi a tempo polinomiale che, dato un problema e un parametro di precisione 1 k , producono una soluzione approssimata (1 + 2 - k ). Si noti che il fattore di approssimazione è molto meglio di quanto richiesto per un FPTAS.


Ciò richiede un po 'più di attenzione poiché il metodo dell'ellissoide e i metodi del punto interno richiedono condizioni aggiuntive per essere eseguiti in tempo polinomiale.
Yoshio Okamoto,

Grazie per questo, Tsuyoshi! Yoshio, potresti chiarire cosa intendi con questo? Intendi davvero che ci sono condizioni sul SDP particolare necessarie, perché altrimenti SDP non può essere approssimato in quel modo nel poly-time? Questa è una sorpresa per me in quel caso e sarei interessato a conoscere queste condizioni. Grazie.
Bart

@Bart: Ad esempio, se si osservano gli appunti delle lezioni di Lovasz cs.elte.hu/~lovasz/semidef.ps , è possibile trovare Teorema 3.7 (Pagina 19) che parla del limite di tempo di esecuzione del metodo ellissoide per la minimizzazione convessa . Lì vengono imposte alcune ipotesi tecniche.
Yoshio Okamoto,

4
@Bart: guarda le note che sono molto belle, ma solo per metterle qui: le condizioni sono fondamentalmente che la regione possibile contiene una sfera di raggio , è contenuta in una sfera di raggio e è limitato polinomialmente. Insieme a un debole oracolo di separazione, queste condizioni danno un algoritmo polytime per qualsiasi programma convesso (tramite il metodo dell'ellissoide)rRlogR/r
Sasho Nikolov,

Grazie mille per questo Questo risponde a una grande parte della mia domanda. Sembra che questa conoscenza possa essere uno strumento molto utile per gli informatici teorici, mentre ancora mi sembra che non sia affatto noto, e dichiarato quasi da nessuna parte. Strano.
Bart,

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.