title: Programación geométrica
text: # Programación geométrica
  
  Un programa geométrico es un problema de optimización de la forma
  Minimizar $\ f_{0}(x)\$ tal que
      $f_{i}(x)\leq 1,\quad i=1,\dots ,m$
      $h_{i}(x)=1,\quad i=1,\dots ,p$
  donde $f_{0},\dots ,f_{m}$ son posinomios y $h_{1},\dots ,h_{p}$ son monomios. Hay que subrayar que al hablar de programación geométrica (al contrario que en otras disciplinas), un monomio se define como una función $f:\mathbb {R} ^{n}\to \mathbb {R}$ con $\mathrm {dom} \ f=\mathbb {R} _{++}^{n}$ definido como
      $f(x)=cx_{1}^{a_{1}}x_{2}^{a_{2}}\cdots x_{n}^{a_{n}}$
  donde $c>0\$ y $a_{i}\in \mathbb {R}$.
  Tiene múltiples aplicaciones, como el dimensionamiento de circuitos y la estimación paramétrica vía regresión logística en estadística.
  
  # Programación geométrica
  ## Forma convexa
  
  Los programas geométricos no son por regla general problemas de optimización convexa, pero pueden transformarse en ellos mediante un cambio de variables y una transformación de las funciones objetivo y de restricción. Definiendo $y_{i}=\log {x_{i}}$, el monomio $f(x)=cx_{1}^{a_{1}}\cdots x_{n}^{a_{n}}\mapsto e^{a^{T}y+b}$, donde $b=log{c}$. De la misma forma, si $f$ es el posinomio
  $f(x)=\sum _{k=1}^{K}c_{k}x_{1}^{a_{1k}}\cdots x_{n}^{a_{nk}}$
  entonces $f(x)=\sum _{k=1}^{K}e^{a_{k}^{T}y+b_{k}}$, donde $a_{k}=(a_{1k},\dots ,a_{nk})$ y $b_{k}=\log {c_{k}}$. Tras el cambio de variables, el posinomio se convierte en una suma de exponenciales de funciones afines.