PROGRAMACI ÓN DINÁMICA

10
INSTITUTO TECNOLÓGICO DE ALVARADO PROGRAMACI ÓN DINÁMICA INVESTIGACIÓN DE OPERACIONES II

Transcript of PROGRAMACI ÓN DINÁMICA

Page 1: PROGRAMACI ÓN DINÁMICA

INSTITUTO TECNOLÓGICO DEALVARADO

PROGRAMACIÓN DINÁMICAINVESTIGACIÓN DE OPERACIONES II

Page 2: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 1

CONTENIDO

Introducción……………………………………………………………………………………………2

Programación Dinámica……………………………………………………………………………….3

1.1 Características de los problemas de programación dinámica……………………………………...3

1.2 Ejemplos de programación dinámica……………………………………………………………...4

El problema de la diligencia…………………………………………………………………………...4

1.3 Programación dinámica determinista……………………………………………………………...8

Aplicaciones de programación dinámica determinística………………………………………………8

Modelo del tamaño de la fuerza de trabajo……………………………………………………………9

Modelo de reposición de equipo……………………………………………………………………..11

1.4 Programación dinámica probabilista……………………………………………………………..15

Aplicaciones de programación dinámica probabilísticas…………………………………………….15

Un juego aleatorio……………………………………………………………………………………16

1.5 Uso de programas de computación………………………………………………………………19

Bibliografía…………………………………………………………………………………………...24

Page 3: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 2

Introducción

La PD fue desarrollada por Richard Bellman y G B Dantzing. Sus importantes

contribuciones sobre esta técnica cuantitativa de toma de decisiones se publicaron en 1957

en un libro del primer autor denominado “Dynamic Programming” (Princeton University

Press. Princeton, New Jersey) (Domínguez, 2000).Inicialmente a la PD se le denominó

programación lineal estocástica ó problemas de programación lineal con incertidumbre.

La programación dinámica (PD) determina la solución óptima de un problema de n

variables descomponiéndola en n etapas, con cada etapa incluyendo un sub problema de

una sola variable. La principal contribución de la PD es el principio de optimalidad, el cual

establece que una política óptima consiste de sub políticas óptimas, un marco de

referencia para descomponer el problema en etapas.

La programación dinámica es una técnica que se puede aplicar para resolver muchos

problemas de optimización. La mayor parte de las veces, la programación dinámica obtiene

soluciones con un avance en reversa, desde el final de un problema hacia el principio con

lo que un problema grande y engorroso se convierte en una serie de problemas más

pequeños y más tratables.

Así, la programación dinámica se puede definir como una técnica matemática útil que

resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las

decisiones futuras. Proporciona un procedimiento sistemático para determinar la

combinación de decisiones que maximiza la efectividad total (Taha, 2004).

En contraste para el problema de programación dinámica, trata de un enfoque de tipo

parcial para la solución de problemas y las ecuaciones específicas que se usan se deben

desarrollar para que represente cada situación individual.

Page 4: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 3

PROGRAMACIÓN DINÁMICA

1.1 Características de los problemas de programación dinámica

Las características de la programación dinámica se emplean para formular e identificar la

estructura de los problemas de este tipo.

A continuación se presentarán estas características básicas que distinguen a los

problemas de programación dinámica.

1. El problema se puede dividir en etapas que requieren una política de decisión en

cada una de ellas. En muchos problemas de programación dinámica, la etapa es la

cantidad de tiempo que pasa desde el inicio del problema, en ciertos casos no se

necesitan decisiones en cada etapa.2. Cada etapa tiene un cierto número de estados asociados a ella. Por estado se

entiende la información que se necesita en cualquier etapa para tomar una decisión

óptima.3. El efecto de la política de decisión en cada etapa es transformar el estado actual en

un estado asociado con la siguiente etapa (tal vez de acuerdo a una distribución de

probabilidad).4. El procedimiento de solución está diseñado para encontrar una política óptima para

