Está en la página 1de 40

PROGRAMACIN DINMICA

DETERMINISTA
La Programacin Dinmica es una tcnica empleada

ROMPECABEZA
EL GRAN para resolver un sinnmero de problemas de optimizacin.
Consistente en fragmentar un problema mayor en pequeos
fragmentos llamados etapas. Lo tedioso de este modelo est
en aquellos problemas que requieren de un nmero de etapas
excesivamente alto.

La programacin dinmica determinista se caracteriza porque los datos son valores


determinados o conocidos. Teniendo que recurrir a la utilizacin sistemtica de combinaciones
factibles para un problema dado, hasta encontrar la solucin ptima que logre satisfacer las
condiciones dadas.
Este algoritmo tuvo sus inicios en Richard Bellman, quien realiz una serie de estudios
relacionados con misiles dirigidos.

1. MODELOS DE PROGRAMACIN DINMICA CON VALORES DISCRETOS

Para la solucin de los problemas emplearemos el mtodo de recursin hacia delante y


acumulacin hacia atrs. Para comprenderlo veamos algunos ejemplos.

Ejemplo N 1:

Dada la siguiente funcin objetivo sujeta a la restriccin mostrada, encontrar la solucin


ptima.

MaxZ = 3X1 + 2X 2 + 4X 3

2X1 + X 2 + 3X 3 6
Xi 0 entero
Se subdivide en etapas, donde cada etapa deber ser optimizada. Veamos el diagrama de
las etapas que resultaran:

d1 = Valor de X1 d2 = Valor de X2 d3 = Valor de X3

S1 = 6 S2 = S1 2 X1 S3 = S2 X2

1 2 3

r1 = 3 X1 r2 = 2 X2 r3 = 4 X3

f1 = r1 + f2* f2 = r2 + f3* f3 = r3*

Definiremos algunos trminos antes de entrar en el algoritmo solucin:

di : decisin a tomar en cada etapa


ri : rendimiento en cada etapa mide la decisin
fi : rendimiento acumulado
Si : variable de estado (cantidad de recurso disponible al inicio de la etapa.

Para cada etapa, en este problema, no se puede exceder del recurso disponible. Por lo
tanto las variables de decisin estn sujetas a los siguientes intervalos de valores:

0 X1 S1 / 2 ; es decir que X1 = {0, 1, 2, 3}


0 X2 S2 ; es decir que X2 = {0, 1, 2, 3, 4, 5,6}
0 X3 S3 / 3 ; es decir que X3 = {0, 1, 2}
Esta misma suposicin se puede aplicar para encontrar las combinaciones de valores que
puede tomar cada variable de estado:

S1 = {6}
S2 = {0, 2, 4, 6}
S3 = {0, 1, 2, 3,4, 5, 6}

Se inicia el algoritmo de programacin mediante tabla, partiendo desde la ltima etapa y


acumulado los resultados hasta llegar a la primera.

ETAPA N 3
d3 = X3
S3 0 1 2 X3* f3*
0 0 --- --- 0 0 Para la etapa mostrada, se debe
cumplir los siguientes criterios:
1 0 --- --- 0 0
0 --- --- 0 0 i) f3 = max {4 X3}
2
ii) X3 S3 / 3
3 0 4 --- 1 4 iii) S3 = S2 X2
4 0 4 --- 1 4
5 0 4 --- 1 4
6 0 4 8 2 8

ETAPA N 2
Para la etapa mostrada,
d2 = X2 se debe cumplir los
S2 0 1 2 3 4 5 6 X2* f2* siguientes criterios:

0 0+0 --- --- --- --- --- --- 0 0 i) f2 = max {2 X2 + f3*}


2 0+0 2+0 4+0 --- --- --- --- 2 4 ii) X2 S2
iii) S2 = S1 2X1
4 0+4 2+4 4+0 6+0 8+0 --- --- 4 8
6 0 + 8 2 + 4 4 + 4 6 + 4 8 + 0 10 + 0 12 + 0 6 12
ETAPA N 1 Para la etapa mostrada, se debe
cumplir los siguientes criterios:
d1 = X1
S1 0 1 2 3 X1* f1* i) f1 = max {3 X1 + f2*}
ii) X1 S1 / 2
6 0 + 12 3 + 8 6 + 4 9 + 0 0 12 iii) S1 = 6

Para el problema en cuestin la solucin ptima est dada por:

Z = 12
X1 = 0 SOLUCIN PTIMA
X2 = 6
X3 = 0

Ejemplo N 2 (Problema Propuesto N 4 / Seccin 10.4a / Extrado del Libro Investigacin de


Operaciones Una Introduccin , Sexta Edicin, Editorial Prentice Hall)

Un estudiante debe seleccionar 10 cursos electivos de 4 diferentes departamentos y por lo menos


un curso de cada departamento. Los 10 cursos se han asignado a los 4 departamentos en una
forma que maximice los conocimientos. El estudiante mide los conocimientos en una escala de
100 puntos y traza la siguiente grfica:

NMERO DE CURSOS
DEPARTAMENTO 1 2 3 4 5 6 7
I 25 50 60 80 100 100 100
II 20 70 90 100 100 100 100
III 40 60 80 100 100 100 100
IV 10 20 30 40 50 60 70

Cmo debe seleccionar los cursos el estudiante?


Partiremos por definir el problema grficamente:

d1 = Valor de X1 d2 = Valor de X2 d3 = Valor de X3 d4 = Valor de X4

S1 = 10 S2 = S1 X1 S3 = S2 X2 S4 = S3 X3

1 2 3 4

r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4*

Para cada etapa, en este problema, se deber tener en cuenta que hay que asignar por lo
menos un curso a cada departamento. Por lo tanto las variables de decisin estn sujetas a los
siguientes intervalos de valores:

1 X1 S1 3 ; es decir que X1 = {1, 2, 3, 4, 5, 6, 7}


1 X2 S2 2 ; es decir que X2 = {1, 2, 3, 4, 5, 6, 7}
1 X3 S3 1 ; es decir que X3 = {1, 2, 3, 4, 5, 6, 7}
1 X4 S4 ; es decir que X4 = {1, 2, 3, 4, 5, 6, 7}

