Sei sulla pagina 1di 10

PROGRAMACIN DINMICA

Antecedentes.

Historia: el termino programacin dinmica fue utilizado originalmente en 1940 por Richard billman para describir el proceso de resolver problemas donde se necesitan encontrar las mejores decisiones una tras otra. La contribucin de bellman es recordad en el nombre de la ecuacin de bellman, un resultado central de programacin dinmica que replantea un problema de optimizacin en forma recursiva.

Originalmente la palabra programacin en programacin dinmica no tena conexin con la programacin de computadoras y en cambio venia del trmino programacin matemtica. Sin embargo actualmente muchos problemas de optimizacin son mejor resueltos escribiendo programas de computadoras que implanta un algoritmo de programacin dinmica, lo cual resulta mejor que llevar acabo cientos de clculo a mano.

Marco terico.

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 es las que el sistema se encontrara en el futuro, y las decisiones que se plantearan en el futuro.

Conviene resaltar que a diferencia de la programacin lineal, el modelado de problemas de programacin dinmica no sigue una forma estndar. As para cada problema ser necesario especificar cada uno de los componentes que caracterizan un problema de programacin dinmica.

El procedimiento general de resolucin de estas situaciones se divide en el anlisis recursivo de cada uno de los etapas del problema, en orden inverso, es decir comenzando por la ultima y pasando en cada iteracin a la etapa antecesora. El anlisis de la primera etapa finaliza con la obtencin del ptimo del problema.

La programacin dinmica se suele utilizar en problemas de optimizacin, donde una solucin est formada por una serie de sucesiones, igual que la tcnica divide y vencers, resuelve el problema original combinando las soluciones para sub-problemas ms pequeas. Sin embargo la programacin dinmica no utiliza recursividad sin que almacene los resultados.

OBJETIVOS (G Y E).

Objetivo general Los estudiantes ser capaz de usar los mtodos de optimizacin bsicos para maximizar beneficios (o minimizar costos) de sistemas que involucran desplazamientos fsicos, procesos econmicos, etc., y que se representan matemticamente mediante sistemas de control.

Objetivos especficos

Considerando un modelo dinmico, el alumno deber distinguir las variables de estado, las variables de control admisibles, la ley de conservacin que determina el modelo.

Entender un problema de optimizacin mediante la modelacin de un sistema de control y una funcional.

Mediante ejemplos, diferenciar diferentes desempeos en un sistema de control dado y estudiar sus principales propiedades.

Estudiar los elementos bsicos del clculo de extremos de una funcional mediante el clculo de variaciones.

Para un modelo dado, describir los diferentes tipos de funcionales, as como de sus extremos correspondientes.

Describir las condiciones necesarias para la existencia del control ptimo

Precisar los problemas de tiempo mnimo y control mnimo.

Estudiar el principio de optimalizad de la programacin dinmica

Desarrollar una aplicacin de la programacin dinmica y estudiar las caractersticas de la solucin.

CONTENIDO

NATURALEZA RECURSIVA DE LOS CLCULOS DE PROGRAMACIN DINMICA (PD)

La idea principal de la programacin dinmica (PD) es descomponer el problema en subproblemas (ms manejables). Los clculos se realizan entonces recursivamente donde la solucin ptima de un subproblema se utiliza como dato de entrada al siguiente problema. La solucin para todo el problema est disponible cuando se soluciona el ltimo subproblema. La forma en que se realizan los clculos recursivos depende de cmo se descomponga el problema original. En particular, normalmente los subproblemas estn vinculados por restricciones comunes. La factibilidad de estas restricciones comunes se mantiene en todas las iteraciones

Ejemplo1 (Problema de la ruta ms corta)

Supongamos que deseamos seleccionar la ruta por carretera ms corta entre dos ciudades. La red en la figura 12.1 proporciona las posibles rutas entre la ciudad de inicio en el nodo 1 y la ciudad destino en el nodo 7. Las rutas pasan por ciudades intermedias designadas por los nodos 2 a 6

Podemos resolver este problema enumerando todas las rutas entre los nodos 1 y 7 (hay cinco rutas). Sin embargo, la enumeracin exhaustiva es computacionalmente insoluble en redes grandes.

Para resolver el problema por PD, primero lo descomponemos en etapas como se indica mediante las lneas de rayas verticales en la figura 12.2. A continuacin, realizamos por separado los clculos en cada etapa.

