69
11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización no restringida 11.4 Problemas de optimización con restricciones de igualdad 11.5 Problemas con restricciones de igualdad y desigualdad. 11.6 Métodos de optimización restringida

11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Embed Size (px)

Citation preview

Page 1: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

11. PROGRAMACION NO-LINEAL

11.1 Introducción y ejemplos

11.2 Propiedades básicas de los problemas deprogramación no-lineal

11.3 Problemas de optimización no restringida

11.4 Problemas de optimización con restricciones deigualdad

11.5 Problemas con restricciones de igualdad y desigualdad.

11.6 Métodos de optimización restringida

Page 2: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

A esta clase de problemas de optimización pertenecen todos aquellos problemas en los cuales la función objetivo y/o las restricciones son funciones no-lineales de las variables de decisión.

En particular, la programación no-lineal provee una manera de abordar el no cumplimiento del supuesto de proporcionalidad de la programación lineal, permitiendo la programación de economías o deseconomías a escala y/o retornos crecientes o decrecientes a escala.

11.1 Introducción y ejemplos

Page 3: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

a) Rendimientos decrecientes a escala. Una compañía vende cuatro productos diferentes, el retorno

que provee cada producto es una función de la cantidad de recursos asignados a la promoción y venta de cada producto, según la siguiente tabla:

PRODUCTO RETORNO (M$, miles de pesos)

Producto 1 10.000 50.0x1

Producto 2 7.500 75.0x2

Producto 3 9.000 60.0x3

Producto 4 15.000 30.0x4

Page 4: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

En este ejemplo:En este ejemplo:

xxii es la cantidad de recursos asignados al producto es la cantidad de recursos asignados al producto ii, con , con i=1,2,3,4. i=1,2,3,4.

El siguiente modelo provee una asignación de estos El siguiente modelo provee una asignación de estos recursos, de modo de maximizar las utilidades, recursos, de modo de maximizar las utilidades, considerando una inversión anual no superior a los de M$ considerando una inversión anual no superior a los de M$ 75.00075.000

Máx Máx

10.000x10.000x110.5 0.5 + 7.500x+ 7.500x22

0.75 0.75 + 9.000x+ 9.000x330.6 0.6 + 15.000x+ 15.000x44

0.30.3

s.a. x x11+x+x22+x+x33+x+x44 75.000 75.000 xi 0; i=1,2,3,4,5.

Page 5: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

b) Aproximación y ajuste de curvas.Supongamos que se tiene un conjunto de datos correspondientes a una determinada función y=g(x) (desconocida), digamos (x1,y1), (x2,y2),..., (xm,ym) y se desea aproximar g(x) por una función h(x)

1

2

y

y

my

1x 2x mx

Page 6: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Algunas elecciones posibles:

i) h (x) =

ii) h (x) =

iii) h (x) =

iv) h (x) =

v) h (x) =

vi) h (x) =

221 xaxaao

21axaao

xaeao 1

xaeaxaao 321

)ln(1 xaao

xaao 1

Page 7: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

¿Cómo elegir los coeficientes ¿Cómo elegir los coeficientes aaii en la función en la función h(x)h(x) que que aproxima o ajusta los datos observados?aproxima o ajusta los datos observados?

Se define una función de error: Se define una función de error: e (x) = g(x)–h(x)e (x) = g(x)–h(x)

Una elección posible de los coeficientes Una elección posible de los coeficientes aaii resulta de resulta de minimizar la suma ponderada de los errores al cuadrado en minimizar la suma ponderada de los errores al cuadrado en cada uno de los datos , es decir:cada uno de los datos , es decir:

Min F (aMin F (aoo,a,a11,...,a,...,ann) =) =

m

i

ixhiyiw1

2

Page 8: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

que da origen a un problema de programación no-lineal sin que da origen a un problema de programación no-lineal sin restricciones.restricciones.

Si escogemos Si escogemos ww11=...=w=...=wmm=1=1 y y h(x)=h(x)= , la solución del , la solución del problema corresponde a la recta de la regresión lineal.problema corresponde a la recta de la regresión lineal.

xaao 1

1

2

Y

Y

mY

1X 2X mX

h(x)= xaao 1

m

im

iyoa

1

m

im

iix

ixiya

1

1

2

*

1

Page 9: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

c) Localización de instalaciones

Una compañía petrolera desea construir una refinería que recibirá suministros desde tres instalaciones portuarias, cuyas coordenadas se muestran en la siguiente figura:

30

40

