2017-05-24 4 views
0

Wie kann ich ein quadratisches Optimierungsproblem mit den folgenden Randbedingungen gelöst werden:Constrain variabel ist in einem von zwei disjunkten Bereichen in quadratischer Programmierung

Minimieren (1/2) X^TQX + C^TX

vorbehaltlich -0.01 < x_i < 0,01 oder 0,05 < x_i < 0,20, für jeden x_i in X

wobei Q-Matrix, C, X-Vektoren.

Es scheint, dass ich nicht

+1

Sie werden Unterstützung für binäre Variablen benötigen, die es zu einem MIQP machen (was viel schwieriger zu lösen ist; sogar 0-1 lineare Ganzzahl-Programmierung ist NP-schwer). Die Einschränkung, die Sie darstellen möchten, ist nicht konvex – sascha

Antwort

1

Beachten Sie, dass die realisierbare Region hier ist nichtkonvexe oben genannten Einschränkungen als Standard gebunden Einschränkungen oder Ungleichungsrestriktionen umformulieren kann - wenn wir eine machbare Lösung mit x_1 = 0,01 und einer anderen mit x_1 = 0,05, dann ist jede geeignete konvexe Kombination dieser beiden Lösungen undurchführbar. Aus diesem Grund ist es wahrscheinlich unmöglich, dieses Problem in ein quadratisches Standardprogramm mit nur stetigen Variablen umzuformulieren.

Stattdessen müssen Sie auf binäre Variablen zurückgreifen. Zum Beispiel könnten wir Binärgrößen y_i (eine pro x_i Variable) einführen und neu formulieren das Problem so:

Minimize (1/2)X^TQX + C^TX 
Subject to -0.01 + 0.06y_i <= x_i <= 0.01 + 0.19y_i, for any x_i in X 
y_i binary 

Beachten Sie, dass jetzt für jede Variable mit y_i = 0 Sie -0,01 < = x_i < = 0,01 haben, und Für jede Variable mit y_i = 1 haben Sie 0.05 < = x_i < = 0,20.

Verwandte Themen