Está en la página 1de 18

UNIVERSIDAD SAN PEDRO

Escuela de Ingeniera Industrial


Investigacin Operativa II

PROGRAMACION DINAMICA
La programacin dinmica es un enfoque general para la solucin de problemas en los que es necesario tomar
decisiones en etapas sucesivas. Las decisiones tomadas en una etapa condicionan la evolucin futura del sistema,
afectando a las situaciones en las que el sistema se encontrar en el futuro (denominadas estados), y a las
decisiones que se plantearn en el futuro.
Conviene resaltar que a diferencia de la programacin lineal, el modelado de problemas de programacin
dinmica no sigue una forma estndar. As, para cada problema ser necesario especificar cada uno de los
componentes que caracterizan un problema de programacin dinmica.
El procedimiento general de resolucin de estas situaciones se divide en el anlisis recursivo de cada una de las
etapas del problema, en orden inverso, es decir comenzando por la ltima y pasando en cada iteracin a la etapa
antecesora. El anlisis de la primera etapa finaliza con la obtencin del ptimo del problema.
La programacin dinmica (PD) es un procedimiento de optimizacin aplicable a problemas que requieren de una
secuencia interrelacionada de decisiones. Cada decisin transforma la situacin actual en una nueva situacin.
La PD es una tcnica de la programacin matemtica, para mejorar la eficiencia computacional de ciertos
problemas de optimizacin, y se basa en descomponer problemas de n variables a n subproblemas (cada uno de
una variable), tambin se le llama programacin de etapas mltiples, por sus decisiones secuenciales.

Caractersticas de un Problema de Programacin Dinmica


Para que un problema pueda ser resuelto con la tcnica de programacin dinmica, debe cumplir con ciertas
caractersticas:
Naturaleza secuencial de las decisiones: El problema puede ser dividido en etapas.
Cada etapa tiene un nmero de estados asociados a ella.
La decisin optima de cada etapa depende solo del estado actual y no de las decisiones
anteriores.
La decisin tomada en una etapa determina cual ser el estado de la etapa siguiente.
En sntesis, la poltica optima es de un estado x de la etapa k a la etapa final est constituida por una decisin que
transforma x en un estado x0 de la etapa k +1 y por la poltica optima desde el estado x0 hasta la etapa final.

Resolucin de un Problema de Programacin Dinmica


Para resolver un problema de programacin dinmica debemos al menos:
Identificacin de etapas, estados y variable de decisin:
o Cada etapa debe tener asociado una o ms decisiones (problema de optimizacin), cuya dependencia
de las decisiones anteriores est dada exclusivamente por las variables de estado.
o Cada estado debe contener toda la informacin relevante para la toma de decisin asociada al
perodo.
o Las variables de decisin son aquellas sobre las cuales debemos definir su valor de modo de
optimizar el beneficio acumulado y modificar el estado de la prxima etapa.
Descripcin de ecuaciones de recurrencia: Nos deben indicar como se acumula la funcin de beneficios a
optimizar (funcin objetivo) y como varan las funciones de estado de una etapa a otra.
Resolucin Debemos optimizar cada subproblema por etapas en funcin de los resultados de la
resolucin del subproblema siguiente. Notar que las para que las recurrencias estn bien definidas
requerimos de condiciones de borde.

Principio de optimalidad
Cuando hablamos de optimizar nos referimos a buscar la mejor solucin de entre muchas alternativas posibles.
Dicho proceso de optimizacin puede ser visto como una secuencia de decisiones que nos proporcionan la
solucin correcta. Si, dada una subsecuencia de decisiones, siempre se conoce cul es la decisin que debe
tomarse a continuacin para obtener la secuencia ptima, el problema es elemental y se resuelve trivialmente
tomando una decisin detrs de otra, lo que se conoce como estrategia voraz.
A menudo, aunque no sea posible aplicar la estrategia voraz, se cumple el principio de optimalidad de Bellman
que dicta que dada una secuencia ptima de decisiones, toda subsecuencia de ella es, a su vez, ptima. En este
caso sigue siendo posible el ir tomando decisiones elementales, en la confianza de que la combinacin de ellas
seguir siendo ptima, pero ser entonces necesario explorar muchas secuencias de decisiones para dar con la
correcta, siendo aqu donde interviene la programacin dinmica.

Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
Contemplar un problema como una secuencia de decisiones equivale a dividirlo en subproblemas ms pequeos y
por lo tanto ms fciles de resolver como hacemos en Divide y Vencers, tcnica similar a la de Programacin
Dinmica. La programacin dinmica se aplica cuando la subdivisin de un problema conduce a:
Una enorme cantidad de subproblemas.
Subproblemas cuyas soluciones parciales se solapan.
Grupos de subproblemas de muy distinta complejidad.

Procesos polietapicos de decisin.


