Está en la página 1de 37

PROGRAMACIÓN DINÁMICA DETERMINISTICA

Conceptos Básicos
INTRODUCCION A LA PDD

Técnica que resuelve diversos problemas de OPTIMIZACION; llega a la


solución trabajando HACIA ATRÁS, partiendo del final del problema
hacia el principio. Proporciona un procedimiento sistemático para
determinar la combinación de desiciones que MAXIMIZA LA UTILIDAD
TOTAL.

Es útil para resolver problemas de REDES, INVENTARIOS y


ASIGNACION DE RECURSOS.

La PD encuentra la SOLUCION OPTIMA de un problema con “n”


VARIABLES descomponiéndolo en “n” ETAPAS, donde cada etapa es
un SUBPROBLEMA DE UNA SOLA VARIABLE. La naturaleza de la
etapa difiere de acuerdo con el problema de optimización.
ELEMENTOS DE UN MODELO DE PDD

Los elementos que definen un problema de


programación dinámica son :

o ETAPAS

o ESTADOS

o VARIABLES DE DESICION

o FUNCION RECURRENTE
ELEMENTOS DE UN MODELO DE PDD

LAS ETAPAS (n)

Son el periodo de tiempo, el lugar, el contexto, la


fase ó la situación en donde se produce un cambio
debido a una desición.
Solo puede tomarse una única desición en cada
etapa.
ELEMENTOS DE UN MODELO DE PDD

LOS ESTADOS (en)


Los estados muestran la situación actual del sistema cuando
nos encontramos en la etapa n. Cada etapa tiene su propio
estado. El estado varía según la situación que se ha de
modelar. Una ayuda para una correcta definición consiste en
preguntar :
1. ¿Qué relaciones ligan a las etapas entre sí?
2. ¿Qué información se requiere para tomar decisiones
factibles en la etapa actual independientemente de cómo se
hayan tomado las decisiones en las etapas precedentes?
ELEMENTOS DE UN MODELO DE PDD

LAS VARIABLES DE DESICION (Xn)

Hacen referencia a toma de desiciones que se


producen en una etapa y que provoca un cambio en
el estado actual del sistema.
Cada etapa tiene su propia variable de desición.
ELEMENTOS DE UN MODELO DE PDD

LA FUNCION RECURRENTE (fn)

La función de recurrencia refleja el comportamiento


del sistema en función de los estados y las variables
de desición. Cada etapa tiene su propia función
recurrente.
APLICACIÓN DE LA PDD

La aplicación de la PD se divide en 2 fases :


1. ANALISIS : Se empieza por la última etapa y se analiza todas las opciones
posibles de dicha etapa. Después se pasa a la etapa anterior, se evalua todas las
opciones posibles y se agrega a los resultados obtenidos previamente. Asi
sucesivamente hasta llegar a la etapa 1.

2. DECISIÓN : En esta fase los cálculos se realizan al contrario (desde el principio


hasta el final). Empezamos por la etapa 1 y se decide por la mejor opción posible, y
asi se va pasando por todas las etapas eligiendo la mejor opción posible en cada una.

Llegado a éste punto obtenemos la solución final al problema.


CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA

Suponga que debemos seleccionar la ruta más corta entre dos ciudades.
La red inferior muestra las rutas posibles entre el nodo de inicio 1 y el
nodo destino 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, donde vemos que
hay cinco rutas. Sin embargo, en una red grande, la enumeración
exhaustiva no se puede manejar de manera computacional.
CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA

Para resolverlo con PD primero se descompone el problema en etapas,


(líneas punteadas). Luego hacer cálculos para cada etapa por separado.

Debemos calcular las distancias (acumuladas) más cortas a todos los


nodos terminales de una etapa, luego esos datos los usaremos como
información para la etapa inmediata posterior. La etapa 1 tiene tres nodos
finales, 2, 3 y 4, y sus cálculos son sencillos.
CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA

La ETAPA 2 tiene dos nodos extremos (5 y 6). Para ir al nodo 5, hay tres
rutas posibles : (2,5), (3,5) y (4,5). Esta información, junto con las
distancias más cortas a los nodos 2, 3 y 4, determina la distancia
(acumulada) más corta al nodo 5 de la siguiente forma :
CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA
CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA
CASO 1 : EL PROBLEMA DE LA RUTA MAS CORTA
RESUELVA UD. EL SIGUIENTE EJERCICIO

