Está en la página 1de 17

INTRODUCCION

Frecuentemente para resolver un problema complejo se tiende a dividir este en


subproblemas, ms pequeos, resolver estos ltimos (recurriendo posiblemente a nuevas
subdivisiones) y combinar las soluciones obtenidas para calcular la solucin del problema
inicial. Puede ocurrir que la divisin natural del problema conduzca a un gran nmero de
subejemplares idnticos. Si se resuelve cada uno de ellos sin tener en cuenta las posibles
repeticiones, resulta un algoritmo ineficiente; en cambio s se resuelve cada ejemplar
distinto una sola vez y se conserva el resultado, el algoritmo obtenido es mucho mejor.

Esta es la idea de la programacin dinmica: no calcular dos veces lo mismo y


utilizar normalmente una tabla de resultados que se va rellenando a medida que se
resuelven los subejemplares.

La programacin dinmica es un mtodo ascendente. Se resuelven primero los


subejemplares ms pequeos y por tanto ms simples. Combinando las soluciones se
obtienen las soluciones de ejemplares sucesivamente ms grandes hasta llegar al ejemplar
original.

Programacin Dinmica Deterministica

La programacin dinmica, es una tcnica que permite la resolucin de problemas


que tratan de alcanzar determinados fines, a travs, de

una serie de etapas o fases

compuestas de diversos estados, de estos es necesario hacer una eleccin, de tal manera que
se alcance la mxima efectividad global, tambin podemos decir, que es una tcnica
matemtica que trata con la optimizacin de procesos de decisin. La optimizacin es por
fases en vez de simultnea.

Aplicaciones de Programacin Dinmica Determinstica


Modelo de Volumen-Carga Mochila
Modelo del tamao de la fuerza de trabajo
Modelo de reposicin de equipos
Modelo de inversin
Modelos de inventarios

Modelo del Tamao de la Fuerza de Trabajo

En algunos proyectos de construccin, las contrataciones y los despidos se ejercen


para mantener un nmero de empleados que satisfaga las necesidades del proyecto. Debido
a que las actividades tanto de contratacin como de despido incurren en costos adicionales,
cmo se debe mantener el nmero de empleados a todo lo largo de la vida del proyecto?

Supngase que el proyecto se ejecutara durante el lapso de n semanas, y que la


fuerza de trabajo mnima requiere en la semana i es

. Sin embargo, de acuerdo con los

parmetros de costos, podra ser ms econmico dejar que fluctu el tamao de la fuerza de
trabajo. Como

es la cantidad de trabajadores empleados en la semana i, en esa semana i

se puede incurrir en dos costos:


, el costo de contratar,

, el costo de mantener el exceso de personal;


trabajadores adicionales.

Los elementos del modelo de programacin dinmica se definen como sigue:

Ejemplo

Un contratista constructor estima que la fuerza de trabajo necesaria durante las


prximas 5 semanas ser de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra
en exceso que se conserve le costara $300 por trabajador semanalmente, y la nueva
contratacin en cualquiera semana tendr un costo fijo de $400 ms $200 por trabajador y
por semana.

Los datos del problema se resumen como sigue:

Modelo de Reposicin de Equipo

Mientras ms tiempo este en servicio una mquina, su costo de mantenimiento es


mayor y su productividad menor. Cuando la mquina llegue a cierta antigedad ser ms

econmico reemplazarla. Es as que entonces el problema se reduce a determinacin de la


antigedad mas econmica de una maquina.

Supngase que se estudia el problema de reposicin de la mquina durante un lapso


de n aos. Al inicio de cada ao, se debe decidir si mantener la maquina en servicio por un
ao ms o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de operacin
anuales, y s(t) el valor de recuperacin de una maquina con t aos de antigedad. El costo
de adquisicin de una mquina nueva en cualquier ao es I.

Los elementos del modelo de programacin dinmica son:

Ejemplo

Una empresa debe determinar la poltica ptima, durante los prximos 4 aos (n=4),
de reemplazo de una mquina, que en la actualidad tiene 3 aos. La tabla 5.1 muestra los
datos del problema. La empresa establece que toda mquina que tenga 6 aos de edad debe
reemplazarse. El costo de una maquina nueva es $100,000.

Aos con relacin a sus utilidades,


costos y valor de rescate

La determinacin de los valores factibles de la edad de la mquina en cada etapa


