Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
MHD’15 - FPD: 0 J. Bautista
Joaquín Bautista-Valhondo
Fundamentos de Programación Dinámica - II
UNIVERSITAT POLITÈCNICA DE CATALUNYA – BARCELONATECH
Modelos y Herramientas de Decisión – Máster Universitario de Ingeniería de Organización - ETSEIB
OPE – ORGANIZACIÓN DE LA PRODUCCIÓN Y DE EMPRESA (ASPECTOS TÉCNICOS, JURÍDICOS Y ECONÓMICOS EN PRODUCCIÓN )
OPE-PROTHIUS – OPE-MSc.2015/09 (20150501) - http://futur.upc.edu/OPE - www.prothius.com - Departamento de Organización de Empresas – UPC
MHD’15 - FPD: 1 J. Bautista
Contenido
• Decisión multietápica
• Programación dinámica determinista con (s,x) homogéneo en n.
- El problema del contrabandista (horizonte limitado)
- El problema del contrabandista (horizonte ilimitado)
- Rendimiento etápico. Políticas
• Programación dinámica probabilística
- Concepto y nomenclatura
- Esquema
- Ejemplo prototipo
MHD’15 - FPD: 2 J. Bautista
Decisión multietápica
n = etapa (n =1, 2,..,N )xn = variable de decisión en la etapa nsn = estado al inicio de la etapa nsn+1 = estado al final de la etapa nrn sn, sn+1, xn( )= rendimiento en la etapa n
fn sn, xn( ) = aportación al objetivo de las etapas n,n +1,..,N
Sistema
x
r
s! s!
N etapas:
Una etapa:
xn
sn sn+1rn
n
xN
sN sN+1
rN
N
x1
s1 s2r1
1
f1 s1, x1( ) fn sn, xn( ) fN sN , xN( )
MHD’15 - FPD: 3 J. Bautista
PDD con (s,x) homogéneo en n. Ejemplo prototipo
Problema del Contrabandista. Descripción: Han Solo (contrabandista corelliano) compra, transporta y vende mercancías en 4 puntos del Imperio (A, B, C y D). Las ganancias netas obtenidas en cada viaje se muestran en la Tabla 1, siguiendo el esquema mono-etápico de la figura 1.
A
B
C
A
B
C
D D
sn
sn+1 = xn
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
Tabla 1: Ganancia (g) por operación del Halcón Milenario según origen-destino
Figura 1: Esquema mono-etápico de los viajes del Halcón Milenario.
Rutas : 4! 4!..! 4.. = 22N
MHD’15 - FPD: 4 J. Bautista
Formulación:
N = número de viajes del Halcón Milenario.
n = etapa o viaje (n =1, 2,...,N ).
sn = (estado) punto origen del viaje n
xn = (decisión) punto destino del viaje n
xn*= valor óptimo de xn (dado sn )
g sn, xn( ) = ganancia elemental en un viaje desde sn hasta xn
fn (sn, xn ) = ganancia máxima acumulada en las etapas n,n+1,...,N, a través de (sn, xn )
fn*(sn ) = ganancia máxima acumulada en las etapas n,n+1,...,N, partiendo de sn
sn
sn+1
xn
Etapa n Etapa n+1
Contribución de xn
g(sn, x
n)fn (sn, xn ) fn+1
*(sn+1)
Estado
Valor
fn (sn, xn ) = fn+1*(xn )+ g sn, xn( )s
n+1 = xn
fn*(sn ) =max
xn
fn (sn, xn ) =maxxn
fn+1*(xn )+ g sn, xn( )!" #$
El Problema del Contrabandista (1)
MHD’15 - FPD: 5 J. Bautista
Resolución (6 etapas). Etapa 6ª
n = 6 :!s6! A,B,C,D{ },!!x6 ! A,B,C,D{ }
f6(s6, x
6) = f
7
*(x
6)+ g s
6, x
6( )
A B C D A 0 7 10 11 11 D B 7 0 8 12 12 D C 4 5 0 4 5 B D 2 1 6 0 6 C
x6
*
f6
*(s)
f6(s6, x
6)
f6
*(s6) =min
x6
f6(s6, x
6) = f
6(s6, x
6
*)
s6/ x
6
El Problema del Contrabandista (2)
f7
*(A) = 0A
B
C
A
B
C
D D
sn
sn+1 = xn
f7
*(B) = 0
f7
*(C) = 0
f7
*(D) = 0
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 6 J. Bautista
Resolución (6 etapas). Etapa 5ª
n = 5 :!s5 ! A,B,C,D{ },!!x5 ! A,B,C,D{ }
f5(s5, x5 ) = f6*(x5 )+ g s5, x5( )
A B C D A 11 19 15 17 19 B B 18 12 13 18 18 A,D C 15 17 5 10 17 B D 13 13 11 6 13 A,B
x5
*
f5*(s)
f5(s5, x5 )
f5*(s5 ) =min
x5
f5(s5, x5 ) = f5(s5, x5*)
s5/ x
5
El Problema del Contrabandista (3)
f6
*(A) =11A
B
C
A
B
C
D D
sn
sn+1 = xn
f6
*(B) =12
f6*(C) = 5
f6
*(D) = 6
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 7 J. Bautista
Resolución (6 etapas). Etapa 4ª
n = 4 :!s4 ! A,B,C,D{ },!!x4 ! A,B,C,D{ }
f4 (s4, x4 ) = f5*(x4 )+ g s4, x4( )
A B C D A 19 25 27 24 27 C B 26 18 25 25 26 A C 23 23 17 17 23 A,B D 21 19 23 13 23 C
x4
*
f4
*(s)
f4(s4, x
4)
f4
*(s4) =min
x4
f4(s4, x
4) = f
4(s4, x
4
*)
s4/ x
4
El Problema del Contrabandista (4)
f5*(A) =19A
B
C
A
B
C
D D
sn
sn+1 = xn
f5*(B) =18
f5*(C) =17
f5*(D) =13
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 8 J. Bautista
Resolución (6 etapas). Etapa 3ª
n = 3 :!s3! A,B,C,D{ },!!x3 ! A,B,C,D{ }
f3(s3, x
3) = f
4
*(x
3)+ g s
3, x
3( )
A B C D A 27 33 33 34 34 D B 34 26 31 35 35 D C 31 31 23 27 31 A,B D 29 27 29 23 29 A,C
x3
*
f3
*(s)
f3(s3, x
3)
f3
*(s3) =min
x3
f3(s3, x
3) = f
3(s3, x
3
*)
s3/ x
3
El Problema del Contrabandista (5)
f4
*(A) = 27A
B
C
A
B
C
D D
sn
sn+1 = xn
f4
*(B) = 26
f4
*(C) = 23
f4
*(D) = 23
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 9 J. Bautista
Resolución (6 etapas). Etapa 2ª
n = 2 :!s2! A,B,C,D{ },!!x2 ! A,B,C,D{ }
f2(s2, x
2) = f
3
*(x
2)+ g s
2, x
2( )
A B C D A 34 42 41 40 42 B B 41 35 39 41 41 A,D C 38 40 31 33 40 B D 36 36 37 29 37 C
x2
*
f2
*(s)
f2(s2, x
2)
f2
*(s2) =min
x2
f2(s2, x
2) = f
2(s2, x
2
*)
s2/ x
2
El Problema del Contrabandista (6)
f3
*(A) = 34A
B
C
A
B
C
D D
sn
sn+1 = xn
f3*(B) = 35
f3
*(C) = 31
f3
*(D) = 29
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 10 J. Bautista
Resolución (6 etapas). Etapa 1ª
n =1:!s1! A,B,C,D{ },!!x1 ! A,B,C,D{ }
f1(s1, x1) = f
2
*(x1)+ g s
1, x1( )
A B C D A 42 48 50 48 50 C B 49 41 48 49 49 A,D C 46 46 40 41 46 A,B D 44 42 46 37 46 C
x1
*
f1
*(s)
f1(s1, x1)
f1
*(s1) =min
x1
f1(s1, x1) = f
1(s1, x1
*)
s1/ x
1
El Problema del Contrabandista (7)
f2
*(A) = 42A
B
C
A
B
C
D D
sn
sn+1 = xn
f2
*(B) = 41
f2
*(C) = 40
f2
*(D) = 37
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 11 J. Bautista
A
B
C
A
B
C
D D
n =1
A
B
C
D
A
B
C
A
B
C
D D
A
B
C
D
Resolución (6 etapas). Trayectorias Origen en A
El Problema del Contrabandista (8)
n = 2 n = 3 n = 4 n = 5 n = 6
A
B
C
D
n = N +1
f1*(A) = 50
f2
*(C) = 40
f3*(B) = 35
f4
*(D) = 23
f5*(C) =17
f6
*(B) =12
f7
*(D) = 0
Ruta s1= A( ) : A!C! B! D!C! B! D
MHD’15 - FPD: 12 J. Bautista
A
B
C
A
B
C
D D
n =1
A
B
C
D
A
B
C
A
B
C
D D
A
B
C
D
Resolución (6 etapas). Trayectorias Origen en B
El Problema del Contrabandista (9)
n = 2 n = 3 n = 4 n = 5 n = 6
A
B
C
D
f1
*(B) = 49
f2
*(D) = 37
f3*(B) = 35
f4
*(D) = 23
f5*(C) =17
f6
*(B) =12
f7
*(D) = 0
Ruta s1= B( ) :
B! A! B! D!C! B! D
B! D!C! A!C! B! D
B! D!C! B! A! B! D
"
#$
%$
&
'$
($
f2
*(A) = 42
f3
*(C) = 31
f4
*(A) = 27
f4
*(B) = 26
f5*(A) =19
n = N +1
MHD’15 - FPD: 13 J. Bautista
A
B
C
A
B
C
D D
n =1
A
B
C
D
A
B
C
A
B
C
D D
A
B
C
D
Resolución (6 etapas). Trayectorias Origen en C
El Problema del Contrabandista (10)
n = 2 n = 3 n = 4 n = 5 n = 6
A
B
C
D
f1
*(C) = 46
f2
*(B) = 41 f3
*(B) = 35
f4
*(D) = 23
f5*(C) =17
f6
*(B) =12
f7
*(D) = 0
Ruta s1=C( ) : (i) C!
A! B
B! A
"
#$
%
&'! D!C! B! D; (ii) C! B! D!
A!C! B! D
C!
A! B! D
B!A! D
D!C
"
#$
%
&'
"
#
$$$
%
&
'''
"
#
$$$$$
%
&
'''''
(
)
**
+
**
,
-
**
.
**
f2
*(A) = 42
f3
*(D) = 29
f4
*(A) = 27
f4
*(C) = 23
f5*(A) =19f
3
*(A) = 34
f5*(B) =18
f6
*(A) =11
f6
*(D) = 6
f7
*(C) = 0
n = N +1
MHD’15 - FPD: 14 J. Bautista
A
B
C
A
B
C
D D
n =1
A
B
C
D
A
B
C
A
B
C
D D
A
B
C
D
Resolución (6 etapas). Trayectorias Origen en D
El Problema del Contrabandista (11)
n = 2 n = 3 n = 4 n = 5 n = 6
A
B
C
D
n = N +1
f1
*(D) = 46
f2
*(C) = 40
f3*(B) = 35
f4
*(D) = 23
f5*(C) =17
f6
*(B) =12
f7
*(D) = 0
Ruta s1= D( ) : D!C! B! D!C! B! D
MHD’15 - FPD: 15 J. Bautista
n 20 19 18 17 16 15 14 13 12 11 s f x f x f x f x f x f x f x f x f x f x
A 11 D 19 B 27 C 34 D 42 B 50 C 57 D 65 B 73 C 80 D B 12 D 18 A 26 A 35 D 41 A 49 A 58 D 64 A 72 A 81 D C 5 B 17 B 23 A 31 A 40 B 46 A 54 A 63 B 69 A 77 A D 6 C 13 A 23 C 29 A 37 C 46 C 52 A 60 C 69 C 75 A
n 10 9 8 7 6 5 4 3 2 1 s f x f x f x f x f x f x f x f x f x f x
A 88 B 96 C 103 D 111 B 119 C 126 D 134 B 142 C 149 D 157 B B 87 A 95 A 104 D 110 A 118 A 127 D 133 A 141 A 150 D 156 A C 86 B 92 A 100 A 109 B 115 A 123 A 132 B 138 A 146 A 155 B D 83 C 92 C 98 A 106 C 115 C 121 A 129 C 138 C 144 A 152 C
El Problema del Contrabandista (12) Resolución (20 etapas). Ganancias y decisiones
A B C D
A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 -
MHD’15 - FPD: 16 J. Bautista
n 20 19 18 17 16 15 14 13 12 11 s f x f x f x f x f x f x f x f x f x f x
A 11 D 19 B 27 C 34 D 42 B 50 C 57 D 65 B 73 C 80 D B 12 D 18 A 26 A 35 D 41 A 49 A 58 D 64 A 72 A 81 D C 5 B 17 B 23 A 31 A 40 B 46 A 54 A 63 B 69 A 77 A D 6 C 13 A 23 C 29 A 37 C 46 C 52 A 60 C 69 C 75 A
n 10 9 8 7 6 5 4 3 2 1 s f x f x f x f x f x f x f x f x f x f x
A 88 B 96 C 103 D 111 B 119 C 126 D 134 B 142 C 149 D 157 B B 87 A 95 A 104 D 110 A 118 A 127 D 133 A 141 A 150 D 156 A C 86 B 92 A 100 A 109 B 115 A 123 A 132 B 138 A 146 A 155 B D 83 C 92 C 98 A 106 C 115 C 121 A 129 C 138 C 144 A 152 C
El Problema del Contrabandista (13) Resolución (20 etapas). Trayectorias Origen en A
Ruta s1 = A( ) : A! B! D! ! C! B! D( )
MHD’15 - FPD: 17 J. Bautista
n 20 19 18 17 16 15 14 13 12 11 s f x f x f x f x f x f x f x f x f x f x
A 11 D 19 B 27 C 34 D 42 B 50 C 57 D 65 B 73 C 80 D B 12 D 18 A 26 A 35 D 41 A 49 A 58 D 64 A 72 A 81 D C 5 B 17 B 23 A 31 A 40 B 46 A 54 A 63 B 69 A 77 A D 6 C 13 A 23 C 29 A 37 C 46 C 52 A 60 C 69 C 75 A
n 10 9 8 7 6 5 4 3 2 1 s f x f x f x f x f x f x f x f x f x f x
A 88 B 96 C 103 D 111 B 119 C 126 D 134 B 142 C 149 D 157 B B 87 A 95 A 104 D 110 A 118 A 127 D 133 A 141 A 150 D 156 A C 86 B 92 A 100 A 109 B 115 A 123 A 132 B 138 A 146 A 155 B D 83 C 92 C 98 A 106 C 115 C 121 A 129 C 138 C 144 A 152 C
El Problema del Contrabandista (14) Resolución (20 etapas). Trayectorias Origen en B
Ruta s1 = B( ) : B!A! D! ! C! B! D( )
MHD’15 - FPD: 18 J. Bautista
n 20 19 18 17 16 15 14 13 12 11 s f x f x f x f x f x f x f x f x f x f x
A 11 D 19 B 27 C 34 D 42 B 50 C 57 D 65 B 73 C 80 D B 12 D 18 A 26 A 35 D 41 A 49 A 58 D 64 A 72 A 81 D C 5 B 17 B 23 A 31 A 40 B 46 A 54 A 63 B 69 A 77 A D 6 C 13 A 23 C 29 A 37 C 46 C 52 A 60 C 69 C 75 A
n 10 9 8 7 6 5 4 3 2 1 s f x f x f x f x f x f x f x f x f x f x
A 88 B 96 C 103 D 111 B 119 C 126 D 134 B 142 C 149 D 157 B B 87 A 95 A 104 D 110 A 118 A 127 D 133 A 141 A 150 D 156 A C 86 B 92 A 100 A 109 B 115 A 123 A 132 B 138 A 146 A 155 B D 83 C 92 C 98 A 106 C 115 C 121 A 129 C 138 C 144 A 152 C
El Problema del Contrabandista (15) Resolución (20 etapas). Trayectorias Origen en C
Ruta s1 = C( ) :C! B! D! ! C! B! D( )
MHD’15 - FPD: 19 J. Bautista
n 20 19 18 17 16 15 14 13 12 11 s f x f x f x f x f x f x f x f x f x f x
A 11 D 19 B 27 C 34 D 42 B 50 C 57 D 65 B 73 C 80 D B 12 D 18 A 26 A 35 D 41 A 49 A 58 D 64 A 72 A 81 D C 5 B 17 B 23 A 31 A 40 B 46 A 54 A 63 B 69 A 77 A D 6 C 13 A 23 C 29 A 37 C 46 C 52 A 60 C 69 C 75 A
n 10 9 8 7 6 5 4 3 2 1 s f x f x f x f x f x f x f x f x f x f x
A 88 B 96 C 103 D 111 B 119 C 126 D 134 B 142 C 149 D 157 B B 87 A 95 A 104 D 110 A 118 A 127 D 133 A 141 A 150 D 156 A C 86 B 92 A 100 A 109 B 115 A 123 A 132 B 138 A 146 A 155 B D 83 C 92 C 98 A 106 C 115 C 121 A 129 C 138 C 144 A 152 C
El Problema del Contrabandista (16) Resolución (20 etapas). Trayectorias Origen en D
Ruta s1 = D( ) : D!C! A! ! C! B! D( )
MHD’15 - FPD: 20 J. Bautista
Pasos 1 2 3 4 5 6 7 8 9 10
A 11.0 9.5 9.0 8.5 8.4 8.3 8.1 8.1 8.1 8.0 B 12.0 9.0 8.7 8.8 8.2 8.2 8.3 8.0 8.0 8.1 C 5.0 8.5 7.7 7.8 8.0 7.7 7.7 7.9 7.7 7.7 D 6.0 6.5 7.7 7.3 7.4 7.7 7.4 7.5 7.7 7.5
EM 8.5 8.4 8.3 8.1 8.0 8.0 7.9 7.9 7.9 7.8
El Problema del Contrabandista (17) Resolución (20 etapas). Ganancia media por número de viajes
Pasos 11 12 13 14 15 16 17 18 19 20
A 8.0 8.0 7.9 7.9 7.9 7.9 7.9 7.9 7.8 7.9 B 7.9 7.9 8.0 7.9 7.9 7.9 7.8 7.8 7.9 7.8 C 7.8 7.7 7.7 7.8 7.7 7.7 7.8 7.7 7.7 7.8 D 7.5 7.7 7.5 7.6 7.7 7.6 7.6 7.7 7.6 7.6
EM 7.8 7.8 7.8 7.8 7.8 7.8 7.8 7.8 7.8 7.8
MHD’15 - FPD: 21 J. Bautista
Programación Dinámica probabilística
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 ) S = número de estados posibles en la etapa n +1i = etiqueta de estado posible en la etapa n +1 (i =1,..,S)pi = probabilidad de alcanzar el estado i desde el estado sn con la decisión xnCi = contribución de la etapa n a la función objetivo dependiente del estado ifn (sn, xn ) = contribución a la función objetivo de las etapas n,n +1,...,N, desde sn con decisión xnCaso particular: fn (sn, xn ) = pi Ci + fn+1
* (i)!" #$i=1
S% , con fn+1* (i) = min
xn+1
fn+1(i, xn+1)
fn*(sn ) = fn (sn, xn
* ) = contribución óptima: fn*(sn ) = min
xnfn (sn, xn ){ } o fn
*(sn ) = maxxn
fn (sn, xn ){ }
Nomenclatura:
Concepto : El estado de la siguiente etapa no está determinado completamente por el estado y la decisión de la etapa actual (n). Existe una distribución de probabilidad para determinar cuál será el siguiente estado.
MHD’15 - FPD: 22 J. Bautista
Programación Dinámica probabilística
sn
xn
Etapa n
Etapa n+1
fn (sn, xn )
fn+1* (S)
Estado
fn (sn, xn ) = f C(sn, xn ), fn+1*(sn+1)( )
1
2
i
S
!
!
Decisión
p1p2pi
pS
C1
C2
Ci
CS
fn+1* (1)
fn+1* (2)
fn+1* (i)
v.g.! fn (sn, xn ) = pi Ci + fn+1* (i)"# $%i=1
S& , con fn+1* (i) = min
xn+1
fn+1(i, xn+1)
Esquema:
MHD’15 - FPD: 23 J. Bautista
Problema del Contrabandista con riesgo. Descripción: Han Solo (contrabandista corelliano) compra, transporta y vende mercancías en 4 puntos del Imperio (A, B, C y D). Las ganancias netas y las probabilidades de éxito para llegar al destino en cada viaje se muestran en la Tabla 2, siguiendo el esquema mono-etápico de la figura 2.
A B C D A - 7 10 11 B 7 - 8 12 C 4 5 - 4 D 2 1 6 - pi 1/5 1/5 2/5 1/5
Tabla 2: Ganancia (g) por operación y probabilidad (p) de llegar al destino con éxito del Halcón Milenario según origen-destino
Figura 2: Esquema mono-etápico de los viajes del Halcón Milenario.
Programación Dinámica probabilística, Ejemplo prototipo
A
B
C
A
B
C
D D
sn si = xn pi( )
MHD’15 - FPD: 24 J. Bautista
-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
El Nombre de la Rosa (1980)
El Hilo de Ariadna