Esta misma suposicin se puede aplicar para encontrar las combinaciones de valores que
puede tomar cada variable de estado:

S1 = {10}
S2 = {3, 4, 5, 6, 7, 8, 9}
S3 = {2, 3, 4, 5, 6, 7, 8}
S4 = {1, 2, 3, 4, 5, 6, 7}
Se inicia el algoritmo de programacin mediante tabla, partiendo desde la ltima etapa y
acumulado los resultados hasta llegar a la primera.

ETAPA N 4
d4 = X4
S4 1 2 3 4 5 6 7 X4* f4*
1 10 --- --- --- --- --- 1 10
2 10 20 --- --- --- --- --- 2 20
3 10 20 30 --- --- --- --- 3 30
4 10 20 30 40 --- --- --- 4 40
5 10 20 30 40 50 --- --- 5 50
6 10 20 30 40 50 60 --- 6 60
7 10 20 30 40 50 60 70 7 70

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f4 = max { r4*}
ii) X4 S4
iii) S4 = S3 X3

ETAPA N 3
d3 = X3
S3 1 2 3 4 5 6 7 X3* f3*
2 40 + 10 --- --- --- --- --- --- 1 50
3 40 + 20 60 + 10 --- --- --- --- --- 2 70
4 40 + 30 60 + 20 80 + 10 --- --- --- --- 3 90
5 40 + 40 60 + 30 80 + 20 100 + 10 --- --- --- 4 110
6 40 + 50 60 + 40 80 + 30 100 + 20 100 + 10 --- --- 4 120
7 40 + 60 60 + 50 80 + 40 100 + 30 100 + 20 100 + 10 --- 4 130
8 40 + 70 60 + 60 80 + 50 100 + 40 100 + 30 100 + 20 100 + 10 4 140
Para la etapa mostrada, se debe
cumplir los siguientes criterios:

i) f3 = max {r3 + f4*}


ii) X3 S3 1
iii) S3 = S2 X2

ETAPA N 2
d2 = X2
S2 1 2 3 4 5 6 7 X2* f2*
3 20 + 50 --- --- --- --- --- --- 1 70
4 20 + 70 70 + 50 --- --- --- --- --- 2 120
5 20 + 90 70 + 70 90 + 50 --- --- --- --- 2,3 140
6 20 + 110 70 + 90 90 + 70 100 + 50 --- --- --- 2,3 160
7 20 + 120 70 + 110 90 + 90 100 + 70 100 + 50 --- --- 2,3 180
8 20 + 130 70 + 120 90 + 110 100 + 90 100 + 70 100 + 50 --- 3 200
9 20 + 140 70 + 130 90 + 120 100 + 110 100 + 90 100 + 70 100 + 50 3,4 210

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f2 = max {r2 + f3*}


ii) X2 S2 2
iii) S2 = S1 X1
ETAPA N 1
d1 = X1
S1 1 2 3 4 5 6 7 X1* f1*
3 25 + 210 50 + 200 60 + 180 80 + 160 100 + 140 100 + 120 100 + 70 2 250

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f1 = max { r1 + f2*}
ii) X1 S1 3
iii) S1 = 10

Para el problema en cuestin la solucin ptima est dada por:

Z = 250
X1 = 2
SOLUCIN PTIMA
X2 = 3
X3 = 4
X4 = 1

Ejemplo N 3 (Problema Propuesto N 7 / Seccin 10.4a / Extrado del Libro Investigacin de


Operaciones Una Introduccin , Sexta Edicin, Editorial Prentice Hall)

El alguacil Bassam se ha postulado para su reeleccin en el condado de Washington. Los fondos


disponibles para la campaa son de alrededor de 10 000 dlares. An cuando al comit de
reeleccin le gustara iniciar la campaa en los cinco distritos del condado, los fondos limitados
dictan lo contrario. La siguiente tabla enumera la poblacin votante y la cantidad de fondos
necesaria para iniciar una campaa efectiva en cada distrito. La eleccin para cada distrito es qe
reciban todos los fondos asignados , o ninguno. Cmo se deben asignar los fondos?
Fondos
Distrito Poblacin
Requeridos ($)

1 3 100 3 500
2 2 600 2 500
3 3 500 4 000
4 2 800 3 000
5 2 400 2 000

Para este problema veremos un caso particular, las variables de decisin sern del tipo binaria.
Es decir, para el caso de no asignar fondos tomar el valor de 0, de lo contrario ser 1.

d1 = X1 d2 = X2 d3 = X3 d4 = X4 d5 = X5

S2 = S3 = S4 = S5 =
S1 S1 3 500 X1 S2 2 500 X2 S3 4 000 X3 S4 3 000 X4
= 10 000

1 2 3 4 5

r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) r5 = f(X5)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5*

Para cada etapa, en este problema, se deber tener en cuenta que la variable de decisin
slo podr tomar dos valores {0, 1}. Por lo tanto las variables de decisin estn sujetas a los
siguientes intervalos de valores:
0 X1 S1 / 3 500
0 X2 S2 / 2 500
0 X3 S3 / 4 000
0 X4 S4 / 3 000
0 X5 S5 / 2 000

Las combinaciones de valores que puede tomar cada variable de estado sern:

S1 = {10 000}
S2 = {6 500, 10 000}
S3 = {4 000, 6 500, 7 500, 10 000}
S4 = {0, 2 500, 3 500, 4 000, 6 000, 6 500, 7 500, 10 000}
S5 = {0, 500, 1 000, 2 500, 3 000, 3 500, 4 000, 4 500, 6 000, 6 500, 7 000, 7 500, 10 000}

ETAPA N 5
d5 = X5
S5 0 1 X5* f5*
0 0 --- 0 0
500 0 --- 0 0
1 000 0 --- 0 0
2 500 0 2 400 1 2 400
3 000 0 2 400 1 2 400
3 500 0 2 400 1 2 400
4 000 0 2 400 1 2 400
4 500 0 2 400 1 2 400
6 000 0 2 400 1 2 400
6 500 0 2 400 1 2 400
7 000 0 2 400 1 2 400
7 500 0 2 400 1 2 400
10 000 0 2 400 1 2 400
Para la etapa mostrada, se debe
cumplir los siguientes criterios:

i) f5 = max { r5*}
ii) X5 S5 / 2 000
iii) S5 = S4 3 000 X4

ETAPA N 4
d4 = X4
S4 0 1 X4* f4*
0 0+0 --- 0 0
2 500 0 + 2 400 --- 0 2 400
3 500 0 + 2 400 2 800 + 0 1 2 800
4 000 0 + 2 400 2 800 + 0 1 2 800
6 000 0 + 2 400 2 800 + 2 400 1 5 200
6 500 0 + 2 400 2 800 + 2 400 1 5 200
7 500 0 + 2 400 2 800 + 2 400 1 5 200
10 000 0 + 2 400 2 800 + 2 400 1 5 200

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f4 = max {r4 + f5*}


ii) X4 S4 / 3 000
iii) S4 = S3 4 000 X3

ETAPA N 3
d3 = X3
S3 0 1 X3* f3*
4 000 0 + 2 800 3 500 + 0 1 3 500
6 500 0 + 5 200 3 500 + 2 400 1 5 900
7 500 0 + 5 200 3 500 + 2 800 1 6 300
10 000 0 + 5 200 3 500 + 5 200 1 8 700
Para la etapa mostrada, se debe
cumplir los siguientes criterios:

i) f3 = max {r3 + f4*}


ii) X3 S3 / 4 000
iii) S3 = S2 2 500 X2

ETAPA N 2
d2 = X2
S2 0 1 X2* f2*
6 500 0 + 5 900 2 600 + 3 500 1 6 100
10 000 0 + 8 700 2 600 + 6 300 1 8 900

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f2 = max {r2 + f3*}


ii) X2 S2 / 2 500
iii) S2 = S1 3 500 X1

ETAPA N 1
d1 = X1
S1 0 1 X1* f1*
10 000 0 + 8 900 3 100 + 6 100 1 9 200

Para la etapa mostrada, se debe


cumplir los siguientes criterios:

i) f1 = max {r1 + f2*}


ii) X1 S1 / 3 500
iii) S1 = 10 000
Para el problema en cuestin la solucin ptima est dada por:

Z = 9 200
X1 = 1
X2 = 1 SOLUCIN PTIMA

X3 = 1
X4 = 0
X5 = 0

Ejemplo N 4

Un vendedor tiene que decidir cuntas unidades de 3 artculos llevar en su recorrido por varios
ciudades del interior a fin de maximizar ventas. Slo se vende hasta una unidad de cada artculo
en cada lugar. Una regla de venta es que en cada lugar se venda al menos un artculo. En la
tabla se muestran los artculos, los lugares donde se venden, los precios para cada lugar, el
espacio por unidad que ocupan y la capacidad del vehculo del vendedor.

LUGAR ESPACIO POR


ARTCULO AGUADULCE CHITR DAVID UNIDAD (p3)
1 100 120 140 1
2 200 180 230 2
3 300 350 260 3
CAPACIDAD DEL VEHCULO: 10 p3

SUGERENCIA: Considere los lugares como etapas y las 7 posibles combinaciones de artculos
a llevar en cada lugar como variables de decisin de cada etapa.
d1 = Valor de X1I d2 = Valor de X2I d3 = Valor de X3I

S1 = 10 S2 = S1 X1I S3 = S2 X2I

1 2 3

r1 = f(X1) r2 = f(X2) r3 = f(X3)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3*

En este problema nos encontramos nuevamente que se trata tipo binario, llevar o no llevar.

COMBINACIONES
ARTCULO
FORMA 1 2 3 e (p3)
A 1 0 0 1
B 0 1 0 2
C 0 0 1 3
D 1 1 0 3
E 1 0 1 4
F 0 1 1 5
G 1 1 1 6

Los posibles valores de combinaciones para los estado sern:

S1 = {10}
S2 = {4, 5, 6, 7, 8, 9}
S3 = {1, 2, 3, 4, 5, 6, 7, 8}
ETAPA N 3 (DAVID)
d3 = X3 I ; X3 I S3 ; S3 = S2 X2 I ; f3 = max { r3*}
S3 A (1) B (2) C (3) D (3) E (4) F (5) G (6) X3 I* f3*
1 140 --- --- --- --- --- --- A 140
2 140 230 --- --- --- --- --- B 230
3 140 230 260 370 --- --- --- D 370
4 140 230 260 370 400 --- --- E 400
5 140 230 260 370 400 490 --- F 490
6 140 230 260 370 400 490 630 G 630
7 140 230 260 370 400 490 630 G 630
8 140 230 260 370 400 490 630 G 630

ETAPA N 2 (CHITR)
d2 = X2 I ; X2 I S2 1 ; S2 = S1 X1 I ; f2 = max { r2 + f3*}
S2 A (1) B (2) C (3) D (3) E (4) F (5) G (6) X2 I* f2*
4 120 + 370 180 + 230 350 + 140 300 + 140 --- --- --- A, C 490
5 120 + 400 180 + 370 350 + 230 300 + 230 470 + 140 --- --- E 610
6 120 + 490 180 + 400 350 + 370 300 + 370 470 + 230 530 + 140 --- C 720
7 120 + 630 180 + 490 350 + 400 300 + 400 470 + 370 530 + 230 650 + 140 E 840
8 120 + 630 180 + 630 350 + 490 300 + 490 470 + 400 530 + 370 650 + 230 F 900
9 120 + 630 180 + 630 350 + 630 300 + 630 470 + 490 530 + 400 650 + 370 G 1 020

ETAPA N 1 (AGUADULCE)
d1 = X1 I ; X1 I S1 2 ; S1 = 10 ; f 1 = max { r 1 + f 2*}
S1 A (1) B (2) C (3) D (3) E (4) F (5) G (6) X1 I* f1*
10 100 + 1 020 200 + 900 300 + 840 300 + 840 400 + 720 500 + 610 600 + 490 C, D 1 140
La solucin ptima para este problema es:

OPCIN N 1: OPCIN N 2:
ARTICULOS ARTICULOS
LUGAR A LLEVAR LUGAR A LLEVAR
AGUADULCE 3 AGUADULCE 1, 2
CHITR 1, 3 CHITR 1, 3
DAVID 1, 2 DAVID 1, 2
ZMX = $ 1 140. 00 ZMX = $ 1 140. 00

Ejemplo N 5

Dada la siguiente funcin objetivo sujeta a la restriccin mostrada, encontrar la solucin


ptima.

MaxZ = (Y1 + 2 ) + Y 2 Y 3 + (Y 4 5 )
2 2

Y1 + Y 2 + Y 3 + Y 4 5
Yi 0 entero

d1 = Valor de Y1 d4 = Valor de Y4 d2 = Valor de Y2 d3 = Valor de Y3

S1 = 5 S4 = S1 Y1 S2 = S4 Y4 S3 = S2 Y2

1 4 2 3

r1 = (Y1 + 2)2 r4 = (Y4 5)2 r2 = Y2 r3 = Y3

f1 = r1 + f4* f4 = r4 + f2* f2 = r2 f3* f3 = r3*


Los posibles valores de combinaciones para los estado sern:

S1 = {5}
S2 = {0, 1, 2, 3, 4, 5}
S3 = {0, 1, 2, 3, 4, 5}
S4 = {0, 1, 2, 3, 4, 5}

ETAPA N 3
d3 = Y3 ; Y3 S3 ; S3 = S2 Y2; f 3 = max { r3* }
S3 0 1 2 3 4 5 Y3* f3*
0 0 --- --- --- --- --- 0 0
1 0 1 --- --- --- --- 1 1
2 0 1 2 --- --- --- 2 2
3 0 1 2 3 --- --- 3 3
4 0 1 2 3 4 --- 4 4
5 0 1 2 3 4 5 5 5

ETAPA N 2
d2 = Y2 ; Y2 S2 ; S2 = S4 Y4; f 2 = max { r2 f3* }
S2 0 1 2 3 4 5 Y2* f2*
0 (0) (0) --- --- --- --- --- 0 0
1 (0) (1) (1) (0) --- --- --- --- 0, 1 0
2 (0) (2) (1) (1) (2) (0) --- --- --- 1 1
3 (0) (3) (1) (2) (2) (1) (3) (0) --- --- 1, 2 2
4 (0) (4) (1) (3) (2) (2) (3) (1) (4) (0) --- 2 4
5 (0) (5) (1) (4) (2) (3) (3) (2) (4) (1) (5) (0) 2, 3 6
ETAPA N 4
d4 = Y4 ; Y4 S4 ; S4 = S1 Y1 ; f 4 = max { r4 + f2*}
S4 0 1 2 3 4 5 Y4* f4*
0 25 + 0 --- --- --- --- --- 0 25
1 25 + 0 16 + 0 --- --- --- --- 0 25
2 25 + 1 16 + 0 9+0 --- --- --- 0 26
3 25 + 2 16 + 1 9+0 4+0 --- --- 0 27
4 25 + 4 16 + 2 9+1 4+0 1+0 --- 0 29
5 25 + 6 16 + 4 9+2 4+1 1+0 0+0 0 31

ETAPA N 1
d1 = Y1 ; Y1 S1 ; S1 = 10 ; f 1 = max { r1 + f4*}
S1 0 1 2 3 4 5 Y1* f1*
5 4 + 31 9 + 29 16 + 27 25 + 25 36 + 25 49 + 25 5 74

Para el problema en cuestin la solucin ptima est dada por:

Z = 74
Y1 = 5
SOLUCIN PTIMA
Y2 = 0
Y3 = 0
Y4 = 0
Ejemplo N 6

ABC Tech, una escuela privada de ingeniera, acaba de recibir una donacin de un antiguo
alumno por un monto de $ 100 000. El vicepresidente financiero del ABC Tech planea invertir
el dinero para financiar un conjunto de becas. Puede invertir de tres formas con diferentes
rendimientos. Los tres esquemas de inversin y sus rendimientos despus de tres aos
(incluyendo el capital) se muestra en la tabla para diferentes niveles de inversin. Sugirale al
vicepresidente una cartera de inversiones que produzca el mayor rendimiento para becas y
reinversin utilizando la programacin dinmica.

Rendimientos sobre la Inversin