La idea general para determinar la ruta ms corta es calcular las distancias (acumulativas) ms cortas a todos los nodos terminales de una etapa, y luego utilizarlas como datos de entrada a la etapa inmediatamente subsiguiente. Partiendo del nodo 1, la etapa 1 llega a tres nodos terminales (2, 3 y 4) y sus clculos son simples.

Resumen de la etapa 1.

Distancia ms corta del nodo 1 al nodo 2 = 7 millas (desde el nodo 1) Distancia ms corta del nodo 1 al nodo 3 = 8 millas (desde el nodo 1) Distancia ms corta del nodo 1 al nodo 4 = 5 millas (desde el nodo 1)

Descomposicin del problema de la ruta ms corta en etapas

Luego, la etapa 2 tiene dos nodos terminales, 5 y 6. La figura 12.2 muestra que se puede llegar al nodo 5 desde los nodos 2, 3 y 4 por las rutas (2,5), (3,5) y (4,5). Esta informacin, junto con los resultados resumidos (distancias ms cortas) en la etapa 1, determina la distancia (acumulativa) ms corta al nodo 5 como.

((Distancia @mas corta))=min_(i=2,3,4) {((Distancia mas corta @al nodo i))+((Distancia del nodo i @al nodo 5)) }

((Distancia @mas corta))=min_(i=2,3,4) {(7&+&12&=&9@8&+&8&=&16@5&+&7&=&12)}=12(Desde el nodo 4)

Se puede llegar al nodo 6 slo desde los nodos 3 y 4. Por lo tanto

((Distancia mas corta @al nodo 6))=min_(i=3,4) {((Distancia mas corta @al nodo i))+((Distancia del nodo i @al nodo 6)) }

((Distancia mas corta @al nodo 6))=min_(i=3,4) {(8&+&9&=&17@5&+&13&=&18)}=17(Desde el nodo 3)

Resumen de la etapa 2.

Distancia ms corta del nodo 1 al nodo 5 = 12 millas (desde el nodo 4) Distancia ms corta del nodo 1 al nodo 6 =17 millas (desde el nodo 3)

El ltimo paso es considerar la etapa 3. Se puede llegar al nodo de destino 7 desde el nodo 5 o desde el 6. Utilizando los resultados resumidos desde la etapa 2 y las distancias de los nodos 5 y 6 al nodo 7, obtenemos

((Distancia mas corta @al nodo 7))=min_(i=5,6) {((Distancia mas corta @al nodo i))+((Distancia del nodo i @al nodo 7)) }

((Distancia mas corta @al nodo 7))=min_ {(12&+&9&=&21@17&+&6&=&23)}=21(Desde el nodo 5) Resumen de la etapa 3.

La distancia ms corta desde el nodo 1 al nodo 7 5 21 millas (desde el nodo 5). El resumen de la etapa 3 muestra que la distancia ms corta entre los nodos 1 y 7 es de 21 millas. Para determinar la ruta ptima comenzamos con el resumen de la etapa 3, donde el nodo 7 se conecta al nodo 5; en el resumen de la etapa 2 el nodo 4 se conecta al nodo 5, y en el resumen de la etapa 1 el nodo 4 se conecta al nodo 1. Por lo tanto, la ruta ms corta es 1457. El ejemplo revela las propiedades bsicas de los clculos de PD.

Los clculos en cada etapa son una funcin de las rutas factibles de dicha etapa, y slo de esa etapa. Una etapa actual est conectada a la etapa inmediatamente precedente slo (sin tener en cuenta las etapas anteriores) con base en el resumen de distancias ms cortas de la etapa inmediatamente precedente

ECUACIN RECURSIVA.

Esta seccin muestra cmo pueden expresarse matemticamente los clculos recursivos en el ejemplo. Sea f_i=(x_i) la distancia ms corta al nodo x_i en la etapa i, y defina d(x_(i-1),x_i) como la distancia del nodo x_i

La ecuacin recursiva de PD se define como

f_0=(x_0=1)=0

f_i (x_i )=min_(Todas factibles (x_(i-1),x_i )Rutas) {d(x_(i-1),x_i )+ f_(i-1) (x_(i-1) ) },i=1,2,3

