Anda di halaman 1dari 4

Programacin dinmica 1.

1 Caractersticas de los problemas de programacin dinmica: etapas, estados, frmula recursiva, programacin en avance y en retroceso La programacin dinmica es una tcnica matemtica que se utiliza para la solucin de problemas matemticos seleccionados, en los cuales se toma una serie de decisiones en forma secuencial. Proporciona un procedimiento sistemtico para encontrar la combinacin de decisiones que maximice la efectividad total, al descomponer el problema en etapas, las que pueden ser completadas por una o ms formas (estados), yen lazando cada etapa a travs de clculos recursivos. La programacin dinmica es un enfoque general para la solucin de problemas en los que es necesario tomar decisiones en etapas sucesivas. Las decisiones tomadas en una etapa condicionan la evolucin futura del sistema, afectando a las situaciones en las que el sistema se encontrar en el futuro (denominadas estados), y a las decisiones que se plantearn en el futuro. La programacin dinmica parte de una pequea porcin del problema y llega a la solucin ptima para esa pequea parte del problema, entonces gradualmente se agranda el problema hallando la solucin ptima en curso a partir de la anterior. Este proceso se repite hasta obtener la solucin ptima del problema original. El problema de la diligencia es un prototipo literal de los problemas de programacin dinmica. Por tanto una manera de reconocer una situacin que se puede formular como un problema de programacin dinmica es poder identificar una estructura anloga a la del problema de la diligencia. Caractersticas bsicas. 1.- El problema se puede dividir en etapas que requieren una poltica de decisin en cada una de ellas. 2.- Cada etapa tiene cierto nmero de estados asociados con su inicio. Los estados son las distintas condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema. 3.- El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa. 4.- El procedimiento de solucin est diseado para encontrar una poltica ptima para el problema completo. 5.- Dado el estado actual, una poltica ptima para las etapas restantes es independiente de la poltica adoptada en etapas anteriores. Este es el principio de optimalidad para programacin dinmica. 6.- El procedimiento de solucin se inicia al encontrar la poltica ptima para la ltima etapa. 7.- Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa n, dada la poltica ptima para la etapa n+1. La forma precisa de relacin recursiva difiere de un problema a otro de programacin dinmica, pero usaremos una notacin anloga a la siguiente: N = nmero de etapas. n = etiqueta para la etapa actual (n = 1,2,...,N) sn = estado actual para la etapa n xn = variable de decisin para la etapa n. xn* = valor ptimo de xn (dado sn).

fn(sn,xn) = contribucin a la funcin objetivo de las etapas n, n+1,...,N, si el sistema se encuentra en el estado sn en la etapa n, la decisin inmediata es xn y en adelante se toman decisiones ptimas. fn*(sn) = fn(sn,xn*) La relacin recursiva siempre tendr la forma: fn*(sn) = mn fn(sn,xn) fn*(sn) = max fn(sn,xn) 8.- Cuando se usa esta relacin recursiva, el procedimiento de solucin comienza al final y se mueve hacia atrs etapa por etapa, hasta que encuentra la poltica ptima desde la etapa inicial. Procedimiento de solucin. 1. Se construye una relacin recursiva que identifica la poltica ptima para cada estado en la etapa n, dada la solucin ptima para cada estado en la etapa n+l. 2. Se encuentra la decisin ptima en la ltima etapa de acuerdo a la poltica de decisin establecida. Comnmente la solucin de esta ltima etapa es trivial, es decir, sin ningn mtodo establecido, tomando en cuenta solamente la "contribucin" de la ltima etapa. 3. La idea bsica detrs de la relacin recursiva es trabajar "hacia atrs", preguntandose en cada etapa: qu efecto total tendra en el problema si tomo una decisin particular en esta etapa y acto ptimamente en todas las etapas siguientes? Si se resolviera el problema "hacia adelante", es decir, de la primera etapa hacia la sera necesario realizar una enumeracin exhaustiva de todas las alternativas, que resolvindolo "hacia atrs" reducimos el nmero de alternativas a analizar, simplificando la solucin del problema. Cuando se llega a la etapa inicial se encuentra la solucin ptima. 1.2 Algunos ejemplos de modelos de P.D. Un caza fortunas desea ir de Missouri a California en una diligencia, y quiere viajar de la forma ms segura posible. Tiene los puntos de salida y destino conocidos, pero tiene mltiples opciones para viajar a travs del territorio. Se entera de la posibilidad de adquirir seguro de vida como pasajero de la diligencia. El costo de la pliza estndar (cij ) se muestra en la tabla siguiente.

