Está en la página 1de 46

Programacin dinmica

99












4 Programacin dinmica


4.1 Programacin dinmica

La programacin dinmica consiste en una tcnica que permite determinar de manera eficiente las
decisiones que optimizan el comportamiento de un sistema que evoluciona a lo largo de una serie de
etapas. En otras palabras, trata de encontrar la secuencia de decisiones que optimiza el
comportamiento de un proceso polietpico.

La naturaleza del razonamiento que se debe realizar en programacin dinmica es muy diferente al de
la programacin lineal. En programacin lineal, intenta describir una determinada situacin en
trminos de un modelo matemtico determinado; una vez conocida la naturaleza de las variables de
decisin, y expresadas la funcin objetivo y las restricciones en funcin de esas variables, la
resolucin del modelo puede confiarse, sin mayores problemas, a un programa informtico. La
programacin dinmica no admite una resolucin sistemtica de este tipo; ms que un modelo
concreto, es una estrategia de resolucin comn a muchas situaciones en principio diferentes entre s.
Adems, es frecuente que la resolucin del modelo est muy relacionada con la situacin que se ha de
modelizar. En contrapartida, las simplificaciones que en ocasiones deben realizarse en programacin
lineal para poder resolver el modelo no son necesarias en programacin dinmica, que admite gran
variedad de relaciones entre variables.

La estrategia seguida en este mdulo para introducir al lector a la programacin dinmica, compartida
por otros autores que se han enfrentado a esta situacin, consiste en comenzar con una introduccin
terica que describe las caractersticas de los procesos que pueden ser representados por programacin
dinmica: los procesos polietpicos de decisin. A continuacin, se introducen los elementos comunes
a cualquier modelo de programacin dinmica: las etapas, los estados, las variables de decisin y la
funcin de recurrencia. Finalmente se muestran los diversos tipos de programacin dinmica
existentes:

Programacin dinmica no homognea, frente a programacin dinmica homognea en el tiempo.
Para este ltimo caso, podremos plantearnos encontrar la solucin para horizonte finito o para
horizonte infinito.

Programacin dinmica determinista, frente a programacin dinmica aleatoria. En este caso, es
interesante destacar que las cadenas de Markov con remuneracin y decisin son un caso
particular de programacin dinmica aleatoria homognea en el tiempo.

Estos tipos de programacin dinmica se introducirn mediante ejemplos, que esperamos que ayuden
al lector a internalizar la lgica de la programacin dinmica.
Mtodos cuantitativos de organizacin industrial II
100
4.2 Procresos polietpicos de decisin

Las situaciones susceptibles de ser representadas mediante programacin dinmica pueden describirse
como procesos polietpicos de decisin. Seguidamente se exponen algunas caractersticas propias de
este tipo de procesos.

El problema puede dividirse en etapas. En cada una de esas etapas, debe tomarse una
decisin. Tendremos la solucin del problema cuando conozcamos la decisin ptima
para cualquier situacin que pueda presentarse en la evolucin del sistema.

La programacin dinmica va asociada a situaciones de evolucin de un sistema que va evolucionando
a lo largo de varias etapas (de ah su carcter dinmico). En la mayora de las ocasiones, se tratar de
representar el comportamiento de un sistema que evoluciona a lo largo del tiempo. En otros casos, se
trata de situaciones en las que las decisiones se toman de manera simultnea en el tiempo, pero en las
que se evalan las decisiones de manera secuencial. Ntese la diferencia con la programacin lineal,
en las que las decisiones se toman de manera simultnea (aunque en ocasiones representemos sistemas
que evolucionan a lo largo del tiempo, como los planes de produccin).

Al comenzar cada una de las etapas, antes de tomar la decisin, el sistema podr
encontrarse en un estado de los varios posibles para esa etapa.

Esto significa que para cada etapa debe definirse un conjunto de estados. El estado debe sintetizar toda
la informacin que debemos conocer de la evolucin del sistema en las etapas anteriores. Los estados
posibles para una etapa no tienen por qu ser los mismos que para las etapas siguientes (aunque s
deben definirse de la misma manera: los estados aseguran la continuidad entre una y otra etapa) y el
nmero de estados puede ser finito o infinito.

Una vez tomada la decisin en el estado correspondiente, el sistema evolucionar hacia
alguno de los estados posibles para la etapa siguiente.

Por lo tanto, el comportamiento del sistema puede percibirse como una secuencia de decisiones y
evoluciones. Dicha evolucin puede ser conocida con certeza, una vez tomada la decisin (tendremos
una situacin de programacin dinmica determinista), o bien el sistema puede evolucionar hacia
diferentes estados, segn una ley de probabilidad conocida (siendo entonces programacin dinmica
aleatoria).

El objetivo de la programacin dinmica es de encontrar cul es la poltica ptima para
cada una de las etapas de la evolucin del sistema. La poltica para una determinada etapa
es la decisin ptima en cada uno de los posibles estados del sistema en dicha etapa.

Ntese que, para cada etapa, debe definirse una variable de decisin x
n
. Si el sistema tiene k estados en
esa etapa, una poltica ser un vector de k componentes, cuya componente esima es el valor de la
variable de decisin para el estado e en la etapa n.

La esencia de la estrategia de la programacin dinmica se expresa mediante el principio de
optimalidad:

En un modelo de programacin dinmica, la poltica ptima para las etapas que faltan
hasta la finalizacin del proceso es independiente de las polticas adoptadas en las etapas
anteriores.

Esta propiedad es la esencia de la programacin dinmica y tiene dos implicaciones importantes:
Programacin dinmica
101
En primer lugar, la evolucin futura del sistema a partir de una determinada etapa depende
exclusivamente del estado en que nos encontremos en esa etapa. Ntese entonces que todo modelo de
programacin dinmica debe cumplir la propiedad markoviana: slo necesitamos conocer la situacin
del sistema en el momento presente para determinar su evolucin en las etapas siguientes.

En segundo lugar, un modelo de programacin dinmica debe resolverse hacia atrs. Esto admite dos
formulaciones, en esencia equivalentes:

Si n son las etapas que ya ha realizado el sistema, conociendo la poltica ptima para la etapa n +
1, podremos encontrar la poltica ptima para la etapa n.
Si N son las etapas que faltan para que finalice la evolucin del sistema, conociendo la poltica
ptima cuando faltan N 1 etapas, podremos encontrar la poltica ptima para cuando falten N
etapas. Esta segunda formulacin es especialmente til para problemas de horizonte infinito.

El procedimiento de solucin se inicia al encontrar la poltica ptima para la ltima etapa.

Esta propiedad tiene que ver con la solucin hacia atrs de la que se hablaba en la propiedad anterior.
Es conveniente que la solucin para la ltima etapa sea trivial, esto es, que pueda encontrarse sin
problemas la decisin ptima para cada uno de los estados de la ltima etapa. Esto puede lograrse
definiendo adecuadamente la funcin a optimizar. Es frecuente definir la funcin f
N
a optimizar en la
etapa N como el valor de dicha funcin para las N ltimas etapas.

Para encontrar la poltica ptima para las etapas anteriores, es necesario definir una
relacin recursiva para la funcin a optimizar.

Esto significa que, para la etapa n, la funcin a optimizar ha de poder expresarse en funcin de alguno
de estos elementos:
El estado en que nos encontremos en la etapa nsima.
Los valores de la variable de decisin x
n
posibles para cada estado e
n
.
El ptimo de la funcin para la etapa n+1, para el estado (o estados) e
n+1
a que evolucione el
sistema despus de tomar la decisin x
n


Para cada uno de los estados, deberemos determinar el valor ptimo de la funcin (que depender
exclusivamente del estado del sistema), as como el valor x*
n
de la variable de decisin que optimiza
el comportamiento del sistema para ese estado. Ese valor x*
n
formar parte de la poltica ptima para
esa etapa.

El amplio abanico de posibilidades de la programacin dinmica nos obliga, en este momento de la
exposicin, a emplear una notacin imprecisa, y a no poder expresar la ecuacin recursiva con
propiedad. Al definir los diferentes tipos de programacin dinmica, podremos establecer una notacin
algo ms exacta.

Existen muchos problemas que pueden definirse como procesos polietpicos de decisin. Seguidamente
se expondrn algunos ejemplos de procesos de este tipo. El lector puede intentar definir las etapas,
estados, variables de decisin y funcin de recurrencia para cada uno de ellos. En la seccin siguiente,
definiremos los elementos del un modelo de programacin dinmica a partir del ejemplo 4.2.a

Ejemplo 4.2.a Reparto de recursos a actividades (A)

La tabla siguiente muestra el rendimiento (en um.) resultante de asignar un determinado nmero de
trabajadores a cuatro actividades:

Mtodos cuantitativos de organizacin industrial II
102
Tabla 4.2.a Rendimiento de la asignacin de recursos a actividades para el ejemplo 4.2.a

A B C D
0 0 0 0 0
1 3 4 6 5
2 7 8 9 10
3 9 10 12 11
4 15 13 14 11


Sabiendo que contamos con cuatro trabajadores, cuntos trabajadores deberemos asignar a cada
campo para que el rendimiento sea ptimo?

Ejemplo 4.2.b Catalizador (A)

Un determinado proceso qumico mejora notablemente su rendimiento si introducimos un catalizador.
Dicho catalizador tiene una vida til mxima de cinco semanas, despus de las cuales debe ser
reemplazado de inmediato. Tambin es posible reemplazarlo antes, si las condiciones econmicas del
proceso as lo aconsejan.

Efectivamente, a medida que el catalizador envejece, su rendimiento disminuye y aumenta su coste de
utilizacin, segn la tabla siguiente:

TABLA 4.2.b Rendimiento del catalizador en funcin de las semanas de funcionamiento para el ejemplo 4.2.b

Semana funcionamiento Coste (unidades monetarias)
1 10
2 12
3 18
4 25
5 33

Cada vez que se reemplaza el catalizador, se incurre en unos costes adicionales de instalacin de 20
um.

Cuntas veces deberemos reemplazar el catalizador las primeras cuatro semanas de funcionamiento si
al iniciar el proceso instalamos un catalizador nuevo?

Ejemplo 4.2.c Planificacin de inventarios (A)

El precio de venta de un determinado artculo es de 10 /unidad y la demanda diaria sigue la siguiente
ley de probabilidad:

Demanda 0 1 2 3
Probabilidad 0,4 0,3 0,2 0,1

El coste de posesin de cada unidad en inventario al final de da es de 1 . Al final de da, tenemos la
posibilidad de pedir una cantidad cualquiera a un proveedor que nos la sirve el da siguiente a primera
hora de la maana, con un coste de 2 /unidad, ms 3 por costes de transporte. Cuntas unidades
debemos comprar cada da para maximizar el beneficio esperado?



Programacin dinmica
103

4.3 Etapas, estados, variables de decisin y funcin de recurrencia

La tarea ms compleja en programacin dinmica es la de definir el modelo. Aunque es difcil dar una
sistemtica, podemos dar un listado de cuestiones que pueden ayudar a obtener dichos modelos.


4.3.1 Etapas de la evolucin del sistema

En primer lugar, debe establecerse la naturaleza de las etapas del proceso. En ocasiones, dichas etapas
son el resultado de una evolucin natural del modelo a lo largo del tiempo (como en los ejemplos 4.2.b
y 4.2.c) y en otras ocasiones estas etapas tienen ms que ver con el razonamiento empleado para
resolver el problema que con una verdadera evolucin temporal del sistema (como en el ejemplo
4.2.a).

Para un determinado proceso, podemos plantear su evolucin a largo plazo, o bien para un nmero
finito de etapas. En el primer caso, se plantea una situacin en la que el nmero de etapas es infinito
(programacin dinmica con horizonte infinito), esperando que el sistema converja a una poltica
ptima tras un nmero determinado de etapas. En el segundo caso, el nmero de etapas del sistema
estar limitado, bien por sus propias caractersticas, o porque nos interese conocer su evolucin para
ese nmero de etapas (programacin dinmica con horizonte finito). El ejemplo 4.2.a debe ser
forzosamente de horizonte finito, puesto que slo tenemos cuatro actividades. Los ejemplos 4.2.b y
4.2.c pueden plantearse como problemas de horizonte finito o de horizonte infinito.

Ejemplo 4.3.1.a Reparto de recursos a actividades (B): determinacin de las etapas

El problema planteado en el ejemplo 4.2.a es un caso particular de asignacin de recursos
(trabajadores) a actividades (tareas). El proceso puede realizarse a lo largo de diferentes etapas si
vamos asignando trabajadores a las actividades de manera secuencial. As, podemos definir las etapas
del modo siguiente:

Primera etapa (n = 1): asignacin de trabajadores a la actividad A
Primera etapa (n = 2): asignacin de trabajadores a la actividad B
Primera etapa (n = 3): asignacin de trabajadores a la actividad C
Primera etapa (n = 4): asignacin de trabajadores a la actividad D

En este caso, no puede decirse que realmente exista una evolucin temporal: la definicin de las etapas
se trata de una estrategia para resolver el problema. En consecuencia, habra valido cualquier otro
orden de asignacin (por ejemplo, B C D A en vez del definido A B C D).