Las situaciones susceptibles de ser representadas mediante programacin dinmica pueden describirse como
procesos polietapicos 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 tratara 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 evolucionaran a lo largo del tiempo, como los
planes de produccin).
Una vez tomada la decisin en el estado correspondiente, el sistema evolucionara 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 cual 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, cuyas componentes e-sima es el valor de las variables 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 la 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.
Descripcin Matemtica
Sea la etapa n, se observa (ver figura 1) que se tienen los siguientes componentes
dn= decisin
Rn(dn)= retorno de la decisin
Xn=estado de entrada (estado actual para la etapa n)
Xn-1=estado de salida
fn(xn)=rendimiento ptimo de la etapa n en el estado Xn
N = Nmero de etapas
n = etiqueta para la etapa actual (n = 1,2,,N)

Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II

dn
xn

xn-1

rn(dn)
Decisin

dn

Estado

Estado
n

Xn-1

Decisin

Decisin

dn-1

d1

Estado

Estado
n-1

Estado
..

Xn-1

Estado
1

Estado

X0

=tn(Xn, dn)

Retorno funcin

Retorno funcin

fn = rn (Xn, dn)

fn-1 = rn-1 (Xn-1, dn-1)

Retorno Funcin

f1 = r1 (X1, d1)

Estando relacionada la entrada y la salida por la ecuacin Xn-1 = xn dn


Siendo el operador
para algunos smbolos como las siguientes funciones de transiciones.

+
x
/

Funcin
xn + dn
xn - dn
xn * dn
xn / dn

Sea fn(xn), el retorno acumulado hasta la etapa n para un particular estado


fn(xn)=Opt.{Rn(dn)+fn-1(xn-1)} con una relacin recursiva

xn-1=xn-dn
es equivalente a

fn(xn)= Opt. {Rn(dn)+fn-1(xn-dn)}


Richard Bellman, considerado el padre de la PD, enuncio una propiedad por la que las decisiones futuras se
seleccionan en forma ptima sin recurrir a decisiones anteriores. Esta propiedad es el principio de optimidad
Aplicaciones
El campo de las aplicaciones en PD es muy amplio y va desde los problemas determinsticos a los problemas
probabilsticos, desde problemas con variables discretas a los con variables continuas.

1. EL PROBLEMA DE LA RUTA MAS CORTA (PROBLEMA DE LA DILIGENCIA)


Supongamos que se trata de seleccionar la ruta ms corta entre dos ciudades. La red de la figura 1.1 muestra las
rutas posibles entre el inicio en el nodo 1 y el destino en el nodo 10. Las rutas pasan por ciudades intermedias,
representadas por los nodos 2 a 9.
Este problema se puede resolver enumerando en forma detallada todas las rutas entre los nodos 1 y 10. Sin
embargo, en una red grande, la enumeracin exhaustiva no se puede manejar de manera computacional.

Ejemplo 1.1:
Considrese el grfico que contempla las rutas posibles para ir desde la ciudad 1 hasta la ciudad 10. Cada nodo
representa una ciudad y los arcos la infraestructura vial disponible. La tabla recoge el costo asociado al
desplazamiento entre cada par de nodos para cada una de las etapas. Supondremos que todos los desplazamientos
tienen la misma duracin, y que el viaje ha de realizarse en cuatro etapas. Cada una de ellas se corresponde con un
Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
nico desplazamiento entre un par de nodos del grafo, as al finalizar la primera etapa estaremos en una de las
ciudades 2, 3 4. La segunda etapa finalizar en la ciudad 5, la nmero 6 la nmero 7. La tercera jornada nos
llevar a la ciudad 8 o a la nmero 9. La cuarta etapa permite finalizar el viaje en la ciudad 10.

TERMINOLOGA Y NOTACIN BSICA

Perodos o etapas: Sea N= {1, 2,....., n} un conjunto finito de elementos. Mediante el ndice N n , representamos
cada uno de ellos. N es el conjunto de perodos o etapas del proceso. En la ilustracin anterior N= {1, 2, 3, 4}, las
cuatro etapas del viaje, cada una de ellas es un perodo y se representa mediante un valor del ndice n, as cuando
n =1 nos estamos refiriendo a la primera etapa del proceso.
Espacio de estados: { N S } es una familia de conjuntos, uno para cada perodo n. S se denomina espacio de
estados en el perodo n. Cada uno de sus elementos, que se representa mediante Sn, es un estado, que describe una
posible situacin del proceso en ese perodo. En nuestro ejemplo, S1 = {1}, S2= {2, 3, 4}, S3= {5, 6, 7}, S4= {8,
9}.

Figura 1.1

