Title: 11. PROGRAMACION NO-LINEAL
111. 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
GIO
211.1 Introducción y ejemplos
- 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. -
GIO
3- 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
GIO
4- En este ejemplo
- xi es la cantidad de recursos asignados al
producto i, con i1,2,3,4. - El siguiente modelo provee una asignación de
estos recursos, de modo de maximizar las
utilidades, considerando una inversión anual no
superior a los de M 75.000
- Máx
- 10.000x10.5 7.500x20.75 9.000x30.6
15.000x40.3 - s.a. x1x2x3x4 ? 75.000 xi ?0
i1,2,3,4,5.
GIO
5b) Aproximación y ajuste de curvas. Supongamos
que se tiene un conjunto de datos
correspondientes a una determinada función yg(x)
(desconocida), digamos (x1,y1), (x2,y2),...,
(xm,ym) y se desea aproximar g(x) por una función
h(x)
GIO
6- Algunas elecciones posibles
- h (x)
- h (x)
- h (x)
- h (x)
- h (x)
- h (x)
GIO
7- Cómo elegir los coeficientes ai en la función
h(x) que aproxima o ajusta los datos observados? - Se define una función de error e (x)
g(x)h(x) - Una elección posible de los coeficientes ai
resulta de minimizar la suma ponderada de los
errores al cuadrado en cada uno de los datos , es
decir - Min F (ao,a1,...,an)
GIO
8- que da origen a un problema de programación
no-lineal sin restricciones. - Si escogemos w1...wm1 y h(x) , la
solución del problema corresponde a la recta de
la regresión lineal.
h(x)
GIO
9- 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
GIO
10- Si denotamos por x e y las respectivas
coordenadas de la refinería que se debe
instalar, una posible elección es aquella que
resulta de minimizar la cantidad total de tubería
necesaria para conectar la refinería con los
puertos, dada por - Min f ( x,y )
- La solución óptima calculada por el solver de
Excel es -
- x30,8052225 y 37,8900128
-
-
GIO
1130
GIO
12- d) Optimización de carteras de inversión
- Se 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.
GIO
13- 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.
GIO
14- Sea xi el porcentaje de inversión del instrumento
i en la cartera, con i1,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
GIO
15- 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
GIO
1621.0
Coca -Cola
Exxon Corp.
48.6
Texaco Inc.
16.6
Bond
13.7
GIO
1711.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 ƒ(x)
- s.a. x ? D ? IRn
- 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 x ? IRn / gi(x) bi i1,...,m hj(x) ? dj
j1,...,l
GIO
18- Decimos que x ? D es un mínimo global o solución
óptima del problema P) ssi - ƒ(x) ? ƒ(x) para todo x ? D
- Por otra parte, decimos que x ? D es un mínimo
local del problema P) ssi - ƒ(x) ? ƒ(x) para todo x en una vecindad de x
- (x ? D ? B(x, ?))
GIO
19Min ƒ(x) (x-1)(x-2)(x-3)(x-4)(x-5)s.a 1?x?5
ƒ(x)
x
x
1
2
3
4
5
x
Mínimos locales x1, x y x Solución óptima y
minimo global x
GIO
20- Existen resultados que garantizan la existencia y
unicidad de la solución de un problema de
programación no lineal. - 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. - Teorema. Si ƒ es una función continua y D es un
conjunto cerrado no vacío y además ƒ cumple que
limx?? ƒ(x) ?, entonces P) tiene solución
óptima.
GIO
21Por 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.
GIO
22Definición. Decimos que ƒ IRn?IR es una función
convexa ssi ???x (1-?)y ) ? ??(x)
(1-?)?(y) para todo x,y ? D (x?y) con ? ? 0,1
Si la desigualdad anterior se cumple de manera
estricta, decimos que ƒ es estrictamente convexa.
Lineal a trozos
GIO
23- Adicionalmente, se tiene el siguiente resultado
- Teorema. Si ƒ es una función dos veces
continuamente diferenciables, las siguientes
afirmaciones son equivalentes - ƒ es una función convexa
- ƒ(x) ? ƒ(y) ? ƒT(y)(x-y) para dos puntos
cualesquiera x e y. - La matriz hessiana de las segundas derivadas
parciales de ƒ, denotada en lo que sigue por D2
ƒ(x), es semi positiva definida para todo x.
GIO
24Por otra parte, también podemos caracterizar si
un conjunto cualquiera es convexo o no, de
acuerdo a la siguiente Definición. D ? IRn, un
conjunto no vacío, es convexo ssi ?x (1-?) y ?
D, para todo x ? D, y ? D con ? ? 0,1.
No es convexo
Es convexo
GIO
25Así 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) s.a hj(x) ? dj j1,2,...,l Con ƒ(x) y
hj(x), para j1,2,..,l, funciones convexas
definen un problema convexo, pues el dominio de
factibilidad es la intersección de los conjuntos
convexos Dj x ? IRn ? hj(x) ? dj , para
j1,2,..,l.
GIO
26Teorema. 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 estrictamente convexa x es la única
solución óptima. La principal dificultad en los
problemas de programación no lineal es que
incluyen restriciones no lineales de igualdad
como g(x)b y el conjunto de puntos x?IRn
g(x)b generalmente no es convexo cuando g(x) es
una función no lineal cualquiera. Por lo tanto no
todos los problemas de programación no lineal son
convexos y esto hace más difícil garantizar que
la solución encontrada por un solver sea una
solución óptima del problema.
GIO
27Como 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
GIO
28GIO
29La 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.
GIO
30Sin 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.
GIO
31GIO
32Gráficamente, también podemos observar la
presencia de divesos mínimos locales en un
problema no lineal.
GIO
3311.3 Problemas de optimización no restringida
En esta sección consideraremos un problema P)
Min ƒ(x) con x ? IRn 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.
GIO
34A 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 x ?
IRn es un mínimo local de P), entonces ??(x)
0. Teorema (condiciones necesarias de segundo
orden). Si ƒ es una función dos veces
continuamente diferenciable y x ? IRn es un
mínimo local de P), entonces ??(x) 0 y D2
?(x) es semi positiva definida.
GIO
35Dado lo anterior, no todos los puntos x ? IRn que
satisfacen las propiedades mencionadas son
mínimos locales de la función, sin embargo
existen resultados que proveen condiciones
necesarias y suficientes para que un punto sea un
mínimo local. Teorema (condiciones suficientes
de segundo orden). Sea ? una función dos veces
continuamente diferenciable en x. Si ??(x)0 y
D2 ?(x) es positiva definida, entonces x es un
mínimo local estricto. Teorema. Sea ? una
función convexa continuamente diferenciable,
entonces x es un mínimo global ssi ??(x)0.
GIO
36Ejemplo. Considere la función ?(x1,x2) 3 x12
x23 - 3/2 x22 su gradiente y matriz Hessiana
corresponden a
GIO
37De 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
sólo es positiva definida en x (0,1), de modo
que x es un mínimo local del problema.
GIO
38La 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).
GIO
39Decimos que un vector d ? IRn es una dirección de
descenso de la función ? en el punto x ssi la
derivada direccional de ? en x en la dirección
d, es negativa
GIO
40Consideremos 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)dlt0, es
posible escoger un paso ? tal que g(?) ?(x
?d) lt ?(x) g(0) esto es, que reduzca el valor
de la función respecto del valor actual en x.
GIO
41- Algoritmo general de descenso
- 1 Considere un punto inicial xx. Hacer k0.
- 2 Escoger una dirección de descenso dk.
- 3 Realizar una búsqueda lineal que seleccione un
paso ?k tal que - g(?k) ƒ(xk ?kdk) lt ƒ(xk) g(0)
- 4 Hacer xk1 xk ?kdk.
- 5 Hacer un test de convergencia. Si converge
stop. En caso contrario, hacer kk1 y volver a
2.
GIO
42En paso 5, los criterios más usuales de
convergencia son que ?? ??(xk) ?? ? ? ??(xk1)
- ?(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
GIO
43Método del descenso más pronunciado En este
método, también conocido como método del
gradiente o método de Cauchy, dado la actual
aproximación xk, la dirección de descenso se
escoge como dk -??(xk)
GIO
44Ejemplo.Considerar el problema
que resolvemos usando el método del descenso más
pronunciado a partir del punto x10 0, x20 3.
GIO
45GIO
46Otra elección posible para la dirección de
descenso es la que usa el Método de Newton Aquí
el vector dk se calcula como la solución del
siguiente sistema de ecuaciones D2ƒ(x)dk- ?
ƒ(x) Sin embargo, a pesar de ser un método más
eficiente que el anterior respecto de su rápidez
de convergencia, requiere en cada iteración el
cálculo de las segundas derivadas parciales y la
resolución de un sistema de ecuaciones. Además,
dk está garantizada que es una dirección de
descenso sólo si D2ƒ(xk) es positiva definida.
GIO
47Al aplicar el método al ejemplo anterior se tiene
GIO
4811.4 Problemas de optimización con restricciones
de igualdad
- El problema que se desea abordar consiste en
- P) Min. f(x)
- s.a. g1(x) b1
- g2(x) b2
-
- g m(x) bn m?n
- Definición. Decimos que x ? IRn un punto regular
de las restricciones del problema P) ssi - son vectores l.i.
GIO
49- Para presentar algunos resultados teóricos, que
permiten el cálculo de mínimos locales, se
introdujo la definición anterior que se relaciona
con el cumplimiento de ciertas condiciones de
regularidad del problema. - A continuación, introducimos la función
lagrangeana del problema P)
GIO
50- Donde
representa el vector de los multiplicadores de
lagrange. - Los siguientes resultados teóricos establecen
ciertas propiedades que satisface un mínimo
local, las cuales muestran, en particular, que
dicho punto es un punto estacionario de la
función lagrangeana.
GIO
51- Teorema (Condiciones necesarias de primer orden)
- Sean f(x) y g1(x),..., gm(x), funciones
continuamente diferenciales y sea x un mínimo
local que además es un punto regular de las
restricciones de P), entonces existe un vector ?
? IRm, de multiplicadores de Lagrange tales que
GIO
52- Teorema(Condiciones necesarias y suficientes de
segundo orden). Sean f,g1,g2,...,gm funciones dos
veces continuamente diferenciables y sea x ? IRn
un punto regular de las restricciones de P) que
junto con ? ? IRm, satisfacen -
-
-
- es una matriz positiva definida entonces x es un
mínimo local de P).
GIO
53- Ejemplo Min.
- s.a.
- Buscamos x usando las condiciones de
Optimalidad -
- m1
-
- así
GIO
54- Luego las condiciones de primer orden son
- ( Factibilidad)
- Resolviendo el sistema x1x22 ?1-4, luego
por existencia de la solución óptima de P) se
tiene - x12 x22 es la solución óptima.
GIO
55- De todos modos las condiciones de segundo orden
se cumplen - Notar que en x se tiene
-
GIO
5611.5 Problemas con restricciones de igualdad y
desigualdad.
- Por último consideramos un problema general de
optimización - P) Min. f(x)
- s.a.
- En este caso decimos que es un punto regular
de las restricciones del problema ssi - vectores l.i
GIO
57- 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
GIO
5811.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.
GIO
591 Resuelva el problema no restringido. Si el
óptimo satisface todas las restricciones STOP, en
caso contrario, hacer k1 e ir al paso 2. 2
Activar cualquiera k restricciones y hallar una
solución que satisfaga las condiciones de
optimalidad KKT. Si la solución resulta factible
para las restantes restricciones STOP. Sino,
active otro conjunto de k restricciones y repita
el paso. Si se han tomado todos los conjuntos de
k restricciones sin hallar solución factible ir
al paso 3. 3 Si kL ( total de restricciones) no
existe solución factible. En caso contrario,
hacer K K1 e ir a paso 2.
GIO
60Ejemplo. 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
Obtenida al resolver ??(x) 0
GIO
61Claramente, este punto no satisface la
restricción h1(x1,x2) x1 2x2 ?
2. Consideramos entonces activa la restricción,
esto es resolvemos
Cuya solución es
que no satisface x2 ? 0
GIO
62Continuando con el método, si sólo se activa x1
0 se llega al mínimo local x1 0 x2 ½
?20 ?10 ?30 Notar que otro mínimo
local se tiene con x1 2x2 ? 2 y x2 0
activas, obteniéndose x1 2, x2 0.
GIO
63b) Método de Frank - Wolfe
Este método permite la resolución de un problema
cuya función objetivo es una función convexa
no-lineal y cuyas restricciones son todas
lineales. Este método reemplaza la función
objetivo por una secuencia de funciones lineales
que la aproximan, dando así origen a una
secuencia de problemas de programación lineal.
GIO
64 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 xxk, 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
GIO
65o 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 xLPk. Todo lo anterior se resume
en el siguiente algoritmo
GIO
660 Escoger un punto inicial factible x0. Hacer k
1. 1 Evaluar C ??(xk-1) 2 Hallar la solución
óptima xLPk del siguiente problema lineal Min
CT x s.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
GIO
674 Hacer xk xk-1 ?k (xLPK xk-1) 5 Si se
satisface el criterio de parada del método, STOP.
En caso contrario, hacer k k 1 y volver al
paso 1.
GIO
68Ejemplo.
GIO
69Direcciones 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 ORMS Today (INFORMS Magazine)
http//www-unix.mcs.anl.gov/otc/Guide/faq/nonlinea
r-programming-faq.html
http//www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/
Categories/unconstropt.html
http//www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/
Categories/constropt .html
http//www-fp.mcs.anl.gov/otc/Guide/CaseStudies/po
rt/index.html
http//lionhrtpub.com/software-surveys.shtml
GIO