optimizacion-restricciones

download optimizacion-restricciones

of 41

Transcript of optimizacion-restricciones

  • 8/13/2019 optimizacion-restricciones

    1/41

    PROBLEMAS DE OPTIMIZACIN CONRESTRICCIONES.

    PROBLEMA DE PROGRAMACIN NO-

    LINEAL (NLP).

  • 8/13/2019 optimizacion-restricciones

    2/41

    Optimizacin con restricciones

    La presencia de restricciones reduce la regin en la cualbuscamos el ptimo.

    Los criterios de optimalidad vistos hasta ahora no siempre secumplen

    ( ) ( )22xxf = ( ) 2x,0xf ==

    Pero si entonces el mnimo tiene que ser en x=4 y

    este no es un punto estacionario ya que , por tanto noes el punto estacionario de f

    4x

    ( ) 44f' =

  • 8/13/2019 optimizacion-restricciones

    3/41

    Problemas con restricciones de igualdad 1

    ( )

    ( ) K,,1k0x,,x,xh.a.s

    x,,x,xfmin

    N21k

    N21

    KK

    K

    ==

    Mtodo de eliminacin de variables: eliminando, K variables

    independientes, el problema se convierte en un problema sinrestricciones

    La dimensin del problema se reduce de N a N-K

    El problema que se obtiene se puede resolver con cualquieralgoritmo de optimizacin sin restricciones

  • 8/13/2019 optimizacion-restricciones

    4/41

    Problemas con restricciones de igualdad 2

    Ejemplo:

    ( )( ) 01xxxxh.a.s

    xxxxfmin

    3211

    321

    =++==

    Eliminamos x3

    ( ) ( )212121 xx1xxx,xfmin =

    Pero si ( ) 0xxxxxxxh 11

    22323

    211 =++=

    No es posible eliminar ninguna variable explcitamente

    Es necesario encontrar un mtodo que permita manipular

    las restricciones

  • 8/13/2019 optimizacion-restricciones

    5/41

    Problemas con restricciones de igualdad 3

    Mtodo de los multiplicadores de Lagrange: Transforma elproblema original a uno equivalente sin restricciones mediante

    los multiplicadores de Lagrange.

    Minimizar f (x1, x2,..., xN)

    Sujeto a hk (x1, x2,..., xN) = 0 k=1,2,...,K

    Se transforma en:

    Minimizar L(x,v) = f(x) -

    Solucin: encontrar el mnimo de L(x,v) en funcin de v y ajustarv para satisfacer las restricciones. => Se obtiene un sistema deecuaciones cuya solucin es el ptimo de la funcin original.

    =

    K

    iii xhv

    1

    )(

  • 8/13/2019 optimizacion-restricciones

    6/41

    Problemas con restricciones de igualdad 4

    Sistema con N+K ecuaciones y N+K incgnitas (x y v):

    i = 1,..., N

    hk (x) = 0 k=1,... K

    Para saber si es mximo o mnimo se calcula la matrizHessiana de L con respecto a x:

    Si HL(x;v) es definida positiva => mnimo

    Si HL(x;v) es definida negativa => mximo Extendiendo los multiplicadores de Lagrange a restricciones de

    desigualdad, tenemos las condiciones de kuhn-Tucker

    0=i

    xL

  • 8/13/2019 optimizacion-restricciones

    7/41

    Problema de Programacin no-lineal (NLP)

    Se dice que es una restriccin activa en el punto si

    y es inactiva si

    ( )

    ( )( )

    ( )N1

    k

    j

    x,,xx

    K,,1k0xhJ,,1j0xga.s

    xfmin

    K

    K

    K

    =

    == =

    ( ) 0xgj x

    ( ) 0xgj = ( ) 0xgj >

    0)( =xg j

    0)( >xg jUn punto factible es aqul quesatisface las restricciones

    Una regin factible es la zona dondese satisfacen las restricciones

  • 8/13/2019 optimizacion-restricciones

    8/41

    Condiciones de Kuhn-Tucker

    Encontrar los vectores que satisfaga las siguientescondiciones:

    = =

    =J

    1j

    K

    1kkkjj 0)x(h)x(g)x(f

    J,...,2,1j0

    J,...,2,1j0)x(g

    K,...,2,1k0)x(h

    J,...,2,1j0)x(g

    j

    jj

    k

    j

    =

    ==

    ==

    =

    ( ) ( ) ( )K1J11N ,,x

  • 8/13/2019 optimizacion-restricciones

    9/41

    Interpretacin de las condiciones de KT

    ( )

    ( ) K,,1k0xha.s

    xfmin

    k K==

    ( )

    ( ) 0xh

    0xh)x(f

    k

    kkk

    =

    = Condiciones de KT

    ( ) ( ) ( )=k

    kk xhxf;xL Funcin de Lagrange

    ( ) ( )

    ( ) ( ) 0xh

    0xhxf)x(

    kL

    k

    kkL

    ==

    == Condiciones deOptimalidad de primerorden

    Las condiciones de KT son las condiciones de optimalidad de primer

    orden del Problema de Lagrange

  • 8/13/2019 optimizacion-restricciones

    10/41

    Teorema de Necesidad de Primer Orden

    ( )

    ( )

    ( )( )N1k

    j

    x,,xxK,,1k0xh

    J,,1j0xga.s

    xfmin

    K

    K

    K

    = ==

    =

    Sean f, g, y h funciones diferenciables, y x* una solucin factible del problema.

    Sea . Adems y son linealmenteindependientes. Si x* es una solucin ptima del problema entonces existe

    tales que resuelve las condiciones de KT

    ( ) 0xgjI *

    j == ( ) Ijxg *

    j ( )*

    kxh

    ( )**, ( )*** ,,x

    A las condiciones de que y sean linealmente

    independiente en el ptimo se le llama restriccin de cualificacin

    ( ) Ijxg *j ( )*kxh

  • 8/13/2019 optimizacion-restricciones

    11/41

    Restriccin de Cualificacin

    Para algunos problemas de programacin no lineal, adems lasrestricciones de cualificacin se satisfacen cuando:

    1. Todas las restricciones de desigualdad e igualdad son lineales

    2. Cuando todas las restricciones de desigualdad son funcionescncavas y las de igualdad son lineales y existe al menos una

    solucin x factible, estrictamente dentro de la regin factible de lasrestricciones de desigualdad.

    Condicin necesaria: si el punto no cumple las condiciones de

    KT no es ptimo, pero si las cumple puede ser ptimo o no.

    Cuando la restriccin de cualificacin no se alcanza en el

    ptimo, puede que no exista solucin al problema de KT

  • 8/13/2019 optimizacion-restricciones

    12/41

    Teorema de Suficiencia de Primer Orden

    ( )

    ( )

    ( )( )N1

    k

    j

    x,,xxK,,1k0xh

    J,,1j0xga.s

    xfmin

    K

    K

    K

    ===

    =

    Sea la funcin f(x) convexa, las restricciones de desigualdad gj(x) j=1,...,J

    todas cncavas, y las restricciones de igualdad hk(x) k=1,..., K son lineales.

    Si existe una solucin que satisface las condiciones de KT,

    entonces x* es una solucin ptima del problema de NLP.

    ( )*** ,,x

    Condicin suficiente: si x* cumple las condiciones de KT => x*

    es ptimo.

  • 8/13/2019 optimizacion-restricciones

    13/41

    Qu haramos si las funciones no son diferenciables?

  • 8/13/2019 optimizacion-restricciones

    14/41

    Condiciones de ensilladura o punto de inflexin

    Definicin:

    Se dice que una funcin f(x,y) tiene un punto de inflexin en(x*,y*) si:

    Para todas las x y y.

    **** y,xfy,xfy,xf

    X* minimiza la funcin f(x,y*) para todas las x

    y* maximiza la funcin f(x*,y) para todas las y

  • 8/13/2019 optimizacion-restricciones

    15/41

    Problema de punto de silla de KT

    ( )

    ( )

    Sx

    J,,1j0xga.s

    xfmin

    j

    = K

    El problema de punto de silla o de inflexin de Kuhn-Tucker es elsiguiente, encontrar un punto (x* , *) tal que:

    Sx

    0

    ,xL,xL,xL ****

    Donde:

    ( ) ( ) ( )xgxf,xL jj

    j=

  • 8/13/2019 optimizacion-restricciones

    16/41

    Teorema de Suficiencia de Optimalidad

    Si es un punto de inflexin de KT, entonces x* es una solucin al

    problema de programacin no lineal

    **,x

    No se necesita la suposicin de convexidad de las funciones No se invoca la restriccin de cualificacin

    El teorema da la suficiencia. Pudiera existir algunos problemas deprogramacin no lineal, para las cuales no exista un punto de inflexin,

    incluso aunque tenga solucin ptima

  • 8/13/2019 optimizacion-restricciones

    17/41

    Teorema de Necesidad

    Sea x* el valor que minimiza la funcin f(x) sujeta a las restricciones

    . Asumimos que S es un conjunto convexo,f(x) es una funcin convexa, y son funciones cncavas en S.

    Asumimos tambin que existe un punto tal que . Entonces

    existe un vector de multiplicadores tales que sea un

    punto de ensilladura o de inflexin de la funcin de Lagrange

    que satisface:

    ( ) Sx,J,,1j,0xgj = K ( ) 0xgj

    Sx ( ) 0xgj >

    0* **,x

    ( ) ( ) ( )xgxf,xL jj

    j=

    Sx

    0

    ,xL,xL,xL ****

  • 8/13/2019 optimizacion-restricciones

    18/41

    Teorema:

    Una solucin donde y es unpunto de inflexin de KT si y solo si se cumplen lassiguientes condiciones:

    1. X* minimiza a para todas las

    2.

    3.

    ( )**,x 0* Sx*

    *,xL Sx*

    J,,1j,0xg *j K=

    J,,1j,0xgu *jj K==

    Punto de inflexin de KT

  • 8/13/2019 optimizacion-restricciones

    19/41

    ( )

    ( )

    ( )( )N1

    k

    j

    x,,xxK,,1k0xh

    J,,1j0xga.s

    xfmin

    K

    K

    K

    ===

    =

    = =

    =J

    1j

    K

    1kkkjj 0)x(h)x(g)x(f

    J,...,2,1j0

    J,...,2,1j0)x(gK,...,2,1k0)x(h

    J,...,2,1j0)x(g

    j

    jj

    k

    j

    =

    == ==

    =

    Condiciones de KTProblema de PNL

    es una solucin factible al PNL cuando y

    x* es un mn. local del PNL cuando x* es factible y se cumple que

    para todas las soluciones factibles en una pequea vecindad

    x* es un mn. local estricto cuando x* es factible y para todas las solucionesfactibles se cumple que en una pequea vecindad

    Un punto de KT del PNL es un vector que satisface las condiciones

    de KT

    ( ) j,0xgj ( ) k,0xhk =x

    ( ) ( )xfxf *

    *xx

    ( )*x

    ( ) ( )xfxf * < ( )*x

    ),,x( ***

  • 8/13/2019 optimizacion-restricciones

    20/41

    Teorema de Necesidad de Segundo Orden

    Consideramos el problema de PNL, y sean f, g y h, funciones dos veces

    diferenciables, y sea x* factible para el problema. Sea el

    conjunto de las restricciones activas en x*. Tambin se asume que

    y son linealmente independientes. Las condiciones

    necesarias para que x* sea un mnimo local al problema son:

    ( ) 0xgjI *j ==

    ( ) Ijxg *j ( )*kxh

    1. Existen unos multiplicadores tales que sea un pto. KT

    2. Para cualquier vector se satisface que:

    ( )**, ( )*** ,,x

    ( )N1y

    ( ) K,,1k0yxh

    Ij0yxg

    *k

    *j

    K==

    =

    ( ) 0y,,xHy ***

    L

    T

    ( ) ( ) ( ) ( ) = =

    =J

    1j

    K

    1kkkjj xhxgxf,,xL

    HL es el Hessiano de la funcin de Lagrange respecto a x y evaluado en()* * *, , x

  • 8/13/2019 optimizacion-restricciones

    21/41

    Teorema de Suficiencia de Segundo Orden

    Las condiciones suficientes para que el punto x* sea un mnimo local estricto delproblema PNL, donde f, g y h son doblemente diferenciables son las sgtes.

    1. Existen unos multiplicadores tales que sean un pto. de KT

    2. Para cualquier vector que satisface:

    ( )**, ( )*** ,,x

    ( ) 0y N1

    ( ) ( ) 0,0xgjIj0yxg *j*j1*j >===

    ( ) ( ) 0,0xgjIj0yxg *j*j2*j ===

    ( ) K,,1k0yxh *k K==

    ( ) 0y,,xHy ***

    LT

    >

  • 8/13/2019 optimizacion-restricciones

    22/41

    Funciones de Penalizacin 1

    ( )

    ( )

    ( )( ) ( )

    Nixxx

    Kkxh

    Jjxgas

    Rxxf

    uii

    li

    k

    j

    N

    ,,2,1

    ,,2,10

    ,,2,10..

    min

    K

    K

    K

    =

    ==

    =

    El problema original se convierte en un problema sin restriccionesmediante una funcin de penalizacin

    ( ) ( ) ( ) ( )( )xh,xg,RxfR,xP +=

    R es el conjunto de los parmetros de penalizacin

    es una funcin de R y las funciones de restriccin.

  • 8/13/2019 optimizacion-restricciones

    23/41

    Funciones de Penalizacin 2

    Caractersticas de la transformacin: La solucin del problema debe aproximarse a la solucin del

    problema de NLP:

    El problema de minimizar P(x,R) debe ser similar en

    dificultad a minimizar f(x) R(t+1) = F(R(t)) debe ser simple.

    Dos tipos de transformaciones:

    Mtodos barrera o forma interior: todos los puntosgenerados son factibles Mtodos de forma exterior: los puntos generados son no

    factibles.

    *)t(

    Ttxxlim =

  • 8/13/2019 optimizacion-restricciones

    24/41

    Funciones de Penalizacin 3

    Funcin parablica Operador de bracket

    ( ){ }

    2

    xhR= ( ) 2

    xgR=

    >

    =

    0si0

    0siMtodos de forma exterior:puntos generados son no factibles

  • 8/13/2019 optimizacion-restricciones

    25/41

    Ejemplo con restricciones de igualdad 1

    En este caso R=1

    x(t)=[3,3]T

    f(x(t))=2. h(x(t)) =1

  • 8/13/2019 optimizacion-restricciones

    26/41

    Ejemplo con restricciones de igualdad 2

    En este caso R=100

    x(t)=[2.5075,2.5075]T

    f(x(t))=4.477 h(x(t)) =0.015

    En este caso R=10

    x(t)=[2.5714, 2.5714]T

    f(x(t))=4.0818; h(x(t)) =0.1428

  • 8/13/2019 optimizacion-restricciones

    27/41

    Ejemplo con restricciones de desigualdad 1

    En este caso R=1

    x(t)=[3,3]T

    f(x(t)

    )=2 g(x(t)

    ) =-1

    En este caso R=10

    x(t)=[2.75,2.75]T

    f(x(t))=3.125 g(x(t)) = -0.5

  • 8/13/2019 optimizacion-restricciones

    28/41

    Ejemplo con restricciones de desigualdad 2

    En este caso R=100

    x(t)=[2.5075,2.5075]T

    f(x(t))=4.4550 g(x(t)) = -0.015

  • 8/13/2019 optimizacion-restricciones

    29/41

    Funciones de penalizacin 4

    Logaritmica: Barrera infinita:

    con gj(x)

  • 8/13/2019 optimizacion-restricciones

    30/41

    Funciones de penalizacin 5

    Algoritmo:

    1.- Definir 1, 2, 3 => condiciones de terminacin parala bsqueda lineal, vectorial y penalizacin. X0 y R0

    2.- P(x,R) = f(x) + (R, g(x), h(x))

    3.- Encontrar xk+1

    / P(xk+1

    , Rk

    ) sea mnimo con Rk

    fijo.Terminar con 2.

    4.- | P(xk+1, Rk) P (xk , Rk-1) | 3 ? Si => xk+1 = x* Parar

    No => continuar

    5.- Elegir Rk+1 = Rk + Rk y volver al paso 2.

  • 8/13/2019 optimizacion-restricciones

    31/41

    Ejemplo con funciones barrera

    R=100 x(t)=[-1.8, -1.8] f(x(t))=67g(x(t)) =8.612

    R=10 x(t)=[1.5, 1.5] f(x(t))=12.5g(x(t)) =2.0

    R=1 x(t)=[2.3, 2.3] f(x(t))=5.45

    g(x(t)) =0.30

  • 8/13/2019 optimizacion-restricciones

    32/41

    Mtodo del Gradiente Reducido Generalizado

    Si hk(x) son no lineales pero puedes resolverse explcitamente,puede usarse el mtodo de eliminacin de variables:

    h1(x) = 0 => xk= (x1,...,xk-1,xk+1,...,xN) Esto no ocurre en la mayora de los casos, pero se puede hacer

    una aproximacin lineal de la restriccin en torno a un punto x1que s cumpla la restriccin:

    x1 / hk(x1) = 0

    Hk(x; x1) = hk (x1) + hk(x1) (x x1) k=1,..., K

    Utilizamos est aproximacin para encontrar otro punto factible:

    ( )

    ( ) K,,1k0x,,x,xh.a.s

    x,,x,xfmin

    N21k

    N21

    KK

    K

    ==

  • 8/13/2019 optimizacion-restricciones

    33/41

  • 8/13/2019 optimizacion-restricciones

    34/41

    Mtodo GRG 3

    Utilizamos la ltima ecuacin para eliminar k variables de la

    funcin objetivo:

    La funcin objetivo ahora es una funcin sin restricciones de las

    N-K variables no bsicas, y podemos aplicar las condicionesnecesarias para que x1 sea mnimo:

    )),((),(~ 111

    xxxCJxfxxf =

    0~

    =

    x

    f)),((

    ~)(

    ~xxxfxf =

    x

    x

    x

    f

    x

    f

    x

    xf

    +

    =

    ~~)(

    ~

    ])[()()(~ 1111

    CJxfxfxf += Gradiente reducido generalizado

    Mnimo: 0)(~ 1 = xf

  • 8/13/2019 optimizacion-restricciones

    35/41

    Mtodo GRG 4

    Hemos usado linealizaciones de las restricciones para expresarla funcin objetivo como una funcin de N-K variables nobsicas sin restricciones => algoritmo de optimizacin vectorialen torno al punto de linealizacin.

    Algoritmo:

    1.- Calcular 2.- Si Parar

    CJxfxfxf

    kkk 1

    )(

    )()(

    ~

    =Hacer xk+1 = xk + d. Ir al paso 1.

  • 8/13/2019 optimizacion-restricciones

    36/41

    Mtodo GRG 5 La direccin d as generada es descendente, pero los puntos

    generados en esa direccin no tienen por qu ser factibles.

    Para resolver este problema, se calcula y se proyectasobre la superficie definida por el conjunto de restricciones y seminimiza f(x) a lo largo de la curva resultante.

    Encontrar un que cumpla: k=1,...,K

    Si el mtodo converge a un , si nosquedamos con el nuevo punto y seguimos el algoritmo, si no secumple, se disminuye y se repiten las iteraciones de Newton

    d d

    x 0),*( =+ xdxh t

    k

    Mtodo de Newton

    )x

    ,d*x(h*)]x

    ,d*x(J[x

    x ititii

    ++=

    + 11

    x )()( txfxf 0 criterios determinacin y un parmetro de reduccin; 0 <

  • 8/13/2019 optimizacion-restricciones

    38/41

    Algoritmo GRG 2

    b)

    c) Si ir a b)

    Si no: Si | hk (vi ) | 3 k=1,..., K ir a (d)

    Si no = e ir a (a) => el algoritmo deNewton no converge.

    d) Si f(xt ) f(vi), la direccin no es descendente, hacer =

    e ir a (a)Si no: xt+1 = vi e ir al paso 1.

    11 |||| >+ ii vv

    ii

    iiii

    vv

    vhvJvv

    =

    =

    +

    +

    1

    11 )(*)(

  • 8/13/2019 optimizacion-restricciones

    39/41

    Tratamiento de los lmites 1

    1.- Tratamiento explcito como desigualdades. 2.- Implcito: teniendo en cuenta los lmites en los pasos delalgoritmo: 2.1.- Slo las variables alejadas de sus lmites puedes ser

    variables bsicas, se ordenan las variables de acuerdo con ladistancia al lmite ms cercano:

    zi(t) = min {(xiu xit), (xit xiL)}

    Se ordenan las zi en orden decreciente y las k primeras

    variables son las bsicas.

    ( )

    ( )

    ( )( ) ( )

    Nixxx

    Kkxh

    Jjxgas

    Rxxf

    uii

    li

    k

    j

    N

    ,,2,1

    ,,2,10

    ,,2,10..

    min

    K

    K

    K

    =

    ==

    =

  • 8/13/2019 optimizacion-restricciones

    40/41

    Tratamiento de los lmites 2

    2.2.- Modifica d para asegurar que los lmites no sonsuperados:

    =

    i

    i

    f

    d

    )~

    (

    0

    0 u

    ii xx =Si y 0)~

    ( if

    en otros casos

    2.3.- En el paso 3 se deben insertar chequeos para asegurarque los lmites no se exceden durante las iteraciones deNewton.

    Si un lmite es excedido, se hace una interpolacin linealentre xt y vi para estimar el punto en esa lnea que noexceda el lmite.

  • 8/13/2019 optimizacion-restricciones

    41/41

    Tratamiento de las desigualdades

    Se introducen variables de holgura que convierten ladesigualdad en una igualdad:

    aj gj (x) bj

    hk+j (x) = aj - gj (x) + xN+j = 0

    hk+j (x) = gj (x) bj + xN+j = 0

    Se incrementa la dimensionalidad del problema.