SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
UNIDAD V
PROGRAMACIÓN
DINÁMICA
 La programacióndinámica es unaté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 lacombinacióndedecisionesque maximizala
efectividad total
2012
Elmer Gabriel Chan Pech
30/11/2012
Programacióndinámica
1
5.1 Introduccióna la programación dinámica (PD)
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 subproblema
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 subpolí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.
5.2 Característicasde 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.
Programacióndinámica
2
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
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.
Programacióndinámica
3
Ejemplo 5.2:
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 el
problema 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 5.1 se muestran las rutas posibles, en donde cada estado se representa por
un bloque numerado.
Figura 5.1. Sistema de caminos para el problema de la diligencia.
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 5.1 como una etiqueta en los caminos (flechas) para ir de un estado a otro.
Programacióndinámica
4
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 1
Considerando 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 5.2. Por consiguiente, para la etapa 1 se tiene
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 2
Despué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 5.3.
Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5),
(4,5).
Figura5.2 etapa1: estados2, 3,4
conectadoscon el estado inicial 1
Programacióndinámica
5
Esta información, junto con los costos mínimos de los estados 2, 3 y 4 (figura 5.4)
determinan el costo mínimo (acumulativo) para el estado 5 como:
De forma similar para el estado 6 (figura 5.5), se tiene:
Finalmente para el estado 7 (figura 5.6), se tiene:
Figura 5.3
Etapa 2: estados5, 6, 7 conectados
con losestados2, 3, 4.
Figura 5.4 etapa 2:
Estados 5 conectado con los
estados 2, 3, 4.
Figura 5.5
Etapa 2: Estados6 conectado
con losestados2, 3, 4.
Programacióndinámica
6
CÁLCULOS PARA LA ETAPA 3
Para los cálculos se toman los datos de la figura 5.7
stados 7 conectados
tados2, 3, 4.
Programacióndinámica
7
CÁLCULOS PARA LA ETAPA 4
Para los cálculos se toman los datos de la figura 5.8
a 5.7
a 3: estados8, 9 conectados
osestados5, 6, 7.
Programacióndinámica
8
Resumen de cálculos para las diferentes etapas
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.
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.
5.3 Formalización de los cálculos de programación dinámica
Se mostrará ahora la forma en la cual se pueden expresar matemáticamente los cálculos
recursivos de la PD.
i=1, 2,3…n
Figura 5.8
Etapa 4: Estados10 conectados
con losestados8, 9
Programacióndinámica
9
Con la condición inicial . La ecuación indica que las distancias más cortas
en la etapa i se debe expresar en función del siguiente nodo . En la terminología
de la programación dinámica, a 𝑥 𝑖 se le llama estado del sistema en la etapa i.
De hecho se considera que el estado del sistema en la etapa i es la información que
enlaza, conecta o vincula las etapas, de tal modo que se pueda tomar las decisiones para
las etapas restantes sin volver a examinar cómo se llegó a las decisiones de las etapas
anteriores. La definición correcta de estado permite considerar por separado cada estado,
y garantiza que la solución sea factible para todos los estados.
5.4 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.
5.4.1 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.
Programacióndinámica
10
Las aplicaciones que se presentan a continuación muestran que la definición de estado
varía dependiendo de la situación que se está modelando.
Sin embargo, a medida que se presente cada aplicación, resultará útil considerar las
siguientes preguntas:
 ¿Qué relaciones unen las etapas?
 ¿Qué información se necesita para tomar decisiones factibles en la etapa actual,