10
5 17
8
4
9
10
9

8
9
9

Solucion :
Distancia más corta = 21 Millas, Ruta : 1, 3, 5, 7
LA ECUACION RECURSIVA

El ejercicio anterior nos muestra que los cálculos recursivos pueden


expresarse matemáticamente de la siguiente manera :

Sea fi(Xi) la distancia más corta al nodo Xi en la etapa i, y definimos :


d(Xi-1, Xi) como la distancia del nodo Xi-1 al nodo Xi.

La Ecuacion Recursiva de PD se define como :

Todas las distancias se miden desde 0 al establecer f0(X0 = 1) = 0.


La ecuación recursiva principal expresa la distancia más corta fi(Xi) en la
etapa i como una función del siguiente nodo Xi
RECURSIVIDAD HACIA ADELANTE (AVANCE) Y
HACIA ATRÁS (RETROCESO)

El ejercicio desarrollado utiliza la recursividad hacia adelante, donde


los cálculos van de la etapa 1 a la etapa 3.

El mismo ejemplo puede resolverse por medio de la recursividad hacia


atrás, comenzando en la etapa 3 y terminando en la etapa 1, y llegar al
mismo resultado.

Aun cuando la recursividad hacia adelante parece más lógico, la


mayor parte de la literatura de PD utilizan la recursividad hacia atrás.

Veamos el mismo ejemplo usando al recursividad hacia atrás :


RECURSIVIDAD HACIA ADELANTE (AVANCE) Y
HACIA ATRÁS (RETROCESO)
La Ecuación Recursiva Inversa para el mismo ejemplo es :
RECURSIVIDAD HACIA ADELANTE (AVANCE) Y
HACIA ATRÁS (RETROCESO)
RECURSIVIDAD HACIA ADELANTE (AVANCE) Y
HACIA ATRÁS (RETROCESO)
EL PROBLEMA DE LA MOCHILA

Consiste en determinar los artículos más valiosos que un combatiente


debe cargar en su mochila.
Representa un modelo de asignación de recursos, los mismos que
son limitados por varias actividades económicas. El objetivo es
maximizar el rendimiento total.
También se le conoce como : problema del equipo de vuelo
(determinar los artículos más valiosos que un piloto de jet lleva a
bordo), y problema de carga de un contenedor (determinar los
artículos más valiosos que se cargarán en un buque).
EL PROBLEMA DE LA MOCHILA

Problema General :
Asignar “n” artículos a una mochila con capacidad total (en peso) W.

mi = Unidades del artículo i a poner en la mochila


ri = Ingreso unitario que deja el articulo i
wi = Peso del artículo i.
EL PROBLEMA DE LA MOCHILA

Elementos del modelo :

1) Etapas “i” : C/u de los artículos


2) Variables “mi”: Cantidad de und del artículo i a poner en la mochila
mi <= (W/wi)
3) Estado (Xi) : Capacidad de Peso disponible en la etapa i.

El límite de peso es la única restricción que liga a todas las etapas.


Caso 2 : APLICACIÓN DEL PROBLEMA DE LA MOCHILA

Un barco de 4 Tm puede cargarse con uno o más de tres artículos. La


siguiente tabla muestra el peso unitario wi, en Tm y el ingreso unitario ri
en $Miles para el artículo i. El objetivo es determinar que cantidad de
cada artículo debemos cargar al barco para maximizar el rendimiento
total.

mi = Unidades del producto i que subo al barco


Dado que wi y W son enteros, el estado xi asume sólo valores enteros.
Caso 2 : APLICACIÓN DEL PROBLEMA DE LA MOCHILA

ETAPA 3 :
En la etapa 3, m3 puede ser : 0,1,2,3 ó 4 porque su peso es 1 Tm y el barco
tiene 4 Tm de capacidad.

El ingreso que deja el articulo 3 = (14)(m3), entonces la función recursiva será :


Caso 2 : APLICACIÓN DEL PROBLEMA DE LA MOCHILA

ETAPA 2 :
En la etapa 2, m2 solo puede ser 0 ó 1 porque su peso es 3 Tm y el barco solo
tiene 4 Tm de capacidad. En esta etapa la función recursiva será :
Datos de la Etapa 3 :

Cálculos para la Etapa 2 :


Caso 2 : APLICACIÓN DEL PROBLEMA DE LA MOCHILA

