Vous êtes sur la page 1sur 10

PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

Wilson Said Martínez Navarro


Martín Silgado
Oscar Hoyos

Prof.: Ing. Esp. Fredy Martínez

Universidad de Córdoba
Facultad de Ingenierías
Programa de Ingeniería Industrial
Investigación de Operaciones III
VII Semestre
Montería – Córdoba
2011
PROGRAMACIÓN DINÁMICA PROBABILÍSTICA

La programación dinámica probabilística (PDP) es una técnica matemática útil


para la toma de decisiones interrelacionadas, se presenta cuando el estado en la
siguiente etapa no está determinado por completo por el estado y la política de
decisión de la etapa actual. En su lugar existe una distribución de probabilidad
para determinar cuál será el siguiente estado. Sin embargo, esta distribución de
probabilidad sí queda bien determinada por el estado y la política de decisión en la
etapa actual.

Por otro lado, cabe resaltar, qué; cuando el estado en la siguiente etapa está
determinado por completo por el estado y la política de decisión de la etapa actual,
entonces este problema corresponde a programación dinámica determinística
(PDD).

A continuación se ilustra la estructura básica de la PDD y la PDP.

Etapa Etapa
+1

Estado:
Contribución de

Valor: ( , ) ∗( )

PDD (Figura 1)

Etapa Etapa +1
Contribución
de la etapa 1


Probabilidad (1)

Decisión
Estado: 2

( , ) ⋮ ∗
(2)

S

PDP (Figura 2) ∗
( )
En la Programación dinámica (Sea PDD ó PDP), se utiliza una relación recursiva
que identifica la política óptima para la etapa , dada la política óptima para la
etapa + 1. La forma precisa de la relación recursiva difiere de un problema a otro
de PD (Sea PDD ó PDP), pero se usa una notación general como se resume a
continuación:

: Número de etapas.
: Etiqueta para la etapa actual ( = 1,2, … ).
: Estado actual para la etapa .
: Variable de decisión para la etapa .
∗ : Valor óptimo de (Dado ).
( , ): Contribución a la función objetivo de la etapas , + 1 , … , , si el
sistema se encuentra en el estado en la etapa , la decisión inmediata es y
en adelante se toman decisiones óptimas.
∗ = ( , ∗)

La relación recursiva siempre tendrá la forma:

∗( )= á { ( )} ∗( )= í { ( )}
, Ó ,

En donde ( , ) se escribe en términos de , , ∗ ( ) y tal vez alguna


medida de la contribución inmediata de a la función objetivo, Lo que hace que
la expresión para ∗ ( ) sea una relación recursiva, es la inclusión de ∗ ( )
∗( ) ∗ ( ).
en el lado derecho, de manera que está definida en términos de

La relación recursiva recurre constantemente a las etapas posteriores conforme se


trabaja hacia atrás una etapa a la vez. Cuando el número de la etapa actual
disminuye su valor en 1, la nueva función ∗ ( ) se obtiene usando la función
∗ ( ) que se obtuvo en la iteración anterior, después el proceso se repite
cada nueva iteración

Hay que tener en cuenta las características básicas que distinguen los problemas
de programación dinámica (Sea PDD ó PDP), las cuales son:

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


en cada una de ellas.

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

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


actual en un estado asociado con el inicio de la siguiente etapa (Quizá según con
una distribución de probabilidad).
4. El procedimiento de solución está diseñado para encontrar una política óptima
para el problema completo, es decir, una receta para la política de decisión óptima
en cada etapa para cada uno de los estados posibles.

5. Dado el estado actual, una política óptima para las etapas restantes es
independiente de la política adoptada en etapas anteriores. Por lo tanto, la
decisión inmediata óptima depende solo del estado actual y no de cómo se llegó
ahí. Éste es el principio de optimalidad para programación dinámica (Sea PDD ó
PDP).

6. El procedimiento de solución se inicia al encontrar la política óptima para la


última etapa

7. Se dispone de una relación recursiva que identifica la política óptima para la


etapa , dada la política óptima para la etapa + 1.

8. Cuando se usa esta relación recursiva, el procedimiento de solución comienza


al final y se mueve hacia atrás, etapa por etapa (Encuentra cada vez la política
óptima para esa etapa) hasta que encuentra la política óptima desde la etapa
inicial. Esta política óptima lleva de inmediato a una solución óptima para el
problema completo, a saber, ∗ para el estado inicial , después ∗ para el estado
que resulta, luego ∗ para el estado que se obtiene, y así sucesivamente

hasta para el estado resultante.

En la ilustración de la PDP de la Figura 2, sea el número de estados posibles en


la etapa + 1, estos estados en el lado derecho están representados por 1, 2, … . .
El sistema cambia al estado con probabilidad ( = 1 ,2 … ) dados el estado
y la decisión en la etapa . Si el sistema cambia al estado , es la
contribución de la etapa a la función objetivo.

Cuando se expande la ilustración de la PDP en la Figura 2 para incluir todos los


estados y las decisiones posibles en todas las etapas, se obtiene lo que con
frecuencia se conoce como árbol de decisión. Si este árbol de decisión no es
muy grande, proporciona una forma útil de resumir estas posibilidades.

