Usano la programmazione semidefinita nell'industria?


10

Non riesco a vederne alcun riferimento negli elenchi di lavoro. Ho visto la programmazione di numeri interi, MIP, programmazione non lineare di numeri misti, LP, programmazione dinamica ecc., Ma nessun SDP. È molto più trendy nell'accademia che nell'industria?

Dalla mia esposizione limitata a accademici e operatori del settore nei sistemi di energia elettrica, penso che ci siano buone probabilità che l'SDP sia applicato in problemi di flusso di potenza ottimale da parte di operatori di sistemi indipendenti, ma che dipende dalla misura in cui le teste delle uova possono scalare gli approcci attuali per affrontare le istanze più grandi del problema.

Risposte:


8

Dalla mia esperienza limitata nel settore energetico, nessuno sta risolvendo gli SDP su quel tipo di scala. Ho una conoscenza limitata di ciò che la ISO del New England sta facendo e penso che siano più interessati a incorporare la stocastica nei loro modelli MILP esistenti. Da amici che hanno lavorato sui sistemi di alimentazione nei laboratori di ricerca governativi negli Stati Uniti, stanno anche pensando alla stocastica (programmazione stocastica, vincoli di probabilità, ottimizzazione robusta ...).

Dalla mia esperienza nel settore delle grandi aziende tecnologiche, le persone stanno risolvendo i MILP nei modelli più complicati e solitamente deterministici.

Dal punto di vista dell'ingegneria chimica, mi sembra che sembrino interessati al MINLP, in particolare all'ottimizzazione non convessa e quadraticamente limitata, che si presenta naturalmente nel mescolare i problemi. Ci sono anche problemi legati alla PDE e tutte quelle altre cose divertenti, ma questo è principalmente per la mia esperienza.

Se dovessi speculare, SDP potrebbe essere utilizzato nella progettazione di semiconduttori come subroutine (ad esempio per MAXCUT), ma data la mancanza di solutori di qualità, suppongo che non ci sia una grande richiesta (almeno, almeno).

Direi che in ambito accademico, SDP è più interessante come strumento di prova, cioè "guarda, questo problema è tempo polinomiale!" se riesci a capire come litigare come SDP. I risolutori di SDP sono così permalosi (rispetto ad altre classi di problemi convessi) che penso che le persone non siano davvero entusiaste dell'idea di doverli risolvere davvero.


L'SDP non è noto per essere sempre polinomiale, credo. IIRC hai bisogno di ulteriori vincoli per saperlo con certezza.
user541686,

Certo, ma se quei vincoli non fossero rispettati non lo vedresti in una prova perché non ci sarebbe molto da dire.
IainDunning,

7

La programmazione semidefinita e la programmazione dei coni del secondo ordine non sono state adottate così rapidamente nella pratica come molti di noi speravano. Sono stato coinvolto in questo negli ultimi 20 anni ed è stato molto deludente vedere progressi lenti. Vorrei sottolineare alcune delle sfide:

  1. Sebbene disponiamo di algoritmi temporali polinomiali per SDP e SOCP, i metodi a punti interni primal-dual ampiamente utilizzati in genere richiedono O(m2) deposito dove mè il numero di vincoli. Ciò rende possibile la risoluzione di problemi con 50.000 vincoli, ma oggi è impossibile risolvere problemi con 500.000 vincoli. Naturalmente, la capacità di memoria continua a crescere in modo esponenziale, quindi molti problemi importanti alla fine saranno risolvibili, ma ci sono molti problemi che non sono praticamente risolvibili oggi o nel prossimo futuro. Metodi del primo ordine che non hannoO(m2) i requisiti di archiviazione sono un argomento di ricerca attivo ma nell'area dell'SDP non hanno semplicemente dimostrato di essere abbastanza robusti per l'uso in un solutore di uso generale.

  2. I fornitori di software LP non hanno ancora ritenuto opportuno includere il supporto per SDP nei loro prodotti. Sta iniziando ad apparire un supporto limitato per SOCP.

  3. Le conoscenze sulla programmazione semidefinita si sono diffuse lentamente. Il libro di testo di Boyd e Vandenberghe è stato di grande aiuto in questo senso, ma c'è ancora molta strada da fare prima che questa tecnologia sia tanto conosciuta quanto le vecchie tecniche di ottimizzazione.

  4. Linguaggi e sistemi di modellazione (come GAMS, AMPL, ecc.) Non forniscono ancora un buon supporto per SOCP e SDP. Il pacchetto CVX è il lavoro più interessante in questa direzione, ma anche richiede una certa raffinatezza da parte dell'utente.