Ejemplo 4.3.1.b Catalizador (B): determinacin de las etapas

El problema planteado en el ejemplo 4.2.b s que supone una evolucin temporal. Como la decisin de
cambiar el catalizador debe plantearse al principio de cada semana, de manera natural las etapas sern
las semanas de funcionamiento del catalizador. En este caso, podemos plantear el problema para un
nmero determinado de semanas (por ejemplo, para tres meses de funcionamiento o doce semanas) o
para un nmero indeterminado de semanas. En este ltimo caso, tendramos un problema de horizonte
infinito.

Los problemas que pueden plantearse como de horizonte infinito admiten dos definiciones de las
etapas del sistema. A modo de ejemplo, definiremos las etapas de las dos formas para el problema
consistente en determinar la poltica ptima para 5 semanas:
Mtodos cuantitativos de organizacin industrial II
104
Etapa n = 1: primera semana de funcionamiento del sistema Etapa N = 5: faltan cinco semanas para finalizar
Etapa n = 2: segunda semana de funcionamiento del sistema Etapa N = 4: faltan cuatro semanas para finalizar
Etapa n = 3: tercera semana de funcionamiento del sistema Etapa N = 3: faltan tres semanas para finalizar
Etapa n = 4: cuarta semana de funcionamiento del sistema Etapa N = 2: faltan dos semanas para finalizar
Etapa n = 5: quinta semana de funcionamiento del sistema Etapa N = 1: falta una semana para finalizar

La segunda formulacin del problema permite plantear el caso de horizonte infinito: bastar con
plantear el problema cuando N tiende a infinito.


4.3.2 Estados del sistema

La variable de estado del sistema (frecuentemente la ms difcil de determinar) ha de ser tal que
describa la informacin necesaria para conocer la evolucin del sistema desde la primera etapa hasta la
etapa actual. La programacin dinmica admite mltiples formulaciones de las variables de estado: en
cada etapa podemos tener un nmero finito o infinito de estados y los estados pueden ser los mismos
en cada etapa o ser diferentes para cada una de ellas.

Ejemplo 4.3.2.a Reparto de recursos a actividades (C): determinacin de los estados

En el caso del problema de asignacin de recursos a actividades, tenemos que el elemento
determinante para saber cuntos trabajadores podemos asignar son los trabajadores disponibles. Esta
variable ser, entonces, una buena candidata a variable de estado del sistema. De manera que tenemos
los estados siguientes:

Estado e = 0: no hay ningn trabajador disponible
Estado e = 1: queda un trabajador disponible
Estado e = 2: quedan dos trabajadores disponibles
Estado e = 3: quedan tres trabajadores disponibles
Estado e = 4: los cuatro trabajadores estn disponibles

Esta no es la nica definicin posible de estado. Tambin puede definirse como el nmero de
trabajadores que han sido asignados en etapas anteriores. En cierto modo, se trata de los mismos
estados: si se han asignado cuatro trabajadores en etapas anteriores (e = 4 segn esta nueva
definicin), no tenemos ningn trabajador por asignar (e = 0 segn la definicin anterior).

Para la etapa n = 1, no hemos asignado ningn trabajador todava, por lo que nos encontraremos en el
estado e = 4. En las otras etapas, podremos encontrarnos en cualquiera de los cinco estados.

Ejemplo 4.3.2.b Catalizador (C): determinacin de los estados

En el problema del catalizador, la informacin relevante para tomar la decisin es la edad del
catalizador (de la que depende el rendimiento). En particular, nos interesa saber el nmero de semanas
que lleva funcionando el catalizador al principio de la semana, cuando hemos de tomar la decisin.
Por tanto, este nmero de semanas puede ser la definicin de los estados. Como para plantearnos la
decisin el catalizador ha debido funcionar un cierto tiempo, los estados del sistema para este caso
son:

Estado e = 1: el catalizador tiene una vida de una semana
Estado e = 2: el catalizador tiene una vida de dos semanas
Estado e = 3: el catalizador tiene una vida de tres semanas
Estado e = 4: el catalizador tiene una vida de cuatro semanas
Estado e = 5: el catalizador tiene una vida de cinco semanas
Programacin dinmica
105
En este caso, no es necesario plantear estados superiores a seis, puesto que nos vemos obligados a
cambiar el catalizador cuando lleva cinco semanas funcionando.


4.3.3 Variables de decisin y polticas

Un elemento fundamental de la programacin dinmica es la necesidad de tomar una decisin. Esta
decisin debe representarse con una variable de decisin que describa la decisin a tomar. El rango de
valores que puede tomar la variable de decisin puede ser diferente para cada uno de los estados del
sistema, en funcin de sus caractersticas, y el nmero de variables de decisin para cada etapa puede
ser finito o infinito. Estableceremos una poltica para una etapa del sistema cuando determinemos el
valor de las variables de decisin para cada una de las etapas del sistema.

Resolver un modelo de programacin dinmica exige hallar, para cada uno de los estados del sistema
en cada una de las etapas, el valor ptimo de la variable de decisin. En otras palabras, deberemos
obtener la poltica ptima para cada una de las etapas del sistema.

Ejemplo 4.3.3.a Reparto de recursos a actividades (D): determinacin de las variables de decisin

Para el problema de asignacin de recursos a actividades, la decisin a tomar en cada etapa es
claramente cuntos trabajadores podemos asignar a cada actividad. As, la variable de decisin se
definir para cada etapa n como:

x
n
= trabajadores a asignar a la actividad propia de la etapa n

Dependiendo del estado en que los encontremos, no tendremos disponibles todas las variables de
decisin. En la tabla siguiente, tenemos los valores posibles de xn para cada uno de los estados.
Recordemos que la variable de estado representa el nmero de trabajadores disponibles: en
consecuencia, no podremos asignar ms trabajadores de los que efectivamente tenemos.

Tabla 4.3.3.a Variables de estado y de decisin para el ejemplo 4.3.3.a

Valor variable de estado e Valores posibles de la variable de decisin x
n

e = 0 x
n
= 0
e = 1 x
n
= 0, 1
e = 2 x
n
= 0, 1, 2
e = 3 x
n
= 0, 1, 2, 3
e = 4 x
n
= 0, 1, 2, 3, 4


Ejemplo 4.3.3.b Catalizador (D): determinacin de las variables de decisin

En este caso, la decisin a tomar puede definirse mediante una variable binaria: cambiar el catalizador
(C) o no cambiarlo (N). En este caso, para los estados e = 1, 2, 3 y 4 son posibles los valores N y C de
la variable. En el estado e = 5, la nica variable posible es C, dado que cuando el catalizador lleva
cinco semanas funcionando, es obligatorio cambiarlo.


4.3.4 Funcin de recurrencia

Se supone que las decisiones que debemos tomar en cada una de las etapas deben conducir a optimizar
(hacer mxima o mnima) una determinada funcin, descriptiva del comportamiento del sistema. A
Mtodos cuantitativos de organizacin industrial II
106
diferencia de la programacin lineal, no existen restricciones acerca de la forma de esta funcin: puede
ser lineal, cuadrtica, exponencial, pueden multiplicarse variables, etc.

Ahora bien, la funcin a optimizar debe cumplir una condicin importante: la funcin a optimizar debe
ser recursiva. Esto significa que el valor de la funcin a optimizar en la etapa n debe ser funcin del
valor de la funcin ptima para alguno (o algunos) de los estados en la etapa n+1. En consecuencia,
debemos conocer tambin cmo ser la evolucin del sistema en la etapa n, para cada una de las
combinaciones posibles de variables de estado y de decisin.

Ejemplo 4.3.4.a Reparto de recursos a actividades (E): determinacin de la funcin de recurrencia

Para este problema, se trata de maximizar el rendimiento de la asignacin global de recursos a las
actividades. En este caso, el rendimiento propio de la asignacin de la etapa n es funcin de la variable
de decisin x
n
, por lo que puede representarse como r
n
(x
n
).

Por otra parte, tal como se han definido los estados y las variables de decisin (ver ejemplos 4.3.2.a y
4.3.3.a), si en la etapa n nos encontramos en el estado e
n
y optamos por un determinado valor de la
variable de decisin x
n
, evolucionamos al estado e
n
x
n
. En otras palabras, si tenemos disponibles e
n

trabajadores y decidimos asignar a la actividad x
n
trabajadores, para la etapa siguiente quedarn
disponibles e
n
x
n
trabajadores. De este modo, la funcin de recurrencia ser:

( ) ( ) ( )
*
1
,
n n n n n n n n
f e x r x f e x
+
= +

En este caso, f
n
representa el rendimiento obtenido por la asignacin de recursos a actividades desde la
etapa n hasta la ltima etapa.

Ejemplo 4.3.4.b Catalizador (E): determinacin de la funcin de recurrencia

En este caso, el rendimiento del catalizador en la etapa considerada depender de la decisin de
cambiar o no el catalizador y del estado en que nos encontremos. En cualquier caso, tendremos que
r
n
(e
n
, C) = 30: si cambiamos el catalizador, debemos asumir unos costes de reemplazo de 20 (ver
ejemplo 4.2.a), ms el coste de funcionamiento para la primera semana. Si no cambiamos el
catalizador, entonces deberemos buscar en la tabla 4.2.b los valores de r
n
(e
n
, N).

En cuanto a la evolucin del sistema a la etapa siguiente, depender de la variable de decisin: si
decidimos cambiar el catalizador, ste ser nuevo y en la etapa siguiente llevar una semana
funcionando, por lo que el estado del sistema ser 1. Si, en cambio, no cambiamos el catalizador, est
se har una semana ms viejo: esto significa que si estbamos en el estado e
n
y no cambiamos el
catalizador, en la siguiente etapa pasaremos al estado e
n +1
. De esta manera, la funcin de recurrencia
para los dos valores de la variable de decisin se definir como:

( ) ( )
*
1
, 30 1
n n n
f e C f
+
= +

( ) ( ) ( )
*
1
, , 1
n n n n n n
f e N r e N f e
+
= + +

En este caso, f
n
representa el rendimiento obtenido por el funcionamiento del catalizador desde la
etapa n hasta la ltima etapa.




Programacin dinmica
107
4.4 Tipos de programacin dinmica

El lector habr podido comprobar que la programacin dinmica puede admitir gran nmero de
formulaciones y resolver problemas de muy diversa naturaleza. Una clasificacin de las diferentes
situaciones puede ser de ayuda para explorar, de manera ms sistemtica, las diferentes posibilidades.
En principio, los problemas de programacin dinmica pueden clasificarse segn dos criterios: su
homogeneidad o no homogeneidad, y su carcter determinista o aleatorio.


Programacin dinmica homognea y no homognea

Diremos que un modelo de programacin dinmica es homogneo si presenta la misma estructura para
todas las etapas del sistema. Ms concretamente:

El sistema puede presentar los mismos estados en cualquiera de sus etapas.
Los valores posibles de las variables de decisin para cada uno de los estados son las mismas para
todas las etapas del sistema.
La funcin a optimizar es la misma para todas las etapas del sistema.
La evolucin del sistema, para un determinado estado y para un determinado valor de la variable
de decisin de los disponibles para dicho estado, es la misma para todas las etapas del sistema.

Una consecuencia de esta definicin es que un modelo de programacin dinmica homognea puede
evolucionar indefinidamente en el tiempo, esto es, el nmero posible de etapas es infinito. Entonces
podemos plantearnos analizar su evolucin para un nmero infinito de etapas (problema de horizonte
infinito) o para un nmero finito de stas (problema de horizonte finito). Los ejemplos 4.2.b y 4.2.c
renen las condiciones necesarias para ser problemas de programacin dinmica homognea.

Cuando el modelo no cumple alguna de estas condiciones, tenemos programacin dinmica no
homognea. Todos aquellos modelos que tengan un nmero finito de etapas posibles entrarn dentro
de esta categora. Tambin puede suceder que el nmero de etapas sea infinito, aunque los problemas
de programacin dinmica no homognea suelen ser de horizonte finito. El ejemplo 4.2.a es un caso
de programacin dinmica no homognea.


Programacin dinmica determinista y aleatoria

Esta categora tiene que ver con la naturaleza de la evolucin del sistema, una vez se ha tomado la
decisin. Cuando, en una etapa determinada, podemos conocer con certeza la evolucin del sistema
para un determinado estado y un determinado valor de la variable de decisin, tenemos un modelo de
programacin dinmica determinista. Para estos modelos, podremos determinar las decisiones que, en
cada etapa, dan el valor ptimo de la funcin de recurrencia. Los ejemplos 4.2.a y 4.2.b son ejemplos
de programacin dinmica determinista.

Si, para una etapa determinada, en un estado cualquiera i, al escoger un determinado valor de la
variable de decisin, encontramos que el sistema puede evolucionar hacia diferentes estados j de la
siguiente etapa con una probabilidad conocida p
ij
, entonces el modelo es de programacin dinmica
aleatoria. En este caso, podremos determinar las decisiones que optimicen el valor esperado de la
funcin de recurrencia. El ejemplo 4.2.c es un caso de programacin dinmica aleatoria, dado que la
demanda sigue una determinada distribucin de probabilidad.

