# Konisches Programm

Ein konisches Programm ist in der mathematischen Optimierung ein bestimmtes Problem, bei dem in der Formulierung der zulässigen Punkte auch ein Kegel verwendet wird, was zu dieser Namensgebung führte. Einige Problemklassen lassen sich als konische Programme formulieren.

## Definition
### Abstrakte Definition

Gegeben sei ein reeller Vektorraum $V_{1}$ versehen mit einem Skalarprodukt $\langle {\cdot },{\cdot }\rangle _{1}$ und einem abgeschlossenen, spitzen und konvexen Kegel $K$ mit nichtleerem Inneren. Des Weiteren seien $B,C\in V_{1}$ und ${\mathcal {L}}$ ein linearer Unterraum von $V_{1}$. Dann heißt das Optimierungsproblem
    ${\begin{aligned}{\text{Minimiere }}&s(X)=\langle {C},{X}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&X\in {\mathcal {K}}\\&X\in {\mathcal {L}}+B\end{aligned}}$
ein konisches Programm oder konisches Optimierungsproblem. Gesucht wird also ein Element eines Vektorraumes, das sowohl in einem Kegel als auch in einem affinen Unterraum liegt und minimal bezüglich des Skalarproduktes ist.

### Konvexe Definition

Analog zu den Linearen Programmen kann man konische Programme auch in einer Standardform und einer Ungleichungsform angeben. Dazu betrachtet man die von dem Kegel induzierte verallgemeinerte Ungleichung $\preccurlyeq _{K}$ und einen weiteren Vektorraum $V_{2}$ mit einem Skalarprodukt $\langle {\cdot },{\cdot }\rangle _{2}$

#### Standardform

Ein konisches Programm in Standardform (oder Normalform) lässt sich nun wie folgt definieren: $X\in {\mathcal {K}}$ lässt sich auch als $X\succcurlyeq _{K}0$ schreiben. Betrachtet man eine lineare Funktion $L:V_{1}\mapsto V_{2}$, so lässt sich der lineare Unterraum ${\mathcal {L}}$ durch diese Funktion beschreiben. Somit lässt sich auch folgende Definition eines konischen Programmes geben:
    ${\begin{aligned}{\text{Minimiere }}&s(X)=\langle {C},{X}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&-X\preccurlyeq _{K}0_{V_{1}}\\&L(X)-b=0_{V_{2}}\end{aligned}}$.
Hierbei ist $X,C\in V_{1}$ und $b\in V_{2}$.
Insbesondere sind alle auftretenden Funktionen entweder linear oder K-konvex, daher handelt es sich um ein allgemeineres konvexes Optimierungsproblem.

#### Ungleichungsform

Alternativ kann man den Linearen Unterraum ${\mathcal {L}}$ auch als Bild einer linearen Funktion $L^{*}:V_{2}\mapsto V_{1}$ auffassen. Dies führt dann zu dem Problem
    ${\begin{aligned}{\text{Minimiere }}&s(x)=\langle {c},{x}\rangle _{2}\\{\text{unter den Nebenbedingungen }}&L^{*}(x)-B\preccurlyeq _{K}0_{V_{1}}\end{aligned}}$,
einem konischen Problem in Ungleichungsform. Hierbei ist $x,c\in V_{2}$ und $B\in V_{1}$.

#### Mischformen

Allgemeiner werden Optimierungsprobleme mit linearer Zielfunktion, die eine Linear-affine Gleichungsnebenbedingung sowie eine Linear-affine Ungleichungsnebenbedingung mit verallgemeinerter Ungleichung enthalten als konische Optimierungsprobleme bezeichnet. Dies entspricht einer Mischung aus Standardform/Normalform und Ungleichungsform.

## Beispiele

* Jedes lineare Optimierungsproblem ist ein konisches Optimierungsproblem. Dazu wählt man als Vektorraum $V_{1}$ den $\mathbb {R} ^{n}$ und als Kegel $K:=\{x\in \mathbb {R} ^{n}\,|\,\forall i:x_{i}\geq 0\}$, den sogenannten positiven Orthanten. Die verallgemeinerte Ungleichung ist dann das „komponentenweise größer als“. Als Skalarprodukt wählt man das Standardskalarprodukt und als affinen Unterraum die Lösungsmenge der Gleichung $Ax=b$.
* Semidefinite Programme sind konische Programme auf dem Vektorraum der symmetrischen Matrizen $S^{n}$ versehen mit dem Frobenius-Skalarprodukt. Der Kegel ist die Menge der positiv semidefiniten Matrizen $S_{+}^{n}$, der affine Raum wird auch über das Frobenius-Skalarprodukt definiert.
* Die SOCPs (Second Order Cone Program) verwenden den second-order cone, der auch Lorentz-Kegel genannt wird.

