Optimizaci´on en Ingenier´ıa -...

29
Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Optimizaci´ on en Ingenier´ ıa Dr. Carlos A. Coello Coello Departamento de Computaci´ on CINVESTAV-IPN Av. IPN No. 2508 Col. San Pedro Zacatenco exico, D.F. 07300 email: [email protected] Clase No. 6 2009

Transcript of Optimizaci´on en Ingenier´ıa -...

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Optimización en Ingenieŕıa

    Dr. Carlos A. Coello Coello

    Departamento de Computación

    CINVESTAV-IPN

    Av. IPN No. 2508

    Col. San Pedro Zacatenco

    México, D.F. 07300

    email: [email protected]

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Métodos para Optimizar Funciones de

    Varias Variables Sin Restricciones

    Procederemos ahora a estudiar métodos para optimizar funcionesde varias variables. Es importante destacar que aunque es un tantoinusual encontrar problemas reales de ingenieŕıa que no tenganrestricciones, estudiar este tipo de problemas es importante porvarias razones:

    1. Las restricciones no tienen una influencia significativa enalgunos problemas de ingenieŕıa.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Métodos para Optimizar Funciones de

    Varias Variables Sin Restricciones

    2. Algunos de los métodos de optimización más poderosos yrobustos para resolver problemas con restricciones requieren deluso de técnicas de minimización sin restricciones.

    3. El estudio de técnicas de minimización sin restriccionesproporciona las bases necesarias para el estudio de los métodosque pueden lidiar con restricciones.

    4. Algunos problemas complejos de análisis en ingenieŕıa puedenresolverse usando técnicas de minimización sin restricciones.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Antes de estudiar los diferentes métodos de optimización existentespara funciones de varias variables sin restricciones, veremos algunosconceptos básicos que nos llevarán a determinar las condicionesnecesarias y suficientes de optimalidad en este contexto.

    Con la ayuda de algunos conceptos y resultados de cálculo yálgebra lineal, abordaremos la denominada pregunta estática.Esto es, examinaremos las condiciones que nos permitan (en lascircunstancias más generales posibles) caracterizar un óptimo.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Usaremos luego estas condiciones para evaluar solucionescandidatas y ver si son o no mı́nimos, máximos, puntos de paso(saddle points) o ninguno de éstos. En este proceso, no estaremosinteresados en la generación de soluciones candidatas, sino endeterminar si éstas resuelven el siguiente problema:

    Min f(x), x ∈ RN (1)

    en la ausencia de restricciones sobre x, donde x es un vector devariables de decisión y f es una función objetivo escalar. Suelesuponerse que xi (i = 1, 2, . . . , N) puede tomar cualquier valor,aunque en muchas aplicaciones prácticas, x debe seleccionarse deun conjunto discreto.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Además, resulta también conveniente suponer que f y susderivadas existen y son continuas en todos sus puntos, a pesar deque sabemos que los óptimos pueden localizarse en puntos dediscontinuidad en f o su gradiente:

    ∇f =[

    ∂f

    ∂x1,∂f

    ∂x2, . . .

    ∂f

    ∂xN

    ]T

    (2)

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Es importante indicar que f puede tener su mı́nimo en un punto x̄,donde f sea discontinua o ∇f sea discontinua o no exista. Al menostemporalmente, deberemos descartar estos dos factores queciertamente complican el desarrollo de criterios de optimalidad.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Finalmente, con frecuencia deberemos darnos por satisfechos conidentificar óptimos locales, puesto que la función objetivo no linealf t́ıpicamente será no convexa y, por ende, será multimodal. Porejemplo:

    f(x) =[

    x21 + x2 − 11]

    +[

    x1 + x22 − 7]2

    (3)

    Esta función tiene 4 mı́nimos distintos (ver acetato siguiente).

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Conceptos Básicos

    Posteriormente, procederemos a examinar la pregunta dinámica:dado x(0), un punto que no satisface el criterio de optimalidadantes mencionado, ¿cuál es un “buen” estimado de x(1) de lasolución x∗? Esto es lo que estudiaremos en esta parte del curso.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Procederemos a desarrollar condiciones o pruebas que nospermitirán caracterizar (o sea, clasificar) puntos en el espacio dediseño. Examinamos criterios de optimalidad básicamente por 2razones:

    1. Se necesitan para reconocer soluciones.

    2. Constituyen la motivación de la mayoŕıa de los métodos queveremos.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Consideremos la expansión de Taylor de una función de variasvariables:

    f(x) = f(x̄) +∇f(x̄)T∆x+ 12

    ∆xT∇2f(x̄)∆x+O3(∆x) (4)

    donde: x̄ = punto actual o expansión en RN .

    ∆x = x− x̄ = el cambio en x.

    ∇f(x̄) = el N-ésimo componente del vector columna de lasprimeras derivadas de f(x) evaluadas en x̄.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    ∇2f(x̄) = Hf (x̄) = la matriz simétrica de N ×N de segundasderivadas parciales de f(x) evaluadas en x̄. Suele denominárselematriz Hessiana. El elemento en la i-ésima fila y j-ésima columnaes ∂

    2f∂xi∂xj

    .

    O3(∆x) = Todos los términos de orden mayor a 2 en ∆x.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Ignoremos los términos de orden superior (es decir, no incluyamosO3(∆x)), y examinemos el cambio en la magnitud del objetivo f(x)correspondiente a cambios arbitrarios en x.

    ∆f(x) = f(x)− f(x̄) = ∇f(x̄)T∆x+ 12

    ∆xT∇2f(x̄)∆x (5)

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Por definición, un mı́nimo es un punto tal que todos los otrospuntos en un cierto vecindario producen un valor más alto de lafunción objetivo. Esto es:

    ∆f = f(x)− f(x̄) ≥ 0 (6)

    El punto x̄ es un mı́nimo global si esta ecuación se cumple paratoda x ∈ RN , y usaremos el śımbolo x∗∗ para denotarlo.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Cuando la ecuación (3) se cumple para algún vecindario δ, esto es,para toda x tal que ||x− x̄|| ≤ δ para alguna δ > 0, entonces x̄ esun mı́nimo local o x∗.

    Cuando

    ∆f = f(x)− f(x̄) ≤ 0 (7)

    entonces x̄ es un máximo, ya sea local o global, como lo definimosantes. Si quitamos la igualdad de las ecuaciones (3) y (4), seproducen puntos mı́nimos y máximos estrictos. Cuando ∆f espositiva, negativa o cero, dependiendo de los puntos cercanos en unvecindario δ, entonces x̄ es un punto de paso (saddle point).

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Retomemos ahora la siguiente ecuación:

    ∆f(x) = ∇f(x̄)T∆x+ 12

    ∆xT∇2f(x̄)∆x (8)

    Recordemos que estamos presuponiendo que f(x), ∇f(x) y ∇2f(x)existen y son continuas para toda x ∈ RN . Por lo tanto, en laecuación (5), para que el signo de ∆f se conozca para valoresarbitrarios de ∆x, ∇f(x̄) debe ser cero; esto es, x̄ debe ser unpunto estacionario.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    De lo contrario, forzaŕıamos a ∆f a ser positiva o negativa,dependiendo del signo de ∇f(x) y ∆x.

    Análogamente, x̄ debe satisfacer las condiciones estacionarias:

    ∇f(x̄) = 0 (9)

    por lo que la ecuación (8) se transforma en:

    ∆f(x) =12

    ∆xT∇2f(x̄)∆x (10)

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Claramente, el signo de ∆f(x) depende de la naturaleza de laforma cuadrática:

    Q(x) = ∆xT∇2f(x̄)∆x (11)

    o

    Q(z) = zTAz (12)

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Usando las definiciones anteriores de álgebra lineal, tenemos:

    A es positivamente definida si para toda z, Q(z) > 0.

    A es positivamente semidefinida si para toda z, Q(z) ≥ 0.

    A es negativamente definida si para toda z, Q(z) < 0.

    A es negativamente semidefinida si para toda z, Q(z) ≤ 0.

    A es indefinida si para alguna z, Q(z) > 0 y para otra z,Q(z) < 0.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Por tanto, el punto estacionario x̄ es un:

    mı́nimo, si ∇2f(x̄) es positivamente definida.

    máximo, si ∇2f(x̄) es negativamente definida.

    punto de paso, si ∇2f(x̄)≥<

    0 es indefinida.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Criterios de Optimalidad

    Por tanto, el punto estacionario x̄ es un:

    mı́nimo, si ∇2f(x̄) es positivamente definida.

    máximo, si ∇2f(x̄) es negativamente definida.

    punto de paso, si ∇2f(x̄)≥<

    0 es indefinida.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Condiciones Necesarias

    Para que x∗ sea un mı́nimo local, es necesario que:

    ∇f(x∗) = 0 (13)

    y que: ∇2f(x∗) sea positivamente semidefinida.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Condiciones Suficientes

    Si:

    ∇f(x∗) = 0 (14)

    y ∇2f(x∗) es positivamente definida, entonces x∗ es un mı́nimolocal aislado de f(x).

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Condiciones de Optimalidad

    T́ıpicamente, deberemos darnos por satisfechos con encontrar unmı́nimo local, pero cuando podemos mostrar que xT∇2f(x)x ≥ 0para toda x, decimos que f(x) es una función convexa y que elmı́nimo local es en realidad el mı́nimo global del problema.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Búsqueda Unidireccional

    Muchas técnicas de optimización para problemas de varias variablesusan técnicas de búsqueda unidireccional sucesivas para encontrarun mı́nimo a lo largo de una cierta dirección de búsqueda. Puestoque usaremos más adelante las búsquedas unidireccionales, esconveniente ilustrar cómo funciona.

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Búsqueda Unidireccional

    Una búsqueda unidireccional es una búsqueda unidimensionalefectuada mediante la comparación de valores funcionales sólo a lolargo de una dirección especificada. Usualmente, una búsquedaunidireccional se efectúa desde un punto x(t) y en una direcciónespecificada s(t). Esto es, sólo se consideran en el proceso debúsqueda aquellos puntos que yacen sobre una ĺınea (en un espacioN -dimensional, donde N es el número de variables de decisión delproblema) que pasa a través del punto x(t) y orientada a lo largo dela dirección de búsqueda s(t).

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Búsqueda Unidireccional

    Cualquier punto arbitrario sobre esa ĺınea puede ser expresadocomo:

    x(α) = x(t) + αs(t) (15)

    El parámetro α es una cantidad escalar que especifica una medidarelativa de distancia del punto x(α) desde x(t). Nótese, sinembargo, que esta expresión es realmente una ecuación vectorialque especifica todas las variables de diseño xi(α).

    Clase No. 6 2009

  • Optimización en Ingenieŕıa Dr. Carlos A. Coello Coello

    Búsqueda Unidireccional

    Por tanto, para un valor dado de α, el punto x(α) puede conocerse.Cualquier valor positivo y negativo de α creará un punto sobre laĺınea deseada. Si α = 0, se obtiene el punto actual x(t).

    Para encontrar el punto mı́nimo sobre la ĺınea especificada,podemos re-escribir la función objetivo multivariable en términosde una sola variable α, sustituyendo cada variable xi por laexpresión xi(α) de la ecuación anterior, y usando uno de losmétodos de optimización para funciones de una sola variable de losvistos anteriormente.

    Clase No. 6 2009