1 / 120

Optimización de Procesos

Optimización de Procesos. Tier I: Métodos Matemáticos de Optimización. Sección 3: Programación No Lineal. Introducción a la Programación No Lineal.

lena
Download Presentation

Optimización de Procesos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimización de Procesos

  2. Tier I: Métodos Matemáticos de Optimización Sección 3: Programación No Lineal

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

  4. Introducción a la Programación No Lineal • 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.

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

  6. El Gradiente • Repaso del gradiente (): Para una función “f”, de variables x1, x2, …, xn: Ejemplo:

  7. El Hessiano • El Hessiano (2) de f(x1, x2, …, xn) es:

  8. Ejemplo de Hessiano • Ejemplo (de antes):

  9. Optimización No Restringida El procedimiento de optimización para funciones multivariables es: • Resolver el gradiente de la función igual a cero para obtener puntos candidatos. • 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.

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

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

  12. Matriz de Ejemplo Dada la matriz A: Los eigenvalores de A son: Esta matriz es un negativo definitivo

  13. 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:

  14. Ejemplo de NLP No Restringida A continuación, igualamos el gradiente a cero: Entonces, tenemos un sistema de 3 ecuaciones y 3 incógnitas. Cuando resolvemos, obtenemos:

  15. Ejemplo de NLP No Restringida Así tenemos solo un punto candidato para verificar. Encuentra el Hessiano:

  16. Ejemplo de NLP No Restringida Los eigenvalores de esta matriz son: Todos los eigenvalores son > 0, entonces el Hessiano es un positivo definitivo. Entonces, el punto es un mínimo

  17. Ejemplo de NLP No Restringida 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.

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

  19. Método de Solución • 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.

  20. 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: donde k es la iteración actual. La iteración se continua hasta que |xk+1 – xk| <e donde e es la tolerancia especificada.

  21. 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*. Tangente de f(x) en xk x x* xk xk+1 f(x)

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

  23. 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. Donde xc estará entre xa y xb. El siguiente intervalo será xc y xa o xb, cualquiera que tenga el signo opuesto a xc.

  24. 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. f(x) xc xa x x* xb

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

  26. Optimización Multivariable • Ahora consideraremos la optimización multivariable no restringida • Casi todos los métodos de optimización multivariable hacen lo siguiente: • Eligen una dirección de búsqueda dk • Minimizan a lo largo de esa dirección para encontrar un nuevo punto: donde k es el número de iteración actual y ak es un escalar positivo llamado tamaño de paso.

  27. El Tamaño de Paso • El tamaño de paso, ak, es calculado de la siguiente manera: • Queremos minimizar la función f(xk+1) = f(xk +akdk) donde la única variable es ak porque xk y dk son conocidas. • Establecemos y resolvemos para ak usando un método de solución de una sola variable como los mostrados previamente.

  28. 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: for Entonces,

  29. 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 x2 f(x) = 5 -f(xk) f(x) = 20 f(xk) xk f(x) = 25 x1

  30. Pasos del Método de Descenso Más Inclinado Los pasos del Método de Descenso más Inclinado son: • Elige un punto inicial x0 • Calcula el gradiente f(xk) donde k es el número de iteración • Calcula el vector de búsqueda: • Calcula la siguiente x:Usa un método de optimización de una variable para determinar ak.

  31. Pasos del Método de Descenso Más Inclinado • Para determinar la convergencia, usa alguna tolerancia dada e1 y evalúa:para convergencia O, usa otra tolerancia e2 y evalúa:para convergencia

  32. 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:

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

  34. Ejemplo del Método de Descenso Más Inclinado Ahora, necesitamos determinar a0

  35. Ejemplo del Método de Descenso Más Inclinado A continuación, iguala a cero y resuelve:

  36. Ejemplo del Método de Descenso Más Inclinado Entonces,

  37. Ejemplo del Método de Descenso Más Inclinado Toma el gradiente negativo para encontrar la siguiente dirección de búsqueda:

  38. Ejemplo del Método de Descenso Más Inclinado Actualiza la fórmula de iteración:

  39. Ejemplo del Método de Descenso Más Inclinado Insertala en la función original y toma la derivada para encontrar a1:

  40. Ejemplo del Método de Descenso Más Inclinado Ahora podemos igualar la derivada a cero y resolver para a1:

  41. Ejemplo del Método de Descenso Más Inclinado Ahora, calcula x2:

  42. Ejemplo del Método de Descenso Más Inclinado Así,

  43. Ejemplo del Método de Descenso Más Inclinado Encuentra a2: Iguala la derivada a cero y resuelve:

  44. Ejemplo del Método de Descenso Más Inclinado Calcula x3:

  45. Ejemplo del Método de Descenso Más Inclinado Encuentra la siguiente dirección de búsqueda:

  46. Ejemplo del Método de Descenso Más Inclinado Encuentra a3:

  47. Ejemplo del Método de Descenso Más Inclinado Entonces, x4 se convierte en:

  48. Ejemplo del Método de Descenso Más Inclinado La siguiente dirección de búsqueda:

  49. Ejemplo del Método de Descenso Más Inclinado Encuentra a4:

  50. Ejemplo del Método de Descenso Más Inclinado Actualiza para x5:

More Related