el problema completo, es decir, una receta para las decisiones de la política óptima

en cada etapa para cada uno de los estados posibles.5. Dado el estado actual, una política óptima para las etapas restantes es

independiente de la política adoptada en etapas anteriores. (este es el principio de

óptimalidad para la programación dinámica). En general en los problemas de PD, el

conocimiento del estado actual del sistema expresa toda la información sobre su

comportamiento anterior, y esta información es necesario para determinar la política

óptima de ahí en adelante. 6. El procedimiento de solución se inicia al encontrar la política óptima para la última

etapa. La política óptima para la última etapa prescribe la política óptima de decisión

para cada estado posible en esa etapa. 7. Se dispone de una relación recursiva que indica la política óptima para la etapa

dada la política optima para la etapa (n+1)

A pesar de esta característica, 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. La decisión actual ni

Page 5: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 4

incrementa ni decrementa el número de factores sobre los cuales depende el

resultado. Así, para la siguiente decisión en la secuencia, el mismo número de

variables se considera (Hillier, 1991).

En un problema de PD una serie de decisiones se deben tomar en una secuencia dada.

Cuando esto se cumple, una política óptima se debe perseguir. No importa cuáles fueron

los estados y decisiones iniciales, las decisiones restantes constituirán una política óptima

con respecto al estado resultante de la primera decisión.

1.2 Ejemplos de Modelo de Programación Dinámica.

El problema de la diligencia.

Un problema construido especialmente por el Profesor H M Wagner de la Universidad de

Stanford para ilustrar las características e introducir la terminología de la PD es elproblema de la diligencia.

Este problema se refiere a un vendedor mítico que tuvo que viajar hacia el oeste utilizando

como medio de transporte una diligencia, a través de tierras hostiles, en el último cuarto del

siglo XIX. Aún cuando su punto de partida y destino eran fijos, tenía un número

considerable de opciones para elegir qué estados (o territorios que posteriormente se

convirtieron en estados) recorrer en su ruta.

En la figura 1 se muestran las rutas posibles, en donde cada estado se representa por un

bloque numerado.

Figura 1. Sistema de caminos para el problema de la diligencia.

Page 6: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 5

De la ilustración se puede observar que el viaje se puede realizar en 4 etapas, partiendo

del estado 1 hasta su destino en el estado 10:

Primera etapa: estados 1 y (2, 3, 4)

Segunda etapa: estados (2, 3,4) y (5, 6, 7)

Tercera etapa: estados (5,6,7) y (8, 9)

Cuarta etapa: estado (8,9) y10

Puesto que se ofrecían seguros de vida a los pasajeros de las diligencias, este vendedor

no quiso dejar pasar la oportunidad y se propuso determinar la ruta más segura. Como el

costo de cada póliza se basaba en una evaluación cuidadosa de la seguridad de ese

recorrido, la ruta más segura debía ser aquella con la póliza de seguro de vida más barata.

El costo de la póliza estándar para el viaje en diligencia del estado i al j se muestra en

figura 1 como una etiqueta en los caminos (flechas) para ir de un estado a otro.

Así la pregunta central es: ¿cuál ruta (conjunto de caminos) minimiza el costo total de la

póliza?, para contestar esta pregunta es necesario hacer notar que, el procedimiento poco

inteligente de seleccionar el camino más barato ofrecido en cada etapa sucesiva no

necesariamente conduce a una decisión óptima global.

La PD parte de una pequeña porción del problema y encuentra la solución óptima para ese

problema más pequeño. Entonces gradualmente agranda el problema, hallando la solución

óptima en curso a partir de la anterior, hasta que se resuelve por completo el problema

original.

A continuación se explican los detalles involucrados en la implementación de esta filosofía

general. La idea es calcular el costo mínimo (acumulativo) de la póliza de seguros entre los

dos estados de cada etapa y después utilizar esos costos como datos de entrada para la

