programacionconvexapresentaciondefinitivo-100210231059-phpapp01

47
PROGRAMACION CONVEXA Investigación de Operaciones

description

programacionconvexaa

Transcript of programacionconvexapresentaciondefinitivo-100210231059-phpapp01

Page 1: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

PROGRAMACION CONVEXA

Investigación de Operaciones

Page 2: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 3: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

ALGUNAS DEFINICIONES

Page 4: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 5: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 6: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 7: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 8: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

convexo convexo

Page 9: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

No es convexo No es convexo

Page 10: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 11: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 12: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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))

Page 13: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

Ejemplos

Convexa Cóncava

Page 14: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

Ejemplos

Ni convexa ni cóncava

Page 15: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 16: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 17: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

“Vecindario”

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

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

Page 18: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 19: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

FUNCIONES LINEALES

Page 20: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 21: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 22: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

La desigualdad que se quiere demostrar es

Al expandir el lado izquierdo se tiene

Page 23: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

y al expandir el derecho

Page 24: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 25: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 26: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

TEOREMAS

An Introduction to Analysis Wade (1995)

Page 27: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 28: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

c x0 df(x0)

y0

y = f(x)

2 4 6 8 10 12 140

5

10

15

20

25

30

35

40

45

Page 29: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 30: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 31: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 32: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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 → ∞.

Page 33: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 34: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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)

Page 35: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 36: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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”).

Page 37: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 38: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 39: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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)

Page 40: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 41: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 42: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

MOSEK puede resolver Problemas Lineales.

Problemas Cónico Cuadraticos.

Problemas Convexos Cuadraticos.

Problemas Convexos generales

SOFTWARE MOSEK

Page 43: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

Lo pueden usar las universidades y los profesores sin cargo.

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

Page 44: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 45: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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

Page 46: programacionconvexapresentaciondefinitivo-100210231059-phpapp01

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.

Page 47: programacionconvexapresentaciondefinitivo-100210231059-phpapp01