Inversin
(en miles Plan X Plan Y Plan Z
0 0 0 0
25 50 60 40
50 110 90 100
100 150 130 175

d1 = Valor de X1 d2 = Valor de X2 d3 = Valor de X3

S1 = 100 S2 = S1 X1 S3 = S2 X2

1 2 3

r1 = f(X1) r2 = f(X2) r3 = f(X3)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3*


Los posibles valores de combinaciones para los estado sern:

S1 = {100}
S2 = {0, 50, 75, 100}
S3 = {0, 25, 50, 75, 100}

ETAPA N 3
d3 = X3 ; X3 S3 ; S3 = S2 X2 ; f3 = max { r3*}
S1 0 25 50 100 X1* f1*
0 0 --- --- --- 0 0
25 0 40 --- --- 25 40
50 0 40 100 --- 50 100
75 0 40 100 --- 50 100
100 0 40 100 175 100 175

ETAPA N 2
d2 = X2 ; X2 S2 ; S2 = S1 X1 ; f2 = max { r2 + f3*}
S2 0 25 50 100 X2* f2*
0 0+0 --- --- --- 0 0
50 0 + 100 60 + 40 90 + 0 --- 0, 25 100
75 0 + 100 60 + 100 90 + 40 --- 25 160
100 0 + 175 60 + 100 90 + 100 130 + 0 50 190

ETAPA N 1
d1 = X1 ; X1 S1 ; S1 = 100 ; f1 = max { r1 + f2*}
S1 0 25 50 100 X1* f1*
100 0 + 190 50 + 160 110 + 100 150 + 0 25 , 50 210
Para el problema en cuestin la solucin ptima est dada por:

SOLUCIN 1 SOLUCIN 2 SOLUCIN 3


Z = 210 Z = 210 Z = 210
X1 = 25 X1 = 50 X1 = 50
X2 = 25 X2 = 25 X2 = 0
X3 = 50 X3 = 25 X3 = 50

Ejemplo N 7:

La Dra. Kathy Mireya may, Que recin obtuvo su doctorado en psicologa, acaba de aceptar un
empleo en Hays State University y debe mudarse pronto a ese lugar. Para hacerlo, utilizar su
nico automvil, dado que su esposo Ernesto P., llevar despus el resto de sus artculos
domsticos. Kathy ha determinado que tiene 9 pies cbicos disponible para transportar artculos
necesarios a Hays. En la tabla se muestra que est pensando llevar, junto con su volumen en pies
cbicos y su prioridad en una escala de 1 a 10, de acuerdo con la opinin de Kathy.

ARTCULO VOLUMEN PRIORIDAD


Ropa 2 8
TV 6 3
Horno Microonda 6 5
Libros 3 9
Artculos Personales 1 9

Determine que artculos debe transportar Kathy para maximizar sus prioridades, utilizando la
programacin dinmica.
d1 = X1 d2 = X2 d3 = X3 d4 = X4 d5 = X5

S1 = 9 S2 = S1 2 X1 S3 = S2 6 X2 S4 = S3 6 X3 S5 = S4 3 X4

1 2 3 4 5

r1 = 8 X1 r2 = 3 X2 r3 = 5 X3 r4 = 9 X4 r5 = 9 X5

f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5*

Las combinaciones de valores que puede tomar cada variable de estado sern:

S1 = {9}
S2 = {7, 9}
S3 = {1, 3, 7, 9}
S4 = {1, 3, 7, 9}
S5 = {0, 1, 3, 4, 6, 7, 9}

ETAPA N 5
d5 = X5 ; X5 S5 ; S5 = S4 3 X4 ; f5 = max { r5*}
S5 0 1 X5* f5*
0 0 --- 0 0
1 0 9 1 9
3 0 9 1 9
4 0 9 1 9
6 0 9 1 9
7 0 9 1 9
9 0 9 1 9
ETAPA N 4
d4 = X4 ; X4 S4 / 3; S4 = S3 6 X3 ; f4 = max { r4 + f5*}
S4 0 1 X4* f4*
1 0+9 --- 0 9
3 0+9 9+0 0, 1 9
7 0+9 9+9 1 18
9 0+9 9+9 1 18

ETAPA N 3
d3 = X3 ; X3 S3 / 6; S3 = S2 6 X2 ; f3 = max { r3 + f4*}
S3 0 1 X3* f3*
1 0+9 --- 0 9
3 0+9 --- 0 9
7 0 + 18 5+9 0 18
9 0 + 18 5+9 0 18

ETAPA N 2
d2 = X2 ; X2 S2 / 6; S2 = S1 2 X1 ; f2 = max { r2 + f3*}
S2 0 1 X2* f2*
7 0 + 18 3+9 0 18
9 0 + 18 3+9 0 18

ETAPA N 1
d1 = X1 ; X1 S1 / 9; S1 = 9 ; f1 = max { r1 + f2*}
S1 0 1 X1* f1*
9 0 + 18 8 + 18 1 26
Para el problema en cuestin la solucin ptima est dada por:

Z = 26
X1 = 1
X2 = 0 SOLUCIN PTIMA

X3 = 0
X4 = 1
X5 = 1

Ejemplo N 8:

La campaa poltica para la rectora de la Universidad ABC se encuentra es su ltima etapa y las
preliminares indican que la eleccin est pareja. Uno de los candidatos tiene suficientes fondos
para comprar tiempo en TV por un total de 5 comerciales en las horas de mayor audiencia en
estaciones localizadas en cuatro centros regionales diferentes. Con base a la informacin
preliminar se hizo una estimacin del nmero de votos adicionales que se pueden ganar en los
diferentes centros segn el nmero de comerciales que se contraten. Estas estimaciones se dan
en la tabla en miles de votos:

Centro Regional
Comerciales Chiriqu Azuero Cocl Veraguas
0 0 0 0 0
1 4 5 3 6
2 7 9 7 8
3 9 11 12 10
4 12 10 14 11
5 15 9 16 12

Determinar cmo deben distribuirse los comerciales entre los centros regionales, utilizando la
herramienta de programacin dinmica.
d1 = Valor de X1 d2 = Valor de X2 d3 = Valor de X3 d4 = Valor de X4

S1 = 5 S2 = S1 X1 S3 = S2 X2 S4 = S3 X3

1 2 3 4

r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4*

Las combinaciones de valores que puede tomar cada variable de estado sern:

S1 = {5}
S2 = {0, 1, 2, 3, 4, 5}
S3 = {0, 1, 2, 3, 4, 5}
S4 = {0, 1, 2, 3, 4, 5}

ETAPA N 4
d4 = X4 ; X4 S4 ; S4 = S3 X3 ; f 4 = max { r4*}
S4 0 1 2 3 4 5 X4* f4*
0 0 --- --- --- --- --- 0 0
1 0 6 --- --- --- --- 1 6
2 0 6 8 --- --- --- 2 8
3 0 6 8 10 --- --- 3 10
4 0 6 8 10 11 --- 4 11
5 0 6 8 10 11 12 5 12
ETAPA N 3
d3 = X3 ; X3 S3 ; S3 = S2 X2 ; f 3 = max { r3 + f4*}
S3 0 1 2 3 4 5 X3* f3*
0 0+0 --- --- --- --- --- 0 0
1 0+6 3+0 --- --- --- --- 0 6
2 0+8 3+6 7+0 --- --- --- 1 9
3 0 + 10 3+8 7+6 12 + 0 --- --- 2 13
4 0 + 11 3 + 10 7+8 12 + 6 14 + 0 --- 3 18
5 0 + 12 3 + 11 7 + 10 12 + 8 14 + 6 16 + 0 3, 4 20

ETAPA N 2
d2 = X2 ; X2 S2 ; S2 = S1 X1 ; f 2 = max { r2 + f3*}
S2 0 1 2 3 4 5 X2* f2*
0 0+0 --- --- --- --- --- 0 0
1 0+6 5+0 --- --- --- --- 0 6
2 0+9 5+6 9+0 --- --- --- 1 11
3 0 + 13 5+9 9+6 11 + 0 --- --- 2 15
4 0 + 18 5 + 13 9+9 11 + 6 10 + 0 --- 0, 1, 2 18
5 0 + 20 5 + 18 9 + 13 11 + 9 10 + 6 9+0 1 23

ETAPA N 1
d1 = X1 ; X1 S1 ; S1 = 5 ; f 1 = max { r1 + f2*}
S1 0 1 2 3 4 5 X1* f1*
5 0 + 23 4 + 18 7 + 15 9 + 11 12 + 6 15 + 0 0 23
Para el problema en cuestin la solucin ptima est dada por:

Z = 23
X1 = 0
SOLUCIN PTIMA
X2 = 1
X3 = 3
X4 = 1

Ejemplo N 9:

Una empresa tiene $ 10,000.00 para invertir en cualquiera de 4 riesgos de duracin anual. El
dinero no invertido en estos riesgos puede colocarse a inters anual del 10 % anual. Cmo
deben emplearse los fondos?
CANTIDAD PARA VALOR NETO AL FINAL
RIESGO
INVERTIR DEL AO
1 2 000 2 500
2 3 000 3 800
3 6 000 7 500
4 7 000 8 200

d1 = X1 d2 = X2 d3 = X3 d4 = X4 d5 = X5

S2 = S3 = S4 = S5 =
S1 = 10 000 S1 2 000 X1 S2 3 000 X2 S3 6 000 X3 S4 7 000 X4

1 2 3 4 5

r1 = f(X1) r2 = f(X2) r3 = f(X3) r4 = f(X4) r5 = f(X5)

f1 = r1 + f2* f2 = r2 + f3* f3 = r3 + f4* f4 = r4 + f5* f5 = r5*


Las combinaciones de valores que puede tomar cada variable de estado sern:

S1 = {10 000}
S2 = {8 000, 10 000}
S3 = {5 000, 7 000, 8 000, 10 000}
S4 = {1 000, 2 000, 4 000, 5 000, 7 000, 8 000, 10 000}
S5 = {0, 1 000, 2 000, 3 000, 4 000, 5 000, 7 000, 8 000, 10 000}

ETAPA N 5
d5 = X5 ; X5 = S5 ; S5 = S4 7 000 X4 ; f5 = max { r5*}
S5 0 1 000 2 000 3 000 4 000 5 000 7 000 8 000 10 000 X5* f5*
0 0 0 0
1 000 1 100 1 000 1 100
2 000 2 200 2 000 2 200
3 000 3 300 3 000 3 300
4 000 4 400 4 000 4 400
5 000 5 500 5 000 5 500
7 000 7 700 7 000 7 700
8 000 8 800 8 000 8 800
10 000 11 000 10 000 11 000
ETAPA N 4
d4 = X4 ; X4 S4 / 7 000; S4 = S3 6 000 X3 ; f4 = max { r4 + f5*}
S4 0 1 X4* f4*
1 000 0 + 1 100 --- 0 1 100
2 000 0 + 2 200 --- 0 2 200
4 000 0 + 4 400 --- 0 4 400
5 000 0 + 5 500 --- 0 5 500
7 000 0 + 7 700 8 200 + 0 1 8 200
8 000 0 + 8 800 8 200 + 1 100 1 9 300
10 000 0 + 11 000 8 200 + 3 300 1 11 500

ETAPA N 3
d3 = X3 ; X3 S3 / 6 000; S3 = S2 3 000 X2 ; f3 = max { r3 + f4*}
S3 0 1 X3* f3*
5 000 0 + 5 500 --- 0 5 500
7 000 0 + 8 200 7 500 + 1 100 1 8 600
8 000 0 + 9 300 7 500 + 2 200 1 9 700
10 000 0 + 11 500 7 500 + 4 400 1 11 900

ETAPA N 2
d2 = X2 ; X2 S2 / 3 000; S2 = S1 2 000 X1 ; f2 = max { r2 + f3*}
S2 0 1 X2* f2*
8 000 0 + 9 700 3 800 + 5 500 0 9 700
10 000 0 + 11 900 3 800 + 8 600 1 12 400

ETAPA N 1
d1 = X1 ; X1 S1 / 2 000; S1 = 10 000 ; f1 = max { r1 + f2*}
S1 0 1 X1* f1*
10 000 0 + 12 400 2 500 + 9 700 0 12 400
Para el problema en cuestin la solucin ptima est dada por:

Z = 12 400
X1 = 0
X2 = 1 SOLUCIN PTIMA

X3 = 1
X4 = 0
X5 = 1 000

2. MODELOS DE PROGRAMACIN DINMICA CON VALORES CONTINUOS

2.1 PROBLEMAS DE UNA RESTRICCIN


Ilustraremos este modelo a travs de una serie de ejemplos.
Ejemplo N 1:

MaxZ = 7 X 12 + 6 X 2 + 5X 2
3

4X1 + 2X 2 + 3X 3 10
Xi 0

d1 = Valor de X1 d3 = Valor de X3 d2 = Valor de X2

S1 = 10 S3 = S1 4X1 S2 = S3 3X3

1 3 2

r1 = 7 X12 r3 = 5 X32 r2 = 6 X2

f1 = r1 + f3* f3 = r3 + f2* f2 = r2*


Iniciamos desde la ltima etapa definida en el diagrama, para este caso es la etapa 2.
Buscamos los mximos, ya que el criterio es maximizar.
f2 = 6 X2 y 0 2 X2 S2
Por tratarse de la ecuacin de una recta el mximo se dar en el extremo derecho,
sustituyendo este:
f2* = 6 (S2 / 2) = 3 S2 y X2* = S2 / 2
Recordemos que
f3 = r3 + f2* = 5 X32 + f2* y S2 = S3 3X3

f3 = 5 X32 + 3 S2 = 5 X32 + 3 (S3 3X3)

f3 = 5 X32 + 3 S3 9 X3 y 0 3 X3 S3

Si se observa en detalle la funcin f3 corresponde al tipo de las cuadrticas, para encontrar el


valor de X3 que hace que la funcin sea mxima es necesario emplear las tcnicas de derivadas
para criterios de mximos y mnimos.

f 3 9
= 10 X 3 9 = 0 X 3 =
X 3 10
2 f3
= +10 lo que representa un mnimo
X 32

Para ello lo que hacemos es evaluar los extremos de los valores de X3 para encontrar la serie de
combinaciones para los que representa un mximo.
f3 ( X3 = 0 ) = 3 S3 y f3 ( X3 = S3 / 3) = 5 / 9 S32

Como en ambos casos se depende de la variable de estado se igualarn ambas funciones para
definir en que casos especficos una representa un mximo y la otra un mnimo.
3 S3 = 5 / 9 S32 5 S32 - 27 S3 = 0
Para este caso las races son S3 = 0 y S3 = 5.4
VALOR PRUEBA VALOR PRUEBA INTERVALO
FUNCIN
0 S3 5.4 (S3 = 3) S3 5.4 (S3 = 9) ES MXIMO
f3 = 3 S3 9 27 0 S3 5.4
f3 = 5 / 9 S32 5 45 S3 5.4
Si usted observa en detalle S3 = S1 4X1 lo que permite que 0 S3 10
Por esta razn definiremos dos intervalos de anlisis
f3* ( X3* = 0 ) = 3 S3 para S3 5.4
f3* ( X3* = S3 / 3 ) = 5 / 9 S32 para S3 5.4
Pasaremos ahora a la etapa 1
f1 = r1 + f3* = 7 X12 + f3*

3S 3 S 3 5 .4
f 1* = 7 X 12 +
5 9 S 32 S 3 5 .4

Sustituyendo S3 = S1 4X1 = 10 4X1 en las expresiones anteriores se obtiene

3(10 4 X 1 ) X 1 1 . 15
f 1* = 7 X 12 +
5 9 (10 4 X 1 )
2
X 1 1 . 15

Adems el valor mximo que puede tomar X1 es de 2.5


Para esta etapa analizaremos cada caso en particular:
a) f1* = 7 X12 + 3 (10 4 X1) 1.15 X1 2.5
Mnimo en X1 = - b / 2a = -(-12) / (2 (7)) = 6 / 7; como es un mnimo y adems est fuera del
intervalo de la funcin dada se evalan los extremos.
f1* ( X1* = 1.15 ) = 25.4575 y f1* ( X1* = 2.5 ) = 43.75
b) f1* = 7 X12 + 5 / 9 (10 4 X1)2 0 X1 1.15
Mnimo en X1 = - b / 2a = -(-40/9) / (2 (143/9)) = 40 / 143; como representa un mnimo se
calculan los extremos.
f1* ( X1* = 0 ) = 55.56 y f1* ( X1* = 1.15 ) = 25.4575
Solucin final del problema:
ZMAX = 55.56 X1 * = 0 X2* = 0 X3* = 10 / 3
Ejemplo N 2:

MaxZ = 3 X 1 X 12 + 4 X 2 2X 2
2 + 7X 3

X1 + X 2 + X 3 1
Xi 0

d1 = Valor de X1 d2 = Valor de X2 d3 = Valor de X3

S1 = 1 S2 = S1 X1 S3 = S2 X2

1 2 3

r1 = 3 X1 X12 r2 = 4 X2 2 X22 r3 = 7 X3

f1 = r1 + f2* f2 = r2 + f3* f3 = r3*

Iniciamos desde la ltima etapa definida en el diagrama, para este caso es la etapa 3.
Buscamos los mximos, ya que el criterio es maximizar.
f3 = 7 X3 y 0 X3 S3
Por tratarse de la ecuacin de una recta el mximo se dar en el extremo derecho,
sustituyendo este:
f3* = 7 (S3) = 7 S3 y X3* = S3
Recordemos que
f2 = r2 + f3* = 4 X2 2 X22 + f3* y S3 = S2 X2

f2 = 4 X2 2 X22 + 7 S3 = 4 X2 2 X22 + 7 (S2 X2)

f2 = 2 X22 3 X2 + 7 S2 y 0 X2 S2

Si se observa en detalle la funcin f2 corresponde al tipo de las cuadrticas, para encontrar el


valor de X2 que hace que la funcin sea mxima es necesario emplear las tcnicas de derivadas
para criterios de mximos y mnimos.
f 2 3
= 4 X 2 3 = 0 X 2 =
X 2 4
2 f2
= 4 lo que representa un mximo
X 22