## Dualität
### Dualität konischer Programme

Betrachtet man das Problem
    ${\begin{aligned}{\text{Minimiere }}&s(X)=\langle {C},{X}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&X\succcurlyeq _{K}0\\&X\in {\mathcal {L}}+B\end{aligned}}$
als primales Problem, so ist heißt das Problem
    ${\begin{aligned}{\text{Minimiere }}&s(Y)=\langle {B},{Y}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&Y\succcurlyeq _{K^{D}}0\\&Y\in {\mathcal {L}}^{\perp }+C\end{aligned}}$
das duale konische Problem. Hierbei ist $K^{D}$ der duale Kegel von $K$ und ${\mathcal {L}}^{\perp }$ der Orthogonalraum von ${\mathcal {L}}$. Insbesondere ist das duale Programm des dualen Programms wieder das primale Programm.
Es gilt dann für jeden zulässigen Punkt $X$ des primalen Problems und jeden zulässigen Punkt $Y$ des dualen Problems, dass
    $\langle {C},{X}\rangle _{1}+\langle {B},{Y}\rangle _{1}\geq \langle {B},{C}\rangle _{1}$
Ist der Optimalwert $p^{*}$ des primalen Problems endlich und ist die Slater-Bedingung erfüllt (siehe unten), so besitzt das duale Problem eine Optimallösung $Y^{*}$, und es ist
    $p^{*}+\langle {B},{Y^{*}}\rangle _{1}=\langle {B},{C}\rangle _{1}$.
Erfüllen sowohl das primale als auch das duale Problem die Slater-Bedingung, so existieren Optimallösungen $X^{*},Y^{*}$ mit
    $\langle {C},{X^{*}}\rangle _{1}+\langle {B},{Y^{*}}\rangle _{1}=\langle {B},{C}\rangle _{1}$.

### Lagrange-Dualität

Nicht mit der obigen Dualität zu verwechseln ist die Lagrange-Dualität, angewandt auf die konvexe Form eines konischen Problems. Ist ein konisches Problem in Normalform gegeben durch
    ${\begin{aligned}{\text{Minimiere }}&s(X)=\langle {C},{X}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&-X\preccurlyeq _{K}0_{V_{1}}\\&L(X)-b=0_{V_{2}}\end{aligned}}$,
so lautet die Lagrange-Funktion
    $L(X,\Lambda ,\mu )=\langle {C},{X}\rangle _{1}+\langle {-X},{\Lambda }\rangle _{1}+\langle {-L(X)+b},{\mu }\rangle _{2}$.
Ist $L^{*}$ der zu $L$ Adjungierte Operator, so folgt mit der Linearität des Skalarproduktes
    $L(X,\Lambda ,\mu )=\langle {C},{X}\rangle _{1}-\langle {X},{\Lambda }\rangle _{1}+\langle {b},{\mu }\rangle _{2}-\langle {X},{L^{*}(\mu )}\rangle _{1}$.
Diese Funktion ist linear in $X$, und da Lineare Funktionen genau dann unbeschränkt sind, wenn sie konstant gleich Null sind, lautet die Zielfunktion des dualen Programms
    $q(\Lambda ,\mu )={\begin{cases}\langle {b},{\mu }\rangle _{2}&{\text{ falls }}C-\Lambda -L^{*}(\mu )=0\\-\infty &{\text{ sonst }}\end{cases}}$
Schreibt man diese Fallunterscheidung als Nebenbedingung in das duale Problem und fasst man $\Lambda$ als Schlupfvariable mit $-\Lambda \preccurlyeq _{K}0_{V_{1}}$ auf, so lautet das duale Problem
    ${\begin{aligned}{\text{maximiere }}&s(\mu )=\langle {b},{\mu }\rangle _{2}\\{\text{unter den Nebenbedingungen }}&L^{*}(\mu )-C\preccurlyeq _{K^{D}}0_{V_{1}}\end{aligned}}$,
