Pr_dinamica2 - Programación dinámica Introducción ❖ Recordemos el problema de la mochila – Se tienen n objetos fraccionables y una mochila

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Programación dinámica: Introducción ❖ Recordemos el problema de la mochila: – Se tienen n objetos fraccionables y una mochila. – El objeto i tiene peso p i y una fracción x i (0≤ x i ≤1) del objeto i produce un beneficio b i x i . – El objetivo es llenar la mochila, de capacidad C , de manera que se maximice el beneficio. ❖ Una variante: la “mochila 0-1” – x i sólo toma valores 0 ó 1, indicando que el objeto se deja fuera o se mete en la mochila. – Los pesos, p i , y la capacidad son números naturales. Los beneficios, b i , son reales no negativos. maximizar b i x i 1 ≤ i ≤ n ∑ sujeto a p i x i 1 ≤ i ≤ n ∑ ≤ C con 0 ≤ x i ≤ 1, b i 0, p i 0, 1 ≤ i ≤ n ❖ Ejemplo: n =3 C =15 ( b 1 , b 2 , b 3 )=(38,40,24) ( p 1 , p 2 , p 3 )=(9,6,5) ❖ Recordar la estrategia voraz: – Tomar siempre el objeto que proporcione mayor beneficio por unidad de peso. – Se obtiene la solución: ( x 1 , x 2 , x 3 )=(0,1,1), con beneficio 64 – Sin embargo, la solución óptima es: ( x 1 , x 2 , x 3 )=(1,1,0), con beneficio 78 ❖ Por tanto, la estrategia voraz no calcula la solución óptima del problema de la mochila 0-1. Programación dinámica: Introducción ❖ Técnica de programación dinámica – 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 sólamente al final se sabe cuál es la mejor de ellas. – Está basada en el principio de optimalidad de Bellman : “Cualquier subsecuencia de decisiones de una secuencia óptima de decisiones que resuelve un problema también debe ser óptima respecto al subproblema que resuelve.” Programación dinámica: Introducción R. Bellman: Dynamic Programming , Princeton University Press, 1957. – Supongamos que un problema se resuelve tras tomar un secuencia d 1 , d 2 , …, d n de decisiones. – Si hay d opciones posibles para cada una de las decisiones, una técnica de fuerza bruta exploraría un total de d n secuencias posibles de decisiones (explosión combinatoria). – La técnica de programación dinámica evita explorar todas las secuencias posibles por medio de la resolución de subproblemas de tamaño creciente y almacenamiento en una tabla de las soluciones óptimas de esos subproblemas para facilitar la solución de los problemas más grandes....
View Full Document

This note was uploaded on 02/17/2012 for the course INGENIERIA ng taught by Professor Gn during the Spring '12 term at UDO VE.

Page1 / 70

Pr_dinamica2 - Programación dinámica Introducción ❖ Recordemos el problema de la mochila – Se tienen n objetos fraccionables y una mochila

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online