La funcin recursiva: Dados unos nodos y unos arcos que conectan estos nodos, el problema de la diligencia
intenta encontrar la ruta ms corta que conecta un nodo de arranque con el nodo final (el destino).
Sea s: el estado de inicio; j: estado destino
n: la fase, normalmente representa el nmero de arcos hasta el destino.
C(s, j): costo o distancia de ir desde s hasta j.
f(n, s): la poltica de costo mnimo cuando se encuentra en el estado s de la etapa n.
La relacin recursiva dinmica se expresa como f(n, s) = mnimo [C(s, j) + f(n-1, j)] para todos los arcos ( s, j) en
la red
El concepto general es calcular las distancias (acumuladas) ms cortas a todos los nodos terminales de una etapa,
para usarlas a continuacin como datos de la etapa inmediata posterior.
Para resolver el problema con programacin dinmica primero se descompone en etapas, delimitadas por las
lneas verticales de la figura 1.2. A continuacin se hacen los clculos para cada etapa por separado.

Figura 1.2
Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
En la etapa 1 de la figura, el viajero se puede encontrar en los sitios 8 9 y su decisin es 10; siendo sus
distancias:
f1(8) = 3
f2(9) = 4
La etapa 2, ahora puede ser resuelta: El valor futuro hasta la etapa 2 es: La etapa 2 ms el futuro siguiente a la
etapa 2: Recursivamente es expresado como una suma de distancias:
f2(x2) = Min{r2(d2) + f1(x1)} Donde x1 es el estado asociado a la decisin.
d2(5) = Min{1+3, 4+4 } = 4
d2(6) = Min{6+3, 3+4} = 7
d2(7) = Min{3+3, 3+4} = 7
Lo que indica que la distancia total mnima desde 6 7 es 7
La etapa 3, tambin puede ser resuelta: El valor futuro hasta la etapa 3: Recursivamente es expresada como una
suma de distancias:
f3(x3) = Min{r3(d3) + f2(x2)}

Donde x2 es el estado asociado a la decisin.

d3(2) = Min{7+4, 4+7, 6+7} = 11


d3(3) = Min{3+4, 2+7, 4+7} = 7
d3(4) = Min{4+4, 1+7, 5+7} = 8
Esto indica que la distancia total mnima desde 3 es 7. Finalmente, la etapa 4, viene con un solo estado:
f4(x4) = Min{r4(d4) + f3(x3)}

Donde x3 es el estado asociado a la decisin.

d4(1) = Min{2+11, 3+7, 4+8} =10


El resultado del problema se muestra a continuacin:
1

10

Tablas de decisin Solucin del problema de la ruta ms corta.


Etapa 1

( )

x1
8
9

Posibles decisiones d1 en la etapa 1


10
3
4

Etapa 2

( )

5
6
7
Etapa 3

Programacin Dinmica

5
7+4=11
3+4=7
4+4=8

10
10

( )

( )

2
3
4

3
4

Posibles decisiones d2 en la etapa 2


8
9
1+3=4
4+4=8
6+3=9
3+4=7
3+3=6
3+4=7

x2

x3

Solucin ptima

( )

Solucin ptima

( )
4
7
6

8
9
8

( )

Posibles decisiones d3 en la etapa 3


6
7
4+7=11
6+6=12
2+7=9
4+6=10
1+7=8
5+6=11

Solucin ptima

( )
11
7
8

56
5
56

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
Etapa 4

( )
x4

2
1
2+11=13
Distancia Mnima: 10
Ruta a seguir:

( )

Posibles decisiones d4 en la etapa 4


3
4
3+7=10
4+8=12

Solucin ptima

( )
10

Problema 1.2: Supongamos que se trata de seleccionar la ruta ms corta entre dos ciudades. La red de la figura
siguiente muestra las rutas posibles entre el inicio en el nodo 1 y el destino en el nodo 11. Las rutas pasan por
ciudades intermedias, representadas por los nodos 2 al 10.

Para resolver el problema con programacin dinmica primero se descompone en etapas delimitadas por las lneas
verticales de la figura siguiente, a continuacin se hacen los clculos para cada etapa por separado.
Etapa 1

( )
x1
8
9
10

Posibles decisiones d1 en la etapa 1


11
20
30
40

Etapa 2

( )
x2
5
6
7

Etapa 4

Programacin Dinmica

11
11
11

( )

( )

2
3
4

20
30
40

Posibles decisiones d2 en la etapa 2


8
9
10
40+20=60
30+30=60
50+20=70
30+30=60
10+40=50
10+30=40
30+40=70

Etapa 3

x3

Solucin ptima

( )

5
10+60=70
30+60=90

Solucin ptima

( )
60
50
40

8o9
10
9

( )

Posibles decisiones d3 en la etapa 3


6
7
20+50=70
40+50=90
50+40=90
20+50=70
40+40=80

( )

Solucin ptima

( )
70
90
70

