2. CONTENIDO
INTRODUCCIÓN A LA PROGRAMACIÓN DINÁMICA ..................................................................1
NATURALEZA DE LA PD.......................................................................................................................2
EL PROBLEMA DE LA DILIGENCIA ..................................................................................................5
CÁLCULOS PARA LA ETAPA 1...................................................................................................................7
CÁLCULOS PARA LA ETAPA 2...................................................................................................................7
CÁLCULOS PARA LA ETAPA 3...................................................................................................................8
CÁLCULOS PARA LA ETAPA 4...................................................................................................................9
RESUMEN DE CÁLCULOS PARA LAS DIFERENTES ETAPAS .........................................................................9
FORMALIZACIÓN DE LOS CÁLCULOS ........................................................................................................9
RECURSIÓN HACIA ADELANTE Y HACIA ATRÁS ......................................................................11
EL PROBLEMA DE LA DILIGENCIA CON RECURSIÓN HACIA ATRÁS.................................12
CÁLCULOS PARA LA ETAPA 4.................................................................................................................12
CÁLCULOS PARA LA ETAPA 3.................................................................................................................13
CÁLCULOS PARA LA ETAPA 2.................................................................................................................13
CÁLCULOS PARA LA ETAPA 1.................................................................................................................14
RESUMEN DE CÁLCULOS PARA LAS DIFERENTES ETAPAS .......................................................................14
TERMINOLOGÍA Y ESTRUCTURA...................................................................................................15
APLICACIONES SELECTAS DE PD...................................................................................................19
EL MODELO DE VOLUMÉN-CARGA .........................................................................................................21
Ejemplo ...........................................................................................................................................22
EL MODELO DE NÚMERO DE EMPLEADOS ...............................................................................................24
Ejemplo ...........................................................................................................................................24
EL MODELO DE REEMPLAZO DE EQUIPO .................................................................................................26
Ejemplo ...........................................................................................................................................27
EL MODELO DE INVERSIÓN.....................................................................................................................29
Ejemplo ...........................................................................................................................................30
EL PROBLEMA DE LA DIMENSIONALIDAD..................................................................................33
EJEMPLO................................................................................................................................................33
REFERENCIAS BIBLIOGRÁFICAS....................................................................................................35
3. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
1
I
I
IN
N
NT
T
TR
R
RO
O
OD
D
DU
U
UC
C
CC
C
CI
I
IÓ
Ó
ÓN
N
N A
A
A L
L
LA
A
A P
P
PR
R
RO
O
OG
G
GR
R
RA
A
AM
M
MA
A
AC
C
CI
I
IÓ
Ó
ÓN
N
N D
D
DI
I
IN
N
NÁ
Á
ÁM
M
MI
I
IC
C
CA
A
A
Los problemas de programación lineal tienen una característica en común:
son estáticos. Es decir, los problemas se establecen y se resuelven en una
situación específica que ocurre en un cierto momento.
Cuando un problema está relacionado con variaciones en el tiempo, o con
variables que se comporten como tal, debe utilizarse una técnica de
investigación de operaciones que incluya al tiempo o a esas variables como
elemento. Esta técnica, denominada programación dinámica (PD), es una
extensión de la técnica básica de programación lineal.
4. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
2
N
N
NA
A
AT
T
TU
U
UR
R
RA
A
AL
L
LE
E
EZ
Z
ZA
A
A D
D
DE
E
E L
L
LA
A
A P
P
PD
D
D
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).
Inicialmente a la PD se le denominó programación lineal estocástica ó
problemas de programación lineal con incertidumbre.
A través de los años, la PD se ha desarrollado como una técnica
cuantitativa para resolver una gran variedad de problemas, algunos de los
cuales serán tratados a lo largo de estas notas de clase.
La PD se basa en el principio de optimalidad, el cual establece que una
política óptima consiste de subpolíticas óptimas.
Así, la PD se puede definir como una técnica matemática que resuelve
una serie de decisiones secuenciales, cada una de las cuales afecta las
decisiones futuras.
Esto es de vital importancia puesto que rara vez se puede encontrar una
situación operacional donde las implicaciones de una decisión no se
extiendan a futuro.
Los métodos de la PD se pueden extrapolar a problemas en los cuales el
tiempo no es una variable relevante.
Por ejemplo, a problemas en los cuales se tiene que tomar una decisión
acerca de la asignación de una cantidad fija de recursos entre un cierto
número de usos alternativos.
5. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
3
Este tipo de problemas se puede resolver descomponiéndolos en varios
pasos, de tal forma que la decisión final es consecuencia de una serie de
decisiones dependientes sobre el tiempo.
Aunque este tipo de problemas no contiene al factor tiempo per se, si
contiene la característica fundamental de la PD: procesos multietapa de
toma de decisiones. Muchos de los problemas tratar en estas notas de clase
son de éste tipo.
A pesar de esta característica de toma de decisiones secuenciales, 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.
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.
6. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
4
Por ejemplo, si se tomaron decisiones erróneas en la primera y segunda
etapa, esto no prohibe que no se puedan hacer decisiones correctas en las
etapas venideras.
La PD permite llegar a decisiones óptimas para los periodos o etapas que
aún restan a pesar la las decisiones erróneas tomadas en el pasado.
7. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
5
E
E
EL
L
L P
P
PR
R
RO
O
OB
B
BL
L
LE
E
EM
M
MA
A
A D
D
DE
E
E L
L
LA
A
A D
D
DI
I
IL
L
LI
I
IG
G
GE
E
EN
N
NC
C
CI
I
IA
A
A
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 Ilustración 1 se muestran las rutas posibles, en donde cada estado se
representa por un bloque numerado.
1
2
3
4
5
6
7
8
9
10
2
4
3
7
4
6
3
4
2
4
5
1 3
3
3
6
4
1
3
4
Etapa 1 Etapa 2 Etapa 3 Etapa 4
Ilustración 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)
8. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
6
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 Ilustración 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.
Siguiendo esta estrategia se obtendría la ruta 126910, a un costo
total de 13.
Sin embargo sacrificando un poco en una etapa es posible que se obtengan
ahorros mayores de allí en adelante.
Por ejemplo, 146 es globalmente más barata que 126.
Un enfoque posible para resolver este problema es por tanteos. Sin
embargo, el número de rutas posibles es grande (13321=18) y tener
que calcular el costo total para cada ruta no es una tarea atrayente.
9. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
7
Por fortuna la PD suministra una solución con mucho menos esfuerzo que
la enumeración exhaustiva. Los ahorros de cálculo serían enormes para
versiones más grandes de este problema.
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
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 1
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 (ver Ilustración 1). 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
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 2
2
Después se avanza a la etapa 2 para determinar los costos mínimos
(acumulativos) para los estados 5, 6 y 7.
Considerando primero al estado 5, se ve que existen tres alternativas; a
saber 25, 35 y 45.
10. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
8
Esta información, junto con los costos mínimos de los estados 2, 3 y 4
determinan el costo mínimo (acumulativo) para el estado 5 como
4
estado
el
desde
7
3
estado
el
desde
7
7
4
3
7
3
4
9
7
2
5
estado
al
estado
el
desde
mínimo
Costo
estado
al
mínimo
Costo
5
estado
al
mínimo
Costo
4
,
3
,
2
min
i
i
min
i
De forma similar para el estado 6, se tiene
4
estado
el
desde
4
4
1
3
6
2
4
6
4
2
6
estado
al
estado
el
desde
mínimo
Costo
estado
al
mínimo
Costo
6
estado
al
mínimo
Costo
4
,
3
,
2
min
i
i
min
i
Finalmente para el estado 7, se tiene
4
estado
el
desde
8
3
estado
el
desde
8
2
estado
el
desde
8
8
5
3
8
4
4
8
6
2
7
estado
al
estado
el
desde
mínimo
Costo
estado
al
mínimo
Costo
7
estado
al
mínimo
Costo
4
,
3
,
2
min
i
i
min
i
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 3
3
5
estado
el
desde
8
11
3
8
10
6
4
8
1
7
8
estado
al
estado
el
desde
mínimo
Costo
estado
al
mínimo
Costo
8
estado
al
mínimo
Costo
7
,
6
,
5
min
i
i
min
i
6
estado
el
desde
7
11
3
8
7
3
4
11
4
7
9
estado
al
estado
el
desde
mínimo
Costo
estado
al
mínimo
Costo
9
estado
al
mínimo
Costo
7
,
6
,
5
min
i
i
min
i
11. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
9
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 4
4
9
estado
el
desde
11
8
estado
el
desde
11
11
4
7
11
3
8
10
estado
al
estado
desde
mínimo
Costo
estado
al
mínimo
Costo
10
estado
al
mínimo
Costo
9
,
8
min
i
i
min
i
R
RE
ES
SU
UM
ME
EN
N D
DE
E C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
AS
S D
DI
IF
FE
ER
RE
EN
NT
TE
ES
S E
ET
TA
AP
PA
AS
S
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 146910.
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 145810.
Si se elige el estado 3, la ruta óptima es 135810.
F
FO
OR
RM
MA
AL
LI
IZ
ZA
AC
CI
IÓ
ÓN
N D
DE
E L
LO
OS
S C
CÁ
ÁL
LC
CU
UL
LO
OS
S
Se mostrará ahora la forma en la cual se pueden expresar matemáticamente
los cálculos recursivos de la PD.
Sea
i
i x
f la distancia más corta al estado i
x en la etapa i .
Sea
i
i x
x
c ,
1
la distancia o costo del estado 1
i
x al i
x .
Entonces
i
i x
f se calcula a partir de
1
1
i
i x
f utilizando la siguiente
ecuación recursiva hacia adelante
4
,
3
,
2
,
1
;
, 1
1
factibles
rutas
las
todas
1
i
x
f
x
x
c
min
x
f i
i
i
i
x
x
i
i
i
i-
;
12. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
10
con la condición inicial .
0
0
o
x
f
13. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
11
R
R
RE
E
EC
C
CU
U
UR
R
RS
S
SI
I
IÓ
Ó
ÓN
N
N H
H
HA
A
AC
C
CI
I
IA
A
A A
A
AD
D
DE
E
EL
L
LA
A
AN
N
NT
T
TE
E
E Y
Y
Y H
H
HA
A
AC
C
CI
I
IA
A
A A
A
AT
T
TR
R
RÁ
Á
ÁS
S
S
El ejemplo anterior utiliza la recursión hacia adelante, la cual los cálculos
avanzan de la etapa 1 a la etapa final.
El ejemplo anterior se puede resolver por medio de la recursión hacia
atrás, empezando de la etapa final y terminando de la etapa 1.
Las recursiones hacia adelante y hacia atrás producen la misma solución.
Aún cuando el procedimiento hacia adelante parece más lógico, la literatura
de la PD utiliza con frecuencia la recursión hacia atrás.
La razón de la preferencia de la recursión es que, en general, la recursión
hacia atrás puede ser más eficiente desde el punto de vista de los cálculos.
Se mostrará de la recursión hacia atrás aplicándola al problema de la
diligencia. Esta forma de resolver el problema también proporciona la
oportunidad de presentar los cálculos de la PD de una forma tabular
compacta.
14. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
12
E
E
EL
L
L P
P
PR
R
RO
O
OB
B
BL
L
LE
E
EM
M
MA
A
A D
D
DE
E
E L
L
LA
A
A D
D
DI
I
IL
L
LI
I
IG
G
GE
E
EN
N
NC
C
CI
I
IA
A
A C
C
CO
O
ON
N
N
R
R
RE
E
EC
C
CU
U
UR
R
RS
S
SI
I
IÓ
Ó
ÓN
N
N H
H
HA
A
AC
C
CI
I
IA
A
A A
A
AT
T
TR
R
RÁ
Á
ÁS
S
S
Para resolver este problema se retoma la Ilustración 1 que muestra las
etapas
La ecuación recursiva hacia atrás para el problema de la diligencia es
4
,
3
,
2
,
1
;
, 1
1
1
factibles
rutas
las
todas
1
i
x
f
x
x
c
min
x
f i
i
i
i
x
x
i
i
i
i
;
con condición inicial 0
5
5
x
f , para 10
5
x .
El orden asociado de los cálculos es 1
2
3
4 f
f
f
f
.
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 4
4
Debido a que el estado 10
5
x está conectado con los estados 9
,
8
4
x
exactamente con una ruta cada uno, no existen alternativas donde elegir y
los resultados de esta etapa se pueden resumir como
0
, 5
4
4
4
x
x
c
x
f Solución óptima
4
x 10
5
x
4
4 x
f
5
x
8 3 3 10
9 4 4 10
La solución óptima de la etapa 4 se lee como sigue: si se encuentra en el
estado 10, el menor costo se obtiene al pasar por los estados 8 ó 9.
15. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
13
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 3
3
Dadas
4
4 x
f de la etapa 4, entonces se puede comparar las alternativas
factibles como se muestra en la siguiente tabla:
4
4
4
3
3
3 , x
f
x
x
c
x
f
Solución óptima
3
x 8
4
x 9
4
x
3
3 x
f
4
x
5 1+3=4 4+4=8 4 8
6 6+3=9 3+4=7 7 9
7 3+3=6 3+4=7 6 8
La solución óptima de la etapa 3 se lee como sigue: si se encuentra en los
estados 5 ó 7, el costo mínimo es aquel que pasa por el estado 8; y si se
encuentra en el estado 6, el costo mínimo es aquel que pasa por el estado 9.
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 2
2
Dadas
3
3 x
f de la etapa 3, entonces se puede comparar las alternativas
factibles como se muestra en la siguiente tabla:
3
3
3
2
2
2 , x
f
x
x
c
x
f
Solución óptima
2
x 5
3
x 6
3
x 7
3
x
3
3 x
f
3
x
2 7+4=11 4+7=11 6+6=12 11 5 ó 6
3 3+4=7 2+7=9 4+6=10 7 5
4 4+4=8 1+7=8 5+6=11 8 5 ó 6
16. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
14
La solución óptima de la etapa 2 se lee como sigue: si se encuentra en los
estados 2 ó 4, el costo mínimo es aquel que pasa por los estados 5 ó 6; y si
se encuentra en el estado 3, el costo mínimo es aquel que pasa por el estado
5.
C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
A E
ET
TA
AP
PA
A 1
1
Dadas
2
2 x
f de la etapa 2, entonces se puede comparar las alternativas
factibles como se muestra en la siguiente tabla:
2
2
2
1
1
1 , x
f
x
x
c
x
f
Solución óptima
1
x 2
2
x 3
2
x 4
2
x
1
1 x
f
2
x
1 2+11=13 4+7=11 3+8=11 11 3 ó 4
La solución óptima de la etapa 1 se lee como sigue: si se encuentra en el
estado 1, el costo mínimo es aquel que pasa por los estados 3 ó 4.
R
RE
ES
SU
UM
ME
EN
N D
DE
E C
CÁ
ÁL
LC
CU
UL
LO
OS
S P
PA
AR
RA
A L
LA
AS
S D
DI
IF
FE
ER
RE
EN
NT
TE
ES
S E
ET
TA
AP
PA
AS
S
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 146910.
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 145810. Si se elige el estado 3, la ruta óptima es
135810.
17. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
15
T
T
TE
E
ER
R
RM
M
MI
I
IN
N
NO
O
OL
L
LO
O
OG
G
GÍ
Í
ÍA
A
A Y
Y
Y E
E
ES
S
ST
T
TR
R
RU
U
UC
C
CT
T
TU
U
UR
R
RA
A
A
El problema de la diligencia es un prototipo literal de los problemas de PD.
De hecho, este problema se diseñó a propósito para dar lugar a una
interpretación física literal de la estructura un tanto abstracta de los
problemas de la PD.
Por lo tanto, una manera de reconocer una situación que puede plantearse
como un problema de PD es observar si su estructura básica es análoga a la
del problema de la diligencia.
A continuación se presentan y analizan los elementos básicos que
caracterizan a los problemas de PD.
Característica general Característica ejemplificada en el problema de la
diligencia
El problema puede dividirse en
etapas, con una decisión de la
política óptima requerida en
cada etapa.
El problema de la diligencia se dividió
literalmente en sus cuatro "etapas",
correspondientes a las jornadas del viaje.
La decisión de una política óptima en cada etapa
fue el destino para esa jornada particular (es
decir, cuál política de seguro de vida elegir).
Otros problemas de PD requieren análogamente
tomar una sucesión de decisiones
interrelacionadas.
Cada etapa tiene un cierto
número de estados asociados a
ella.
Los estados asociados con cada etapa en el
problema de la diligencia fueron los estados (o
territorios) en los que el vendedor podía estar
localizado al embarcarse en esa jornada particular
18. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
16
del viaje.
En general, los estados son las diversas
condiciones posibles en las que el sistema podría
estar en esa etapa del problema.
El número de estados puede ser finito (como en el
problema de la diligencia) o infinito.
El efecto de la decisión de una
política en cada etapa es
transformar el estado actual en
un estado asociado con la etapa
siguiente (posiblemente de
acuerdo con una distribución de
probabilidad).
La decisión del vendedor, por lo que toca a su
destino siguiente, lo condujo del estado en el que
se encontraba al siguiente.
Esto sugiere que los problemas de PD pueden
interpretarse en términos de grafos:
Cada nodo correspondería a un estado.
El grafo constaría de columnas de nodos, con
cada columna correspondiendo a una etapa,
de modo que el flujo de un nodo sólo puede ir
hacia un nodo en la columna que sigue hacia
la derecha.
El valor asignado a cada rama que conecta a
dos nodos puede interpretarse como la
contribución a la función objetivo hecha al ir
de un estado al otro, correspondientes a estos
nodos.
En este caso, el objetivo sería hallar la ruta
óptima a través del grafo.
Dado el estado actual, una
política óptima para las etapas
restantes es independiente de la
política adoptada en las etapas
previas.
Dado el estado en el que el vendedor se encuentra
en un momento determinado, la política óptima
de seguro de vida (y su ruta asociada) desde este
punto hacia adelante es independiente de cómo
llegó allí.
Para los problemas de PD en general, el
19. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
17
conocimiento del estado actual del sistema
comunica toda la información acerca de su
comportamiento previo, necesaria para
determinar la política óptima de allí en adelante.
Lo anterior, a veces se menciona esta propiedad
como el principio de optimalidad que
formalmente enuncia que: Las futuras decisiones
para las etapas restantes constituirán una política
óptima, sin importar cuál haya sido la política
adoptada en las etapas restantes.
El procedimiento de resolución
empieza por hallar la política
óptima para cada estado de la
última etapa.
Comúnmente, la resolución de este problema de
una etapa es trivial, como lo fue para el problema
de la diligencia.
Se dispone de una relación
recursiva que identifica la
política óptima para cada estado
en la etapa n , dada la política
óptima para cada estado en la
etapa
1
n .
Para el problema de la diligencia las relaciones
recursivas hacia adelante y hacia atrás son,
respectivamente
4
,
3
,
2
,
1
;
, 1
1
factibles
rutas
las
todas
1
i
x
f
x
x
c
min
x
f i
i
i
i
x
x
i
i
i
i-
4
,
3
,
2
,
1
;
, 1
1
1
factibles
rutas
las
todas
1
i
x
f
x
x
c
min
x
f i
i
i
i
x
x
i
i
i
i
Utilizando esta relación
recursiva, el procedimiento de
resolución se mueve hacia atrás,
etapa por etapa —hallando en
cada ocasión la política óptima
para cada estado de esa etapa—
hasta que se encuentra la
política óptima cuando se parte
de la etapa inicial.
Esto se mostró mediante el problema de la
diligencia, en el que se encontró sucesivamente la
política óptima, al empezar en cada estado en la
etapa 1, 2, 3 y 4 para la recursión hacia delante, y
las etapas 4, 3, 2 y 1 para la recursión hacia atrás.
20. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
18
El concepto más importante en la estructura de la PD es la habilidad
de tomar decisiones acerca del problema en varias etapas o puntos en
el tiempo.
Este concepto tiene la siguiente estructura
Ilustración 2. Modelo gráfico de la PD.
Notar que esta estructura es la misma que aparece en varios
comportamientos recursivos de la naturaleza.
Etapa 1 anterior, presente
Etapa 2 anterior, presente
Etapa 3 anterior, presente
•
•
•
Etapa N anterior, presente
•
•
•
21. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
19
A
A
AP
P
PL
L
LI
I
IC
C
CA
A
AC
C
CI
I
IO
O
ON
N
NE
E
ES
S
S S
S
SE
E
EL
L
LE
E
EC
C
CT
T
TA
A
AS
S
S D
D
DE
E
E P
P
PD
D
D
A continuación se presentarán cuatro 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.
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.
22. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
20
Mientras tanto, el proceso mental propuesto deberá mejorar la comprensión
del concepto de estado.
23. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
21
E
EL
L M
MO
OD
DE
EL
LO
O D
DE
E V
VO
OL
LU
UM
MÉ
ÉN
N-
-C
CA
AR
RG
GA
A
26. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
24
E
EL
L M
MO
OD
DE
EL
LO
O D
DE
E N
NÚ
ÚM
ME
ER
RO
O D
DE
E E
EM
MP
PL
LE
EA
AD
DO
OS
S
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?
Ejemplo
35. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
33
E
E
EL
L
L P
P
PR
R
RO
O
OB
B
BL
L
LE
E
EM
M
MA
A
A D
D
DE
E
E L
L
LA
A
A D
D
DI
I
IM
M
ME
E
EN
N
NS
S
SI
I
IO
O
ON
N
NA
A
AL
L
LI
I
ID
D
DA
A
AD
D
D
E
EJ
JE
EM
MP
PL
LO
O
37. NOTAS DE CLASE: PROGRAMACIÓN DINÁMICA
35
R
R
RE
E
EF
F
FE
E
ER
R
RE
E
EN
N
NC
C
CI
I
IA
A
AS
S
S B
B
BI
I
IB
B
BL
L
LI
I
IO
O
OG
G
GR
R
RÁ
Á
ÁF
F
FI
I
IC
C
CA
A
AS
S
S
Hillier, F. S. y G. S. Lieberman. Introducción a la investigación de
operaciones. McGraw-Hill.
Taha, H. A. Investigación de operaciones: una introducción. 6ª edición.
Prentice Hall. México, 1998.
Winston, W. L. Investigación de operaciones: aplicaciones y algoritmos.
Grupo Editorial Iberoamérica. México, 1994.