was ein konisches Programm in Ungleichungsform ist. Ein Minimierungsproblem erhält man, indem man das Vorzeichen der Zielfunktion umkehrt.
Für ein konisches Problem in Ungleichungsform
    ${\begin{aligned}{\text{Minimiere }}&s(x)=\langle {c},{x}\rangle _{2}\\{\text{unter den Nebenbedingungen }}&L^{*}(x)-B\preccurlyeq _{K}0_{V_{1}}\end{aligned}}$
lautet die Lagrange-Funktion
    $L(x,\Lambda )=\langle {c},{x}\rangle _{2}+\langle {L(\Lambda )},{x}\rangle _{2}-\langle {\Lambda },{B}\rangle _{1}$
und mit einem analogen Vorgehen zu oben ist das duale Problem
    ${\begin{aligned}{\text{Maximiere }}&s(\Lambda )=-\langle {\Lambda },{B}\rangle _{1}\\{\text{unter den Nebenbedingungen }}&-\Lambda \preccurlyeq _{K^{D}}0_{V_{1}}\\&L(\Lambda )+c=0_{V_{2}}\end{aligned}}$,
was wieder ein konisches Programm in Normalform ist. Duale Probleme von konischen Problemen sind also stets wieder konische Probleme. Bildet man außerdem das duale Problem eines dualen Problems, so gelangt man wieder zum Ausgangsproblem
Gilt die Slater-Bedingung (siehe unten), so gilt starke Dualität, das heißt die Optimalwerte des primalen und des dualen Problems stimmen überein. Ein schwächeres Ergebnis ist, dass der Zielfunktionswert des dualen Problems stets kleiner als der Zielfunktionswert des primalen Problems ist. Diese Aussage ist auch als schwache Dualität bekannt.

### Zusammenhang der Dualitätsbegriffe

Die beiden obigen Dualitätsbegriffe sind nicht identisch, hängen aber sehr eng zusammen. Betrachtet man zum Beispiel einen linearen Unterraum ${\mathcal {L}}$, der durch die Lösung der linearen Gleichung $L(Y)=0$ beschrieben wird, so wird der Orthogonalraum ${\mathcal {L}}^{\perp }$ durch den zu $L$ adjungierten Operator $L^{*}(y)$ beschrieben. Damit ist die Bedingung $Y\in {\mathcal {L}}^{\perp }+C$ äquivalent zu $Y=L^{*}(y)+C$ für $y\in V_{2}$. Somit ist
    $\langle {B},{Y}\rangle _{1}=\langle {B},{L^{*}(y)+C}\rangle _{1}=\langle {b},{y}\rangle _{2}+\langle {B},{C}\rangle _{1}$,
wobei $L(B)=b$ ist. Nun kann man anstelle von $Y$ über $y$ optimieren, der Term $\langle {B},{C}\rangle _{1}$ kann ignoriert werden, da er den nur den Optimalwert, nicht aber den Optimalpunkt beeinflusst. Die neue Zielfunktion lautet nun also $\langle {b},{y}\rangle _{2}$. Fasst man $Y$ als Schlupfvariable mit $-Y\preccurlyeq _{K}$ auf, so ist $Y=L^{*}(y)+C$ äquivalent zu $-L^{*}(y)\preccurlyeq _{K}C$. Somit ist das duale abstrakte Problem ein Problem in Ungleichungsform und umgekehrt.

### Slater-Bedingung

Die Slater-Bedingung für konische Programme in der abstrakten Form lautet
    $({\mathcal {L}}+B)\cap \operatorname {Int} ({\mathcal {K}})\neq \emptyset$.
Hierbei ist $\operatorname {Int}$ das innere einer Menge. Es muss also mindestens einen Punkt geben, der sowohl im Inneren des Kegels als auch in dem affinen Raum ${\mathcal {L}}+B$ liegt.
Für konische Programme in der konvexen Form ist die Slater-Bedingung erfüllt, wenn es einen Punkt gibt, der die Gleichungsrestriktion erfüllt, und der zulässig bezüglich der von den Kegel induzierten strikten Ungleichung $\prec _{K}$ ist (dies entspricht der Forderung, dass der Punkt im Inneren des Kegels liegen soll). Solche Punkte werden auch strikt zulässige Punkte genannt.