56
5, 6 0 7
6

( )
6

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II

x4
1

2
50+70=120

Posibles decisiones d4 en la etapa 4


3
4
20+90=110
20+70=90

Solucin ptima

( )
90

Distancia Mnima: 90
Ruta a seguir:

Problema General de Asignacin de Recursos


Suponga que tenemos w unidades de un recurso disponibles, y T actividades a las que se puede asignar ese
recurso.
Si la actividad t se realiza en un nivel x t (suponemos que x t debe ser nmero no negativo), entonces la actividad

t usa g t xt unidades del recurso, y se obtiene el beneficio rt xt


El problema de determinar la asignacin de recursos que maximiza el beneficio total, sujeto a la disponibilidad de
recursos se puede formular como sigue:
t T

r x

(6)

g x w

(6)

mx

t 1

Sujeto a
t T

t 1

Donde xt debe ser elemento de {0, 1, 2, }

En la siguiente se dan algunas interpretaciones posibles de rt xt , g t xt y w


INTERPRETACIN de
Beneficio por colocar

xt

rt xt

INTERPRETACIN de

artculos tipo t en una Peso de

xt

g t xt

INTERPRETACIN de w
Peso mximo que puede resistir la
mochila.

artculos del tipo t

mochila

Calificacin que obtenemos en el curso t si lo Nmero de horas/semana x que Nmero total de horas disponibles
t
por semana.
estudiamos x t horas por semana
pasamos estudiando el curso t
Ventas de un producto en la regin t si se asignan Costo por asignar
xt vendedores a la regin t
a la regin t

xt

vendedores Presupuesto total del personal de


ventas.

Nmero de alarmas contra incendio por semana a las Costo semanal por mantener x Presupuesto semanal total para el
t
que responden dentro de un minuto si al recinto se le
mantenimiento de extintores auextintores automticos en el re- tomticos.
asignan x t extintores automticos
cinto t

2. El problema de la mochila/Equipo de vuelo/Carga del contenedor


El modelo clsico de la mochila tiene que ver con el caso de un soldado (o un montaista) que debe decidir cules
son los artculos ms valiosos que debe llevar en su mochila. Este problema parafrasea un modelo general de
asignacin de recursos en el que un solo recurso limitado se asigna a varias alternativas (por ejemplo, fondos
limitados asignados a proyectos) con objeto de maximizar el ingreso total.
Antes de presentar el modelo de programacin dinmica, haremos notar que en las publicaciones, al
problema de la mochila tambin se le llama problema de conjunto de fuga o equipo de vuelo, en el que un piloto
de un avin a reaccin debe determinar los artculos ms valiosos (de emergencia) que debe llevar a bordo, y el
problema de carga de flete o del contenedor, en el que un barco con capacidad limitada de volumen o peso se
Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
carga con los fletes ms valiosos. Parece que estos tres nombres se acuaron en las tres ramas de las fuerzas
armadas estadounidenses: la fuerza area, el ejrcito y la marina!
El modelo de la mochila tiene que ver clsicamente con el hecho de determinar los artculos ms valiosos que un
combatiente carga en una mochila. El problema representa un modelo de asignacin de recursos general en el cual
se utilizan recursos limitados por varias actividades econmicas. El objetivo es maximizar el rendimiento total.
La ecuacin recursiva (hacia atrs) se desarrolla para el problema general de asignar n artculos a una mochila con
capacidad de peso W. Sea mi la cantidad de unidades del artculo i en la mochila, y defina ri y wi como el
ingreso unitario y el peso del artculo i. El problema general se representa como

Sujeto a

Los tres elementos del modelo son


1. La etapa i est representada por el artculo i, i = 1, 2,, n.
2. Las alternativas en la etapa i son la cantidad de unidades del artculo i, mi = 0, 1, 2,, [
mayor entero que es menor o igual a

] donde [ ] es el

. Esta definicin permite que la solucin distribuya algunos, ninguno, o

todos los recursos W a cualquiera de los m artculos. El rendimiento para mi es rimi.


3. El estado en la etapa i est representado por xi, el peso total asignado a las etapas (artculos) i, i + 1,, y n.
Esta definicin reconoce que el lmite de peso es la nica restriccin que liga a todas las n etapas.
Defina
fi(xi) = rendimiento mximo para las etapas i, i+ 1, y n, dado el estado xi
La manera ms conveniente de construir la ecuacin recursiva es un procedimiento de dos pasos:

Mtodos de resolucin.
Este problema se resuelve utilizando Programacin Lineal Entera y programacin dinmica.
Ejemplo 2.1: Un barco de 4 toneladas se carga con uno o ms de tres artculos. La tabla siguiente muestra el peso
unitario wi, en toneladas, y el ingreso por unidad ri, en miles de dlares, para el artculo i. Cmo se debe cargar
el barco para maximizar los ingresos totales?
Articulo i
wi
ri
1
2
31
2
3
47
3
1
14
Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
Como los pesos unitarios wi y el peso mximo W son enteros, el estado xi slo debe tener valores enteros.
Formulacin del problema binario de la mochila:
Sean:
{

El problema lineal entero binario es entonces:


Sujeto a

Etapa 3:
El peso exacto a ser asignado a la etapa 3 (artculo 3) no se conoce con anticipacin pero puede suponer uno de
los valores 0, 1,, y 4 (porque W = 4 toneladas y w3 = 1 tonelada).

w3 = 1 tonelada por unidad, la cantidad mxima de unidades que se pueden cargar del artculo 3 es = 4,
lo que significa que los valores posibles de m3 son 0, 1, 2, 3 y 4.
Cuando

Un valor de m3 es factible slo si w3m3 x3. Por lo tanto se excluyen todos los valores no factibles (con w3m3
x3). El ingreso para el artculo 3 es 14m3. En consecuencia, la ecuacin recursiva para la etapa 3 es

Programacin Dinmica

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II

Resumiendo
Para x1 = 4, el retorno optimo = ( )
Para x2 = 4 (2*2)=0, el retorno optimo = ( )
Para x3 =0 0 = 0, el retorno optimo = ( )
Se debe llevar 2 unidades del artculo 1, con una ganancia de $ 62000

Solucin con otras variables


f3(x3) = Max{r3(d3) + (x4)}
Si f4(x4) = 0
f3(x3) = Max{14(d3)}
x3

0
0
0
0
0
0

0
1
2
3
4

1
14
14
14
14

d3
2
28
28
28

3
42
42

Solucin ptima
f3(x3)
x3
0
0
14
1
28
2
42
3
56
4

4
56

Etapa 2
La etapa 2 queda representada por la estrategia siguiente:
F2(x2) = Max {47(d2) + (x2 3d2)}
d2

[ ]=1
d2

x2
0
1
2
3
4

0
0+0=0
0 + 14 = 14
0 + 28 = 28
0 + 42 = 42
0 + 56 = 56

Programacin Dinmica

Solucin ptima
f2(x2)
x2
0
0
14
0
28
0
47
1
61
1

1
47+0 = 47
47 + 14 = 61
10

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
Etapa 1
La etapa 1 queda representada por la estrategia siguiente:
(x1 2d1)}

