Está en la página 1de 29

Universidad Nacional Experimental

Politécnica
“Antonio José de Sucre”
Vice-Rectorado Puerto Ordaz
Dirección de Investigación y Post Grado
Programa Maestría en Ingeniería industrial

Introducción a la programación dinámica

Prof. Félix Martínez


Ingeniero Industrial-UNEXPO
Magíster en Tecnología de la Información-UNEG
Ingeniero de Proyectos en CVG VENALUM
Coordinador de la Maestría en Ingeniería Industrial- UNEXPO
Programación Dinámica

Resuelve un

Problema

Descomponiéndolo
en

Etapas La solución de todos


los sub-problemas
Donde cada una de ellas se permite solucionar el
constituye en un problema global

Sub-problema Recursividad
La solución de un sub-
problema es el dato o
entrada del siguiente
Ruta Más Corta
Supongamos que se trata de seleccionar la ruta más corta entre dos
ciudades. La red 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.

2 12

7 5 9
8
8
1 3 9
7

5
6 6
7

4 13
Etapa 1 Etapa 2 Etapa3

Se descompone el
2 12 problema en etapas
7 5 9
8
8
1 3 9
7

5
6 6
7

4 13
Fi(xi) = mín {d(xi, xi+1) + f i+1(xi+1)}, i=1, 2, 3
Todas las rutas viables
Donde f4(x4) = 0 para x4=7, el orden asociado de cálculos es f3→f2→f1

Etapa 1 Etapa 2 Etapa3

Se descompone el
2 12 problema en etapas
7 5 9
8
8
1 3 9
7

5
6 6
7

4 13
Etapa 3
Fi(xi) = mín {d(xi, xi+1) + f i+1(xi+1)}, i=1, 2, 3
sujeta a todas las rutas viables
Donde f4(x4) = 0 para x4=7, el orden asociado de cálculos es f3→f2→f1

