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 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
2. 11.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.
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:
PRODUCTO RETORNO (M$, miles de pesos)
Producto 1 10.000 x1 0.50
Producto 2 7.500 x2 0.75
Producto 3 9.000 x3 0.60
Producto 4 15.000 x4 0.30
4. En este ejemplo:
xi es la cantidad de recursos asignados al producto i, con
i=1,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. x1+x2+x3+x4 ≤ 75.000 xi ≥0; i=1,2,3,4,5.
5. 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)
ym
y2
y1
x1 x2 xm
6. Algunas elecciones posibles:
i) h (x) = ao + a1x
ii) h (x) = ao + a1x + a2 x2
iii) h (x) = ao + a1xa 2
iv) h (x) = aoea1 x
h (x) = ao + a1x + a2e 3
a x
v)
vi) h (x) = ao + a1 ln(x)
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:
m
∑ w i ( y i − h ( x i ))2
Min F (ao,a1,...,an) = i =1
8. que da origen a un problema de programación no-lineal sin
restricciones.
Si escogemos w1=...=wm=1 y h(x)= ao + a1x solución del
, la
problema corresponde a la recta de la regresión lineal.
h(x)= ao + a1x
Ym
Y2
m y
m y *x
Y1 ao = ∑ i
m a = ∑ i i
m
i =1 1
i = 1 ∑ x i 2
X1 X2 Xm
i=1
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:
40
Puerto B
30 Puerto C
Puerto A
30 80
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 ) = ( x − 0)2 + ( y − 0)2 + ( x − 30)2 + ( y − 40)2 + ( x − 80)2 + ( y − 30)2
La solución óptima calculada por el solver de Excel es:
x*=30,8052225 y*= 37,8900128
11. Puerto B
40
30
Puerto C
Refinería
Puerto A
30 80
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.
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: r = (r1, r2, r3,........., rn )T
matriz de covarianza: Q = (σ ij )i =1,2,....,n.; j =1,2,....,n.
donde σ ii denota la desviación estándar del retorno del
instrumento i y donde σes (i ≠ covarianza de los
ij la j)
retornos del instrumento i con el j.
14. 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
∑ r i x i − K ∑ ∑ σ ij x i x j
i =1 i =1 j =1
s .a .
∑ x i =1
x i ≥ 0 .i = 1, 2 ,..... n .
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
Makeup of Optimal Portfolio
Name Avg Return( monthly, pet) Std Deviation Pet of Optimal Portfolio
Coca cola CO 2,885 6,574 48,6
Exxon Corp 1,647 4,939 13,7
Texaco Inc 1,869 6,381 16,6
Bond 0,407 0 21
Optimal Portfolio Statistics
Avg Return( monthly, pet) 2,03
Std Deviation 4,02
Pet of Optimal Portfolio 27,2
16. 21.0%
Coca -Cola
Exxon Corp.
48.6%
16.6% Texaco Inc.
Bond
13.7%
17. 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 ƒ(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 i=1,...,m; hj(x) ≤ dj j=1,...,l }
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^, ∈))
19. Min ƒ(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:
x=1, x^ y x*
Solución óptima y
minimo global x*
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
Teorema
conjunto cerrado no vacío y además ƒ cumple que:
lim|x|→+∞ ƒ(x) = +∞, entonces P) tiene solución
óptima.
21. 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.
22. Definició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
ƒ(y)
ƒ(x)
x y
23. Adicionalmente, se tiene el siguiente resultado
Teorema. Si ƒ es una función dos veces
Teorema
continuamente diferenciables, las siguientes
afirmaciones son equivalentes:
i)ƒ es una función convexa
ii)ƒ(x) ≥ ƒ(y) + ∇ ƒT(y)(x-y) para dos puntos
cualesquiera x e y.
iii)La matriz hessiana de las segundas derivadas
parciales de ƒ, denotada en lo que sigue por D2 ƒ(x), es
semi positiva definida para todo x.
24. Por 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
Definición
convexo ssi λx + (1-λ) y ∈ D, para todo x ∈ D, y ∈ D
D
con λ ∈ [0,1].
y y
x
x
Es convexo No es convexo
25. 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)
s.a hj(x) ≤ dj j=1,2,...,l
Con ƒ(x) y hj(x), para j=1,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 j=1,2,..,l.
26. 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
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.
27. 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
29. 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.
30. 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.
33. 11.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.
34. 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 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.
35. Dado 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.
37. 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
D2 ƒ(x) = 6 0
0 6x2 - 3
sólo es positiva definida en x* = (0,1), de modo que x*
es un mínimo local del problema.
38. 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).
39. Decimos 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:
x2 ∇ƒ(x)
d
x^
- ∇ƒ(x)
Z=10 Z=20
x1
40. 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^.
41. Algoritmo general de descenso
1 Considere un punto inicial x=x°. Hacer k=0.
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) < ƒ(xk) = g(0)
4 Hacer xk+1 = xk + αkdk.
5 Hacer un test de convergencia. Si converge stop.
En caso contrario, hacer k=k+1 y volver a 2.
42. 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:
43. Mé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 x= -∇ƒ(xk)
44. Ejemplo.Considerar el problema:
Min ( x 1 − 2 ) 4 + ( x1 − x 2 ) 2
x
s . a .
1 ∈ IR 2
x
2
que resolvemos usando el método del descenso más
pronunciado a partir del punto x10 = 0, x20 = 3.
46. Otra 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.
47. Al aplicar el método al ejemplo anterior se tiene:
Iteración k ƒ(xk) ∇ ƒ(xk)
1 (0.00,3.00) (-44.00,24.00)
52.00
2 (0.67,0.33) (-9.39,-0.04)
3.13
3 (1.11,0.56) (-2.84,-0.04)
0.63
4 (1.41,0.70) (-0.80,-0.04)
0.12
5 (1.61,0.80) (-0.22,-0.04)
0.02
6 (1.74,0.87) (-0.07,0.00)
0.005
7 (1.83,0.91) (0.0003,-0.04)
0.0009
48. 11.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 idel1problema P) ssi:
g i ( x ) = b = ,..., m
i
∇ g ( x ), ∇ g ( x ),....., ∇ g m ( x )
1 ˆ 2 ˆ ˆ
son vectores l.i.
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):
m
L( x , λ ) = f ( x ) + ∑ λ i ( g i ( x ) − bi )
i = 1
50. Donde λ = ( λ 1 , λ 2 ,...., λ m ) trepresenta 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.
51. Teorema (Condiciones necesarias de primer orden):
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:
m
∇ x L( x , λˆ ) = ∇ f ( x ) + ∑ λˆ ∇ g ( x ) = 0
ˆ ˆ i i ˆ
i=1
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:
m
ˆ ˆ ˆ ˆ
∇ x L( x , λ ) = ∇ f ( x ) + ∑ λ ∇ g ( x ) = 0
i i ˆ
i=1
m
2
ˆ ˆ
L( x,λ ) = D f ( x ) + ∑ λi D 2 g i ( X )
ˆ ˆ ˆ
i=1
es una matriz positiva definida entonces x^ es un mínimo
local de P).
53. Ejemplo: Min. x12 + x2
2
s.a. x + x = 4
1 2
x
1
∈ IR
2
x
2
Buscamos x* usando las condiciones de Optimalidad:
f ( x) = x 2 + x 2 ; m=1 h ( x) = x + x = 4
1 2 1 1 2
∇ f ( x ) = ( 2 x ,2 x )T así: ∇ h ( x ) = (1 1 )T
1 2 1
2 0 0 0
D 2 f (x) = D 2h ( x ) =
0 2 0 0
54. Luego las condiciones de primer orden son:
2x + λ = 0
1 1
2x + λ = 0
2 1
x + x − 4 = 0 ( Factibilidad)
1 2
Resolviendo el sistema : x1=x2=2; λ1=-4, luego por
existencia de la solución óptima de P) se tiene:
x1=2 x2=2 es la solución óptima.
55. De todos modos las condiciones de segundo orden se
cumplen :
2 2 0 0 2 0
L(x *) =
+ λ = ≥ 0 , ∀ x * ∈ IR 2
0 0 0 0 0 2
Notar que en x* se tiene: m
− ∇ f (x * ) = ∑ λ *∇ h ( x * )
i i
i =1
T T
(− 4 − 4 ) = − 4 (1 1 )
56. 11.5 Problemas con restricciones de igualdad y desigualdad.
Por último consideramos un problema general de
optimización:
P) Min. f(x)
s.a. g ( x ) = b , i = 1, 2,...., m.
i i
h ( x ) = d , j = 1, 2,.., l .
j j
En este caso decimos que ˆ es un punto regular de las
restricciones del problema ssi:
x
g ( x) = b ,i =1,..., m.
ˆ ∇g ( x)+∇g ( x),..,∇gm( x),∇h ( x),
ˆ ˆ ˆ j ˆ
i i 1 2 vectores l.i
vectores l.i
h j ( x)≤d j , j =1,...,l.
ˆ
j∈J = j / h j ( x)=d j
ˆ
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 x ˆ
punto regular de P) y
mínimo local del problema, entonces existen multiplicadores
de lagrange: y λ ,...., λ m ,
1
u ≥ 0 , u ≥ 0 ,..., u ≥ 0 :
1 2 l
m l
∇ f (x)+ ∑ λ ∇ g (x)+
ˆ ˆ ∑ u ∇ h j (x) = 0
ˆ
i i j
i=1 J =1
u (h ( x ) − d ) = 0, j = 1, 2 ,...., l
j j j
58. 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.
59. 1 Resuelva el problema no restringido. Si el óptimo
satisface todas las restricciones STOP, en caso
contrario, hacer k=1 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 k=L (# total de restricciones) no existe solución
factible. En caso contrario, hacer K= K+1 e ir a paso 2.
60. 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
~ = 5/2
x
1
~ = 1/ 2
x
2
Obtenida al resolver ∇ƒ(x) = 0
61. Claramente, este punto no satisface la restricción
h1(x1,x2) = x1 + 2x2 ≤ 2.
Consideramos entonces activa la restricción, esto es
resolvemos:
∇ f (x , x ) + µ ∇ h (x , x ) = 0
1 2 1 1 1 2
h (x , x ) = 2
1 1 2
Cuya solución es x = 22 / 10 = 11 / 5
ˆ
1
x = − 1 / 10
ˆ
2
µ = − 12 / 5 que no satisface x2 ≥ 0
ˆ
1
62. 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.
63. b) 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.
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 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
65. 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 xLPk.
Todo lo anterior se resume en el siguiente algoritmo:
66. 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
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]}
67. 4 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.
68. Ejemplo.
Min x 2 − 5 x + 2 x 2 − 8 x
1 1 2 2
s .a . 3 x + 2 x ≤ 6
1 2
x ,x ≥ 0
1 2
Iteración Xk-1 ∇ƒ(xk-1) xLPk xk αk
k
1 (0,0) (-5,-8) (0,3) (0,2) 2/3
2 (0,2) (-5,0) (2,0) (5/6,7/6) 5/12
69. Direcciones electrónicas en Programación no Lineal
•Preguntas de consulta frecuente en Programación No Lineal:
http://www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq.html
•Servidor NEOS, guía de software de Programación No Lineal:
http://www-
fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/unconstropt.html
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/constropt .html
•Servidor Neos, ejemplo de carteras de inversión:
http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/port/index.html
•Guía de software de Programación No Lineal en revista OR&MS
Today (INFORMS Magazine)
http://lionhrtpub.com/software-surveys.shtml