Perché la non convessità dovrebbe essere un problema di ottimizzazione?


20

Sono rimasto molto sorpreso quando ho iniziato a leggere qualcosa sull'ottimizzazione non convessa in generale e ho visto dichiarazioni come questa:

Molti problemi pratici di importanza sono non convessi e la maggior parte dei problemi non convessi sono difficili (se non impossibili) da risolvere esattamente in tempi ragionevoli. ( fonte )

o

In generale è NP-difficile trovare un minimo locale e molti algoritmi potrebbero rimanere bloccati in un punto di sella. ( fonte )

Sto facendo ogni giorno una sorta di ottimizzazione non convessa, ovvero il rilassamento della geometria molecolare. Non l'ho mai considerato qualcosa di complicato, lento e suscettibile di rimanere bloccato. In questo contesto, abbiamo superfici non convesse chiaramente multidimensionali (> 1000 gradi di libertà). Usiamo principalmente tecniche del primo ordine derivate dalla discesa più ripida e dall'estinzione dinamica come il FUOCO , che convergono in poche centinaia di passi al minimo locale (inferiore al numero di DOF). Mi aspetto che con l'aggiunta del rumore stocastico debba essere robusto da morire. (L'ottimizzazione globale è una storia diversa)

In qualche modo non riesco a immaginare come dovrebbe essere la potenziale superficie energetica , per rendere questi metodi di ottimizzazione bloccati o lentamente convergenti. Ad esempio una PES molto patologica (ma non dovuta alla non convessità) è questa spirale , ma non è un problema così grande. Potete fornire un esempio illustrativo di SPI patologici non convessi?

Quindi non voglio discutere con le citazioni sopra. Piuttosto, ho la sensazione che mi manchi qualcosa qui. Forse il contesto.


4
La parola chiave qui è "in generale" - puoi costruire funzionali arbitrariamente cattivi, specialmente in dimensioni molto alte che sono fondamentalmente "tutti i punti di sella". Classi specifiche di funzionali non convessi, d'altro canto, possono comportarsi in modo molto gradevole, specialmente se si utilizzano strategie di globalizzazione adeguate.
Christian Clason,

2
Penso che la teoria del controllo ottimale e le applicazioni di ricerca ingegneristica / operativa pongono un po 'di enfasi sulla correttezza / robustezza, mentre tu pensi che trovare un posto "abbastanza buono" sia abbastanza buono. Potrebbero esserci limiti di prestazione (la convergenza deve essere garantita, in modo che la traiettoria di un robot sia calcolata nel tempo) o limiti di correttezza (se si modificano un po 'i parametri del problema, non si ottiene inaspettatamente un risultato completamente diverso). Quindi non è sufficiente ottenere alcuni punti ottimali, è anche necessario che abbiano alcune proprietà prescritte.
Kirill,

Risposte:


23