30 80

Puerto B

Puerto C

Puerto A

Page 10: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Si denotamos por Si denotamos por xx e e yy las respectivas coordenadas de la las respectivas coordenadas de la refinería que se debe instalar, una posible elección es aquella refinería que se debe instalar, una posible elección es aquella que resulta de minimizar la cantidad total de tubería necesaria que resulta de minimizar la cantidad total de tubería necesaria para conectar la refinería con los puertos, dada por:para conectar la refinería con los puertos, dada por:

Min f ( x,y ) =Min f ( x,y ) =

La solución óptima calculada por el solver de Excel es:La solución óptima calculada por el solver de Excel es:

xx**==30,8052225 yy**== 37,8900128

2)30(2)80(2)40(2)30(2)0(2)0( yxyxyx

Page 11: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

30

30

40

80

Puerto B

Puerto C

Puerto A

Refinería

Page 12: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

d) Optimización de carteras de inversiónSe desea obtener una cartera de inversiones en base a distintos instrumentos (acciones, pagarés, bonos, etc.). La cartera elegida deberá reflejar un compromiso entre los retornos de los instrumentos elegidos y el riesgo asociado a cada uno de ellos, de hecho es natural esperar que a mayor retorno haya un mayor riesgo y también que exista cierta correlación entre los retornos de los distintos instrumentos de la cartera.

Page 13: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

A continuación se formula un modelo para obtener una cartera de inversión de un tomador de decisiones averso al riesgo, con un vector de retornos que tiene una distribución normal

con media:

matriz de covarianza:

donde denota la desviación estándar del retorno del instrumento i y donde es la covarianza de los retornos del instrumento i con el j.

T),,.........3,2,1( nrrrrr

.,....,2,1.;,....,2,1)( njniijQ

iiij j)(i

Page 14: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Sea xi el porcentaje de inversión del instrumento i en la cartera, con i=1,2,...n, las variables de decisión del modelo y sea K una constante de aversión al riesgo.

El siguiente modelo (propuesto por Markowitz, Premio Nobel de Economía 1991), combina ambos elementos presentes en una decisión de esta naturaleza:

Máx

n n n

.,.....2,1.0

1..

1 1 1

niixix

asi i j

jxixijKixir

Page 15: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Usando el ejemplo del servidor Neos para una cartera con tres acciones y un bono tenemos:

Selected value of K is 10.00

Risk less rate of return (monthly) is 0.00407

Name Avg Return( monthly, pet) Std Deviation Pet of Optimal PortfolioCoca cola CO 2,885 6,574 48,6Exxon Corp 1,647 4,939 13,7Texaco Inc 1,869 6,381 16,6Bond 0,407 0 21

Makeup of Optimal Portfolio

Avg Return( monthly, pet) 2,03Std Deviation 4,02

Pet of Optimal Portfolio 27,2

Optimal Portfolio Statistics

Page 16: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

48.6%

13.7%

16.6%

21.0%

Coca -Cola

Exxon Corp.

Texaco Inc.

Bond

Page 17: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

11.2 Propiedades básicas de los problemas de programación no-lineal

De manera general, un problema de optimización considera la resolución de un problema como el que sigue:P) Min Min ƒ(x)ƒ(x)

s.a.s.a. x x D D IR IRnn

Donde ƒ: IRn IR es una función comúnmente continua y diferenciable, y D es el dominio de factibilidad del problema, generalmente dado por:

D= D= {{x x IR IRn n / g/ gii(x) = b(x) = bii i=1,...,m; h i=1,...,m; hjj(x) (x) d djj j=1,...,l } j=1,...,l }

Page 18: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Decimos que x* D es un mínimo global o solución óptima del problema P) ssi:

ƒ(x*) ƒ(x*) ƒ(x) ƒ(x) para todopara todo x x D D

Por otra parte, decimos que x^x^ D es un mínimo local del problema P) ssi:

ƒ(x^) ƒ(x^) ƒ(x) ƒ(x) para todopara todo x x en una vecindad deen una vecindad de x^ x^

(x (x D D B(x^, B(x^, ))))

Page 19: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Min ƒ(x)= (x-1)(x-2)(x-3)(x-4)(x-5)s.a 1x5

x

ƒ(x)

Mínimos locales: x=1, x^ y x*Solución óptima y minimo global x*

x*

x^1 2 3 4 5

Page 20: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Existen resultados que garantizan la existencia y unicidad de la solución de un problema de programación no lineal.

