Geometrisches Programm

Ein geometrisches Programm ist ein spezielles Problem der mathematischen Optimierung, bei dem als Ziel- und Restriktionsfunktionen eine Verallgemeinerung von Polynomen zum Einsatz kommt. Insbesondere haben Geometrische Programme zwei Formen, von denen aber nur eine zur konvexen Optimierung zählt.

Definition

Ein Optimierungsproblem der Form

Minimiere  f ( x ) unter den Nebenbedingungen  g i ( x ) 1 i = 1 , , p h j ( x ) = 1 j = 1 , q {\displaystyle {\begin{aligned}{\text{Minimiere }}&f(x)&\\{\text{unter den Nebenbedingungen }}&g_{i}(x)\leq 1&i=1,\dots ,p\\&h_{j}(x)=1&j=1,\dots q\end{aligned}}}

heißt geometrisches Programm (in Posynomialform), wenn die f , g i {\displaystyle f,g_{i}} Posynomialfunktionen sind und die h j {\displaystyle h_{j}} Monomialfunktionen sind. Die Einschränkung x R + + n := { x R n | x i > 0  für  i = 1 , , n } {\displaystyle x\in \mathbb {R} _{++}^{n}:=\{x\in \mathbb {R} ^{n}\,|\,x_{i}>0{\text{ für }}i=1,\dots ,n\}} ist hierbei stets implizit vorausgesetzt.

Beispiel

Das Optimierungsproblem

Minimiere  x 1 1 / 2 x 2 2 + x 2 4 / 3 x 3 8 unter den Nebenbedingungen  x 1 1 x 2 5 x 3 5 / 7 + x 3 1 x 1 x 2 x 3 = 1 {\displaystyle {\begin{aligned}{\text{Minimiere }}&x_{1}^{1/2}x_{2}^{2}+x_{2}^{-4/3}x_{3}^{8}&\\{\text{unter den Nebenbedingungen }}&x_{1}^{-1}x_{2}^{5}x_{3}^{5/7}+x_{3}\leq 1&\\&x_{1}x_{2}x_{3}=1&\end{aligned}}}

ist ein Geometrisches Programm.

Konvexe Form

Ein Geometrisches Programm lässt sich durch elementare Substitutionen in ein konvexes Optimierungsproblem transformieren.

Dazu setzt man zuerst x i = e y i {\displaystyle x_{i}=e^{y_{i}}} bzw. y i = log x i {\displaystyle y_{i}=\log x_{i}} . Damit wird jede Monomialfunktion

f ( x 1 , , x n ) = c x 1 a 1 x n a n {\displaystyle f(x_{1},\dots ,x_{n})=cx_{1}^{a_{1}}\cdot \dots \cdot x_{n}^{a_{n}}}

transformiert zu

f ~ ( x ) = e a T x + b {\displaystyle {\tilde {f}}(x)=e^{a^{T}x+b}} ,

wobei b = log c {\displaystyle b=\log c} und a = ( a 1 , , a n ) R n {\displaystyle a=(a_{1},\dots ,a_{n})\in \mathbb {R} ^{n}} ist. Posynomialfunktionen lassen sich analog als Summe von Exponentialfunktionen von affinen Funktionen ausdrücken. Durch Anwenden dieser Transformation und anschließendes Logarithmieren erhält man dann das Optimierungsproblem

Minimiere  f ~ ( y ) = log ( k = 1 N e a k T y + b k ) unter den Nebenbedingungen  g ~ i ( y ) = log ( k = 1 N i e a i , k T y + b i , k ) 0 i = 1 , , p h ~ j ( y ) = g j T y + b j = 0 j = 1 , q , {\displaystyle {\begin{aligned}{\text{Minimiere }}&{\tilde {f}}(y)=\log \left(\sum _{k=1}^{N}e^{a_{k}^{T}y+b_{k}}\right)&\\{\text{unter den Nebenbedingungen }}&{\tilde {g}}_{i}(y)=\log \left(\sum _{k=1}^{N_{i}}e^{a_{i,k}^{T}y+b_{i,k}}\right)\leq 0&i=1,\dots ,p\\&{\tilde {h}}_{j}(y)=g_{j}^{T}y+b_{j}=0&j=1,\dots q{\text{,}}\end{aligned}}}

welches Geometrisches Programm in konvexer Form genannt wird. Es ist ein konvexes Optimierungsproblem. Wenn alle Funktionen Monomialfunktionen sind, vereinfacht sich dieses Problem zu einem linearen Optimierungsproblem.

Beispiel für die konvexe Form

Transformiert man das oben angeführte Geometrische Programm in Posynomialform in die Geometrische Form, so lautet es

Minimiere  log ( exp [ ( 1 / 2 , 2 , 0 ) y ] + exp [ ( 0 , 4 / 3 , 8 ) y ] ) unter den Nebenbedingungen  log ( exp [ ( 1 , 5 , 5 / 7 ) y ] + exp [ ( 0 , 0 , 1 ) y ] ) 0 ( 1 , 1 , 1 ) y = 0 {\displaystyle {\begin{aligned}{\text{Minimiere }}&\log \left(\exp {[(1/2,2,0)\cdot y]}+\exp {[(0,-4/3,8)\cdot y]}\right)&\\{\text{unter den Nebenbedingungen }}&\log \left(\exp {[(-1,5,5/7)\cdot y]}+\exp {[(0,0,1)\cdot y]}\right)\leq 0&\\&(1,1,1)\cdot y=0&\end{aligned}}} .

Literatur

  • Boyd, Stephen; Vandenberghe, Lieven (2004). Convex Optimization. Cambridge University Press. ISBN 978-0-521-83378-3. (online)