Quadratische unrestringierte binäre Optimierung

Aus testwiki
Zur Navigation springen Zur Suche springen

In der quadratischen unrestringierten binären Optimierung (QUBO), auch bekannt als unrestringierte binäre quadratische Optimierung (UBQP), werden Optimierungsprobleme untersucht, die binäre Entscheidungsvariablen, eine quadratische Zielfunktion, jedoch keine Nebenbedingungen besitzen. QUBO ist Teil der mathematischen Optimierung mit Anwendungen unter anderem in Finanzen, Wirtschaft und maschinelles Lernen.[1] Einige klassische Probleme der theoretischen Informatik wie Maximaler Schnitt, Färbung und das Partitionsproblem lassen sich als QUBO formulieren, weshalb es sich um eine NP-schwere Problemklasse handelt.[2] Es bestehen außerdem enge Zusammenhänge zum Ising-Modell der theoretischen Physik und dadurch zu Quantencomputern, insbesondere zu Optimierungsmethoden wie Quantum Annealing. QUBO kann als quadratisches oder, nach Umformulierungen, auch als lineares ganzzahliges Optimierungsproblem modelliert und mit den Methoden der gemischt-ganzzahligen Optimierung gelöst werden.

Definition

Ein quadratisches unrestringiertes Optimierungsproblem (QUBO) besteht aus einer quadratischen Zielfunktion und binären Entscheidungsvariablen. Es enthält keine Nebenbedingungen. In Matrix-Vektor-Schreibweise kann es mit einer Matrix Qn×n, einem Vektor dn sowie einer Zahl c darstellt werden als

QUBO:minx{0,1}nxTQx+dTx+c

und in Summenschreibweise gilt

QUBO:minx{0,1}ni=1nj=1nqijxixj+i=1ndixi+c,wobei qij und di für i,j{1,,n} die Einträge von Q bzw. d sind. Gesucht ist nun ein Optimalpunkt von QUBO, das heißt ein Punkt x{0,1}n mit minimalem Zielfunktionswert. Die Anzahl der Elemente in der Menge {0,1}n ist 2n, was impliziert, dass sie exponentiell in n wächst.

Eigenschaften

  • QUBO kann durch Negieren aller Vorzeichen äquivalent als Maximierungsproblem formuliert werden.
  • Falls alle Koeffizienten positiv sind, ist x*=(0,,0) trivialerweise ein Optimalpunkt von QUBO. Analog dazu ist x*=(1,,1) optimal, falls alle Vorfaktoren negativ sind.
  • Falls Q eine Diagonalmatrix ist, ist das Optimierungsproblem separabel, was bedeutet, dass es in n unabhängige Optimierungsprobleme zerfällt, die getrennt gelöst werden können, da die Entscheidungsvariablen sich gegenseitig nicht beeinflussen. Dieses Problem ist lösbar in 𝒪(n) und die optimalen Belegungen der Entscheidungsvariablen sind einfach xi*=1 falls qii<0 und ansonsten xi*=0.

QUBO und gemischt-ganzzahlige Optimierung

QUBO kann unter Einsatz eines Modellierungstricks als (restringiertes) ganzzahliges lineares Optimierungsproblem (ILP) formuliert werden.[3] Dazu wird das Produkt xixj durch eine zusätzliche Binärvariable zij{0,1} ersetzt und die Nebenbedingungen xizij, xjzij und xi+xj1zij hinzugefügt. Das vollständige Optimierungsproblem lautet

QUBOILP: minx,zi=1nj=1nqijzij+i=1ndixi+cs.t.xi,zij{0,1}i,j{1,,n}xiziji,j{1,,n}xjziji,j{1,,n}xi+xj1ziji,j{1,,n}

Man beachte, dass zij auch als kontinuierliche Variable mit den Grenzen null und eins gewählt werden kann, da zij durch die Nebenbedingungen keine Werte annehmen kann, die nicht ganzzahlig sind. Diese Formulierung würde in einem linearen gemischt-ganzzahligen Optimierungsproblem (MILP) resultieren, da nun nicht mehr alle Variablen ganzzahlig sind. Für die Lösung von (M)ILP-Modellen können neben (Meta-)Heuristiken exakte Methoden wie Branch-and-Cut- sowie Branch-and-Bound-Verfahren angewandt werden, die zwar eine theoretisch schlechte Worst-Case-Laufzeit besitzen, aber effizient in kommerziellen und freien Paketen wie CPLEX, Gurobi und SCIP implementiert sind und somit oft die Lösung praxisüblicher QUBO-Instanzen ermöglichen.

