Programación geométrica

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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) = c x_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[editar]

Los programa 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) = c x_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.

Enlaces externos[editar]