Algorithmes exacts pour la programmation quadratique non convexe


13

Cette question concerne les problèmes de programmation quadratique avec des contraintes de boîte (box-QP), c'est-à-dire des problèmes d'optimisation de la forme

  • minimiser sous réserve de x[ 0 , 1 ] n .f(x)=xTAx+cTxx[0,1]n

Si était semi-défini positif, alors tout serait bien, convexe et facile, et nous pourrions résoudre le problème en temps polynomial.A

En revanche, si nous avions la contrainte d'intégralité , nous pourrions facilement résoudre le problème dans le temps O ( 2 np o l y ( n ) ) par la force brute. Aux fins de cette question, c'est assez rapide.x{0,1}nO(2npoly(n))

Mais qu'en est-il du cas continu non convexe? Quel est l'algorithme connu le plus rapide pour les box-QPs généraux?

Par exemple, pouvons-nous résoudre ces problèmes dans un temps modérément exponentiel, par exemple , ou la complexité la plus défavorable des algorithmes les plus connus est-elle bien pire?O(3npoly(n))


Contexte: J'ai quelques boîtes-QP assez petites que j'aimerais réellement résoudre, et j'ai été un peu surpris de voir les performances médiocres de certains logiciels commerciaux, même pour de très petites valeurs de . J'ai commencé à me demander s'il y avait une explication TCS pour cette observation.n


1
Pouvez-vous résoudre exactement même pour PSD ? La solution peut être irrationnelle, non? Si vous êtes prêt à perdre additif ε peut - être on peut obtenir un algorithme de temps exponentiel en faisant la recherche de force brute sur une grille suffisamment fine. Juste une vague suggestion. Aϵ
Chandra Chekuri

L'inconvénient est que la "base" de l'exposant serait quelque chose comme , mais une ingénierie de grille intelligente peut aider pour les "petits" n1/ϵn
Suresh Venkat

@ChandraChekuri: Les approximations sont parfaitement correctes si vous pouvez atteindre, par exemple, . Cependant, le forçage brutal sur une grille aussi fine n'est pas possible. ϵ=109
Jukka Suomela

Par élimination des quantificateurs sur des champs fermés réels, il est toujours possible de résoudre exactement ces systèmes.

2
Si est autorisé, vous pouvez optimiser la fonction sur chacune des faces du cube simplement en notant les critères d'optimalité de premier ordre. O(3n)
Yoshio Okamoto

Réponses:


12

Une solution optimale se trouve sur un visage. Ainsi, nous pouvons parcourir toutes les faces du cube et trouver tous les points stationnaires sur chacune des faces.

Voici une procédure plus concrète. Une face du cube peut être caractérisée par deux ensembles d'indices disjoints et I 1 . Pour i I 0 , nous fixons x i = 0 , et pour i I 1 nous fixons x i = 1 . Soit ˜ x les entrées non fixées restantes de x . Cette correction transforme la fonction objectif sous la forme suivante:I0I1iI0xi=0iI1xi=1x~x

x~A~x~+c~x~+d,

avec et ˜ c appropriés , et une constante d , et nous voulons trouver les points stationnaires de cette fonction à la condition que 0 < ˜ x < 1A~c~d0<x~<1 .

A cette fin, nous prenons la différenciation de la fonction objectif pour obtenir

12A~x~+c~=0.

Résoudre ce système d'équations linéaires vous donne les points stationnaires, les candidats pour des solutions optimales. Nous les examinons tous, vérifions la condition et choisissons-en une avec la valeur objective minimale.

O(3npoly(n))n3nn


1
Pourquoi une solution optimale se trouve sur un visage avec un non-convexe F?
cody

@cody: C'est parce que chaque polytope est l'union disjointe de ses faces.
Yoshio Okamoto

Et qu'est-ce qui se passerait si Fest cubique ou quartique? Cette propriété tient-elle toujours?
cody

@cody: La propriété est toujours valable, mais nous devons résoudre une équation algébrique de degré plus d'un. Je crains que ce ne soit pas trivial pour les cas multivariés.
Yoshio Okamoto
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.