0% encontró este documento útil (0 votos)
127 vistas37 páginas

Modelos y Herramientas de Decisión. Programación Dinámica I: U P C - B T

Este documento presenta un ejemplo de resolución de un problema de programación dinámica determinista mediante el método de resolución hacia atrás. El ejemplo trata sobre el viaje del Halcón Milenario desde D'Qar hasta Ahch-to en 4 etapas, buscando minimizar el riesgo total del viaje. Se formaliza el problema indicando las variables de decisión, los costes por etapa y el coste mínimo por estado-etapa, y se resuelve de forma iterativa determinando la mejor ruta etapa a etapa desde la última hasta la primera.

Cargado por

ogando22
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
127 vistas37 páginas

Modelos y Herramientas de Decisión. Programación Dinámica I: U P C - B T

Este documento presenta un ejemplo de resolución de un problema de programación dinámica determinista mediante el método de resolución hacia atrás. El ejemplo trata sobre el viaje del Halcón Milenario desde D'Qar hasta Ahch-to en 4 etapas, buscando minimizar el riesgo total del viaje. Se formaliza el problema indicando las variables de decisión, los costes por etapa y el coste mínimo por estado-etapa, y se resuelve de forma iterativa determinando la mejor ruta etapa a etapa desde la última hasta la primera.

Cargado por

ogando22
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 37

UNIVERSITAT POLITÈCNICA DE CATALUNYA – BARCELONATECH

OPE – ORGANIZACIÓN DE LA PRODUCCIÓN Y DE EMPRESA (ASPECTOS TÉCNICOS, JURÍDICOS


Y ECONÓMICOS EN PRODUCCIÓN )

Modelos y herramientas de decisión. Programación dinámica I


MODELOS Y HERRAMIENTAS DE DECISIÓN 240EO023 – Máster Universitario en Ingeniería de Organización
(240MUEO) - ETSEIB

Joaquín Bautista-Valhondo
OPE-PROTHIUS – OPE-MSc.2016/22 240EO023 (20160408) - http://futur.upc.edu/OPE - www.prothius.com -
Departamento de Organización de Empresas – ETSEIB · UPC

MHD 16 – Pro-Din (I): 0


J. Bautista
Contenido
§  Introducción
§  Ejemplo 1: El despertar de la Fuerza · El encuentro. Presentación, formalización y
resolución
§  Programación Dinámica. Características de los problemas
§  Programación Dinámica. Tipología
§  Programación Dinámica determinista. Nomenclatura
§  El problema de distribución de esfuerzos
§  Ejemplo 2: El problema de los 4 Equipos de investigación. Presentación, formalización y
resolución
§  El problema Dynamic Lot Sizing (DLS)
§  Ejemplo 3: El problema del lote dinámico. Presentación y resolución lotes estáticos
§  Ejemplo 3. Programa matemático y resolución Programación Dinámica
§  Ejemplo 3. Resolución WAGNER-WHITIN y Grafo polietápico

MHD 16 – Pro-Din (I): 1


J. Bautista
Introducción
Decisiones multietápicas

Una etapa: x
n = etapa (n = 1, 2,.., N )
xn = variable de decisión en la etapa n
s! s!
Sistema sn = estado al inicio de la etapa n
sn+1 = estado al final de la etapa n
r rn ( sn , sn+1, xn ) = rendimiento en la etapa n
N etapas:

x1 xn xN

1 n N
s1 s2 sn sn+1 sN sN +1
r1 rn rN

MHD 16 – Pro-Din (I): 2


J. Bautista
Ejemplo 1. Presentación (1)
Ejemplo 1 · El despertar de la Fuerza · El encuentro (1) · Enunciado:
La joven REY (recolectora de chatarra en Jakku) está ahora al mando del HALCÓN MILENARIO.
Junto a CHEWBACCA y R2-D2, REY parte hacia Ahch-to (J) para contactar con LUKE SKYWALKER.
El viaje, programado desde D'Qar (A) en 4 etapas (figura 1), debe tener el menor riesgo posible.
(1) Basado en el problema de la Diligencia de HARVEY M. WAGNER (Standford University)

Etapa 1 Etapa 2 Etapa 3 Etapa 4 Etapa 5 (f.)

B E

H
A: D'Qar
A C F J J: Ahch-to

D G

Figura 1: Esquema polietápico del viaje del Halcón Milenario desde D’Qar hasta Ahch-To.

