introducción programación dinámica determinística

Upload: lucio-rodriguez

Post on 06-Jul-2018

262 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Introducción Programación Dinámica Determinística

    1/17

    INVESTIGACION DE OPERACIONES 2Programación Dinámica Determinística

  • 8/17/2019 Introducción Programación Dinámica Determinística

    2/17

    PROGR M CION DIN MIC

    Una forma razonable y comúnmenteempleada de resolver un problema es definir o

    caracterizar su solución en términos de las

    soluciones de subproblemas del mismo.

    La programación dinámica encuentra la

    solución óptima de un problema con n

    variables, descomponiéndolo en n   etapas,

    siendo cada etapa un subproblema de una

    sola variable.

  • 8/17/2019 Introducción Programación Dinámica Determinística

    3/17

  • 8/17/2019 Introducción Programación Dinámica Determinística

    4/17

    PROGRAMACION DINAMICA

    DETERMINÍSTICA

    En este tipo de programación dinámica, el estado

    de la siguiente etapa está   determinado por

    completo por el estado y la política de decisión dela etapa actual. El caso probabilístico es en el cual

    existe una distribución de probabilidad del valor

    posible del siguiente estado.

  • 8/17/2019 Introducción Programación Dinámica Determinística

    5/17

    Naturaleza Recursiva

    Los cálculos de programación dinámica se hacen en formarecursiva, ya que la solución óptima de un subproblema se

    usa como dato para el siguiente subproblema. Para

    cuando se resuelve el último subproblema se obtiene la

    solución óptima de todo el problema.

    Se usa la recursión en avance, cuando los cálculos se hacen

    de la primera etapa a la última etapa; y se usa la recursión

    en reversa, cuando los cálculos se hacen de la última etapa

    a la primera etapa. Con las recursiones en avance y en

    reversa se obtiene la misma solución. Se usa la recursión

    en reversa porque, en general, es más eficiente desde el

    punto de vista computacional.

  • 8/17/2019 Introducción Programación Dinámica Determinística

    6/17

    Etapa (n)

    Estado (sn )

    Elemento

    ELEMENTOS DE UN PROBLEMA DE

    PROGRAMACION DINAMICA

    Variable de decisión (x n )

    Es el  período de tiempo, lugar,

     fase   o situación   en donde se

    produce un cambio debido a una

    decisión (x n ).

    Evolución del sistema

    n=1 n=2 n=3 n=4

    Función recurrente (f n )

  • 8/17/2019 Introducción Programación Dinámica Determinística

    7/17

    Etapa (n)

    Estado (sn )

    Elemento

    Variable de decisión (x n )

    Muestra la situación actual de

    cada etapa. Información que

    enlaza las etapas, de tal modo

    que se puedan tomar las

    decisiones. También se puede

    decir que es la información que

    se necesita en cualquier etapa

    para tomar una decisión óptima.

    Evolución del sistema

    n=1

    s1

    n=2

    s2

    n=3

    s3

    n=4

    s4

    Función recurrente (f n )

    ELEMENTOS DE UN PROBLEMA DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    8/17

    Etapa (n)

    Estado (sn )

    Elemento

    Variable de decisión (x n )

    Hacen referencia a toma de

    decisiones (o política de

    decisión) que se producen en

    una etapa y que produce un

    cambio en el estado actual del

    sistema.

    Evolución del sistema

    n=1

    s1

    n=2

    s2

    n=3

    s3

    n=4

    s4 x 1  x 2  x 3  x 4

    Función recurrente (f n )

    ELEMENTOS DE UN PROBLEMA DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    9/17

    Etapa (n)

    Estado (sn )

    Elemento

    Variable de decisión (x n )

    Refleja el comportamiento del

    sistema en función de los

    estados y de las variables de

    decisión. Relaciona el costo o la

    contribución ganada durante

    alguna etapa con el costo o la

    contribución ganada en la etapa

    posterior de forma acumulativa.

     f 4(s4  , x 4 )

     f 3(s3  , x 3 )

     f 2(s2  , x 2 )

    n=1

    s1

    n=2

    s2

    n=3

    s3

    n=4

    s4 x 1  x 2  x 3

     f 1(s1  , x 1 )

     x 4

    Función recurrente (f n )Evolución del sistema

     f 4(s4  , x 4 )

    ELEMENTOS DE UN PROBLEMA DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    10/17

    Enunciado

     Análisis

    Problema

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    Tomando en cuenta el siguiente sistema de caminos, si se

    encuentra inicialmente en el nodo A, encontrar la trayectoria más

    económica para llegar al nodo J considerando que los valores que

    se encuentran en las ramas representan los costos de trasladarse

    de un nodo a otro.

  • 8/17/2019 Introducción Programación Dinámica Determinística

    11/17

    Problema   Si se tomara la decisión de ir por la ruta más barata en cada etapa, éstasería: A – B – F – I – J con un costo total asociado de 13. Pero note que

    si desde el nodo A llegamos al nodo F mediante D, en lugar de ir por B

    el costo sería menor. El evaluar todas las posibles rutas y sus costos

    asociados sería una tarea tediosa. Mediante la programación dinámica

    se puede hallar la solución con mucho menor esfuerzo.

    Variables de decisión:  x n : destino inmediato de la etapa n,

    Estado: sn : lugar donde se encuentra en la etapa n

    Ruta a seleccionar:  A –  x 1 –  x 2 –  x 3 –  x 4, donde x 4 = J

    Como el destino final es  J   se alcanza al terminar la etapa 4.El objetivo es encontrar f 1

    *(A) y la ruta correspondiente. La

    programación dinámica la encuentra al determinar en forma sucesiva

     f 4*(s4 ), f 3

    *(s3 ), f 2*(s2 ) y f 1

    *(s1 )

    Función recursiva:  f n(sn , x n )= csnxn + f n+1*(x n )

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    12/17

    Problema   Cuando se está en la última etapa, el destino final es x 4 = J y su estadoactual s4 puede ser H o I , de manera que su último tramo es desde s4hacia J. Por lo tanto, f 4

    *(s4 )   = f 4(s4 , J) = cs4J

    s4

    f 4(s4 ,x 4 )= c s4 x 4 Solución óptima

     x 4 = J f 4* (s4 ) x 4

    H 3 3 J

    I 4 4 J

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    13/17

    Problema

    s3f 3(s3 ,x 3 )= c s3 x 3 + f 4*(x 3 ) Solución óptima x 3 = H x 3 = I f 3

    * (s3 ) x 3* 

    E 1+3=4 4+4=8 4 H

    F 6+3=9 3+4=7 7 I

    G 3+3=6 3+4=7 6 H

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    14/17

    Problema

    s2 

    f 2 

    (s2

    ,x 2 

     )= c s

     x 2  + f 

    3

    *(x 2 

     ) Solución óptima

     x 2 =E x 2 =F x 2 =G f 2 * (s2  ) x 2 

    B 7+4=11 4+7=11 6+6=12 11 E o F

    C 3+4=7 2+7=9 4+6=10 7 E

    D 4+4=8 1+7=8 5+6=11 8 E o F

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    15/17

    Problema

    s1

    f 1(s1 ,x 1 )= c s1 x 1 + f 2 *(x 1 ) Solución óptima

     x 1 =B x 1 =C x 1 =D f 1* (s1 ) x 1

     A 2+11=13 4+7=11 3+8=11 11 C o D

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    16/17

    ProblemaCosto total =11Ruta1: A-C-E-H-J

    Ruta2: A-D-E-H-J

    Ruta3: A-D-F-I-J

    s4

      x 4

    H J

    I J

    s3   x 3

    E H

    F I

    G H

    s2

      x 2

    B E o FC E

    D E o F

    s1

      x 1

    A C o D

    Enunciado

     Análisis

    Etapa 4

    Etapa 3

    Etapa 2

    Etapa 1

    Interpretación

    EJEMPLO PROTOTIPO DE

    PROGRAMACION DINAMICA

  • 8/17/2019 Introducción Programación Dinámica Determinística

    17/17

    Joe Cougar vive en Nueva York, pero proyecta viajar en su automóvilhasta Los Ángeles en busca de fama y fortuna. Los fondos de Joe sonlimitados, así que decide pasar cada noche de su viaje en la casa de unamigo. Joe tiene amigos en Columbus, Nashville, Louisville, Kansas City,

    Omaha, Dallas, San Antonio y Denver. Joe sabe que después demanejar un día puede llegar a Columbus, Nashville o Louisville. Despuésde manejar dos días puede llegar a Kansas City, Omaha o Dallas.Después de tres días de viaje puede llegar a San Antonio o Denver.Luego de cuatro días de manejar puede llegar finalmente a Los Ángeles.Para minimizar la cantidad de millas recorridas, ¿dónde Joe pasar cada

    noche del viaje?. Las millas reales por carretera entre las ciudades sedan en la figura 1.