sin reexaminar las decisiones que se tomaron en las etapas anteriores?
La experiencia indica que la comprensión del concepto de estado se puede mejorar
cuestionando la “validez” de la forma que dicta la intuición.
Se sugiere intentar una definición de estado diferente que pueda parecer “más lógica” y
utilizarla en los cálculos recursivos.
Con el tiempo, se descubrirá que las definiciones que se presentan en las siguientes
aplicaciones proporcionan la forma correcta para resolver el problema.
Mientras tanto, el proceso mental propuesto deberá mejorar la comprensión del concepto
de estado.
5.4.2 Modelo del tamaño de la fuerza de trabajo
En algunos proyectos de construcción, las contrataciones y los despidos se ejercen para
mantener un número de empleados que satisfaga las necesidades del proyecto. Debido
a que las actividades tanto de contratación como de despido incurren en costos
adicionales, ¿cómo se debe mantener el número de empleados a todo lo largo de la vida
del proyecto?
Supóngase que el proyecto se ejecutara durante el lapso de n semanas, y que la fuerza
de trabajo mínima requiere en la semana i es 𝑏𝑖. Sin embargo, de acuerdo con los
parámetros de costos, podría ser más económico dejar que fluctué el tamaño de la fuerza
de trabajo. Como 𝑥 𝑖 es la cantidad de trabajadores empleados en la semana i, en esa
semana i se puede incurrir en dos costos: 𝐶1(𝑥 𝑖 − 𝑏1), el costo de mantener el exceso de
personal; 𝑥 𝑖 − 𝑏𝑖 𝑦 𝐶2(𝑥𝑖 − 𝑥 𝑖−1), el costo de contratar, 𝑥 𝑖 − 𝑥 𝑖−1 trabajadores adicionales.
Los elementos del modelo de programación dinámica se definen como sigue:
Programacióndinámica
11
Ejemplo 5.4-2:
Un contratista constructor estima que la fuerza de trabajo necesaria durante las próximas
5 semanas será de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en
exceso que se conserve le costara $300 por trabajador semanalmente, y la nueva
contratación en cualquiera semana tendrá un costo fijo de $400 más $200 por trabajador
y por semana.
Los datos del problema se resumen como sigue:
Programacióndinámica
12
Programacióndinámica
13
5.4.3 Modelo de reposición de equipo
Mientras más tiempo este en servicio una máquina, su costo de mantenimiento es mayor
y su productividad menor. Cuando la máquina llegue a cierta antigüedad será más
económico reemplazarla. Es así que entonces el problema se reduce a determinación de
la antigüedad mas económica de una maquina.
Programacióndinámica
14
Supóngase que se estudia el problema de reposición de la máquina durante un lapso de
n años. Al inicio de cada año, se debe decidir si mantener la maquina en servicio por un
año más o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de
operación anuales, y s(t) el valor de recuperación de una maquina con t años de
antigüedad. El costo de adquisición de una máquina nueva en cualquier año es I.
Los elementos del modelo de programación dinámica son:
Ejemplo 5.4-3
Una empresa debe determinar la política óptima, durante los próximos 4 años (n=4), de
reemplazo de una máquina, que en la actualidad tiene 3 años. La tabla 5.1 muestra los
datos del problema. La empresa establece que toda máquina que tenga 6 años de edad
debe reemplazarse. El costo de una maquina nueva es $100,000.
Tabla 5.1.
Añoscon relaciónasus utilidades,
costosy valor de rescate
Programacióndinámica
15
La determinación de los valores factibles de la edad de la máquina en cada etapa requiere
de algo de ingenio. En la figura 5.9 se resume la red que representa el problema. Al iniciar
el año 1 se tiene una máquina de 3 años de antigüedad. Se puede reemplazarla (R) o
conservarla (k) durante otro año. Al inicia el año 2, si hay reemplazo, la maquina nueva
tendrá 1 año de edad; en caso contrario, la máquina actual tendrá 4 años de antigüedad.
Los mismos razonamientos se aplican al iniciar los años 2 o 4. Si se reemplaza una
maquina con 1 año de antigüedad al iniciar los años 2 y 3, su reposición tendrá 1 año de
antigüedad al inicio del año siguiente. También, al iniciar el año 4, se debe reemplazar
una máquina con 6 años de servicio, y al final del año 4 se desechan las máquinas, con
recuperación S.
La red indica que al comenzar el año 2, las edades posibles de las maquinas son de 1 4
años.
Para el comienzo del año 3, las antigüedades posibles son 1, 2 y 5 años, y para el
comienzo del año 4, las antigüedades posibles son 1, 2, 3 y 6 años.
La solución de la red de la figura 5.9 equivale a determinar la ruta más larga, del inicio
del año 1 al final del año 4. Se iniciara la forma tabular para resolver el problema. Todos
los valores son en miles de $. Nótese que si se reemplaza una máquina en el año 4 (es
decir, al final del horizonte de planeación) los ingresos incluirán el valor de recuperación,
s(t), de la máquina reemplazada y el valor de recuperación, s(1) de la máquina de
repuesto.
Figura 5.9
Representación de la edad
de la maquina en función
del año de decisión, en el
ejemplo 5.2.1-2
Programacióndinámica
16
La figura 5.10 resume el orden en el cual se obtiene la solución óptima. Al iniciar el año
1, la decisión optima para t=3 es reemplazar la maquina. Así, la máquina nueva tendrá 1
año al iniciar el año 2, y t=1 al iniciar el año 2 determina conservarla o reemplazarla. Si
se reemplaza, la nueva máquina tendrá 1 año al inicial el año 3; en caso contrario, la
Programacióndinámica
17
maquina conservada tendrá 2 años. El proceso se continúa de esta forma hasta llegar al
año 4.
5.5 PROGRAMACIÓN DINÁMICA PROBABILÍSTICA (PDP)
La programación dinámica probabilística (PDP) es una técnica matemáticamente útil para
la toma de decisiones interrelacionadas, se presenta cuando el estado en la siguiente
etapa no está determinado por completo por el estado y la política de decisiónde la etapa
actual. En su lugar existe una distribución de probabilidad para determinar cuál será el
siguiente estado. Sin embargo, esta distribución de probabilidad si queda bien
determinada por el estado y la política de decisión en la etapa actual. Por consiguiente la
diferencia entre la programación dinámica probabilística y la programación dinámica
determinística (PDD) está en que los estados y los retornos o retribuciones en cada etapa
son probabilísticos. La programación dinámica probabilística se origina en especial en el
tratamiento de modelos estocásticos de inventarios y en los procesos markovianos de
decisión.
En este apartado se presentará algunos ejemplos generales, con objeto de hacer resaltar
la naturaleza estocástica de la programación dinámica.
5.5.1 Aplicaciones de programación dinámica probabilística
Algunas de las aplicaciones de programación dinámica probabilística son:
 Un juego aleatorio
 Problema de inversión
 Maximización del evento de lograr una meta.
