Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Quadratische unrestringierte binäre Optimierung – Wikipedia
Quadratische unrestringierte binäre Optimierung – Wikipedia
aus Wikipedia, der freien Enzyklopädie

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

[Bearbeiten | Quelltext bearbeiten]

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 Q ∈ R n × n {\displaystyle Q\in \mathbb {R} ^{n\times n}} {\displaystyle Q\in \mathbb {R} ^{n\times n}}, einem Vektor d ∈ R n {\displaystyle d\in \mathbb {R} ^{n}} {\displaystyle d\in \mathbb {R} ^{n}} sowie einer Zahl c ∈ R {\displaystyle c\in \mathbb {R} } {\displaystyle c\in \mathbb {R} } darstellt werden als

Q U B O : min x ∈ { 0 , 1 } n x T Q x + d T x + c {\displaystyle \mathrm {QUBO} :\qquad \min _{x\in \{0,1\}^{n}}x^{T}Qx+d^{T}x+c} {\displaystyle \mathrm {QUBO} :\qquad \min _{x\in \{0,1\}^{n}}x^{T}Qx+d^{T}x+c}

und in Summenschreibweise gilt

Q U B O : min x ∈ { 0 , 1 } n ∑ i = 1 n ∑ j = 1 n q i j x i x j + ∑ i = 1 n d i x i + c , {\displaystyle \mathrm {QUBO} :\qquad \min _{x\in \{0,1\}^{n}}\sum _{i=1}^{n}\sum _{j=1}^{n}q_{ij}x_{i}x_{j}+\sum _{i=1}^{n}d_{i}x_{i}+c,} {\displaystyle \mathrm {QUBO} :\qquad \min _{x\in \{0,1\}^{n}}\sum _{i=1}^{n}\sum _{j=1}^{n}q_{ij}x_{i}x_{j}+\sum _{i=1}^{n}d_{i}x_{i}+c,}wobei q i j {\displaystyle q_{ij}} {\displaystyle q_{ij}} und d i {\displaystyle d_{i}} {\displaystyle d_{i}} für i , j ∈ { 1 , … , n } {\displaystyle i,j\in \{1,\ldots ,n\}} {\displaystyle i,j\in \{1,\ldots ,n\}} die Einträge von Q {\displaystyle Q} {\displaystyle Q} bzw. d {\displaystyle d} {\displaystyle d} sind. Gesucht ist nun ein Optimalpunkt von QUBO, das heißt ein Punkt x ⋆ ∈ { 0 , 1 } n {\displaystyle x^{\star }\in \{0,1\}^{n}} {\displaystyle x^{\star }\in \{0,1\}^{n}} mit minimalem Zielfunktionswert. Die Anzahl der Elemente in der Menge { 0 , 1 } n {\displaystyle \{0,1\}^{n}} {\displaystyle \{0,1\}^{n}} ist 2 n {\displaystyle 2^{n}} {\displaystyle 2^{n}}, was impliziert, dass sie exponentiell in n {\displaystyle n} {\displaystyle n} wächst.

Eigenschaften

