4
Mac, Naucalpan de Juárez, México. Dirección del sitio Web [email protected] 5543892663 PROGRAMACIÓN DINÁMICA La programación dinámica es una técnica que se utiliza para resolver problemas de optimización. Esta técnica llega a la solución partiendo del final del problema hacia el principio. Los elementos más importantes: Etapas Estados Decisión: X t : se toma la decisión, es decir si estoy en i en la etapa J decido si pasar o no al siguiente nodo. Formula recursiva: f t (i,J)=d ij +f t+1 * (J) Principio de optimalidad: f t * (i)=min o máx f * (i,J) Condición a la frontera: f t * (i)=0 ¿Qué es la programación dinámica? Características Es posible dividir el problema en etapas, se requiere de una decisión en cada etapa. Cada etapa se relaciona con cierta cantidad de estados. La decisión tomada en cada etapa describe el modo de cómo se transforma el estado actual al estado siguiente en la siguiente etapa. Dado el estado actual la decisión de cada etapa restante no depende de las decisiones previamente tomadas. Contenido ¿Qué es la programación dinámica? 1 Características de la programación dinámica 1 Ventajas de uso de la programación dinámica 1 Planteamiento del modelo 2 Red asociada 2 Solución 3 Interpretación de resultados 3 Referencias 4 Si los estados de un problema se han clasificado en etapas debe existir una formula o ecuación recursiva que relacione el costo o recompensa ganada en las etapas t, t+1,.. con el costo o recompensa ganada con las etapas t+1, t+2,… La fórmula recursiva formaliza el procedimiento. 25 de noviembre del 2011 Volumen 1, número 1 Al utilizar esta técnica podemos hacer que un problema grande que a veces es difícil de resolverse se convierte en una serie de problemas pequeños y fáciles de resolver. La programación dinámica es útil para solucionar redes, inventarios y problemas de asignación de recursos. Ventajas de uso de la Programación Dinámica

Programación dinámica

Embed Size (px)

DESCRIPTION

Promoción de la programación dinámica ilustrada con un ejemplo. Elaborado por Cruz Hernandez Maria y Martínez Chavelas Saúl!

Citation preview

Page 1: Programación dinámica

Mac, Naucalpan de Juárez, México.

Dirección del sitio Web [email protected] 5543892663

PROGRAMACIÓN DINÁMICA

La programación dinámica es una técnica que se utiliza para resolver problemas de optimización. Esta técnica llega a la solución partiendo del final del problema hacia el principio. Los elementos más importantes:

Etapas

Estados

Decisión: Xt: se toma la decisión, es decir si estoy en i en la etapa J decido si pasar o no al siguiente nodo.

Formula recursiva: ft(i,J)=dij+ft+1*(J)

Principio de optimalidad: ft*(i)=min o

máx f*(i,J)

Condición a la frontera: ft*(i)=0

¿Qué es la programación

dinámica?

Características

Es posible dividir el problema en etapas, se requiere de una decisión en cada etapa.

Cada etapa se relaciona con cierta cantidad de estados.

La decisión tomada en cada etapa describe el modo de cómo se transforma el estado actual al estado siguiente en la siguiente etapa.

Dado el estado actual la decisión de cada etapa restante no depende de las decisiones previamente tomadas.

Contenido

¿Qué es la programación dinámica? 1

Características de la programación dinámica 1

Ventajas de uso de la programación dinámica 1

Planteamiento del modelo 2

Red asociada 2

Solución 3

Interpretación de resultados 3

Referencias 4

Si los estados de un problema se han

clasificado en etapas debe existir una formula o ecuación recursiva que relacione el costo o recompensa ganada en las etapas t, t+1,.. con el costo o recompensa ganada con las etapas t+1, t+2,…

La fórmula recursiva formaliza el procedimiento.

25 de noviembre del 2011

Volumen 1, número 1

Al utilizar esta técnica podemos hacer que un problema grande que a veces es difícil de resolverse se convierte en una serie de problemas pequeños y fáciles de resolver. La programación dinámica es útil para solucionar redes, inventarios y problemas de asignación de recursos.

Ventajas de uso de la Programación Dinámica

Page 2: Programación dinámica

Una campaña política se encuentra en su última etapa y las preliminares indican que la elección está pareja. Uno de los candidatos tiene suficientes fondos para comprar tiempo de TV por un total de cinco comerciales en horas de mayor audiencia en estaciones localizadas en cuatro áreas diferentes. Con base en la información de las preliminares se hizo una estimación del número de votos adicionales que se pueden ganar en las diferentes áreas de difusión según el número de comerciales que se contraten. Estas estimaciones se dan en la siguiente tabla en miles de votos:

Área

Comerciales 1 2 3 4

0 0 0 0 0 1 4 6 5 3 2 7 8 9 7 3 9 10 11 12 4 12 11 10 14 5 15 12 9 16

Planteamiento del problema

Elementos que tiene este problema

.Uso de la televisión para obtener

votos.

¿Cuántos votos necesitará para ganar?

“¿Quieres saber cómo puede

ganar más votos un

candidato a la presidencia

utilizando la programación

dinámica?”.

Página 2

Programación Dinámica Página 2 Programación Dinámica

ETAPAS: Se tendrán 5etapas que son las áreas de difusión. ESTADOS: El número de comerciales. DECISIÓN: El número de comerciales usados en cada área de difusión FORMULA RECURSIVA: ft(i, j) = dij + f*

t+1(i) PRINCIPIO DE OPTIMALIDAD: ft

*(i)=máx f*(i,J) CONDICIÓN A LA FRONTERA: f5

*(i)=0

Page 3: Programación dinámica

Página 3

Título del boletín

Página 3 Programación dinámica

Para solucionar este problema empezaremos planteando la red.

Solución

ETAPA 4 T=4 F4(i, j) = dij + f*

5(i)

i/j 0 f*4(i) Xt

5 16 16 5

4 14 14 4

3 12 12 3

2 7 7 2

1 3 3 1

0 0 0 0

Los números de la primer columna representan los nodos en la etapa 4 que nos llevan al nodo 0, en la segunda columna está el número de votos que proporcionaría el ir del nodo i al nodo j. Como nuestro problema es una maximización se elige el número de votos mayor, en este caso no hay mucho de donde elegí, los números sombreados son los que se eligen. En la columna siguiente se colocó el número de votos mayor.

Xt representa el número de comerciales asignados.

ETAPA 3 T=3 F3(i, j) = dij + f*

4(i)

i/j 5 4 3 2 1 0 f*3(i) Xt

5 16 19 21 18 13 9 21 2

4 --- 14 17 16 14 10 17 1

3 --- --- 12 12 12 11 12 (0,1,2)

2 --- --- --- 7 8 9 9 2

1 --- --- --- --- 3 5 5 1

0 --- --- --- --- --- 0 0 0

Page 4: Programación dinámica

ETAPA 2 T=2 F2(i, j) = dij + f*

3(i)

i/j 5 4 3 2 1 0 f*3(i) Xt

5 21 23 20 19 16 12 23 1

4 --- 17 18 17 15 11 18 1

3 --- --- 12 15 13 10 15 1

2 --- --- --- 9 11 8 11 1

1 --- --- --- --- 5 6 6 1

0 --- --- --- --- --- 0 0 0

El resultado es:

Areas

Comerciales asignados

1 0

2 1

3 1

4 3

Al área 1 no se le asignara ningún comercial. Al área 2 se le asignará 1 comercial al igual que al área 3. Y al área 4 se le asignaran 3 comerciales.

Con esto el candidato obtendrá 23 mil votos, con lo que tiene asegurado ganar

la campaña.

ETAPA 1 T=1 F1(i, j) = dij + f*

2(i)

i/j 5 4 3 2 1 0 f*3(i) Xt

5 23 22 22 20 18 15 23 0

De: Cruz Hernández María y Martínez Chavelas Saúl

Naucalpan de Juárez, México.

Destinado a: Alumnos de la Lic. En

Matemáticas Aplicadas y computación Facultad de Estudios Superiores Acatlán

Naucalpan de Juárez, México.

Referencias 1.-Taha Hamdy A., Investigación de Operaciones, 7ª edición. México 2004 PEARSON EDUCATION 2.-Winston Wayne L., Investigación de Operaciones aplicaciones y algoritmos, 4ª edición. México 2005 CENGAGE Learning. 3.-Blog Viva Villar Cayo © 26 de mayo del 2011. http://4.bp.blogspot.com/-s4wUDaFzoII/Td2GEUvKcII/AAAAAAAABhQ/oFRkN7AEJzQ/s640/compra_de_votos.jpg 4.- Díaz Arriero Inés Madrid España ,Martes 24 de mayo del 2011 http://1.bp.blogspot.com/-iet5u5fS4Uw/Tdt-Uw672KI/AAAAAAAAAJY/H7WIiflZXI0/s1600/urna-votos.jpg 5.-Brady Matt,posted:2 de octubre del 2008. http://www.newsarama.com/comics/100802-PresidentialMaterial.html

Programación dinámica Página 4