A continuación se presentará una de estas aplicaciones.
Figura 5.10
Las políticasalternativasóptimasempezandoenel año1 son (R,K, K,R) y
(R,R, K, K).El costo total esde 55,300 dólares.
Programacióndinámica
18
5.5.2 Un juego aleatorio
Es una variación del juego de la ruleta rusa, se hace girar una rueda con marcas de n
números consecutivos: 1 a n, en su superficie. La probabilidadde que la rueda se detenga
en el número i después de un giro es pi. Un jugador paga $x por el privilegio de hacer
girar la rueda un máximo de m giros. La recompensa para el jugador es el doble de la
cantidad obtenida en el último giro. Suponiendo que le jugador se repite (hasta con m
giros cada vez) una cantidad razonablemente grande de veces, propone una estrategia
optima para el jugador.
Se puede formular el problema como un modelo de programación dinámica con las
siguientes definiciones:
1. La etapa i corresponde a la i-ésima vuelta de la rueda, i = 1, 2, …, m
2. En cada etapa hay dos alternativas: se gira la rueda una vez más o se termina el
juego
3. El estado j del sistema en la etapa i es el número que se obtuvo la última vez que
se giró la rueda, el cual está entre 1 y n
Sea
fi(j) = Ingreso máximo esperado cuando el juego está en la etapa i (el giro) y que el
resultado del último giro fue j
En este caso se tiene que
Entonces, la ecuación recursiva se puede escribir como sigue:
Los cálculos comienzan con fm+1 y terminan con f1, de modo que hay m+1 etapas. Como
f1(0) representa el rendimiento esperado de las m vueltas, así que el rendimiento
esperado neto, Rn, es:
 
 11
2 , si termina
max
, si continúa
ni
k ik
j
f j
p f k

 

 1 0nR f x 
Programacióndinámica
19
Ejemplo 5.5-2
Supongamos que la ruleta está marcada con los números 1 a 5 y que las probabilidades
de que se detenga en cada número son p1 = 0.30, p2 = 0.25, p3 = 0.20, p4 = 0.15, p5 =
0.10.
El jugador paga $5 por un máximo de cuatro vueltas. Determine la estrategia óptima para
cada una de las cuatro vueltas y encuentre el rendimiento esperado neto asociado.
Etapa 4 f4(j) = máx.{2j,∑(pkf5(k))}
= máx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5 (5)}
= máx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 + 0.1x10}
= máx.{2j,5}
Resultado de
la vuelta 4 Rendimiento esperado Solución óptima
j Terminar Girar f4(j) Decisión
1 2 5 5 Girar
Etapa 5 f5(j) = 2j
Resultado de la
vuelta 4 Solución óptima
j f5(j) Decisión
1 2 Terminar
2 4 Terminar
3 6 Terminar
4 8 Terminar
5 10 Terminar
Programacióndinámica
20
2 4 5 5 Girar
3 6 5 6 Terminar
4 8 5 8 Terminar
5 10 5 10 Terminar
Etapa 3
f3(j) = máx.{2j, ∑ (pkf4(k))}
= máx.{2j, p1f4 (1)+ p2f4(2)+ p3f4 (3)+ p4f4 (4)+ p5f4 (5)}
= máx.{2j,0.3x5 + 0.25x5 + 0.2x6 + 0.15x8 + 0.1x10}
= máx.{2j,6.15}
Resultado de la
vuelta 3 Rendimiento esperado Solución óptima
j Terminar Girar f4(j) Decisión
1 2 6.15 6.15 Girar
2 4 6.15 6.15 Girar
3 6 6.15 6.15 Girar
4 8 6.15 8 Terminar
5 10 6.15 10 Terminar
Etapa 2
f2(j) = máx.{2j, ∑ (pkf3(k))}
= máx.{2j, p1f3 (1)+ p2f3(2)+ p3f3 (3)+ p4f3 (4)+ p5f3 (5)}
= máx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 + 0.1x10}
= máx.{2j,6.8125}
Programacióndinámica
21
Resultado de
la vuelta 3 Rendimiento esperado Solución óptima
j Terminar Girar f4(j) Decisión
1 2 6.8125 6.8125 Girar
2 4 6.8125 6.8125 Girar
3 6 6.8125 6.8125 Girar
4 8 6.8125 8 Terminar
5 10 6.8125 10 Terminar
Etapa 1
La única opción disponible al iniciar el juego es girar.
De acuerdo con los cuadros anteriores, la solución óptima es:
Vuelta número Estrategia óptima
1 Comienza el juego. Gire
2
Continúe si la vuelta 1 produce 1,2, o 3; de otra forma,
termine el juego
3
Continúe si la vuelta 2 produce 1, 2 o 3; de otra forma,
termine el juego
4
Continúe si la vuelta 3 produce 1 o 2. De otra forma,
termine el juego
Ingreso neto esperado= $7.31-$5.00= $2.31
f1(0) = máx.{2j, ∑ (pkf2(k))}
= máx.{2j, p1f2 (1)+ p2f2(2)+ p3f2 (3)+ p4f2 (4)+ p5f2 (5)}
= máx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10
= máx.{2j,7.31}
Programacióndinámica
22
Referencias Bibliográficas
Domínguez, A. (Noviembre de 2000). Programacióndinámica. Recuperado el
Noviembre de 2012, dehttp://www.slideshare.net/Alexdfar/programacin-
dinmica-5688350
Hillier, F. S. (1991). Introducción a la Investagación de Operaciones (3 ed.). México:
McGraw-Hill.
Taha, H. A. (2004). Investigación de Operaciones (7 ed.). México: PEARSON
EDUCATION.