f1(x1) = Max{31(d1) +
d2 [ ] = 2
x1
0
1
2
3
4

0
0+0=0
0 + 14 = 14
0 + 28 = 28
0 + 47 = 47
0 + 61 = 61

d1
1
31 + 0 = 31
31 + 14 = 45
31 + 28 = 59

2
62 + 0 = 62

Solucin ptima
f1(x1)
x1
0
0
14
0
31
1
47
0
62
2

La solucin ptima se determina ahora de la siguiente manera: dada W = 4 toneladas, x1 = 4 expresa la alternativa
ptima
= 2, que quiere decir que en el barco se cargan 2 unidades del artculo 1. Esta asignacin deja a x2 = x1 2
= 4 2*2 = 0. De la etapa 2, x2 = 0, produce
= 0, que a su vez produce x3 = x2 3d2 = 0 3*0 = 0. A
continuacin, de la etapa 3, x3 = 0 produce
= 0. As, la solucin completa es
= 2,
=0y
= 0. El
ingreso correspondiente es $ 62000.
En la tabla para la etapa 1 no se necesita en realidad obtener slo el ptimo de x1 = 4, porque es la ltima etapa
que se examina. Sin embargo, se incluyen los clculos para x1 = 0, 1, 2 y 3, para poder hacer un anlisis de
sensibilidad. Por ejemplo, Qu pasara si la capacidad del barco es 3 toneladas y no 4? La nueva solucin ptima
se puede determinar comenzando con x1 = 3 en la etapa 1 y continuando del mismo modo que usamos para x1 = 4.
La solucin nos indica que se deben transportar el tem 1, 2 unidades con un retorno total de $ 62000 y utilizacin
plena de la capacidad (en peso), disponible del barco.
Ejemplo No 2.2: Se consideran cuatro tipos de objetos (con un suministro ilimitado de cada tipo) para cargar un
aeroplano. Los pesos y valores de los cuatro tipos de objetos se dan en la Tabla siguiente.
Determinar qu objetos y en qu cantidades deberan cargarse en el avin si la mxima capacidad de carga es de
11 toneladas y el objetivo es maximizar el valor de la carga.

Formulacin del problema binario de la mochila:


Sean:
{

El problema lineal entero binario es entonces:


Sujeto a

Este problema es una extensin del problema de asignacin.


Fases: Cada tipo de objeto se considera una fase.
Estados: La capacidad restante permitida para asignacin (en toneladas enteras); es decir, los estados son 1,2, 3,...,
11.
La decisin de cada fase: Cuantas unidades de cada objeto a incluir en la mezcla ptima.
La relacin recursiva: La relacin recursiva para este problema es:
( )
( )
( )
Programacin Dinmica

11

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
Si

( )
( )
( )
Dnde:
Solucin
Como hay 4 objetos, habr 4 fases.
Fase 4: (Objeto D). La tabla siguiente muestra los estados en el lado izquierdo, En la parte superior se muestra el
nmero posible de unidades de D que pueden cargarse.
Estado x4 (Ton.
Asignables para D)
0
1
2
3
4
5
6
7
8
9
10
11
Tabla Fase 4: Objeto D

d4(Numero de objetos D a 3 Tn/Unid)

0
0
0
0
0
0
0
0
0
0
0
0

Solucin ptima

20
20
20
20
20
20
20
20
20

40
40
40
40
40
40

( )

60
60
60

0
0
0
20
20
20
40
40
40
60
60
60

0
0
0
1
1
1
2
2
2
3
3
3

Como el peso del objeto D es de 3 toneladas, pueden cargarse 0, 1, 2 o 3 uni dades. La tabla nos da el
beneficio calculado mediante la frmula indicada en su parte superior.
(

Exposicin matemtica de la fase 1.- La funcin beneficio es:


unidades de D.

) = 20(d4) donde d, indica el nmero de

( ) , donde
( )=
( ) es el beneficio
La columna de solucin ptima viene dada por
ptimo, empezando desde el estado
y siguiendo una poltica ptima desde la fase 4 al final.
Fase 3: (Objeto C). En esta fase se hace la asignacin del objeto C, utilizando el peso restante de
acuerdo con la mejor poltica recomendada en la fase 4.
La Tabla 3.14 nos muestra los beneficios para los distintos estados.
Los beneficios ptimos totales son:
( )
( )=
( ). Por ejemplo, en
(
) , y el beneficio ptimo es el mximo de
el estado 10 si dispo nemos de 10 toneladas pueden considerarse las tres alternativas posibles:
1. Nada de C, entonces 10 van para D. En la Tabla 3.13 vemos que la asignacin ptima de 10 a D produce un
beneficio de 60.
2. Una de C, hay 5 toneladas restantes. La mejor asignacin de 5 a D. de la fase 1, produce 20, ms las 30
conseguidas de la asignacin de uno para C nos dan un total de 50.
3. Dos a C, lo que ocupa las 10 toneladas; por tanto, nada sobra. El beneficio es 2*30 = 60.
Estado x3 (Ton.
Asignables para C y
D)
0
1
2
3
4
5
6
7
8
Programacin Dinmica

d3(Numero de objetos C a 5 Tn/Unid)

0
0
0
0
20+0=20
20+0=20
20+0=20
40+0=40
40+0=40
40+0=40

30
30
30
30+20=50
12

Solucin ptima

( )
0
0
0
20
20
30
40
40
50

0
0
0
0
0
1
0
0
1

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
9
10
11

60+0=60
60+0=60
60+0=60

30+20=50
30+20=50
30+40=70

60
60
70

60
60

0
0o2
1

Tabla Fase 2: Objeto C


Fase 2: (Objeto B). Los resultados se muestran en la tabla siguiente. La funcin de beneficio ptimo total es:
( )
( )=
(
)
Estado x2 (Ton.
Asignables para B,
C y D)
0
1
2
3
4
5
6
7
8
9
10
11

d2(Numero de objetos B a 4 Tn/Unid)

0
0
0
0
20+0=20
20+0=20
30+0=30
40+0=40
40+0=40
50+0=50
60+0=60
60+0=60
70+0=70

Solucin ptima

( )

25
25
25
25+20=45
25+20=45
25+20=45
25+40=65
25+40=65

0
0
0
20
25
30
40
45
50
60
65
90

50
50
50
50+40=90

0
0
0
0
1
0
0
1
0o2
0
1
2

Fase 1: (Objeto A). Los resultados se muestran en la tabla siguiente. La funcin de beneficio ptimo total es:
( )
( )=
(
)
Estado x1 (Ton.
Asignables para
A,B, C y D)
0
1
2
3
4
5
6
7
8
9
10
11

d1(Numero de objetos A a 2 Tn/Unid)


1
2
0
0
0
0
20
25
30
40
45
50
60
65
70

18
18
18
18+20=38
18+25=43
18+30=48
18+40=58
18+45=63
18+50=68
18+60=78

Solucin ptima
3

36
36
36
36+20=56
36+25=61
36+30=66
36+40=76
36+45=81

54
54
54
54+20=74
54+25=79
54+30=84

( )

90
90

0
0
18
20
36
38
54
56
72
74
90
92

72
72
72
72+20=92

0
0
1
0
2
1
3
2
4
3
5
4

Por tanto la mejor eleccin es:


X1 = 4 unidades de A
X4 = 1 Unidad de D
Y el beneficio total de: 18*4 + 20*1 = 92
Ejemplo No 2.3: Suponga que se ha de llenar una mochila de 10 libras con los artculos que aparecen en la
siguiente Para maximizar el beneficio total, cmo se llena la mochila?
ARTICULO

PESO

BENEFICIO

Artculo 1
Artculo 2
Artculo 3

4 libras
3 libras
5 libras

11
7
12

Solucin Tabular
Programacin Dinmica

13

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
La ecuacin recursiva es: ( )
(
)
Donde
)
Como
es un valor entero; y siendo

)}
[

, entonces

Se observa que
es el nmero de unidades del tem .
Para la etapa 3, se ha considerado al artculo 3, se tiene entonces:
Con
y ( )
Como
es un valor entero; y siendo
, entonces
Luego la etapa 3 es representada por la funcin ( )
x3
0
1
2
3
4
5
6
7
8
9
10

0
0
0
0
0
0
0
0
0
0
0
0

d3
1
_
_
_
_
_
12
12
12
12
12
12

]
( )