An cuando el valor de X2 encontrado representa un mximo, por ser negativo no est dentro del
rango de factibilidad (valores positivos). Para ello lo que hacemos es evaluar los extremos de los
valores de X2 para encontrar la serie de combinaciones para los que representa un mximo.
f2 ( X2 = 0 ) = 7 S2 y f2 ( X2 = S2) = 2 S22 + 4 S2

Como en ambos casos se depende de la variable de estado se igualarn ambas funciones para
definir en que casos especficos una representa un mximo y la otra un mnimo.
7 S2 = 2 S22 + 4 S2 2 S22 + 3 S2 = 0
Para este caso las races son S2 = 0 y S2 = 0.5
Como los valores de estado no pueden romper el principio de no negatividad se analizarn slo
los positivos 0 S2 1
VALOR PRUEBA
FUNCIN MXIMO
0 S2 1 (S2 = 1)
f2 = 7 S2 7 X
f2 ( X2 = S2) = 2 S22 + 4 S2 2

Si usted observa en detalle no es necesario dividir esta funcin en dos intervalos. Lo que
significa que la mejor combinacin para esta etapa es:
f2* ( X2* = 0 ) = 7 S2 para 0 S2 1
Pasaremos ahora a la etapa 1
f1 = r1 + f2* = 3 X1 X12 + f2*
f1 = 3 X1 X12 + 7 S2 = 3 X1 X12 + 7 (S1 X1)
f1 = X12 4 X1 + 7 S1 y 0 X1 S1 = 1

