dynamic programming 01

45
Introducción Programación Dinámica G. Edgar Mata Ortiz “Para todo problema humano hay siempre una solución fácil, clara, plausible y… equivocada” Henry-Louis Mencken (1880-1956)

Upload: matematica-de-samos

Post on 21-Jul-2015

548 views

Category:

Engineering


4 download

TRANSCRIPT

COMPANY NAMEIntroducción

Programación DinámicaG. Edgar Mata Ortiz

“Para todo problema humano hay siempre una

solución fácil, clara, plausible y… equivocada”

Henry-Louis Mencken (1880-1956)

COMPANY NAMEIntroducción

Contenido

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

• Características de la programación dinámica (PD)

• Ejemplo 1

• Reflexión

COMPANY NAMEIntroducción

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

• Es una técnica matemática que se aplica en la toma de decisiones secuenciales interrelacionadas.

• Proporciona un procedimiento, pero no un algoritmo, para determinar la combinación de decisiones que optimiza un resultado.

COMPANY NAMEIntroducción

Características de la programación dinámica

• A diferencia de la programación lineal no existe una formulación matemática estándar.

• Es una estrategia general cuyas ecuaciones se ajustan a cada situación particular

• No existe “el problema” de la programación dinámica

• Requiere de creatividad para su aplicación

𝒚 = 𝒇(𝒙)

COMPANY NAMEIntroducción

Ejemplo

• El problema de la diligencia.

• Es un problema artificial diseñado para explicar el concepto de la PD.

• Permite introducir la terminología de la PD en forma clara y comprensible

COMPANY NAMEIntroducción

EL PROBLEMA

DE LA

DILIGENCIA

Tomado del libro:

Introducción a la Investigación de Operaciones

Novena edición

Frederick S. Hillier

Gerald J. Lieberman

COMPANY NAMEIntroducción

Síntesis de la redacción del problema

• Un aventurero desea viajar en diligencia desde Missouri hasta California a mediados del siglo XIX.

• Es un viaje peligroso y, aunque su origen y destino son fijos, tiene muchas opciones en cuanto a que estados, ciudades o pueblos elegir como etapas intermedias de su viaje.

COMPANY NAMEIntroducción

Síntesis de la redacción del problema

• Este viajero ha ideado una manera bastante ingeniosa para determinar la ruta más segura.

• Dado que están disponibles seguros de vida para el viajero, seguramente la ruta con menos riesgo será aquella cuya póliza por el recorrido total sea más barata.

COMPANY NAMEIntroducción

¿Cuál es la ruta de menor costo?

Esta es la pregunta que trataremos de contestar, y servirá para introducir el vocabulario y conceptos de la programación dinámica.

COMPANY NAMEIntroducción

Caminos y costos de pólizas

A C

B

D

E

F

G

H

I

J

2

4

3

7

4

6

3

2

4

4

1

5

4

1

6

3

3

3

3

4

COMPANY NAMEIntroducción

Una solución fácil, clara, plausible y… equivocada

• La primera idea que puede venir a nuestra mente es elegir, en cada etapa, la opción de menor costo.

2

4

34

COMPANY NAMEIntroducción

Una solución fácil, clara, plausible y… equivocada

• La primera idea que puede venir a nuestra mente es elegir, en cada etapa, la opción de menor costo.

2

4

34

Trayecto Póliza

A-B 2

B-F 4

F-I 3

I-J 4

Total 13

COMPANY NAMEIntroducción

Existen mejores alternativas

• Por ejemplo, es sencillo observar que, eligiendo alguna ruta más costosa en una etapa, puede compensarse en la siguiente.

3

1

34

Trayecto Póliza

A-D 3

D-F 1

F-I 3

I-J 4

Total 11

COMPANY NAMEIntroducción

Estrategias de soluciónUn forma de resolverlo podría ser el ensayo y error; probar todas las alternativas posibles y elegir la menor. Sin embargo es un proceso largo e ineficiente.

La programación dinámica propone una forma de abordar el problema que es mucho más eficiente.

COMPANY NAMEIntroducción

Programación DinámicaCualquiera que sea la solución podemos observar que estará formada por cuatro etapas.

ETAPA 1 ETAPA 2 ETAPA 3 ETAPA 4

COMPANY NAMEIntroducción

Programación DinámicaEl análisis comienza en la etapa 4.

En la etapa cuatro solamente existen

dos rutas:

Desde H hasta J

Desde I hasta J

Cada una de ellas tiene diferente

costo, pero no existen alternativas

en cada caso, sólo existe una ruta:

Desde H hasta J, costo = 3

Desde I hasta J, costo = 4

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menorcosto

H H - J 3 3

I I - J 4 4

El menor costo, en este caso, es

el único disponible, de modo

que tomamos las dos:

H – J y también I – J.

COMPANY NAMEIntroducción

Programación DinámicaAhora tomamos en consideración la etapa 3.

En la etapa 3 se consideran

las alternativas para llegar a

los puntos H e I.

Se emplea la misma tabla que

vimos antes pero ahora se

integran los costos desde los

puntos E, F y G, y se suman

las mejores opciones de la

etapa 4.

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 4

Menorcosto

E E – HE – I

14

34

48

F F – HF – I

63

34

97

G G – HG – I

33

34

67

Se elige el menor costo por ruta

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 4

Menorcosto

E E – HE – I

14

34

48

F F – HF – I

63

34

97

G G – HG – I

33

34

67

Se elige el menor costo por ruta

COMPANY NAMEIntroducción

Programación DinámicaAhora tomamos en consideración la etapa 2.

En la etapa 2 se consideran

las alternativas para llegar a

