Genaue Algorithmen für nicht konvexe quadratische Programmierung


13

Bei dieser Frage geht es um quadratische Programmierprobleme mit Box-Constraints (Box-QP), also um Optimierungsprobleme des Formulars

  • minimiere vorbehaltlich von x[ 0 , 1 ] n .f(x)=xTAx+cTxx[0,1]n

Wenn positiv semidefinit wäre, wäre alles schön und konvex und einfach, und wir könnten das Problem in Polynomzeit lösen.A

Auf der anderen Seite, wenn man die Einstückigkeit constraint hatte konnten wir das Problem mit der Zeit leicht lösen , O ( 2 np o l y ( n ) ) mit roher Gewalt. Für die Zwecke dieser Frage ist dies relativ schnell.x{0,1}nO(2npoly(n))

Aber was ist mit dem nicht konvexen kontinuierlichen Fall? Was ist der schnellste bekannte Algorithmus für allgemeine Box-QPs?

Zum Beispiel können wir diese in mäßig exponentieller Zeit, beispielsweise lösen , oder sind die Worst-Case - Komplexität der bekanntesten Algorithmen etwas viel Schlimmeres?O(3npoly(n))


Hintergrund: Ich habe einige ziemlich kleine Box-QPs, die ich eigentlich gerne lösen würde, und ich war ein wenig überrascht zu sehen, wie schlecht einige kommerzielle Softwarepakete selbst bei sehr kleinen Werten von abschneiden . Ich begann mich zu fragen, ob es eine TCS-Erklärung für diese Beobachtung gibt.n


1
Kannst du das auch für PSD genau lösen ? Die Lösung kann irrational sein, nicht wahr? Wenn Sie bereit sind additiv zu verlieren ε vielleicht kann man einen exponentiellen Algorithmus erhalten durch Brute-Force-Methode über ein ausreichend feines Gitter zu tun. Nur ein vager Vorschlag. Aϵ
Chandra Chekuri

Nachteil ist, dass die "Basis" des Exponenten ungefähr , aber vielleicht kann eine geschickte Rastertechnik für "kleine" n1/ϵn
Suresh Venkat

@ChandraChekuri: Annäherungen sind vollkommen in Ordnung, wenn Sie z. B. . Ein brachiales Überwinden eines solch feinen Gitters ist jedoch nicht möglich. ϵ=109
Jukka Suomela

Durch die Eliminierung von Quantifizierern auf realen geschlossenen Feldern ist es immer möglich, diese Systeme exakt zu lösen.

2
Wenn zulässig ist, können Sie die Funktion auf jeder Seite des Würfels optimieren, indem Sie die Optimalitätskriterien erster Ordnung aufschreiben. O(3n)
Yoshio Okamoto

Antworten:


12

Eine optimale Lösung liegt auf einem Gesicht. So können wir alle Flächen des Würfels durchgehen und alle stationären Punkte auf jeder der Flächen finden.

Hier ist ein konkreteres Verfahren. Eine Fläche des Würfels kann durch zwei disjunkte Indexmengen und I 1 charakterisiert werden . Für i I 0 setzen wir x i = 0 und für i I 1 setzen wir x i = 1 . Sei ˜ x aus den verbleibenden nicht fixierten Einträgen von x . Durch diese Festlegung wird die Zielfunktion in die folgende Form gebracht:I0I1iI0xi=0iI1xi=1x~x

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

A~c~d0<x~<1

Zu diesem Zweck nehmen wir die Differenzierung der Zielfunktion, um zu erhalten

12A~x~+c~=0.

Durch Lösen dieses linearen Gleichungssystems erhalten Sie die stationären Punkte, die Kandidaten für optimale Lösungen. Wir gehen alle durch, überprüfen den Zustand und wählen einen mit dem minimalen Zielwert aus.

Die Gesamtzeitkomplexität ist ungefähr so Ö(3npoly(n)) da die Anzahl der Gesichter der n-Würfel ist 3nund ein lineares Gleichungssystem kann in Polynomzeit gelöst werden. Die Raumkomplexität ist in polynomialn.


1
Warum liegt eine optimale Lösung auf einem Gesicht mit einer nicht konvexen f?
Cody

@cody: Das liegt daran, dass jedes Polytop die disjunkte Vereinigung seiner Gesichter ist.
Yoshio Okamoto

Was wäre wenn fist kubisch oder quartisch? Hält diese Eigenschaft noch?
Cody

@cody: Die Eigenschaft ist immer noch gültig, aber wir müssen eine algebraische Gradgleichung mehr als einmal lösen. Ich fürchte, das ist für multivariate Fälle nicht trivial.
Yoshio Okamoto
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.