Programación Dinamica

download Programación Dinamica

of 46

description

dfbgf

Transcript of Programación Dinamica

  • IO2 Rosa Delgadillo

    Programacin Dinmica

    Conceptos y formulacin

  • IO2- Rosa Delgadillo

    Programacin Dinmica

    Conceptos

    Motivacin

    Formalizacin del Modelo de Programacin Dinmica

    Estrategia de solucin

    Ejemplos

    Programacin dinmica probabilstica

  • IO2- Rosa Delgadillo

    Programacin Dinmica

    Gran cantidad de situaciones que se desea modelar presentan naturaleza dinmica

    Esto es, las decisiones de un periodo de tiempo se ven afectadas por las decisiones de los periodos anteriores y las decisiones del periodo actual afectarn el comportamiento futuro.

  • IO2- Rosa Delgadillo

    Programacin Dinmica

    Dos enfoques que dependen de los requerimientos y abstraccin que se realice en el modelamiento pueden ser contemplados: Asumir que el efecto dinmico es poco

    relevante y solo considerar modelos de un periodo

    Considerar el efecto dinmico dentro del modelo

  • IO2- Rosa Delgadillo

    Programacin Dinmica

    La programacin dinmica tambin se conoce como programacin en mltiples etapas(donde el tiempo no es un factor importante).

    Se basa en el uso de funciones recursivas y en un principio de optimalidad desarrollado por R. Bellman que es una aplicacin del principio de induccin.

  • IO2- Rosa Delgadillo

    Programacin Dinmica

    La programacin dinmica es un caso particular de la programacin recursiva.

    El modelo recursivo presenta una forma alternativa equivalente de escribir la mayora de los modelos de programacin matemtica, proporcionando un mecanismo de solucin.

  • IO2- Rosa Delgadillo

    Motivacin Ejemplo:

    Considere una familia que est planificando sus vacaciones y desea viajar a travs del Per. Para ello ha elegido n ciudades para visitar en un cierto orden. El nmero de das dedicados a visitar cada ciudad debe ser determinado en la planificacin. La familia dispone de m das para sus vacaciones. De acuerdo al inters turstico y las preferencias familiares, a cada ciudad se le ha asignado una funcin de utilidad que representa el grado de satisfaccin de la familia asociado a la visita de la ciudad i cuando se dedican das asignados a esa ciudad, el cual debe ser entero.

    Se asume que:

    El tiempo de viaje entre ciudades es despreciable

    Los das son dedicados completamente a una ciudad

    El orden de las ciudades que se visitarn corresponde al ndice asignado

    )( ii xg

    ix

  • IO2- Rosa Delgadillo

    MotivacinModelo de programacin matemtica

    : es el nmero de das a dedicar a la visita de la ciudad i

    M :Mximo nmero de das disponibles de vacaciones

    : Utilidad percibida si das son dedicados a la visita de la ciudad i

    n : Nmero de ciudades a visitar

    )( ii xg

    ix

    ix

    nix

    Mx

    as

    xgMax

    i

    n

    i

    i

    n

    i

    ii

    ,...,1 entero, ,0

    ..

    )( (P1)

    1

    1

  • IO2- Rosa Delgadillo

    MotivacinModelo de programacin Dinmica

    Es necesario observar que el nmero de das dedicados a visitaruna ciudad afectar al nmero de das posibles que se dedicarn a la visita de otras ciudades (caracterstica dinmica)

    Supongamos que la familia llega a la ltima ciudad que quera visitar (ciudad n) y que dispone de das de vacaciones

    Cul es la mejor decisin que ellos pueden tomar en ese momento? Esto es cuntos das le dedicarn a la ltima ciudad?.

    Si se asume que es una funcin creciente en entonces la decisin ser dedicar das disponibles a la ltima ciudad. Una funcin que representa la utilidad de la mejor alternativa en la ciudad n es dado por:

    iy

    )( nn xg nx

    ny

    )()(0

    nn

    yx

    nn xgyf Maxnn

  • IO2- Rosa Delgadillo

    Motivacin Pero, que ocurre en la ciudad n-1?

    Supongamos que existen das disponibles antes de visitar la ciudad n-1 ( y la ciudad n). En este momento la familia debe decidir cuantos das dedicar a la ciudad n-1 y a la ciudad n.

    Por tanto si hay das disponible para ambas ciudades, quedarn si se decide dedicar das a la ciudad n-1

    la funcin que representa la utilidad de la mejor alternativa escogida para la ciudad n-1 ( y la ciudad n) es:

    1nx11 nn xy

    )()()( 11110

    11

    11

    nnnnn

    yx

    nn xyfxgyf Maxnn

    1ny

    1ny

  • IO2- Rosa Delgadillo

    Motivacin y, que ocurre en la ciudad i ?

    Nuevamente supongamos que existen das disponibles antes de visitar la ciudad i ( y las ciudades i +1, ,n) , estos das deben ser distribuidos entre esas ciudades de forma a maximizar la utilidad asociada a esas ciudades.

    La funcin que representa la utilidad de la mejor alternativa escogida para la ciudad i ( y las ciudades i +1, ,n) es:

    )()()( 10

    iiiii

    yx

    ii xyfxgyf Maxii

    iy

  • IO2- Rosa Delgadillo

    Motivacin Finalmente, en todas las ciudades se supone que existen y das

    disponibles antes de visitarla (a ella y las restantes).

    Sin embargo en la primera ciudad (primera a ser visitada) la familia conoce los das disponibles para sus vacaciones.

    Esto es, con lo cual la funcin que representa la utilidad de la mejor alternativa en la ciudad 1, se define como:

    En conclusin: El problema (P1), ha sido formulado como una serie de subproblemas paramtricos interrelacionados, mediante la variable y , pues esta asegura un valor en la ciudad 1 (ultima en ser planificada) y relaciona las variables entre dos ciudades consecutivas ( )

    )()()( 12110

    11

    1

    xMfxgMyf MaxMx

    My1

    11 iii xyy

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de

    Programacin Dinmica

    En el ejemplo anterior se observ que el abordaje de la formulacin de los subproblemas relacionados partieron desde la ltima ciudad a la primera ciudad, este forma es conocida como formulacin hacia atrs o backward . Sin embargo es posible hacer una formulacin hacia delante o forward.

    El concepto de programacin dinmica se basa en el uso de ecuaciones funcionales y el principio de Optimalidad de Bellman

    Las ecuaciones funcionales corresponden a : Funciones que dan cuenta de la funcin objetivo (desde la etapa k

    hasta el fin del horizonte)

    La funcin de interrelacin entre estados de dos etapas consecutivas

    Las condiciones de borde

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de

    Programacin Dinmica

    Modelo general de la formulacin backward:

    Donde : Variable de decisin de la etapa k-esima

    : Variable de estado al comienzo de la etapa k-esima

    : Funcin de transformacin

    : Funcin de Optimizacin

    : Funcin de recursin en etapa k-esima

    : Espacio de soluciones factibles de la etapa k-esima

    M : Valor inicial de Y , o condicin de borde

    F : Valor final de la funcin f

    ky

    Fyf

    My

    nnkxyT

    yfxyHyf

    nn

    kkk

    kkkkk

    yAx

    kk Maxkkk

    )(

    1,....,1, ),(y

    ))(,,()(

    11

    1

    1k

    11

    )(

    kx

    kT

    kH

    kf

    )( kk yA

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    La formulacin anterior presenta algunas caractersticas importantes:

    La formulacin tiene el concepto de recursividad, que es la generalizacin del concepto dinmico del modelo

    Las condiciones de borde M y F , permiten obtener la solucin explicita del modelo

    La funcin corresponde a la funcin objetivo desde la etapa k hasta la etapa final n

    kH

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    La funcin de transformacin establece la relacin entre las variables de estado y para dos periodos consecutivos.

    El conjunto representa al conjunto de restricciones asociadas a la variable de decisin de la etapa k.

    ),( kkk xyT

    1kyky

    kA

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    La solucin del subproblema de optimizacin en la etapa k, es una solucin paramtrica en la variable de estado , ya que f es funcin de ella.

    Se denomina poltica ptima de la etapa K a la solucin ptima de las etapas k, k+1,,npara un determinado estado inicial en la etapa k

    ky

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    Principio de optimalidad de Bellman:

    Una solucin ptima tiene la propiedad que cualquiera sea el estado inicial y la decisin inicial, las decisiones para las etapas posteriores deben constituir una poltica ptima con respecto al estado resultante de la primera decisin.

    Es decir: las decisiones involucradas desde una etapa en adelante slo dependen del estado inicial de la etapa y no de la decisiones previas.

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    En general es posible establecer ciertas reglas para construir un modelo de programacin dinmica equivalente al modelo de optimizacin P1; asociado a las definiciones de etapas, estado, funcin de transformacin y funcin de recursin:

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    Cada variable de decisin (o conjunto de ellas) define una etapa del modelo de PD. Generalmente se establece una relacin uno a uno entre las variables y las etapas.

    La funcin objetivo corresponde a la funcin de recursin. Por tanto, para cada etapa la funcin de recursin debe corresponder a la funcin objetivo desde esa etapa hasta la etapa final.

    El nmero de variables de estado del modelo corresponde al nmero de restricciones que involucran a variables en ms de una etapa. Las restricciones que solo afectan a una etapa no generan variables de estado.

  • IO2- Rosa Delgadillo

    Formalizacin del modelo de Programacin Dinmica

    Las variables de estado tienen una interpretacin asociada al valor disponibles del lado derecho de cada restriccin en una etapa determinada (holgura residual).

    El valor de la condicin de borde es asignado de acuerdo a la forma de la funcin objetivo y a la decisin tomada al final de la ltima etapa ( si la F.O. es aditiva y

    si es multiplicativa).

    1nf

    01nf

    11nf

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    Ejemplo:Para el ejemplo anterior considere tres ciudades

    y el nmero de das disponibles para vacaciones de 5. las funciones de utilidad son , ,

    Considere que el orden de vista de las ciudades est predefinido (1, 2, y luego 3) .

    2/1

    11 2)( xxg2/1

    22 )( xxg2/1

    33 3)( xxg

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    Etapa 3

    Los das que se pueden dedicar a la ciudad 3 son 0,1,2,3,4 y 5.

    Si la familia dispone de das, entonces puede dedicar desde 0 a a esta ciudad.

    El subproblema que debe ser resuelto entonces es:

    3y

    3y

    )(3)( 3342/1

    3

    0

    33

    33

    xyfxyf Maxyx

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    La funcin , ya que independientemente del nmero de das que queden despus de visitar la ultima ciudad, esto no reporta ninguna utilidad.

    La tabla muestra la solucin del subproblema

    y3 x3=0 x3=1 x3=2 x3=3 x3=4 x3=5 X3* f3(y3)

    0 0,00 - - - - - 0 0,00

    1 0,00 3,00 - - - - 1 3,00

    2 0,00 3,00 4,24 - - - 2 4,24

    3 0,00 3,00 4,24 5,20 - - 3 5,20

    4 0,00 3,00 4,24 5,20 6,00 - 4 6,00

    5 0,00 3,00 4,24 5,20 6,00 6,71 5 6,71

    0)( 44 yf

    03)()( 2/1333433 xxyfxg

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    Etapa 2 En esta etapa se resuelve el problema de cuantos das

    dedicar a la ciudad 2 y a la ciudad 3, en forma conjunta. Dado que la decisin tomada en esta etapa afecta a la etapa 3, ya que

    Los das disponibles en esta etapa tambin son:

    0,1,2,3,4,5; el subproblema a ser resuelto es:

    2x

    223 xyy

    )(1)( 2232/1

    2

    0

    22

    22

    xyfxyf Maxyx

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    La funcin y dado que

    se tiene:

    La tabla muestra la solucin del subproblema

    y2 x2=0 x2=1 x2=2 x2=3 x3=4 x2=5 X2* f2(y2)

    0 0,00 - - - - - 0 0,00

    1 3,00 1,00 - - - - 0 3,00

    2 4,24 4,00 1,41 - - - 0 4,24

    3 5,20 5,24 4,41 1,73 - - 1 5,24

    4 6,00 6,20 5,65 4,73 2,00 - 1 6,20

    5 6,71 7,00 6,61 5,97 5,00 2,23 1 7,00

    )()( 33223 yfxyf

    )()()( 2232/1

    222322 xyfxxyfxg

    )()()( 3343333 xyfxgMaxyf

    )()()()( 32243322

    0,

    22

    32

    232

    xxyfxgxgMaxyf

    xxyxx

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    Etapa 1 En esta etapa el nmero de das disponibles es conocido,

    con lo que el subproblema a resolver es:

    Y la tabla es:

    y1 x1=0 x1=1 x1=2 x1=3 x1=4 x1=5 X1* f1(y1)

    5 7,00 8,20 8,06 7,70 7,00 4,47 1 8,20

    )( 1y

    )(2)()( 1122/1

    111211 xyfxxyfxg

    )(2)( 1122/1

    1

    50

    11

    1

    11

    xyfxyf Maxy

    yx

  • IO2- Rosa Delgadillo

    Estrategia de solucin

    solucin La determinacin de la poltica ptima de asignacin de

    das de visita a todas las ciudades es obtenido recursivamente, partiendo de y observando en la etapa 2 el valor ptimo para ,el cual es

    , por lo que ahora , de la observacin en la etapa 3 (tabla 3) se tiene que para el valor optimo es

    Por lo tanto la poltica ptima es dedicar un da a la ciudad 1 y 2; y 3 das a la ciudad 3. Obtenindose una utilidad de

    1*1x

    4*112 xyy

    1*2x3*223 xyy

    33y3*3x

    20,8)( 11 yf

  • IO2- Rosa Delgadillo

    Asignacin de recursosEjemploEl propietario de 3 tiendas ha comprado 5 cestas de

    cerezas, para satisfacer la demanda en las diferentes tiendas. El propietario desea determinar la forma de distribuir las canastas, de manera de maximizar el beneficio total. Los retornos (utilidades) en funcin del nmero de cestas distribuidas (se asume vendidos) en las 3 tiendas estn dados en la tabla siguiente.

    Cantidad de canastas

    Tienda 0 1 2 3 4 5

    1 0 3 7 9 12 13

    2 0 5 10 11 11 11

    3 0 4 6 11 12 12

  • IO2- Rosa Delgadillo

    Asignacin de recursosModelo de programacin matemtica

    : es el nmero de canastas distribuidos en la tienda i-sima

    : Utilidad de repartir canastas en la tienda i)( ii xUix

    ix

    5,...,1 entero, ,0

    5

    ..

    )(

    5

    1

    5

    1

    ix

    x

    as

    xUMax

    i

    i

    i

    i

    ii

  • IO2- Rosa Delgadillo

    Asignacin de recursosModelo de programacin dinmica

    Etapas: son cada una de las 3 tiendas => 3 etapas

    Variable de estado: es el nmero de canastas disponibles al comienzo de cada etapa

    Variable de decisin: es el nmero de canastas entregados a c/tienda

    Funcin de transformacin: es la funcin

    Funcin de recursin : Mejor utilidad desde la etapa k hasta la ltima, dado que se dispone de canastas

    Condiciones de borde:

    kkk xyy 1

    ix

    ky

    )()()( 110

    kkkkyx

    kk yfxUMaxyfkk

    ky

    5 , 0)( 144 yyf

  • IO2- Rosa Delgadillo

    Asignacin de recursosSolucinEn la etapa 3:

    U3(x3)+f4(y4)=U3(x3)

    y3 0 1 2 3 4 5 X3* f3(y3)

    0 0 - - - - - 0 0

    1 0 4 - - - - 1 4

    2 0 4 6 - - - 2 6

    3 0 4 6 11 - - 3 11

    4 0 4 6 11 12 - 4 12

    5 0 4 6 11 12 12 4,5 12

  • IO2- Rosa Delgadillo

    Asignacin de recursosSolucinEn la etapa 2:

    U2(x2)+f3(y2-x2)

    y2 0 1 2 3 4 5 X2* f2(y2)

    0 0 - - - - - 0 0

    1 4 5 - - - - 1 5

    2 6 9 10 - - - 2 10

    3 11 11 14 11 - - 2 14

    4 12 16 16 15 11 - 1, 2 16

    5 12 17 21 17 15 11 2 21

  • IO2- Rosa Delgadillo

    Asignacin de recursosSolucinEn la etapa 1:

    La solucin es:

    U1(x1)+f1(y1-x1)

    y1 0 1 2 3 4 5 X1* f1(y1)

    5 21 19 21 19 17 13 0,2 21

    Tienda Canastas

    1 0 2

    2 2 2

    3 3 1

  • IO2- Rosa Delgadillo

    Planificacin de produccin e InventarioEjemploUna empresa debe decidir su poltica de produccin e

    inventario para los prximos tres meses. La empresa ha adquirido algunos compromisos de entrega para estos meses: 3,2 y 4 unidades, respectivamente. En el proceso productivo se incurre en algunos costos asociados con la produccin y almacenamiento

    Mes Costo Almacenar

    CI

    Costo Produccin

    CP

    1 1 10

    2 3 15

    3 2 20

  • IO2- Rosa Delgadillo

    Planificacin de produccin e InventarioModelo de programacin matemtica

    : cantidad a producir en el mes i

    : inventario al inicio del mes i

    : Requerimiento de entrega de producto para el mes iiyix

    id

    iy

    ix

    dxyy

    dxyy

    dxyy

    as

    yyyxxxZMin

    i

    i

    entero, ,0

    entero, ,0

    ..

    231201510

    3334

    2223

    1112

    432321

  • IO2- Rosa Delgadillo

    Planificacin de produccin e Inventario

    Modelo de programacin dinmica

    Etapas: son cada una de los periodos de trabajo, 3 meses => 3 etapas

    Variable de estado: es el nivel del inventario al inicio del periodo i

    Variable de decisin: es la cantidad a producir en el periodo i

    Funcin de transformacin: es la funcin

    Funcin de recursin : el costo de la poltica ptima desde la etapa i hasta la ltima, dado que se dispone de unidades en inventario al comienzo del periodo i

    Condiciones de borde: inventario final 0 (puede ser otro valor)

    Inventario inicial 0 =>

    iiii dxyy 1

    ixiy

    )()()()( 111,0

    iiiienterox

    ii yfyCIxCPMaxyfi

    iy

    0 , 0)( 111 yyf nn

  • IO2- Rosa Delgadillo

    Planificacin de produccin e InventarioSolucinEn la etapa 3:

    CP(x3)+CI(0) +f4(y4)

    y3 X=0 1 2 3 4 X3* f3(y3)

    0 - - - - 80 4 80

    1 - - - 60 - 3 60

    2 - - 40 - - 2 40

    3 - 20 - - - 1 20

    4 0 - - - - 0 0

    )}4()4(220{)( 334333,0

    433

    3

    33

    xyfxyxMinyf

    enteroxyx

  • IO2- Rosa Delgadillo

    Planificacin de produccin e InventarioSolucinEn la etapa 2:

    CP(x2)+CI(y2) +f3(y3)

    y3 X=0 1 2 3 4 5 6 X3* f3(y3)

    0 - - 110 108 106 104 102 6 102

    1 - 95 93 91 89 87 - 5 87

    2 80 78 76 74 72 - - 4 72

    3 63 61 59 57 - - - 3 57

    4 46 44 42 - - - - 2 42

    5 29 27 - - - - - 1 27

    6 12 - - - - - - 0 12

    )}2()2(315{)( 223222,0

    622

    3

    22

    xyfxyxMinyf

    enteroxyx

  • IO2- Rosa Delgadillo

    Planificacin de produccin e InventarioSolucinEn la etapa 1:

    La solucin es:

    CP(x1)+CI(y1)+f2(y2)

    y1 3 4 5 6 7 8 9 X1* f1(y1)

    0 132 128 124 120 116 112 108 9 108

    periodo x

    1 9

    2 0

    3 0

    )}3()3(110{)( 112111,

    9311

    1

    1

    xyfxyxMinyf

    enteroxx

  • IO2- Rosa Delgadillo

    Programacin Dinmica Probabilstica

    En los ejemplos anteriores se observa que una especificacin del estado actual y la decisin actual es suficiente para saber con certeza el nuevo estado y los costos durante la etapa actual.

  • IO2- Rosa Delgadillo

    Programacin Dinmica Probabilstica

    En la practica no siempre es cierto pues la demanda es una variable aleatoria, an que se conozca el estado actual y la decisin actual; el estado del siguiente periodo y el costo del periodo actual sern consecuentemente variables aleatorias

  • IO2- Rosa Delgadillo

    Los costos de la etapa actual no se conocenEjemplo: Asignacin de recursosPor el precio de $1 /galn, una cadena de supermercados

    compr 6 galones de leche de una lechera local, cada galn se vende en las 3 tiendas de la cadena a $2/galn. La lechera debe comprar de nuevo a $0.50/galn la leche que se queda al final del da.la demanda de leche es una variable aleatoria y se muestra en la tabla. La cadena debe asignar la leche a las 3 tiendas para maximizar la ganancia diaria neta.

    Tienda 1 Tienda 2 Tienda 3

    Dem x da Probab. Dem. x da Probab. Dem. x da Probab.

    1 .60 1 .50 1 .40

    3 0 2 .10 2 .30

    2 .40 3 .40 3 .30

  • IO2- Rosa Delgadillo

    Asignacin de recursosModelo de programacin dinmica

    Etapas: son cada una de las 3 tiendas => 3 etapas

    Variable de estado: es el nmero de galones de leche disponibles al comienzo de cada etapa

    Variable de decisin: es el nmero de galones de leche asignados a c/tienda

    Funcin de transformacin: es la funcin

    Funcin de recursin : Mejor retorno desde la etapa k hasta la ltima, dado que se dispone de galones de leche

    Condiciones de borde:

    kkk xyy 1

    ix

    ky

    )()()( 110

    kkkkyx

    kk yfxrMaxyfkk

    ky

    6 , 0)( 144 yyf

  • IO2- Rosa Delgadillo

    Asignacin de recursosObservacin:Como los 6 galones de leche ya se compraron, esto es, ya

    se hizo el gasto, entonces solo nos interesa el ingreso por las ventas (r (x)).

    Es necesario primero determinar los ingresos asociados con las probables ventas => ingresos esperados

    R3(2)= p(D=1)X Ganancia +P(D>=2) x Ganancia

    R3(2) = 0.4 (2.5) + 0.6 (4) = 3.40

    Tienda 1 Tienda 2 Tienda 3

    R1(0) =0 Probab. R2(0)=0 Probab. R3(0)=0 Probab.

    R1(1)=2 .60 R2(1)=2 .50 R3(1)=2 .40

    R1(2)=3.10 0 R2(2)=3.25 .10 R3(2)=3.40 .30

    R1(3)=4.20 .40 R3(3)=4.35 .40 R3(3)=4.35 .30

  • IO2- Rosa Delgadillo

    El estado del siguiente periodo no se conoceEjemplo: Modelo de inventarioConsidere el modelo de inventario de 3 periodos. Al

    comienzo de cada periodo, una empresa debe determinar cuantas unidades debe producir durante el periodo actual. Durante un periodo se produce x unidades, se incurre en un costo de produccin c(x), donde c(0)=0 y para x>0, c(x)=3 +2x. La produccin durante cada periodo esta limitada a lo sumo a 4 unidades. Despus que ocurre la produccin , se observa la demanda aleatoria del periodo. Y estas tiene las misma probabilidades de que sea 1 o 2 unidades. Despus de satisfacer la demanda se observa el inventario al fin del periodo, se estima un costo de mantenimiento de $1 por unidad. El inventario no puede exceder de 3 unidades en cada periodo. El inventario al final del periodo 3 se puede vender a $2 la unidad, el inventario inicial es de 1 unidad