Teorema Teorema (Weiertrass). Si ƒ es una función continua y D es un conjunto no vacío cerrado y acotado de IRn, entonces P) tiene solución óptima.

TeoremaTeorema. Si ƒ es una función continua y D es un conjunto cerrado no vacío y además ƒ cumple que: lim|x|+ ƒ(x) = +, entonces P) tiene solución óptima.

Page 21: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Por su parte, la unicidad de la solución óptima se puede garantizar sólo bajo ciertas condiciones muy especiales.

De igual modo es posible garantizar si un mínimo local es un mínimo global del problema.

Para esto se requiere saber si el problema P) es un problema convexo, esto es si la función objetivo es convexa y el conjunto D de puntos factibles es un conjunto convexo.

Page 22: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Si la desigualdad anterior se cumple de manera estricta, decimos que ƒ es estrictamente convexa.

Definición. Definición. Decimos que Decimos que ƒ: IRƒ: IRnnIR IR es una función es una función

convexa ssiconvexa ssi::

x + (1-x + (1-)y ) )y ) (x) + (1-(x) + (1-))(y)(y)

para todo x,y D (xy) con [0,1]

Lineal a trozos

x y

ƒ(x)ƒ(x)

ƒ(y)ƒ(y)

Page 23: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Adicionalmente, se tiene el siguiente resultado

TeoremaTeorema. Si ƒ ƒ es una función dos veces es una función dos veces continuamente diferenciables, las siguientes continuamente diferenciables, las siguientes afirmaciones son equivalentes:afirmaciones son equivalentes:

i)i)ƒ ƒ es una función convexaes una función convexa

ii)ii)ƒ(x) ƒ(x) ƒ(y) + ƒ(y) + ƒ ƒTT(y)(x-y) (y)(x-y) para dos puntos para dos puntos cualesquieracualesquiera x x ee y. y.

iii)iii)La matriz hessiana de las segundas derivadas La matriz hessiana de las segundas derivadas parciales de parciales de ƒƒ, denotada en lo que sigue por , denotada en lo que sigue por DD2 2 ƒ(x),ƒ(x), es es semi positiva definida para todosemi positiva definida para todo x. x.

Page 24: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Por otra parte, también podemos caracterizar si un conjunto cualquiera es convexo o no, de acuerdo a la siguiente:

DefiniciónDefinición. D IRn, un conjunto no vacío, es convexo ssi x + (1-x + (1-) y ) y D D, para todo x D, y D con [0,1].

xy

Es convexo

x

y

No es convexo

Page 25: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Así por ejemplo, si h(x) es una función convexa el conjunto D = { x IRn h(x) d } es convexo para cualquier escalar real d.

También es posible demostrar que la intersección de conjuntos convexos es un conjunto convexo. De aquí que por ejemplo el problema

P) Min ƒ(x)ƒ(x)

s.as.a h hjj(x) (x) d djj j=1,2,...,lj=1,2,...,l

Con Con ƒ(x) ƒ(x) y y hhjj(x)(x), para j=1,2,..,l, funciones convexas , para j=1,2,..,l, funciones convexas

definen un problema convexo, pues el dominio de definen un problema convexo, pues el dominio de factibilidad es la intersección de los conjuntos factibilidad es la intersección de los conjuntos convexos convexos DDj j = { x = { x IR IRnn h hjj(x) (x) d djj } }, para j=1,2,..,l., para j=1,2,..,l.

Page 26: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Teorema. Si P) es un problema convexo y x* es un mínimo local de P) entonces x* es un mínimo global o solución óptima de P), si además, ƒƒ es una función es una función estrictamente convexa estrictamente convexa x*x* es la única solución óptima. es la única solución óptima.

La principal dificultad en los problemas de La principal dificultad en los problemas de programación no lineal es que incluyen restriciones no programación no lineal es que incluyen restriciones no lineales de igualdad como lineales de igualdad como g(x)=bg(x)=b y el conjunto de y el conjunto de puntos puntos { x{ xIRIRnn : g(x)=b} : g(x)=b} generalmente no es convexo generalmente no es convexo cuando cuando g(x)g(x) es una función no lineal cualquiera. Por lo es una función no lineal cualquiera. Por lo tanto no todos los problemas de programación no lineal tanto no todos los problemas de programación no lineal son convexos y esto hace más difícil garantizar que la son convexos y esto hace más difícil garantizar que la solución encontrada por un solver sea una solución solución encontrada por un solver sea una solución óptima del problema. óptima del problema.