f 1
= 2 X 1 4 = 0 X 1 = 2
X 1
2 f1
= 2 lo que representa un mximo
X 1 2

An cuando el valor de X1 encontrado representa un mximo, por ser negativo no est dentro del
rango de factibilidad (valores positivos). Para ello lo que hacemos es evaluar los extremos de los
valores de X1 para encontrar la serie de combinaciones para los que representa un mximo.
f1 ( X1 = 0 ) = (0)2 4 (0) + 7 (1) = 7
f1 ( X1 = S1 = 1) = (1)2 4 (1) + 7 (1) = 2
Como podr observar el mejor valor resulta de cuando X1 = 0, de aqu podemos concluir
Solucin final del problema:
ZMAX = 7 X1* = 0 X2* = 0 X3* = 1

2.2 PROBLEMAS DE DOS RESTRICCIONES

En este caso en particular Usted notar que el procedimiento de optimizacin es similar al caso
anterior, lo que le parecer nuevo es el hecho de que se debe satisfacer la dos condiciones
restrictivas del problema al mismo tiempo. Para ello veremos algunos problemas para ilustrar al
lector.
Ejemplo N 1:

MaxZ = 15 X 1 + 10 X 2

X1 + 2X 2 6
3X1 + X 2 8
d1 = Valor de X1 d2 = Valor de X2

S11 = 6 S21 = 6 X1

S21 = 8 S22 = 8 3 X1
1 2

r1 = 15 X1 r2 = 10 X2

f1 = r1 + f2* f2 = r2*
Para dar inicio a la solucin del problema partiremos por establecer los rangos de las variables de
decisin:
R1: 0 X1 6 0 X2 S21 / 2
R2: 0 X1 8 0 X2 S22

Daremos inicio por la etapa 2:

0 X 2 0 . 5 S 21
f 2 = 10 X 2
0 X 2 S 22
En esta etapa pueden presentarse dos casos
Caso A:
S21 / 2 S22
f2 ( X2 = S21 / 2 ) = 10 ( S21 / 2 ) = 5 S21

Caso B:
S22 S21 / 2
f2 ( X2 = S22 ) = 10 ( S22 ) = 10 S22
Para pasar a la etapa 1 tenemos que evaluar los valores de X1 para cada uno de los 2 casos antes
expuestos, obteniendo:
Caso A: Caso B:
S21 / 2 S22 S22 S21 / 2
(6 X1) / 2 8 3 X1 8 3 X1 (6 X1) / 2
X1 2 X1 2
Adems el valor de X1 no debe exceder de 6 para satisfacer a R1 y R2 al mismo tiempo.
Habiendo definido los valores de X1 para cada caso se proceder a optimizar la funcin para cada
caso mostrado.

5 (6 X 1 ) 0 X1 2
f1 = 15 X 1 +
10 (8 3 X 1 ) 2 X1 6
Se analizar cada caso por separado, para luego comparar los mximos de cada uno

Caso A:
f1 = 30 + 10 X1 0 X1 2
Esta funcin representa el Lugar Geomtrico de una recta, donde el mximo se dar en el
extremo derecho, obtenindose:
f1 ( X1 = 2) = 30

Caso B:
f1 = 80 15 X1 2 X1 6

Se presenta nuevamente el Lugar Geomtrico de una recta con pendiente negativa, al contrario
del Caso A, el mximo se presentar en el extremo izquierdo.
f1 ( X1 = 2) = 50

Solucin final del problema:


ZMAX = 50 X1* = 2 X2* = 2

Ejemplo N 2:

MaxZ = 4X1 + 4X 2

2X1 + 7X 2 21
7X1 + 2X 2 21
d1 = Valor de X1 d2 = Valor de X2

S11 = 21 S21 = 21 2 X1

S21 = 21 S22 = 21 7 X1
1 2

r1 = 4 X1 r2 = 14 X2

f1 = r1 + f2* f2 = r2*
Para dar inicio a la solucin del problema partiremos por establecer los rangos de las variables de
decisin:
R1: 0 X1 21 / 2 0 X2 S21 / 7
R2: 0 X1 21 / 7 0 X2 S22 / 2

Daremos inicio por la etapa 2:

0 X 2 1 / 7 S 21
f 2 = 14 X 2
0 X 2 1 / 2 S 22
En esta etapa pueden presentarse dos casos
Caso A:
S21 / 7 S22 / 2
f2 ( X2 = S21 / 7 ) = 14 ( S21 / 7 ) = 2 S21

Caso B:
S22 / 2 S21 / 7
f2 ( X2 = S22 / 2 ) = 14 ( S22 / 2 ) = 7 S22
Para pasar a la etapa 1 tenemos que evaluar los valores de X1 para cada uno de los 2 casos antes
expuestos, obteniendo:
Caso A: Caso B:
S21 / 7 S22 / 2 S22 / 2 S21 / 7
(21 2 X1) / 7 (21 7 X1) / 2 (21 7 X1) / 2 (21 2 X1) / 7
X1 7 / 3 X1 7 / 3
Adems el valor de X1 no debe exceder de 21 / 7 = 3 para satisfacer a R1 y R2 al mismo tiempo.
Habiendo definido los valores de X1 para cada caso se proceder a optimizar la funcin para cada
caso mostrado.

2 (21 2 X 1 ) 0 X1 7 / 3
f1 = 4 X 1 +
7 (21 7 X 1 ) 7 / 3 X1 3
Se analizar cada caso por separado, para luego comparar los mximos de cada uno

Caso A:
f1 = 42 0 X1 7/3
Esta funcin representa el Lugar Geomtrico de una recta horizontal, donde el mximo se dar
en todo valor comprendido entre 0 y 7 / 3, obtenindose:

f1 ( 0 X1 7 / 3 ) = 42

Caso B:
f1 = 147 45 X1 7/3 X1 3

Se presenta nuevamente el Lugar Geomtrico de una recta con pendiente negativa, el mximo se
presentar en el extremo izquierdo.
f1 ( X1 = 7 / 3 ) = 42

Solucin final del problema:


ZMAX = 42 0 X1* 7 / 3 X2* = (21 2 X1) / 7

También podría gustarte