L'incomprensione sta in ciò che costituisce "risolvere" un problema di ottimizzazione, ad esempio . Per i matematici, il problema è considerato "risolto" solo dopo che abbiamo:argminf(X)

  1. Una soluzione candidata: una scelta particolare della variabile di decisione e il corrispondente valore obiettivo fX , ANDf(X)
  2. Una prova di ottimalità: una prova matematica che la scelta di è globalmente ottimale, ovvero che f ( x ) f ( x X vale per ogni scelta di x .f(X)f(X)X

Quando è convesso, entrambi gli ingredienti sono prontamente ottenuti. La discesa del gradiente individua una soluzione candidata x che fa svanire il gradiente f ( x ) = 0 . La prova dell'ottimalità deriva da un semplice fatto insegnato in MATH101 che, se f è convesso, e il suo gradiente f scompare in x fXf(X)=0ffX , allora è una soluzione globale.X

Quando è convesso, una soluzione candidata può essere ancora facile da trovare, ma la prova dell'ottimalità diventa estremamente difficile. Ad esempio, possiamo eseguire la discesa gradiente e trovare un punto f ( x ) = 0 . Ma quando f non è convesso, la condizione f ( x ) = 0 è necessaria ma non è più sufficiente per l'ottimalità globale. In effetti, non è nemmeno sufficiente per l' ottimalità locale , cioè non possiamo nemmeno garantire che x ff(X)=0ff(X)=0Xè un minimo locale basato esclusivamente sulle sue informazioni sul gradiente. Un approccio consiste nell'enumerare tutti i punti che soddisfano , e questo può essere un compito formidabile anche su una o due dimensioni.f(X)=0

Quando i matematici affermano che la maggior parte dei problemi è impossibile da risolvere, stanno davvero dicendo che è impossibile costruire la prova dell'ottimalità (anche locale) . Ma nel mondo reale, siamo spesso interessati solo al calcolo di una soluzione "abbastanza buona", e questo può essere trovato in un numero infinito di modi. Per molti problemi altamente non convessi, la nostra intuizione ci dice che le soluzioni "abbastanza buone" sono effettivamente ottimali a livello globale, anche se non siamo completamente in grado di dimostrarlo!


l'ottimalità globale vs. locale è una questione completamente diversa. Ma il resto ha senso. Puoi dire di più su "non posso nemmeno garantire che x sia un minimo locale basato solo sulle sue informazioni sul gradiente" o meglio illustrarlo?
Prokop Hapala,

Supponiamo di avere le funzioni e g ( x ) = x 4 come scatole nere (ovvero possiamo solo valutare, ma non possiamo vedere la loro forma). Il punto x = 0 fa svanire entrambi i gradienti, ovvero f ( x ) = 0 e g ( x ) = 0 , ma il punto è solo un minimo locale per gf(X)=X3g(X)=X4X=0f'(X)=0g'(X)=0g. In realtà, anche i loro secondi derivati ​​sono zero a questo punto, quindi i due scenari sono identici ai primi due soli derivati!
Richard Zhang,

aha, OK, presumo sempre automaticamente l'inerzia => che l'algoritmo non tende a convergere al punto in g ( x ) = x 3 . Ma certo, lì usiamo informazioni aggiuntive (l'inerzia) dei passaggi precedenti, non solo il gradiente in un punto. X=0g(X)=X3
Prokop Hapala,

Capisco il tuo punto. E forse questo è davvero il motivo per cui in senso matematico rigoroso l'ottimizzazione non convessa è considerata difficile. Tuttavia, sono ancora più interessato all'applicazione pratica, dove l'euristica (che presumo sia parte naturale dell'algoritmo) fallirebbe miseramente.
Prokop Hapala,

Che dire di quasiconvexity? Secondo questa logica (( è sufficiente), i problemi di quasiconvex non sarebbero facili da ottimizzare quanto i problemi convessi? La mia comprensione è che quest'ultimo non è vero (i problemi convessi sono ancora più facili).f(X)=0
Amelio Vazquez-Reina,

6

Un esempio di un problematico problema di bassa dimensione potrebbe essere:

inserisci qui la descrizione dell'immagine

Dato che hai raggiunto un minimo locale, come puoi essere sicuro che sia qualcosa di simile al minimo globale? Come fai a sapere se il tuo risultato è una soluzione ottimale unica, dato che è globalmente ottimale? Come puoi creare un algoritmo robusto per tutte le colline e le valli in modo che non rimanga bloccato da qualche parte?

Un esempio come questo è dove le cose possono diventare difficili. Ovviamente, non tutti i problemi sono così, ma alcuni lo sono. Quel che è peggio è che, in un ambiente industriale, la funzione di costo può richiedere molto tempo per il calcolo E avere una superficie problematica come quella sopra.

Esempio di problema reale

Un esempio che potrei affrontare sul lavoro è fare un'ottimizzazione per un algoritmo di guida missilistica che potrebbe essere robusto in molte condizioni di lancio. Usando il nostro cluster, ho potuto ottenere le misurazioni delle prestazioni di cui ho bisogno in circa 10 minuti per una singola condizione. Ora per giudicare adeguatamente la robustezza, vorremmo almeno un campione di condizioni su cui giudicare. Supponiamo quindi che vengano eseguite sei condizioni, che richiede un'ora per valutare una funzione di costo.

La dinamica dei missili non lineari, la dinamica atmosferica, i processi a tempo discreto, ecc. Provocano una reazione piuttosto non lineare ai cambiamenti dell'algoritmo di guida, rendendo difficile l'ottimizzazione dell'ottimizzazione. Il fatto che questa funzione di costo sia non convessa rende il tempo necessario per valutare un grosso problema. Un esempio come questo è dove ci sforziamo di ottenere il meglio che possiamo nel tempo che ci viene dato.


1
OK, penso che questo sia un problema diverso ... un problema di ottimizzazione globale, che è chiaramente difficile e irrisolvibile nella maggior parte delle situazioni. Ma questo non è ciò a cui le persone si riferiscono per quanto riguarda l'ottimizzazione non convessa, in cui dicono che NP-difficile trovare un minimo locale e molti algoritmi potrebbero rimanere bloccati in un punto di sella.
Prokop Hapala,

1
@ProkopHapala I miei commenti si riferivano maggiormente alla citazione Molti problemi pratici di importanza sono non convessi e la maggior parte dei problemi non convessi sono difficili (se non impossibili) da risolvere esattamente in un tempo ragionevole , soprattutto perché l'OP parlava di quanto fosse semplice è stato per loro affrontare i problemi non convessi nella ricerca. Risolvere esattamente , per me, sta cercando una soluzione globalmente ottimale (o qualcosa di vicino). Quindi volevo dipingere un quadro delle sfide del mondo reale legate a questi commenti.
spektr,

Capisco. A rigor di termini hai ragione, ma penso ancora che non affronti ciò che intendevo ... forse avrei dovuto formularlo meglio.
Prokop Hapala,

5

Il problema è quello dei punti di sella, discussi nel post che hai collegato. Dall'estratto di uno degli articoli collegati :

Tuttavia, in generale è difficile garantire che tali algoritmi convergano anche al minimo locale, a causa dell'esistenza di strutture a punti di sella complicate in dimensioni elevate. Molte funzioni hanno punti di sella degenerati in modo tale che i derivati ​​del primo e del secondo ordine non possano distinguerli con optima locale . In questo documento usiamo derivati ​​di ordine superiore per sfuggire a questi punti di sella: progettiamo il primo algoritmo efficiente garantito per convergere in un ottimale locale di terzo ordine (mentre le tecniche esistenti sono al massimo al secondo ordine). Mostriamo anche che è NP-difficile estenderlo ulteriormente alla ricerca di optima locali del quarto ordine.

Fondamentalmente puoi avere funzioni in cui hai punti di sella che sono indistinguibili dai minimi locali quando guardi il 1o, 2o e 3o derivato. È possibile risolvere questo problema andando a un ottimizzatore di ordine superiore, ma mostrano che definire un minimo locale del 4 ° ordine è NP difficile.

X2y+y2

Potresti usare una serie di euristiche per sfuggire a tali punti, che possono funzionare per molti (la maggior parte?) Esempi del mondo reale, ma non si può dimostrare che funzionano sempre.
Nel post sul blog che hai collegato discutono anche le condizioni in cui puoi sfuggire a tali punti di sella in tempi polinomiali.


X2y+y2

2
Devi guardarlo dall'altra parte. Non è che sappiamo che la discesa gradiente stocastica fallirà, è che non sappiamo che ci riuscirà. Per problemi con i giocattoli, è improbabile che ciò accada nella pratica, ma potrebbe accadere per problemi di dimensioni superiori. La mia scommessa è che per i tuoi problemi di chimica, questo non accadrà mai, ma mi farebbe fatica a provarlo.
LKlevin,
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.