Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Programacion dinamica

960 views

Published on

  • Login to see the comments

  • Be the first to like this

Programacion dinamica

  1. 1. Profesora Amelia Malave Bachiller Narlyn Díaz Instituto Universitario Politécnico Santiago Mariño Extensión Maturín Escuela de Ingeniería Industrial
  2. 2. Es una técnica que parte del principio de no calcular dos veces la misma información, por lo tanto se utilizan estructuras de almacenamiento como vectores, tablas, arreglos, archivos, con el fin de almacenarlos resultados parciales, que contribuyan a la solución final.
  3. 3. A pesar de esta característica de toma de decisiones secuenciales, los problemas que pueden ser atacados con la PD tienen otras dos propiedades adicionales. Sólo un número reducido de variables se debe conocer en cualquier etapa con el fin de describir al problema. En efecto, los problemas de la PD se caracterizan por la dependencia de los resultados derivados de decisiones sobre un número reducido de variables.  El resultado de una decisión en cualquier etapa altera los valores numéricos de un número reducido de variables relevantes al problema.
  4. 4. Este algoritmo evita calcular dos veces la misma información, manteniendo una tabla de resultados conocidos, la cual se va llenando a medida que se resuelven los sub-casos. La programación dinámica se aplica no solo por razones de eficiencia, sino porque permite resolver de manera eficiente problemas que no se pueden resolver por otras metodologías.
  5. 5. Programación de producción e inventarios Problema de la mochila Problema de la diligencia
  6. 6. Se emplea típicamente para resolver problemas de optimización. Permite resolver problemas mediante una secuencia de decisiones, Como el esquema voraz. A diferencia del esquema voraz, se producen varias secuencias de decisiones y solamente al final se sabe cuál es la mejor de ellas. Está basada en el principio de optimalidad de Bellman.
  7. 7. La programación dinámica se adapta bien a problemas de carácter secuencial como por ejemplo:  Búsqueda del camino mas corto entre dos puntos. Planificación de tarea. Gestión de recursos escasos. Gestión de Stocks. Coordinación Hidrotermica .
  8. 8. Hay dos condiciones que se deben cumplir antes de comenzar a pensar en una solución a un problema de optimización usando programación dinámica. Sub-estructura optima. Un problema tiene sub-estructura ´optima cuando la solución ´optima a un problema se puede componer a partir de soluciones optimas de sus sub-problemas.  Superposición de Problemas. El calculo de la solución optima implica resolver muchas veces un mismo sub-problemas. La cantidad de sub- problema es “pequeña”.
  9. 9. Ejemplo de un problema de camino simple; Suponga que usted vive en una ciudad cuyas calles están distribuidas de la manera siguiente: Todas las calles son de un solo sentido y que el número mostrado en el mapa representa el esfuerzo, (usualmente tiempo y algunas veces costo de distancia) requerido para atravesar cada bloque ,individualmente. Se desea encontrar el mínimo de esfuerzo total para ir de A a B. Este problema puede ser resuelto enumerando todos los posibles caminos de A a B; sumando esfuerzos, bloque tras bloque de cada camino y escogiendo la suma más pequeña. Existen 20 caminos diferentes ,100 adiciones y 19 comparaciones. No. de caminos diferentes = 20 Numero de adiciones = 100 Numero de comparaciones = 19 donde N es el numero de etapas (vértices) de A a B. (numero de elementos a sumar) A esta enumeración se le denomina FUERZA BRUTA
  10. 10.  Aplicando PROGRAMACION DINAMICA Denote Sc como el esfuerzo mínimo de C a B. SD como el esfuerzo mínimo de D a B. No se sabe si ir diagonalmente hacia arriba o diagonalmente hacia abajo; adicionalmente se conocen 2 números;  a) El esfuerzo total requerido para llegar a C a B por el mejor camino (mínimo esfuerzo).  b) El esfuerzo total requerido para llegar de D a B por el mejor camino. Se añade Sc el esfuerzo requerido para ir de A a C obteniendo el esfuerzo requerido de el mejor camino empezando diagonalmente hacia arriba.  Lo mismo se le hace a SD mas el esfuerzo para ir de A a D pero diagonalmente hacia abajo. Se comparan las sumas para encontrar el esfuerzo total mínimo la primera mejor decisión. Pero Sc y SD aun son desconocidas. Sin embargo una de las principales ideas de PROGRAMACION DINAMICA a hecho una inofensiva aparición.
  11. 11.  I) Únicamente los esfuerzos a lo largo del mejor camino de C a B y de D a B son relevantes para los cálculos anteriores y los esfuerzos de los restantes caminos (9 de cada uno) no necesitan ser calculados. Esta observación es llamada El principio de Optimalidad el cual dice; El mejor camino de A a B tiene la propiedad de que cualesquiera que sea la decisión inicial en A, el camino restante a B, empezando del próximo punto después de A, debe ser el mejor camino desde ese punto a B. Principio de optimalidad de Bellman; Un camino óptimo tiene la siguiente propiedad; Una vez que el primer paso es tomado, los pasos restantes deberán ser una solución óptima para el nuevo problema, con un reducido número de etapas ahora escribiendo la formula 1+Sc SA = min 0+SD esta justifica lo anterior enunciado II) La segunda de las principales ideas dice que mientras los dos números Sc y SD son desconocidos inicialmente, se puede calcular Sc si son desconocidos SE y SF (mínimo esfuerzo de E y F a B.) 5+SE 7+SF Sc= min y SD =min 4+SF 3+SG Para poder obtener SE,SF y SG es necesario calcular SI, SJ, SH y SK y estos dependen de SL, SM y SN los cuales a su vez dependen de So y SP. SO y SP pueden ser fácilmente calculados y trabajado en forma de Retroceso (hacia atrás) de O y P a A podemos obtener los deseados cálculos. SO=2 SP=1 2+SO =4 ← SL =5+SO=7 SM= min
  12. 12. 8+SP =9 SH =3+SL=10 SN= 4+SP = 5 2+SM = 6 ← SK=2+SN=7 SJ =min 2+SN = 7 3+SL = 10 SI= min 4+SM = 8 ← 2+SH = 12 1+SI = 9 SE= min 1+SI = 9← SF= min 2+SJ = 8 ← 5+SJ = 11 7+SF = 15 SG= min 4+SK = 11← SD =min3+SG = 14 ← 5+SE = 14 1+SC = 13 SC=min 4+SF = 12 ← SA =min 0+SD = 14 ←
  13. 13. Punto óptimo próximo de cada punto inicial PO =B PP =B PL =O PM =O PN =P PH =L PI =M PJ =M PK =N PE =I PF =J PG =J o K PA =C PD =G Pc =F CAMINO OPTIMO A - C - F - J - M - O - B; 1 + 4 + 2 + 2 + 2 + 2 = 13

×