El cuadro siguiente muestra las posibles situaciones que podemos encontrar en programacin dinmica
(PD), segn esta clasificacin:
Mtodos cuantitativos de organizacin industrial II
108
Tabla 4.4.a Tipos de programacin dinmica

PD homognea PD no homognea
PD determinista
PDD homognea
Horizonte finito
Horizonte infinito
PDD no homognea
PD aleatoria
PDA homognea
Horizonte finito
Horizonte infinito
PDA no homognea


4.5 Programacin dinmica determinista

En la programacin dinmica determinista, el estado al que evolucionar el sistema en la etapa n+1
vendr determinada por el estado en que se encuentra en la etapa n, as como por la decisin tomada.
As, la funcin objetivo depender de:

El estado e
i
en que se encuentre el sistema en la etapa n.
El valor de la variable de decisin x
n
, representativo de la decisin que se toma en la etapa n. La
decisin a tomar puede ser diferente para cada estado e
i
, por lo que representaremos dicho valor
por x
n
(e
i
).

Entonces, podremos definir los elementos siguientes:

El valor de la funcin a optimizar en la etapa n, si nos encontramos en el estado e
i
y se toma la
decisin x
n
(e
i
):

( ) ,
n i n i
f e x e



La contribucin a la funcin objetivo en la etapa n. Esta contribucin puede depender del estado del
sistema e
i
y de la variable de decisin x
n
(e
i
):

( ) ,
i n i
c e x e



El valor ptimo de la funcin objetivo en la etapa n+1. Como es un modelo determinista, podremos
determinar la evolucin del sistema con certeza: si nos encontramos en el estado e
i
y tomamos la
decisin x
n
(e
i
), deberemos evolucionar necesariamente a algn estado e
j
:

( )
*
1 n j
f e
+


Si el primer elemento puede ponerse en funcin de los otros dos, la funcin objetivo ser de tipo
recursivo: la funcin en la etapa n es funcin del valor de la funcin de la etapa n+1. Por ejemplo
(aunque no necesariamente), la funcin puede ser de tipo aditivo:

Funcin en la etapa (n) = contribucin en la etapa (n) + valor ptimo de la funcin en la etapa (n+1)

( ) ( ) ( )
*
1
, ,
n i n i i n i n j
f e x e c e x e f e
+
= +



A este tipo de funcin le es aplicable el principio de optimalidad de la programacin dinmica: la
poltica ptima para las etapas que faltan hasta la finalizacin del proceso (n, n+1, n+2, ...) es
independiente de las polticas adoptadas en las etapas anteriores. Como conocemos las polticas
Programacin dinmica
109
ptimas para n+1 y las siguientes etapas, podremos ahora determinar la poltica ptima para la etapa n.
Efectivamente, para cada uno de los estados e
i
podemos determinar la decisin ptima:

( )
( )
( ) { }
*
,
n i
n i n i n i
x e
f e OPT f e x e =



Adems de los valores de ( )
*
n i
f e , tambin conviene retener los valores de la variable de la decisin
para los que se ha encontrado el ptimo ( )
*
n i
x e . El listado de los valores de la variable de decisin
ptimos para cada estado constituirn la poltica para la etapa n.

Como ahora conocemos los valores de ( )
*
n i
f e , ahora podremos realizar el mismo proceso para la
etapa n1:

Funcin en la etapa (n1) = contribucin en la etapa (n1) + valor ptimo de la funcin en la etapa (n)

( ) ( ) ( )
*
1 1 1
, ,
n i n i i n i n j
f e x e c e x e f e

= +



En los problemas de programacin dinmica determinista, pueden cumplirse las propiedades
siguientes:

Las variables de decisin propias de cada estado son las mismas para todas las etapas del sistema.
La contribucin a la funcin objetivo para la variable de decisin x
n
y el estado e
i
se calcula de la
misma manera para todas las etapas del sistema.
La regla que determina la evolucin del estado e
i
al e
j
en la transicin de una etapa a la siguiente
es la misma para todas las etapas.

Cuando esto sucede, tendremos un problema de programacin dinmica determinista homognea en el
tiempo. Si no se cumple alguna de las tres condiciones, el problema ser de programacin dinmica no
homognea.

Seguidamente, mostraremos con ejemplos ilustrativos sencillos la operativa de la operacin dinmica,
centrndonos en primer lugar en la programacin dinmica no homognea, resolviendo el problema
planteado en el ejemplo 4.2.a.


4.5.1 Programacin dinmica determinista no homognea

Seguidamente se ilustrar el procedimiento de resolucin usado en programacin dinmica a travs del
modelo de programacin dinmica no homognea expuesto en el ejemplo 4.2.a, cuyos elementos se
han ido deduciendo a lo largo de la seccin 4.3.

Ejemplo 4.5.1.a Reparto de recursos a actividades (F): obtencin de la solucin

Recordemos el planteamiento del problema del ejemplo 4.2.a:

La tabla siguiente muestra el rendimiento (en um) resultante de asignar un determinado nmero de
trabajadores a cuatro actividades:



Mtodos cuantitativos de organizacin industrial II
110
Tabla 4.5.1.a Rendimiento de la asignacin de recursos a actividades para el ejemplo 4.2.a

A B C D
0 0 0 0 0
1 3 4 6 5
2 7 8 9 10
3 9 10 12 11
4 15 13 14 11


Sabiendo que contamos con cuatro trabajadores, cuntos trabajadores deberemos asignar a cada
campo para que el rendimiento sea ptimo?

Si el rendimiento en funcin de los trabajadores fuera lineal, el problema puede resolverse mediante
programacin lineal. Por ser no lineal la funcin objetivo, es aconsejable resolverlo mediante
programacin dinmica.

Recapitulemos cmo se ha ido definiendo el modelo, en los ejemplos 4.3.1.a, 4.3.2.a, 4.3.4.3.a y
4.3.4.a:

Definicin de las etapas:

Aqu no hay una sucesin temporal clara, puesto que se trata de asignar recursos a actividades. Sin
embargo, podemos definir las etapas como sigue:

Primera etapa (n = 1): asignacin de trabajadores a la actividad A
Primera etapa (n = 2): asignacin de trabajadores a la actividad B
Primera etapa (n = 3): asignacin de trabajadores a la actividad C
Primera etapa (n = 4): asignacin de trabajadores a la actividad D

Estados:

La informacin necesaria para conocer el comportamiento del sistema en el futuro es claro, y
determina la naturaleza del estado: para una determinada etapa, el estado del sistema puede definirse
como los trabajadores disponibles para ser asignados a esta etapa y las siguientes. De modo que
tenemos:

Estado e = 0: no hay ningn trabajador disponible
Estado e = 1: queda un trabajador disponible
Estado e = 2: quedan dos trabajadores disponibles
Estado e = 3: quedan tres trabajadores disponibles
Estado e = 4: los cuatro trabajadores estn disponibles

Variable de decisin:
La variable de decisin x
n
se ha definido como los trabajadores que se asignan en la etapa considerada.
El valor de la variable de decisin no puede ser ms grande que el estado en que nos encontremos
(esto es, no podemos asignar ms trabajadores de los que disponemos). Esto nos da para el problema
una estructura como la que se muestra





Programacin dinmica
111

Fig. 4.5.1.a Estados y etapas para el problema del ejemplo 4.2.a

El nmero de posibles soluciones es finito: en este caso tenemos 120 posibilidades. La programacin
dinmica permite una exploracin de este conjunto de posibilidades ms eficiente que su simple
enumeracin. Como se ha indicado, la estrategia a seguir es resolver el programa hacia atrs: para las
etapas 4, 3, 2 y 1 se trata de encontrar la variable de decisin ptima para cada estado.


Funcin de recurrencia:
La funcin f de recurrencia para una etapa n puede definirse como el rendimiento obtenido entre esta
etapa y el resto de asignaciones que faltan hasta el final. Por ejemplo, f
2
es el rendimiento obtenido por
asignar trabajadores a las actividades B (n = 2), C (n = 3) y D (n = 4). As definida, la funcin de
recurrencia puede expresarse como:

( ) ( ) ( )
*
1
,
n n n n n n n n
f e x r x f e x
+
= +

La forma de esta funcin se debe a que, si tengo disponibles e
n
trabajadores en la etapa n, y asigno x
n

trabajadores en esta etapa, para la etapa n + 1 y las siguientes quedarn disponibles e
n
x
n

trabajadores.

La funcin ptima ser el mximo para cada estado:

( ) ( ) { }
*
,
n
n n n n n
x
f e MAX f e x =

Con estos elementos, ya puedo iniciar las iteraciones para obtener la solucin ptima de este
problema:

Primera iteracin (n = 4, asignacin a D)
Dado que el rendimiento obtenido hasta el momento es nulo, tenemos:
4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A ACTIVIDAD B ACTIVIDAD C ACTIVIDAD D
EXPLORACIN EXHAUSTIVA: 120 POSIBILIDADES
Mtodos cuantitativos de organizacin industrial II
112
( ) ( )
4
,
n n D n
f e x r x =

El nmero de trabajadores que podamos asignar no podr ser mayor que los disponibles, que vendrn
determinados por el estado e
n
. As, tendremos la siguiente tabla:

Tabla 4.5.1.b Tabla para la etapa n = 4 para la resolucin del ejemplo 4.2.a

e
n

( )
4
, 0
n
f e ( )
4
,1
n
f e ( )
4
, 2
n
f e ( )
4
, 3
n
f e ( )
4
, 4
n
f e
x
n
*
( )
*
4 n
f e
0 0 0 0
1 0 5 1 5
2 0 5 10 2 10
3 0 5 10 11 3 11
4 0 5 10 11 11 3,4 11

Los valores de ( )
4
,
n n
f e x se han obtenido a partir de la funcin de utilidad de D, puesto que estamos
asignando trabajadores a esta actividad, segn la secuencia que hemos establecido al definir las etapas.

Ahora, para cada uno de los estados de la etapa 4, conoceremos el valor de la variable de decisin.
Podremos encontrar dicho valor en la columna de x
n
*.


Fig. 4.5.1.b Poltica ptima para n = 4 (ejemplo 4.2.a)


Segunda iteracin (n = 3, asignacin a C)

La funcin objetivo en la etapa n = 3 es igual a la contribucin obtenida al asignar trabajadores a C,
ms el valor asociado al comportamiento ptimo a partir de n = 4. Por lo tanto, tendremos:

( ) ( ) ( )
*
3 4
,
n n C n n n
f e x r x f e x = +
4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A ACTIVIDAD B ACTIVIDAD C ACTIVIDAD D
ETAPA n = 4: ASIGNACIN A D
Programacin dinmica
113
Tabla 4.5.1.c Tabla para la etapa n = 3 para la resolucin del ejemplo 4.2.a

e
n

( )
3
, 0
n
f e ( )
3
,1
n
f e ( )
3
, 2
n
f e ( )
3
, 3
n
f e ( )
3
, 4
n
f e
x
n
*
( )
*
3 n
f e
0 0 +0 0 0
1 0+ 5 6 + 0 1 6
2 0 + 10 6 + 5 9 + 0 1 11
3 0 + 11 6 + 10 9 + 5 12 + 0 1 16
4 0 + 11 6 + 11 9 + 10 12 + 5 14 + 0 2 19

Ahora ya hemos establecido la poltica ptima para las etapas 3 y 4. Dichas polticas se muestran en la
figura 4.5.1.c:


Fig. 4.5.1.c Poltica ptima para n = 3 (ejemplo 4.2.a)

Tercera iteracin (n = 2, asignacin a B)

La tercera iteracin se produce de la misma manera que la segunda, pero ahora utilizamos la funcin
de utilidad de B:

( ) ( ) ( )
*
2 3
,
n n B n n n
f e x r x f e x = +

De modo que ahora tendremos la siguiente tabla, obtenida como


Tabla 4.5.1.d Tabla para la etapa n = 2 para la resolucin del ejemplo 4.2.a

e
n

( )
2
, 0
n
f e ( )
2
,1
n
f e ( )
2
, 2
n
f e ( )
2
, 3
n
f e ( )
2
, 4
n
f e
x
n
*
( )
*
2 n
f e
0 0 +0 0 0
1 0 + 6 4 + 0 0 6
2 0 + 11 4 + 6 8 + 0 0 11
3 0 + 16 4 + 11 8 + 6 10 + 0 0 16
4 0 + 19 4 + 16 8 + 11 10 + 6 113 + 0 1 20
4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A ACTIVIDAD B ACTIVIDAD C ACTIVIDAD D
ETAPA n = 3: ASIGNACIN A C
Mtodos cuantitativos de organizacin industrial II
114

Fig. 4.5.1.d Poltica ptima para n = 2 (ejemplo 4.2.a)

Cuarta y ltima iteracin (n = 1, asignacin a A)
En la ltima iteracin, correspondiente a la primera etapa, est claro que no hemos asignado an
ningn individuo a ninguna actividad, con lo que el nico estado posible para el sistema es de 4. Por
este motivo, slo necesitaremos plantear la funcin de recurrencia para este estado:

( ) ( ) ( )
*
1 2
4, 4
n A n n
f x r x f x = +

Y la tabla tendr ahora nicamente la fila del estado 4:

Tabla 4.5.1.e Tabla para la etapa n = 1 para la resolucin del ejemplo 4.2.a

e
n

( )
1
, 0
n
f e ( )
1
,1
n
f e ( )
1
, 2
n
f e ( )
1
, 3
n
f e ( )
1
, 4
n
f e
x
n
*
( )
*
1 n
f e
4 0 + 20 3 + 16 7 + 11 9 + 6 15 + 0 0 20


Fig. 4.5.1.e Poltica ptima para n = 1 (ejemplo 4.2.a)
4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A ACTIVIDAD B ACTIVIDAD C ACTIVIDAD D
ETAPA n = 2: ASIGNACIN A B
4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A ACTIVIDAD B ACTIVIDAD C ACTIVIDAD D
ETAPA n = 1: ASIGNACIN A A
Programacin dinmica
115
Obtencin de la solucin

La solucin del problema se determina a partir de las tablas, sabiendo a qu estado evolucionamos en
cada etapa y, a partir de aqu, seleccionando la decisin ptima para ese estado y determinando el
estado al que se evoluciona en la etapa siguiente:

En la etapa n = 1, vemos que x
n
* = 0 (ver Tabla 4.5.1.e). Esto significa que no asignamos ningn
trabajador a la actividad A, y que en la etapa n = 2 quedan por asignar 4 trabajadores. Por lo tanto, en
la etapa siguiente evolucionaremos al estado 4.

En n = 2 nos encontramos en el estado 4: la decisin ptima para ese estado es asignar un trabajador la
actividad B (tabla 4.5.1.d), y quedan por asignar tres trabajadores.

En n = 3 evolucionaremos al estado 3, la decisin ptima para este estado es asignar un trabajador a la
actividad C (tabla 4.5.1.c). Quedan, en consecuencia dos trabajadores por asignar.

Y como es lgico, si en n = 4 nos encontramos en el estado 2, asignaremos dos trabajadores a la
actividad A (tabla 4.5.1.b).

Por otra parte, vemos que ( )
*
1
4 f es igual a 20, que ser precisamente el valor mximo del
rendimiento conjunto de las cuatro actividades. As, tendremos:

El rendimiento mximo obtenido es de 20, que se obtiene asignando un trabajador a la
actividad B, otro a la actividad C y otros dos a la actividad D. No resulta rentable, en
estas condiciones, realizar la actividad A.


Fig. 4.5.1.f Obtencin del ptimo para el ejemplo 4.2.a



4
0
1
3
2
4
0
1
3
2
4
0
1
3
2
4
0
ACTIVIDAD A
X*
A
= 0
ACTIVIDAD B
X*
B
= 1
ACTIVIDAD C
X*
C
= 1
ACTIVIDAD D
X*
D
= 2
DETERMINACIN DE LA SOLUCIN
Mtodos cuantitativos de organizacin industrial II
116
4.5.2 Programacin dinmica determinista homognea: horizonte finito

Seguidamente se obtiene la solucin del modelo de programacin dinmica que se plante en el
ejemplo 4.2.b, y cuyos elementos se definieron en el captulo 3. La resolucin no es sustancialmente
diferente del caso anterior: la nica diferencia es que la funcin de recurrencia es la misma para todas
las etapas del sistema, por tratarse de programacin dinmica homognea.

Ejemplo 4.5.1.a Catalizador (F): resolucin problema de horizonte finito

Un determinado proceso qumico mejora notablemente su rendimiento si introducimos un catalizador.
Dicho catalizador tiene una vida til mxima de cinco semanas, despus de las cuales debe ser
reemplazado de inmediato. Tambin es posible reemplazarlo antes, si las condiciones econmicas del
proceso as lo aconsejan.

Efectivamente, a medida que el catalizador envejece, su rendimiento disminuye y aumenta su coste de
utilizacin, segn la tabla siguiente:

Tabla 4.5.2.a Rendimiento del catalizador en funcin de las semanas de funcionamiento para el ejemplo 4.2.b

Semana funcionamiento Coste (unidades monetarias)
1 10
2 12
3 18
4 25
5 33

Cada vez que se reemplaza el catalizador, se incurre en unos costes adicionales de instalacin de 20
um.

Cuntas veces deberemos reemplazar el catalizador las primeras cuatro semanas de funcionamiento,
si al iniciar el proceso instalamos un catalizador nuevo?

Podemos recapitular los razonamientos expuestos a lo largo de la seccin 3, en los que se definan las
etapas, estados, variables de decisin y funcin de recurrencia para resolver este problema mediante
programacin dinmica:

Etapas:
Cada semana de funcionamiento del catalizador tendremos una nueva etapa del sistema. Al principio
de la semana se toma la decisin (cambiar el catalizador, o no cambiarlo), que determina
completamente la evolucin del sistema a lo largo de la semana, en cuanto a costes de funcionamiento.
Como hemos de determinar el comportamiento del sistema para cuatro semanas, definiremos las
etapas como sigue:

Etapa n =1: primera semana de funcionamiento
Etapa n =2: segunda semana de funcionamiento
Etapa n =3: tercera semana de funcionamiento
Etapa n =4: cuarta semana de funcionamiento

Estados del sistema:
Se trata de una variable que aporte la informacin necesaria para caracterizar la situacin del sistema a
la hora de tomar la decisin, en este caso, al principio de la semana. Hemos escogido como variable de
estado el nmero de semanas que lleva funcionando el catalizador al principio de la semana. Dicha
variable de estado podr tomar los valores siguientes:
Programacin dinmica
117
1, 2, 3, 4 y 5 (fin de la vida del catalizador).

Ntese que cuando el sistema se encuentra en el estado 5, debe evolucionar necesariamente al estado
1: lo habremos reemplazado necesariamente, y al empezar la siguiente etapa llevar una semana
funcionando.

Variable de decisin:
En este caso slo podremos tomar dos decisiones: cambiar en catalizador (C), o no cambiarlo (N). Para
cada una de las etapas, la variable de decisin puede tomar los valores siguientes:

Tabla 4.5.2.b Variables de decisin para los estados del problema del ejemplo 4.2.b

Estado
1 N C
2 N C
3 N C
4 N C
5 C

Funcin de recurrencia:
Ahora debemos establecer la funcin de recurrencia para cada una de las variables de decisin:
cambiar el catalizador (C), o no cambiarlo (N):

Si cambiamos el catalizador (variable de decisin C), reemplazamos el viejo por uno nuevo, por lo
que incurriremos en un coste de 20 por su reemplazo. Entonces, el catalizador funcionar durante una
semana, con un coste de 10. El coste total de funcionamiento ser de: 20 + 10 = 30, y al final del
proceso llevar una semana funcionando, por lo que el sistema evolucionar hasta el estado 1. La
funcin valdr:

( ) ( )
*
1
, 30 1
n n n
f e C f
+
= +

Donde ( )
*
1
1
n
f
+
representa el valor del coste de funcionamiento del sistema desde la etapa n+1 hasta el
final de su evolucin, si se toman las decisiones ptimas a partir de dicha etapa n+1 y el catalizador
actual lleva funcionando una semana. En este caso e
n
= 1, 2, 3, 4 o 5.

Si decidimos no cambiar el catalizador (variable de decisin N), ste aumentar su edad en una
semana: esto significa que evolucionaremos del estado e
n
al estado e
n
+1. El valor de la funcin
recursiva ser:

( ) ( ) ( )
*
1
, , 1
n n n n n n
f e N r e N f e
+
= + +

donde
*
1
( 1)
n n
f e
+
+ tiene un significado anlogo al de ( )
*
1
1
n
f
+
en el caso anterior, pero para el estado
e
n
+1.
El coste c(e
n
,N) variar con el tiempo, siguiendo una evolucin no necesariamente lineal. En este caso,
tendremos:

Estado 1 2 3 4
c(e
n
,N) 12 18 25 33

Obsrvese que, tal como hemos definido los estados, la evolucin del estado 1 al estado 2 es la
segunda semana de funcionamiento del catalizador, por lo que el coste asociado a esta transicin ser
Mtodos cuantitativos de organizacin industrial II
118
de 18, que es el coste de que funcione durante esa semana. Como se ha indicado anteriormente, la
opcin de no cambiar el catalizador slo es vlida para los estados 1, 2, 3 o 4.


Fig. 4.5.2.a Evolucin de los estados para el problema del catalizador (problema 4.2.b)

Finalmente, obtendremos los valores ptimos de la funcin de costes para cada estado, en cada una de
las etapas, simplemente comparando las dos alternativas:

( ) ( ) ( ) { }
*
,
, , ,
n n n n n n
N C
f e MIN f e N f e C =

Y una vez conocidos los valores ptimos de la variable de decisin para cada uno de los cinco estados,
habremos determinado tambin la poltica de la etapa n. Los valores de ( )
*
n n
f e obtenidos nos
permitirn obtener la poltica ptima para la etapa n 1, de la misma manera que la hemos obtenido
para n.

Ya hemos establecido la operativa para cada una de las etapas. Ahora basta con hacer cuatro
iteraciones con este modelo, para determinar el comportamiento ptimo para las cuatro primeras
semanas.


Poltica para la etapa n = 4

Es propio de la programacin dinmica que la determinacin del ptimo para cada uno de los estados
del sistema en la primera operacin sea sencilla. Efectivamente, tal como hemos definido la funcin,
tenemos:

( )
4
, 30
n
f e C =

( ) ( )
4
, ,
n n
f e N c e N =

1 1
5
4
2
3 3
4
5
2
Etapa n
Etapa n +1
Cambiar el catalizador
No cambiar el catalizador
Programacin dinmica
119
De manera que deberemos comparar los valores de los costes asociados a cambiar y a no cambiar el
catalizador para cada estado, tal como se muestra en la tabla 4.5.2.b

Tabla 4.5.2.b Determinacin de la poltica ptima para n = 4 para el problema del ejemplo 4.2.b

Estado
( )
4
,
n
f e N ( )
4
,
n
f e C
*
n
x ( )
*
4 n
f e
1 12 30 N 12
2 18 30 N 18
3 25 30 N 25
4 33 30 C 30
5 - 30 C 30

En la segunda columna encontramos los resultados de la decisin N (no cambiar el catalizador), y en
la tercera, los resultados de la decisin C (cambiar el catalizador). En la cuarta columna tenemos el
valor de la decisin ptima para cada etapa (la columna donde se encuentra el mnimo), por lo que
expresa la poltica ptima para este estado: segn el resultado obtenido, el catalizador debe cambiarse
si tiene ms de tres semanas al empezar la ltima etapa.

Poltica para la etapa n = 3

Para la etapa n =3, correspondiente a la tercera semana de funcionamiento, hemos de tener el cuenta
que el coste ptimo de las dos ltimas etapas es igual al obtenido al tomar la decisin ptima en la
cuarta etapa, ms el coste ptimo en la tercera. Ahora, para cada una de las decisiones tendremos:

( ) ( )
*
3 4
, 30 1
n
f e C f = +

( ) ( ) ( )
*
3 4
, , 1
n n n
f e N c e N f e = + +

Tabla 4.5.2.c Determinacin de la poltica ptima para n = 3 para el problema del ejemplo 4.2.b

Estado
( )
3
,
n
f e N ( )
3
,
n
f e C
*
n
x ( )
*
3 n
f e
1 30 42 N 30
2 43 42 C 42
3 55 42 C 42
4 63 42 C 42
5 - 42 C 42

Obsrvese que, para elaborar esta tabla, necesitamos los valores de f* de la etapa anterior, que pueden
obtenerse de la tabla 4.5.2.b. La poltica para la segunda iteracin es diferente a la de la primera: dos
etapas antes de acabar el proceso, deberemos cambiar el catalizador si ste funciona desde hace dos
semanas o ms.


Poltica para la etapa n = 2

Para la etapa n = 2, que representa la segunda semana de funcioamiento, actuamos igual que con la
segunda:

( ) ( )
*
2 3
, 30 1
n
f e C f = +

( ) ( ) ( )
*
2 3
, , 1
n n n
f e N c e N f e = + +
Mtodos cuantitativos de organizacin industrial II
120
Tabla 4.5.2.d Determinacin de la poltica ptima para n = 2 para el problema del ejemplo 4.2.b

Estado
( )
2
,
n
f e N ( )
2
,
n
f e C
*
n
x ( )
*
2 n
f e
1 54 60 N 54
2 60 60 N, C 60
3 67 60 C 60
4 75 60 C 60
5 - 60 C 60

Es destacable, en este caso, lo que sucede en esta etapa para el estado 2: se obtiene el mismo
rendimiento para las dos decisiones, por lo que resulta irrelevante tomar una u otra en esta situacin.
El valor de ( )
*
3
2 f es de 60 sea cual sea la decisin que se tome, por lo que no afecta a clculos
posteriores.

Poltica para la etapa n =1

Ya hemos alcanzado la etapa inicial, en la que el catalizador empieza su vida til necesariamente: por
lo tanto, slo debemos efectuar los clculos para el estado 5. Como en el estado 5 debe cambiarse el
catalizador, representa tambin la situacin en que el catalizador es nuevo y comienza en
funcionamiento del sistema.