( )}

[ ] y
,
Solucin optima
2
_
_
_
_
_
_
_
_
_
_
24

(x3)
0
0
0
0
0
12
12
12
12
12
24

0
0
0
0
0
1
1
1
1
1
2

(
La etapa 2 queda representada por la estrategia siguiente: ( )
[ ] los resultados de los diferentes estados son mostrados en la tabla siguiente:
x2
0
1
2
3
4
5
6
7
8
9
10

d2
0
0+0=0
0+0=0
0+0=0
0+0=0
0+0=0
0+12=12
0+12=12
0+12=12
0+12=12
0+12=12
0+24=24

1
_
_
_
7+0=7
7+0=7
7+0=7
7+0=7
7+0=7
7+12=19
7+12=19
7+12=19

)}

Solucin optima
2
_
_
_
_
_
_
14+0=14
14+0=14
14+0=14
14+0=14
14+0=14

(x2)

_
_
_
_
_
_
_
_
_
21+0=21
21+0=21

0
0
0
7
7
12
14
14
19
21
24

(
La etapa 1 queda representada por la estrategia siguiente: ( )
[ ] los resultados de los diferentes estados son mostrados en la tabla siguiente:
x1
0
1
2
3
4
5
6
7
8

0
0+0=0
0+0=0
0+0=0
0+7=7
0+7=7
0+12=12
0+14=14
0+14=14
0+19=18

Programacin Dinmica

d1
1
_
_
_
_
11+0=11
11+0=11
11+0=11
11+7=19
11+7=19

0
0
0
1
1
0
2
2
1
3
0
)}

Solucin optima
2
_
_
_
_
_
_
_
_
22+0=22
14

(x1)
0
0
0
7
11
12
14
19
22

0
0
0
0
1
0
0
1
2
Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
9
10

0+21=21
0+24=24

11+12=23
11+14=25

22+0=22
22+0=22

23
25

1
1

Tenemos que f1 10 25 y x1 10 1
(
) } Por lo tanto, debemos poner un artculo del
La ecuacin recursiva es: ( )
tipo 1 en la mochila.
Luego tenemos lugar para 10 4 = 6 libras para artculos tipo 2 y tipo 3 y, por lo tanto, debemos poner ( )
artculos del tipo 2.
x3 0 0
Por ltimo, tenemos 6 - 2*3 = 0 libras de lugar para artculos del tipo 3, y colocamos ( )

artculos del tipo 3.


En resumen, el beneficio mximo que se puede ganar con una mochila de 10 libras es
Para obtener un beneficio de 25, se deben poner un artculo del tipo 1 y 2 del tipo 2.

Ejemplo No 2.4: Asignar Agentes Vendedores


El gerente de ventas de una editorial de libros de texto universitarios tiene 6 agentes de ventas que puede asignar a
tres regiones distintas del pas. Ha decidido que cada regin debe tener por lo menos un agente y que cada agente
individual debe quedar restringido a una de estas regiones, pero ahora quiere determinar cuntos agentes debe
asignar a las respectivas regiones con el fin de maximizar las ventas. La siguiente tabla da el incremento estimado
en las ventas de cada regin (en las unidades apropiadas) si se le asignan diferentes cantidades de agentes.
Utilizando la programacin dinmica determine:

a)