[Bearbeiten | Quelltext bearbeiten]
  • QUBO kann durch Negieren aller Vorzeichen äquivalent als Maximierungsproblem formuliert werden.
  • Falls alle Koeffizienten positiv sind, ist x ∗ = ( 0 , … , 0 ) {\displaystyle x^{*}=(0,\dots ,0)} {\displaystyle x^{*}=(0,\dots ,0)} trivialerweise ein Optimalpunkt von QUBO. Analog dazu ist x ∗ = ( 1 , … , 1 ) {\displaystyle x^{*}=(1,\dots ,1)} {\displaystyle x^{*}=(1,\dots ,1)} optimal, falls alle Vorfaktoren negativ sind.
  • Falls Q {\displaystyle Q} {\displaystyle Q} eine Diagonalmatrix ist, ist das Optimierungsproblem separabel, was bedeutet, dass es in n {\displaystyle n} {\displaystyle 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 O ( n ) {\displaystyle {\mathcal {O}}(n)} {\displaystyle {\mathcal {O}}(n)} und die optimalen Belegungen der Entscheidungsvariablen sind einfach x i ∗ = 1 {\displaystyle x_{i}^{*}=1} {\displaystyle x_{i}^{*}=1} falls q i i < 0 {\displaystyle q_{ii}<0} {\displaystyle q_{ii}<0} und ansonsten x i ∗ = 0 {\displaystyle x_{i}^{*}=0} {\displaystyle x_{i}^{*}=0}.

QUBO und gemischt-ganzzahlige Optimierung

[Bearbeiten | Quelltext bearbeiten]

QUBO kann unter Einsatz eines Modellierungstricks als (restringiertes) ganzzahliges lineares Optimierungsproblem (ILP) formuliert werden.[3] Dazu wird das Produkt x i x j {\displaystyle x_{i}x_{j}} {\displaystyle x_{i}x_{j}} durch eine zusätzliche Binärvariable z i j ∈ { 0 , 1 } {\displaystyle z_{ij}\in \{0,1\}} {\displaystyle z_{ij}\in \{0,1\}} ersetzt und die Nebenbedingungen x i ≥ z i j {\displaystyle x_{i}\geq z_{ij}} {\displaystyle x_{i}\geq z_{ij}}, x j ≥ z i j {\displaystyle x_{j}\geq z_{ij}} {\displaystyle x_{j}\geq z_{ij}} und x i + x j − 1 ≤ z i j {\displaystyle x_{i}+x_{j}-1\leq z_{ij}} {\displaystyle x_{i}+x_{j}-1\leq z_{ij}} hinzugefügt. Das vollständige Optimierungsproblem lautet

Q U B O I L P :   min x , z ∑ i = 1 n ∑ j = 1 n q i j z i j + ∑ i = 1 n d i x i + c s . t . x i , z i j ∈ { 0 , 1 } ∀ i , j ∈ { 1 , … , n } x i ≥ z i j ∀ i , j ∈ { 1 , … , n } x j ≥ z i j ∀ i , j ∈ { 1 , … , n } x i + x j − 1 ≤ z i j ∀ i , j ∈ { 1 , … , n } {\displaystyle {\begin{aligned}\mathrm {QUBO_{ILP}} :\ \min _{x,z}\sum _{i=1}^{n}\sum _{j=1}^{n}q_{ij}z_{ij}+\sum _{i=1}^{n}d_{i}x_{i}+c\quad \mathrm {s.t.} \quad &x_{i},z_{ij}\in \{0,1\}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{i}\geq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{j}\geq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{i}+x_{j}-1\leq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\end{aligned}}} {\displaystyle {\begin{aligned}\mathrm {QUBO_{ILP}} :\ \min _{x,z}\sum _{i=1}^{n}\sum _{j=1}^{n}q_{ij}z_{ij}+\sum _{i=1}^{n}d_{i}x_{i}+c\quad \mathrm {s.t.} \quad &x_{i},z_{ij}\in \{0,1\}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{i}\geq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{j}\geq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\\&x_{i}+x_{j}-1\leq z_{ij}\quad \forall i,j\in \{1,\ldots ,n\}\end{aligned}}}

Man beachte, dass z i j {\displaystyle z_{ij}} {\displaystyle z_{ij}} auch als kontinuierliche Variable mit den Grenzen null und eins gewählt werden kann, da z i j {\displaystyle z_{ij}} {\displaystyle z_{ij}} 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

[Bearbeiten | Quelltext bearbeiten]

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

H ^ = − 1 2 ∑ i , j J i j s i z s j z − H z ∑ i = 1 N s i z {\displaystyle {\hat {\mathcal {H}}}=-{\frac {1}{2}}\sum _{i,j}J_{ij}s_{i}^{z}s_{j}^{z}-H_{z}\sum _{i=1}^{N}s_{i}^{z}} {\displaystyle {\hat {\mathcal {H}}}=-{\frac {1}{2}}\sum _{i,j}J_{ij}s_{i}^{z}s_{j}^{z}-H_{z}\sum _{i=1}^{N}s_{i}^{z}}

mit reellen Zahlen J i j {\displaystyle J_{ij}} {\displaystyle J_{ij}} und H z {\displaystyle H_{z}} {\displaystyle H_{z}}. Die Spin-Variablen s i z ∈ { − 1 , 1 } {\displaystyle s_{i}^{z}\in \{-1,1\}} {\displaystyle s_{i}^{z}\in \{-1,1\}} sind optimal zu wählen und sind in der ursprünglichen Beschreibung keine Binärvariablen. Eine Substitution der Spin-Variablen durch s i z = 2 x i − 1 {\displaystyle s_{i}^{z}=2x_{i}-1} {\displaystyle s_{i}^{z}=2x_{i}-1} mit x i ∈ { 0 , 1 } {\displaystyle x_{i}\in \{0,1\}} {\displaystyle x_{i}\in \{0,1\}} ergibt jedoch die Formulierung

H ^ = − 1 2 ∑ i , j J i j ( 2 x i − 1 ) ( 2 x j − 1 ) − H z ∑ i = 1 N ( 2 x i − 1 ) {\displaystyle {\hat {\mathcal {H}}}=-{\frac {1}{2}}\sum _{i,j}J_{ij}(2x_{i}-1)(2x_{j}-1)-H_{z}\sum _{i=1}^{N}(2x_{i}-1)} {\displaystyle {\hat {\mathcal {H}}}=-{\frac {1}{2}}\sum _{i,j}J_{ij}(2x_{i}-1)(2x_{j}-1)-H_{z}\sum _{i=1}^{N}(2x_{i}-1)},

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

QUBO und Quantencomputer

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]