Más contenido relacionado

La actualidad más candente

5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de primADRIANA NIETO
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskalADRIANA NIETO
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continuaLeonardo Rojas
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no linealZaire Mont
 
5.3 árbol de expansión mínima
5.3 árbol de expansión mínima5.3 árbol de expansión mínima
5.3 árbol de expansión mínimaADRIANA NIETO
 
5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticosJack Rivera Castillo
 
Numeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhNumeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhVictor Hugo
 
Métodos de optimizacion
Métodos de optimizacionMétodos de optimizacion
Métodos de optimizacionSaid Mora
 
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binariaUnmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binariaJulio Pari
 
Clase 18. arbol de minima expansión
Clase 18. arbol de minima expansiónClase 18. arbol de minima expansión
Clase 18. arbol de minima expansiónLucas Mosquera
 
Metodo simplexdual
Metodo simplexdualMetodo simplexdual
Metodo simplexdualAndres Mena
 

La actualidad más candente (20)

5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim5.3 arbol de expansión minima algoritmo de prim
5.3 arbol de expansión minima algoritmo de prim
 
Unidad 1. Programación entera
Unidad 1. Programación enteraUnidad 1. Programación entera
Unidad 1. Programación entera
 
Programacion lineal entera
Programacion lineal enteraProgramacion lineal entera
Programacion lineal entera
 
Simulacion discreta
Simulacion discretaSimulacion discreta
Simulacion discreta
 
20 arbol de_extension_minima
20 arbol de_extension_minima20 arbol de_extension_minima
20 arbol de_extension_minima
 
5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal5.3 arbol expansión minima algoritmo de kruskal
5.3 arbol expansión minima algoritmo de kruskal
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continua
 
Programación no lineal
Programación no linealProgramación no lineal
Programación no lineal
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
5.3 árbol de expansión mínima
5.3 árbol de expansión mínima5.3 árbol de expansión mínima
5.3 árbol de expansión mínima
 
Taxonomia de Boulding
Taxonomia de BouldingTaxonomia de Boulding
Taxonomia de Boulding
 
5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos5.4 aplicación de modelos de inventarios determinísticos
5.4 aplicación de modelos de inventarios determinísticos
 
Numeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhNumeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhh
 
Métodos de optimizacion
Métodos de optimizacionMétodos de optimizacion
Métodos de optimizacion
 
Ingeniería económica 1
Ingeniería económica 1Ingeniería económica 1
Ingeniería económica 1
 
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binariaUnmsm   fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
Unmsm fisi - programación lineal entera y binaria - io1 cl15 entera-binaria
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Clase 18. arbol de minima expansión
Clase 18. arbol de minima expansiónClase 18. arbol de minima expansión
Clase 18. arbol de minima expansión
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Metodo simplexdual
Metodo simplexdualMetodo simplexdual
Metodo simplexdual
 

Similar a Programación deterministica

Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 
Sesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfSesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfCARLOSVALBUENA36
 
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059OscarGuarimata
 
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfClase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfNekoRojas3
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación DinámicaWilliam Snow
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación DinamicaRafael Brito
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion DinamicaLuisCabanerio
 