Page 27: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Como puede verse en el siguiente ejemplo, que resolveremos gráficamente, la geometría de los problemas también cambia respecto de lo observado en programación lineal.

Consideremos el siguiente problema:

Min (x1 - 3)2 + (x2 - 4)2

s.a. x1 + x2 5

x1 - x2 5/2

x1 0, x2 0

Page 28: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización
Page 29: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

La solución óptima x* de este problema se alcanza el punto x1* = 2, x2* = 3 correspondiente al único punto de la curva de nivel que tiene el menor valor y que intersecta la región de puntos factibles.

Notar que la solución ya no corresponde a un vértice del dominio de factibilidad del problema, aún cuando todavía esta solución se alcanza en la frontera de dicho conjunto.

Page 30: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Sin embargo, esto último, a diferencia de lo que ocurre en programación lineal, no siempre se produce. Si por ejemplo el problema es ahora:

Min (x1 - 2)2 + (x2 - 2)2

s.a x1 + x2 5

x1 - x2 5/2

x1 0, x2 0

La solución cambia a lo representado en la siguiente figura, donde la solución óptima se alcanza en x1* = 2, x2* = 2, ahora perteneciente al interior del dominio de factibilidad del problema.

Page 31: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización
Page 32: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Gráficamente, también podemos observar la presencia de divesos mínimos locales en un problema no lineal.

Page 33: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

11.3 Problemas de optimización no restringida

En esta sección consideraremos un problema

P) Min ƒ(x)P) Min ƒ(x) con x con x IR IRnn

A esta clase de problemas pertenece por ejemplo el problema de aproximación y ajuste de curvas. Sin embargo, la principal razón para su estudio radica en la extensión de las ideas y métodos para esta clase de problemas a los problemas de optimización restringida.

Page 34: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

A continuación se resumen algunos resultados teóricos para esta clase de problemas:

Teorema (condiciones necesarias de primer orden). Si ƒ ƒ es una función continuamente diferenciable y es una función continuamente diferenciable y x^x^ IRIRnn es un mínimo local de P), entonces: es un mínimo local de P), entonces: (x^) = 0(x^) = 0..

Teorema (condiciones necesarias de segundo orden). Si ƒ ƒ es una función dos veces continuamente es una función dos veces continuamente diferenciable y diferenciable y x^x^ IR IRnn es un mínimo local de P), es un mínimo local de P), entonces:entonces:

(x^) = 0(x^) = 0 y y DD2 2 (x^)(x^) es semi positiva definida. es semi positiva definida.

Page 35: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Dado lo anterior, no todos los puntos x x IR IRn n que que satisfacen las propiedades mencionadas son mínimos satisfacen las propiedades mencionadas son mínimos locales de la función, sin embargo existen resultados locales de la función, sin embargo existen resultados que proveen condiciones necesarias y suficientes para que proveen condiciones necesarias y suficientes para que un punto sea un mínimo local.que un punto sea un mínimo local.

Teorema (Teorema (condiciones suficientes de segundo ordencondiciones suficientes de segundo orden).). Sea Sea una función dos veces continuamente una función dos veces continuamente diferenciable en diferenciable en x^x^. Si . Si (x^)=0(x^)=0 y y DD2 2 (x^)(x^) es positiva es positiva definida, entonces definida, entonces x^x^ es un mínimo local estricto. es un mínimo local estricto.

Teorema.Teorema. Sea Sea una función convexa continuamente una función convexa continuamente diferenciable, entonces diferenciable, entonces x^x^ es un mínimo global ssi es un mínimo global ssi (x^)=0(x^)=0..

Page 36: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Ejemplo. Considere la función:

(x(x11,x,x22) = 3 x) = 3 x1122 + x + x22

33 - 3/2 x - 3/2 x2222

su gradiente y matriz Hessiana corresponden a:su gradiente y matriz Hessiana corresponden a:

DD2 2 (x) = (x) = 66 00

00 6x6x22 - 3 - 3

(x) = 6 x1

3x22 - 3 x2

Page 37: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

De modo que hay dos posibles candidatos, x^ =(0,0)T

y x* = (0,1)T, que satisfacen las condiciones necesarias

de primer orden, sin embargo

DD2 2 (x) = (x) = 66 00

00 6x6x22 - 3 - 3

sólo es positiva definida en x* = (0,1), de modo que x* es un mínimo local del problema.

Page 38: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