Anwendungsmöglichkeiten von QUBO

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]
Binäres Clustering mit QUBO
Eine schlechte Cluster-Zuordnung
Eine gute Cluster-Zuordnung
Visuelle Darstellung eines Clusteringproblems mit 20 Punkten. Kreise derselben Farbe gehören zu demselben Cluster.

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 D ∈ R 20 × 2 {\displaystyle D\in \mathbb {R} ^{20\times 2}} {\displaystyle D\in \mathbb {R} ^{20\times 2}}beschrieben werden. Jeder Punkt soll einem von zweien Clustern zugeordnet werden, sodass benachbarte Punkte Teil desselben Clusters sind. Jedem Punkt wird eine Binärvariable x i ∈ { 0 , 1 } {\displaystyle x_{i}\in \{0,1\}} {\displaystyle x_{i}\in \{0,1\}} zugewiesen, die angibt, ob der Punkt in der i {\displaystyle i} {\displaystyle i}-ten Zeile von D {\displaystyle D} {\displaystyle D} dem ersten ( x i = 0 {\displaystyle x_{i}=0} {\displaystyle x_{i}=0}) oder zweiten Cluster ( x i = 1 {\displaystyle x_{i}=1} {\displaystyle x_{i}=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 d i j ≥ 0 {\displaystyle d_{ij}\geq 0} {\displaystyle d_{ij}\geq 0} der Punkte i {\displaystyle i} {\displaystyle i} und j {\displaystyle j} {\displaystyle 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 {\displaystyle i} {\displaystyle i} und j {\displaystyle j} {\displaystyle j} Teil desselben Clusters sind? Dies ist genau dann der Fall, wenn x i = x j = 1 {\displaystyle x_{i}=x_{j}=1} {\displaystyle x_{i}=x_{j}=1} oder x i = x j = 0 {\displaystyle x_{i}=x_{j}=0} {\displaystyle x_{i}=x_{j}=0} gilt. Alternativ und äquivalent lässt sich auch schreiben x i x j = 1 {\displaystyle x_{i}x_{j}=1} {\displaystyle x_{i}x_{j}=1} oder ( 1 − x i ) ( 1 − x j ) = 1 {\displaystyle (1-x_{i})(1-x_{j})=1} {\displaystyle (1-x_{i})(1-x_{j})=1}.
  • Umgekehrt sind die Punkte i {\displaystyle i} {\displaystyle i} und j {\displaystyle j} {\displaystyle j} in verschiedenen Clustern, falls x i ( 1 − x j ) = 1 {\displaystyle x_{i}(1-x_{j})=1} {\displaystyle x_{i}(1-x_{j})=1} oder ( 1 − x i ) x j = 1 {\displaystyle (1-x_{i})x_{j}=1} {\displaystyle (1-x_{i})x_{j}=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 < j d i j ( x i x j + ( 1 − x i ) ( 1 − x j ) ) − d i j ( x i ( 1 − x j ) + ( 1 − x i ) x j ) = ∑ i < j 4 d i j x i x j − 2 d i j x i − 2 d i j x j + d i j {\displaystyle {\begin{aligned}f(x)&=\sum _{i<j}d_{ij}(x_{i}x_{j}+(1-x_{i})(1-x_{j}))-d_{ij}(x_{i}(1-x_{j})+(1-x_{i})x_{j})\\&=\sum _{i<j}4d_{ij}x_{i}x_{j}-2d_{ij}x_{i}-2d_{ij}x_{j}+d_{ij}\end{aligned}}} {\displaystyle {\begin{aligned}f(x)&=\sum _{i<j}d_{ij}(x_{i}x_{j}+(1-x_{i})(1-x_{j}))-d_{ij}(x_{i}(1-x_{j})+(1-x_{i})x_{j})\\&=\sum _{i<j}4d_{ij}x_{i}x_{j}-2d_{ij}x_{i}-2d_{ij}x_{j}+d_{ij}\end{aligned}}}

und kann unter Verwendung der Matrix

Q i j = { d i j , wenn  i ≠ j − ( ∑ k = 1 i − 1 d k i + ∑ ℓ = i + 1 n d i ℓ ) , wenn  i = j {\displaystyle {\begin{aligned}Q_{ij}&={\begin{cases}d_{ij}&{\text{, wenn }}i\neq j\\-\left(\sum \limits _{k=1}^{i-1}d_{ki}+\sum \limits _{\ell =i+1}^{n}d_{i\ell }\right)&{\text{, wenn }}i=j\end{cases}}\end{aligned}}} {\displaystyle {\begin{aligned}Q_{ij}&={\begin{cases}d_{ij}&{\text{, wenn }}i\neq j\\-\left(\sum \limits _{k=1}^{i-1}d_{ki}+\sum \limits _{\ell =i+1}^{n}d_{i\ell }\right)&{\text{, wenn }}i=j\end{cases}}\end{aligned}}}

auch in Matrix-Vektor-Schreibweise dargestellt werden.

Solver

[Bearbeiten | Quelltext bearbeiten]
  • Alle Solver zur Lösung gemischt-ganzzahliger (linearer) Optimierungsprobleme wie CPLEX, Gurobi, CBC, GLPK, SCIP oder HiGHS
  • Spezialisierte Solver für die Lösung von QUBOs wie QuBowl

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ Gary Kochenberger, Jin-Kao Hao, Fred Glover, Mark Lewis, Zhipeng Lü, Haibo Wang, Yang Wang: The unconstrained binary quadratic programming problem: a survey. In: Journal of Combinatorial Optimization. Band 28, Nr. 1, Juli 2014, ISSN 1382-6905, S. 58–81, doi:10.1007/s10878-014-9734-0. 
  2. ↑ Andrew Lucas: Ising formulations of many NP problems. In: Frontiers in Physics. Band 2, 2014, ISSN 2296-424X, doi:10.3389/fphy.2014.00005. 
  3. ↑ Nathan Georg Sudermann-Merx: Einführung in Optimierungsmodelle: mit Beispielen und Real-World-Anwendungen in Python. Springer Spektrum, Berlin / Heidelberg 2023, ISBN 978-3-662-67380-5. 
  4. ↑ Fred Glover, Gary Kochenberger, Yu Du: Quantum Bridge Analytics I: a tutorial on formulating and using QUBO models. In: 4OR. Band 17, Nr. 4, 26. November 2019, ISSN 1619-4500, S. 335–371, doi:10.1007/s10288-019-00424-y. 
  5. ↑ Daniel Ratke: List of QUBO formulations. 10. Juni 2021, abgerufen am 16. Dezember 2022. 
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Quadratische_unrestringierte_binäre_Optimierung&oldid=252895210“
Kategorien:
  • Mathematik
  • Optimierung

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id