Programac..
Programac..Programac..
Programac..g_joselo
 
Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)Juan Flores Roman
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICAJOSEPHBADRA3
 
61178886 i-o-ii-principal
61178886 i-o-ii-principal61178886 i-o-ii-principal
61178886 i-o-ii-principaldaniel malpica
 

Similar a Programación deterministica (20)

Programación dinámica
Programación  dinámicaProgramación  dinámica
Programación dinámica
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 
Sesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfSesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdf
 
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
PROGRAMACIÓN DINÁMICA Oscar guarimata 27455059
 
Programacion
ProgramacionProgramacion
Programacion
 
Presentación de investigación de operaciones II
Presentación de investigación de operaciones IIPresentación de investigación de operaciones II
Presentación de investigación de operaciones II
 
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfClase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdf
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
0208
02080208
0208
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion Dinamica
 
Programac..
Programac..Programac..
Programac..
 
Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
61178886 i-o-ii-principal
61178886 i-o-ii-principal61178886 i-o-ii-principal
61178886 i-o-ii-principal
 

Último

PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfmcamposa87
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfJhonCongoraQuispe
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaJoellyAlejandraRodrg
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALPamelaGranda5
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxStibeCr
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfsolidalilaalvaradoro
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfEsvinAlvares
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variadoEsthefaniaAuquilla1
 
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...PeraltaFrank
 
gestion y optimizacion de procesos proyecto
gestion y optimizacion de procesos proyectogestion y optimizacion de procesos proyecto
gestion y optimizacion de procesos proyectoclopez37
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxaxelalejossantos
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALRiveraPemintelAlejan
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptSANTOS400018
 
10 características de un establecimiento de salud.pptx
10 características de un establecimiento de salud.pptx10 características de un establecimiento de salud.pptx
10 características de un establecimiento de salud.pptxtodotemporales
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxKeylaArlethTorresOrt
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalaciónLuisLobatoingaruca
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfDanielAlejandroAguir2
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfElenaNagera
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 

Último (20)

PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
 
Análisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadísticaAnálisis de Varianza- Anova y pruebas de estadística
Análisis de Varianza- Anova y pruebas de estadística
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variado
 
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...
LABORATORIO CALIFICADO 02 PESO VOLUMÉTRICO DE SUELOS COHESIVOS- MÉTODO DE LA ...
 
gestion y optimizacion de procesos proyecto
gestion y optimizacion de procesos proyectogestion y optimizacion de procesos proyecto
gestion y optimizacion de procesos proyecto
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
 
METASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.pptMETASISTEMA-EXPOSICIONfgertertertretr.ppt
METASISTEMA-EXPOSICIONfgertertertretr.ppt
 
10 características de un establecimiento de salud.pptx
10 características de un establecimiento de salud.pptx10 características de un establecimiento de salud.pptx
10 características de un establecimiento de salud.pptx
 
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptxEXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
EXPOSICION UNIDAD 3 MANTENIMIENTOO .pptx
 
bombas-hidraulicas para permitir transporte en una instalación
bombas-hidraulicas para permitir  transporte en una instalaciónbombas-hidraulicas para permitir  transporte en una instalación
bombas-hidraulicas para permitir transporte en una instalación
 
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdfFOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
FOTOCELDAS Y LOS DIFERENTES TIPOS QUE EXISTEN.pdf
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 

