Beruflich Dokumente
Kultur Dokumente
id=45326933002
Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal
Sistema de Informacin Cientfica
Hernndez Gonzlez, Salvador; Gutirrez Andrade, Miguel A.; de los Cobos Silva, Sergio
Algoritmo recocido simulado-seccin dorada para el problema de reaprovisionamiento multiproducto con
demanda estocstica
Revista de Matemtica: Teora y Aplicaciones, vol. 17, nm. 2, 2010, pp. 121-141
Universidad de Costa Rica
San Jos, Costa Rica
Cmo citar? Nmero completo Ms informacin del artculo Pgina de la revista
Revista de Matemtica: Teora y Aplicaciones,
ISSN (Versin impresa): 1409-2433
mta.cimpa@ucr.ac.cr
Universidad de Costa Rica
Costa Rica
www.redalyc.org
Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
Revista de Matem atica: Teora y Aplicaciones 2010 17(2) : 121141
cimpa ucr issn: 1409-2433
algoritmo recocido simuladosecci
on
dorada para el problema de
reaprovisionamiento multiproducto
con demanda estoc
astica
simulated annealinggolden section
algorithm for the multiproduct
replenishment problem with stochastic
demand
Salvador Hern andez Gonz alez
Miguel A. Gutierrez Andrade
i
desviacion estandar de la demanda del producto i.
z
i
nivel de conanza de la distribucion Normal del producto i.
t
i
tiempo de espera para reaprovisionamiento del producto i.
k
i
frecuencia de pedido del producto i, variable de decision
entera.
A costo mayor por activacion de pedido, independiente del
n umero de productos.
T ciclo basico de tiempo, variable continua de decision.
T
i
ciclo individual del producto i, variable de decision.
CT costo total anual.
La frecuencia T
i
de pedido individual del artculo i se restringe a un
m ultiplo entero del ciclo basico T:
T
i
= k
i
T. (1)
El costo total, es la suma de los costos de activacion y los costos de
acarreo de inventario de seguridad, el problema de reaprovisionamiento
multiproducto planteado como un problema de optimizacion es el siguiente:
minCT(T, k
1
, k
2
, . . . , k
n
) =
=
1
T
_
A +
n
i=1
a
i
k
i
_
+
n
i=1
_
T
2
D
i
h
i
k
i
+h
i
z
i
i
_
Tk
i
+t
i
_
(2)
Rev.Mate.Teor.Aplic. (ISSN 1409-2433) Vol. 17(2): 121141, July 2010
algoritmo recocido simulado-secci on dorada 125
sujeto a : T > 0
k
i
1, enteros, i = 1, 2, . . . , n.
La funcion objetivo CT es no convexa, sin embargo, al jar los valores
de k
i
, la funcion es convexa en la variable continua T. Para resolver ins-
tancias de este modelo solo se ha desarrollado un metodo heurstico; una
opcion viable es emplear una tecnica metaheurstica complementada con
un procedimiento numerico para realizar la b usqueda en la parte continua
de la funcion objetivo. En este trabajo se propone la siguiente estrategia:
emplear recocido simulado para obtener el valor de las k
i
, a continuacion
mantenerlas jas, para obtener el mnimo para T, aprovechando que la
funcion CT es convexa. Es factible que mediante un metodo de b usqueda
unidimensional, como el de seccion dorada, se obtenga el mnimo.
3 Algoritmo heurstico de Eynan y Kropp
A continuacion se describe la tecnica de Eynan y Kropp tomada de [4]:
Paso 1. Calcular
T
i
=
_
_
2a
i
h
i
_
D
i
+
z
i
T
0i
+t
i
_
_
_
1/2
(3)
donde T
0i
=
_
2a
i
D
i
h
i
_
1/2
, i = 1, . . . , n.
Paso 2. Identique el producto con la T
i
mnima, este producto se denota
como producto 1 y se asigna k
1
= 1.
Paso 3. Calcular
T =
_
_
2 (A+a
1
)
h
1
_
D
1
+
z
1
T
0
+t
1
_
_
_
1/2
donde T
0
=
_
2(A +a
1
)
D
1
h
1
_
1/2
. (4)
Paso 4. Hacer k
i
= q (entero) tal que:
_
(q 1)q
T
i
T
_
q(q +1), i = 2, . . . , n. (5)
Paso 5. Calcular
T =
_
_
2
_
A+
a
i
k
i
_
k
i
h
i
_
D
i
+
z
i
k
i
T
0
+t
i
_
_
_
1/2
(6)
Rev.Mate.Teor.Aplic. (ISSN 1409-2433) Vol. 17(2): 121141, July 2010
126 S. Hern andez M.A. Gutierrez S. de los Cobos
donde T
0
=
_
2
A+
a
i
k
i
k
i
h
i
D
i
_
1/2
.
Paso 6. Repita los pasos 4 y 5 tantas veces como sea necesario hasta que
el costo total, ecuacion (2), no cambie de valor entre dos iteraciones
sucesivas.
Esencialmente el procedimiento calcula los valores de T
i
en la ecuacion
(3) de forma iterativa tomando como primer valor a T
0i
, el calculado para
el caso determinista, posteriormente identica el producto con el T
i
mas
peque no y le asigna una frecuencia k = 1, y ja este valor como cota
inferior para el ciclo base de tiempo T, el valor optimo del ciclo base de
tiempo T
f(x
i
)f(x
j
)
c
_
si f(x
j
) f(x
i
).
(7)
A c se le conoce como el parametro de control. Por lo general, se
escoge un valor inicial c
0
grande para que se tenga una alta probabilidad
de escapar de mnimos locales. A medida que c disminuye, la probabilidad
de aceptar soluciones de mala calidad es menor, cuando el valor de c se
Rev.Mate.Teor.Aplic. (ISSN 1409-2433) Vol. 17(2): 121141, July 2010
algoritmo recocido simulado-secci on dorada 127
aproxima a cero, la probabilidad de aceptar una solucion mala se aproxima
tambien a cero. Por regla general, el descenso del valor de c debe ser lento
y as se previene que el algoritmo quede atrapado en un optimo local.
Se deben explorar una cierta cantidad de puntos (o bien transiciones)
para un valor dado de c, esta cantidad dependera del tama no de la instancia
a resolver tomando en cuenta que: si el n umero de transiciones realizado
no es suciente, el algoritmo dejara zonas sin explorar y esto incrementa
la posibilidad de quedar atrapado en un mnimo local, por otro lado, si
se ja un n umero muy elevado de transiciones, se corre el riesgo de que el
algoritmo ejecute mas iteraciones de las que son necesarias, sin devolver
ninguna mejora. Debe encontrarse un buen equilibrio entre la forma de
decrementar el parametro c y el n umero de transiciones exploradas man-
teniendo c jo.
5 Implementacion
Implementar el algoritmo de recocido simulado-seccion dorada (RSSD) re-
quirio tomar un conjunto de decisiones como la denicion de la estructura
de vecindades, el n umero de iteraciones para alcanzar el estado estacionario
y el programa de enfriamiento (Johnson et al. [8]). A continuacion se des-
criben dichas consideraciones sobre el algoritmo.
5.1 Funcion de costo
La funcion de costo empleada, es directamente la funcion CT dada en el
modelo (2).
5.2 Espacio de soluciones para valores de k
i
Para cada producto, la frecuencia mnima de pedido es k
i
= 1, lo que equi-
vale a solicitar el producto i cada ciclo de tiempo basico T y corresponde
a la cota inferior para los valores de k
i
, para obtener una cota superior se
procedio como sigue: el valor T
0i
de la ecuacion (3) determina el valor del
ciclo de tiempo optimo individual sin tomar en cuenta la parte estocastica
y en el problema de reaprovisionamiento multiproducto, el ciclo de tiempo
optimo individual T
i
debe encontrarse en el intervalo, T
min
T
i
T
0i
por lo que como cota inferior se selecciona el valor de T
0i
mas peque no
empleando la ecuacion (8) para denir un intervalo b usqueda:
T
min
= min
i
{T
0i
} . (8)
En el problema de reaprovisionamiento el ciclo de tiempo individual se
restringe a ser un m ultiplo entero de T es decir, T
i
= Tk
i
, con la ecuacion
Rev.Mate.Teor.Aplic. (ISSN 1409-2433) Vol. 17(2): 121141, July 2010
128 S. Hern andez M.A. Gutierrez S. de los Cobos
(9) se eval ua la cota superior de la frecuencia k
i
, en otras palabras, es el
valor maximo posible de cada producto i:
k
i,max
=
_
T
0i
T
min
_
. (9)
Por lo que el intervalo para la frecuencia de pedido de cada producto i sera
1 k
i
k
i,max
.
5.3 Solucion vecina
Una solucion vecina K
= (k
1
, . . . , k
l
, . . . , k
n
) de una solucion
K = (k
1
, . . . , k
l
, . . . , k
n
) se obtiene al modicar en una unidad el valor de
K de un solo producto. Como la eleccion del ndice a perturbar es aleatoria
y ademas la cota superior de k
i
no es la misma para todos los productos,
conviene establecer un criterio de seleccion que favorezca la b usqueda en
aquellos ndices con un espacio de soluciones mas amplio. Mediante (10)
se obtuvo la probabilidad de seleccion de cada producto. As, los ndices
con un espacio de b usqueda mayor tendran una probabilidad mayor de ser
seleccionados.
P(seleccionar k
i
) =
_
0 si k
i,max
= 1
(k
i,max
1)
{i|k
i,max
2}
(k
i,max
1)
si k
i,max
2
(10)
Para perturbar se permiten dos operaciones: k
i
+1 o k
i
1; y cada una
tiene una probabilidad de 0.5. Los ndices cuyo k
i,max
es 1 no se modican.
5.4 B usqueda en la variable continua
Ya que existe un valor de T que minimiza el costo cuando se jan los valores
de k
i
, se realiza una b usqueda unidimensional usando seccion dorada. Este
algoritmo de b usqueda requiere que la funcion sea cuasi-convexa dentro de
un intervalo [a, b]. Como se desconoce la localizacion exacta del mnimo
dentro de [a, b] a dicho intervalo se le llama intervalo de incertidumbre y
es posible eliminar secciones del mismo para reducirlo (Bazaraa et al. [3]);
en esta implementacion la b usqueda sobre T se inicia dentro del intervalo
[a, b], donde:
a = T
min
; b = T
up
(11)
donde T
up
se calcula empleando el valor T
0
de la ecuacion (6), que es la
ecuacion para el caso determinista. El valor optimo del ciclo base de tiempo
se encuentra en el intervalo T
min
T
T
up
. Es importante se nalar que el
ciclo de tiempo estocastico es mas peque no que para el caso determinista,
ya que se toma en cuenta la desviacion estandar de la demanda.
Rev.Mate.Teor.Aplic. (ISSN 1409-2433) Vol. 17(2): 121141, July 2010
algoritmo recocido simulado-secci on dorada 129
5.5 Esquema de enfriamiento
Se aplico el esquema geometrico empleando la ecuacion (12), recomendado
cuando no hay antecedentes de otras implementaciones; es un valor a
seleccionar entre 0.9 y 0.99, c
0
se selecciona de tal forma que se acepten
alrededor del 80% de las soluciones
c
q+1
= c
q
para q = 0, 1, 2, . . . (12)
5.6 Criterio de paro
El parametro de control desciende hasta que se considera que el sistema
esta congelado. Para el algoritmo se ja un valor tal que c
q
< donde
= 0.01.
5.7 Transiciones
Ya que se manejaron instancias con distintos tama nos, la b usqueda debera
ser mas amplia en aquellas con mayor n umero de productos, con la ecuacion
(13) se obtuvo, para cada tama no de instancia, el n umero de transiciones
con c
q
constante.
transiciones = N n, (13)
donde n es el n umero de productos y N es una constante que vara de
acuerdo al tama no de la instancia. A mayor n umero de transiciones, se
favorece que el ciclo interno de RS alcance un estado estacionario para
cada valor jo de c
q
.
5.8 Algoritmo de recocido simulado-seccion dorada
En la Figura 1 se da el pseudocodigo del algoritmo de recocido simulado-
seccion dorada (algoritmo RSSD). Comienza con una Entrada en donde se
reciben los parametros c
0
, c
f
, y transiciones (en la seccion 6 se describen
los valores que se tomaron para dichos parametros). La solucion inicial
K se obtiene tomando k
i
= 1, para toda i = 1, . . . , n. El valor de T se
calcula mediante el proceso descrito en la subseccion 5.4. Para el calculo
del costo total CT(T, K) se usa la ecuacion 2. El algoritmo tiene dos ciclos
anidados; el ciclo exterior dado por la instruccion Mientras, modica el
parametro de control c del valor inicial c
0
hasta un valor nal menor que
c
f
. El ciclo interior, dado por la instruccion Para, se ejecuta desde 1
hasta transiciones; se selecciona una solucion vecina K
del conjunto de
soluciones vecinas N(K) de K conforme a lo descrito en la subseccion 5.3
y se obtienen T
y CT(T
, K
)
CT(T
, K
) Calcula costo de (T
, K
)
CT(T
, K
) CT(T, K)
Si U(0, 1) < exp(/c) hacer
K K
, T T
, CT(T, K) CT(T
, K
)
c c
Salida (T, K, CT(T, K))
n
Figura 1: Algoritmo de recocido simulado-seccion dorada.
solucion K