SDP ha trovato applicazioni a livello di ricerca in molte aree dell'ingegneria e della scienza. Sembra probabile che alla fine diventeranno importanti anche nell'industria.


5
Solo per aggiungere: l'unico risolutore commerciale di SDP afaik è MOSEK ed è comunque abbastanza recente. Penso che la robustezza sia più importante di quanto si possa pensare: in molte applicazioni è possibile allocare più tempo, ma se un risolutore fallisce cosa si dovrebbe fare?
AndreaCassioli,

5

La maggior parte del lavoro di cui sono a conoscenza presso i laboratori per problemi di flusso di energia riguarda anche l'ottimizzazione stocastica, concentrandosi principalmente sui MILP.

In ingegneria chimica, sono interessati ai MINLP e l'esempio classico è un problema di miscelazione (in particolare, il prototipo del problema del pooling Haverly), quindi i termini bilineari emergono molto. Occasionalmente compaiono termini trilineari, a seconda dei modelli di miscelazione termodinamici o dei modelli di reazione utilizzati. C'è anche un interesse limitato nell'ottimizzazione ODE o PDE; nessuna di queste opere utilizza SDP.

La maggior parte del lavoro di ottimizzazione vincolato dalla PDE che ho visto (sto pensando specificamente all'ottimizzazione della topologia) non utilizza SDP. I vincoli PDE potrebbero essere lineari e, in teoria, potrebbero ammettere una formulazione SDP a seconda dell'obiettivo e dei vincoli rimanenti. In pratica, i problemi di ingegneria tendono ad essere non lineari e producono problemi non convessi che vengono poi risolti in optima locale (possibilmente anche usando il multistart). A volte, vengono utilizzate formulazioni di penalità per escludere optima locale subottimale noto.

Potrei vederlo forse usato nella teoria del controllo. La piccola quantità di lavoro che ho visto sulle "disuguaglianze della matrice lineare" suggerisce che potrebbe essere utile lì, ma la teoria del controllo nell'industria tende a fare affidamento su metodi collaudati piuttosto che su formulazioni matematiche all'avanguardia, quindi dubito degli SDP sarà usato per un po 'fino a quando non potranno dimostrare la loro utilità.

Ci sono alcuni solutori di SDP che vanno bene e hanno risolto problemi che sono piuttosto grandi per il mondo accademico (l'ultimo che ho controllato è stato 3-4 anni fa, e stavano risolvendo decine di centinaia di migliaia di variabili), ma scenari di flusso di potenza comportano problemi molto più grandi (decine di milioni o miliardi di variabili) e non credo che i risolutori siano ancora lì. Penso che potrebbero arrivarci - ci sono stati molti lavori recenti su metodi di punti interni privi di matrice che suggeriscono che sarebbe fattibile scalare i risolutori di SDP usando queste tecniche - ma nessuno lo ha ancora fatto, probabilmente perché LP, MILP e PNL convessi si presentano molto più frequentemente e sono tecnologie consolidate.


2
Adesso ne ho ben poco, ma la cosa divertente è che le applicazioni per controllare la teoria sono in circolazione da un po 'di tempo. Le disuguaglianze di matrice lineare nei sistemi e nel controllo sono state pubblicate nel 1994. Stephen Boyd svolge la maggior parte delle sue ricerche all'intersezione di ottimizzazione e controllo, e lo fa anche da almeno il 1996.
GrayOnGray

È vero. La maggior parte di ciò che so sul controllo industriale proviene da un breve tirocinio nel settore della trasformazione chimica, e lì, il controllo predittivo del modello era una grande novità, e credo che sia stato sviluppato tra la metà degli anni '80 e l'inizio degli anni '90.
Geoff Oxberry,
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.