Programación deterministica

  • 1. UNIDAD V PROGRAMACIÓN DINÁMICA  La programacióndinámica es unaté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 lacombinacióndedecisionesque maximizala efectividad total 2012 Elmer Gabriel Chan Pech 30/11/2012
  • 2. Programacióndinámica 1 5.1 Introduccióna la programación dinámica (PD) 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 subproblema 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 subpolí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. 5.2 Característicasde 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.
  • 3. Programacióndinámica 2 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 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.
  • 4. Programacióndinámica 3 Ejemplo 5.2: 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 el problema 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 5.1 se muestran las rutas posibles, en donde cada estado se representa por un bloque numerado. Figura 5.1. Sistema de caminos para el problema de la diligencia. 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 5.1 como una etiqueta en los caminos (flechas) para ir de un estado a otro.
  • 5. Programacióndinámica 4 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 1 Considerando 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 5.2. Por consiguiente, para la etapa 1 se tiene 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 2 Despué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 5.3. Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5), (4,5). Figura5.2 etapa1: estados2, 3,4 conectadoscon el estado inicial 1
  • 6. Programacióndinámica 5 Esta información, junto con los costos mínimos de los estados 2, 3 y 4 (figura 5.4) determinan el costo mínimo (acumulativo) para el estado 5 como: De forma similar para el estado 6 (figura 5.5), se tiene: Finalmente para el estado 7 (figura 5.6), se tiene: Figura 5.3 Etapa 2: estados5, 6, 7 conectados con losestados2, 3, 4. Figura 5.4 etapa 2: Estados 5 conectado con los estados 2, 3, 4. Figura 5.5 Etapa 2: Estados6 conectado con losestados2, 3, 4.
  • 7. Programacióndinámica 6 CÁLCULOS PARA LA ETAPA 3 Para los cálculos se toman los datos de la figura 5.7 stados 7 conectados tados2, 3, 4.
  • 8. Programacióndinámica 7 CÁLCULOS PARA LA ETAPA 4 Para los cálculos se toman los datos de la figura 5.8 a 5.7 a 3: estados8, 9 conectados osestados5, 6, 7.
  • 9. Programacióndinámica 8 Resumen de cálculos para las diferentes etapas 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. 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. 5.3 Formalización de los cálculos de programación dinámica Se mostrará ahora la forma en la cual se pueden expresar matemáticamente los cálculos recursivos de la PD. i=1, 2,3…n Figura 5.8 Etapa 4: Estados10 conectados con losestados8, 9
  • 10. Programacióndinámica 9 Con la condición inicial . La ecuación indica que las distancias más cortas en la etapa i se debe expresar en función del siguiente nodo . En la terminología de la programación dinámica, a 𝑥 𝑖 se le llama estado del sistema en la etapa i. De hecho se considera que el estado del sistema en la etapa i es la información que enlaza, conecta o vincula las etapas, de tal modo que se pueda tomar las decisiones para las etapas restantes sin volver a examinar cómo se llegó a las decisiones de las etapas anteriores. La definición correcta de estado permite considerar por separado cada estado, y garantiza que la solución sea factible para todos los estados. 5.4 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. 5.4.1 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.
  • 11. Programacióndinámica 10 Las aplicaciones que se presentan a continuación muestran que la definición de estado varía dependiendo de la situación que se está modelando. Sin embargo, a medida que se presente cada aplicación, resultará útil considerar las siguientes preguntas:  ¿Qué relaciones unen las etapas?  ¿Qué información se necesita para tomar decisiones factibles en la etapa actual, sin reexaminar las decisiones que se tomaron en las etapas anteriores? La experiencia indica que la comprensión del concepto de estado se puede mejorar cuestionando la “validez” de la forma que dicta la intuición. Se sugiere intentar una definición de estado diferente que pueda parecer “más lógica” y utilizarla en los cálculos recursivos. Con el tiempo, se descubrirá que las definiciones que se presentan en las siguientes aplicaciones proporcionan la forma correcta para resolver el problema. Mientras tanto, el proceso mental propuesto deberá mejorar la comprensión del concepto de estado. 5.4.2 Modelo del tamaño de la fuerza de trabajo En algunos proyectos de construcción, las contrataciones y los despidos se ejercen para mantener un número de empleados que satisfaga las necesidades del proyecto. Debido a que las actividades tanto de contratación como de despido incurren en costos adicionales, ¿cómo se debe mantener el número de empleados a todo lo largo de la vida del proyecto? Supóngase que el proyecto se ejecutara durante el lapso de n semanas, y que la fuerza de trabajo mínima requiere en la semana i es 𝑏𝑖. Sin embargo, de acuerdo con los parámetros de costos, podría ser más económico dejar que fluctué el tamaño de la fuerza de trabajo. Como 𝑥 𝑖 es la cantidad de trabajadores empleados en la semana i, en esa semana i se puede incurrir en dos costos: 𝐶1(𝑥 𝑖 − 𝑏1), el costo de mantener el exceso de personal; 𝑥 𝑖 − 𝑏𝑖 𝑦 𝐶2(𝑥𝑖 − 𝑥 𝑖−1), el costo de contratar, 𝑥 𝑖 − 𝑥 𝑖−1 trabajadores adicionales. Los elementos del modelo de programación dinámica se definen como sigue:
  • 12. Programacióndinámica 11 Ejemplo 5.4-2: Un contratista constructor estima que la fuerza de trabajo necesaria durante las próximas 5 semanas será de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en exceso que se conserve le costara $300 por trabajador semanalmente, y la nueva contratación en cualquiera semana tendrá un costo fijo de $400 más $200 por trabajador y por semana. Los datos del problema se resumen como sigue:
  • 14. Programacióndinámica 13 5.4.3 Modelo de reposición de equipo Mientras más tiempo este en servicio una máquina, su costo de mantenimiento es mayor y su productividad menor. Cuando la máquina llegue a cierta antigüedad será más económico reemplazarla. Es así que entonces el problema se reduce a determinación de la antigüedad mas económica de una maquina.
  • 15. Programacióndinámica 14 Supóngase que se estudia el problema de reposición de la máquina durante un lapso de n años. Al inicio de cada año, se debe decidir si mantener la maquina en servicio por un año más o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de operación anuales, y s(t) el valor de recuperación de una maquina con t años de antigüedad. El costo de adquisición de una máquina nueva en cualquier año es I. Los elementos del modelo de programación dinámica son: Ejemplo 5.4-3 Una empresa debe determinar la política óptima, durante los próximos 4 años (n=4), de reemplazo de una máquina, que en la actualidad tiene 3 años. La tabla 5.1 muestra los datos del problema. La empresa establece que toda máquina que tenga 6 años de edad debe reemplazarse. El costo de una maquina nueva es $100,000. Tabla 5.1. Añoscon relaciónasus utilidades, costosy valor de rescate
  • 16. Programacióndinámica 15 La determinación de los valores factibles de la edad de la máquina en cada etapa requiere de algo de ingenio. En la figura 5.9 se resume la red que representa el problema. Al iniciar el año 1 se tiene una máquina de 3 años de antigüedad. Se puede reemplazarla (R) o conservarla (k) durante otro año. Al inicia el año 2, si hay reemplazo, la maquina nueva tendrá 1 año de edad; en caso contrario, la máquina actual tendrá 4 años de antigüedad. Los mismos razonamientos se aplican al iniciar los años 2 o 4. Si se reemplaza una maquina con 1 año de antigüedad al iniciar los años 2 y 3, su reposición tendrá 1 año de antigüedad al inicio del año siguiente. También, al iniciar el año 4, se debe reemplazar una máquina con 6 años de servicio, y al final del año 4 se desechan las máquinas, con recuperación S. La red indica que al comenzar el año 2, las edades posibles de las maquinas son de 1 4 años. Para el comienzo del año 3, las antigüedades posibles son 1, 2 y 5 años, y para el comienzo del año 4, las antigüedades posibles son 1, 2, 3 y 6 años. La solución de la red de la figura 5.9 equivale a determinar la ruta más larga, del inicio del año 1 al final del año 4. Se iniciara la forma tabular para resolver el problema. Todos los valores son en miles de $. Nótese que si se reemplaza una máquina en el año 4 (es decir, al final del horizonte de planeación) los ingresos incluirán el valor de recuperación, s(t), de la máquina reemplazada y el valor de recuperación, s(1) de la máquina de repuesto. Figura 5.9 Representación de la edad de la maquina en función del año de decisión, en el ejemplo 5.2.1-2
  • 17. Programacióndinámica 16 La figura 5.10 resume el orden en el cual se obtiene la solución óptima. Al iniciar el año 1, la decisión optima para t=3 es reemplazar la maquina. Así, la máquina nueva tendrá 1 año al iniciar el año 2, y t=1 al iniciar el año 2 determina conservarla o reemplazarla. Si se reemplaza, la nueva máquina tendrá 1 año al inicial el año 3; en caso contrario, la
  • 18. Programacióndinámica 17 maquina conservada tendrá 2 años. El proceso se continúa de esta forma hasta llegar al año 4. 5.5 PROGRAMACIÓN DINÁMICA PROBABILÍSTICA (PDP) La programación dinámica probabilística (PDP) es una técnica matemáticamente útil para la toma de decisiones interrelacionadas, se presenta cuando el estado en la siguiente etapa no está determinado por completo por el estado y la política de decisiónde la etapa actual. En su lugar existe una distribución de probabilidad para determinar cuál será el siguiente estado. Sin embargo, esta distribución de probabilidad si queda bien determinada por el estado y la política de decisión en la etapa actual. Por consiguiente la diferencia entre la programación dinámica probabilística y la programación dinámica determinística (PDD) está en que los estados y los retornos o retribuciones en cada etapa son probabilísticos. La programación dinámica probabilística se origina en especial en el tratamiento de modelos estocásticos de inventarios y en los procesos markovianos de decisión. En este apartado se presentará algunos ejemplos generales, con objeto de hacer resaltar la naturaleza estocástica de la programación dinámica. 5.5.1 Aplicaciones de programación dinámica probabilística Algunas de las aplicaciones de programación dinámica probabilística son:  Un juego aleatorio  Problema de inversión  Maximización del evento de lograr una meta. A continuación se presentará una de estas aplicaciones. Figura 5.10 Las políticasalternativasóptimasempezandoenel año1 son (R,K, K,R) y (R,R, K, K).El costo total esde 55,300 dólares.
  • 19. Programacióndinámica 18 5.5.2 Un juego aleatorio Es una variación del juego de la ruleta rusa, se hace girar una rueda con marcas de n números consecutivos: 1 a n, en su superficie. La probabilidadde que la rueda se detenga en el número i después de un giro es pi. Un jugador paga $x por el privilegio de hacer girar la rueda un máximo de m giros. La recompensa para el jugador es el doble de la cantidad obtenida en el último giro. Suponiendo que le jugador se repite (hasta con m giros cada vez) una cantidad razonablemente grande de veces, propone una estrategia optima para el jugador. Se puede formular el problema como un modelo de programación dinámica con las siguientes definiciones: 1. La etapa i corresponde a la i-ésima vuelta de la rueda, i = 1, 2, …, m 2. En cada etapa hay dos alternativas: se gira la rueda una vez más o se termina el juego 3. El estado j del sistema en la etapa i es el número que se obtuvo la última vez que se giró la rueda, el cual está entre 1 y n Sea fi(j) = Ingreso máximo esperado cuando el juego está en la etapa i (el giro) y que el resultado del último giro fue j En este caso se tiene que Entonces, la ecuación recursiva se puede escribir como sigue: Los cálculos comienzan con fm+1 y terminan con f1, de modo que hay m+1 etapas. Como f1(0) representa el rendimiento esperado de las m vueltas, así que el rendimiento esperado neto, Rn, es:    11 2 , si termina max , si continúa ni k ik j f j p f k      1 0nR f x 
  • 20. Programacióndinámica 19 Ejemplo 5.5-2 Supongamos que la ruleta está marcada con los números 1 a 5 y que las probabilidades de que se detenga en cada número son p1 = 0.30, p2 = 0.25, p3 = 0.20, p4 = 0.15, p5 = 0.10. El jugador paga $5 por un máximo de cuatro vueltas. Determine la estrategia óptima para cada una de las cuatro vueltas y encuentre el rendimiento esperado neto asociado. Etapa 4 f4(j) = máx.{2j,∑(pkf5(k))} = máx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5 (5)} = máx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 + 0.1x10} = máx.{2j,5} Resultado de la vuelta 4 Rendimiento esperado Solución óptima j Terminar Girar f4(j) Decisión 1 2 5 5 Girar Etapa 5 f5(j) = 2j Resultado de la vuelta 4 Solución óptima j f5(j) Decisión 1 2 Terminar 2 4 Terminar 3 6 Terminar 4 8 Terminar 5 10 Terminar
  • 21. Programacióndinámica 20 2 4 5 5 Girar 3 6 5 6 Terminar 4 8 5 8 Terminar 5 10 5 10 Terminar Etapa 3 f3(j) = máx.{2j, ∑ (pkf4(k))} = máx.{2j, p1f4 (1)+ p2f4(2)+ p3f4 (3)+ p4f4 (4)+ p5f4 (5)} = máx.{2j,0.3x5 + 0.25x5 + 0.2x6 + 0.15x8 + 0.1x10} = máx.{2j,6.15} Resultado de la vuelta 3 Rendimiento esperado Solución óptima j Terminar Girar f4(j) Decisión 1 2 6.15 6.15 Girar 2 4 6.15 6.15 Girar 3 6 6.15 6.15 Girar 4 8 6.15 8 Terminar 5 10 6.15 10 Terminar Etapa 2 f2(j) = máx.{2j, ∑ (pkf3(k))} = máx.{2j, p1f3 (1)+ p2f3(2)+ p3f3 (3)+ p4f3 (4)+ p5f3 (5)} = máx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 + 0.1x10} = máx.{2j,6.8125}
  • 22. Programacióndinámica 21 Resultado de la vuelta 3 Rendimiento esperado Solución óptima j Terminar Girar f4(j) Decisión 1 2 6.8125 6.8125 Girar 2 4 6.8125 6.8125 Girar 3 6 6.8125 6.8125 Girar 4 8 6.8125 8 Terminar 5 10 6.8125 10 Terminar Etapa 1 La única opción disponible al iniciar el juego es girar. De acuerdo con los cuadros anteriores, la solución óptima es: Vuelta número Estrategia óptima 1 Comienza el juego. Gire 2 Continúe si la vuelta 1 produce 1,2, o 3; de otra forma, termine el juego 3 Continúe si la vuelta 2 produce 1, 2 o 3; de otra forma, termine el juego 4 Continúe si la vuelta 3 produce 1 o 2. De otra forma, termine el juego Ingreso neto esperado= $7.31-$5.00= $2.31 f1(0) = máx.{2j, ∑ (pkf2(k))} = máx.{2j, p1f2 (1)+ p2f2(2)+ p3f2 (3)+ p4f2 (4)+ p5f2 (5)} = máx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10 = máx.{2j,7.31}
  • 23. Programacióndinámica 22 Referencias Bibliográficas Domínguez, A. (Noviembre de 2000). Programacióndinámica. Recuperado el Noviembre de 2012, dehttp://www.slideshare.net/Alexdfar/programacin- dinmica-5688350 Hillier, F. S. (1991). Introducción a la Investagación de Operaciones (3 ed.). México: McGraw-Hill. Taha, H. A. (2004). Investigación de Operaciones (7 ed.). México: PEARSON EDUCATION.