los puntos E, F y G.

Se emplea la misma tabla que

vimos antes pero ahora se

integran los costos desde los

puntos B, C y D, y se suman

las mejores opciones de la

etapa 3 (que incluyó a la 4).

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 3

Menorcosto

B B – EB – FB – G

746

476

111112

C C – EC – FC – G

324

476

79

10

D D – ED – FD – G

415

476

88

11

Se elige el menor costo por ruta

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 3

Menorcosto

B B – EB – FB – G

746

476

111112

C C – EC – FC – G

324

476

79

10

D D – ED – FD – G

415

476

88

11

Se elige el menor costo por ruta

COMPANY NAMEIntroducción

Programación DinámicaSolamente falta revisar la etapa 1.

En la etapa 1 se

consideran las alternativas

para llegar a los puntos B,

C y D.

Se emplea la misma tabla

que vimos antes pero

ahora se integran los

costos desde el punto A y

se suman las mejores

opciones de la etapa 2

(que incluyó a la 3 y a la 4).

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 2

Menorcosto

A A – BA – CA – D

243

1178

131111

Se elige el menor costo por ruta

COMPANY NAMEIntroducción

Programación DinámicaEs conveniente representar esta información en una tabla.

Estado Rutas Costo Menor Etapa 2

Menorcosto

A A – BA – CA – D

243

1178

131111

Se elige el menor costo por ruta

como solución del problema.

Ahora solamente se leen las

tablas comenzando por la última

que se elaboró.

COMPANY NAMEIntroducción

Análisis de las tablas

• La tabla final indica que debemos elegir cualquiera de dos rutas:

• De A hacia C con un costo total de 11

• De A hacia D con el mismo costo total de 11

• Se descarta la ruta de A hacia B porque, en el mejor de los casos, se logra un costo de 13.

COMPANY NAMEIntroducción

Análisis de las tablas

• En la penúltima tabla (etapa 2) tomamos solamente las opciones de C y D con menor costo porque ya determinamos que cualquier ruta que inicia con A-B es más costosa.

Rutas de menor costo:

A – C – E

A – D – E

A – D – F

COMPANY NAMEIntroducción

Análisis de las tablas

• En la segunda tabla (etapa 3) tomamos solamente las opciones E y F debido a que la ruta que pasa por G fue eliminada en el paso anterior.

Rutas de menor costo:

A – C – E – H

A – D – E – H

A – D – F – I

COMPANY NAMEIntroducción

Análisis de las tablas

• En la primera tabla (etapa 4) tomamos solamente las opciones H e I debido a que no existen alternativas.

Rutas de menor costo:

A – C – E – H – J (Costo = 11)

A – D – E – H – J (Costo = 11)

A – D – F – I – J (Costo = 11)

COMPANY NAMEIntroducción

Solución del problemaTrayectorias de menor costo en el diagrama.

COMPANY NAMEIntroducción

Solución del problemaTrayectorias de menor costo en el diagrama.

COMPANY NAMEIntroducción

Solución del problemaTrayectorias de menor costo en el diagrama.

COMPANY NAMEIntroducción

Reflexiones acerca del problema

• Durante el proceso de solución de este problema se emplearon, sin definir, algunos términos importantes:

• Etapa

• Estado

• Política

COMPANY NAMEIntroducción

Reflexiones acerca del problema• Estos tres conceptos son fundamentales

para la programación dinámica.

COMPANY NAMEIntroducción

Reflexiones acerca del problema• Estos tres conceptos son fundamentales

para la programación dinámica.

Estado 1

Estado 2 Estado 3 Estado 4

Estado 5

COMPANY NAMEIntroducción

Reflexiones acerca del problema• Estos tres conceptos son fundamentales

para la programación dinámica.

Estado 1

Estado 2 Estado 3 Estado 4

Estado 5

Po

líti

ca

Po

líti

ca

Po

líti

ca

Po

líti

ca

COMPANY NAMEIntroducción

Reflexiones acerca del problema

• Cuando se establece el criterio de elegir el costo mínimo se plantea una política de decisión para optimizar el resultado.

COMPANY NAMEIntroducción

Reflexiones acerca del problema

• Se emplearon los conceptos de etapa y estado en las tablas de análisis de rutas por etapa.

COMPANY NAMEIntroducción

Características de un problema de PD

1. El problema se puede dividir en etapas.

2. Cada etapa requiere de una política de decisión

EL problema está formado por una serie de decisiones interrelacionadas.

COMPANY NAMEIntroducción

Características de un problema de PD

3. Cada etapa tiene cierto número de estados asociados con su inicio

Los estados pueden verse como condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema

COMPANY NAMEIntroducción

Características de un problema de PD

4. El efecto de la política de decisión es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa.

Los problemas de PD pueden interpretarse en términos de redes, la solución consiste en encontrar la trayectoria más corta o más larga.

COMPANY NAMEIntroducción

Características de un problema de PD

5. El procedimiento de solución está diseñado para encontrar una política óptima para manejar el problema completo.

En cualquier problema, la PD proporciona, no solamente la solución óptima, sino una política de decisión aplicable a cualquier circunstancia.

COMPANY NAMEIntroducción

Características de un problema de PD

6. Principio de optimalidad de la PD.

Dado el estado actual, una política óptima para las etapas restantes es independiente de la política adoptada en las etapas anteriores.

COMPANY NAMEIntroducción

GRACIAS POR SU ATENCIÓNFuentes de información en línea:

http://licmata-math.blogspot.mx/

http://www.scoop.it/t/mathematics-learning

https://www.facebook.com/licemata

https://www.linkedin.com/in/licmata

Twitter @licemata