ETAPA 1 :
En la etapa 1, m1 puede ser : 0, 1 ó 2 porque su peso es 2 Tm y el barco tiene
4 Tm de capacidad. La función recursiva será : Datos de la Etapa 2 :

Cálculos para la Etapa 1 :


Caso 2 : APLICACIÓN DEL PROBLEMA DE LA MOCHILA
Etapa 1 :

Etapa 2 :

Etapa 3 :
Caso 3 : EL CAMINO MAS CORTO

Joe Cougar vive en Nueva York, pero proyecta viajar en su automóvil


hasta Los Ángeles en busca de fama y fortuna. Los fondos de Joe son
limitados, así que decide pasar cada noche de su viaje en la casa de un
amigo. Joe tiene amigos en Columbus, Nashville, Louisville, Kansas
City, Omaha, Dallas, San Antonio y Denver. Joe sabe que después de
manejar un día puede llegar a Columbus, Nashville o Louisville.
Después de manejar dos días puede llegar a Kansas City, Omaha o
Dallas. Después de tres días de viaje puede llegar a San Antonio o
Denver. Luego de cuatro días de manejar puede llegar finalmente a Los
Ángeles. Para minimizar la cantidad de millas recorridas, ¿dónde debe
pasar Joe cada noche del viaje?. Las millas reales por carretera entre
las ciudades se dan en la figura 1.
Caso 3 : EL CAMINO MAS CORTO

Calumbus 680 Kansas City


610
2 790 5
790 Denver
550 1050
8
580 540 1030
Nueva York Nashville Omaha Los Angeles
900 760
1 3 6 940 10
660
790 San Antonio 1390
770 9
510
Luisville 700 Dallas 270
4 830 7

Etapa 1 Etapa 2 Etapa 3 Etapa 4


PROBLEMA DE ASIGNACION

Una empresa a contratado a 3 personas para asignar a 3 tareas (A, B y


C). Solamente se pueden asignar 2 personas como máximo a una
tarea. La utilidad que genera asignar 0, 1 ó 2 personas a una tarea se
muestra en la siguiente tabla :

Cuantas personas debemos asignar a cada tarea para Maximizar la


Utilidad …?
Solución :
ETAPAS (n) :
Cada una de las 3 TAREAS a donde iremos asignando trabajadores

ESTADOS (en) :
Cantidad de TRABAJADORES DISPONIBLES para asignar en la Etapa n

VARIABLES DE DESICION (Xn) :


Cantidad de TRABAJADORES que se ASIGNAN en la etapa n

Según enunciado, se pueden asignar hasta un máximo de 2


trabajadores en cualquiera de las etapas n
Solución : FASE DE ANALISIS :

o Empezamos por la última etapa.


o La FR en la etapa 3 solo hará referencia a la tercera etapa,
ya que no hay nada después de ella.
o Por lo tanto la FR de la 3ra. etapa es :

f3(e3,X3) = Rendimiento (X3)


ETAPA 3 :
Solución :
ETAPA 2 :
La FR de la etapa 2 (osea f2) hace referencia a la utilidad de la
etapa 2 más la utilidad de las etapas posteriores, osea :

f2(e2,X2) = Rendimiento (X2) + f*3(e2 -X2)

Aquí termina el análisis


de la Etapa 2
Solución :
ETAPA 1 :
La FR de la etapa 1 (osea f1) hace referencia a la utilidad de la
etapa 1 más la utilidad de las etapas posteriores, osea :

f1(e1,X1) = Rendimiento (X1) + f*2(e1 –X1)

Aquí termina el
análisis de la Etapa 1
Solución :
FASE DE DESICION :
1. El valor obtenido en la tabla de la Etapa 1, es el rendimiento óptimo
acumulado, por lo tanto la utilidad máxima que se puede conseguir es
13.

1. En la etapa 1 debemos asignar 2 personas, por lo tanto solo queda 1


persona por asignar en la etapa 2.

1. En el cuadro de resultados de la etapa 2, yendo al estado de “me


queda 1 persona por asignar”, la mejor desición es asignar 0
personas, por lo tanto me queda 1 persona por asignar en la etapa 3.
1. En el cuadro de resultados de la etapa 3, yendo al estado de “me
queda 1 persona por asignar”, la mejor desición es asignar 1 persona.
GRACIAS POR SU ATENCION

También podría gustarte