Etapa 3. como el nodo 7 (x4=7) está conectado con los nodos 5 y 6 (x3= 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:

5 9
d(x3,x4) Solución óptima
x3 x4=7 f3(x3) x4*
5 9 9 7 7
6 6 6 7
6 6
Etapa 2

Etapa 2. La ruta (2,6) está bloqueada, porque no existe. Dada


f3(x3) desde la etapa 3, se pueden comparar las alternativas
factibles como se ve en el siguiente cuadro: 2 12

d(x2, x3) + f3(x3) Solución óptima 5


8
x2 x3=5 x3=6 f2(x2) x3*
2 12+9=21 - 21 5 3 9
3 8+9=17 9+6=15 15 6
4 7+9=16 13+6=19 16 5
7 6
La solución óptima de la etapa 2 se lee como sigue: si usted
está en las ciudades 2 o 4, la ruta más corta pasa por la ciudad 4 13
5, y si está en la ciudad 3, la ruta más corta pasa por la ciudad
6.
Etapa1

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(x1, x2) + f2(x2) Solución óptima


x1 x2=2 x2=3 x2=4 f1(x1) X2*
1 7+21=28 8+15=23 5+16=21 21 4 2

7
La solución óptima en la etapa 1 indica que la
ciudad 1 está enlazada con la ciudad 4. A 8
continuación, la solución óptima en la etapa 2 1 3
enlaza la ciudad 4 con la ciudad 5. Por último, la
solución óptima en la etapa 3 conecta la ciudad
5
5 con la ciudad 7, así, la ruta completa es 1 → 4
→ 5 → 7, y la distancia asociada es de 21 millas.

4
Se concatenan las soluciones de los sub-problemas (etapas),
para obtener la solución global
d(x1, x2) + f2(x2) Solución óptima
x1 x2=2 x2=3 x2=4 f1(x1) X2*
1 7+21=28 8+15=23 5+16=21 21 4

d(x2, x3) + f3(x3) Solución óptima


x2 x3=5 x3=6 f2(x2) x3*
2 12+9=21 - 21 5
3 8+9=17 9+6=15 15 6
4 7+9=16 13+6=19 16 5

d(x3,x4) Solución óptima


x3 x4=7 f3(x3) x4*
5 9 9 7
6 6 6 7
2 12

7 5 9
8
8
1 3 9
7

5
6 6
7

4 13
Implementación en el software Winqsb

Se selecciona, en el software Winqsb, la plantilla Dynamic Programming.


Seguidamente, en el menú principal se elige File y luego la opción New
Problem
A continuación, en la interfaz: DP Problem Specification, se elige la
opción Stagecoach (Shortest Route) Problem. Se establece el título
del problema y cantidad de nodos de la red.
Implementación en el software Winqsb
Se agregan los datos con las distancias correspondientes en la matriz

2 12
7 5 9
8
1 8 3 9 7
5 6 6
7
4 13
Solución con el software Winqsb

La solución óptima en la etapa 1 indica que la ciudad 1 está enlazada con la ciudad 4. A
continuación, la solución óptima en la etapa 2 enlaza la ciudad 4 con la ciudad 5. Por
último, la solución óptima en la etapa 3 conecta la ciudad 5 con la ciudad 7, así, la ruta
completa es 1 → 4 → 5 → 7, y la distancia asociada es de 21 millas.
Modelo de la mochila
o
carga de contenedor
Modelo de la mochila o
carga de contenedor

Trata sobre la

Selección

De n

Artículos Optimizar Valor Global


el
Para

De una carga
almacenada en un

Contenedor
Los tres elementos del modelo son

1. La etapa i está representada por el artículo i, i = 1,2,…,n.


2. Las alternativas en la etapa i son la cantidad de unidades del artículo i,
mi=1,2,3…,W/wi, donde W/wi es el mayor entero que es menor o igual a W/wi .
Esta definición permite que la solución distribuya algunos, ninguno, o todos los
recursos W a cualquiera de los m artículos. El rendimiento para mi es rimi.
3. El estado en la etapa i está representado por xi, el peso total asignado a las
etapas (artículos) i, i + 1,…, y n. Esta definición reconoce que el límite de peso es
la única restricción que liga a todas las n etapas.

Defina fi(xi) = rendimiento máximo para las etapas i, i+ 1,y n, dado el estado xi
Paso 1. Exprese fi(xi) como una función de fi+1(xi+1) como sigue:

fn+1(xn+1)=0
fi(xi)=máx {rimi + fi+1(xi+1)}
mi=0,1,…,W/wi
xi≤W
Paso2.Exprese xi+1 como una función de xi para asegurar la consistencia con
el lado izquierdo de la ecuación recursiva. Por definición, xi –xi+1 = wimi
representa el peso utilizado en la etapa i. Por lo tanto,xi+1 = xi - wimi, y la
ecuación recursiva apropiada se da como .

fi(xi)=máx {rimi + fi+1(xi-wimi)}


mi=0,1,…,W/wi
xi≤W
Ejemplo 1. Un barco de 4 toneladas puede cargarse con uno o más de
tres artículos. La siguiente tabla da el peso unitario, wi, en toneladas y el
ingreso unitario en miles de dólares, ri, para el artículo i. El objetivo es
determinar la cantidad de unidades de cada artículo que maximizará el
rendimiento total.

Artículo wi ri
1 2 31
2 3 47
3 1 14

Como el peso unitario wi y el peso máximo W son enteros, El estado xi asume


sólo valores enteros.
Capacidad de barco = 4 toneladas
Peso unitario de artículo 3=1 tonelada
Posible configuración

1 1 1 1
1 1
1 1 Genera un beneficio de 56 mil dólares

Posible configuración Peso unitario de artículo 3=1 tonelada

1 1

1 1 Genera un beneficio de 28 mil dólares


Capacidad de barco= 4 toneladas

Posible configuración

Peso unitario de artículo 2=3 toneladas

3
3

Genera un beneficio de 47 mil dólares

Posible configuración Peso unitario de artículo 2=3 toneladas


No supera
Peso unitario de artículo 1=1 tonelada la
capacidad
1 del barco
1 3
3

Genera un beneficio de 61 mil dólares


Capacidad de barco= 4 toneladas
Peso unitario de artículo 1= 2 toneladas

Posible configuración
2

2
Genera un beneficio de 31 mil dólares

Posible configuración
Peso unitario de artículo 1=2 toneladas

2
2 2
2
Genera un beneficio de 62 mil dólares
¿Cuál es la configuración que genera el mayor beneficio?
Se determina mediante

Programación Dinámica

Resuelve un

Problema

Descomponiéndolo

La solución de todos
Etapas
los sub-problemas
permite solucionar el
Donde cada una de ellas se
problema
constituye en un

Sub-problema Recursividad

La solución de un sub-problema es el
dato o entrada del siguiente
Etapa 3. El peso exacto a ser asignado a la etapa 3 (artículo 3) no se conoce con
anticipación pero puede suponer uno de los valores 0,1,…,y 4 (porque W = 4
toneladas y w3 = 1 tonelada). Un valor de m3 es factible sólo si w3m3 ≤ x3. Por lo
tanto se excluyen todos los valores no factibles (con w3m3≤x3).El ingreso para el
artículo 3 es 14m3.En consecuencia, la ecuación recursiva para la etapa 3 es

La siguiente tabla resume los cálculos para la etapa 3.


f3(x3)= máx {14m3}
m3=0,1,…,4

14m3 Solución óptima


x3 m3=0 m3=1 m3=2 m3=3 m3=4 f3(x3) m3 *
0 0 - - - - 0 0
1 0 14 - - - 14 1
2 0 14 28 - - 28 2
3 0 14 28 42 - 42 3
4 0 14 28 42 56 56 4
Etapa 2. máx {m2}=4/3, o m2=0,1, f2(x2)= máx {47m2 + f3(x2 – w2m2)}
m2=0,1

47m2 + f3(x2 – w2m2) Solución óptima

X2 m2=0 m2=1 f2(x2) m2 *


0 0 - 0 0
1 0+14=14 - 14 0
2 0+28=28 - 28 0
3 0+42=42 47+0=47 47 1
4 0+56=56 47+14=61 61 1
Etapa 1. máx {m1}=4/2, o m1=0,1,2 f1(x1)= máx {31m1 + f2(x1 – w1m1)}
m1=0,1,2
31m1 + f2(x1 – w1m1) Solución óptima
x1 m1=0 m1=1 m1=2 f1(x1) m1 *
0 0 - - 0 0
1 0+14=14 - - 14 0
2 0+28=28 31+0=31 - 31 1
3 0+47=47 31+14=45 - 47 0
4 0+61=61 31+28=59 62 62 2

La solución óptima se determina como sigue: Dado que W = 4 toneladas ,del estado 1, x1 = 4
da la alternativa óptima; es decir que en el barco se cargarán dos unidades del artículo 1. Esta
asignación no deja disponibilidad de almacenamiento, para las etapas 2 y 3. Por lo tanto, la
solución óptima completa es m1*=2, m2*=0 y m3*=0. El rendimiento asociado es igual a
$62,000
Solución óptima

Capacidad de barco= 4 toneladas

Posible configuración
Peso unitario de artículo 1=2 toneladas

2
2 2
2
Genera un beneficio de 62 mil dólares
Implementación en el software Winqsb
La solución óptima completa es m1*=2, m2*=0 y m3*=0.El rendimiento asociado es igual a
$62,000

También podría gustarte