Comment tenter intelligemment d'exclure la convexité?


9

Je veux minimiser une fonction objectif compliquée, et je ne sais pas si elle est convexe. Existe-t-il un bon algorithme qui tente de prouver qu'il n'est pas convexe? Bien sûr, l'algorithme pourrait ne pas le prouver, auquel cas je ne saurais pas s'il est convexe ou non, et c'est OK; Je veux juste essayer d'exclure la convexité avant de passer beaucoup de temps à essayer de déterminer analytiquement si la fonction objective est convexe, par exemple en essayant de réécrire le problème sous une forme standard connue pour être convexe. Un test rapide serait d'essayer de minimiser à partir de divers points de départ et si plusieurs minima locaux sont trouvés de cette manière, alors ce n'est pas convexe. Mais je me demandais s'il y avait un meilleur algorithme conçu dans ce but.


La fonction objectif est-elle fluide? Est-ce unidimensionnel? La dérivée seconde (ou hessoise) est-elle coûteuse à évaluer? Si possible, j'aimerais voir la formule, ou du moins avoir une meilleure idée de pourquoi elle est "compliquée".
hardmath

Réponses:


10

Une fonction convexe doit satisfaire pour tous α ( 0 , 1 ) et x , y dans le domaine de la définition. Vous pouvez simplement essayer de vérifier cette formule pour un grand nombre de paires x , y et quelques valeurs α , par exempleF(αX+(1-α)y)αF(X)+(1-α)F(y)α(0,1)X,yX,yα .α={1/4,1/2,3/4}


6

Pour un certain nombre de tests de vérification de la convexité / non-convexité pratiquement utiles, voir (auto-exclusion, je suis le troisième auteur de cet article):

R. Fourer, C. Maheshwari, A. Neumaier, D. Orban et H. Schichl, Détection de convexité et de concavité dans les graphiques de calcul. Tree Walks for Convexity Assessment, INFORMS J. Computing 22 (2010), 26-43.

Notez qu'il existe de nombreuses fonctions qui sont convexes dans le domaine d'intérêt mais ne peuvent pas facilement être «disciplinées», c'est-à-dire écrites sous l'une des formes requises par les solveurs convexes structurés tels que CVX .


Est-ce une évolution de DrAmpl, Arnold?
Michael Grant

1
@MichaelGrant: Oui, c'est la publication officielle du matériel Dr. AMPL.
Arnold Neumaier

2

Une fonction peut être non convexe sans avoir de minima multiples. Il existe une variété de méthodes d'optimisation qui appliquent des itérations de gradient conjugué (linéaire ou non linéaire), tronquées lorsqu'une norme d'opérateur négative est calculée. La valeur négative indique une direction de courbure négative (ce qui ne peut pas se produire pour les fonctionnelles convexes). Si une courbure négative est rarement rencontrée, ces méthodes convergent en un petit nombre d'itérations d'optimisation. (Si un préconditionneur de qualité est disponible, les étapes internes doivent également converger rapidement.)


2
Juste pour clarifier, ce à quoi Jed fait référence quand il dit "est négatif", c'est que la matrice des dérivées secondes de la fonction a des valeurs propres négatives.
Wolfgang Bangerth
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.