requiere de algo de ingenio. En la figura 5.9 se resume la red que representa el problema.
Al iniciar el ao 1 se tiene una mquina de 3 aos de antigedad. Se puede reemplazarla (R)
o conservarla (k) durante otro ao. Al inicia el ao 2, si hay reemplazo, la maquina nueva
tendr 1 ao de edad; en caso contrario, la mquina actual tendr 4 aos de antigedad. Los
mismos razonamientos se aplican al iniciar los aos 2 o 4. Si se reemplaza una maquina con
1 ao de antigedad al iniciar los aos 2 y 3, su reposicin tendr 1 ao de antigedad al
inicio del ao siguiente. Tambin, al iniciar el ao 4, se debe reemplazar una mquina con 6
aos de servicio, y al final del ao 4 se desechan las mquinas, con recuperacin S.

Representacin de la edad de la maquina en funcin del ao de decisin

La red indica que al comenzar el ao 2, las edades posibles de las maquinas son de 1
4 aos.

Para el comienzo del ao 3, las antigedades posibles son 1, 2 y 5 aos, y para el


comienzo del ao 4, las antigedades posibles son 1, 2, 3 y 6 aos.

La solucin de la red de la figura 5.9 equivale a determinar la ruta ms larga, del


inicio del ao 1 al final del ao 4. Se iniciara la forma tabular para resolver el problema.
Todos los valores son en miles de $. Ntese que si se reemplaza una mquina en el ao 4
(es decir, al final del horizonte de planeacin) los ingresos incluirn el valor de
recuperacin, s(t), de la mquina reemplazada y el valor de recuperacin, s(1) de la
mquina de repuesto.

La figura resume el orden en el cual se obtiene la solucin ptima. Al iniciar el ao


1, la decisin optima para t=3 es reemplazar la maquina. As, la mquina nueva tendr 1
ao al iniciar el ao 2, y t=1 al iniciar el ao 2 determina conservarla o reemplazarla. Si se
reemplaza, la nueva mquina tendr 1 ao al inicial el ao 3; en caso contrario, la maquina
conservada tendr 2 aos. El proceso se contina de esta forma hasta llegar al ao 4.

10

Modelo de la Mochila
Un problema tpico de programacin entera es el que nos ocupa, el problema de la
mochila, que responde a la siguiente situacin: imagnese hacer una excursin a la que
solo podemos llevar una mochila que, lgicamente, tiene una capacidad limitada. Cada
objeto que introducimos ocupa un volumen dentro de la misma y en contrapartida durante
el viaje nos proporcionar un beneficio o utilidad (ejemplo: una cantimplora), el problema
surge cuando debemos elegir qu objetos seleccionar para llevar en la mochila de forma
que nuestro beneficio sea mximo (tengamos todo lo necesario) sin exceder su capacidad.

Esta situacin se presenta con cierta frecuencia en los mbitos econmico e


industrial, donde la mochila suele representar la restriccin presupuestaria (cantidad
mxima de recursos econmicos de los que se dispone) y donde la utilidad de los objetos
seleccionados se equipara a un beneficio econmico por adquirir o llevar a cabo ciertas
acciones.

Veamos a continuacin un ejemplo de la aplicacin del planteamiento de la mochila


al mbito econmico.
Ejemplo: una empresa que fabrica lapiceros, Escribe Bien S.A. que en el ejercicio
econmico que se cierra ha obtenido un excedente de 300.000 (su beneficio neto, una vez
descontados los impuestos y retribuidos los fondos propios es de 300.000), esto le hace
replantearse una posible inversin productiva (ampliar la capacidad productiva, ampliar la
fbrica, contratar ms trabajadores,....) que le permita incrementar su cartera de productos
(nmero de productos que tiene en el mercado). El gerente de la empresa, Don L, rene a
sus asesores financieros y comerciales para que determinen de forma conjunta qu
productos sern los escogidos para la ampliacin de cartera.

11

Los asesores comerciales sugieren los siguientes productos, basndose en estudios


de mercado que han realizado para estimar la cifra de negocios que cada nuevo producto
generar:
Lpices de colores con un beneficio de 200.000, esta cuanta es la que
relacionamos con la utilidad que mencionbamos en la definicin.
Gomas de borrar con un beneficio de 100.000
Minas para portaminas con un beneficio de 250.000
Carboncillos con un beneficio de 150.000

Por su parte, los asesores financieros han estudiado los costes que implica reformar
las instalaciones productivas para poder incrementar la cartera de productos, estos costes se
podran equiparar al volumen que ocupan los objetos dentro de la mochila, por tanto, la
suma de estos costes deber ser menor a la capacidad de la mochila, en este caso, los
recursos financieros sobrantes: 300.000.
Coste de las instalaciones para fabricar lpices de colores: 75.000
Coste de las instalaciones para fabricar gomas de borrar: 150.000
Coste de las instalaciones para fabricar minas para portaminas: 100.000
Coste de las instalaciones para fabricar carboncillos: 50.000

Intuitivamente escoger fabricar aquel producto que mayores beneficios le d, si con