MHD 16 – Pro-Din (I): 3


J. Bautista
Ejemplo 1. Presentación (2)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Riesgo aditivo entre trayectos
(Valoración de 0 a 100):
H I
E 10 40
B C D F 60 30
A 20 40 30 G 30 30
Riesgo Etapa 1 Riesgo Etapa 3

E F G
B 70 40 60 J A–B–F–I–J
C 30 20 40 H 30 A–D–F–I–J

D 40 10 50 I 40

Riesgo Etapa 2 Riesgo Etapa 4 Rutas: 3! 3! 2 = 18

MHD 16 – Pro-Din (I): 4


J. Bautista
Ejemplo 1. Formalización
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Variables y costes:

Variables de decisión: Destino inmediato de la etapa n : n-ésimo viaje del Halcón Milenario.

xn (n = 1, 2, 3, 4) Ruta : A ! x1 ! x2 ! x3 ! x4 , donde x4 = J

Coste de la mejor política (s,xn) : Coste (riesgo) al inicio de la etapa n (n-ésimo viaje), en
función del estado de partida y de la decisión a tomar, para afrontar las etapas restantes.

fn (s, xn ) (n = 1, 2, 3, 4) Estado: s, Decisión: xn

Coste mínimo estado-etapa : Coste mínimo (riesgo) al inicio de la etapa n (n-ésimo viaje),
en función del estado de partida, tomando la mejor decisión para afrontar las etapas
restantes.
fn* (s) = min fn (s, xn ) = fn (s, xn* ) (n = 1, 2, 3, 4, 5)
xn
*
fn (s, xn ) = cs,xn + fn+1 (xn ) (n = 1, 2, 3, 4)

MHD 16 – Pro-Din (I): 5


J. Bautista
Ejemplo 1. Resolución (1)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Resolución Etapa 4:

n = 4 : s4 ! {H, I }, x4 ! { J } J
f4 (s4 , x4 ) = cs,x4 + f5* (x4 ) H 30

f4* (s4 ) = min f4 (s4 , x4 ) = cs,J + f5* (J ) I 40


x4

x4* = J, f5* (J ) = 0

H f4 (s, x4 )
* s4 / x 4 J f4* (s) x4*
J f (J ) = 0
5
H 30 30 J
I I 40 40 J

f4* (s4 ) = min f4 (s4 , x4 ) = cs4 ,J + f5* (J )


x4

MHD 16 – Pro-Din (I): 6


J. Bautista
Ejemplo 1. Resolución (2)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Resolución Etapa 3:

n = 3 :!s3 ! {E, F, G},!! x3 ! {H, I } H I


f3 (s3, x3 ) = cs3 ,x3 + f4* (x3 ) E 10 40
F 60 30
E G 30 30

H f4* (x3 ) = 30
f3 (s3, x3 )
F
s3 / x3 H I f3* (s) x3*

I f4* (x3 ) = 40 E 40 80 40 H
F 90 70 70 I
G
G 60 70 60 H
f3* (s3 ) = min f3 (s3, x3 ) = f3 (s3, x3* )
x3

MHD 16 – Pro-Din (I): 7


J. Bautista
Ejemplo 1. Resolución (3)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Resolución Etapa 2:

E F G
n = 2 :!s2 ! {B, C, D},!! x2 ! {E, F, G}
B 70 40 60
f2 (s2 , x2 ) = cs2 ,x2 + f3* (x2 )
C 30 20 40
D 40 10 50
B E f3* (x2 ) = 40

f2 (s2 , x2 )
C F f3* (x2 ) = 70
s2 / x2 E F G f2* (s) x2*
B 110 110 120 110 E,F

*
C 70 90 100 70 E
D G f (x2 ) = 60
3
D 80 80 110 80 E,F
f2* (s2 ) = min f2 (s2 , x2 ) = f2 (s2 , x2* )
x2

MHD 16 – Pro-Din (I): 8


J. Bautista
Ejemplo 1. Resolución (4)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Resolución Etapa 1:

n = 1:!s1 ! { A},!! x1 ! {B, C, D} B C D


f1 (s1, x1 ) = cs1,x1 + f2* (x1 ) A 20 40 30

B f2* (x1 ) = 110

A C f2* (x1 ) = 70 f1 (s, x1 )


s1 / x1 B C D f1* (s) x1*
A 130 110 110 110 C,D
D f2* (x1 ) = 80