El problema de las monedas. Para el problema de las monedas con programacin dinmica se necesita crear un algoritmo que permita a una mquina expendedora devolver el cambio mediante el menor nmero de monedas posible. Mediante la programacin dinmica se solucionar el caso en el que el nmero de monedas de cada tipo es ilimitado. En el problema de las monedas mediante el algoritmo voraz el que el nmero de monedas es ilimitado. El problema de la mochila. Sean n objetos no fraccionables de pesos pi y beneficios bi. El peso mximo que puede llevar la mochila es C. Queremos llenar la mochila con objetos, tal que se maximice el beneficio. Los pasos que vamos a seguir son los siguientes: Ver que se cumple el principio de optimalidad de Bellman. Buscar ecuaciones recurrentes para el problema. Construir una tabla de valores a partir de las ecuaciones

1.3 Programacin dinmica determinstica. Los problemas determinsticos de programacin dinmica son aquellos en los cuales el estado asociado en la etapa siguiente est totalmente determinado por el estado y la poltica de decisin de la etapa actual. La siguiente figura describe el funcionamiento de la programacin dinmica determinstica.

Los problemas de programacin dinmica determinstica son aqullos en los que el estado en la etapa siguiente queda completamente determinado por el estado y la poltica en la etapa actual. Una manera de catalogar los problemas de programacin dinmica determinstica es por la forma de la funcin objetivo. Por ejemplo, el objetivo podra ser minimizar la suma de contribuciones de las etapas individuales, o bien minimizar un producto de tales trminos y as sucesivamente. En un problema de programacin dinmica, las temporadas deben ser las etapas.

1.4 Programacin dinmica probabilstica.


La programacin dinmica probabilstica difiere de la programacin dinmica determinstica en que el estado de la etapa siguiente no queda completamente determinado por el estado y la decisin de la poltica en el estado actual. En lugar de ello existe una distribucin de probabilidad para lo que ser el estado siguiente. Sin embargo,

esta distribucin de probabilidad todava est completamente determinada por el estado y la decisin de la poltica del estado actual. En la siguiente figura se describe diagramticamente la estructura bsica que resulta para la programacin dinmica probabilstica, en donde N denota el nmero de estados posibles en la etapa n+1. Cuando se desarrolla de esta forma para incluir todos los estados y decisiones posibles en todas las etapas, a veces recibe el nombre de rbol de decisin. Si el rbol de decisin no es demasiado grande, proporciona una manera til de resumir las diversas posibilidades que pueden ocurrir.

1.5 Problema de dimensionalidad en P. D. La programacin dinmica tradicional permite obtener las trayectorias ptimas de control para procesos no lineales, variantes, con cualquier tipo de funcional o ndice de desempeo y con restricciones en las variables. Los algoritmos pueden ser programados en cualquier sistema de cmputo digital ampliamente disponibles en la actualidad. La aplicacin de estos algoritmos a sistemas continuos exige la discretizacin de las ecuaciones diferenciales que modelan el proceso o sistema, as como la cuantificacin de las variables de estado, de las variables de decisin o control y del tiempo. Para obtener resultados tiles se debe construir una rejilla de estados suficientemente fina. En cada punto de la rejilla, en cada etapa de tiempo, se deben integrar las ecuaciones de estado con cada valor admisible de las variables de decisin cuantificadas, para seleccionar aquella que minimiza el ndice de desempeo. Se generan requisitos adicionales de clculo cuando la trayectoria, calculada a partir de un punto de la rejilla no alcanza un estado cuantificado en la etapa siguiente. Para ello es necesario realizar interpolaciones para encontrar los valores de la variable de decisin o control ptima y del ndice de costo. Con un nmero del orden de cinco variables de estado, los algoritmos tradicionales de programacin dinmica exigen elevados requisitos de memoria y de tiempo de clculo a los sistemas de procesamiento digital. Esta caracterstica de la metodologa fue denominada maldicin de dimensionalidad por el propio Bellman, lo cual desalent el empleo de la programacin dinmica tradicional durante ms de veinte aos. Por otro lado, las ventajas significativas que ofrece la programacin dinmica para la solucin de problemas de control ptimo, tales como, la obtencin de una solucin ptima global, el tratamiento de sistemas no lineales y variantes, la utilizacin de cualquier ndice de desempeo, y el hecho de que cuanto ms restricciones se imponen a las variables mayor es el ahorro de tiempo de cmputo y memoria, promovieron el inters de muchos investigadores por encontrar mtodos alternativos para superar los problemas que presenta la tcnica tradicional.

Anda mungkin juga menyukai