optimización de procesos. click to edit master title style tier i: métodos matemáticos de...
TRANSCRIPT
![Page 1: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/1.jpg)
Optimización deProcesos
![Page 2: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/2.jpg)
Click to edit Master title style
Tier I: Métodos Matemáticos de Optimización
Sección 3:
Programación No Lineal
![Page 3: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/3.jpg)
Click to edit Master title style
Introducción a la Programación No Lineal
• Ya hemos hablado sobre los aspectos básicos de la programación no Lineal (nonlinear programming, NLP) en el capítulo de Introducción cuando consideramos la optimización no restringida.
![Page 4: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/4.jpg)
Click to edit Master title style
• Anteriormente optimizamos funciones no lineales de una variable usando la 1a y 2a derivadas.
• Usaremos el mismo concepto aqui pero ahora extendido a funciones con más de una variable.
Introducción a la Programación No Lineal
![Page 5: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/5.jpg)
Click to edit Master title style
Optimización Multivariable No Restringida
• Para funciones con una variable, usamos la 1a y 2a derivadas.
• Para funciones con múltiples variables, usamos información idéntica que es el gradiente y el Hessiano.
• El gradiente es la primera derivada con respecto a todas las variables, mientras que el Hessiano es el equivalente de la segunda derivada
![Page 6: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/6.jpg)
Click to edit Master title style
El Gradiente
• Repaso del gradiente ():
Para una función “f ”, de variables x1, x2, …, xn:
nx
f
x
f
x
ff
21
Ejemplo: 231
321 )(3)(215 xxxxf
312
22
3 6)(6)(315 xxxxf
![Page 7: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/7.jpg)
Click to edit Master title style
El Hessiano
• El Hessiano (2) de f(x1, x2, …, xn) es:
2
2
2
2
1
2
2
2
22
2
12
21
2
21
2
21
2
2
nnn
n
n
x
f
xx
f
xx
f
xx
f
x
f
xx
fxx
f
xx
f
x
f
f
![Page 8: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/8.jpg)
Click to edit Master title style
Ejemplo de Hessiano
• Ejemplo (de antes):2
313
21 )(3)(215 xxxxf
13
2
32
606
0120
600
xx
x
x
f
312
22
3 6)(6)(315 xxxxf
![Page 9: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/9.jpg)
Click to edit Master title style
Optimización No Restringida
El procedimiento de optimización para funciones multivariables es:
1. Resolver el gradiente de la función igual a cero para obtener puntos candidatos.
2. Obtener el Hessiano de la función y evalúalo en cada uno de los puntos candidatos
• Si el resultado es "positivo definitivo" (será definido después) entonces el punto es un mínimo local.
• Si el resultado es un“negativo definitivo” (será definido después) entonces el punto es un máximo local.
![Page 10: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/10.jpg)
Click to edit Master title style
Positivo/Negativo Definitivo
• Una matriz es un “positivo definitivo” si todos los eigenvalores de la matriz son positivos(> 0)
• Una matriz es un “negativo definitivo” si todos los eigenvalores de la matriz son negativos(< 0)
![Page 11: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/11.jpg)
Click to edit Master title style
Positivo/Negativo Semi-definitivo
• Una matriz es un “positivo semi-definitivo” si todos los eigenvalores son no-negativos (≥ 0)
• Una matriz es un “negativo semi-definitivo” si todos los eigenvalores son no-positivos (≤ 0)
![Page 12: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/12.jpg)
Click to edit Master title style
Matriz de Ejemplo
Dada la matriz A:
211
175
542
A
Los eigenvalores de A son:22 702.31 702.23
Esta matriz es un negativo definitivo
![Page 13: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/13.jpg)
Click to edit Master title style
Ejemplo de NLP No Restringida
Considera el problema:
Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2 – x2x3 + (x3)2 + x3
Primero, encontramos el gradiente con respecto a xi:
1 2
1 2 3
2 3
2 1
2
2 1
x x
f x x x
x x
![Page 14: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/14.jpg)
Click to edit Master title style
A continuación, igualamos el gradiente a cero:
0f
0
0
0
12
2
12
32
321
21
xx
xx
xx
Entonces, tenemos un sistema de 3 ecuaciones y 3 incógnitas. Cuando resolvemos, obtenemos:
1
1
1
3
2
1
x
x
x
x
Ejemplo de NLP No Restringida
![Page 15: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/15.jpg)
Click to edit Master title style
Así tenemos solo un punto candidato para verificar.
Encuentra el Hessiano:
210
121
0122 f
Ejemplo de NLP No Restringida
![Page 16: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/16.jpg)
Click to edit Master title style
Los eigenvalores de esta matriz son:
414.31 586.02 23
Todos los eigenvalores son > 0, entonces el Hessiano es un positivo definitivo.
Entonces, el punto es un mínimo
1
1
1
3
2
1
x
x
x
x
Ejemplo de NLP No Restringida
![Page 17: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/17.jpg)
Click to edit Master title style
A diferencia de la Programación Lineal, a menos que conozcamos la forma de la función a ser minimizada o podamos determinar si es convexa, no podemos decir si este punto es el mínimo global o si hay valores de función más pequeños.
Ejemplo de NLP No Restringida
![Page 18: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/18.jpg)
Click to edit Master title style
Método de Solución
• En el ejemplo previo, cuando igualamos el gradiente a cero, tuvimos un sistema de 3 ecuaciones lineales y 3 incógnitas.
• Para otros problemas, estas ecuaciones pueden ser no lineales.
• Entonces, el problema se puede convertir en un sistema de ecuaciones no lineales, que puede ser muy difícil de resolver.
![Page 19: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/19.jpg)
Click to edit Master title style
• Para evitar esta dificultad, los problemas de NLP son usualmente resuletos numéricamente.
• Ahora veremos ejemplos de métodos numéricos usados para encontrar el punto óptimo para problemas de NLP de una sola variable. Estos y otros métodos pueden ser encontrados en cualquier referencia de métodos numéricos.
Método de Solución
![Page 20: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/20.jpg)
Click to edit Master title style
Método de Newton
Al resolver la ecuación f (x) = 0 para encontrar un mínimo o un máximo, uno puede usar el paso de iteración:
)(
)(''
'1
k
kkk
xf
xfxx
donde k es la iteración actual.
La iteración se continua hasta que |xk+1 – xk| < donde es la tolerancia especificada.
![Page 21: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/21.jpg)
Click to edit Master title style
Diagrama del Método de Newton
El método de Newton aproxima f (x) como una línea recta a xk y obtiene un nuevo punto (xk+1), que es usado para aproximar la función a la siguiente iteración. Esto es llevado a cabo hasta que el nuevo punto es suficientemente cercano a x*.
xx* xk+1 xk
Tangente de f (x) en xk
f (x)
![Page 22: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/22.jpg)
Click to edit Master title style
Comentarios del Método de Newton
• Uno debe asegurar que f (xk+1) < f (xk) para encontrar un mínimo y f (xk+1) > f (xk) para encontrar un máximo.
• Desventajas:– Tanto la primera como la segunda derivada
deben ser calculadas– El valor estimado inicial es muy importante – si
no es suficientemente cercano a la solución, pudiera ser que el método no converja
![Page 23: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/23.jpg)
Click to edit Master title style
Método Regula-Falsi
Este método requiere dos puntos, xa y xb que que agrupan la solución a la ecuaciónf (x) = 0.
)()(
)()(''
'
ab
abbbc
xfxf
xxxfxx
Donde xc estará entre xa y xb. El siguiente intervalo será xc y xa o xb, cualquiera que tenga el signo opuesto a xc.
![Page 24: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/24.jpg)
Click to edit Master title style
Diagrama Regula-Falsi
El método Regula-Falsi aproxima la función f (x) como una línea recta e interpola para encontrar la raíz.
xxa
xb
xc
x*
f (x)
![Page 25: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/25.jpg)
Click to edit Master title style
Comentarios del método Regula-Falsi
• Este método requiere conocimiento inicial de dos puntos que limiten la solución
• Sin embargo, no requiere el cálculo de la segunda derivada
• El Método Regula-Falsi requiere ligeramente más iteraciones para converger que el Método de Newton
![Page 26: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/26.jpg)
Click to edit Master title style
Optimización Multivariable
• Ahora consideraremos la optimización multivariable no restringida
• Casi todos los métodos de optimización multivariable hacen lo siguiente:
1. Eligen una dirección de búsqueda dk
2. Minimizan a lo largo de esa dirección para encontrar un nuevo punto:
donde k es el número de iteración actual y k es un escalar positivo llamado tamaño de paso.
kkkk dxx 1
![Page 27: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/27.jpg)
Click to edit Master title style
El Tamaño de Paso
• El tamaño de paso, k, es calculado de la siguiente manera:
• Queremos minimizar la función f(xk+1) = f(xk +kdk) donde la única variable es k porque xk y dk son conocidas.
• Establecemos y resolvemos
para k usando un método de solución de una
sola variable como los mostrados
previamente.
0
d
d
k
kkkf
dx
![Page 28: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/28.jpg)
Click to edit Master title style
Método de Descenso más Inclinado
• Este método es muy simple – usa el gradiente (para maximización) o el gradiente negativo (para minimización) como la dirección de búsqueda:
)( kk f xd
for
min
max
Entonces, )(1 kkkk f xxx
![Page 29: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/29.jpg)
Click to edit Master title style
Método de Descenso Más Inclinado
• Puesto que el gradiente es la velocidad de cambio de la función en ese punto, usar el gradiente (o gradiente negativo) como la dirección de búsqueda ayuda a reducir el número de iteraciones requeridas
x1
x2 f(x) = 5
f(x) = 20
f(x) = 25
xk
f(xk)
-f(xk)
![Page 30: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/30.jpg)
Click to edit Master title style
Pasos del Método de Descenso Más Inclinado
Los pasos del Método de Descenso más Inclinado son:
1. Elige un punto inicial x0
2. Calcula el gradiente f(xk) donde k es el número de iteración
3. Calcula el vector de búsqueda:
4. Calcula la siguiente x:Usa un método de optimización de una variable para determinar k.
)( kk f xd kkkk dxx 1
![Page 31: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/31.jpg)
Click to edit Master title style
5. Para determinar la convergencia, usa alguna tolerancia dada 1 y evalúa:
para convergencia
O, usa otra tolerancia 2 y evalúa:
para convergencia
11 )()( kk ff xx
2)( kf x
Pasos del Método de Descenso Más Inclinado
![Page 32: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/32.jpg)
Click to edit Master title style
Convergencia
• Estos dos criterios pueden ser usados para cualquiera de los métodos de optimización multivariable discutidos aquí
Recordatorio: La normal de un vector, ||x|| está dada por:
222
21 )()()( n
T xxx xxx
![Page 33: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/33.jpg)
Click to edit Master title style
Ejemplo del Método de Descenso Más Inclinado
Resolvamos el problema anterior con el Método del Descenso Más Inclinado:
Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2 – x2x3 + (x3)2 + x3
Seleccionemos
0
0
00x
![Page 34: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/34.jpg)
Click to edit Master title style
10000001)0(2)( 00 xd f
122)1(2)( 3232121 xxxxxxxf x
101101
101000 01 x
Ahora, necesitamos determinar 0
Ejemplo del Método de Descenso Más Inclinado
![Page 35: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/35.jpg)
Click to edit Master title style
2)(4)( 0
0
1
d
df x
)()(00)1)(()()( 0200201 xf
)(2)(2 020
A continuación, iguala a cero y resuelve:
21
420 2)(4 0
Ejemplo del Método de Descenso Más Inclinado
![Page 36: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/36.jpg)
Click to edit Master title style
Entonces,
101000 01 x
2
10
2
1000
2
10
2
11x
Ejemplo del Método de Descenso Más Inclinado
![Page 37: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/37.jpg)
Click to edit Master title style
110
2
10
2
1011)( 11 xd f
0101 d
Toma el gradiente negativo para encontrar la siguiente dirección de búsqueda:
Ejemplo del Método de Descenso Más Inclinado
![Page 38: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/38.jpg)
Click to edit Master title style
0102
10
2
1 12
x
2
1
2
1 1
Actualiza la fórmula de iteración:
Ejemplo del Método de Descenso Más Inclinado
![Page 39: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/39.jpg)
Click to edit Master title style
1)(2)( 1
1
1
d
df x
2
1
4
1
2
1)()(1
2
1
4
1)( 12112
xf
21)( 121
Insertala en la función original y toma la derivada para encontrar 1:
Ejemplo del Método de Descenso Más Inclinado
![Page 40: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/40.jpg)
Click to edit Master title style
Ahora podemos igualar la derivada a cero y resolver para 1:
211 1)(2 1
Ejemplo del Método de Descenso Más Inclinado
![Page 41: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/41.jpg)
Click to edit Master title style
Ahora, calcula x2:
0102
10
2
1 12
x
0
2
10
2
10
2
1
2
1
2
1
2
12x
Ejemplo del Método de Descenso Más Inclinado
![Page 42: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/42.jpg)
Click to edit Master title style
Así,
11
2
1
2
11
2
1
2
111)( 22 xd f
2
10
2
12d
2
10
2
1
2
1
2
1
2
1 23 x
)1(
2
1
2
1)1(
2
1 22
Ejemplo del Método de Descenso Más Inclinado
![Page 43: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/43.jpg)
Click to edit Master title style
2
3)1(
)( 22
3
d
df x
4
1)1(
2
3)1(
2
1)( 2223 xf
Iguala la derivada a cero y resuelve:
212
2
3)1( 2
Encuentra 2:
Ejemplo del Método de Descenso Más Inclinado
![Page 44: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/44.jpg)
Click to edit Master title style
Calcula x3:
2
10
2
1
2
1
2
1
2
1 23 x
4
10
4
1
2
1
2
1
2
1
4
3
2
1
4
33x
Ejemplo del Método de Descenso Más Inclinado
![Page 45: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/45.jpg)
Click to edit Master title style
0
2
100
2
10)( 33 xd f
0
2
10
4
3
2
1
4
3 34 x
4
3)1(
2
1
4
3 3
Encuentra la siguiente dirección de búsqueda:
Ejemplo del Método de Descenso Más Inclinado
![Page 46: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/46.jpg)
Click to edit Master title style
08
9)1(
2
1)( 33
4
d
df x
2
3)(
2
3)1(
4
1)( 3234 xfEncuentra 3:
4
53
Ejemplo del Método de Descenso Más Inclinado
![Page 47: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/47.jpg)
Click to edit Master title style
Entonces, x4 se convierte en:
0
8
50
4
3
2
1
4
34x
4
3
8
9
4
34x
Ejemplo del Método de Descenso Más Inclinado
![Page 48: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/48.jpg)
Click to edit Master title style
8
5
4
3
8
5
8
5
4
3
8
5)( 44 xd f
8
5
4
3
8
5
4
3
8
9
4
3 45 x
)
2
53(
4
1)
2
3(
4
3)
2
53(
4
1 444
La siguiente dirección de búsqueda:
Ejemplo del Método de Descenso Más Inclinado
![Page 49: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/49.jpg)
Click to edit Master title style
032
43
16
73)( 44
5
d
df x
64
51
32
43)(
32
73)( 4245 xf
146434
Encuentra 4:
Ejemplo del Método de Descenso Más Inclinado
![Page 50: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/50.jpg)
Click to edit Master title style
Actualiza para x5:
8
5
4
3
8
5
146
43
4
3
8
9
4
35x
1168
1091
73
66
1168
10915x
Ejemplo del Método de Descenso Más Inclinado
![Page 51: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/51.jpg)
Click to edit Master title style
Revisemos si el criterio de convergencia es satisfecho
Evalúa ||f(x5)||:
584
21
584
35
584
21)( 5xf
0786.058421
58435
58421)(
2225 xf
Ejemplo del Método de Descenso Más Inclinado
![Page 52: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/52.jpg)
Click to edit Master title style
Entonces, ||f(x5)|| = 0.0786, que es muy pequeña y lo suficientemente cercana a cero para nuestro ejemplo
Nota que la respuesta de
1168
1091
73
66
1168
1091x
es muy cercana al valor deque obtuvimos analíticamente
111* x
Ejemplo del Método de Descenso Más Inclinado
![Page 53: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/53.jpg)
Click to edit Master title style
Funciones Cuadráticas
• Las funciones cuadráticas son importantes para el siguiente método que veremos
• Una función cuadrática puede ser escrita en la forma: xTQx donde x es el vector de variables y Q es una matriz de coeficientes
Ejemplo:
)2(x x2x )(x2
210
121
0122
2212
1
3
2
1
321
x
x
x
xxx
)2(x x2x– 2332
![Page 54: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/54.jpg)
Click to edit Master title style
Método del Gradiente Conjugado
• El Método del Gradiente Conjugado tiene la propiedad de que si f(x) es cuadrática, tomará exactamente n iteraciones para converger, donde n es el número de variables en el vector x
• Aunque funciona especialmente bien con funciones cuadráticas, este método también podrá funcionar con funciones no cuadráticas A
![Page 55: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/55.jpg)
Click to edit Master title style
Pasos del Método del Gradiente Conjugado
1. Elige un punto inicial x0 y calcula f(x0). Deja d0 = -f(x0)
2. Calcula x1 usando:Encuentra 0 realizando optimización de una variable en f(x0 +0d0) usando los métodos discutidos anteriormente. (Observa la ilustración después del algoritmo de explicación)
0001 dxx
![Page 56: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/56.jpg)
Click to edit Master title style
3. Calcula f(x1) y f(x1). La nueva dirección de búsqueda es calculada usando la ecuación:
)()(
)()()(
00
11011
xx
xxdxd
ff
fff
T
T
Esto puede ser generalizado para la iteración kth:
)()(
)()()(
1111
kkT
kkTkkk
ff
fff
xx
xxdxd
Pasos del Método del Gradiente Conjugado
![Page 57: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/57.jpg)
Click to edit Master title style
4. Usa cualquiera de los dos métodos discutidos antes para determinar la tolerancia:
11 )()( kk ff xx
2)( kf x
O,
Pasos del Método del Gradiente Conjugado
![Page 58: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/58.jpg)
Click to edit Master title style
Número de Iteraciones
• Para funciones cuadráticas, este método convergerá en n iteraciones (k = n)
• Para funciones no cuadráticas, después de n iteraciones, el algoritmo se cicla nuevamente con dn+1 convirtiéndose en d0.
![Page 59: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/59.jpg)
Click to edit Master title style
Tamaño de Paso para Funciones Cuadráticas
• Al optimizar el tamaño de paso, podemos aproximar la función a optimizar de la siguiente manera:
)()()()()()( 2
2
1 kkTkkkTkkk ffff dxddxxdx
• Para una función cuadrática, esta no es una aproximación – es exacta
![Page 60: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/60.jpg)
Click to edit Master title style
Tomamos la derivada de la función con respecto a e igualamos a cero:
0)()()()( 2
kkTkkkTkk
ffd
dfdxddx
dx
La solución a esta ecuación es:
kkTk
kkToptk
f
f
dxd
dx
)()(
)(2
,
Tamaño de Paso para Funciones Cuadráticas
![Page 61: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/61.jpg)
Click to edit Master title style
• Entonces, para el problema de optimizar una función cuadrática
kkTk
kkToptk
f
f
dxd
dx
)()(
)(2
,
es el tamaño de paso óptimo.
• Para una función no cuadrática, esta es una aproximación del tamaño de paso óptimo.
Tamaño de Paso para Funciones Cuadráticas
![Page 62: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/62.jpg)
Click to edit Master title style
Método Multivariable de Newton
Podemos aproximar el gradiente de f a un punto x0 usando:
)()()()( 0020 xxxxx fff
Podemos hacer el lado derecho de la ecuación igual a cero y rearreglar para obtener:
)()( 01020 xxxx ff
![Page 63: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/63.jpg)
Click to edit Master title style
Podemos generalizar esta ecuación para dar una expresión iterativa del Método de Newton:
)()(121 kkkk ff xxxx
donde k es el número de iteración
Método Multivariable de Newton
![Page 64: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/64.jpg)
Click to edit Master title style
Pasos del Método de Newton
1. Elige un punto inicial, x0
2. Calcula f(xk) y 2f(xk)
3. Calcula la siguiente x usando la ecuación
4. Usa cualquiera de los criterios de convergencia discutidos anteriormente para determinar la convergencia. Si no ha convergido, regresa al paso 2.
)()(121 kkkk ff xxxx
![Page 65: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/65.jpg)
Click to edit Master title style
Comentarios del Método de Newton
• Podemos ver que a diferencia de los dos métodos previos, el Método de Newton usa ambos, el gradiente y el Hessiano
• Esto usualmente reduce el número de iteraciones requerido, pero aumenta el cálculo necesitado para cada iteración
• De esta manera, para funciones muy complejas, un método más simple es por lo general más rápido
![Page 66: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/66.jpg)
Click to edit Master title style
Ejemplo del Método de Newton
Como ejemplo, usaremos el mismo problema que antes:
Minimizar f(x1, x2, x3) = (x1)2 + x1(1 – x2) + (x2)2 – x2x3 + (x3)2 + x3
12212)( 3232121 xxxxxxxf x
![Page 67: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/67.jpg)
Click to edit Master title style
El Hessiano es:
210
121
012
)(2 xf
Y necesitaremos el inverso del Hessiano:
43
21
41
2112
14
12
14
3
210
121
012
)(
1
12 xf
Ejemplo del Método de Newton
![Page 68: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/68.jpg)
Click to edit Master title style
Entonces, elige
0
0
00x
Calcula el gradiente para la 1a iteración:
100000100)( 0 xf
101)( 0 xf
Ejemplo del Método de Newton
![Page 69: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/69.jpg)
Click to edit Master title style
Así, la nueva x es:11 0 2 0 0( ) ( )
3 1 14 2 40 1
1 1 0 1 02 20 131 1
4 2 4
f f
x x x x
1
1
11x
Ejemplo del Método de Newton
![Page 70: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/70.jpg)
Click to edit Master title style
Ahora calcula el nuevo gradiente:
000121121112)( 1 xf
Puesto que el gradiente es cero, el método ha convergido
Ejemplo del Método de Newton
![Page 71: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/71.jpg)
Click to edit Master title style
Comentarios del Ejemplo
• Puesto que usa la 2a derivada, el Método de Newton modela funciones cuadráticas exactamente y puede encontrar el punto óptimo en una iteración.
• Si la función hubiera sido de mayor orden, el Hessiano no hubiera sido constante y se hubiera requerido mucho más trabajo para calcular el Hessiano y tomar el inverso para cada iteración.
![Page 72: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/72.jpg)
Click to edit Master title style
Optimización Restringida No Lineal
• Previamente en este capítulo, resolvimos problemas de NLP que solo tenían funciones objetivo, sin restricciones.
• Ahora veremos métodos sobre como resolver problemas que incluyen restricciones.
![Page 73: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/73.jpg)
Click to edit Master title style
NLP con Restricciones de Igualdad
• Primero, trataremos problemas que solo contienen restricciones de igualdad:
Minimiza f(x) x = [x1 x2 … xn]
Sujeta a: hi(x) = bi i = 1, 2, …, m
![Page 74: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/74.jpg)
Click to edit Master title style
Ilustración
Considera el problema:
Minimiza x1 + x2
Sujeta a: (x1)2 + (x2)2 – 1 = 0
La región factible es un círculo con un radio de uno. Las posibles curvas de función objetivo son lines con pendiente de -1. El mínimo será el punto donde la línea más baja todavía toque el círculo.
![Page 75: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/75.jpg)
Click to edit Master title style
Gráfica de Ilustración
f(x) = 1
f(x) = 0
f(x) = -1.414
Región Factible
707.0
707.0*x
)(xf
El gradiente de f apunta en la dirección de incremento de f
![Page 76: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/76.jpg)
Click to edit Master title style
Más sobre la Gráfica
• Puesto que las líneas de la función objetivo son líneas rectas paralelas, el gradiente de f es una línea recta apuntando en la dirección del incremento de f, que es a la derecha superior
• El gradiente de h estará apuntando fuera del círculo y su dirección dependerá del punto al que el gradiente es evaluado.
![Page 77: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/77.jpg)
Click to edit Master title style
Más Detalles
f(x) = 1
f(x) = 0
f(x) = -1.414
Región Factible
707.0
707.0*x
)( *xh
)( *xf
0
11x
)( 1xf
Plano Tangente
)( 1xhx1
x2
![Page 78: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/78.jpg)
Click to edit Master title style
Conclusiones
• En el punto óptimo, f(x) es perpendicular a h(x)
• Como podemos ver en el punto x1, f(x) no es perpendicular a h(x) y podemos mover (bajar) para mejorar la función objetivo
• Podemos decir que en un max o min, f(x) debe ser perpendicular a h(x) – De otra manera, podemos mejorar la función
objetivo cambiando de posición
![Page 79: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/79.jpg)
Click to edit Master title style
Condiciones Necesarias de Primer Orden
Entonces, para que un punto sea un mínimo (o un máximo), debe satisfacer la siguiente ecuación:
Esta ecuación significa que f(x*) y h(x*) deben estar exactamente en direcciones opuestas en un punto mínimo o máximo
0)()( *** xx hf
![Page 80: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/80.jpg)
Click to edit Master title style
La función Lagrangiano
Para ayudar al usar este hecho, introducimos la Función Lagrangiano, L(x,):
)()(),( xxx hfL
Repaso: La notación x f(x,y) significa el gradiente de f con respecto a x.
Entonces, )()(),( xxx xxx hfL
![Page 81: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/81.jpg)
Click to edit Master title style
y para asegurar la factibilidad.0)( * xh
Condiciones Necesarias de Primer Orden
• Así, usando la nueva notación para expresar las Condiciones Necesarias de Primer Orden (First Order Necessary Conditions, FONC), si x* es un mínimo (o máximo) entonces
0),( ** ,
xx xL
![Page 82: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/82.jpg)
Click to edit Master title style
• Otra manera de verlo es que una Función Lagrangiano incluye toda la información sobre nuestro problema
• Entonces, podemos tratar el Lagrangiano como un problema de optimización no restringida con variables x1, x2, …, xn y 1, 2, …, m.
Podemos resolverlo al resolver las ecuaciones 0
x
L
& 0λ
L
Condiciones Necesarias de Primer Orden (FONC)
![Page 83: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/83.jpg)
Click to edit Master title style
Usando las FONC
Usando las FONC para el ejemplo previo,
)()(),( xxx hfL 12
22
121 xxxx
0
0),(
2
1
xL
xL
Lx x
Y la primera ecuación FONC es:
![Page 84: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/84.jpg)
Click to edit Master title style
Ejemplo de FONC
Esto se vuelve:
&
021 11
xx
L
021 22
xx
L
La ecuación de factibilidad es:
o,
0122
21 xx
0122
21
xxL
![Page 85: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/85.jpg)
Click to edit Master title style
Entonces, tenemos tres ecuaciones y tres incógnitas.
Cuando se resuelven simultáneamente, obtenemos
707.021 xx & 707.0
Podemos ver de la gráfica que x1 y x2 positivas corresponden a un máximo, mientras que x1 y x2 negativas corresponden a un mínimo.
Ejemplo de FONC
![Page 86: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/86.jpg)
Click to edit Master title style
Observaciones de FONC
• Si regresas al capítulo de LP y revisas la definición matemática de las condiciones KKT, puedes notar que se parecen a las FONC que acabamos de usar
• Esto se debe a que es el mismo concepto
• Simplemente usamos una derivación ligeramente diferente esta vez, pero obtuvimos el mismo resultado
![Page 87: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/87.jpg)
Click to edit Master title style
Limitaciones de FONC
• Las FONC no garantizan que las soluciones será mínimos/máximos.
• Como en el caso de la optimización no restringida, solo proveen puntos candidatos que deben ser verificados por las condiciones de segundo orden.
• Solo si el problema es convexo las FONC garantizan que las soluciones serán puntos extremos.
![Page 88: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/88.jpg)
Click to edit Master title style
Condiciones Necesarias de Segundo Orden
(Second Order Necessary Conditions, SONC)
Para donde
y para cualquier y
donde
)()(),( 222 xxx hfLx ),(2 xLx
0y
x
xyxJ
x
)(
1
*
*
)(m
hh
h
Si x*es un mínimo local, entonces
0),( *2 yxy LxT
![Page 89: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/89.jpg)
Click to edit Master title style
Condiciones Suficientes de Segundo Orden
(Second Order Sufficient Conditions, SOSC)
• y puede considerarse como un plano tangente tal como en el ejemplo gráfico mostrado anteriormente– Jh es solo el gradiente de cada ecuación h(x) y
vimos en el ejemplo que el plano tangente debe ser perpendicular a h(x) y por esa razón
0),( *2 yxy LxT
0yJ )(xh
![Page 90: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/90.jpg)
Click to edit Master title style
El Vector y
x1
x3
x2
Plano Tangente (todos los vectores
y posibles))(xh
0)( xh
*x
El plano tangente es la ubicación de todos los vectores y y se intersecta con x*
Debe ser ortogonal (perpendicular) a h(x)
![Page 91: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/91.jpg)
Click to edit Master title style
Problemas de Maximización• Las definiciones previas de SONC y SOSC
son para problemas de minimización• Para problemas de maximización, el sentido
del signo de desigualdad debe ser invertido
Para problemas de maximización:
SONC:
SOSC: 0),( *2 yxy LxT
0),( *2 yxy LxT
![Page 92: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/92.jpg)
Click to edit Master title style
• Las condiciones necesarias son requeridas para que un punto sea un extremo pero incluso si son satisfechas, no garantizan que el punto es un extremo.
• Si las condiciones suficientes son reales, entonces se garantiza que el punto es un extremo. Pero si no se satisfacen, no significa que el punto no es un extremo.
Necesario y Suficiente
![Page 93: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/93.jpg)
Click to edit Master title style
Procedimiento
1. Resuelve las FONC para obtener puntos candidatos.
2. Prueba los puntos candidatos con las SONC
– Elimina cualquier punto que no satisfaga las SONC
3. Prueba los puntos restantes con las SOSC– Los puntos que las satisfacen son min/max’s – Para los puntos que no las satisfacen, no
podemos decir si son puntos extremos o no
![Page 94: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/94.jpg)
Click to edit Master title style
Problemas con Restricciones de Desigualdad
Consideraremos problemas como:
Minimiza f(x)
Sujeta a: hi(x) = 0 i = 1, …, m
y gj(x) ≤ 0 j = 1, …, p
Una restricción de desigualdad, gj(x) ≤ 0 es llamada “activa” en x* si gj(x*) = 0.Dejemos que el grupo I(x*) contenga todos los índices de las restricciones activas en x*:
0)( * xjg Para todo j en el grupo I(x*)
![Page 95: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/95.jpg)
Click to edit Master title style
Lagrangianos para Problemas con Restricciones de Igualdad y
DesigualdadEl Lagrangiano está escrito:
Usamos ’s para las igualdades y ’s para las desigualdades.
p
jjji
m
ii ghfL
11
)()()(),,( xxxμλx
![Page 96: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/96.jpg)
Click to edit Master title style
FONC para Restricciones de Igualdad y Desigualdad
Para el Lagrangiano general, las FONC se vuelven
p
jjji
m
ii ghfL
1
*
1
* *)(*)(*)(*)*,*,( 0xxxμλx
y la condición de soltura complementaria:
,0)( ** xjj g,0* j pj ,1
![Page 97: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/97.jpg)
Click to edit Master title style
SONC para Restricciones de Igualdad y Desigualdad
Las SONC (para un problema de minimización) son:
donde como antes.
0yxy x ),,( ***2 LT
0yxJ )( *
Ahora, J(x*) es la matriz de los gradientes de todas las restricciones de igualdad y solo las restricciones de desigualdad que están activas en x*.
![Page 98: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/98.jpg)
Click to edit Master title style
SOSC para Restricciones de Igualdad y Desigualdad
• Las SOSC para un problema de minimización con restricciones de igualdad y desigualdad son:
0yxy ),,( ***2 LxT
![Page 99: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/99.jpg)
Click to edit Master title style
Ejemplo de Lagrangiano Generalizado
• Resuelve el problema:
Minimizar f(x) = (x1 – 1)2 + (x2)2
Sujeta a: h(x) = (x1)2 + (x2)2 + x1 + x2 = 0
g(x) = x1 – (x2)2 ≤ 0
El Lagrangiano para este problema es: 21
221
22
21 2)1(),,( xxxxxxL x
221 xx
![Page 100: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/100.jpg)
Click to edit Master title style
• Las condiciones necesarias de primer orden:
0212 111
xxx
L
0222 2222
xxxx
L
0212
22
1
xxxxL
0221 xx
Ejemplo de Lagrangiano Generalizado
![Page 101: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/101.jpg)
Click to edit Master title style
Resolviendo las 4 ecuaciones FONC, obtenemos 2 soluciones:
4534.0
2056.0)1(x 9537.045.0 &
y
0
0)2(x 20 &2)
1)
Ejemplo de Lagrangiano Generalizado
![Page 102: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/102.jpg)
Click to edit Master title style
Ahora trabaja las SONC en la 1a solución:
Tanto h(x) como g(x) están activas en este punto (ambas son iguales a cero). Entonces, el Jacobiano es el gradiente de ambas funciones evaluado en x(1):
9068.01
0932.0411.1
21
1212
)1(2
211
x
xJx
xx
Ejemplo de Lagrangiano Generalizado
![Page 103: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/103.jpg)
Click to edit Master title style
La única solución a la ecuación:
0yxJ )( )1(
es:
00
00y
Y el Hessiano del Lagrangiano es:
993.00
09.2
2220
022
)1(
2
x
x
L
Ejemplo de Lagrangiano Generalizado
![Page 104: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/104.jpg)
Click to edit Master title style
Entonces, la ecuación SONC es:
0
00
00
00
00
993.00
09.2
00
00
Esta desigualdad es verdadera, entonces la SONC es satisfecha para x(1) y aún es un punto candidato.
Ejemplo de Lagrangiano Generalizado
![Page 105: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/105.jpg)
Click to edit Master title style
La ecuación SOSC es:
Y solo calculamos el lado izquierdo de la ecuación para ser la matriz cero. Entonces, en nuestro caso para x2:
0yxy x ),,( ***2 LT
0yyxx
00
00)1(
2LT
Así, las SOSC no son satisfechas.
Ejemplo de Lagrangiano Generalizado
![Page 106: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/106.jpg)
Click to edit Master title style
Para la segunda solución:
Nuevamente, tanto h(x) como g(x) son activos en este punto. Entonces, el Jacobiano es:
01
11
21
1212
)2(2
21)2(
x
xJx
xx
Ejemplo de Lagrangiano Generalizado
![Page 107: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/107.jpg)
Click to edit Master title style
La única solución a la ecuación:
0yxJ )( )2(
es:
00
00y
Y el Hessiano del Lagrangiano es:
20
02
2220
022
)2(
2
x
x
L
Ejemplo de Lagrangiano Generalizado
![Page 108: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/108.jpg)
Click to edit Master title style
Entonces, la ecuación SONC es:
0
00
00
00
00
20
02
00
00
Esta desigualdad es verdadera, entonces la SONC es satisfecha por x(2) y aún es un punto candidato
Ejemplo de Lagrangiano Generalizado
![Page 109: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/109.jpg)
Click to edit Master title style
La ecuación SOSC es:
Y solo calculamos el lado izquierdo de la ecuación para ser la matriz cero. Entonces, en nuestro caso para x2:
0yxy x ),,( ***2 LT
0yyxx
00
00)2(
2LT
Así, las SOSC no son satisfechas.
Ejemplo de Lagrangiano Generalizado
![Page 110: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/110.jpg)
Click to edit Master title style
Conclusiones del Ejemplo
• De esta manera, podemos decir que tanto x(1) como x(2) pueden ser mínimos locales, pero no podemos estar seguros porque las SOSC no son satisfechas para ningún punto.
![Page 111: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/111.jpg)
Click to edit Master title style
Métodos Numéricos
• Como pudiste observar de este ejemplo, el paso más difícil es resolver un sistema de ecuaciones no lineales para obtener los puntos candidatos.
• En vez de tomar gradientes de funciones, solvers automatizados de NLP usan varios métodos para transformar una NLP general en un problema de optimización más fácil.
![Page 112: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/112.jpg)
Click to edit Master title style
Ejemplo de Excel
Resolvamos el ejemplo previo con Excel:
Minimizar f(x) = (x1 – 1)2 + (x2)2
Sujeta a: h(x) = (x1)2 + (x2)2 + x1 + x2 = 0
g(x) = x1 – (x2)2 ≤ 0
![Page 113: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/113.jpg)
Click to edit Master title style
Ejemplo de Excel
Introducimos la función objetivo y las ecuaciones de restricción en la hoja de cálculo:
Variables:x1 x20 0
Valor LímiteFunción Objetivo: =(A3-1) 2̂+B3 2̂
Restricción 1: =A3 2̂+B3 2̂+A3+B3 0Restricción 2: =A3-B3 2̂ 0
![Page 114: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/114.jpg)
Click to edit Master title style
Ahora, abre la ventana de diálogo del solver en el menú Herramientas y especifica el valor de la función objetivo como la celda objetivo y elige la opción Min. Como está escrito, A3 y B3 son las celdas variables. Y las restricciones deben adicionarse – la restricción de igualdad y la restricción ≤.
Ejemplo de Excel
![Page 115: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/115.jpg)
Click to edit Master title style
La ventana del solver debe verse como sigue:
Ejemplo de Excel
![Page 116: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/116.jpg)
Click to edit Master title style
• Este es un modelo no lineal, así que a diferencia de los ejemplos en el último capítulo, no elegiremos "Adoptar Modelo Lineal" en el menú opciones
• También, x1 y x2 no son especificadas como positivas, así que no marcamos la casilla de "Asumir no Negativos"
• Si se desea, la tolerancia puede ser disminuida hasta 0.1%
Ejemplo de Excel
![Page 117: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/117.jpg)
Click to edit Master title style
• Cuando resolvemos el problema, la hoja de cálculo no cambia porque nuestro valor inicial de x1 = 0 y x2 = 0 es una solución óptima, como vimos cuando resolvimos el problema analíticamente.
Ejemplo de Excel
![Page 118: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/118.jpg)
Click to edit Master title style
Sin embargo, si elegimos valores iniciales de -1 para x1 y x2 as, obtenemos la siguiente solución:
Ejemplo de Excel
![Page 119: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/119.jpg)
Click to edit Master title style
Conclusiones
• Entonces, al variar los valores iniciales, podemos obtener los dos puntos candidatos que obtuvimos previamente
• Sin embargo, el solver NLP nos dice que ambos son puntos mínimos locales
![Page 120: Optimización de Procesos. Click to edit Master title style Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal](https://reader035.vdocuments.mx/reader035/viewer/2022062807/5665b4261a28abb57c8f8ddd/html5/thumbnails/120.jpg)
Click to edit Master title style
Referencias
El material de este capítulo ha sido tomado de:
• Optimization of Chemical Processes 2nd Ed.; Edgar, Thomas; David Himmelblau; & Leon Lasdon.