f1* (s1 ) = min f1 (s1, x1 ) = f1 (s1, x1* )


x1

MHD 16 – Pro-Din (I): 9


J. Bautista
Ejemplo 1. Resolución (5)
Ejemplo 1 · El despertar de la Fuerza · El encuentro · Resolución Etapas 1 a 4 · Trayectorias:

f3* (E) = 40
B E
30 f4* (H ) = 30
10
*
H 30
f (A) = 110
1 40
40
A C F J
f2* (C) = 70 f3* (F) = 70 f5* (J ) = 0
30 I 40
30 10
f4* (I ) = 40
D G
f2* (D) = 80

" Ruta1: A ! C ! E ! H ! J &


A: D'Qar $ $
# Ruta 2 : A ! D ! E ! H ! J '
J: Ahch-to $ Ruta 3 : A ! D ! F ! I ! J $
% (

MHD 16 – Pro-Din (I): 10


J. Bautista
Programación Dinámica. Características de los problemas
Vocabulario y atributos:
•  División en etapas: Agregación de decisiones simples para tomar una decisión compleja.
•  Etapa: Se caracteriza por un conjunto de estados.
•  Decisión: Transición de un estado a otro con valor económico. El efecto de la política de
decisión es en cada etapa transformar el estado actual a otro del inicio de la etapa siguiente.
•  Valor Función económica: Suma de valores económicos de las transiciones.
•  Política: Secuencia de decisiones.
•  Política óptima: Dado un estado actual, una política óptima para las etapas restantes es
independiente de la política adoptada en etapas anteriores.
•  Principio de optimalidad: La decisión inmediata óptima depende sólo del estado actual y
no de cómo se llegó ahí.
•  Ecuación de recurrencia: Permite establecer la política óptima a partir de cada estado
posible.
•  Ecuación funcional: Nombre de la ecuación de recurrencia cuando el número de etapas no
está acotado.

MHD 16 – Pro-Din (I): 11


J. Bautista
Programación Dinámica. Tipología
Tipos de problemas y técnicas:

Según tipo de universo:


-  Programación Dinámica Determinista (PDD).
-  Programación Dinámica Probabilística (PDP).

Según horizonte (número de etapas):


-  Finito determinado: número de etapas N fijado.
-  Finito indeterminado: número de etapas N finito desconocido.
-  Infinito: número de etapas N infinito.

Técnicas:
-  Iteración en el espacio de los estados.
-  Iteración en el espacio de las políticas.

MHD 16 – Pro-Din (I): 12


J. Bautista
Programación Dinámica determinista. Nomenclatura
Parámetros, variables y funciones:
N = número de etapas.
n = etiqueta de la etapa actual (n = 1, 2,..., N ).
sn = estado actual de la etapa n.
xn = variable de decisión de la etapa n.
xn* = valor óptimo de xn (dado sn )
fn (sn , xn ) = contribución a la función objetivo de las etapas n, n +1,..., N, desde sn con decisión xn .
fn* (sn ) = fn (sn , xn* ) = contribución óptima, desde sn con la mejor decisión.
fn* (sn ) = min { fn (sn , xn )} o fn* (sn ) = max { fn (sn , xn )}
xn xn

Etapa n Etapa n +1
xn
Estado sn sn+1 ( *
fn (sn , xn ) = f C(sn , xn ), fn+1 )
(sn+1 )
Contribución de xn
*
Valor fn (sn , xn ) C(sn , xn ) fn+1 (sn+1 )

MHD 16 – Pro-Din (I): 13


J. Bautista
El problema de distribución de esfuerzos
Descripción:
Grupo de problemas en el que existe sólo una clase de Recurso que debe asignarse a un
número de Actividades. El objetivo es determinar cómo distribuir el Recurso (Esfuerzo) de la
forma más eficaz.

Formulación:
N = número de Actividades.
n = etiqueta de la Actividad (n = 1, 2,..., N ). Orden arbitrario.
sn = (estado) Cantidad de recursos disponibles para asignarse a las Actividades n, n +1,..., N.
xn = cantidad de recursos asignados a la Actividad n.
xn* = valor óptimo de xn (dado sn )

Etapa n Etapa n +1
xn sn+1 = sn ! xn
Estado sn sn+1
Contribución de xn
*
(
fn (sn , xn ) = f C(sn , xn ), fn+1
*
(sn ! xn ) )
Valor fn (sn , xn ) C(sn , xn ) f (sn+1 )
n+1

MHD 16 – Pro-Din (I): 14


J. Bautista
Ejemplo 2. Presentación
Ejemplo 2 · El problema de los 4 Equipos de investigación · Enunciado:
El departamento encargado de un proyecto del Gobierno debe resolver un problema. Se
dispone de 4 equipos de investigación (E1, E2, E3 y E4). A priori, la probabilidades de fracaso
de los equipos son: 0.55 (E1), 0.60 (E2), 0.70 (E3) y 0.80 (E4). Si se asignan hasta dos
científicos adicionales, las probabilidades de fracaso de los equipos se alteran según Tabla 1.

Nuevos Probabilidades de fracaso


científicos E1 E2 E3 E4
0 0.55 0.60 0.70 0.80
1 0.30 0.45 0.50 0.60
2 0.25 0.30 0.35 0.40
Tabla 1. Probabilidades de fracaso del problema del proyecto del Gobierno

Objetivo: Asignar dos científicos en total con el propósito de minimizar la probabilidad de


que los cuatro equipos fracasen.

MHD 16 – Pro-Din (I): 15


J. Bautista
Ejemplo 2. Formalización
Ejemplo 2 · El problema de los 4 Equipos de investigación · Objetivo, variables y costes:
pi (xi ) = probabilidad de fracaso del Equipo i si se le asignan xi científicos adicionales.
4
Minimizar P = ! pi (xi ) = p1 (x1 )p2 (x2 )p3 (x3 )p4 (x4 )
i=1

s.a. :
4

"x i =2
i=1

xi # {0,1, 2} $i = 1,., 4
4 4
fn (sn , xn ) = pn (xn )% min ! pi (xi ) ; "x i = sn ; fn* (sn )= min fn (sn , xn )
0&xn &sn
i=n+1 i=n

Etapa n Etapa n +1
xn
Estado sn sn ! xn
Contribución de xn fn (sn , xn ) = pn (xn )! fn+1
*
(sn " xn )
Valor fn (sn , xn ) pn (xn ) *
fn+1 (sn ! xn )

MHD 16 – Pro-Din (I): 16


J. Bautista
Ejemplo 2. Resolución (1)
Ejemplo 2 · El problema de los 4 Equipos de investigación · Resolución Equipos 4 y 3:

f4 (s4 , x4 )
n = 4 :!s4 ! {0,1, 2},!! x4 ! {0,1, 2} s4 / x 4 0 1 2 f4* (s4 ) x4*
f4 (s4 , x4 ) = p4 (x4 )" f5 (0) 0 0.80 0.80 0
f5 (0) = 1 1 0.60 0.60 1
f4* (s4 ) = f4 (s4 , x4 ) = p4 (x4 ) 2 0.40 0.40 2

f3 (s3, x3 )
n = 3 :!s3 ! {0,1, 2},!! x3 ! {0,1, 2} s3 / x3 0 1 2 f3* (s3 ) x3*
f3 (s3, x3 ) = p3 (x3 )" f4* (s3 # x3 ) 0 0.560 0.560 0
f3* (s3 )= min f3 (s3, x3 ) 1 0.420 0.400 0.400 1
0$x3 $s3
2 0.280 0.300 0.280 0.280 0,2

MHD 16 – Pro-Din (I): 17


J. Bautista
Ejemplo 2. Resolución (2)
Ejemplo 2 · El problema de los 4 Equipos de investigación · Resolución Equipos 2 y 1:

f2 (s2 , x2 )
n = 2 :!s2 ! {0,1, 2},!! x2 ! {0,1, 2} s2 / x2 0 1 2 f2* (s2 ) x2*
f2 (s2 , x2 ) = p2 (x2 )" f3* (s2 # x2 ) 0 0.336 0.336 0

f2* (s2 )= min f2 (s2 , x2 ) 1 0.240 0.252 0.240 0


0$x2 $s2
2 0.168 0.180 0.168 0.168 0,2

n = 1:!s1 ! {2},!! x1 ! {0,1, 2} f1 (s1, x1 )


f1 (s1, x1 ) = p1 (x1 )" f2* (s1 # x1 ) s1 / x1 0 1 2 f1* (s1 ) x1*
f1* (s1 )= min f1 (s1, x1 ) 2 0.092 0.072 0.084 0.072 1
0$x1 $s1

x1* = 1 ! s2 = s1 " x1* = 1 ! x2* = 0 ! s3 = 1 ! x3* = 1 ! s4 = 0 ! x4* = 0 P0 = 0.185, P = 0.072

MHD 16 – Pro-Din (I): 18


J. Bautista
Ejemplo 2. Resolución (3)
Ejemplo 2 · El problema de los 4 Equipos de investigación · Resolución Equipos 1 a 4:

x4* = 0
0 0 0 0

f4* (0) = 0.80 f5* (0) = 1


x3* = 1
x2* = 0
1 1 1

f2* (1) = 0.24 f3* (1) = 0.40


f1* (2) = 0.072 x1* = 1

2 2 2 2

n =1 n=2 n=3 n=4 n=5

MHD 16 – Pro-Din (I): 19


J. Bautista
El problema Dynamic Lot Sizing (DLS)
Descripción:
•  Grupo de problemas de stocks que considera un tipo de artículo con una demanda variable
en el tiempo.
•  Se establece un horizonte finito y a cada periodo se asigna una demanda concreta.
•  No se admiten roturas y se consideran dos tipos de costes: fabricación de lote (lanzamiento),
y posesión de stock.
•  El objetivo es determinar cuando fabricar y el tamaño de los lotes para satisfacer la demanda
total de la forma más eficaz.

Enfoques:
•  Programación dinámica
•  Programación lineal entera mixta.
•  Algoritmo de Wagner-Whitin.
•  Camino extremo en grafo polietápico.

MHD 16 – Pro-Din (I): 20


J. Bautista
Ejemplo 3. Presentación
Ejemplo 3 · El problema del lote dinámico · Enunciado:
Se dispone del plan de demanda de un artículo, con un horizonte de 10 periodos. En la Tabla 2
se recogen los valores (en cientos de unidades) de la demanda en cada periodo. El coste
unitario de posesión de stock se valora en 1 unidad monetaria por periodo, mientras que el
coste de fabricar un lote, independientemente de su tamaño, se valora en 30 um por cada
lanzamiento a línea. Determinar el plan de producción más eficaz para satisfacer sin roturas la
demanda total.

Periodo n 1 2 3 4 5 6 7 8 9 10
dn 5 6 9 7 3 10 6 4 8 2
Tabla 2. Plan de demanda (no homogénea) de un artículo l. Horizonte 10 periodos.

um um
cA = 30 ; ch = 1
orden up ! ut

MHD 16 – Pro-Din (I): 21


J. Bautista
Ejemplo 3. Resolución lotes estáticos
Ejemplo 3 · El problema del lote dinámico · Resolución JIT y Harris-Wilson:

!Qn = dn (n = 1,.., N ) $
1. Lot for Lot - Just in Time: " % ' FN = cA N = 30 (10 = 300 um
I
# n = 0 (n = 1,.., N ) &

#% N 2cA D 2cA '%


2. Regla de Harris-Wilson:$ D = ! dn , Q* " , T* " ( * Q* " 20, T * " 3 /10
%& n=1 NCh NCh D %)

Periodo n 1 2 3 4 5 6 7 8 9 10
dn 5 6 9 7 3 10 6 4 8 2
Qn 20 20 20
In 15 9 0 13 10 0 14 10 2 0
f!
n 45 9 0 43 10 0 44 10 2 0
FN = 163 um

MHD 16 – Pro-Din (I): 22


J. Bautista
Ejemplo 3. Programa matemático
Ejemplo 3 · El problema del lote dinámico · Programación lineal entera (binaria).

cA , ch = Costes de lanzamiento y posesión


N
dn = Demanda en el periodo n (n = 1,.., N ) : D = !n=1 dn
xn = Variable binaria de lanzamiento en el periodo n (n = 1,.., N ) (xn = 1 " lanzamiento)
Qn = Lote de fabricación en el periodo n (n = 1,.., N )
I n = Posición de stock en el periodo n (n = 1,.., N )

N N
Min F = # cA xn + # ch I n
n=1 n=1

s.a. :
n n
I n = # Qt $ # dt n = 1,.., N
t=1 t=1

Qn % D & xn n = 1,.., N
Qn , I n ' 0 n = 1,.., N
xn ( {0,1} n = 1,.., N
IN = 0

MHD 16 – Pro-Din (I): 23


J. Bautista
Ejemplo 3. Resolución programación dinámica (1)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Formulación:

n = etapa correspondiente al periodo del horizonte del plan de producción (n = 1,.., N )


t = periodo en el que se realiza el último lanzamiento (t = 1,.., n) asociado al estado (n, t)
xn = variable de decisión en el periodo n (n = 1,.., N ): xn !{0,1}, xn = 1 " (lanzar) t = n
xn* = valor de la mejor decisión en la etapa n (n = 1,.., N )
fn (t, xn ) = coste mínimo para cubrir la demanda desde el periodo n (n = 1,.., N ) hasta el N cuando
el último lanzamiento se realiza en el periodo t (t = 1,.., n)
fn* (t) = coste mínimo para cubrir la demanda desde el periodo n (n = 1,.., N ) hasta el N adoptando
la mejor decisión

%' fn+1
*
(t) + (n # t)$ ch $ dn ( xn = 0 ) )'
(1) fn (t, xn ) = & * *
(' fn+1 (n) + cA ( xn = 1) +'

(2)
xn !{0,1}
{
fn* (t) = fn (t, xn* ) = min { fn (t, xn )} " fn* (t) = min ,- fn+1
*
(t) + (n # t)$ ch $ dn ./ , ,- fn+1
*
}
(n) + cA ./

MHD 16 – Pro-Din (I): 24


J. Bautista
Ejemplo 3. Resolución programación dinámica (2)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Esquema:
Etapa n Etapa n +1
xn = 0 (n !1)ch dn *
fn (1, xn ) (n,1) (n +1,1) fn+1 (1)
xn = 1
(n ! 2)ch dn *
fn ( 2, xn ) (n, 2) (n +1, 2) fn+1 (2)

(n ! 3)ch dn *
fn (3, xn ) (n, 3) (n +1, 3) fn+1 (3)
! xn = 0 !
*
fn (t, xn ) (n, t) (n +1, t) fn+1 (t)
cA
! xn = 1 !
cA *
fn ( n, xn ) (n, n) (n +1, n) fn+1 (n)

#% fn+1
*
(t) + (n ! t)" ch " dn ( xn = 0)'% f11* (1) = f11* (2) = … = f11* (9) = 0
fn (t, xn ) = $ * (
&% fn+1 (n) + cA ( n ) )%
x = 1 f11* (10) = 30

{
fn* (t) = min #$ fn+1
*
(t) + (n ! t)" ch " dn %& , #$ fn+1
*
(n) + cA %& }
MHD 16 – Pro-Din (I): 25
J. Bautista
Ejemplo 3. Resolución programación dinámica (3)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Cálculos 1:
n 10 9 8 7 6 5 4 3 2 1
t \ dn 2 8 4 6 10 3 7 9 6 5
1 18 32 42 56 76 88 109 119 125 155
2 16 32 42 56 76 85 99 108 138
3 14 32 42 56 76 82 89 119
4 12 32 42 56 76 79 109
5 10 32 42 54 64 94
6 8 32 40 46 76
7 6 22 26 56
8 4 12 42
f11* (1) = f11* (2) = … = f11* (9) = 0
9 2 32
f11* (10) = 30
10 30
xn 1 1 1 1

MHD 16 – Pro-Din (I): 26


J. Bautista
Ejemplo 3. Resolución programación dinámica (4)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Solución 1:

f1* (1) = 155 um · Coste óptimo para satisfacer la demanda de n = 1,.., N


Solución 1: { x1 = 1, x3 = 1, x6 = 1, x9 = 1} ! {Q1 = 11, Q1 = 19, Q6 = 20, Q9 = 10}

Periodo n 1 2 3 4 5 6 7 8 9 10
dn 5 6 9 7 3 10 6 4 8 2
xn 1 1 1 1
Qn 11 19 20 10
In 6 0 10 3 0 10 4 0 2 0
f!
n 36 0 40 3 0 40 4 0 32 0
FN = 36 + 40 + 3 + 40 + 4 + 32 = 155 um

MHD 16 – Pro-Din (I): 27


J. Bautista
Ejemplo 3. Resolución programación dinámica (5)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Cálculos 2:
n 10 9 8 7 6 5 4 3 2 1
t \ dn 2 8 4 6 10 3 7 9 6 5
1 18 32 42 56 76 88 109 119 125 155
2 16 32 42 56 76 85 99 108 138
3 14 32 42 56 76 82 89 119
4 12 32 42 56 76 79 109
5 10 32 42 54 64 94
6 8 32 40 46 76
7 6 22 26 56
8 4 12 42
f11* (1) = f11* (2) = … = f11* (9) = 0
9 2 32
f11* (10) = 30
10 30
xn 1 1 1

MHD 16 – Pro-Din (I): 28


J. Bautista
Ejemplo 3. Resolución programación dinámica (6)
Ejemplo 3 · El problema del lote dinámico · Programación dinámica · Solución 2:

f1* (1) = 155 um · Coste óptimo para satisfacer la demanda de n = 1,.., N


Solución 1: { x1 = 1, x3 = 1, x6 = 1} ! {Q1 = 11, Q1 = 19, Q6 = 30}

Periodo n 1 2 3 4 5 6 7 8 9 10
dn 5 6 9 7 3 10 6 4 8 2
xn 1 1 1
Qn 11 19 30
In 6 0 10 3 0 20 14 10 2 0
f!
n 36 0 40 3 0 50 14 10 2 0
FN = 36 + 40 + 3 + 50 +14 +10 + 2 = 155 um

MHD 16 – Pro-Din (I): 29


J. Bautista
Ejemplo 3. Resolución WAGNER-WHITIN (1)
Ejemplo 3 · El problema del lote dinámico · Algoritmo de WAGNER-WHITIN:

fn = coste mínimo para cubrir la demanda hasta el periodo n (n = 1,.., N )


fn,t = coste mínimo para cubrir la demanda hasta el periodo n (n = 1,.., N ) cuando el último lanzamiento
se realiza en el periodo t (t = 1,.., n)
(1) fn = min { fn,t }
1!t!n
n
(2) fn,t = ft"1 + cA + ch (dt+1 + 2 # dt+2 +... + (n " t)# dn ) = ft"1 + cA + ch $ (k " t)# dk
k=t+1

f0 = 0
f1 = f1,1 = cA
f2 = min { f2,1, f2,2 } = min {[ f0 + cA + ch d2 )], [ f1 + cA ]}
f3 = min { f3,1, f3,2 , f3,3 } = min {[ f0 + cA + ch d2 + 2ch d3 ], [ f1 + cA + ch d3 ], [ f2 + cA ]}
...
+-% n (% n ( /-
fn = min { fn,1, fn,2 , fn,3,.., fn,n } = min ,' f0 + cA + ch $ (k "1)# dk *, ' f1 + cA + ch $ (k " 2)# dk *,.., [ fn"1 + cA ]0
-.& k=2 )& k=3 ) -1

MHD 16 – Pro-Din (I): 30


J. Bautista
Ejemplo 3. Resolución WAGNER-WHITIN (2)
Ejemplo 3 · El problema del lote dinámico · Algoritmo de WAGNER-WHITIN:

Periodo n 1 2 3 4 5 6 7 8 9 10 um um
cA = 30 ; ch = 1
lanzamiento up ! ut
dn 5 6 9 7 3 10 6 4 8 2
n"t
fn = min { fn,t } , fn,t = ft"1 + cA + ch (dt+1 + 2 # dt+2 +... + (n " t)# dn ) = ft"1 + cA + ch # $! # dt+!
1!t!n
! =1

f0 = 0
f1 = f1,1 = 30 ! t * = 1
f2 = min {(30 + 6), (30 + 30)} = min {36, 60} = 36 ! t * = 1
f3 = min {(36 +18), (60 + 9), (36 + 30)} = min {54, 69, 66} = 54 ! t * = 1
f4 = min {(54 + 21), (69 +14), (66 + 7), (54 + 30)} = min {75,83, 73,84} = 73 ! t * = 3
f5 = min {(75 +12), (83+ 9), (73+ 6), (84 + 3), (73+ 30)} = min {87, 92, 79,87,103} = 79 ! t * = 3
...
fn = min { fn,1, fn,2 , fn,3,.., fn,n } = min { fn,t }
1"t"n

MHD 16 – Pro-Din (I): 31


J. Bautista
Ejemplo 3. Resolución WAGNER-WHITIN (3)
Ejemplo 3 · El problema del lote dinámico · Algoritmo de WAGNER-WHITIN:

Periodo t 1 2 3 4 5 6 7 8 9 10
dt 5 6 9 7 3 10 6 4 8 2
n=t 30 60 66 84 103 109 137 145 153 177
n=t+1 36 69 73 87 113 115 141 153 155*
n=t+2 54 83 79 107 125 123 157 157
n=t+3 75 92 109 125 137 147 163
n=t+4 87 133 141 155*
n=t+5 153

Periodo n 1 2 3 4 5 6 7 8 9 10
Qn 11 - 19 - - 20 - - 10 - f10 = 155
Qn 11 - 19 - - 30 - - - - f10 = 155

MHD 16 – Pro-Din (I): 32


J. Bautista
Ejemplo 3. Resolución grafo polietápico (1)
Ejemplo 3 · El problema del lote dinámico · Camino extremo en grafo polietápico:

fn = coste mínimo para cubrir la demanda hasta la etapa n (n = 1,.., N )


fn,t = coste mínimo para cubrir la demanda hasta la etapa n (n = 1,.., N ) cuando el último lanzamiento
se realiza en la etapa t (t = 1,.., n)

(1) fn = min { fn,t }


1!t!n

)+ fn"1,t + (n " t)# ch # dn (t = 1,.., n "1)-+


(2) fn,t = * .
min %
& f +
+,1!t$!n"1 n"1,t$ Ac '
( = f n"1 + c A (t = n) +/
f0 = 0
f1,1 = cA
f2,1 = f1,1 + ch d2 , f2,2 = f1 + cA
f3,1 = f2,1 + 2ch d3, f3,2 = f2,2 + ch d3, f3,3 = f2 + cA
...
fn,1 = fn"1,1 + (n "1)# ch # dn , fn,2 = fn"1,2 + (n " 2)# ch # dn ,..., fn,n = fn"1 + cA

MHD 16 – Pro-Din (I): 33


J. Bautista
Ejemplo 3. Resolución grafo polietápico (2)
Ejemplo 3 · El problema del lote dinámico · Camino extremo en grafo polietápico:

Etapa n !1 Etapa n
(n !1)ch dn
fn!1,1 (n !1,1) (n,1) fn,1
(n ! 2)ch dn
fn!1,2 (n !1, 2) (n, 2) fn,2

(n ! 3)ch dn
fn!1,3 (n !1, 3) (n, 3) fn,3
! !
fn!1,t (n !1, t) (n, t) fn,t
! !
fn!1,n!1 (n !1, n !1) (n, n !1) fn,n!1
cA
(n, n) fn,n

fn!1 = min { fn!1,t } fn = min { fn,t }


1"t"n!1 1!t!n

MHD 16 – Pro-Din (I): 34


J. Bautista
Ejemplo 3. Resolución grafo polietápico (3)
Ejemplo 3 · El problema del lote dinámico · Camino extremo en grafo polietápico:

n 1 2 3 4 5 6 7 8 9 10
t \ dn 5 6 9 7 3 10 6 4 8 2
1 30 36 54 75 87 137 173 201 265 283
2 60 69 83 92 132 162 186 242 258
3 66 73 79 109 133 153 201 215
4 84 87 107 125 141 181 193
5 103 113 125 137 169 179
6 109 115 123 147 155
7 137 141 157 163
8 145 153 157
9 153 155
10 177
fn 30 36 54 73 79 107 115 123 147 155

MHD 16 – Pro-Din (I): 35


J. Bautista
El Hilo de Ariadna

- Sólo hay una manera -recitó, en efecto, Guillermo- de encontrar la salida


de un laberinto. Al llegar a cada nudo nuevo, o sea hasta el momento no
visitado, se harán tres signos en el camino de llegada. Si se observan signos
en alguno de los caminos del nudo, ello indicará que el mismo ya ha sido
visitado, y entonces sólo se marcará un signo en el camino de llegada.
Cuando todos los pasos de un nudo ya estén marcados, habrá que
retroceder. Pero si todavía quedan uno o dos pasos sin marcar, se escogerá
uno al azar, y se lo marcará con dos signos. Cuando se escoja un paso
marcado con un solo signo, se marcarán dos más, para que ya tenga tres. Si
al llegar a un nudo sólo se encuentran pasos marcados con tres signos, o
sea, si no quedan pasos que aún falte marcar, ello indicará que ya se han
recorrido todas las partes del laberinto.

UMBERTO ECO (1932 – 2016)


El Nombre de la Rosa (1980)

MHD 16 – Pro-Din (I): 36


J. Bautista

También podría gustarte