programacionconvexapresentaciondefinitivo-100210231059-phpapp01

Post on 20-Feb-2016

212 views 0 download

description

programacionconvexaa

Transcript of programacionconvexapresentaciondefinitivo-100210231059-phpapp01

PROGRAMACION CONVEXA

Investigación de Operaciones

Rama de la programación matemática (para diferenciarlo de la

programación en computadoras) que trabaja con la teoría y

los métodos de minimización de funciones convexas sobre

conjuntos convexos definidas mediante sistemas de

igualdades y desigualdades. La programación cuadrática es

una rama dentro de la programación convexa.

Springer Online Reference Works

http://eom.springer.de/c/c026320.htm

PROGRAMACION CONVEXA

ALGUNAS DEFINICIONES

Sean x1 ≠ x2 dos puntos en Rn. Considérese todos los puntos de la forma

donde t es algún número real entre 0 y 1, i.e, 0 ≤ t ≤ 1.

Nótese que esta ecuación describe simplemente la “línea” en Rn que contiene todos los puntos entre x1 y x2.

SEGMENTO DE LINEA EN Rn

De hecho, cuando t =0, y = x2 y cuando t = 1, y = x1.

O sea, esto no es otra cosa que la parametrización de la línea en Rn donde el parámetro es t. Además debe quedar claro que x1 y x2 son esencialmente vectores con n coordenadas.

Se dice que C es un conjunto convexo si para cualesquiera dos elementos que pertenezcan a C, la línea que los une es también un subconjunto de C. O sea, C es convexo si para todo x1, x2 en C y para cualquier número real t, 0 ≤ t ≤ 1, se satisface que

CONJUNTO CONVEXO EN Rn

En el plano, R2, es claro que un conjunto convexo coincide con lo que llamamos un polígono convexo. De hecho, la noción en sí misma es una extensión a Rn del concepto euclidiano.

Es por lo tanto útil pensar en un conjunto convexo como uno que no tiene indentaciones.

convexo convexo

No es convexo No es convexo

Nótese que en el último hexágono, la frontera no pertenece enteramente a este, i.e., existen puntos x1 y x2 en la frontera tales que la línea que los une no pertenece enteramente al conjunto.

Sea f : Rn → R. Decimos que f es convexa si dom f es un conjunto convexo y si para toda x1, x2 que pertenecen al dominio de f y para todo número real t entre 0 y 1, se satisface que

f (tx1 + (1 – t)x2) < t∙f (x1) + (1 – t)∙f (x2)

Nota:Una función f es cóncava si – f es convexa.

FUNCIONES CONVEXAS

Geométricamente esto significa que el segmento que une (x1, f (x1)) y (x2, f (x2)), o sea, la cuerda que va de x1 a x2, se encuentra sobre la gráfica de f.

GEOMÉTRICAMENTE

(x1, f (x1))(x2, f (x2))

Ejemplos

Convexa Cóncava

Ejemplos

Ni convexa ni cóncava

Hiperplano

S = {x : ptx = } αdonde p es un vector distinto de cero en Rn y es un escalar.α

Semiespacio

S = {x : ptx ≤ }αdonde p es un vector distinto de cero en Rn y es un escalar.α

EJEMPLOS DE CONJUNTOS CONVEXOS

Conjunto Poliedral

S = {x : Ax ≤ b}

donde A es una matrix m × n y b es un vector con m coordenadas.

Cono Poliedral

S = {x : Ax ≤ 0}

donde A es una matrix m × n y 0 es el vector cero con m coordenadas.

“Vecindario”

S = {x : ||x-x0|| ≤ } ε

donde x0 es un vector fijo en Rn y > 0.ε

1. f(x) = 3x + 42. f (x) = |x|3. f (x) = x2

4. f (x1, x2) = 2x12 + x2

2 – 2x1x2

En todos estos casos, es de notar que – f es necesariamente cóncava.

Nonlinear Programming: Theory and Algorithms-

Bazaraa and Shetty (1979)

EJEMPLOS DE FUNCIONES CONVEXAS

FUNCIONES LINEALES

Para profundizar sobre uno de estos ejemplos, considérese el primero, es decir

f (x) = 3x + 4

En general, cualquier función lineal

f : Rn → R definida por f(x) = mx + b

es una función convexa.

i) Su dominio es el conjunto de los números reales R, el cual es convexo.

ii) Sea 0 ≤ t ≤ 1, . Entonces veamos que la desigualdad requerida se satisface.

La desigualdad que se quiere demostrar es

Al expandir el lado izquierdo se tiene

y al expandir el derecho

Por lo tanto, en este caso se satisface la igualdad. En la gran mayoría de los casos esto no será así. Por lo general, ver que una función es convexa (o sea, que satisface dicha desigualdad) no es tan sencillo, razón por la cual se ha desarrollado toda una teoría al respecto, la cual no intentaremos seguir en esta presentación.

Ahora se ofrecerán una serie de resultados sin demostración, pero que proporcionarán una idea más clara respecto al nivel geométrico del concepto, a la vez que aportan alguna luz sobre su relación con máximos y mínimos y por lo tanto con temas ya aprendidos en un curso de Cálculo. Para este propósito nos ceñimos nuevamente a funciones sobre R.

