¡Descarga Programación Dinámica: Un Enfoque para la Toma de Decisiones y más Apuntes en PDF de Matemáticas Aplicadas solo en Docsity!
HERRAMIENTAS PARA LA
TOMA DE DECISIONES
SESION 7
LA PROGRAMACIÒN DINAMICA
Es una técnica de programación matemática que proporciona un
procedimiento sistemático para determinar la combinación óptima de
una serie de decisiones interrelacionadas.
- (^) CONCEPTUALIZACIÒN DE PROGRAMACION DINAMICA
Se trata de un enfoque de tipo general para la solución de problemas y
las ecuaciones específicas que se usan se deben desarrollar para que
representen cada situación individual.
Se necesita un cierto grado de creatividad y un buen conocimiento de la
estructura general de de los problemas de Programación Dinámica para
reconocer cuándo y cómo se puede resolver un problema por medio de
estos procedimientos.
HERRAMIENTAS PARA LA TOMA DE DECISIONES ING. JORGE CACERES T 2
ETAPAS
- (^) 1. Etapas: El problema se puede dividir en etapas que requieren una
política de decisión en cada una de ellas.
- (^) 2. Estados asociados: Cada etapa tiene cierto número de estados
asociados con su inicio.
- (^) 3. Política de decisión: El efecto de la política de decisión en cada etapa
es transformar el estado actual en un estado asociado con el inicio de la
siguiente etapa.
- (^) 4. Diseño de solución: El procedimiento de solución está diseñado para
encontrar una política óptima para el problema completo, es decir, una
receta para la política de decisión óptima en cada etapa para cada uno de
los estados posibles.
HERRAMIENTAS PARA LA TOMA DE DECISIONES ING. JORGE CACERES T 4
- (^) 5. Principio de optimalidad: Dado el estado actual, una política óptima
para las etapas restantes es independiente de la política adoptada en
etapas anteriores. b. La decisión inmediata óptima depende sólo del
estado actual y no de cómo se llegó ahí.
- (^) 6. Inicio de solución: El procedimiento de solución se inicia al encontrar
una política óptima para la última etapa.
- Relación recursiva: Se dispone de una relación recursiva que identifica
la política óptima para la etapa n, dada la política óptima para la etapa n +
- (^) 8. Retroceso: Cuando se use esta relación recursiva, el procedimiento de
solución comienza al final y se mueve hacia atrás etapa por etapa –
encontrando cada vez la política óptima para esa etapa – hasta que se
encuentra la política óptima desde la etapa inicial.
HERRAMIENTAS PARA LA TOMA DE DECISIONES ING. JORGE CACERES T 5
ING. JORGE CACERES T 7 HERRAMIENTAS PARA LA TOMA Ahora considere el siguiente caso:
- (^) Una persona debe conducir desde Lima (nodo 1) hacia su ciudad natal
(nodo 10), pasando por ciertas ciudades intermedias.
- (^) Los números que se indican sobre cada arco representan el tiempo (en
horas) que demora conducir entre una ciudad y otra.
- El problema es determinar la ruta que demande el menor tiempo.
ING. JORGE CACERES T 8 HERRAMIENTAS PARA LA TOMA Una manera de resolver el problema sería la siguiente:
- (^) Enumerar exhaustivamente cada ruta posible desde el nodo 1
hasta el nodo 10, hallar el tiempo total y elegir aquella que
posea el menor tiempo total (puede haber más de una
solución)
- (^) Las rutas 7, 13 y 16 son las que demandan el menor tiempo (11 horas) Ruta # Secuencia Tiempo Total Ruta # Secuencia Tiempo Total 1 1-2-5-8-10 2+7+1+3 =13 10 1-3-6-9-10 4+2+3+4 = 2 1-2-5-9-10 2+7+3+4 =16 11 1-3-7-8-10 4+4+3+3 = 3 1-2-6-8-10 2+4+6+3 =15 12 1-3-7-9-10 4+4+3+4 = 4 1-2-6-9-10 2+4+3+4 =13 13 1-4-5-8-10 3+4+1+3 = 5 1-2-7-8-10 2+6+3+3 =14 14 1-4-5-9-10 3+4+3+4 = 6 1-2-7-9-10 2+6+3+4 =15 15 1-4-6-8-10 3+1+6+3 = 7 1-3-5-8-10 4+3+1+3 =11 16 1-4-6-9-10 3+1+3+4 = 8 1-3-5-9-10 4+3+3+4 =14 17 1-4-7-8-10 3+5+3+3 = 9 1-3-6-8-10 4+2+6+3 =15 18 1-4-7-9-10 3+5+3+4 =
ING. JORGE CACERES T 10 HERRAMIENTAS PARA LA TOMA ¿Existe una manera más eficiente para resolver el problema?
- (^) Por supuesto que sí.
- (^) En vez de resolver el problema desde el nodo 1 al nodo 10, lo resolveremos “de atrás hacia adelante” (del nodo 10 al nodo 1): - (^) Sea f(i): El tiempo total más corto
desde el nodo i al nodo 10.
- (^) El tiempo total más corto desde el
nodo 8 al nodo 10 es: f(8) = 3 y
desde el nodo 9 al nodo 10 es: f(9)
f( 8 ) = 3
f( 9 ) = 4
ING. JORGE CACERES T 11 HERRAMIENTAS PARA LA TOMA Luego:
- (^) Debido a que hay dos rutas que parten desde el nodo 5, el
tiempo total más corto desde el nodo 5 al nodo 10 es el mínimo
entre el tiempo total pasando por el nodo 8 y el tiempo total
pasando por el nodo 9, es decir: f(5) = Mín{1+3, 3+4} = 4
- (^) Se aplica el mismo razonamiento en los nodos 6 y 7: 5 6 7
f( 8 ) = 3 f( 9 ) = 4 f( 5 ) = Mín { 1 + 3 ; 3 + 4 } f( 5 ) = Mín { 4 ; 7 } = 4 f( 6 ) = Mín { 6 + 3 ; 3 + 4 } = 7 f( 7 ) = Mín { 3 + 3 ; 3 + 4 } = 6
ING. JORGE CACERES T 13 HERRAMIENTAS PARA LA TOMA Finalmente, se procede de manera similar con el nodo 1 1 2 3 4 5 6 7 8 9 10 3 4 2 7 2 5 4 4 3 1 4 6 1 3 6 3 3 3 3 4 f( 8 ) = 3 f( 9 ) = 4 f( 5 ) = 4 f( 6 ) = 7 f( 7 ) = 6 f( 2 ) = 11 f( 3 ) = 7 f( 4 ) = 8 f( 1 ) = Mín { 2 + 11 ; 4 + 7 ; 3 + 8 } = 11
ING. JORGE CACERES T 14 HERRAMIENTAS PARA LA TOMA El tiempo más corto desde el nodo 1 hacia el nodo 10 es de 11 horas.
- (^) El tiempo más corto lo poseen 3 rutas:
f( 8 ) = 3
f( 9 ) = 4
f( 5 ) = 4
f( 6 ) = 7
f( 7 ) = 6
f( 2 ) = 11
f( 3 ) = 7
f( 4 ) = 8
f( 1 ) = 11
ING. JORGE CACERES T 16 HERRAMIENTAS PARA LA TOMA ¿Y si se tuviese la siguiente red?
- (^) ¿Cuántas sumas y cuántas comparaciones se debe hacer para
hallar el camino más corto entre el nodo 1 y el nodo 27?
- (^) Compare por enumeración exhaustiva y “de atrás hacia delante”. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
ING. JORGE CACERES T 17 HERRAMIENTAS PARA LA TOMA
- (^) Principio de optimalidad
- (^) En una sucesión óptima de decisiones u opciones, toda subsecuencia debe ser también óptima - (^) En el algoritmo de devolver el cambio - (^) c[i,j] forma óptima de devolver j con monedas 1..i - (^) c[i-1,j] y c[i,j-di] son también soluciones óptimas de los casos que representan - (^) Sólo nos interesaba c[n,N], pero el resto de entradas también proporcionan soluciones óptimas
- Si el principio no es aplicable en un escenario, es probable que no sea posible utilizar programación dinámica - Cuando se trata de utilización óptima de recursos no se aplica del mismo modo - (^) Camino más corto entre A-C que pasa por B: A-B y B-C son también los más cortos - Camino más rápido entre A-C que pasa por B: no implica necesariamente que A-B o B-C tengan que ser también los más rápidos - (^) Los subcasos tienen que ser independientes
Problema de la Mochila en Programación Entera resuelto con Solver HERRAMIENTAS PARA LA TOMA DE DECISIONES ING. JORGE CACERES T 19
ING. JORGE CACERES T 20 HERRAMIENTAS PARA LA TOMA
- (^) El problema de la mochila
- (^) N objetos, i=1,...,n wi>0 y vi>0 (peso y valor)
- W: peso máximo de la mochila
- Objetivo: llenar la mochila maximizando el valor y respetando la limitación de capacidad - (^) xi=0 no cogemos el objeto i; xi=1 si cogemos el objeto i - (^) Maximizar: xivi cumpliendo que xiwiW - (^) No se pueden fragmentar los objetos - (^) El algoritmo voraz no funcionaba sin fragmentar (...)
- (^) PD:
- (^) Tabla V[1..n,0..W]: una fila por objeto; una columna por peso
- (^) V[i,j]: valor máximo de los objetos que podemos transportar con un límite de peso j, 0 j W, incluyendo los objetos numerados desde 1 a i, 1 i n
- Solución: V[n,W]
- (^) V[i,j]=max(V[i-1,j],V[i-1,j-wi]+vi)
- (^) V[i,0]=0 si j0; V[0,j]=0 cuando j 0 y V[i,j]=-, i cuando j<0 (...)
- Análisis del algoritmo con p.d.:
- Construir la tabla (n·W)
- (^) Composición de la carga óptima O(n+w)