1) Se busca asignar 6,000 euros entre 3 proyectos de inversión para maximizar las ganancias. Cada proyecto tiene diferentes retornos dependiendo de la cantidad invertida.
2) Se usa programación dinámica con matrices para resolver el problema iterativamente asignando fondos de forma óptima a cada proyecto.
3) Se describe el modelo de programación dinámica incluyendo etapas, estados, variables de decisión y función de recursividad para calcular la asignación óptima.
1. ASIGNACIÓN DE RECURSOS CON
PROGRAMACIÓN DINÁMICA
EMPLEANDO EL MÉTODO DE
MATRICES COMPUTACIONALES
M.C ADRIANA NIETO CASTELLANOS
INSTITUTO TECNOLOGICO DE TEHUACAN
OCTUBRE 2011
2. ASIGNACIÓN DE RECURSOS
Una financiera tiene 6,000 euros para invertir entre tres posibles alternativas de inversión. Esta
puede invertir el dinero en partes, todo o nada de los 6,000 euros en cada proyecto de
inversión. Se tiene como limitante el invertir solo en unidades de mil euros, la ganancia
esperada de una inversión depende de la cantidad de dinero asignada a esta. Esta información
está dada en la Tabla 1. Al inversionista le gustaría asignar su dinero de tal forma que maximice
su ingreso total.
Tabla 1 PROYECTOS
Cantidad invertida € A B C
0 0 0 0
1,000€ 9 10 9
2,000€ 16 13 13
3,000€ 23 16 17
4,000€ 30 19 21
5,000€ 37 22 25
6,000€ 44 25 29
*Retornos en miles de euros = r(Xn)
Cada uno de los valores representa el ingreso sobre la cantidad invertida.
Tabla 1 Retornos* esperados por invertir diversas cantidades compitiendo en proyectos de
capital
3. 1) ETAPAS DE LA EVOLUCIÓN DEL SISTEMA
Tenemos un problema de tipo determinístico, no homogéneo, con
horizonte finito es decir el número de etapas está limitado a las
tres alternativas de inversión así podemos definir las etapas:
ETAPA PROYECTOS
n=3 A
n=2 B
n=1 C
4. 2) ESTADOS DEL SISTEMA
El elemento determinante para saber qué cantidad podemos invertir en
un proyecto, es la cantidad de dinero disponible. Esta variable será,
entonces, una buena candidata a variable de estado del sistema. De
manera que tenemos los estados siguientes:
Estado Cantidad disponible a invertir
e=0 No se invierte 0€
e=1 Se invierten: 1000€
e=2 Se invierten: 2000€
e=3 Se invierten: 3000€
e=4 Se invierten: 4000€
e=5 Se invierten: 5000€
e=6 Se invierten: 6000€
5. 3) Variables de decisión y políticas
La decisión a tomar en cada etapa es claramente qué cantidad de dinero
podemos invertir a cada proyecto.
Así la variable de decisión se definirá para cada etapa n como:
Xn= cantidad de dinero a invertir en el proyecto propio de la etapa n
Valor variable
de estado e
Valores posibles de la variable de decisión Xn
e=0 x0= 0
e=1 x1= 0, 1000
e=2 x2= 0, 1000, 2000
e=3 x3= 0, 1000, 2000, 3000
e=4 x4= 0, 1000, 2000, 3000, 4000
e=5 x5= 0, 1000, 2000, 3000, 4000, 5000
e=6 x6= 0, 1000, 2000, 3000, 4000, 5000, 6000
PASAR LOS DATOS A UNA TABLA DE DOS ENTRADAS
6. Etapa 3 proyecto A
Elaborar una TABLA que contenga los estados del sistema e3 y se colocan
como entrada
e3
0 NF NF NF NF NF NF
1000 NF NF NF NF NF
2000 NF NF NF NF
3000 NF NF NF
4000 NF NF
5000 NF
6000
ETAPA n=3: CANTIDAD INVERTIDA EN EL PROYECTO C
7. Los posibles valores de las variables de decisión X3 y se colocan como
otra entrada de la tabla
X3
e3 0 1000 2000 3000 4000 5000 6000
0 NF NF NF NF NF NF
1000 NF NF NF NF NF
2000 NF NF NF NF
3000 NF NF NF
4000 NF NF
5000 NF
6000
ETAPA n=3: CANTIDAD INVERTIDA EN EL PROYECTO C
8. 4) FUNCIÓN DE RECURRENCIA
Si tenemos disponible en cantidad de dinero
y decidimos invertirlo al proyecto Xn,
en-xn cantidad de dinero disponible para la etapa siguiente
quedará.
La función de recurrencia será:
fn(en, xn) = rn(xn) + f*n+1(en - xn)
fn Representa el rendimiento obtenido por la inversión de dinero
al un proyecto desde la etapa n hasta la última etapa.
La función óptima será el máximo para cada estado
9. Etapa 3 proyecto A
f3(e3) = r3(x3) + f4*(e3 –x3)=
r3(x3) Retorno actual en miles de euros para el proyecto C
PROYECTO
Cantidad
A
invertida €
0 0
1) Registrar r3(x3) en la
1,000€ 9
tabla de dos entradas
2,000€ 16
3,000€ 23
por columna
4,000€ 30
5,000€ 37
6,000€ 44
Cada uno de los valores representa el ingreso
sobre la cantidad invertida.
25. Etapa 3 proyecto A
Ya hemos asignamos todos los proyectos que estén disponibles en este
momento de tal manera que f3(e3, x3) = r3(x3)
X3 f3(e3) = r3(x3) + f4*(e3 –x3)= Óptima
e3 0 1000 2000 3000 4000 5000 6000 f3*(e3) x3*
(0+ 0)
0 NF NF NF NF NF NF 0 0
0
(9 + 0)
1000 NF NF NF NF NF 9 1000
9
(16+ 0)
2000 NF NF NF NF 16 2000
16
(23 + 0)
3000 NF NF NF 23 3000
23
(30 +0)
4000 NF NF 30 4000
30
(37 +0 )
5000 NF 37 5000
37
(44 +0 )
6000 44 6000
44
26. Etapa 3 proyecto A
Ya hemos asignamos todos los proyectos que estén disponibles en este
momento de tal manera que f3(e3, x3) = r3(x3)
X3 Óptima
f3(e3) = r3(x3) + 0
e3 f3*(e3) x3*
0 (0+0)= 0 0 0
1000 (9 + 0)= 9 9 1000
2000 (16+ 0)= 16 16 2000
3000 (23 + 0)= 23 23 3000
4000 (30 + 0)=30 30 4000
5000 (37 + 0)=37 37 5000
6000 (44 + 0)=44 44 6000
27. En la etapa 3, El proyecto A, es el último proyecto en el que será
invertido el dinero.
Podemos entrar a esta etapa con una cantidad de dinero desde 0€
a 6000€. Esto se observa por los siete renglones representando los
siete posibles estados de entrada.
En teoría, podemos invertir cualquier cantidad de dinero menor o
igual que la cantidad que tenemos disponible en esta etapa.
En realidad, se desea invertir todo el dinero disponible en esta
etapa, porque ésta es nuestra última oportunidad de inversión.
Puesto que NO es posible invertir más dinero que el disponible,
habrá un número de celdas no factibles en la matriz que se marcan
con NF.(NO FACTIBLE)
28. Etapa 2 proyecto B
f2(e2) = r2(x2) + f3*(e2 –x2)=
r2(x2) Retorno actual en miles de euros para el proyecto B
PROYECTO
Cantidad
B
invertida €
0 0
1) Registrar r2(x2) en la
1,000€ 10
tabla de dos entradas
2,000€ 13 por columna
3,000€ 16
4,000€ 19
5,000€ 22
6,000€ 25
Cada uno de los valores representa el
ingreso sobre la cantidad invertida.
51. Etapa 2 proyecto B
3) EVALUAR POR CADA ESTADO (FILA) LA CANTIDAD MAXIMA
La función óptima será el máximo para cada estado
X2 Óptima
e2 f2* (e2) x2*
0 0* 0
1000 9* 1000
2000 19* 1000
3000 26* 1000
4000 33* 1000
5000 40* 1000
6000 47* 1000
52. Etapa 1 proyecto C
f1(e1) = r1(x1) + f2*(e1 –x1)=
r1(x1) Retorno actual en miles de euros para el proyecto B
PROYECTO
Cantidad
C
invertida €
0 0
1,000€ 9 1) Registrar r1(x1) en la
2,000€ 13
tabla de dos entradas
por columna
3,000€ 17
4,000€ 21
5,000€ 25
6,000€ 29
Cada uno de los valores representa el ingreso
sobre la cantidad invertida.