Debido a la estructura probabilística, la relación entre ( , ) y ∗ ( ), es un


poco complicada. La forma exacta de esta relación dependerá de la forma global
de la función objetivo.

Para explicar lo anterior, con relación a la ilustración de la PDP de la Figura 2, se


supone que el objetivo es minimizar la suma esperada de las contribuciones de las
etapas individuales. En este caso, ( , ) representa la suma esperada mínima
de la etapa en adelante, dado que en la etapa , el estado es y la política de
decisión es .
En consecuencia:

( , )= [ ∗ ( )]
+

Con:

∗ ( )= í (, )

Donde la minimización se toma sobre todos los valores factibles de .

Ejemplo 1:

(Ejercicio propuesto 11.4-2 del libro Investigación de operaciones - Hiller,


Frederick S. Lieberman, Gerald J. )

Imagine que tiene $ 5.000 para invertir y que tendrá la oportunidad de hacerlo en
cualquiera de dos inversiones (A ó B) al principio de cada uno de los próximos
años. Existe incertidumbre respecto al rendimiento de ambas inversiones. Si se
invierte en A, se puede perder todo el dinero o (con probabilidad más alta) obtener
$ 10.000 (una ganancia de $ 5.000) al final del año. Si se invierte en B, se pueden
obtener los mismos $ 5.000 ó (con probabilidad más baja) $ 10.000 al terminar el
año. Las probabilidades para estos eventos son las siguientes:

Cantidad
Inversión Probabilidad
obtenida ($)
A 0 0.3
10000 0.7
B 5000 0.9
10000 0.1

Se le permite hacer (a lo sumo) una inversión al año y sólo puede invertir $ 5000
cada vez. (Cualquier cantidad de dinero acumulada queda inútil).

a) Utilice programación dinámica para encontrar la política de inversión que


maximice la cantidad de dinero esperada que tendrá después de los tres años.

b) Utilice programación dinámica para encontrar la política de inversión que


maximice la probabilidad de tener por lo menos $ 10000 después de los tres años.
Solución a)

Sea la inversión realizada en el año , esto es, = 0, , .


Sea la cantidad de dinero en la mano al inicio del año.
Sea ( , ) la cantidad máxima prevista de dinero al final del tercer año, dado
y en el año .

Para ≥ 5000 ( , )= ( ) =0
∗ ( ∗ (
0.3 − 5000) + 0.7 + 5000) =
∗ ( ) + 0.1 ∗ (
0.9 + 5000) =

Para 0 ≤ < 5000 ( , )= ∗ ( )y =0


(No se puede invertir menos de $ 5000)

Comenzando el procedimiento tenemos:

=3
∗( ) ∗

0≤ < 5000 0

≥ 5000 + 2000

=2

( , ) ∗( ∗
)
0
0≤ < 5000 − − 0

5000 ≤ < 10000 + 2000 + 3400 + 2500 + 3400

10000 ≤ + 2000 + 4000 + 2500 + 4000

=1

( , ) ∗( ∗
)
0
5000 8400 9800 8150 9800

Por tanto la política óptima es invertir siempre en A, con una fortuna de espera
después de tres años de $ 9800.
Solución b)

Sea la inversión realizada en el año , esto es, = 0, , .


Sea la cantidad de dinero en la mano al inicio del año.
Sea ( , ) la probabilidad máxima de tener al menos $ 10000 después de tres
años, dado y .

=3

( , ) ∗( ∗
)
0
0≤ < 5000 0 − − 0 0

5000 ≤ < 10000 0 0.7 0.1 0.7

10000 ≤ < 15000 1 0.7 1 1 0ó

15000 ≤ 1 1 1 1 0, ó

=2

( , ) ∗( ∗
)
0
0≤ < 5000 0 − − 0 0

5000 ≤ < 10000 0.7 0.7 0.73 0.73

10000 ≤ 1 0.73 1 1 0ó

=3

( , ) ∗( ∗
)
0
5000 0.73 0.7 0.757 0.757
Por lo tanto las políticas óptimas son (Con los números en los arcos para
representar el retorno de la inversión).

Año 1 Año 2 Año 3

A
5000

5000 B
10000 0
B

10000 10000
0

O también:

A
5000

5000 B
10000 0óB
B

10000 10000
B
15000 0, A ó B

Y la máxima probabilidad de tener al menos $ 10000 al final de tres años es 0.757


CONCLUSIÓN

La programación dinámica (Sea PDD ó PDP) es una técnica muy útil para tomar
una sucesión de decisiones interrelacionadas. Requiere la formulación de una
relación recursiva apropiada para cada problema individual. Sin embargo,
proporciona grandes ahorros computacionales en comparación con la
enumeración exhaustiva para encontrar la mejor combinación de decisiones, en
especial cuando se trata de problemas grandes. Por ejemplo, si un problema tiene
10 etapas con 10 estados y 10 decisiones posibles en cada etapa, la enumeración
exhaustiva tendría que considerar hasta 1010 combinaciones, mientras que la
programación dinámica (Sea PDD ó PDP) necesita hacer cuando mucho 103
cálculos (10 para cada estado en cada etapa).
BIBLIOGRAFÍA

 Investigación de operaciones - Hiller, Frederick S. Lieberman, Gerald J.