la inversin en la fabricacin de ese nuevo producto no consume los 300.000 podr
plantearse aumentar an ms su cartera y as sucesivamente mientras le resten recursos.

12

Modelo de Reposicin De Equipo

Modelo de Inventario

13

Naturaleza Recursiva

Los clculos de programacin dinmica se hacen en forma recursiva ya que la


solucin optima de un subproblema se usa como dato para el siguiente subproblema. Para
cuando se resuelve el ultimo subproblema queda a la mano la solucin optima de todo
problema. La forma en la que se hacen los clculos recursivos dependen de como se
descomponga el problema original. En particular, los subproblema se vinculan
normalmente mediante restricciones comunes. Al pasar de un subproblema al siguiente se
debe mantener la factibilidad de esas restricciones comunes.

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

Para resolver el problema con programacin dinmica primero se descompone


en etapas, delimitadas por las lneas verticales interrumpidas de la figura 10.2. A
continuacin se hacen los clculos para cada etapa por separado.

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 e tapa

14

inmediata posterior. La etapa 1 tiene tres nodos finales, 2, 3 y 4, y sus clculos son
sencillos.

Recursin En Avance Y En Reversa

En el ejemplo anterior, se usa la recursin en avance, en la que los clculos se


hacen de la etapa 1 a la etapa 3. Ese mismo ejemplo se puede resolver por recursin
en reversa, comenzando en la etapa 3 y terminando en la etapa 1.

Con las recursiones en avance y en reversa se obtiene la misma solucin.


Aunque el procedimiento en avance parece ms lgico, en las publicaciones sobre
programacin dinmica se usa la recursin en reversa de modo invariable. La razn de
esta preferencia es que, en general, la recursin en reversa es ms eficiente, desde el
punto de vista computacional. Demostraremos el uso de la recursin en reversa
aplicndola al ejemplo 10.1-1. La demostracin tambin dar la oportunidad de
presentar los clculos de programacin dinmica en una forma tabular compact a.
Ejemplo 10.2-1

La ecuacin recursiva en reversa para el ejemplo 10.2-1 es

15

f {xi) _

mn{d{xi, x+1) + f+l{xi+1)}, i _ 1, 2, 3

Etapa 3. Como el nodo 7 {x 4 _ 7) est conectado con los nodos 5 y 6 (x 3 _ 5 y


6) con exactamente una ruta a cada uno, no hay alternativas para elegir, y los
resultados de la etapa 3 se pueden resumir como sigue:
Solucin ptima

d{x3, x4)

/3(x3) x4

x3

x4 _ 7

97

67

d{x 1, x 2) + f2 {x 2)

Solucin ptima

x1

x2_ 2

x2_ 3

x2_ 4

7 +21 _28

8 +15 _ 23

5 +16 _21

f1{x 1)
21

x2
4

Etapa 2. La ruta (2, 6) est bloqueada, porque no existe. Dada f 3 {x 3) desde la


etapa 3, se pueden comparar las alternativas factibles como se ve en el siguiente
cuadro:

dfe

3) + f3{x3)

x
x

2
3
4

3 _ 5

12 + 9 _ 21 -8+ 9 _ 17
7+ 9 _ 16

Solucin ptima
x3 _ 6

9+6_ 15
13 + 6 _ 19

,/2( x 2 )
21
15
16

5
6
5

La solucin ptima de la etapa 2 se lee como sigue: si usted est en las ciudades 2
o 4, la ruta ms corta pasa por la ciudad 5, y si est en la ciudad 3, la ruta ms corta
pasa por la ciudad 6.

16

Etapa 1. Desde el nodo 1 se tienen tres rutas alternativas: (1, 2), (1, 3) y (1, 4). Se
usa f2{x2 ) desde la etapa 2 para calcular el siguiente cuadro.
d{x 3 , x 4 )
x

5
6

Solucin ptima
/3( x 3) x 4

x4 _ 7
9
6

97
67

La solucin ptima en la etapa 1 indica que la ciudad 1 est enlazada con la


ciudad 4. A continuacin, la solucin ptima en la etapa 2 enlaza la ciudad 4 con la
ciudad 5. Por ltimo, la solucin ptima en la etapa 3 conecta la ciudad 5 con la
ciudad 7. As, la ruta completa es 1

4 S 5 S 7, y la distancia asociada es de 21 millas.

17

CONCLUSIN

La programacin dinmica, es una tcnica que permite la resolucin de problemas


que tratan de alcanzar determinados fines, a travs, de

una serie de etapas o fases

compuestas de diversos estados, de estos es necesario hacer una eleccin, de tal manera que
se alcance la mxima efectividad global, tambin podemos decir, que es una tcnica
matemtica que trata con la optimizacin de procesos de decisin. La optimizacin es por
fases en vez de simultnea.