Programación geométrica
# 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.

## 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.