La mayor parte de los algoritmos de optimización para abordar esta clase de problemas pertenecen a la clase de algoritmos generales de descenso que reducen el cálculo de un mínimo local a una secuencia de problemas de búsqueda lineal (o búsqueda unidimensional).

Page 39: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Decimos que un vector d IRn es una dirección de descenso de la función en el punto en el punto x^x^ ssi la derivada ssi la derivada direccional de direccional de en en x^x^ en la dirección en la dirección dd, es negativa:, es negativa:

x1

x2

Z=10 Z=20

x^

(x)(x)

- - (x)(x)

d

Page 40: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Consideremos además la función unidimensional (en una variable)

g() = (x^ + d)

donde es un escalar real llamado el tamaño del paso. Esta función da el valor f cuando uno se mueve a partir del punto x^ en la dirección d un cierto paso .

Claramente, si g’(0)= T(x^)d<0, es posible escoger un paso ^ tal que:

g() = (x^ + ^d) < (x^) = g(0)

esto es, que reduzca el valor de la función respecto del valor actual en x^.

Page 41: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Algoritmo general de descenso

1 Considere un punto inicial 1 Considere un punto inicial x=x°x=x°. Hacer . Hacer k=0k=0. .

2 Escoger una dirección de descenso 2 Escoger una dirección de descenso ddkk..

3 Realizar una búsqueda lineal que seleccione un 3 Realizar una búsqueda lineal que seleccione un paso paso kk tal que: tal que:

g(g(kk) = ) = ƒ(xƒ(xkk + + kkddkk) < ) < ƒ(xƒ(xkk) = g(0)) = g(0)

4 Hacer 4 Hacer xxk+1k+1 = x = xkk + + kkddkk..

5 Hacer un test de convergencia. Si converge stop. 5 Hacer un test de convergencia. Si converge stop. En caso contrario, hacer En caso contrario, hacer k=k+1 k=k+1 y volver a 2.y volver a 2.

Page 42: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

En paso 5, los criterios más usuales de convergencia son que:

(xk)

(xk+1) - (xk)/ (1+ (xk))

para un cierto número L de valores consecutivos de k, y donde es una tolerancia dada de error, por ejemplo =10-4.

Existen varios métodos para escoger una dirección de descenso, uno de ellos es:

Page 43: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

x

Método del descenso más pronunciado

En este método, también conocido como método del En este método, también conocido como método del gradiente o método de Cauchy, dado la actual gradiente o método de Cauchy, dado la actual aproximación xaproximación xkk, la dirección de descenso se escoge , la dirección de descenso se escoge como:como:

dk = -(xk)

Page 44: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Ejemplo.Considerar el problema:Ejemplo.Considerar el problema:

222211

4411 ))(())22((

221.. IR

xx

as

xxxxxxMinMin

que resolvemos usando el método del descenso más que resolvemos usando el método del descenso más pronunciado a partir del punto pronunciado a partir del punto xx11

0 0 = 0, x= 0, x2200 = 3 = 3..

Page 45: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

kƒ(xk)ƒ(xk)Iteración k

0.0620.062(-44.00,24.00)(-44.00,24.00)(0.00,3.00)(0.00,3.00)52.0052.00

11

0.240.24(0.73,1.28)(0.73,1.28)(2.70,1.51)(2.70,1.51)0.340.34

22

0.110.11(0.80,-0.48)(0.80,-0.48)(2.52,1.20)(2.52,1.20)0.090.09

33

0.310.31(0.18,0.28)(0.18,0.28)(2.43,1.25)(2.43,1.25)0.040.04

44

(0.05,0.08)(0.05,0.08)(2.28,1.15)(2.28,1.15)0.0070.007

88

0.130.13(0.15,-0.08)(0.15,-0.08)(2.30,1.14)(2.30,1.14)0.0090.009

77

0.360.36(0.08,0.12)(0.08,0.12)(2.33,1.18)(2.33,1.18)0.010.01

66

0.120.12(0.30,-0.20)(0.30,-0.20)(2.37,1.16)(2.37,1.16)0.020.02

55

Page 46: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Otra elección posible para la dirección de descenso Otra elección posible para la dirección de descenso es la que usa el:es la que usa el:

Método de Newton

Aquí el vector dAquí el vector dkk se calcula como la solución del se calcula como la solución del siguiente sistema de ecuaciones:siguiente sistema de ecuaciones:

D2ƒ(x)dk=- ƒ(x)

Sin embargo, a pesar de ser un método más eficiente Sin embargo, a pesar de ser un método más eficiente que el anterior respecto de su rápidez de que el anterior respecto de su rápidez de convergencia, requiere en cada iteración el cálculo de convergencia, requiere en cada iteración el cálculo de las segundas derivadas parciales y la resolución de las segundas derivadas parciales y la resolución de un sistema de ecuaciones. Además, un sistema de ecuaciones. Además, ddkk está está garantizada que es una dirección de descenso sólo si garantizada que es una dirección de descenso sólo si DD22ƒ(xƒ(xkk)) es positiva definida. es positiva definida.

Page 47: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Al aplicar el método al ejemplo anterior se tiene:Al aplicar el método al ejemplo anterior se tiene:

ƒ(xk)ƒ(xk)Iteración k

(-44.00,24.00)(-44.00,24.00)(0.00,3.00)(0.00,3.00)52.0052.00

11

(-9.39,-0.04)(-9.39,-0.04)(0.67,0.33)(0.67,0.33)3.133.13

22

(-2.84,-0.04)(-2.84,-0.04)(1.11,0.56)(1.11,0.56)0.630.63

33

(-0.80,-0.04)(-0.80,-0.04)(1.41,0.70)(1.41,0.70)0.120.12

44

(0.0003,-0.04)(0.0003,-0.04)(1.83,0.91)(1.83,0.91)0.00090.0009

77

(-0.07,0.00)(-0.07,0.00)(1.74,0.87)(1.74,0.87)0.0050.005

66

(-0.22,-0.04)(-0.22,-0.04)(1.61,0.80)(1.61,0.80)0.020.02

55

Page 48: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

11.4 Problemas de optimización con restricciones de igualdad

El problema que se desea abordar consiste en:El problema que se desea abordar consiste en:

P) Min. f(x)P) Min. f(x)

