La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACION DINAMICA

Presentaciones similares


Presentación del tema: "PROGRAMACION DINAMICA"— Transcripción de la presentación:

1 PROGRAMACION DINAMICA
NATURALEZA RECURSIVIDAD DE LOS CALCULOS DE PROGRAMACION DINAMICA (PD).- La idea principal de la PD es descomponer el problema en subproblemas (más manejables). Los cálculos se realizan entonces recursivamente donde la solución óptima de un subproblema se utiliza como dato de entrada para el siguiente problema. La solución para todo el problema está disponible cuando se soluciona el último subproblema. La forma en que se realizan los cálculos recursivos depende de cómo se descomponga el problema original. En particular, normalmente los subproblemas están vinculados por restricciones comunes. La factibilidad de estas restricciones comunes en todas las iteracciones.

2 PROGRAMACION DINAMICA
Ejemplo (Problema de la ruta más corta) Supongamos que deseamos seleccionar la ruta por carretera más corta entre dos ciudades. La red proporciona las posibles rutas entre la ciudad de inicio nodo 1 y la ciudad desino nodo 7. Las rutas pasan por ciudades intermedias designadas por los nodos 2 a 6 1 3 2 5 4 6 7 8 12 9 13 2 2 12 7 5 5 8 8 9 1 3 3 9 7 5 7 6 6 6 4 4 13 Podemos resolver este problema enumerando todas las rutas entre los nodos 1 y 7(hay 5 rutas). Sin embargo, la numeración exhaustiva es computacionalmente insoluble en redes grandes. Para resolver el problema por PD, primero lo descomponemos en ETAPAS como se indica mediante las líneas a rayas verticales, luego realizamos los cálculos en cada etapa. La línea general para determinar la ruta más corta es calcular las distancias (acumulativas) más cortas en todos los nodos terminales de una etapa, y luego utilizarlas como datos de entrada a la etapa subsiguiente. Partiendo del nodo 1, la etapa llega a tres nodos terminales (2,3y 4) y sus cálculos son simples. Distancia más corta del nodo 1 al 2 = 7 millas (desde nodo 1) Distancia más corta del nodo 1 al 3 = 8 millas (desde nodo 1) Distancia más corta del nodo 1 al 4 = 5 millas (desde nodo 1)

3 PROGRAMACION DINAMICA
Ejemplo (Problema de la ruta más corta) Supongamos que deseamos seleccionar la ruta por carretera más corta entre dos ciudades. La red proporciona las posibles rutas entre la ciudad de inicio nodo 1 y la ciudad desino nodo 7. Las rutas pasan por ciudades intermedias designadas por los nodos 2 a 6 1 3 2 5 4 6 7 8 12 9 13 2 2 12 7 5 5 8 8 9 1 3 3 9 7 5 7 6 6 6 4 4 13 Podemos resolver este problema enumerando todas las rutas entre los nodos 1 y 7(hay 5 rutas). Sin embargo, la numeración exhaustiva es computacionalmente insoluble en redes grandes. Para resolver el problema por PD, primero lo descomponemos en ETAPAS como se indica mediante las líneas a rayas verticales, luego realizamos los cálculos en cada etapa. La línea general para determinar la ruta más corta es calcular las distancias (acumulativas) más cortas en todos los nodos terminales de una etapa, y luego utilizarlas como datos de entrada a la etapa subsiguiente. Partiendo del nodo 1, la etapa llega a tres nodos terminales (2,3y 4) y sus cálculos son simples. Distancia más corta del nodo 1 al 2 = 7 millas (desde nodo 1) Distancia más corta del nodo 1 al 3 = 8 millas (desde nodo 1) Distancia más corta del nodo 1 al 4 = 5 millas (desde nodo 1)

4 PROGRAMACION DINAMICA
1 3 2 5 4 6 7 8 12 9 13 2 2 12 7 5 8 8 5 9 1 3 3 9 7 5 7 6 6 6 4 4 13 Luego la segunda etapa tiene dos nodos terminales, 5 y 6. La figura muestra que se puede llegar al nodo 5 desde los nodos 2 y 3 por las rutas (2,5), (3,5) y (4,5). Esta información, junto con los resultados resumidos (distancias más cortas) en la etapa 1, determina la distancia (acumulativa) más corta al nodo 5 como

5 PROGRAMACION DINAMICA
Ecuación de Recursividad .- Esta sección muestra como puede expresarse matemáticamente los cálculos recursivos. La ecuación de recursividad de PD se define como: fo ( Xo = 1 ) = 0 fi (x1) = min { d(xi-1 , xi ) + f i-1 (xi-1) } La ecuación recursiva principal expresa la distancia más corta fi (x1) en la etapa i como una función del siguiente nodo. En terminología de PD, xi se conoce como estado en la etapa i. El estado conecta las etapas sucesivas de una marera que permite tomar decisiones factibles óptimas en una etapa futura independiente de las decisiones que se hayan tomado en todas las etapas precedentes. Recursividad hacia Adelante (avance) y hacia atrás (retroseso).- El ejemplo utiliza recursividad hacia adelante los cálculos proceden de la etapa 1 a la etapa 3.. El mismo ejemplo puede resolverse por medio de recursividad hacia atrás, comenzando en la etapa 3 y terminando en la etapa 1. La recursividad hacia adelante y hacia atrás dan la misma solución optima. Aun cuando el procedimiento hacia adelante parece más lógico la mayor parte de la literatura de PD utiliza la recursividad hacia atrás. La razones que , por lo general, la recursividad hacia atrás puede ser más eficiente desde el punto de vista computacional.

6 PROGRAMACION DINAMICA
Ejemplo de recursividad hacia atrás.- fi (x1) = min { d(xi , xi+1 ) + fi+1 (xi+1) } , i = 1, 2, 3 Etapa 3 : Nodo 7 (x4 = 7) conectado a N5 y N6 (x3 = 5 y 6) d(x3,x4) Solución óptima x3 x4 = 7 f3(x3) x4 5 9 7 6 1 3 2 5 4 6 7 8 12 9 13 Etapa 2 : d(x2,x3) + f3(x3) Solución óptima x2 x5 = 5 x5 = 6 f2(x2) X3 2 = 21 21 5 3 =17 =15 15 6 4 = 16 =19 16 Elementos Básicos del modelo PD Definición de etapas Definición de alternativas en cada etapa Definición de los estados para cada etapa Etapa 1 : d(x1,x2) + f2(x2) Solución óptima x2 x2 = 2 x2 = 3 x2 = 4 f1(x1) X2 1 = 28 = 23 =21 21 4


Descargar ppt "PROGRAMACION DINAMICA"

Presentaciones similares


Anuncios Google