TEOREMAS

An Introduction to Analysis Wade (1995)

TeoremaSea I un intervalo en R, y f : I → R. Entonces f es convexa sobre I si y solo si dado un intervalo [c, d] contenido en I , la cuerda que pasa a través de los puntos (c, f (c)), (d, f (d)) se halla en o sobre la gráfica de y = f(x) para toda x que pertenece a [c,d].

c x0 df(x0)

y0

y = f(x)

2 4 6 8 10 12 140

5

10

15

20

25

30

35

40

45

Este resultado solo formaliza lo dicho anteriormente. Notar que en el caso estudiado antes, el de una función lineal, la cuerda se halla en la gráfica y no sobre ella.

TeoremaUna función f es convexa sobre un intervalo abierto (a, b) si y solo si la pendiente de la cuerda es siempre creciente, i.e.,

si a < c < x < d < b implica que

TeoremaSi f es diferenciable sobre (a, b), entonces f es convexa sobre (a, b) si y solo si f ’ es creciente en (a, b).

Este último resultado combinado con un poco de cálculo (que no se menciona en honor a la brevedad; ver el Teroema 2.19 en An Introduction to Analysis - Wade (1995)) nos permite ver que el concepto de convexidad es lo que en un cursos de cálculo se conoce como cóncavo hacia arriba y el de concavidad lo que se conoce como cóncavo hacia abajo.

Teoremai) Si f es convexa sobre un intervalo abierto (a, b), entonces f no tiene máximos locales.ii) Si f es convexa en [0, ∞) y tiene un mínimo local, entonces f (x) → ∞ a medida que x → ∞.

De esta forma podemos comprender que las funciones convexas pueden (y de hecho) juegan un papel determinante en la optimización (y minimización) de funciones objetivos.

Volvamos a considerar el caso más general en nuestro desarrollo, esto es, cuando las funciones están definidas sobre Rn.

En general un problema de optimización se puede resumir como sigue:

Minimice f0(x) (esta es la función objetivo)

Sujeto a fi(x) ≤ 0 (funciones restricción)

Se asume que f0 : Rn → R fi : Rn → R, i = 1, 2, 3, …, m x es algún vector en Rn, o sea, x = (x1, …, xn). A x se llama la variable de optimización.

Al conjunto de puntos que satisface las restricciones se le conoce como Conjunto Restricción. Todo punto que pertenece al conjunto restricción se llama una solución factible (“feasible solution”).

El problema consiste en hallar el punto o puntos (las soluciones óptimas x*) en el conjunto restricción en los cuales la solución objetivo alcanza un mínimo (o máximo según se desee).

Convex Optimization with Engineering ApplicationsJohansson y Forsgren

 Aplicaciones de Algebra Lineal-Grossman

Optimizacion de Portafolio

Variables: cantidades invertidas en diferentes activos

Las restricciones: presupuesto, ingreso máximo (mínimo) por activo, retorno mínimo

Objetivo: Riesgo Total

EJEMPLOS

Diseño de partes en circuitos electrónicos • Variables: largo y ancho de las partes• Las restricciones: límites de manufacturas,

requerimientos de tiempo• Objetivo: Consumo de poder (energía)

Cuando la función objetivo y las funciones restricción son todas ellas funciones afines, el problema se conoce como uno de programación lineal.

Tiene la forma

Minimice cT x + dSujeto a Gx < h

Ax = b

donde G es una matriz m × n y A una matriz p × n.

RELACIÓN CON LA PROGRAMACIÓN LINEAL

Cuando la función objetivo es convexa y cuadrática y las funciones restricción son afines, entonces el problema se conoce como uno de Programación Cuadrática.

Tiene la forma 

Minimice (1/2)xTPx + qT x + rSujeto a Gx < h

Ax = b

donde G es una matriz m × n y A una matriz p × n y P es unamatriz simétrica n × n.

RELACIÓN CON LA PROGRAMACIÓN CUADRÁTICA

MOSEK puede resolver Problemas Lineales.

Problemas Cónico Cuadraticos.

Problemas Convexos Cuadraticos.

Problemas Convexos generales

SOFTWARE MOSEK

Lo pueden usar las universidades y los profesores sin cargo.

Este paquete se puede usar en combinación con MATLAB y JAVA.

Si se entra en http://www.mosek.com/index se puede incluso acceder a un reporte de un trabajo en Finanzas que se preparó para demostrar la utilidad del paquete. Es una especie de tutorial que incluso repasa la programación cónica que es un área de la optimización convexa que tiene fuertes similitudes con programación lineal.

Hay m lámparas (pequeñas) iluminando n parchos. La intensidad de Ik sobre el parcho k depende linealmente en la potencia pj de las lámparas.

UNA APLICACIÓN INTERESANTE

Ik = ∑akjpj donde j va de 1 a m y

akj = rkj-2max{cos θkj, 0}.

 El problema es alcanzar la iluminación deseada con potencias acotadas para las lámparas.