s.a. gs.a. g11(x) = b(x) = b11

gg22(x) = b(x) = b22

gg m m(x)= b(x)= bn n mmnn

DefiniciónDefinición. Decimos que . Decimos que x x IR IRnn un punto regular de las un punto regular de las restricciones del problema P) ssi:restricciones del problema P) ssi:

son vectores l.i.son vectores l.i. )ˆ(),.....,ˆ(2),ˆ(1

,...,1i)(i

xmgxgxg

mi =bxg

Page 49: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Para presentar algunos resultados teóricos, que permiten el Para presentar algunos resultados teóricos, que permiten el cálculo de mínimos locales, se introdujo la definición cálculo de mínimos locales, se introdujo la definición anterior que se relaciona con el cumplimiento de ciertas anterior que se relaciona con el cumplimiento de ciertas condiciones de regularidad del problema.condiciones de regularidad del problema.

A continuación, introducimos la función lagrangeana del A continuación, introducimos la función lagrangeana del problema P):problema P):

m

ib

i

xigixfx )

1

)(()(),(

L

Page 50: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Donde representa el vector de los Donde representa el vector de los multiplicadores de lagrange.multiplicadores de lagrange.

Los siguientes resultados teóricos establecen ciertas Los siguientes resultados teóricos establecen ciertas propiedades que satisface un mínimo local, las cuales propiedades que satisface un mínimo local, las cuales muestran, en particular, que dicho punto es un punto muestran, en particular, que dicho punto es un punto estacionario de la función lagrangeana.estacionario de la función lagrangeana.

tm ),....,2,1(

Page 51: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Teorema (Condiciones necesarias de primer ordenCondiciones necesarias de primer orden)::

Sean Sean f(x)f(x) y y gg11(x),..., g(x),..., gmm(x),(x), funciones continuamente funciones continuamente

diferenciales y sea diferenciales y sea xx^̂ un mínimo local que además es un un mínimo local que además es un punto regular de las restricciones de P), entonces existe un punto regular de las restricciones de P), entonces existe un

vectorvector λλ^ ^ IRIRmm,, de multiplicadores de Lagrange tales que: de multiplicadores de Lagrange tales que:

0

1

)ˆ()ˆ()ˆ(

m

i

xigixf,x̂x ̂L

Page 52: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

TeoremaTeorema((Condiciones necesarias y suficientes de segundo ordenCondiciones necesarias y suficientes de segundo orden).). Sean f,gSean f,g11,g,g22,...,g,...,gmm funciones dos veces continuamente diferenciables funciones dos veces continuamente diferenciables y sea y sea x^ x^ IR IRnn un punto regular de las restricciones de P) que junto un punto regular de las restricciones de P) que junto concon λλ^ ^ IR IRmm, satisfacen:, satisfacen:

es una matriz positiva definida entonces es una matriz positiva definida entonces x^x^ es un mínimo local de es un mínimo local de P).P).

m

iXigDixfDxL

1 )ˆ(2ˆ)ˆ(2)ˆ,ˆ(

m

i

xigixfxx 01

)ˆ(ˆ)ˆ()ˆ,ˆ( L

Page 53: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Ejemplo: Min. Min. s.a.s.a.

Buscamos Buscamos xx** usando las condiciones de Optimalidad: usando las condiciones de Optimalidad: ; m=1

así::

22

1

421

22

21

IRx

xxx

xx

)( 22 xxxf 4)( xxxh

20

02)(2 xfD

21

)2,2()(21

xxxf T

00

00)(2 xhD

211

11)(1

xh T

Page 54: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Luego las condiciones de primer orden son:Luego las condiciones de primer orden son:

( Factibilidad)( Factibilidad)

Resolviendo el sistema : xResolviendo el sistema : x11=x=x22=2; λ=2; λ11=-4, luego por =-4, luego por

existencia de la solución óptima de P) se tiene:existencia de la solución óptima de P) se tiene:

xx11=2 x=2 x22=2=2 es la solución óptima. es la solución óptima.

0421

012

2

011

2

xx

x

x

Page 55: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

De todos modos las condiciones de segundo orden se De todos modos las condiciones de segundo orden se cumplen : cumplen :

Notar que en Notar que en x*x* se tiene: se tiene:

2,0

20

02

00

00

00

22)*( IR*xxL

TT

m

i

xi

hi

xf

)

1(1444

)

1

*(*)*(

Page 56: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Por último consideramos un problema general de Por último consideramos un problema general de optimización:optimización: P) Min. f(x)P) Min. f(x)

s.a. s.a.

En este caso decimos que es un punto regular de las En este caso decimos que es un punto regular de las restricciones del problema ssi:restricciones del problema ssi:

vectores l.ivectores l.i

11.5 Problemas con restricciones de igualdad y desigualdad.

.,..,2,1,)(

.,....,2,1,)(

ljdxh

mibxg

jj

ii

jdxjhjJj )ˆ(/

xjhxmgxgxg ),ˆ(),ˆ(),..,ˆ(2)ˆ(1

ljjdxjh .,...,1,)ˆ(

miibxig .,...,1,)ˆ(

Page 57: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Teorema(condiciones necesarias de primer orden de Karush-Kuhn-Tucker (KKT)).

Suponga que las funciones f, g1,g2 ,...,gm,h1,...,hl son continuamente diferenciables. Sea un punto regular de P) y mínimo local del problema, entonces existen multiplicadores de lagrange: y

:0,...,02

,01

,,....,1

l

uuu

m

01

)ˆ()ˆ(1

)ˆ(

l

J

xjhjuxi

gm

i ixf

ljj

dxj

hj

u ,....,2,1,0))((

Page 58: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

11.6 Métodos de Optimización Restringida

a) Método de activación de restricciones

Este método se aplica en esta descripción a problemas que sólo poseen restricciones de desigualdad.

La idea es que si el problema no restringido tiene una solución óptima que no satisface una parte de las restricciones, se considera k restricciones como de igualdad y se resuelve este problema restringido hasta llegar a un conjunto de restricciones activas cuya solución también satisface las restricciones omitidas.

Page 59: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

1 Resuelva el problema no restringido. Si el óptimo 1 Resuelva el problema no restringido. Si el óptimo satisface todas las restricciones STOP, en caso satisface todas las restricciones STOP, en caso contrario, hacer contrario, hacer k=1k=1 e ir al paso 2. e ir al paso 2.

2 Activar cualquiera 2 Activar cualquiera kk restricciones y hallar una solución restricciones y hallar una solución que satisfaga las condiciones de optimalidad KKT. Si la que satisfaga las condiciones de optimalidad KKT. Si la solución resulta factible para las restantes restricciones solución resulta factible para las restantes restricciones STOP. Sino, active otro conjunto de k restricciones y STOP. Sino, active otro conjunto de k restricciones y repita el paso. Si se han tomado todos los conjuntos de repita el paso. Si se han tomado todos los conjuntos de k restricciones sin hallar solución factible ir al paso 3.k restricciones sin hallar solución factible ir al paso 3.

3 Si 3 Si k=Lk=L (# total de restricciones) no existe solución (# total de restricciones) no existe solución factible. En caso contrario, hacer factible. En caso contrario, hacer K= K+1K= K+1 e ir a paso 2. e ir a paso 2.

Page 60: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Ejemplo. Consideremos el problema:

Min (2x1 – 5)2 + (2x2 – 1)2

s.a. x1 + 2x2 2

x1, x2 0

El problema no restringido tiene como solución a

~

2/1~2/5

2

1

x

x

Obtenida al resolver (x) = 0

Page 61: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Claramente, este punto no satisface la restricción h1(x1,x2) = x1 + 2x2 2.

Consideramos entonces activa la restricción, esto es resolvemos:

2),(

0),(),(

211

211121

xxh

xxhxxf

Cuya solución es

5/12ˆ

10/1ˆ

5/1110/22ˆ

1

2

1

x

x

que no satisface x2 0

Page 62: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Continuando con el método, si sólo se activa x1= 0 se llega al mínimo local:

x1 = 0 x2 = ½ 2=0 1=0 3=0

Notar que otro mínimo local se tiene con x1 + 2x2 2 y x2 = 0 activas, obteniéndose x1 = 2, x2 = 0.

Page 63: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

b) b) Método de Frank - Wolfe