QUBO und das Ising-Modell

QUBO ist eng verwandt mit dem Ising-Modell in der theoretischen Physik, dessen Hamiltonoperator definiert ist als

^=12i,jJijsizsjzHzi=1Nsiz

mit reellen Zahlen Jij und Hz. Die Spin-Variablen siz{1,1} sind optimal zu wählen und sind in der ursprünglichen Beschreibung keine Binärvariablen. Eine Substitution der Spin-Variablen durch siz=2xi1 mit xi{0,1} ergibt jedoch die Formulierung

^=12i,jJij(2xi1)(2xj1)Hzi=1N(2xi1),

ohne die Werte der Funktion ^ zu verändern, welche nun als quadratische Zielfunktion binärer Variablen in einem QUBO verwendet werden könnte.

QUBO und Quantencomputer

Ein weiterer Lösungsansatz besteht darin, QUBO auf Quantencomputern zu modellieren und zu lösen. Hierbei wird für die Modellierung jeder Binärvariable ein Qubit verwendet. Beliebte Lösungsmethoden sind hierbei Heuristiken wie das Quantum Annealing.[4]

Anwendungen

Anwendungsmöglichkeiten von QUBO

Viele Anwendungen lassen sich formal als QUBO modellieren[5], was aber nicht bedeutet, dass diese Anwendungen auch durch das Berechnen eines globalen Optimalpunkts des QUBOs gelöst werden. Das gilt auch für das kommende Beispiel aus dem Bereich Clusteranalyse, welches sich zwar als QUBO formulieren lässt, aber in der Praxis in der Regel mit effizienten Heuristiken wie der K-Means-Methode gelöst wird.

Clusteranalyse

Vorlage:Mehrere Bilder

Um zu illustrieren, wie ein Anwendungsproblem als QUBO modelliert werden kann, wird die Clusteranalyse betrachtet. Hier sind 20 Punkte in der Ebene gegeben, deren Koordinaten durch eine Matrix D20×2beschrieben werden. Jeder Punkt soll einem von zweien Clustern zugeordnet werden, sodass benachbarte Punkte Teil desselben Clusters sind. Jedem Punkt wird eine Binärvariable xi{0,1} zugewiesen, die angibt, ob der Punkt in der i-ten Zeile von D dem ersten (xi=0) oder zweiten Cluster (xi=1) zugeordnet wird. Insgesamt ergeben sich dadurch also 20 Binärvariablen, die optimal zu wählen sind, wobei noch zu klären ist, was "Optimalität" hier genau bedeutet.

Eine Möglichkeit Cluster zu bestimmen, ist den paarweisen euklidischen Abstand dij0 der Punkte i und j zueinander zu betrachten. Die Grundidee ist es nun, Cluster so zu wählen, dass die Abstände zwischen Punkten desselben Clusters möglichst gering und zwischen Punkten verschiedener Cluster möglichst groß sind.

  • Woran erkennt man, dass die Punkte i und j Teil desselben Clusters sind? Dies ist genau dann der Fall, wenn xi=xj=1 oder xi=xj=0 gilt. Alternativ und äquivalent lässt sich auch schreiben xixj=1 oder (1xi)(1xj)=1.
  • Umgekehrt sind die Punkte i und j in verschiedenen Clustern, falls xi(1xj)=1 oder (1xi)xj=1 gilt.

Die zu minimierende Zielfunktion besteht nun also aus den aufsummierenden Abstände innerhalb eines Clusters, wovon die gesamten Abstände zwischen den beiden Clustern subtrahiert werden. In Summenschreibweise lautet die Zielfunktion

f(x)=i<jdij(xixj+(1xi)(1xj))dij(xi(1xj)+(1xi)xj)=i<j4dijxixj2dijxi2dijxj+dij

und kann unter Verwendung der Matrix

Qij={dij, wenn ij(k=1i1dki+=i+1ndi), wenn i=j

auch in Matrix-Vektor-Schreibweise dargestellt werden.

Solver

Einzelnachweise