etapa inmediata siguiente.

CÁLCULOS PARA LA ETAPA 1Considerando los estados asociados con la etapa 1, se puede ver que los estados 2, 3 y 4

están conectados cada uno con el estado inicial 1 por una sola flecha como se puede

apreciar en la figura 2. Por consiguiente, para la etapa 1 se tiene

Figura 2 etapa 1: estados 2, 3,4

conectados con el estado inicial

1

Page 7: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 6

Costo mínimo al estado 2 = 2 (desde el estado 1)

Costo mínimo al estado 3 = 4 (desde el estado 1)

Costo mínimo al estado 4 = 3 (desde el estado 1)

CÁLCULOS PARA LA ETAPA 2Después se avanza a la etapa 2 para determinar los costos

mínimos

(Acumulativos) para los estados 5, 6 y 7 como se aprecia en la

figura 3.

Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5),

(4,5).

Esta información, junto con los costos mínimos de los estados 2, 3 y 4 (figura 4)

determinan el costo mínimo (acumulativo) para el estado 5 como:

De forma similar para el estado 6 (figura 5), se tiene:

Figura 3 Etapa 2: estados 5, 6, 7

conectados con los estados 2, 3,

Figura 4Etapa 2: Estados 5 conectado con los estados 2, 3, 4.

Figura 5

Etapa 2: Estados 6

conectado con los estados

Page 8: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 7

Finalmente para el estado 7 (figura 6), se tiene:

CÁLCULOS PARA LA ETAPA 3Para los cálculos se toman los datos de la figura 5.7

Figura 6Etapa 2: Estados 7 conectados con

los estados 2, 3, 4.

Page 9: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 8

CÁLCULOS PARA LA ETAPA 4 Para los cálculos se toman los datos de la figura yuttty|5558

En resumen, el costo mínimo total desde el estado 1 al estado 10 es

de 11.

El estado 10 se puede alcanzar desde los estados 8 y 9.

Figura 7

Etapa 3: estados 8, 9 conectados con

los estados 5, 6, 7.

Figura 8

Etapa 4: Estados 10

conectados con los estados

Page 10: PROGRAMACI ÓN DINÁMICA

PROGRAMACIÓN DINÁMICA 9

Si se elige el estado 9, este proviene de haber elegido el estado 6, el cual a su vez de

haber elegido el estado 4 y finalmente el estado 1.

Es decir la ruta óptima es: 1, 4, 6, 9,10

Si se elige el estado 8, este proviene de haber elegido el estado 5, el cual a su vez de

haber elegido el estado 4 o el 3.

Si se elige el estado 4, la ruta óptima es: 1, 4, 5, 8,10.

Si se elige el estado 3, la ruta óptima es: 1, 3, 5, 8,10

Por lo tanto existen 3 rutas óptimas a elegir ya que la tres implican el costo mínimo total

que es 11.

1.3 Programación Dinámica Determinística (PDD)

En este caso se profundiza sobre el enfoque de programación dinámica en los problemas

determinísticos, en donde el estado en la siguiente etapa está completamente determinado

por el estado y la política de decisión de la etapa actual. El caso probabilístico en el que

existe una distribución de probabilidad para el valor posible del siguiente estado este se

analizara más adelante.

Aplicaciones de programación dinámica determinística

Algunas de las aplicaciones de programación dinámica determinística son:

Modelo de Volumen-Carga “Mochila”

Modelo del tamaño de la fuerza de trabajo

Modelo de reposición de equipos

Modelo de inversión

Modelos de inventarios

A continuación se presentarán algunas de estas aplicaciones, cada una de las cuales

muestra una nueva idea en la puesta en práctica de la PD.

A medida que se presente cada aplicación, es importante prestar atención a los tres

elementos básicos de un modelo de PD:

Definición de las etapas Definición de las políticas o alternativas Definición de los estados para cada etapa

De los tres elementos, la definición del estado por lo común es la más sutil.