La funcin recursiva asociada al problema indicando los lmites mximos y mnimos de la variable de estado
y de la decisin para cualquier etapa n.
b) La solucin del problema.
Rn (Dn, Sn) : representa las ventas por tomar la decisin Dn (asignar 1, 2, 3, 4); agentes en la etapa n ( regin 1, 2
3) para pasar del estado Sn (agentes disponibles al inicio de la etapa n) al estado Sn+1.
Solucin
Obsrvese que solo se cuenta con 6 agentes y que por lo menos debe asignarse uno a cada regin, lo que significa
que cada vez que se evala una regin debe de los seis reservarse 2 para las otras dos regiones con lo cual lo
mximo disponible para cada regin es 4, por eso en la tabla se tiene asignaciones de 1 a 4. El diagrama de
bloques es:

Ahora antes de evaluar la funcin recursiva se deben determinar para cada etapa los intervalos de variacin tanto
de la decisin como del estado de los agentes disponibles, as tenemos:
Etapa 1:
1 D1 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
3 S1 6 la cantidad mnima para del recurso vendedores que deben haber para todas las etapas y cumplir con los
requisitos mnimos es 3; pues son 3 regiones, dado que por lo menos debe asignarse 1 vendedor en cada regin; y
lo mximo que debe asignarse para las tres etapas es lo que se tenga disponible (este mismo razonamiento vale
para las etapas siguientes).
Etapa 2:
1 D2 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
Programacin Dinmica

15

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II
2 S2 5 porqu son 2 regiones, y por lo menos debe asignarse 1 a cada regin o el mximo existente al inicio de
la etapa 1 menos 1, que es lo mnimo que requiere la etapa1.
Etapa 3:
1 D3 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
1 S3 4 porqu es una regin, y por lo menos debe asignarse 1 a esta regin o el mximo existente al inicio de la
etapa 1 menos 2 (1 agente para la regin 1 y un agente para la regin 2).
Ahora si queremos generalizar el intervalo Sn, para cualquier valor de n entre 1,2, y 3, tenemos:
3 n + 1 Sn 6 n + 1
La funcin recursiva es:
fn (Sn) =Max {Rn(Dn,Sn) + f*n+1(Sn-Dn)}
1Dn 4
3-n+1Sn6-n+1
Ahora se utiliza la forma tabular del mtodo de programacin dinmica para su solucin comenzando por la etapa
3:
n=3

n=2

n=1

Solucin ptima:
Alternativa 1
Asignar 1 agente a la regin 1:
2 agentes a la regin 2:
3 agentes a la regin 3:
Alternativa 2
Asignar 3 agentes a la regin 1:
2 agentes a la regin 2:
1 agentes a la regin 3:

ventas obtenidas
ventas obtenidas
ventas obtenidas

35
42
63

total ventas 140

ventas obtenidas
ventas obtenidas
ventas obtenidas

70
42
23

total ventas 140

Ejemplo No 2.5: Asignar el recurso Tiempo


Usted cuenta con 7 das antes de que se inicien los exmenes finales de sus cuatro cursos y desea asignar este
tiempo de estudio de la manera ms efectiva que le sea posible. Usted necesita al menos las notas mnimas que se
indican para cada curso y quiere concentrarse en un solo curso cada da de modo que desea asignar uno, dos, tres o
cuatro das a cada curso. Usted estima que las asignaciones alternativas para cada curso le proporcionara la nota
que se muestran en la tabla siguiente. Resuelva este problema usando programacin dinmica de manera que
maximice el promedio que obtenga de los cuatro cursos e indique su respuesta.
Programacin Dinmica

16

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II

En este caso se divide el problema en 4 etapas, cada etapa representa un curso y para cada uno se decide cuantos
das estudiar, al inicio de la etapa 1, tenemos 7 das que sern asignados a todas las etapas, como se requiere las
notas mnimas especificadas se debe tomar la decisin de estudiar por lo menos un da cada curso y como mximo
4 das, para lo cual la cantidad de tiempo disponible al inicio de cada etapa n es: 4 n + 1 Sn 7 n + 1.
n=2 El diagrama de bloques de este problema es:

Rn (Dn,Sn) : representa la nota que se obtiene por tomar la decisin Dn (asignar 1, 2, 3, 4); das en la etapa n
(curso IOII, SO, RM Mat.) para pasar del estado Sn (das disponibles al inicio de la etapa n) al estado Sn+1.
Funcin Recursiva:

Para n = 4

Para n = 3

Para n = 2

Programacin Dinmica

17

Docente: Mg. Ing. J. Paredes C.

UNIVERSIDAD SAN PEDRO


Escuela de Ingeniera Industrial
Investigacin Operativa II

Para n = 1

Respuesta
Asignar al curso IOII
Asignar al curso SO
Asignar al curso RM3
Asignar al curso Mat.

Programacin Dinmica

1 da
4 das
1 da
1 da

Nota
09
18
08
12
47

18

Docente: Mg. Ing. J. Paredes C.

También podría gustarte