Este método permite la resolución de un problema Este método permite la resolución de un problema cuya función objetivo es una función convexa no-lineal cuya función objetivo es una función convexa no-lineal y cuyas restricciones son todas lineales. Este método y cuyas restricciones son todas lineales. Este método reemplaza la función objetivo por una secuencia de reemplaza la función objetivo por una secuencia de funciones lineales que la aproximan, dando así origen funciones lineales que la aproximan, dando así origen a una secuencia de problemas de programación lineal.a una secuencia de problemas de programación lineal.

Page 64: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Si xk es la actual aproximación a la solución óptima del problema

P) Min ƒ(x)

s.a. Ax = b

x 0

Entonces la expansión en serie de Taylor en torno a x=xk, a saber (x) = (xk) + (xk)(x – xk), permite aproximar el problema P) por el problema lineal

PLk) Min ƒ(xk) + (xk)(x – xk)

s.a. Ax = b

x 0

Page 65: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

o equivalentemente, eliminando los términos constantes, considerar el problema:

PLk) Min (xk)x

s.a. Ax = b

x 0

Si xLPk denota la solución óptima de PLk), este punto no

necesariamente es cercano a xk de modo que es necesario proponer un punto que resulte de hacer una minimización unidimensional en el segmento que une xk con xLP

k.

Todo lo anterior se resume en el siguiente algoritmo:

Page 66: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

0 Escoger un punto inicial factible x0. Hacer k = 1.

1 Evaluar C= (xk-1)

2 Hallar la solución óptima xLPk del siguiente problema

linealMin CT xs.a. Ax = b

x 0

3 Para la variable [0,1], se define

g() = (xk-1 + [xLPk – xk-1])

Usar algún procedimiento de minimización unidimensional para hallar un k que aproxime la solución de Min { g() / [0,1]}

Page 67: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

4 Hacer 4 Hacer xk = xk-1 + k (xLPK – xk-1)

5 Si se satisface el criterio de parada del método, 5 Si se satisface el criterio de parada del método, STOP. En caso contrario, hacer STOP. En caso contrario, hacer k = k + 1 y volver al y volver al paso 1.paso 1.

Page 68: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Ejemplo.

0,

623..

825

21

21

2221

21

xx

xxas

xxxxMin

(5/6,7/6)(5/6,7/6)

(0,2)(0,2)

xxkk

(2,0)(2,0)

(0,3)(0,3)

xxLPLPkk kkƒƒ(x(xk-1k-1))XXk-1k-1Iteración Iteración

kk

2/32/3(-5,-8)(-5,-8)(0,0)(0,0)11

5/125/12(-5,0)(-5,0)(0,2)(0,2)22

Page 69: 11. PROGRAMACION NO-LINEAL 11.1 Introducción y ejemplos 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización

Direcciones electrónicas en Programación no Lineal

•Preguntas de consulta frecuente en Programación No Lineal:

•Servidor NEOS, guía de software de Programación No Lineal:

•Servidor Neos, ejemplo de carteras de inversión:

•Guía de software de Programación No Lineal en revista OR&MS Today (INFORMS Magazine)

http://www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq.html

http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/unconstropt.htmlhttp://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/constropt .html

http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/port/index.html

http://lionhrtpub.com/software-surveys.shtml