programación dinámica (02 pp)

Upload: finger10

Post on 01-Mar-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Programación DInámica

TRANSCRIPT

  • Programacin dinmica 99

    4 Programacin dinmica 4.1 Programacin dinmica La programacin dinmica consiste en una tcnica que permite determinar de manera eficiente las decisiones que optimizan el comportamiento de un sistema que evoluciona a lo largo de una serie de etapas. En otras palabras, trata de encontrar la secuencia de decisiones que optimiza el comportamiento de un proceso polietpico. La naturaleza del razonamiento que se debe realizar en programacin dinmica es muy diferente al de la programacin lineal. En programacin lineal, intenta describir una determinada situacin en trminos de un modelo matemtico determinado; una vez conocida la naturaleza de las variables de decisin, y expresadas la funcin objetivo y las restricciones en funcin de esas variables, la resolucin del modelo puede confiarse, sin mayores problemas, a un programa informtico. La programacin dinmica no admite una resolucin sistemtica de este tipo; ms que un modelo concreto, es una estrategia de resolucin comn a muchas situaciones en principio diferentes entre s. Adems, es frecuente que la resolucin del modelo est muy relacionada con la situacin que se ha de modelizar. En contrapartida, las simplificaciones que en ocasiones deben realizarse en programacin lineal para poder resolver el modelo no son necesarias en programacin dinmica, que admite gran variedad de relaciones entre variables. La estrategia seguida en este mdulo para introducir al lector a la programacin dinmica, compartida por otros autores que se han enfrentado a esta situacin, consiste en comenzar con una introduccin terica que describe las caractersticas de los procesos que pueden ser representados por programacin dinmica: los procesos polietpicos de decisin. A continuacin, se introducen los elementos comunes a cualquier modelo de programacin dinmica: las etapas, los estados, las variables de decisin y la funcin de recurrencia. Finalmente se muestran los diversos tipos de programacin dinmica existentes: Programacin dinmica no homognea, frente a programacin dinmica homognea en el tiempo.

    Para este ltimo caso, podremos plantearnos encontrar la solucin para horizonte finito o para horizonte infinito.

    Programacin dinmica determinista, frente a programacin dinmica aleatoria. En este caso, es

    interesante destacar que las cadenas de Markov con remuneracin y decisin son un caso particular de programacin dinmica aleatoria homognea en el tiempo.

    Estos tipos de programacin dinmica se introducirn mediante ejemplos, que esperamos que ayuden al lector a internalizar la lgica de la programacin dinmica.

  • Mtodos cuantitativos de organizacin industrial II 100

    4.2 Procresos polietpicos de decisin Las situaciones susceptibles de ser representadas mediante programacin dinmica pueden describirse como procesos polietpicos de decisin. Seguidamente se exponen algunas caractersticas propias de este tipo de procesos.

    El problema puede dividirse en etapas. En cada una de esas etapas, debe tomarse una decisin. Tendremos la solucin del problema cuando conozcamos la decisin ptima para cualquier situacin que pueda presentarse en la evolucin del sistema.

    La programacin dinmica va asociada a situaciones de evolucin de un sistema que va evolucionando a lo largo de varias etapas (de ah su carcter dinmico). En la mayora de las ocasiones, se tratar de representar el comportamiento de un sistema que evoluciona a lo largo del tiempo. En otros casos, se trata de situaciones en las que las decisiones se toman de manera simultnea en el tiempo, pero en las que se evalan las decisiones de manera secuencial. Ntese la diferencia con la programacin lineal, en las que las decisiones se toman de manera simultnea (aunque en ocasiones representemos sistemas que evolucionan a lo largo del tiempo, como los planes de produccin).

    Al comenzar cada una de las etapas, antes de tomar la decisin, el sistema podr encontrarse en un estado de los varios posibles para esa etapa.

    Esto significa que para cada etapa debe definirse un conjunto de estados. El estado debe sintetizar toda la informacin que debemos conocer de la evolucin del sistema en las etapas anteriores. Los estados posibles para una etapa no tienen por qu ser los mismos que para las etapas siguientes (aunque s deben definirse de la misma manera: los estados aseguran la continuidad entre una y otra etapa) y el nmero de estados puede ser finito o infinito.

    Una vez tomada la decisin en el estado correspondiente, el sistema evolucionar hacia alguno de los estados posibles para la etapa siguiente.

    Por lo tanto, el comportamiento del sistema puede percibirse como una secuencia de decisiones y evoluciones. Dicha evolucin puede ser conocida con certeza, una vez tomada la decisin (tendremos una situacin de programacin dinmica determinista), o bien el sistema puede evolucionar hacia diferentes estados, segn una ley de probabilidad conocida (siendo entonces programacin dinmica aleatoria).

    El objetivo de la programacin dinmica es de encontrar cul es la poltica ptima para cada una de las etapas de la evolucin del sistema. La poltica para una determinada etapa es la decisin ptima en cada uno de los posibles estados del sistema en dicha etapa.

    Ntese que, para cada etapa, debe definirse una variable de decisin xn. Si el sistema tiene k estados en esa etapa, una poltica ser un vector de k componentes, cuya componente esima es el valor de la variable de decisin para el estado e en la etapa n. La esencia de la estrategia de la programacin dinmica se expresa mediante el principio de optimalidad:

    En un modelo de programacin dinmica, la poltica ptima para las etapas que faltan hasta la finalizacin del proceso es independiente de las polticas adoptadas en las etapas anteriores.

    Esta propiedad es la esencia de la programacin dinmica y tiene dos implicaciones importantes:

    c: Los autores, 2002; Edicions UPC, 2002