( ) ( )
*
1 2
5, 30 1 f C f = +

Tabla 4.5.2.e Determinacin de la poltica ptima para n = 1 para el problema del ejemplo 4.2.b

Estado
( )
1
,
n
f e N ( )
1
,
n
f e C
*
n
x ( )
*
1 n
f e
5 - 84 C 84

La poltica ptima para este estado ser, como es natural, cambiar el catalizador (en esta etapa, esto
significa instalar un catalizador nuevo).

Obtencin de la solucin

Una vez obtenidas las tablas, queda explotar stas para obtener la solucin:

Valor funcin objetivo: si seguimos la estrategia adecuada ptima con el catalizador, el coste total para
las primeras cuatro etapas ser de 84.

Cundo debemos cambiar el catalizador?: Para ello, basta con evaluar la decisin del sistema a
tomar en cada etapa. A partir de las tablas obtenidas sabemos que:

En la etapa inicial n = 1, hemos de cambiar el catalizador (mejor, poner uno nuevo), y
evolucionamos al estado 1.
Para la etapa n = 2, si nos encontramos en el estado 1 no debemos cambiar el catalizador, y el
sistema evoluciona al estado 2.
Para n = 3, si nos encontramos en el estado 2 debemos cambiar el catalizador. Si lo hacemos as,
evolucionamos al estado 1.
Finalmente, en n = 4 no debemos cambiar el catalizador si nos encontramos en el estado 1.

Programacin dinmica
121
En consecuencia, adems de instalar un catalizador nuevo al principio, obtendremos el coste ptimo
para un horizonte finito de cuatro semanas si cambiamos el catalizador en la tercera semana de
funcionamiento.


4.5.3 Programacin dinmica determinista homognea: horizonte infinito

En programacin dinmica homognea, puede interesarnos conocer la evolucin del sistema a largo
plazo, es decir, despus de un gran nmero de etapas. En algunos casos, especialmente cuando la
funcin a optimizar es la suma de contribuciones realizadas en determinadas etapas, es de esperar
(aunque como se ver, no siempre sucede as) que la poltica ptima sea la misma para cada una de las
etapas, a partir de un nmero de estados lo bastante alto.

Algunas consideraciones para la resolucin del problema de horizonte infinito:

Es conveniente caracterizar las etapa en que nos encontramos en funcin del nmero de etapas
que faltan para acabar la evolucin del sistema. As, cuando falte una etapa para acabar,
tendremos N = 1, la penltima etapa es N = 2, etc. El sistema evolucionar de la etapa N a la
N 1, y determinaremos el comportamiento del sistema a largo plazo haciendo que N tienda a
infinito.

Si la funcin objetivo es la suma de contribuciones de cada una de las etapas, la programacin
dinmica determinista es un caso particular de cadenas de Markov con remuneracin y
decisin, en la que la matriz P slo tendr unos y ceros, y representar la evolucin del
sistema en funcin de la poltica adoptada. En consecuencia, pueden usarse para resolver este
tipo de problemas las tcnicas de iteracin en el espacio de los estados (que no es ms que
programacin dinmica aplicada a un contexto particular) y de iteracin del espacio de las
polticas definidas para las cadenas de Markov con remuneracin y decisin.

El ejemplo siguiente ilustra estas consideraciones, para la evolucin a largo plazo del sistema que se
defini en el ejemplo 4.5.1.a.

Ejemplo 4.5.3.a Catalizador (G): resolucin para el caso de horizonte infinito

Analizar la poltica ptima en el largo plazo (esto es, cuando lleva gran nmero de semanas
funcionando) por el catalizador del ejemplo 2.a.

Realizaremos la iteracin en el espacio de los estados, normalizando el valor de la funcin objetivo
para cada una de las etapas. La normalizacin consistir en restar el mnimo de los valores de f
obtenidos a cada uno de esos valores. Para la siguiente iteracin, utilizaremos los valores normalizados
de f as obtenidos.

Primera iteracin (etapa N = 1)

La etapa N =1 corresponde a la ltima semana de funcionamiento del catalizador. Como en el caso de
horizonte finito, la determinacin del ptimo en la primera etapa es relativamente sencilla:

( )
1
, 30
n
f e C =
( ) ( )
1
, ,
n n
f e N c e N =

El ptimo se obtendr escogiendo el valor de la mejor poltica para cada uno de los estados:
Mtodos cuantitativos de organizacin industrial II
122
( ) ( ) ( ) { }
*
1 1 1
,
, , ,
n n n
N C
f e MIN f e N f e C =

Para determinar la evolucin en horizonte infinito, debemos ahora realizar la normalizacin. Para ello
determinamos la ganancia de la transicin como:

( ) { }
*
1 1
n
n
e
g MIN f e =

Y encontraremos los valores normalizados de la funcin objetivo haciendo:

( ) ( )
*' *
1 1 1 n n
f e f e g =

Tabla 4.5.3.a Determinacin de la poltica ptima para N = 1 para el problema del ejemplo 4.2.b

Estado
( )
1
,
n
f e N ( )
1
,
n
f e C
*
n
x ( )
*
1 n
f e ( )
*'
1 n
f e
1 12 30 N 12 0
2 18 30 N 18 6
3 25 30 N 25 13
4 33 30 C 30 18
5 30 C 30 18
g
1
12


Segunda iteracin (etapa N = 2)

Para encontrar los valores de las funciones en la segunda iteracin, necesitaremos los resultados
normalizados de la primera. Una vez determinado el ptimo para cada estado, volvemos a normalizar
los resultados.

Funciones a comparar:

( ) ( )
*'
2 1
, 30 1
n
f e C f = +
( ) ( ) ( )
*'
2 1
, , 1
n n n
f e N c e N f e = + +

Determinacin del ptimo:

( ) ( ) ( ) { }
*
2 2 2
,
, , ,
n n n
N C
f e MIN f e N f e C =

Normalizacin:

( ) { }
*
2 2
n
n
e
g MIN f e =
( ) ( )
*' *
2 2 2 n n
f e f e g =

Aplicando la operativa aqu descrita, tenemos la tabla 4.5.3.b. Para su obtencin, se han precisado los
valores de las funciones normalizadas en 4.5.3.a:



Programacin dinmica
123
Tabla 4.5.3.b Determinacin de la poltica ptima para N = 2 para el problema del ejemplo 4.2.b

Estado
( )
2
,
n
f e N ( )
2
,
n
f e C
*
n
x ( )
*
2 n
f e ( )
*'
2 n
f e
1 18 30 N 18 0
2 31 30 C 30 12
3 43 30 C 30 12
4 51 30 C 30 12
5 30 C 30 12
g
2
18


Tercera iteracin (etapa N = 3)

Para la tercera iteracin, se opera exactamente de la misma forma que en la segunda:

Tabla 4.5.3.c Determinacin de la poltica ptima para N = 3 para el problema del ejemplo 4.2.b

Estado
( )
3
,
n
f e N ( )
3
,
n
f e C
*
n
x ( )
*
3 n
f e ( )
*'
3 n
f e
1 24 30 N 24 0
2 30 30 N, C 30 6
3 37 30 C 30 6
4 45 30 C 30 6
5 30 C 30 6
g
3
24


Cuarta iteracin (etapa N = 4)

Tabla 4.5.3.d Determinacin de la poltica ptima para N = 4 para el problema del ejemplo 4.2.b

Estado
( )
4
,
n
f e N ( )
4
,
n
f e C
*
n
x ( )
*
4 n
f e ( )
*'
4 n
f e
1 18 30 N 18 0
2 24 30 N 24 6
3 31 30 C 30 12
4 39 30 C 30 12
5 30 C 30 12
g
4
18


Ya hemos realizado cuatro iteraciones, igual que en el problema anterior. Con este procedimiento,
podemos resolver tambin el problema de horizonte finito. El lector puede comprobar que las polticas
en cada etapa son las mismas que las obtenidas con universo finito, con lo que las decisiones ptimas
en cada etapa, as como el estado de cada etapa por el que se pasa en el ptimo, pueden determinarse
de la misma manera. En cuanto al valor de la funcin objetivo, es fcil ver que puede obtenerse como:

( )
*'
1 2 3 4 4
5 g g g g f + + + +

12 + 18 + 24 + 18 + 12 = 84

Sin embargo, no hemos logrado resolver el problema para universo infinito, porque no se ha
observado convergencia en las w
i
, ni en la ganancia esperada por transicin g. Hemos de realizar ms
iteraciones para obtener el comportamiento a largo plazo del sistema.
Mtodos cuantitativos de organizacin industrial II
124
Quinta iteracin (etapa N = 5)

Tabla 4.5.3.e Determinacin de la poltica ptima para N = 5 para el problema del ejemplo 4.2.b

Estado
( )
5
,
n
f e N ( )
5
,
n
f e C
*
n
x ( )
*
5 n
f e ( )
*'
5 n
f e
1 18 30 N 18 0
2 30 30 N, C 30 12
3 37 30 C 30 12
4 45 30 C 30 12
5 30 C 30 12
g 18


Sexta iteracin (etapa N = 6)

Tabla 4.5.3.f Determinacin de la poltica ptima para N = 6 para el problema del ejemplo 4.2.b

Estado
( )
6
,
n
f e N ( )
6
,
n
f e C
*
n
x ( )
*
6 n
f e ( )
*'
6 n
f e
1 24 30 N 24 0
2 30 30 N, C 30 6
3 37 30 C 30 6
4 45 30 C 30 6
5 30 C 30 6
g 24


Ntese que el resultado de la sexta iteracin es igual al obtenido en la tercera (N = 3), por lo que N = 7
es igual a N = 4, N = 8 igual a N = 5, N = 9 igual a N = 3, N = 10 igual a N = etc... Parece que el
sistema sigue una evolucin cclica, de periodo 3. La ganancia promedio del sistema, de confirmarse
este comportamiento, sera de:

3 4 5
20
3
g g g + +
=

En cuanto a la poltica ptima, parece que el sistema tiende a la poltica {N, N, C, C, C}, si bien en las
etapas primera y tercera de cada periodo, la poltica es equivalente a {N, C C, C, C}. Esta situacin
requiere un examen ms atento de la evolucin a largo plazo de la poltica {N, N, C, C, C}.

La matriz de probabilidades de transicin de esta poltica es:

0 1 0 0 0
0 0 1 0 0
1 0 0 0 0
1 0 0 0 0
1 0 0 0 0
= P


El lector puede comprobar que se trata de una cadena de Markov regular, con dos clases de paso: {4}y
{5} y una clase final {1, 2, 3} cclica de periodo p = 3.


Programacin dinmica
125
La matriz de remuneraciones es:

12
18
30
30
30


=


R

De modo que el vector q resultante es:

12
18
30
30
30
= q

Por ser una cadena regular, tenemos un vector de ganancias promedio g con todas las componentes
iguales a la ganancia media por transicin. Podemos obtener g a partir de P*, sabiendo que sta vale:

1/ 3 1/ 3 1/ 3 0 0
1/ 3 1/ 3 1/ 3 0 0
* 1/ 3 1/ 3 1/ 3 0 0
1/ 3 1/ 3 1/ 3 0 0
1/ 3 1/ 3 1/ 3 0 0
= P

Y entonces g vale:

20
20
20
20
20
= = g P* q

Por lo tanto, tendremos el conjunto de ecuaciones:

20 + w
1
= 12 + w
2
20 + w
2
= 18 + w
3

20 + w
3
= 30 + w
1
20 + w
4
= 30 + w
1

20 + w
5
= 30 + w
1

Cuya solucin es:

w
1
= 0 w
2
= 8
w
3
= 10 w
4
= 10
w
5
= 10

Mtodos cuantitativos de organizacin industrial II
126
Ntese como, para los estados de la clase final, la ganancia a largo plazo resulta ser el promedio de las
ganancias a lo largo de un ciclo, tal como se haba visto anteriormente. Para las w
i
de la clase final se
observa un comportamiento parecido:

2
6 6 12
8
3
w
+ +
= =

3 4 5
6 12 12
10
3
w w w
+ +
= = = =

Por lo tanto, podemos concluir que si se sigue la poltica {N, N, C, C, C}, se obtendr la ganancia
media por transicin mnima, que es 20. Cualquier otra ganancia media ser superior: por ejemplo, la
de la poltica {N, N, N, N, C} es de 23, 6 (comprubelo el lector). El sistema es asimilable a una
cadena de Markov con remuneracin y decisin, que en la poltica ptima da lugar a una cadena
semirregular, cuya clase final tiene periodo 3.


4.6 Programacin dinmica aleatoria

Mediante los modelos de programacin dinmica aleatoria, se estudian aquellos procesos polietpicos
de decisin en los que, si en la etapa n nos encontramos en el estado i y tomamos la decisin d, no
conocemos de manera exacta hacia qu estado evoluciona el sistema. Todo lo ms, podemos llegar a
conocer la probabilidad de que el sistema evolucione en la etapa siguiente a otro estado cualquiera j. A
un sistema de este tipo le es aplicable la metodologa de la programacin dinmica, aunque deben
destacarse dos implicaciones importantes:

No podr alcanzarse de manera cierta la optimizacin del sistema, dado que evoluciona de forma
aleatoria. Todo lo ms, podremos aspirar a optimizar el valor esperado de la funcin de
recurrencia.
Por las caractersticas de este tipo de procesos, no podemos conocer de antemano en qu estado
nos encontraremos en una etapa cualquiera n. Por este motivo, la decisin ptima deber
expresarse como poltica ptima: en dicha poltica se indicar, para cada estado, los valores de la
variable de decisin que aseguran un mejor valor esperado de la funcin objetivo en las etapas
posteriores.

Otra cuestin importante es que, si la funcin de recurrencia es de tipo aditivo y las probabilidades de
transicin se definen de la misma manera para todas las etapas, el modelo de programacin dinmica
aleatoria puede entenderse tambin como un proceso de decisin markoviano, al que le son aplicables
las tcnicas que se describieron para este tipo de procesos en el tema sobre cadenas de Markov. Este
hecho se introdujo ya en el ejemplo 4.5.3.a para el caso de programacin dinmica determinista.

En esta seccin, se mostrarn las caractersticas de la programacin dinmica aleatoria a travs del
modelo de planificacin de inventarios expuesto en el ejemplo 4.2.c.


4.6.1 Programacin dinmica aleatoria en horizonte finito

El ejemplo de la planificacin de inventarios que se expone en el ejemplo 4.6.a, que ya se introdujo en
la seccin 4.2, describe un proceso susceptible de ser modelizado mediante programacin dinmica.
Al representar la demanda como una variable aleatoria, nos encontramos con que este modelo es de
programacin dinmica aleatoria.
Programacin dinmica
127
Ejemplo 4.6.1.a Planificacin de inventarios (B): planteamiento general

El precio de venta de un determinado artculo es de 10 /unidad, y la demanda diaria sigue la
siguiente ley de probabilidad:

Demanda 0 1 2 3
Probabilidad 0,4 0,3 0,2 0,1

El coste de posesin de cada unidad en stock al final de da es de 1 . Al final de da, tenemos la
posibilidad de pedir una cantidad cualquiera a un proveedor que nos la sirve el da siguiente a
primera hora de la maana, con un coste de 2 /unidad, ms 3 por costes de transporte. Cuntas
unidades debemos comprar cada da para maximizar el beneficio esperado?

En primer lugar, debemos definir los elementos del modelo de programacin dinmica.

Etapas del sistema:
Dadas las condiciones del problema, cada da en que se sirve la demanda constituye una etapa en la
evolucin del proceso.

Estados del sistema:
La variable de estado del sistema debe contener la informacin necesaria para describir la situacin del
sistema en la etapa considerada. La nica circunstancia relevante a la hora de tomar la decisin de
compra es saber de cuntas unidades disponemos, una vez se ha servido la demanda de la etapa
anterior. En definitiva, la variable de estado del sistema ser el nivel de inventario en el almacn antes
de comprar las unidades adicionales y servir la demanda.
En principio, dicho nivel de inventario puede tomar cualquier valor entero no negativo. Sin embargo,
ms adelante veremos que en la prctica existir una cota superior para dicho nivel de inventario.

Variables de decisin:
Claramente, la decisin a tomar es la cantidad de unidades a comprar. Entre las unidades compradas y
las unidades de que se dispone (inventario inicial), se intentar cubrir la demanda. En general,
tendremos:

inventario inicial + unidades compradas = demanda satisfecha + inventario final

En este punto, cabe realizar varias observaciones:

En la ecuacin, se habla de demanda satisfecha, y no de demanda total. Si entre el inventario
inicial y las unidades compradas no pudiramos cubrir la demanda, quedar demanda por
satisfacer y se perdern ingresos que podran haberse obtenido de comprar ms cantidad.

La mxima demanda es de tres unidades, por lo que es razonable plantear para esta situacin:
inventario inicial + unidades compradas 3

De manera que el valor mximo de la variable de estado y de la variable de decisin ser de 3.
Los valores de las variables de decisin c posibles para cada estado e se muestran en la tabla
adjunta:

e =0 c = 0 c = 1 c = 2 c = 3
e = 1 c = 0 c = 1 c = 2
e = 2 c = 0 c = 1
e = 3 c = 0
Mtodos cuantitativos de organizacin industrial II
128
Como la demanda sigue una ley de probabilidad, la evolucin del sistema es aleatoria. El inventario
final, que representar el estado hacia el que evolucionar el sistema, tambin seguir una evolucin
aleatoria. Formalmente, como puede quedar demanda sin cubrir, el estado al que evolucionar el
sistema vendr dado por:

inventario final = MAX { inventario inicial + unidades compradas demanda; 0}

Funcin de recurrencia:
La funcin de recurrencia deber expresar el beneficio esperado. En este caso, la funcin es de tipo
aditivo:

Beneficio esperado en las N ltimas etapas antes del final = beneficio esperado etapa N + Beneficio
esperado en las N 1 ltimas etapas

El beneficio esperado en la etapa n ser un valor esperado. Para cada valor D
i
posible de la demanda
deberemos calcular la demanda satisfecha DS
i
como:

DS
i
= MIN {D
i
; inventario inicial + unidades compradas}

Y ya antes hemos obtenido el inventario final EF
i
como:

EF
i
= MAX { inventario inicial + unidades compradas demanda; 0}

Pues bien, ahora ya podemos expresar la funcin de recurrencia en funcin del inventario inicial e, las
unidades compradas c y la probabilidad p
i
del nivel de demanda i. Ntese que obtenemos un beneficio
unitario de 5 por cada unidad de demanda satisfecha y hemos de asumir un coste de 1 por cada
unidad de inventario final.

( ) ( )
3
*
1
0
, 5 1
N i i i N i
i
f e c p DS EF f EF

=
= +



En este caso, hemos planteado un problema de programacin dinmica homognea. Por esta razn,
podemos plantear el problema tanto para un determinado nmero de semanas (horizonte finito) como
para el largo plazo (horizonte infinito). Primero plantearemos el caso de horizonte finito y
seguidamente, en la seccin 4.6.2, constataremos el carcter markoviano del problema y lo
resolveremos para el caso de horizonte infinito.

Ejemplo 4.6.1.b Planificacin de inventarios (B): caso de horizonte finito

Determinar la poltica que optimiza el beneficio esperado del sistema en cuatro semanas de
funcionamiento, con un nivel de inventario en la primera semana igual a cero.

Para esta situacin, bastar con aplicar las expresiones obtenidas en el ejemplo 4.6.1.a hasta N = 4. En
la ltima etapa (N=4), slo deberemos considerar el caso de e = 0.


Primera iteracin (N = 1)

Para la primera semana de funcionamiento, tendremos que todas las f* sern iguales a cero.

As, cuando c + e = 3, tendremos:

Programacin dinmica
129
( ) ( )
1
, 0, 4 3 0, 3 3 0, 2 9 0,1 15 3 f e c = + + + = (para c + e =3)

Para c + e = 2 tendremos que cuando la demanda sea 3, slo venderemos dos unidades y el inventario
final ser igual a cero, por lo que el beneficio obtenido ser el mismo. As, la probabilidad de vender
dos unidades ser igual a la suma de probabilidades de tener una Di = 2 y una Di = 3. As, podemos
escribir:

( ) ( )
1
, 0, 4 2 0, 3 4 0, 3 10 3, 4 f e c = + + = (para c + e =2)

Procedemos del mismo modo para c + e = 1. Ahora slo podemos esperar vender 0 unidades o una
unidad.

( ) ( )
1
, 0, 4 1 0, 6 5 2, 6 f e c = + = (para c + e =1)

Finalmente, cuando c + e = 0, no venderemos nada y la funcin valdr cero.

Con estos datos, podemos pasar a la tabla, y obtener la poltica ptima para N =1:

Tabla 6.1.a Tabla para la etapa N = 1 para la resolucin del ejemplo 6.1.a

e
n

( )
1
, 0
n
f e ( )
1
,1
n
f e ( )
1
, 2
n
f e ( )
1
, 3
n
f e
x
n
*
( )
*
1 n
f e
0 0 2,6 3,4 3 2 3,4
1 2,6 3,4 3 1 3,4
2 3,4 3 0 3,4
3 3 0 3


Segunda iteracin (N = 2)

Ahora s que la f* es diferente de cero y deberemos tenerlo en cuenta para calcular la tabla para esta
nueva etapa:

As, cuando c + e = 3, tendremos:

( ) ( )
2
, 0, 4 3 3 0, 3 (3 3, 4) 0, 2 (9 3, 4) 0,1 (15 3, 4) 6, 24 f e c = + + + + + + + = (para c + e =3)

Para c + e = 2, se obtiene el valor:

( ) ( )
2
, 0, 4 2 3, 4 0, 3 (4 3, 4) 0, 3 (10 3, 4) 6,8 f e c = + + + + + = (para c + e =2)

Procedemos del mismo modo para c + e = 1. Ahora slo podemos esperar vender 0 unidades o una
unidad.

( ) ( )
2
, 0, 4 1 3, 4 0, 6 (5 3, 4) 6 f e c = + + + = (para c + e =1)

Finalmente, cuando c + e = 0, no venderemos nada y evolucionaremos con certeza al estado e = 0.

( )
2
, 0 3, 4 3, 4 f e c = + = (para c + e = 0)

Mtodos cuantitativos de organizacin industrial II
130
Ahora ya podemos determinar la poltica ptima para N = 2:
Tabla 4.6.1.b Tabla para la etapa N = 2 para la resolucin del ejemplo 4.6.1.a

e
n

( )
2
, 0
n
f e ( )
2
,1
n
f e ( )
2
, 2
n
f e ( )
2
, 3
n
f e
x
n
*
( )
*
2 n
f e
0 3,4 6 6,8 6,24 2 6,8
1 6 6,8 6,24 1 6,8
2 6,8 6,24 0 6,8
3 6,24 0 6,24


Tercera iteracin (N = 3)

Para N = 3, actuaremos de la misma manera que para N = 2 Seguidamente se muestran los valores
posibles de la funcin de recurrencia:

( ) ( )
3
, 0, 4 3 6, 24 0, 3 (3 6,8) 0, 2 (9 6,8) 0,1 (15 6,8) 9, 576 f e c = + + + + + + + = (para c + e =3)
( ) ( )
3
, 0, 4 2 6,8 0, 3 (4 6,8) 0, 3 (10 6,8) 10, 2 f e c = + + + + + = (para c + e =2)
( ) ( )
3
, 0, 4 1 6,8 0, 6 (5 6,8) 9, 4 f e c = + + + = (para c + e =1)
( )
3
, 0 6,8 6,8 f e c = + = (para c + e = 0)

Una vez obtenidos estos valores, ya podemos obtener la poltica ptima para N = 3:

Tabla.1.c Tabla para la etapa N = 3 para la resolucin del ejemplo 4.6.1.a

e
n

( )
3
, 0
n
f e ( )
3
,1
n
f e ( )
3
, 2
n
f e ( )
3
, 3
n
f e
x
n
*
( )
*
3 n
f e
0 6,8 9,4 10,2 9,576 2 10,2
1 9,4 10,2 9,576 1 10,2
2 10,2 9,576 0 10,2
3 9,576 0 9,576


Cuarta y ltima iteracin (N = 4)

La cuarta iteracin representa el inicio del funcionamiento del sistema. Por las condiciones del
enunciado, sabemos que la empresa empieza sin inventarios, por lo que slo deberemos evaluar la
etapa e = 0. Ello no nos exime de calcular las funciones de recurrencia para los diferentes valores de c
+ e:

( ) ( )
4
, 0, 4 3 9, 576 0, 3 (3 10, 2) 0, 2 (9 10, 2) 0,1 (15 10, 2) 12, 9504 f e c = + + + + + + + = (c+e=3)
( ) ( )
4
, 0, 4 2 10, 2 0, 3 (4 10, 2) 0, 3 (10 10, 2) 13, 6 f e c = + + + + + = (para c + e =2)
( ) ( )
4
, 0, 4 1 10, 2 0, 6 (5 10, 2) 12,8 f e c = + + + = (para c + e =1)
( )
4
, 0 10, 2 10, 2 f e c = + = (para c + e = 0)

Ahora ya podemos elaborar la tabla para la ltima etapa:

Tabla 4.6.1.d Tabla para la etapa N = 4 para la resolucin del ejemplo 4.6.1.a

e
n

( )
3
, 0
n
f e ( )
3
,1
n
f e ( )
3
, 2
n
f e ( )
3
, 3
n
f e
x
n
*
( )
*
3 n
f e
0 10,2 12,8 13,6 12,9504 2 13,6
Programacin dinmica
131

Solucin del problema

Por ser un modelo de programacin dinmica aleatoria, no podemos conocer los estados a los que ir
evolucionando el sistema, y la solucin consistir en polticas para cada etapa que optimicen el valor
esperado de la funcin de recurrencia. De la informacin suministrada por las diferentes tablas,
podemos decir que:

Debe iniciarse el funcionamiento del sistema adquiriendo dos unidades. A partir de entonces, adquirir
las unidades suficientes para cubrir una demanda de dos unidades (deben por tanto adquirirse 2
unidades si no hay inventario, una unidad si hay una unidad de inventario y nada si tenemos dos
unidades de inventario). Caso de tener un inventario de tres unidades, no deber adquirirse ninguna
unidad. Actuando de esta manera, el valor esperado del beneficio obtenido en cuatro semanas de
funcionamiento ser de 13,6.


4.6.2 Programacin dinmica aleatoria y procesos de decisin markovianos

La situacin planteada en el ejemplo 4.2.c, que se modeliz como un problema de programacin
dinmica en el ejemplo 4.6.1.a y se resolvi para un planteamiento de horizonte finito en el ejemplo
4.6.1.b, puede plantearse tambin como un problema de horizonte infinito. En este caso, se tratara de
obtener la poltica que optimiza la ganancia por transicin en el largo plazo.

Ahora bien, el modelo que nos ocupa tiene algunas propiedades interesantes: la funcin de recurrencia
es de tipo aditivo y las probabilidades de transicin son las mismas para todas las etapas del sistema.
Esta ltima condicin hace que la evolucin del sistema en el futuro sea independiente de lo ocurrido
en el pasado: se trata de un proceso markoviano de decisin. La primera propiedad nos permite aplicar
los resultados obtenidos para los procesos markovianos de decisin en el tema anterior, en lo relativo a
la iteracin en el espacio de los estados y la exploracin en el espacio de las polticas.

En particular, la iteracin en el espacio de los estados puede entenderse como un caso particular de
programacin dinmica, al que se aplica el procedimiento de normalizacin para observar la tendencia
a largo plazo. En el ejemplo 4.5.3.a se ilustr este procedimiento para un problema de programacin
dinmica determinista (que puede entenderse como un caso particular de programacin dinmica
aleatoria, en las que las probabilidades sean cero o uno). Seguidamente, mostraremos cmo puede
representarse el problema que nos ocupa como un proceso de decisin markoviano y obtendremos el
valor de la ganancia por transicin a largo plazo para la poltica ptima, mediante la exploracin de la
poltica ptima.


Ejemplo 4.6.2.a Planificacin de inventarios (C): caso de horizonte infinito

Para el problema del ejemplo 2.c, determinar la poltica que permite obtener el mayor beneficio
diario para este sistema despus de muchos das de funcionamiento. Obtener el valor de ese beneficio
diario.

El problema puede plantearse como un problema de proceso de decisin markoviano. Los estados y
las variables de decisin se definirn de la misma manera que se definieron en el ejemplo 4.6.1.a.
Ahora deberemos obtener las matrices P y R para todas las combinaciones de variables de decisin y
estados. Dichas matrices se muestran en la tabla adjunta:


Mtodos cuantitativos de organizacin industrial II
132

Tabla 4.6.2.a Planteamiento del ejemplo 4.2.c como proceso de decisin markoviano

EST DEC 0 1 2 3 0 1 2 3 q
0 0 1 0 0 0 0 0
1 0,6 0,4 0 0 5 -1 2,6
2 0,3 0,3 0,4 0 10 4 -2 3,4
3 0,1 0,2 0,3 0,4 15 9 3 -3 3
1 0 0,6 0,4 0 0 5 -1 2,6
1 0,3 0,3 0,4 0 10 4 -2 3,4
2 0,1 0,2 0,3 0,4 15 9 3 -3 3
2 0 0,3 0,3 0,4 0 10 4 -2 3,4
1 0,1 0,2 0,3 0,4 15 9 3 -3 3
3 0 0,1 0,2 0,3 0,4 15 9 3 -3 3

La solucin del problema de horizonte finito, desarrollada en el ejemplo 4.6.1.b ya nos indica que la
poltica {2, 1, 0, 0} es la que asegura el beneficio esperado ptimo. Entonces, podemos obtener la
ganancia media por transicin aplicando la ecuacin:

g + w = q + Pw

Para el caso que nos ocupa, el conjunto de ecuaciones es:

g + w1 = 3,4 + 0,3w1 + 0,3w2 + 0,4w3
g + w2 = 3,4 + 0,3w1 + 0,3w2 + 0,4w3
g + w3 = 3,4 + 0,3w1 + 0,3w2 + 0,4w3
g + w4 = 3 + 0,1w1 + 0,2w2 + 0,3w3 + 0,4w4

Para este conjunto de ecuaciones, tenemos que w1 = w2 = w3. Si hacemos w4 = 0 tenemos que:

g = 3,4 w1 = w2 = w3 = 2/3 w4 = 0

De donde obtenemos una ganancia media por transicin de 3,4 si seguimos esta poltica.


4.7 Problemas resueltos

4.7.1 Problema del producto mximo

Encuentre, mediante programacin dinmica, el conjunto de tres nmeros enteros que suman 8 y cuyo
producto sea mximo.

Solucin problema del producto mximo

Etapas del sistema:
n = 1: determinacin del primer nmero
n = 2: determinacin del segundo nmero
n = 3: determinacin del tercer nmero

Variables de decisin:
n = 1 x
1
primer nmero x
1
= 1,..., 6
n = 2 x
2
segundo nmero x
2
= 1,..., 6
n = 3 x
3
tercer nmero x
3
= 1,..., 6
Programacin dinmica
133

Estados del sistema:
e
n
: Suma de las variables asignadas en el apartado anterior

e
1
= x
1
+ x
2
+ x
3
e
1
= 8
e
2
= x
2
+ x
3
e
2
7
e
3
= x
3
e
3
6

Funcin de recurrencia:
f
n
(e
n
, x
n
) = x
n
f
*
n+1
(e
n
x
n
) n = 1, 2, 3
f
*
4
(e) = 1

Aplicando programacin dinmica, obtenemos la solucin:

Etapa n = 3 f
3
(e
3
, x
3
) = x
3
f
*
4
(e
2
x
2
)

e
n
x
*
n
f
*
3
(e
n
)
1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
6 6 6


Etapa n = 2 f
2
(e
2
, x
2
) = x
2
f
*
3
(e
2
x
2
)

e
2
1 2 3 4 5 6 x
*
2
f
*
2
(e
2
)
1 - - - - - - - -
2 11 - - - - - 1 1
3 12 21 - - - - 1, 2 2
4 13 22 31 - - - 2 4
5 14 23 32 41 - - 2, 3 6
6 15 24 33 42 51 - 3 9
7 16 25 34 43 52 61 3, 4 12


Etapa n = 1 f
1
(8, x
3
) = x
3
f
*
2
(8 x
3
)

e
1
1 2 3 4 5 6 x
*
1
f
*
1
(e
1
)
8 112 29 36 44 52 61 2, 3 18


Dado que en la ltima etapa hay un empate en el ptimo entre 2 y 3, tenemos dos soluciones, que en
realidad, son la misma dada en orden diferente:

x
*
1
= 2 x
*
2
= 3 x
*
3
= 3 x
*
n
= 1
e
1
= 8 e
2
= 6 e
3
= 3 e
n
= 0

El producto mximo con tres nmeros enteros que sumen 8 vale 18, y es igual al producto de 2 por 3 y
3.


Mtodos cuantitativos de organizacin industrial II
134
4.7.2 Problema de la mochila

Un turista est planificando una corta excursin por el campo y para ello cuenta con tres recursos:
comida (recurso A), bebida (recurso B) y libros para leer a la sombra de un rbol (recurso C). La
utilidad que le reporta llevar cada uno de estos recursos aumenta con las unidades que se lleva, segn
las tablas siguientes:

Utilidad que aporta el recurso A:
Cantidad recurso (en
unidades)
Utilidad
total
1

0 0
1 10
2 15
3 18
Peso del recurso A: 3 Kg por unidad

Utilidad que aporta el recurso B:
Cantidad recurso (en
unidades)
Utilidad total
0 0
1 14
2 21
Peso del recurso B: 4 Kg por unidad

Utilidad de recurso C:
Cantidad recurso (en
unidades)
Utilidad total
0 0
1 6
2 9
3 11
4 12
5 13
Peso del recurso C: 2 Kg por unidad

Sabiendo que el turista puede llevar en su mochila una cantidad mxima de 10 Kg., se trata de saber
cuntas unidades de cada producto debe llevar en su mochila para maximizar su utilidad total.

Se pregunta:

a) Definir la naturaleza de las etapas, estados y variables de decisin para plantear este problema
mediante programacin dinmica.
b) Resolver el problema usando programacin dinmica.


Solucin problema de la mochila

Como puede verse, se trata de un problema de programacin dinmica no homognea. Los parmetros
del problema pueden definirse de varias maneras, aunque han de ser equivalentes al siguiente
planteamiento:

1
Se trata de la utilidad total: esto significa que, por ejemplo, tres unidades del recurso A proporcionan una
utilidad de 18.
Programacin dinmica
135
Etapas: en cada etapa se asigna un recurso a la mochila. El orden es indiferente, aunque en
esta resolucin se ha adoptado:

En n = 1, llenamos la mochila del recurso A
En n = 2, llenamos la mochila del recurso B
En n = 3, llenamos la mochila del recurso C

Variable de decisin: en esta resolucin la variable es la cantidad de recurso (A, B y C) propio
de cada etapa a introducir en la mochila. Tambin puede definirse como los kilos de recurso
que se introducen.

Estado del sistema: se han definido como los Kg de capacidad de la mochila que quedan libres
para los recursos de las etapas siguientes. Tambin puede definirse como los Kg que se han
asignado en etapas anteriores.


El problema al definir las funciones de recurrencia es que la mochila no tiene por qu estar llena en el
ptimo (como de hecho sucede en este caso). Esto puede resolverse aadiendo una etapa adicional o
definiendo la funcin de recurrencia para la primera etapa como:

f3(e,xC) = E(e/2)

(Recordemos que el peso de una unidad de C es de 2 Kg.). As en n = 3, la cantidad ptima para el
estado 5 es xC* = 2: 4 Kg de recurso y un Kg vaco.

Para la etapa n =2 la funcin ser (B pesa 4 Kg):

f2(e,xB) = u(xB) + f3*(e 4xB)

Finalmente, en la etapa n = 1 slo deberemos considerar el estado 10:

f2(10,xA) = u(xA) + f3*(e 3xA)


Una vez definidas las funciones, podemos pasar a elaborar las tablas. Para n = 3:


e xC* f3*(e)
0 0 0
1 0 0
2 1 6
3 1 6
4 2 9
5 2 9
6 3 11
7 3 11
8 4 12
9 4 12
10 5 13

Para n = 2:


Mtodos cuantitativos de organizacin industrial II
136
0 1 2 xB* f2*(e)
0 0 + 0 0 0
1 0 + 0 0 0
2 0 + 6 0 6
3 0 + 6 0 6
4 0 + 9 14 + 0 1 14
5 0 + 9 14 + 0 1 14
6 0 + 11 14 + 6 1 20
7 0 + 11 14 + 6 1 20
8 0 + 12 14 + 9 21 + 0 1 23
9 0 + 12 14 + 9 21 + 0 1 23
10 0 + 13 14 + 11 21 + 6 2 27

Finalmente, para n = 1:

e 0 1 2 3 xA* f1*(10)
10 0 + 27 10 + 20 15 + 14 21 + 0 1 30

Ahora ya podemos obtener la solucin, teniendo en cuenta los pesos de los diferentes recursos:
En la etapa n = 1, tenemos xA* = 1, por lo que el sistema evoluciona al estado 7 (el peso de A
en la mochila es de 3 Kg).
En la etapa n = 2 y para el estado 7, tenemos que xB* = 1, por lo que el sistema evoluciona al
estado 3 (el peso de B en la mochila es de 4 Kg).
Y en la etapa n = 3 y para el estado 3, tenemos que xC* = 1 (el peso de C en la mochila es de
2 Kg, por lo que queda 1 Kg por debajo de la capacidad mxima).

En definitiva, introduciremos una unidad de cada recurso en la mochila, con una utilidad total de 30.
El peso total de los recursos transportados es de 9 Kg.


4.7.3 Problema de la ruta

Un transportista cuenta con una serie de clientes en cuatro ciudades que llamaremos A, B, C y D. Las
rutas posibles son tales que desde cada una de las ciudades, tiene dos rutas disponibles con carga, tal
como aparece en el grfico. La tabla 1 muestra las distancias entre las cuatro ciudades, y la tabla 2
muestra las remuneracin obtenida por transportar mercancas de la ciudad i a la ciudad j.


Fig. 4.7.3.a Grfico problema de la ruta

C D
A B
Programacin dinmica
137
Tabla 4.7.3.a: distancias (Km) Tabla 4.7.3.b: ingresos (euros)

A B C D A B C D
A 100 200 500 A 4.000 8.000
B 100 600 800 B 2.500 8.000
C 200 600 300 C 2.500 4.000
D 500 800 300 D 5.500 5.000

Los costes del transportista son proporcionales al kilometraje y en estos momentos son de 10 euros por
kilmetro.

Con estos datos, se pregunta:

1. Plantear un modelo de programacin dinmica que permita obtener la poltica a seguir para
maximizar el beneficio del transportista, en el caso que deba llevar carga en cada viaje (este
hecho elimina, por ejemplo, la posibilidad de viajar de A a D).

2. Determinar qu ruta debe seguir el transportista en los tres prximos viajes, si ahora se encuentra
en la ciudad A. Determinar tambin cul ser el beneficio obtenido para esta ruta ptima.

3. Cmo debera modificarse el modelo si se contemplara la posibilidad de volver de vaco? (No es
necesario determinar las expresiones de la funcin de recurrencia para este caso.)


Solucin problema de la ruta

1. Plantear un modelo de programacin dinmica que permita obtener la poltica a seguir para
maximizar el beneficio del transportista, en el caso que deba llevar carga en cada viaje (este hecho
elimina, por ejemplo, la posibilidad de viajar de A a D).

Modelo de programacin dinmica:

Etapas:
Definiremos cada etapa como cada uno de los viajes que realice el camin.

Estados:
Se identificar cada estado como la ciudad en donde se encuentre el camin. Por tanto,
existirn cuatro estados (estado A, estado B, estado C, estado D).

Variables de decisin:
En este caso, la variable de decisin podr tomar el valor de las ciudades a las que el camin
puede dirigirse. Segn en que ciudad se encuentre podr elegir entre unas ciudades u otras.
Estado = A --> variables de decisin: B y C
Estado = B --> variables de decisin: A y C
Estado = C --> variables de decisin: A y D
Estado = D --> variables de decisin: A y C

Funcin de recurrencia:
Beneficio = Ingresos Costes

*
1
( , ) ( , ) ( )
N n n n n n
f e x Beneficio e x f e
+
= +
Mtodos cuantitativos de organizacin industrial II
138
Para simplificar la funcin de recurrencia calculamos una matriz que nos proporcione los beneficios
segn el estado y la variable de decisin.

3000 6000
1500 2000
500 1000
500 2000
Beneficio




=






2. Determinar qu ruta debe seguir el transportista en los tres prximos viajes, si ahora se encuentra
en la ciudad A. Determinar tambin cul ser el beneficio obtenido para esta ruta ptima.

A partir del modelo anterior calculamos la poltica ptima del sistema.

Para n = 3 tendremos
* *
3 3
( )
6000
2000
1000
2000
e x f e
A AC
B BC
C CD
D DC


Para n = 2 tendremos

* *
2 2
( )
30 20 60 10 70
15 60 20 20 75
5 60 20 20 65
5 60 20 10 65
AB AC BA BC CA CD DA DC x f e
A AC
B BA
C CA
D DA
+ +
+ +
+ +
+ +


Nota: Todos los valores de la tabla deben ser multiplicados por 100

Para n = 1 tendremos

* *
1 1
( )
3000 7500 6000 6500 12500
AB AC x f e
A C + +


De aqu podemos extraer que la solucin ptima ser de A a C y de C a A


4.7.4 Problema de las mquinas en paralelo

Un sistema productivo consta de dos mquinas en paralelo que realizan la misma funcin. La empresa
se ha planteado cul debe ser la poltica de mantenimiento que maximice el valor esperado la
produccin horaria a largo plazo. Para ello, se dispone de la siguiente informacin acerca del
funcionamiento del sistema y de los diferentes casos que pueden darse:

Primer caso: Cuando funcionan las dos mquinas, en rgimen normal, cada una de ellas tiene una
productividad de 30 piezas por hora. Sin embargo, cada una de ellas tiene una probabilidad de avera
Programacin dinmica
139
igual a 0,2. En esta situacin podra plantearse la realizacin de un programa de mantenimiento
preventivo al principio de cada hora de funcionamiento que asegurara el correcto funcionamiento del
sistema al final de la hora. El precio a pagar sera que mientras se realiza el mantenimiento cada
mquina tendra un rendimiento de 25 piezas por hora.

Segundo caso: Si slo funciona una mquina, puede optarse por seguir en esta situacin o por reparar
la otra mquina. De seguir la primera opcin, la mquina que funciona tendra que trabajar a 40 piezas
por hora y su probabilidad de avera sera de 0,4. Si se opta por reparar la mquina, tendramos todo el
sistema parado durante una hora. Por cuestiones de planificacin, la decisin de realizar la reparacin
debera tomarse al principio de cada hora de funcionamiento.

Tercer caso: Si se estropean las dos mquinas a la vez (en el primer caso) o se estropea la nica
mquina que funciona (en el segundo caso), la reparacin exigira dos horas para que el sistema
estuviera a pleno rendimiento. Por razones semejantes a la situacin anterior, esta reparacin debera
iniciarse al principio de la hora siguiente a la(s) avera(s).

Cuando se produce una avera, el rendimiento es el promedio entre la situacin antes y despus de la
avera. Por ejemplo, si se estropea una de las dos mquinas el rendimiento resultante sera de (60 +
40) / 2 = 50 piezas por hora.

Se pide:
1. Definir los parmetros del sistema que permiten su modelizacin como un modelo de
programacin dinmica aleatoria y como un proceso markoviano de decisin.
2. Determinar la poltica ptima para tres horas de funcionamiento del sistema, si empezamos con las
dos mquinas en funcionamiento.
3. Si, en el largo plazo, se opta por no realizar el mantenimiento preventivo y por reparar las
mquinas inmediatamente despus de que se averen, determinar cul sera el valor esperado de la
produccin horaria para esta poltica.


Solucin problema mquinas en paralelo

1. Definir los parmetros del sistema que permiten su modelizacin como un modelo de
programacin dinmica aleatoria o como un proceso markoviano de decisin.

Etapas: cada hora de funcionamiento del sistema. Ntese que las decisiones se toman al principio de
cada hora de funcionamiento.

Estados: como en algn caso debemos esperar dos horas a que el sistema vuelva a funcionar, deben
definirse cuatro estados:
M2 Las dos mquinas funcionan.
M1 Slo funciona una mquina.
R1 Nos encontramos en la ltima hora de reparacin.
R2 Nos encontramos en la penltima hora de reparacin.

Variables de decisin: como puede deducirse de la lectura del ejercicio, son diferentes para cada
estado:
Para M1 Realizar el mantenimiento preventivo (MAN)
No realizar el mantenimiento preventivo (NMA)
Para M2 Reparar la mquina averiada (REP)
No reparar la mquina averiada (NRE)
Mtodos cuantitativos de organizacin industrial II
140
No hay variables de decisin para R1 y R2 (a no ser que dejemos el sistema parado para siempre, cosa
que no parece muy recomendable).
Funcin de recurrencia: para un caso como este, podra ser interesante plantear las P y R del proceso
markoviano. Esto nos permitir obtener las funciones de recurrencia de manera ms sencilla.

Matrices de probabilidades de transicin P para cada estado y decisin (los valores en blanco son
iguales a cero):

M2 M1 R1 R2
M2 MAN 1
NMA 0,64 0,32 0,04
M1 REP 1
NRE 0,6 0,4
R1 1
R2 1

Teniendo en cuenta las consideraciones realizadas en el ejercicio, la matriz de remuneraciones R para
cada estado y decisin valdr (slo se han definido para los valores de P diferentes de cero):

M2 M1 R1 R2
M2 MAN 50
NMA 60 50 30
M1 REP 0
NRE 40 20
R1 0
R2 0

Hechas estas consideraciones, el vector de ganancias esperadas por transicin para cada estado y
decisin vale:

q
M2 MAN 50
NMA 55,6
M1 REP 0
NRE 32
R1 0
R2 0

Ahora, fijndonos en la matriz P y el vector q, podemos obtener las funciones de recurrencia:


Para el estado M2:

( ) ( )
*
1
2, 50 2
N N
f M MAN f M

= +
( ) ( ) ( ) ( )
* *
1 1 1
2, 55, 6 0, 64 2 0, 32 1 0, 04 2
N N N N
f M NMA f M f M f R

= + + +

Para el estado M1:

( ) ( )
*
1
1, Re 0 2
N N
f M p f M

= +

( ) ( ) ( )
* *
1 1
1, 32 0, 6 1 0, 4 2
N N N
f M NRE f M f R

= + +

( ) ( )
* *
1
1 2
N N
f R f M

=

Programacin dinmica
141
( ) ( )
* *
1
2 1
N N
f R f R

=


2. Determinar la poltica ptima para tres horas de funcionamiento del sistema, si empezamos con las
dos mquinas en funcionamiento.

A partir del modelo anterior calculamos la poltica ptima del sistema.

Para n = 3 tendremos:

f
3
(M2, MAN) = 50
f
3
(M2, NMA) = 556
f
3
*
(M2) = 556 x
3
*
=NMA

f
3
(M1, REP) = 0
f
3
(M1, NRE) = 32
f
3
*
(M1) = 32 x
3
*
=NRE

f
3
*
(R1)=0
f
3
*
(R2)=0

Para n = 2 tendremos:

f
2
(M2, MAN) = 50 + 556 = 1056
f
2
(M2, NMA) = 556 + 064556+03232+0040=101424
f
2
*
(M2) = 1056 x
2
*
=MAN

f
2
(M1, REP) = 0+556=556
f
2
(M1, NRE) = 32+0632+040=512
f
2
*
(M1) = 556 x
3
*
=REP

f
2
*
(R1)=556
f
2
*
(R2)=0

Para n = 1 tendremos:

f
1
(M2, MAN) = 50 + 1056 = 1556
f
1
(M2, NMA) = 556 + 0641056+032512=139568
f
1
*
(M2) = 139568 x
1
*
=MAN


Por tanto la poltica ser:
{ NMA, REP, R1, R2 }

3. Si, en el largo plazo, se opta por no realizar el mantenimiento preventivo y por reparar las
mquinas inmediatamente despus de que se averen, determinar cul sera el valor esperado de la
produccin horaria para esta poltica.

A partir del enunciado obtendremos la siguiente matriz y vector q:

Mtodos cuantitativos de organizacin industrial II
142
0' 64 0'32 0 0' 04 55' 6
1 0 0 0 0
1 0 0 0 0
0 0 1 0 0



= =




P q
cuyo grafo ser:


M2 M1
R1 R2


A partir de la matriz P y el vector q, planteamos el siguiente sistema de ecuaciones

g + w
1
= 556 + 064w
1
+ 032 w
2
+ 0004w
4

g + w
2
=w
1
g + w
3
=w
1
g + w
4
=w
3

Resolviendo el sistema de ecuaciones obtenemos que la ganancia g valdr 3971 unidades.


4.8 Glosario de trminos

Aleatoria, programacin dinmica:
Ver programacin dinmica.

Determinista, programacin dinmica:
Ver programacin dinmica.

Estado:
Variable descriptiva de la informacin necesaria para conocer la evolucin del sistema a partir
de ese momento. Dicha evolucin depender de los valores del estado y de los valores de la
variable de decisin.

Funcin de recurrencia:
Funcin que buscamos optimizar al resolver un modelo de programacin dinmica. Para que
la programacin dinmica sea operativa, dicha funcin debe ser recursiva.

Homognea, programacin dinmica:
Modelo de programacin dinmica para el que la definicin de sus elementos (estados,
variable de decisin y funcin de recurrencia) es la misma para todas las etapas del sistema.

No homognea, programacin dinmica:
Cualquier modelo de programacin dinmica que no cumpla la propiedad que caracteriza a la
programacin dinmica homognea: la homogeneidad a lo largo de las etapas de los estados,
variables de decisin y funcin de recurrencia.

Poltica:
Programacin dinmica
143
La poltica es una regla de decisin para una determinada etapa. Consiste en los valores de las
variables de decisin que optimizan el comportamiento del sistema a partir de esa etapa, para
cada uno de los estados del sistema.


Proceso polietpico:
Se trata de un proceso que puede dividirse en etapas, representativas de la evolucin temporal
de dicho proceso. Dicho proceso va evolucionando (de manera determinista o aleatoria) entre
un conjunto de estados posibles. Algunos procesos polietpicos contemplan la posibilidad de
tomar una decisin al principio de cada etapa. As, la evolucin del sistema en el futuro
depender de la decisin que se tome y del estado en que se encuentre el sistema en la etapa
anterior.

Programacin dinmica:
Estrategia de resolucin de problemas que pueden representarse como procesos polietpicos
de decisin. Podemos distinguir dos tipos de programacin dinmica: si podemos conocer la
evolucin del sistema una vez tomada la decisin, tendremos un modelo de programacin
dinmica determinista. Si la evolucin del sistema no est determinada, sino que puede
evolucionar a diferentes estados segn una ley de probabilidad conocida, el modelo ser de
programacin dinmica aleatoria.

Recursividad:
Una funcin descriptiva del comportamiento de un proceso polietpico es recursiva cuando
sus valores para una etapa determinada dependen de los valores que pueda tomar la funcin en
las siguientes etapas.

Variable de decisin:
Variable descriptiva de las decisiones que pueden tomarse en un determinado estado.
Dependiendo del modelo, el rango de valores que puede tomar la variable de decisin puede
depender del estado en que se encuentre el sistema.






















Mtodos cuantitativos de organizacin industrial II
144

También podría gustarte