Todas las distancias se miden desde 0 al establecer f_0 (x_0=1)=0. La ecuacin recursiva principal expresa la distancia ms corta f_i (x_i)siguiente nodo, x_i en la etapa i como una funcin del siguiente nodo x_i, En terminologa de PD, x_ise conoce como el estado en la etapa i. El estado conecta las etapas sucesivas de una manera que permite tomar decisiones factibles ptimas en una etapa futura independientemente de las decisiones que se hayan tomado en todas las etapas precedentes. La definicin del estado conduce al siguiente marco unificador para la PD.

PRINCIPIO DE OPTIMALIDAD.

Las decisiones futuras para todas las etapas futuras constituyen una poltica ptima independientemente de la poltica adoptada en todas las etapas precedentes. La implementacin del principio de optimalidad es evidente en los clculos del ejemplo1. En la etapa 3, los clculos recursivos en el nodo 7 utilizan la distancia ms corta a los nodos 5 y 6 (es decir, los estados de la etapa 2) sin preocuparse sobre cmo se llega a los nodos 5 y 6 desde el nodo de inicio 1.

El principio de optimalidad no aborda los detalles de cmo se optimiza un subproblema. La razn es la naturaleza genrica del subproblema. Puede ser lineal o no lineal, y la cantidad de alternativas puede ser finita o infinita. Todo lo que hace el principio de optimalidad es descomponer el problema original en subproblemas ms manejables computacionalmente

RECURSIVIDAD HACIA ADELANTE (AVANCE) Y HACIA ATRS (RETROCESO)

El ejemplo1 utiliza la recursividad hacia adelante en la cual los clculos proceden de la etapa 1 a la etapa 3. El mismo ejemplo puede resolverse por medio de recursividad hacia atrs, comenzando en la etapa 3 y terminando en la etapa 1. Naturalmente, la recursividad hacia adelante y hacia atrs da la misma solucin ptima. Aun cuando el procedimiento hacia adelante parece ms lgico, la mayor parte de la literatura de PD utiliza la recursividad hacia atrs. La razn de esta preferencia es que, por lo general, la recursividad hacia atrs puede ser ms eficiente desde el punto de vista computacional. Demostraremos el uso de la recursividad hacia atrs aplicndola al ejemplo1. La demostracin tambin nos brindar la oportunidad de presentar los clculos de PD en una forma tabular compacta

Ejemplo2:

La ecuacin recursiva inversa para el ejemplo 12.2-1 es

f_0=(x_0=1)=0

f_i (x_i )=min_(Todas factibles (x_(i-1),x_i )Rutas) {d(x_(i-1),x_i )+ f_(i-1) (x_(i-1) ) },i=1,2,3

El orden de los clculos es f_3f_2f_1

Etapa 3. El nodo 7(x_3=7) est conectado a los nodos 5 y 6(x_3=6)exactamente con unaruta cada uno. La siguiente tabla resume los clculos de la etapa 3:

d(x_3,x_4 ) x_3 5 6 6 6 7 9 9 7

Solucin Optima x_4

x_4=7 f_3 (x_3 )

Etapa 2. La ruta (2,6) no existe. Dada f_3 (x_3 ) desde la etapa 3, podemos comparar las alternativasfactibles como se muestra en la siguiente tabla

d(x_2,x_3 )+f_3 (x_3 ) x_2 2 3 4 12 + 9 = 21

Solucin Optima x_3

x_3=5 x_3=6 f_2 (x_2 )

8 + 9 = 17 7 + 9 = 16 9 + 6 = 15 13 + 6 = 19 15 16 6 5 5 21 -

La solucin ptima de la etapa 2 se lee como sigue: Para las ciudades 2 y 4, la ruta ms corta pasa por las ciudad 5; y para la ciudad 3, la ruta ms corta pasa por la ciudad 6.

Etapa 1. Partiendo del nodo 1, tenemos las rutas alternativas: (1,2), (1,3) y (1,4). Utilizando f_2 (x_2 )de la etapa 2, obtenemos.

d(x_1,x_2 )+f_2 (x_2 ) x_1 1

Solucin Optima x_2 21 4

x_2=2 x_2=3 x_2=4 f_1 (x_1 ) 7 + 21 = 28 8 + 15 = 23

5 + 16 = 21

La solucin de la etapa 1 conecta la ciudad 1 con la ciudad 4. Luego, la solucin de la etapa 2 conecta la ciudad 4 con la ciudad 5. Por ltimo, la solucin de la etapa 3 conecta la ciudad 5 con la ciudad 7. La ruta ptima es 1457, y la distancia asociada es de 21 millas.

Potrebbero piacerti anche