Content uploaded by Joaquín Bautista-Valhondo
Author content
All content in this area was uploaded by Joaquín Bautista-Valhondo
Content may be subject to copyright.
Juan G´omez-Sanchis, Delia Lorente, Nuria Aleixos, Jos´e M. Mart´ınez-Mart´ınez, Pablo Escandell-
Montero, Joan Vila-Franc´es y Jos´e Blasco. Detecci´on autom´atica de podredumbres en c´ıtricos
mediante t´ecnicas de aprendizaje autom´atico y visi´on hiperespectral. ..............645
Francisco Romero-Porta, Pablo Mesejo, O scar Ib´a ˜nez y Ana B. Porto-Pazos. Optimizaci´on medi-
ante Computaci´on Evolutiva de la interacci´on Neurona-Astrocito en Redes Neurogliales Arti-
ficiales. ................................................651
´
Alvaro Rodr´ıguez, Mar´ıa Berm´udez, Daniel Rivero, Marcos Gestal y Jer´onimo Puertas. Seguimiento
visual de peces en escalas de hendidura vertical. ..........................659
Andrea Valsecchi, Sergio Damas y Jos´e Santamar´ıa. Una Aproximaci´on al Registrado de Im´agenes
M´edicas con Algoritmos Gen´eticos. .................................667
SS10: Programaci´on de Juegos/Videojuego s
Alberto Fuentes S´anchez, Carlos Cotta Porras y Antonio J. Fe rn´andez Leiva . Optimizando la
configuraci´on de coches en juegos de carreras mediante computaci´on evolutiva. .........675
David Mariscal Fern´andez y Antonio J. Fern´andez-Leiva. Una experiencia de dise˜no de contro-
ladores en juegos de carreras de coche mediante algoritmos evolutivos multiobjetivos y sistemas
expertos. ................................................683
Antonio Mora, Antonio Fern´andez-Ares, Pablo Garc´ıa S´anchez, J. J. Merelo y Carlos Fernandes.
Optimizaci´on evolutiva de bots para el juego Planet Wars. ....................691
Mariela Nogueira , Carlos Cotta y Antonio J. Fern´andez Leiva. Apuntes del estudio sobre modelado,
evaluaci´on e incremento de la satisfacci´on del jugador. ......................699
SS11: Problemas Din´amicos de Optimizaci´on y con Incertidumbre
Leticia Algarra y David A. Pelta. DVRP-OCR: Un M´eto do Coop erativo Basado en Heur´ısticas
Simples para el DVRP. ........................................705
Mario C´amara, Julio Ortega y Francisco De Toro. Acelerando la optimizaci´on multiobjetivo para
problemas din´amicos. .........................................713
Jenny Fajardo Calder´ın, Juan R. Gonz´alez, David A. Pelta y Alejandro Rosete Su´arez. Com-
paraci´on de estrategias de resoluci´on de problemas de optimizaci´on din´amicos combinatorios. 721
Carlos M. Fernandes, Juan L. Laredo, Agostinho C. Rosa y Juan J uli´an Merelo. Estudio y Opti-
mizaci´on de un Operador de Mutaci´on para Algoritmos Gen´eticos Basado en la Teor´ıa de la
Criticalidad Auto-Organizada. ....................................729
Pavel Novoa Hern´andez, David A. Pelta y Carlos Cruz Corona. Alcance de la evoluci´on diferencial
en ambientes din´amicos: un an´alisis emp´ırico. ...........................737
Briseida Sarasola, Karl F. Doerner y Enrique Alba. Un algoritmo de b´usqueda en vecindario variable
para la asignaci´on de rutas a veh ´ıculos con pedidos din´amic os. .................. 745
SS13: Metaheur´ısticas en Empresas y Producci´on
Joaqu´ın Bautista, Albe rto Cano y Roc´ıo Alfaro. Algoritmos GRASP par a el MMSP-W c on esta-
ciones en serie y libre interrupci´on de operaciones. ........................751
Manuel Chica,
´
Oscar Cord´on, Sergio Da mas y Joaqu´ın Bautista. An´alisis del NSGA-II p ar a el
TSALBP-1/3 cuando existe variaci´on de demanda en una producci´on mixta. ......... 759
SS14: Scheduling and Metaheur´ısticas
Jose Caceres Cruz, Alex Grasas, Helena R. Louren¸co, Angel A. Juan, Merc`e Roca y Rosa Colom´e.
Aplicaci´on de un algoritmo randomizado a un problema real deenrutamientodeveh´ıculos
heter og´eneos. .............................................767
Julio Mario Daza-Esc orcia. Programaci´on de maquinas paralelas proporcionales con secuencia de-
pendiente del tiempo de alistamiento usando la regla heur ´ıst ica de equilibrio. ..........775
Angel A. Juan, Helena R. Louren¸c o, Manuel Mateo, Alex Grasas y Alba Agust´ın. Combinando
Randomizaci´on Sesgada y B´usqueda Local Iterativa para Resolver Problemas de Flow-Shop. .779
v
T´ıtulo: VIII CONGRESO ESPA
˜
NOL SOBRE METAHEUR
´
ISTICAS,
ALGORITMOS EVOLUTIVOS Y BIOINSPIRADOS.
ISBN: 978-84-615-693 1-1.
Patrocina: Ministerio de Ciencia e Innovaci´on (TIN2011-15220-E).
Edita: Jos´e A. G´amez, Jos´e M. Puerta, Francisco Parre˜no y Luis de la Ossa.
Universidad de Castilla-La Mancha.
vii
MAEB 2012 Albacete, 8-1 0 de Febrero de 201 2
Algoritmos GRASP pa ra el MMSP-W con
estaciones en serie y libre interrupci´on de
operaciones
Joaqu´ın Bautista, Alberto Cano, Roc´ıo Alfaro
Resum en— Se presenta una variante del problema
de secuenciaci´on en l´ıneas de montaje de productos
mixtos (MMSP-W: Mixed-Model Sequencing Problem with
Workoverload Minimization)conestacionesenseriey
sin restricciones en los instantes de interrupci´on de
las op eraciones, con el objetivo de minimizar la so-
brecarga de trabajo. Para resolver el problema, se
proponen 7 algoritmos basados en el esquema me-
taheur´ıstico Greedy Randomized Adaptive Search Procedu-
re (GRASP ), que se aplican a una colecci´on de 225
ejemplares recogidos de la literatura. Los resultad os
obtenidos mediante GRASP son computacionalmente
competitivos con los conseguidos a trav´es de la pro-
gramaci´on lineal entera mixta y se acercan a los pro-
porcionados por la programaci´on din´amica acotada.
Palabras clave— MMSP-W, Secuenciaci´o n , Sobre-
carga, GRASP, Programaci´on lineal.
I. Introducci
´
on
Las l´ıneas de fabricaci´on de productos mixtos,
muy frecuentes en los entornos Just-in-time (JIT )y
Douki Seisan (DS ), permite n tratar diversas varian-
tes de uno o m´as productos. Esta flexibilidad condi-
ciona el orden en que se han de tratar las un idad es
para, por una par t e, consegu ir la reducci´on dr´asti-
ca de stocks intermedios, y, por otra, aprovechar al
m´aximo el tiempo disponible para l a fabricaci´on.
En estos entornos, pode mos encontrar dos cate-
gor´ıas de objetivos b´asicos [1]:
A. Vinculados al sobreesfuerzo o trabajo perdido:
Reducci´on al m´ınimo de las sobrecargas de tra-
bajo que pueden aparecer por programas de pro-
ducci´on con productos mixtos, debido a la du-
raci´on no homog´enea de l os tiempos de pro ces o
de las operaciones asociadas a distintos tipos de
producto incluidos en dichos programas.
B. Vinculados a JIT : Reducci´on al m´ınimo de los
niveles de stock en el sistema.
En cuanto a la categor´ıa A de objetivos, adem´as
del enfoque relativo a maximizar el trabajo total
completado [2], cabe la posib il i d ad de modular el
esfuerzo adicional qu e debe aplicarse a lo largo del
tiempo sobre algunas operaciones [3].
Bajo esta perspectiva, los problemas de secuencias
pueden ser agrupados en tres categor´ıas:
1. Mixed-model sequencing
2. Car sequencing
3. Level scheduling
Nissan Chair UPC, Barcelona, Espa˜na. E-mail: joa-
quin.bautista@upc.edu, alberto.cano-perez@upc.edu, ro-
cio.alfaro@upc.edu .
El presente trabajo se puede enmarcar en la cate-
gor´ıa A.1. y adopta como criterio de optimizaci´on la
minimizaci´on de la sobrecarga total de t r abajo.
La sobrecarga, o sobreesfuerzo, es una medida, en
unidades de tiempo, del trabajo que no se puede
completar, al ritmo de la actividad est´andar estable-
cida, en el tiempo (ciclo) concedido a las estaciones
de trabajo. Esta sobrecarga puede aparecer cu and o
el tiempo de proceso de una unidad, en una esta-
ci´on d e trabajo, es mayor que e l tiempo de ciclo [2];
incluso, la sobrecarga puede aparecer cuando con-
cedemos a cada estaci´on algo m´as de tiempo para
procesar cada unidad de producto; se tiene entonces
un ciclo ampliado, llamado ventana temporal, que es
el tiempo m´ax i mo que puede permanecer una unidad
en cada estaci´on de trabajo.
Ante una sobrecarga pr ev i si b le en una estaci´on, se
pueden adoptar, al menos, tres tipos de medidas:
I. Parar la l´ınea y completar el trabajo pendiente
con alg´un refuerzo [4], [5] .
II. Dejar pasar la unidad y concluir, posteriormen-
te, el tr ab ajo pendiente en una l´ınea final [2],
[6], [7], [8].
III. Incrementar la actividad productiva por enci-
ma de l a est´andar , mediante la asiste nc i a de
operarios de refuerzo o s i st e mas robotizados
programados previamente.
Este trabajo contempla las medidas de las cate-
gor´ıas II y III para tratar la sobrecarga.
El MMSP-W es un problema NP-hard [2] para cu-
ya resoluci´on se han propuesto diferentes alternati-
vas; qu e incluyen p r ocedimientos exactos basados en
Branch and Bound [9], p r ogram aci ´on din´amica [2],
[10], procedimientos h eu r´ısti cos basados en b´usque-
da local [6], [11], algoritmos Greedy con reglas de
prioridad [6], [12], metaheur´ısticas [13], [14], o basa-
dos en Beam Search [15].
Para este trabajo se ha dise˜nado un procedimi ento
GRASP extendido (GRASP-x ) que admite diversas
variantes en funci´on de los valores asignados a tres
par´ametros. Entre dichas variantes se encuentran las
heur´ısticas Greedy constructivas con poste ri or opti-
mizaci´on local, los procedi mi entos Multistart, los al-
goritmos GRASP cl´asicos [16], [17] y los algoritmos
GRASP en los que la probabilidad de selecci´on de los
candidatos se hace depender de la aptitud de ´estos,
la cual puede medirse a trav´es de una funci´on de ca-
lidad depen di e nte de cada candidato. Una ext e ns a
recopilaci´on de trabajos sobre aplicaciones de est os
752 Algoritmos GRASP para el MMSP-W con estaciones en serie y libre interrupci´on. . .
algoritmos se puede encontrar en [18], [19].
Los resultados que se han obtenido con el proce di -
miento GRASP extendi do son compu t aci on alm ente
competitivos con la programaci´on lineal entera mix-
ta y, en menor grado, con la programaci´on din´amica
acotada. Nuestra propuesta contiene lo siguiente:
1. Un modelo para el MMSP-W con estaciones en
serie y libre interrupci´on de las operaciones, que
parte de la base proporcionada por los modelos
de Yano [2] y Scholl [13] .
2. El dise˜no e implementaci´on de cotas parciales y
globales para el problema, basadas en la progra-
maci´on lineal.
3. Siete algoritmos basados en el procedimiento
GRASP que act´uan como maestros para dirigir
la exploraci´on en el espacio de b´usqueda y cuen-
tan con la asistencia de la pr ogram aci ´on lineal
para det e rm i nar los ´ındices de selecci´on de candi-
datos. Para ello, se ha empleado e l solver Gurobi
versi´on 4.5.0.
4. Una experiencia computaci onal , con ejemplares
de la literatura, para comparar los resultados ob-
tenidos mediante los procedimi e ntos implemen-
tados en este trabajo con los resultados ofrecidos
por la programaci´on lineal entera mixta y la pro-
gramaci´on din´amica acotada.
Este trabajo se organ i za de la siguiente forma. La
secci´on II presenta un modelo para el MMSP-W con
estaciones d e trabajo en serie y libre interrupci´on de
operaciones. La secci´on III contiene el dise˜no de co-
tas parciales y globales para el problema. La secci´on
IV muestra un ejemplo ilustrativo. En la secci´on V
se describe el procedimiento GRASP-x adaptado pa-
ra resolver el MMSP-W. La secci´on VI se centra en
la descripci´on y comparaci´on de resultados de la ex-
periencia computaci on al realizada, que expl ot a sie-
te algoritmos (derivados del procedimiento GRASP-x
tras fijar siete conjuntos de valores a los tres par´ame-
tros) sobre ejemplares de la literatura. Finalmente,
la secci´on VII muestra algunas conclusiones sobre el
presente trabajo.
II. Modelo para el MMSP-W con estaciones
de trabajo en serie y sin reglas de
interrupci
´
on de las operaciones
Para el MMSP-W con v´ınculos entre estaciones de
trabajo, libre interrupci´on de las operaciones y con
el objetivo de minimizar la sobrecarga de trabajo,
tomamos como referencia el mod el o M4, propuesto
en [10].
El mo delo extendido M4’, propue s t o en [ 20], s e
centra en minimizar la sobrecarga total (es de-
cir, maximizar el trabajo total completado), utiliza
los instantes relativos de inicio de las un id ad es y,
adem´as, considera m´as de un procesador homog´eneo
en cada estaci´on de trabajo.
Los par´ame t ros y las variables de es t e modelo se
presentan a continuaci´on.
Par´ametros
K Conjunto de estaciones de trabajo (k =
1,..,|K|).
b
k
N´umero de procesad ore s homog´eneos en ca-
da estaci´on de trabajo (k =1,..,|K|).
I Conjunto de tipos de producto (i =1,..,|I|).
d
i
Demanda programada del tipo de producto
i.
p
i,k
Tiempo de proceso requerido a cada proce-
sador homog´eneo (en actividad normal), por
una unidad de producto de tipo i en la esta-
ci´on k.
T Demanda total. Obviament e
|I|
i=1
d
i
= T .
t Indice de posici´on en la secuencia t =1,..,T.
c Tiempo de ciclo. Tiempo est´andar asigna-
do a cada procesador de las estaciones de
trabajo, k =1,..,|K|, para tratar cualquier
unidad de producto.
l
k
Ventan a tempor al . Tiempo m´aximo que se
le permite, a cada procesador de la estaci´on
k, trabajar en cualquier unidad de producto;
siendo l
k
− c>0 el tiempo m´aximo que se
puede retener una un i dad de producto, en la
estaci´on k, una vez concluido e l ciclo.
Variables
x
i,t
Variable binaria que adopta el valor 1 si una
unidad del prod uc t o i (i =1,...,|I| ) se asig-
na a la posici´on t (t =1,...,T)delasecuen-
cia, y valor 0 en c aso contrario.
s
k,t
Instante de in i ci o del trabajo aplicado a la
t-´esima unidad de la secuencia de productos
en la estaci´on k (k =1,...,|K|).
w
k,t
Sobrecarga generada en cada procesador ho-
mog´eneo (en actividad normal) ,medidaen
tiempo, por la t-´esima unidad de producto
secuenciada en la estaci´on de trabajo k.
ˆs
k,t
Diferencia positiva entre el instante de inicio
real y el m´ınimo instante de inicio de la
t-´esima operaci ´on en la estaci´on de traba-
jo k.ˆs
k,t
=[s
k,t
− (t − 1)c]
+
(con [x]
+
=
max{0,x}).
ρ
k,t
Tiempo de proceso requerido a cada proce-
sador por la t-´esima unidad de la secuencia
de productos en la estaci´on de tr abajo k.
Modelo M4’
m´ın W =
|K|
k=1
b
k
T
t=1
w
k,t
(1)
sujeto a:
T
t=1
x
i,t
= d
i
∀i =1,..,|I| (2)
|I|
i=1
x
i,t
=1 ∀t =1,..,T (3)
Joaqu´ın Bautista et al. 753
ρ
k,t
=
|I|
i=1
p
i,k
x
i,t
∀k =1,..,|K|;
∀t =1,..,T
(4)
ρ
k,t
− w
k,t
≥ 0 ∀k =1,..,|K|;
∀t =1,..,T
(5)
ˆs
k,t
≥ ˆs
k,t−1
+ ρ
k,t−1
− w
k,t−1
− c ∀k =1,..,|K|;
∀t =2,..,T
(6)
ˆs
k,t
≥ ˆs
k−1,t
+ ρ
k−1,t
− w
k−1,t
− c ∀k =2,..,|K|;
∀t =1,..,T
(7)
ˆs
k,t
+ ρ
k,t
− w
k,t
≤ l
k
∀k =1,..,|K|;
∀t =1,..,T
(8)
ˆs
k,t
≥ 0 ∀k =1,..,|K|;
∀t =1,..,T
(9)
w
k,t
≥ 0 ∀k =1,..,|K|;
∀t =1,..,T
(10)
x
i,t
∈ {0, 1} ∀i =1,..,|I|;
∀t =1,..,T
(11)
ˆs
1,1
= 0 (12)
En el modelo, la funci´on objetivo (1) representa
la sobr ec arga total (W ). La restricciones (2) requie-
ren que la demanda programada quede satisfecha.
La restricciones (3) indican q ue s´olo una unidad de
producto se puede asignar a cada posici´on de la s e-
cuencia. La restricciones (4) vinculan el tie mpo de
proceso requerido por el tipo de producto con los
tiempos de proceso requeridos por las unidades d e
la secuencia. La restricciones (5) establecen l´ımites
superiores para los valores de la sobrecarga a trav´es
de los tiempos de proceso requeridos por las unida-
des de la secuencia. Las restricciones (6) - (9) con st i -
tuyen el conjunto de los instantes inici al es r el at i vos
de las operaciones en cada estac i ´on de trabajo y los
tiempos de proceso aplicados a los productos. La res-
tricciones (10) indican que las sobrecargas generadas
no pueden ser negativas. La restricciones (11) esta-
blecen que las variables de asignaci´on son binarias.
Por ´ultimo, la restricci´on (12) fija el inici o de las
operaciones.
III. Cotas globales y parciales pa ra M4’
Dada la secuencia parcial π(t)={π
1
, π
2
,...,π
t
},
se podr ´a determinar una cota global de W yuna
cota parcial del complemento R(π(t)) asociado a la
secuencia o segmento π(t)seg´unelesquemadela
figura 1.
Fig. 1. Esquema de cotas para una secuencia parcial π(t)
Para obtener las cotas de las sob re car gas asociadas
a π(t)yR(π(t)), se imponen las siguientes condicio-
nes a M4’ :
1. Se fijan los valores de las variabl es x
i,τ
(i =
1,...,|I| ; τ =1,...,t) en consonancia con π(t);
esto es:
x
i,τ
=
1,siπ
τ
= i
0,siπ
τ
�= i
⇔
⇔
x
π
τ
,τ
=1
x
i,τ
=0,si i �= π
τ
(13)
2. Se relaja la condici´on de binariedad en las varia-
bles x
i,τ
(i =1,...,|I|; τ = t +1,...,T)
0 ≤ x
i,τ
≤ 1 i =1,...,|I|; τ = t +1,...,T (14)
El resultado es el siguiente programa lineal
LB
M4’
m´ın LB(W (π(t))) =
|K|
k=1
b
k
T
t=1
w
k,t
(15)
sujeto a:
(2)-(10) y (12) de M4’
x
π
τ
,τ
=1 ∀τ =1,...,t (16)
0 ≤ x
i,τ
≤ 1 ∀i =1,...,|I|; ∀τ = t+1,...,T (17)
El programa lineal anterior nos ofrecer´a una cota
global de la sobrecarga total (LB(W (π(t)))), as´ı co-
mo un valor de la sobrecarga asociada al segmen-
to π(t) (o sea, W (π(t) ) ) y una cota de la sobre-
carga asociada al complemento R(π(t)) (es decir,
LB(R(π(t)))). Estos valores pueden calcularse de la
siguiente manera:
W (π(t)) =
|K|
k=1
(b
k
t
τ =1
w
k,τ
) (18)
LB(R(π(t))) =
|K|
k=1
(b
k
T
τ =t+1
w
k,τ
) (19)
Los instantes relativos de finalizaci´on (ˆe
k,t
)dela
´ultima operaci´on de la secuencia parcial π(t), en cada
estaci´on de trab ajo, se pueden obtener a partir de
LB M4’, de la forma: ˆe
k,t
=ˆs
k,t
+ ρ
k,t
− w
k,t
, ∀k.
IV. Un ejemplo ilustrativo
Con el prop´osito de ilustrar el problema a trav´es
del modelo anteriormente formulado, presentamos el
siguiente ejemplo.
Se di spone de 6 unidade s de produ ct o (T = 6),
de las cuales 3 son de tipo A,1esdetipoB y2
son de tipo C, con un trabajo total requerido igual
a V
0
= 104. Las unidades de producto se procesan
en 3 estaciones de trabajo (|K| = 3), con difer ente
n´umero de procesadores (b
k
), siendo los tiempos de
proceso para cada procesador (en actividad normal ),
para cada unidad de tipo de producto (A, B, C)yen
cada estaci´on de trabajo (m
1
, m
2
, m
3
), los recogidos
en la tabla I.
Se considera, adem´as, c =4(tiempo de ciclo)y
l
k
= 6 para k =1,...,3(ventana temporal ). La fi -
gura 2 muestra el diagrama de Gantt de la soluci´on
´optima dada por el modelo M4’. La secuencia de
productos que presenta la m´ınima sobrecarga tot al
es C − B − A − C − A − A. El trabajo total comple-
tado es V = 101, y la sobrecar ga, concentrada en las
estaciones de trabajo m
1
y m
2
,esW = 3 (el ´area
gris en la figura 2).
754 Algoritmos GRASP para el MMSP-W con estaciones en serie y libre interrupci´on. . .
Fig. 2. Soluci´on ´optima ofrecida por M4’
TABLA I
Tiempos de proceso (p
i,k
), n
´
umero de procesadores
homog
´
eneos (b
k
) y trabajo total (V
0
)requeridopor
cada tipo de unidad de producto en cada estaci
´
on de
trabajo
A
(d
A
=3)
B
(d
B
=1)
C
(d
C
=2)
b
k
m
1
5 4 3 1
m
2
5 4 4 2
m
3
4 3 5 1
Total
19
V
0
A
=57
15
V
0
B
=15
16
V
0
C
=32
V
0
=104
V. Algoritmos GRASP para el MMSP-W
Esta secci´on presenta los elementos b´asicos d el
procedimiento GRASP aplicado a la resoluci´on del
MMSP-W con estaciones de tr abajo en serie y con
libre interrupci´on de las operacione s.
A. Preliminares
La complejidad del MMSP-W con v´ınculos entre
estaciones de t r abajo y el inter´es de obtener solu-
ciones para ejemplares del problema con di m en si o-
nes industriales, hace recomendable el uso de proce-
dimientos heur´ısticos capaces de ofrecer soluciones
aceptables con bajo esfuerzo de computaci´on.
En la literatura se pueden encontrar numero-
sas metaheur´ısticas dedicadas a la resoluci´on del
MMSP-W original [6], [11], [12], [14]; en cuanto a la
variante del problema que nos ocupa, ha sido tratada
con t´ecnicas basadas en programaci´on lineal entera
mixta y con programaci´on din´amica.
La metaheur´ıstica GRASP [16], [17] es de tipo
multi-arranque y est´a provista de 2 fases en cada ite-
raci´on: (1) un procedimiento Greedy que sirve par a
construir una soluci´on aceptable sin que sea preciso
alcanzar el ´optimo global; y (2) una segunda fase pa-
ra obtener un ´optimo local dentro de un vecindario
y teniendo como punto de partida la s olu ci ´on que re-
sulta al aplicar el procedimiento Greedy de la fase 1.
Obviamente, la soluci´on ofrecida por el GRASP es
la mejor entre las obtenidas en el conjunto de itera-
ciones.
Para la primera fase Greedy es importante definir
un buen procedimiento que pueda ofrecer soluciones
aceptables y una diversidad suficiente de soluciones
que permitan explorar diferentes regiones en el espa-
cio de soluciones. Para garantizar dicha diversidad se
emplea e l azar, de manera que, el siguiente elemen-
to a a˜nadir a una soluci´on parcial se sortea entre
los elementos d e una lista restringida de candidatos
(RCL); dicha lista contiene los candidatos que pre-
sentan los mejores valores en relaci´on a una funci´on
(una cota, por ejemplo) dise˜nada para la selecci´on.
Para resolver un problema de optimizaci´on me-
diante un procedimiento GRASP es preciso definir
los siguientes elementos:
- El proceso aleatorio empleado en la selecci´on entre
candidatos y el procedimiento Greedy.
- El vecindario d e una soluci´on y, l´ogicamente, el
procedimiento para explorar dicho vecindario.
- El criterio de fi nal i zac i´on del algoritmo, normal-
mente vinculado a un m´aximo n´umero de iteracio-
nes o al tiempo de ejecuci´on.
En la figura 3 se presenta un esquema general del
algoritmo GRASP.
1. Inicializaci´on
2. Para toda iteraci´on iter =1,...,iter
max
2.1. Soluci´on ←− Fase constructiva (Semilla)
2.2. Soluci´on ←− Mejora local (Soluci´on)
2.3. Actualizar Soluci´on (Soluci´on, Me-
jor soluci´on)
3. Salida: Mejor soluci´on
Fig. 3. Esquema general de la metaheur´ıstica GRASP.
En algunos casos, al procedimiento GRASP,sele
puede a˜nadir un post-proceso que permita combinar
las soluciones generadas [21] o tambi´en un mecanis-
mo de auto-adaptaci´on de los par´ametros de l algo-
ritmo durante el proceso de b´usqueda [22].
Joaqu´ın Bautista et al. 755
B. Fase Greedy de construcci´on de una soluci´on
El procedimiento implementado para esta fase del
algoritmo (ver figura 4) const ru ye progresivamente
una secuencia seleccionando, en cada etapa asociada
con el instante, t =1,...,T, un elemento candidato
a partir de una l is t a restringida de ´estos (sea RCL).
En efecto, llegados a la etapa t,enlaquesedis-
pone de una secuencia (soluci´on) parcial π(t), para
cada pr oducto i con demanda pendiente a´un, se de-
termina el ´ındice f
i
(∀i : x
i
<d
i
) a partir del valor
de la cota LB(W (π(t) ∪ {i})) ; tras ello, la lista de
candidatos se construye en 2 pasos:
(a) En el primero, a part ir del par´ametro Z ∈ [0, 1]
denominado impedancia, se seleccionan todos
los productos con un valor de cota no superior
a1/Z veces el valor de la menor de ellas (cota
correspondiente al mejor candidato).
(b) En el segundo paso, se seleccionan como m´aximo
los L mejores candidatos (ordenados por cota,
de menor a mayor) incluyendo en la lista, claro
est´a, los productos empatados en cota con el L-
´esimo c and i dat o.
La selecci´on del tipo de producto a secuenciar se
realiza aleatoriamente con una probabilidad de se-
lecci´on, g
i
, que se hace depender de la calidad de las
soluciones parciales (medida a trav´es del ´ındice f
i
).
Adem´as, se ha incorporado un mecanism o para mo-
dular dichas probabilidades mediante la utilizaci´on
de dos par´ametros: (1) el coeficiente de elasticidad
aditiva, f
0
, que puede corresponderse con el valor de
una sol u ci ´on inicial y permite la concentraci´on re-
lativa de los valores de la aptitud de los productos
candidatos; y (2) el coeficiente de elasticidad poten-
cial, η, q ue sirve para concentrar (η ∈ [0, 1]) o dis-
persar (η > 1) los valores de la aptitud en t´erminos
absolutos.
N´otese que la formulaci´on propuesta en la figura
4 comprende como casos particulares los siguientes
procedimientos: (1) los algoritmos GRASP tradi ci o-
nales con tratamiento de empates incorporado, pues
basta hacer Z → 0, f
0
→∞, η = 1 y fijar un va-
lor de L menor que el n´umero de candidatos; (2)
Multistart, haciendo Z → 0, f
0
→∞, η =1yfi-
jar un valor de L i gual al n´u me ro de candidatos; y
(3) las heur´ısticas Greedy con t r at ami ento de em-
pates con Z = 1. N´otese adem´as qu e si Z → 0y
L es suficientemente grande (L = |I|) todos los ele-
mentos compatibles son candidatos y toda soluci´on
del MMSP-W tiene una probabilidad no nula de ser
generada por el procedimiento.
0. Inicializaci´on
Leer: T , I, K, d
i
(∀i), l
k
, b
k
(∀k), p
i,k
(∀i, ∀k), c,
Z, L, f
0
, η
Hacer:
t =0
x
i
=0 ∀i ∈ I,siendox
i
el n´umero de uni-
dades de tipo i secuenciadas hasta
el instante t.
π(t)={∅} siendo π(t)={π
1
, π
2
,...,π
t
} la se-
cuencia parcial constru´ıda hasta el
instante t.
1. C´alculo del ´ındice f
∀i ∈ I: x
i
<d
i
, determinar:
f
i
= LB
∗
(W ( π(t) ∪ {i}))
siendo LB
∗
(W ( π(t) ∪ {i})) el valor de la so-
luci´on ´optima ofrecida por el programa lineal
LB M4’ dada la secuenci a parcial π(t) ∪ {i}.
2. Creaci´on de la lista de candidatos RCL
Sea f
∗
=m´ın
x
i
<d
i
{f
i
};
RCL(f)={i ∈ I :(x
i
<d
i
) ∧
∧ (f
i
≤ m´ı n{f
0
,f
∗
/Z }}
donde Z ∈ [0, 1] es la i mpedancia sobre el
conjunto de elementos compatibles y f
0
es
la elasticidad aditiva que que se puede co-
rresponder con el valor de una soluci´on de
referencia:
-Si|RCL(f)| ≤ L ⇒ RCL = RCL(f)
-Si|RCL(f)| >L:
Sea i
L
∈ RCL(f)eltipodeproducto
que ocupa la L-´esima posici´on en l a lista
RCL(f) ordenada no-decrecientemente res-
pecto al ´ındice f . Hacer:
RCL = {i ∈ RCL(f):f
i
≤ f
L
}
3. Selecci´on del tipo de product o a secuenciar
∀i ∈ RCL, determinar:
g
i
=
(f
0
− f
i
)
η
�
j∈RCL
(f
0
− f
j
)
η
donde η es la elasticid ad potencial.
Seleccionar, por sorteo, con probabilidades g
i
∀i ∈ RCL un tipo de product o; sea i
∗
el re-
sultado de esta selecci´on.
4. Actualizaci´on
x
i
∗
← x
i
∗
+ 1; t ← t + 1; π
t
= i
∗
5. Finalizaci´on
Si t<T =
�
i∈I
d
i
, ir a paso-1.
Si no, finalizar.
Fig. 4. Fase constructiva GRASP para el MMSP-W.
C. Fase de mejora local
Se propone una mejora local exhaustiva tipo 2-
intercambio e ntre dos elementos de la secuencia en
curso de mejora; el intercambio tentativo se produce,
l´ogicamente, cuando dichos elementos corresponden
a tipos de productos distintos en el problema MMSP-
W. La ex p l orac i ´on del vecindario es determinista y
756 Algoritmos GRASP para el MMSP-W con estaciones en serie y libre interrupci´on. . .
se realiza de izquierda a derecha.
A partir de una secuencia en curso, π
c
(T ) , con va-
lor LB
∗
(W ( π
c
(T ) ) obtenido a partir del programa li-
neal LB M4’, se genera una secuencia vecina, π
v
(T ),
mediante un 2-intercambio tentativo entre los ele-
mentos que ocupan las posiciones t y t
�
de la secuen-
cia en curso. Si LB
∗
(W ( π
v
(T )) <LB
∗
(W ( π
c
(T )),
el intercambio se consolida, π
v
(T ) se convierte en
la nueva secuencia en curso y se reinicia el proce-
so de intercambios. En caso contrario, se prosigue
con la generaci´on de una nueva secuencia tentativa,
una secuencia vecina, mediante otro 2-intercambio
tentativo. El procedimiento finaliza cuando ninguna
soluci´on vecina tiene un valor de sobrecarga menor
que el de la soluci´on en curso.
VI. Experiencia computacional
Se ha realizado una ex periencia computacional
que emplea 225 ejemplares del problema MMSP-W
recogidos en la literatura (ver [6], [10]). Dichos ejem-
plares se construyen a partir de 45 programas de pro-
ducci´on y 5 estructuras de tiempos de proceso de las
operaciones. Todos los ejemplares presentan 4 tipos
de productos dist i ntos (|I| = 4) y 4 estaciones de
trabajo en serie (|K| = 4). Las soluciones ´op t im as
de los 225 ejemplares se han obtenido empleando el
solver CPLEX v11.0 (para un procesador). Di chas
soluciones se comparan con l os resultados ofrecidos
por 7 algoritmos derivados del procedi mi ento gene-
ral GRASP-x para el q ue se han fijado los valores
de los par´ametros Z, L, f
0
y η (ver tabla II), sien-
do f
BDP
el valor de referencia, para cada ejemplar,
ofrecido por el procedimiento basado en la progra-
maci´on din´amica acotada descrito en [10].
Los algoritmos result antes tras asignar valores a
los 4 par´ametros son: (G)unaheur´ısticaGreedy
constructiva con post er ior mejora local; (M ) un pro-
cedimiento Multistart tradicional con mejora local;
(GR-01/2 ) un algoritmo GRASP tradicional con
una lista RCL limitada a 2 candidatos; (GR-5/2 )un
algoritmo GRASP con lista limitada a 2 can d id at os
y con probabilidades de selecci´on de ´estos levemente
dependientes de su apt it ud; (GR-9/2 ) un algoritmo
GRASP con alta dependencia entre las probabili-
dades de sele cc i´on de los candidatos y su aptitud y
con list a restringi da a 2 candidatos; y dos algorit-
mos Multistart,(GR-5/4 )y(GR-9/4 ) con proba-
bilidades de selecci´on de los candidatos id´enticas a
(GR-5/2 )y(GR-9/2 ), respectivamente. En todos
los algoritmos se fija el n´umero m´aximo de iteracio-
nes (iter
max
= 10), impuesto a cada uno de los 7
algoritmos en el proceso de resoluci´on de cada ejem-
plar. Para obtener los valores de las soluciones ´opti-
mas de LB M4’ y calcular el ´ındice f (ver figura 4,
paso-1), se ha empleado el solver Gurobi v4.5.0.
Los procedimientos han sido programados en gcc
v. 4.2.1, en un ordenador Macintosh iMac con un
procesador Intel Core i7, 2.93 Ghz. y 8 Gb de me-
moria RAM, usando MAC OS X 10.6.8 como siste-
TA B L A I I
Algoritmos derivados de GRASP-x.Caracter
´
ısticas.
Alg. Z L f
0
η
G 1 1 f
BDP
1
M 0.01 4 f
BDP
/Z 1
GR-01/2 0.01 2 f
BDP
/Z 1
GR-5/2 0.5 2 f
BDP
/Z 1
GR-9/2 0.9 2 f
BDP
/Z 1
GR-5/4 0.5 4 f
BDP
/Z 1
GR-9/4 0.9 4 f
BDP
/Z 1
ma operativo. Ni la implementaci´on ni el compilador
hacen uso de threads ni de otra forma de c´odigo para-
lelo, y, por tanto, el ordenador act´ua como un ´unico
procesador a 2.93 GHz.
Los resultados del experimento se resumen en las
tablas III, IV y V.
En la tabla III se recoge: (1) el n´u mer o de ´opti-
mos alcanzado (#opt) por cada uno de los 7 al-
goritmos sobre los 225 ejemplares del MMSP-W ;
(2) el promedio de la desviaci´on porcentual relativa
(RP D=((Soluci´on -
´
Optimo)/
´
Optimo)×100), para
los ejemplares y cada algoritmo, tanto para la fase 1
Greedy constructiva del GRASP (RP D
1
) como para
el proceso completo (RP D
2
)queincluyeelprocedi-
miento de mejora local; y (3) el tiempo medio de
CPU, por ejemplar, requerido por una iteraci´on de
cada uno de los 7 algoritmos GRASP (CP U).
La tabla IV muestra, para cada uno de los 5 blo-
ques de ejemplares formados a partir de famili as de
los 45 programas de producci´on (ver [6]), los valores
de RP D
2
, promediados por bloque, que ofrece cada
uno de los 7 algoritmos.
En la tabla V se recogen, para cada una de las 5 es-
tructuras de tiempos de proceso de las operaciones,
los valores de RP D
2
, p r omed i ados por estructu ra,
que ofrece cada uno de los 7 algoritmos.
TAB L A I I I
N
´
umero de
´
optimos, RP D
1
, RP D
2
y CP U obtenidos a
partir de los 7 algoritmos
#opt RP D
1
RP D
2
CP U
G 103 9.92 2.46 0.29
M 151 28.81 1.06 0.30
GR-01/2 159 15.71 0.87 0.31
GR-5/2 150 14.34 1.00 0.31
GR-9/2 155 7.67 0.95 0.28
GR-5/4 155 24.89 0.89 0.31
GR-9/4 152 8.68 0.91 0.27
En la tabla III se observa que el al gor i tm o que
obtuvo peores resultados en cuanto a ´optimos alcan-
zados es el G (103 ´optimos sobre 225 ejemplares),
mientras que GR-01/2 fue la heur´ıstica con mayor
Joaqu´ın Bautista et al. 757
TABLA IV
RP D
2
obtenida por los 7 algoritmos para cada
bloque de programas de producci
´
on
B1 B2 B3 B4 B5
G 0.37 2.02 4.02 2.47 2.46
M 0.22 0.65 2.37 1.02 0.93
GR-01/2 0.04 0.54 1.61 0.74 0.91
GR-5/2 0.04 0.89 2.53 0.55 0.81
GR-9/2 0.00 0.71 2.04 0.72 0.89
GR-5/4 0.04 0.87 1.93 0.56 0.79
GR-9/4 0.00 0.70 1.85 0.90 0.85
TABLA V
RP D
2
obtenida por los 7 algoritmos para cada
estructura de tiempos de proceso de las operaciones
E1 E2 E3 E4 E5
G 4.18 3.26 1.67 0.08 3.10
M 2.19 1.07 0.53 0.00 1.52
GR-01/2 1.79 1.18 0.33 0.00 1.07
GR-5/2 2.32 1.10 0.42 0.00 1.16
GR-9/2 1.87 1.18 0.42 0.00 1.26
GR-5/4 1.76 1.29 0.43 0.00 0.98
GR-9/4 1.74 1.31 0.35 0.00 1.17
n´umero de ´exitos (159 sobre 225 ) . En cuanto a la ca-
lidad de las soluciones, medida a t r av´es de RP D
2
,se
puede observar que el compor t ami e nto d e todos l os
algoritmos, exceptuando el G, fue similar, con unos
valores de RP D
2
alrededor del 1 %, e inferiores a la
mitad del valor correspondiente al algoritmo G.En
cuanto a los valores de RP D
1
correspondientes a la
fase constructiva de los algoritmos, se pued e obs er var
que GR-9/2 es el que ofrece mejor comportamiento,
seguido de muy cerca por GR-9/4 y G; en este caso,
el algoritmo constructivo que dio peores resultados
es M. Por otra parte, los tiempos de CPU requeri-
dos por cad a ejemplar en cada iteraci´on son similar es
para todos los procedimientos (alrededor de 0.30s).
Dichos tiem pos son muy inferiores a los empleados
por el solver CPLEX y ligeramente inferior es a los
del procedimiento BDP (recogidos en [20]) que son
del orden de 81.7s y 3.3s, respectivamente.
Examinando los result ad os recogidos en la tabla
IV podemos concluir que el peor procedimiento pa-
ra todos los bloques fue G (en sinton´ıa con los va-
lores de RP D
2
para los 225 ejemplares); el resto de
algoritmos se comporta de forma irregul ar en todos
los bloques, aunque ofrecen mejores resultados que
G. En c uanto a resul t ad os por bloques, las mejores
soluciones se concentraron en el bloque 1, mientras
que las peores soluciones lo hicieron en el bloque 3.
Si observamos los resultados p or estructuras (tabla
V), la estructura, sobre la que se obtuvieron mejores
resultados, fue la 4; siendo la estructura 1 la m´as
dif´ıcil de resolver para todos los algoritmos. De nue-
vo, el algoritmo que present´o peores promedios en
este caso fue G, comport ´andose e l resto de algorit-
mos de una forma similar.
VII. Conclusiones
Se formula el problema MMSP-W con v´ınculos
entre estaciones de trabajo dispuestas en serie y sin
restricciones en los instantes de interrupci´on de las
operaciones. El resu l t ado de la formulaci´on es un
programa lineal entero mixto.
Se propone un a formulaci´on para algoritmos
GRASP que permite su gener al iz aci ´on. Nuestra ex-
tensi´on (GRASP-x ) comprende, a trav´es de la defi-
nici´on de tres par´ametros adic i onal es (impedancia y
elasticidades, aditi va y potenci al ), los procedimien-
tos Greedy constr u ct i vos con tratamiento de empates
y posterior mejora local y los algoritmos GRASP y
Multistart tradicionales; tambi´en comprende la posi-
bilidad de selec ci on ar los elementos candidatos de la
lista RCL con una p rob ab il i d ad de selecci´on depen-
diente de la calidad aportada por ´e st os a la secuencia
parcial en fase de construcci´on.
La propuesta GRASP-x se concreta en 7 algorit-
mos maestros que se aplican a la variante del MMSP-
W, objeto de estudio. Bajo la capa de la fase cons-
tructiva de los algoritmos maestros, se determinan
los valores de la funci´on de aptitud correspondientes
a la incorporaci´on, a la secuencia parcial en curso,
de cada uno de los tipos de producto candidatos. La
determinaci´on de dichos valores, a trav´es del solver
Gurobi (v.4.5. 0 ), se realiza mediante un programa li-
neal asociado al problema MMSP-W, relajado en las
condiciones binarias para las variables de secuencia-
ci´on.
La experiencia computacional sobre 225 ejempla-
res del problema, presentes en la literatura, pone
de manifiesto la competencia de GRASP (en tiem-
pos de computaci´on) frente a procedimi entos exac-
tos de resoluci´on basados e n la programaci´on lineal
entera mixta (tales como los incorporados al solver
CPLEX ) y un peor comportamiento ante el uso de
la programaci´on din´amica acotada.
Agradecimientos
Los autores agradecen la colab orac i ´on prestada
por Nissan Spanish Industrial Operations (NSIO ),
la C ´atedra Nissan UPC y al Gobierno Espa˜nol por
la financiaci´on parcial de est e trabajo a trav´es del
proyecto PROTHIUS-III: DPI2010-16759, incluyen-
do fondos FEDER.
Referencias
[1] N . Boysen, M. Fliedner y A. Scholl, Sequencing mixed-
model assembly lines: survey, classification and model cri-
tique,EuropeanJournalofOperationalResearch,192/2,
349-373, 2009.
[2] C. A. Yano y R. Rachamadugu, Sequencing to minimi-
ze work overload in assembly lines with product options,
Management Science, 37/5, 572-586, 1991.
[3] J. Bautista, J. Pereira y B. Adenso-D´ıaz, A GRASP ap-
proach for the extended car sequencing problem,Journal
of Scheduling, 11/1, 3-16, 2008.
758 Algoritmos GRASP para el MMSP-W con estaciones en serie y libre interrupci´on. . .
[4] K. Okamura y H. Yamashina, A heuristic algorithm for
the assembly line model-mix sequencing problem to mi-
nimize the risk of stopping the conveyor,International
Journal of Production Research, 17/3, 233-247, 1979.
[5] Z. Xiaobo y K. Ohno, Algorithms for sequencing mi-
xed models on assembly line in a JIT production system,
Computers & Industrial Engineering, 31/1, 47-56, 1997.
[6] J. Bautista y J. Cano Minimizing work overload in mixed-
model assembly lines,InternationalJournalofProduction
Economics, 112/1, 177-191, 2008.
[7] A . Bolat, Efficient methods for sequencing minimum job
sets on mixed model assembly lines,NavalResearchLo-
gistics, 44/5, 419-437, 1997.
[8] L .H . Tsai, Mixed-model sequencing to minimize utility
work and the risk of conveyor stoppage,Management
Science, 41/3, 485-495, 1995.
[9] A . Bolat, A mathematical model for sequencing mixed
mode ls with due dates,InternationalJournalofProduc-
tion Research, 41/5, 897-918, 2003.
[10] J. Bautista y A. Cano, Solving mixed model sequencing
problem in assembly lines with serial workstations with
work overload minimisation and interruption rules,Eu-
ropean Journal of Operational Research, 210/3, 495-513,
2011.
[11] C. A. Yano y A. Bolat, Survey, development, and appli-
catio n of algorithms for sequencing paced assembly lines,
Journal of Manufacturing and Operations Management,
2/3, 172-198, 1989.
[12] A . Bolat y C.A. Yano, Scheduling algorithms to minimize
utility work at a single s ta ti on on paced assembly line,
Production Planning and Control, 3/4, 393-405, 1992.
[13] A. Scholl, R. Klein y W. Domschke, Pattern based vo-
cabula r y building for effectively sequencing mixed-model
assembly lines,JournalofHeuristics,4/4,359-381,1998.
[14] J. Cano, R. R´ıos y J. Bautista, Ascattersearchbased
hyper -he ur is ti c for sequencing a mixed-model assembly li-
ne,JournalofHeuristics,6/6,749-770,2010.
[15] E . Erel, Y. Gocgun y I. Sabuncuoglu, Mixed-mod el as-
sembly line sequencing using beam sea rch,International
Journal of Production Research, 45/22, 5265-5284, 2007.
[16] T.A . Feo y M.G.C. Resende Greedy randomized adap t iv e
search procedures,J.ofGlobalOptimization,vol.6,109-
133, 1995.
[17] M .G.C. Resende y C.C. Ribeiro, Greedy randomized
adaptive search procedures,HandbookofMetaheuristics,
F. Glover and G. Kochenberger, eds., Kluwer Academic
Publishers, 219-249, 2003.
[18] P. Festa y M.G.C. Resende, An annotated bibliography of
GRASP–Part I: Algorithms,InternationalTransactions
in Operational Research, vol. 16, 1-24, 2009.
[19] P. Festa y M .G.C. Resende, An annotated bibliography
of GRASP–Part II: Applications,InternationalTransac-
tions in Operational Research, vol. 16, pp. 131-172, 2009.
[20] J. Bautista, A. Cano y R. Alfaro, A bounded dyna-
mic programming algorithm for the MMSP-W conside-
ring workstation dependencies and unrestricted interrup-
tion of the operations,11thInternationalConferenceon
Intelligent Systems Design and Applications (ISDA), ac-
cepted, 2011.
[21] M . Laguna y R. Mart´ı, GRASP and Path Relinking for
2-Laye r Straight Line Crossing Minimization,INFORMS
Journal on Computing, 11/1, 44-52, 1999.
[22] M . Prais y C.C. Ribeiro, Reactive GRASP: An Applica-
tion to a Matrix Decomposition Problem in TDMA Traf-
fic Assignment ,INFORMSJournalonComputing,12,
164-176, 2000.