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.
Combinaci´on de reglas bajo un esquema de
b´usqueda dispersa para secuenciar modelos
mixtos en l´ıneas de montaje
Jaime Cano Belm´an aRoger Z. R´ıos Mercado bJoaqu´ın Bautista Valhondo c
Resumen— Se presenta una hiperheur´ıstica para
el problema de secuenciaci´on de modelos mixtos en
l´ıneas de montaje. El criterio de secuenciaci´on es la
minimizaci´on de la sobrecarga producida en las esta-
ciones de la l´ınea de montaje debido a las diferentes
cantidades de trabajo necesarias para procesar dife-
rentes versiones de los productos. Secuencias largas
de productos ricos en contenido de trabajo pueden
producir sobrecarga cuando en las estaciones no se
tiene la capacidad de terminar los trabajos en el es-
pacio temporal destinado para ello. El nivel superior
de la hiperheur´ıstica esta basado en la metodolog´ıa de
b´usqueda dispersa (SS), mientras que el nivel inferior
trabaja con combinaci´on de reglas de prioridad. Se
proponen dos esquemas generales de la hiperheur´ısti-
ca y se prueban diferentes niveles de mejoramiento.
Los resultados experimentales muestran que mejoras
locales en las secuencias del conjunto de referencia
final o peque˜nas mejoras en las secuencias obtenidas
por combinaci´on de reglas producen buenas solucio-
nes.
Palabras clave— secuenciaci´on, reglas de prioridad,
b´usqueda dispersa, justo a tiempo, hiperheur´ıstica
I. Introducci´
on
En los sistemas de gesti´on de producci´on tipo
arrastre (pull), concretamente, dentro del marco de
la filosof´ıa de producci´on justo a tiempo (JIT por sus
siglas en ingl´es), la secuenciaci´on de operaciones se
convierte en el aspecto fundamental del sistema [1].
Las l´ıneas de montaje de productos mixtos (MMAL)
permiten manufacturar productos con muchas y pe-
que˜nas variantes, evitando inventarios y tiempos de
preparaci´on importantes. Este tipo de l´ıneas se usa
por ejemplo en el montaje de autom´oviles. La se-
cuenciaci´on de los productos es una decisi´on impor-
tante para el uso eficiente de las l´ıneas de montaje.
La situaci´on se puede caracterizar como un problema
de ordenaci´on con objetivos representables mediante
alguna medida de eficiencia. En la literatura se pue-
den encontrar diferentes objetivos de secuenciaci´on.
El objetivo depende de las pol´ıticas administrativas
de la compa˜n´ıa y de las restricciones impuestas por
el sistema ([2], [3]).
Uno de los criterios que menciona Monden [4] co-
mo objetivo de secuenciaci´on en un entorno JIT es
nivelar la carga de trabajo en cada proceso en las
l´ıneas de trabajo de productos mixtos. En este tra-
aUniversidad Aut´onoma de Nuevo Le´on. E-mail: jai-
me@yalma.fime.uanl.mx
bUniversidad Aut´onoma de Nuevo Le´on. E-mail: ro-
ger@yalma.fime.uanl.mx
cUniversitat Polit`ecnica de Catalunya. E-mail: cate-
dra.nissanmotoriberica@nobel.upc.edu
bajo el criterio de secuenciaci´on es la minimizaci´on
de la sobrecarga. La sobrecarga puede entenderse co-
mo el trabajo que no puede ser completado dentro
de una estaci´on cerrada debido a que el tiempo de
proceso de la unidad en curso es m´as grande que el
tiempo disponible [5]. Al haber diferentes modelos de
un mismo producto que deben ser ensamblados en la
misma l´ınea, algunos tendr´an un tiempo de proceso
mayor que el tiempo de ciclo en las estaciones de
la l´ınea de montaje. Si se introducen consecutiva-
mente productos con tiempos de proceso mayores al
tiempo de ciclo, llegar´a un momento en que no se
tenga tiempo suficiente en la estaci´on para terminar
el trabajo sobre alguno de estos productos y el tra-
bajo quedar´a incompleto cuando el producto salga
de la estaci´on.
Este trabajo que excede la capacidad o disponibi-
lidad de trabajo en las estaciones recibe entre otros
nombres, el de sobrecarga (work overload [5], [6]),
trabajo perdido o pendiente (remaining work, [7])
o trabajo utilitario (utility work, [8]). Cuando la fi-
losof´ıa de gesti´on de la empresa obliga a terminar
el trabajo dentro de las estaciones sin recibir ayu-
da extra se usa el t´ermino: paro de l´ınea (conveyor
stoppage, [9]), ya que los trabajadores tienen la po-
sibilidad de detener el avance de la l´ınea para poder
terminar el trabajo sobre los productos dentro de la
estaci´on. En el presente trabajo se adopta el concep-
to de sobrecarga usado en [5] y [6].
Para resolver este problema NP-duro [5] se han
propuesto procedimientos exactos basados en rami-
ficaci´on y acotamiento [10] o programaci´on din´ami-
ca [5]. Sin embargo, los procedimientos exactos son
eficientes s´olo para intancias peque˜nas o que consi-
deran una ´unica estaci´on o productos opcionales. Se
han propuestos procedimientos heur´ısticos prospec-
tivos [11], voraces [5] y procedimientos basados en
reglas de espacios [12] para versiones diferentes del
problema. En la literatura pueden encontrarse pro-
cedimientos que consideran m´ultiples objetivos [3],
y enfoques metaheur´ısticos [13], h´ıbridos multiobje-
tivo [14] y basados en enumeraci´on impl´ıcita parcial
(beam search) [15]. Una revisi´on reciente de la lite-
ratura relacionada con el problema de secuenciaci´on
puede encontrarse en Boysen, Fliedner y Scholl [16].
En el presente trabajo se propone el uso de reglas
de prioridad dentro de un esquema mayor. Las reglas
de prioridad son un elemento com´un en procedimien-
tos heur´ısticos para problemas de secuenciaci´on. Un
algoritmo heur´ıstico ofrece mejores soluciones cuan-
to mayor son los aspectos que combina la regla. Las
reglas de prioridad se usan para establecer una lista
ordenada de productos candidatos a ser secuenciados
en cada etapa de decisi´on.
El esquema mayor dentro del cual se usan las re-
glas de prioridad esta basado en la metodolog´ıa de
b´usqueda dispersa [17]. El esquema t´ıpico de esta
metodolog´ıa poblacional considera un m´etodo ge-
nerador de diversidad, un m´etodo de mejora, un
m´etodo para actualizar el conjunto de referencia, un
m´etodo generador de subconjuntos y un m´etodo de
combinaci´on. Como se explica m´as adelante, el pro-
cedimiento propuesto aqu´ı difiere del original en al-
gunos aspectos. El principal de ellos radica en que el
conjunto de referencia contiene cadenas de reglas de
prioridad en lugar de soluciones al problema.
Enfoques hiperheur´ısticos con b´usqueda dispersa
como esquema mayor ya han sido aplicados a probe-
mas de balanceo de l´ıneas [18], [19] con buenos re-
sultados. Otras propuestas hiperheur´ısticas pueden
encontrarse en [20] para problemas de horarios o en
[21] para problemas de empaquetamiento.
Este trabajo est´a organizado de la siguiente ma-
nera: en la Secci´on II se describen las caracter´ısticas
del sistema productivo y se da una formulaci´on del
problema, la Secci´on III describe los detalles del pro-
cedimiento constructivo por combinaci´on de reglas,
mientras que en la Secci´on IV se describe el esquema
general de b´usqueda dispersa aqu´ı propuesto. Los re-
sultados computacionales se muestran en la Secci´on
V y las conclusiones del trabajo en la Secci´on VI.
II. Descripci´
on y formulaci´
on del problema
El problema se estudia asumiendo las siguientes
caracter´ısticas y pol´ıticas del sistema productivo: ve-
locidad constante del transportador, estaciones ce-
rradas, tiempos de proceso deterministas, introduc-
ci´on de productos en la l´ınea a intervalos de tiempo
constantes, dos operadores trabajan simult´aneamen-
te en cada estaci´on y realizan su trabajo tan pronto
como sea posible. Al tiempo que transcurre entre
dos lanzamientos consecutivos se le denomina tiem-
po de ciclo (c). Existen cargas de trabajo expresa-
das en unidades de tiempo de proceso pik para cada
producto i(i= 1, . . . , I ) en cada estaci´on kde la
l´ınea (k= 1, . . . , K). La longitud de las estaciones
Lktambi´en es expresada en unidades de tiempo. Se
incurre en sobrecarga wcuando no es posible ter-
minar el trabajo sobre alg´un producto dentro de los
l´ımites de alguna estaci´on. Una soluci´on factible para
el problema est´a dada por una secuencia de longitud
Tque contiene las unidades demandadas nide cada
producto i, de tal manera que T=PI
i=1 ni. Una
soluci´on ´optima ser´a aquella que minimice la suma
de las sobrecargas producida en todas las estaciones.
Sea Π la colecci´on de permutaciones de Tobjetos
de los cuales nison de tipo i, el problema consiste
en encontrar una permutaci´on π= (π1, π2, . . . , πT)
que minimiza el valor asociado de sobrecarga (1) y
satisface las restricciones de dezplazamiento (2).
Minimizar
π∈Πw(π) = XK
k=1 XT
t=1 wk,πt(1)
Sujeto a:
π∈F={π:sk,πt+pk,πt−wk,πt−c≤sk,πt+1 ,
sk,πt+pk,πt−wk,πt≤Lk}
k= 1, . . . , K;t= 2, . . . , T (2)
Donde las variables sk,πtand wk,πtrepresentan
la posici´on del trabajador en la estaci´on kal ini-
ciar el trabajo sobre el producto en la posici´on πt
de la permutaci´on, y la sobrecarga producida en la
estaci´on kdespu´es de haber terminado el trabajo so-
bre el producto en la posici´on πt, respectivamente.
Dichas variables se pueden obtener recursivamente
seg´un las expresiones (3) y (4). En general se asume
que sk,π1= 0.
sk,πt(π) = m´ax{m´ın{sk,πt−1+pk,πt−1, Lk} − c, 0}}
t= 2, ..., T (3)
wk,πt(π) = m´ax{sk,πt+pk,πt−Lk,0}
t= 1, ..., T (4)
III. Construcci´
on de soluciones con reglas
prioridad
En un intento por aprovechar las ventajas que pue-
den obtenerse del conocimiento del problema me-
diante el uso de reglas de prioridad dentro de un es-
quema mayor, se propone una hiperheur´ıstica. Una
hiperheur´ıstica puede verse como una heur´ıstica que
selecciona otras heur´ısticas para resolver un proble-
ma. Las estrategias de combinaci´on de reglas se ba-
san en que la informaci´on sobre el inter´es de las posi-
bles alternativas se guardan de distinta manera por
las diferentes reglas y de que esa informaci´on puede
aprovecharse mediante mecanismos de combinaci´on.
En el nivel bajo, la hiperheur´ıstica se apoya en
un procedimiento constructivo por combinaci´on de
reglas (PCCR). Dada una cadena de reglas C=
(r1, r2, . . . , rT) (r∈R), el PCCR obtiene una se-
cuencia de productos (soluci´on) equivalente S=
(s1, s2, . . . , sT). En cada etapa t, el procedimiento
selecciona el producto ique mejor satisface la cade-
na ry lo asigna en la posici´on actual de la soluci´on.
El pseudoc´odigo del procedimiento se muestra en la
Figura 1.
En este trabajo se usan 20 reglas de prioridad
(|R|= 20). Las reglas consideran aspectos como
tiempos de procesamiento, la demanda pendiente, la
diferencia absoluta entre el tiempo de proceso de ca-
da producto en cada estaci´on y el tiempo de ciclo, los
desplazamientos de los trabajadores, la estaci´on cue-
llo de botella, la sobrecarga, el tiempo improductivo
PCCR (C,ni)
0S=∅,di=ni;
1para (t= 1 hasta T)hacer
2st←i∗∈rt;
3 actualizar di∗;
4fin para
5devolver(S);
Fig. 1. PCCR
y la regularidad en la producci´on y en la sobrecarga.
Los detalles de las reglas se muestran en el Ap´endice.
Una vez que se obtiene una soluci´on Ssu correspon-
diente valor de sobrecarga se puede evaluar seg´un las
expresiones (3) y (4).
IV. Hiperheur
´
ıstica
El nivel superior de la hiperheur´ıstica que aqu´ı se
propone (HH) se basa en la b´usqueda dispersa (SS).
Dicha metolog´ıa opera sobre el llamado conjunto de
referencia (RS) en el que se almacenan buenas solu-
ciones encontradas a lo largo de la b´usqueda. Bue-
nas soluciones se refiere a soluciones de alta calidad
y a soluciones diversas. T´ıpicamente SS funciona co-
mo sigue: se generan soluciones diversas mediante
un m´etodo generador de diversidad. Estas solucio-
nes pueden ser mejoradas mediante el m´etodo de
mejora. Mediante un m´etodo de combinaci´on se ob-
tienen nuevas soluciones combinando las existentes
en el RS a las que tambi´en se les puede aplicar un
procedimiento de mejora. Las parejas a combinar se
seleccionan mediante el m´etodo generador de sub-
conjuntos. En cada etapa del proceso se actualiza el
RS con el m´etodo de actualizaci´on, guardando as´ı las
mejores soluciones.
Fig. 2. Conjunto de referencia de 3 partes
En HH el RS difiere de uno normal en que el nues-
tro contiene cadenas de reglas de prioridad. Diferen-
ciamos dos tipos de RS:RS1 y RS2. El RS1 esta
compuesto por dos partes (tiers): un subconjunto
din´amico (RSd) y uno est´atico (RSs). RSdes actua-
lizado en cada iteraci´on. Al iniciar el procedimiento
las reglas del RSdson determinadas de manera alea-
toria. RSspermanece fijo a lo largo de la b´usqueda.
Cada cadena jdel subconjunto RSscontiene uni-
camente la regla r(j=r). Con ello se asegura que
todas las reglas se siguen tomando en cuenta a lo lar-
go del proceso aunque no produzcan buenas solucio-
nes, ya que pueden ayudar a diversificar la b´usqueda.
Ambos subconjuntos del RS guardan tantas cade-
nas de prioridad como |R|. El RS2 est´a conformado
adem´as por un tercer subconjunto que almacena ca-
denas diversas (RSD). Si se usa el RS1 es necesario
aplicar una fase de diversificaci´on expl´ıcita, mientras
que si se usa el RS2 esta fase ya est´a impl´ıcita en el
m´etodo de combinaci´on. En HH no se usa un m´etodo
generador de diversidad tal cual como se concibe en
la metodolog´ıa de SS. Por lo anterior, diferenciamos
dos procedimientos HH1 y HH2 que corresponden al
RS1 y RS 2 respectivamente. La Figura 2 muestra
un RS con tres subconjuntos. El esquema HH1 co-
rrespondiente al RS1 se muestra en al Figura 3, y el
esquema HH2 del RS2 se muestra en al Figura 4.
Fig. 3. Esquema HH1 para RS1
En la fase inicial del procedimiento se crea el RS
con cadenas de reglas de prioridad. En HH el conjun-
to de referencia inicial se crea seleccionando aleato-
riamente las reglas para conformarlo. Una vez crea-
do el RS se calcula la matriz de frecuencias F r, y
se actualiza en cada iteraci´on del procedimiento. La
matriz de frecuencias F r es un elemento importan-
te, ya que contiene informaci´on sobre la frecuencia
de aparici´on de las reglas de prioridad en las cadenas
del RS.
El siguiente paso es la combinaci´on de las cade-
nas del RS. La combinaci´on se realiza considerando
la informaci´on contenida en la matriz de frecuencias
F r. Al conjunto de cadenas generadas se le denomi-
na pool. La regeneraci´on del conjunto de referencia
es el siguiente paso. En la regeneraci´on se seleccio-
na un conjunto de cadenas buenas, considerando las
cadenas existentes en el RS y en el pool. Ese grupo
de cadenas buenas se introducen en el RS, lo cual
mejorar´a su estado hasta que despu´es de varias ite-
raciones no mejore m´as. Entonces se procede a la
diversificaci´on, la cual tambi´en se realiza en funci´on
de la matriz de frecuencias. En el esquema de HH2
Fig. 4. Esquema HH2 para RS2
(Figura 4) no se considera una fase de diversificaci´on
expl´ıcita ya que el RS contiene cadenas diversas. Los
detalles de cada paso se presentan en las secciones
siguientes.
A. M´etodo de combinaci´on
Con el m´etodo de combinaci´on de cadenas po-
demos producir otras nuevas que mantienen carac-
ter´ısticas de las anteriores. El m´etodo de combina-
ci´on se basa en la matriz de frecuencias F r(r, t). Esta
matriz de frecuencias de dimensiones (|R|, T ) contie-
ne el n´umero de veces que la regla rha aparecido en
la posici´on tde las cadenas de reglas contenidas en
el RS. Por ejemplo, F r(3,8) = 15 indica que la regla
r= 3 ha aparecido 15 veces en la posici´on t= 8 de
las cadenas del RS.
Ct
k=
Ct
psi Ct
p=Ct
q
Ct
psi F r(Ct
p, t)≥F r(Ct
q, t)
Ct
qde otro modo
(5)
As´ı, dadas dos cadenas Cq= (r1
q, r2
q, . . . , rT
q) y
Cp= (r1
p, r2
p, . . . , rT
p), la regla que contendr´a la nueva
cadena Cken la posici´on test´a determinada seg´un
la expresi´on (5).
Dado que el RS contiene cadenas que han pro-
ducido buenas soluciones y que F r se actualiza en
cada iteraci´on seg´un la informaci´on del RS , el m´eto-
do de combinaci´on deber´ıa guiar la b´usqueda a me-
jores soluciones. Usando la misma idea, cuando se
usa el RS1, se pueden aprovecher las reglas que han
aparecido con menor frecuencia para diversificar la
b´usqueda. Todas las cadenas obtenidas con el m´eto-
do de combinaci´on debe ser sometidas al P CC R pa-
ra obtener la secuencia de productos equivalente y
su correspondiente valor de sobrecarga, todo lo cual
se guarda en el llamado pool.
B. M´etodo de mejora
Se aplica un m´etodo de mejora por reinserci´on de
segmentos [22]. Dada una soluci´on S, su vecindario
N(S) es el conjunto de todas las soluciones alcanza-
bles desde Srealizando un movimiento move. Este
move consiste en seleccionar un segmento de seg ele-
mentos consecutivos de S, extraerlo de su posici´on
original e insertarlo en una posici´on diferente (Figu-
ra 5).
Fig. 5. Mejora por reinsercion de segmentos
Dado Ty un segmento de longitud seg, todos los
posibles movimientos son |N(S)|= (T−seg)2. Cada
vez que un vecindario es explorado, se selecciona un
tama˜no de segmento 1 ≤seg ≤15. Para instancias
peque˜nas con T≤15, el valor m´aximo permitido es
de 8. La selecci´on del tama˜no de seg se realiza proba-
bil´ısticamente, donde aquellos tama˜nos de segmento
que han producido mayor n´umero de mejoras, tienen
mayor probabilidad de ser seleccionados. En HH el
procedimiento de mejora puede ser aplicado en las
secuencias del RS o del pool. En funci´on del grado
de calidad que se desea puede variarse el grado de
profundidad de mejora, principalmente si se aplica
la mejora en las secuencias del pool. En HH la com-
binaci´on de dos cadenas de reglas (del RS) produce
una nueva cadena. Dado |R|= 20 reglas y el esque-
ma HH1, el tama˜no del pool = (2·|R|)!/2! ·38! = 780
cadenas. Despu´es de evaluar las cadenas del pool, se
consideran aquellas cadenas con mejores valores de
sobrecarga para actualizar el RSd. A este proceso se
le llama actualizaci´on o regeneraci´on del RS.
C. Actualizaci´on del conjunto de referencia
Una vez que se han realizado todas las combina-
ciones de cadenas por pares y se tienen todas las ca-
denas descendientes se realiza la actualizaci´on o re-
generaci´on del RS, esto es, se consideran las cadenas
de reglas del pool con mejores valores de sobrecarga
para ser incorporadas en la parte operativa del con-
junto de referencia (RSd). Espec´ıficamente, las |R|/2
peores cadenas del RS son sustituidas por las |R|/2
mejores del pool. Estas mejores cadenas pueden ser
el resultado de haber aplicado el m´etodo de mejora
sobre ellas. Siempre se tiene almacenada la mejor so-
luci´on encontrada hasta el momento. En el proceso
de regeneraci´on del RS se evita duplicar las cade-
nas de reglas, por lo tanto, dentro del RS existir´an
cadenas con valor de sobrecarga diferentes. Una vez
terminada la fase de regeneracion del RS, se eval´ua
el estado del mismo. Para ello, en cada iteraci´on se
guardan los valores de sobrecarga de la mejor y de la
peor cadena del RS. El estado del RS est´a en fun-
ci´on de dichos valores. Se considera que el estado del
RS ha mejorado si al menos en una de las cadenas
de referencia ha habido una mejora en el valor de la
sobrecarga. En este punto del proceso se actualiza la
matriz de frecuencias F r. Cuando se usa el esque-
ma HH2, tambi´en debe actualizarse el subconjunto
RSDdel RS. El proceso inicia borrando las cadenas
en RSD. Iterativamente, para cada cadena en el pool
diverso, se calcula su distancia d(C, RSd, RSD). Di-
cha distancia es la llamada distancia de Hamming.
La cadena candidata C∈pool se compara con las
cadenas del RSdy las existentes en RSD. La cadena
C∈pool con mayor medida de distancia es introdu-
cida al RSD.
D. Fase de diversificaci´on
Dentro del esquema HH1, dado que el RS no cuen-
ta con subconjunto de diversidad, se aplica expl´ıcita-
mente un proceso de diversificaci´on con la intenci´on
de mover la busqueda a otra zona del espacio. As´ı,
cuando la combinaci´on de cadenas deja de producir
mejoras en el estado del conjunto de referencia se pa-
sa a la fase de diversificaci´on. Para ello se aprovecha
la informaci´on que contiene la matriz de frecuencias
F r(r, t).
Ct
k=
Ct
psi Ct
p=Ct
q
Ct
psi F r(Ct
p, t)< F r(Ct
q, t)
Ct
qde otro modo
(6)
La diversificaci´on se realiza en dos fases. La pri-
mera de ellas consiste en generar cadenas diversas.
Ello se logra combinando las cadenas del RS, pero
esta vez no se buscan las reglas con mayor frecuencia
en F r, sino aquellas con menor frecuencia como se
muestra en (6). En la segunda fase, se seleccionan
de forma iterativa las cadenas diversificadas del pool
que son m´as diferentes respecto a las cadenas conte-
nidas ya en el RS. El grado de diferenciaci´on entre
dos cadenas se mide con el n´umero de no coinciden-
cias que existe entre ambas cadenas (distancia de
Hamming). Existe una coincidencia si en la misma
posici´on tde ambas cadenas se encuentra la misma
regla r. En la diversificaci´on se buscan aquellas cade-
nas con el mayor n´umero de no coincidencias. Cada
cadena candidata en el pool es comparada con cada
una de las cadenas existentes en ese instante en el
RS. El n´umero total de no coincidencias de una ca-
dena candidata respecto al RS ser´a la suma de las no
coincidencias de la cadena candidata con la primera
cadena del RS, mas las no coincidencias con la se-
gunda cadena del RS, y as´ı sucesivamente. Despu´es
de obtener esta medida de distancia para todas las
cadenas del pool diverso, se introduce al RS aque-
lla candidata con la mayor distancia respecto al RS.
El proceso se repite hasta llenar el RS con cadenas
diversas.
V. Experiencia computacional
Para probar la bondad de HH se realizaron prue-
bas computacionales en una PC con procesador pen-
tium 4 a 2.4 GHz, 512 MB RAM en sistema operati-
vo windows XP profesional 2002. Las pruebas se rea-
lizaron sobre una bateria de 100 instancias dise˜nadas
y generadas en la literatura [13]. Todas las instan-
cias tienen un tiempo de ciclo c= 90 unidades de
tiempo. Los tiempos de proceso fueron generados de
la siguiente manera: para cada producto ise genera
aleatoriamente Tientre el intervalo [0,75·c·K, ], luego
cada pik se genera aleatoriamente dentro del inter-
valo [0,5·Tm/K, m´ın{lk,1,5·Tm/K }]. Las instancias
son generadas con diferentes valores de I(5,10 y 20),
de K(5,10 y 20) y longitud de estaci´on Lk(110, 150
y [88,132]) en unidades de tiempo. Adem´as las ins-
tancias tienen diferentes longitudes de sequencia T.
Los valores de Tson: 10, 20, 30, 50, 80,110, 140, 170,
200, 250, 300, 350 y 400. Los valores de las deman-
das nise generan aleatoriamente entre los intervalos
[0,5·T /I, 1,5·T /I].
Dado que s´olo conocemos ´optimos confirmados pa-
ra algunas instancias y a falta de buenas cotas infe-
riores conocidas a´un para instancias peque˜nas, en la
experiencia computacional comparamos los resulta-
dos con las mejores valores obtenidos. Debe mencio-
narse tambi´en que se sabe a priori que los resultados
para algunas instancias puede tomar valor w= 0.
Para salvar los detalles anteriores se usa la siguien-
te medida de calidad dev. La desviaci´on dev de una
soluci´on Spara la instancia hrespecto a la mejor
soluci´on obtenida Sbest se obtiene seg´un (7).
devh=|Sbest −Sh|/|+Sh| ∗ 100 % (7)
Con la finalidad de detectar algunas estrategias
en la aplicaci´on del procedimiento de mejora, se dis-
tinguen diferentes variantes que aplican para HH1 y
HH2. Se consideran 4 niveles de mejora: NoI,IRSf ,
I P 1NyIP 10 %. En N oI no se aplica mejora en
ning´un punto de HH. IRSf toma el resultado de
NoI y aplica mejora local sobre las secuencias del
RSdfinal. En I P 1Nse aplica el procedimiento de
mejora sobre las secuencias del pool. En este caso se
explora ´unicamente el vecindario inmediato de las
secuencias del pool. Dado un segmento de tama˜no
seg hay (T−seg)2moves posibles. En la variante
I P 10% tambi´en se aplica mejora local sobre las se-
cuencias del pool. La profundidad de la mejora se
establece en 10 %. Este 10 % de mejora se determi-
na respecto a la cota lbw. Si el valor de sobrecarga
original es w0, la mejora termina cuando la cantidad
mejorada iguala o supera el valor (w0−lbw)/10, don-
de lbw es la diferencia entre la cantidad de trabajo
(en tiempo) necesario para producir toda la deman-
da niy el tiempo disponible para ello, lo cual se
expresa en (8).
lbw =
K
X
k=1 "I
X
i=1
nipik −(c(T−1) + Lk)#+
(8)
En HH1, se establece una cantidad m´axima de
Nomejoramaxcombs = 3 iteraciones sin mejora en
el estado del RS para aplicar el proceso de diversi-
ficaci´on. El m´aximo de diversificaciones sin mejora
MaxDivs = 4. Se estableci´o un tiempo maximo de
busqueda de 3600 segundos en el bucle iterativo de
ambos HH1 y HH2. La mejora local en el RS final
se aplica despu´es de este criterio de paro dentro del
bucle. Para HH2 el n´umero m´aximo de diversificacio-
nes sin mejora se estableci´o en MaxDivs = 4. Con
miras a tener una referencia, se consideran las solu-
ciones encontradas con el software de optimizaci´on
CPLEX9.0.
TABLA I
Medidas de desempe˜
no para HH1
Grado de mejora en HH1
proc. CPLEX NoI IRSf IP1N IP10 %
Av.dev( %) 21.04 18.71 1.94 0.09 1.77
opt* 18 16 23 25 25
Av.Iters - 50.96 50.96 6.24 6.37
Av.Divs - 4.95 4.95 0.39 0.48
Av.CPU(seg) 3600 269 504 12545 16275
TABLA II
Medidas de desempe˜
no para HH2
Grado de mejora en HH2
proc. CPLEX NoI IRSf IP1N IP10 %
AV. dev( %) 21.04 20.59 5.20 0.52 0.32
opt* 18 11 24 23 25
Av.Iters - 10.8 10.8 2.7 1.3
AV.CPU(seg) 3600 510 555 10275 3596
Las Tablas I y II muestran las medidas de desem-
pe˜no para HH1 y H H2, respectivamente, como la
desviaci´on promedio AV.dev( %) respecto al mejor
valor encontrado, el n´umero de ´optimos alcanzados
opt∗por cada variante del procedimiento, el prome-
dio de iteraciones hechas por procedimiento, el pro-
medio de fases de diversificaci´on (s´olo en Tabla I),
y el promedio de tiempo de CPU en segundos re-
querido por cada versi´on de HH (Av.CPU(seg)). En
HH1 el n´umero de ´optimos aumenta de 16 hasta 25,
cuando se aplica procedimiento de mejora en algu-
na parte del procedimiento. Aunque HH2 encuentra
menos ´optimos cuando se usa sin mejora, al aplicar-
la tambi´en se pueden encontrar hasta 25 ´optimos.
Debe notarse que el n´umero de iteraciones promedio
para HH2 es una quinta parte si se compara con las
de HH1. Esto se atribuye al tama˜no del RS y al
esfuerzo adicional en la fase de combinaci´on y en la
mejora de las soluciones del pool.
Con CPLEX9.0 y desp´ues de una hora de b´usque-
da, se encontraron los valores ´optimos para 18 de
las 100 instancias de la bater´ıa. Para siete instancias
m´as se encontr´o con alguno de los procedimientos
aqu´ı propuestos, soluciones cuyo valor equilave a la
cota inferior encontrada al aplicar el m´etodo de ra-
mificaci´on y acotamiento de CPLEX9.0. Para estas
siete instancias, en promedio, CPLEX est´a 29.95 %
por arriba del mejor valor de sobrecarga encontrado
con HH.
En general, con HH se encuentran soluciones ´opti-
mas para los dos grupos de instancias peque˜nas
(T=(10, 20, 30), L=(110, [88,132])), y para el grupo
de instancias con estaciones largas (L=150, P=10,
M=10, T=(140, 200, 250, 300, 350)). El procedi-
miento que ofrece el mejor compromiso entre calidad
y tiempo de CPU es IRSf el cual aplica mejora local
´unicamente a las secuencias del RS final.
VI. Conclusiones
Se estudia el problema de secuenciaci´on produc-
tos mixtos en l´ıneas de montaje, con el criterio de
minimizaci´on de sobrecarga. Se consideran estacio-
nes cerradas, velocidad contante del transportador,
tiempos de proceso deterministas, introducci´on de
productos en la l´ınea a intervalos de tiempo cons-
tantes, los(las) operadores(operadoras) realizan su
trabajo tan pronto como sea posible, los tiempos de
preparaci´on y de dezplazamiento de los trabajado-
res es despreciable. Se propone una hiperheur´ıstica
HH basada en la metodolog´ıa de b´usqueda dispersa
como nivel superior. En el nivel inferior de HH se
propone el uso de procedimientos constructivos por
combinaci´on de reglas. Se describen dos esquemas
generales de HH y se prueban diferentes niveles de
profundidad en el m´etodo de mejora. La mejora local
si bien ayuda a obtener buenos resultados, es costo-
sa, principalmente cuando se aplica a las soluciones
del pool, donde puede perderse la ventaja de una
heur´ıstica sobre un procedimiento exacto. El proce-
dimiento de mejora es mejor aprovechado cuando se
aplica sobre cadenas del conjunto ´elite.
Agradecimientos
Este trabajo se realiz´o durante una estancia post-
doctoral del primer autor en la Universidad Aut´ono-
ma de Nuevo Le´on, M´exico, en el marco de apo-
yos a estancias postdoctorales del Consejo Nacio-
nal de Ciencia y Tecnolog´ıa (CONACyT), M´exi-
co. Agradecemos tambi´en los apoyos dados a trav´es
de PROTHIUS-II, proyecto DPI2007-63026 del Go-
bierno de Espa˜na, y por la C´atedra Nissan UPC.
Referencias
[1] J. Bautista Valhondo, Procedimientos heur´ısticos y exac-
tos para la secuenciaci´on en sistemas productivos de
unidades homog´eneas (contexto JIT), Disertaci´on doc-
toral, Universitat Polit`ecnica de Catalunya, Barcelona,
Espa˜na, Abril 1993.
[2] K. Okamura and H. Yamashina, “A heuristic algorithm
for the assembly line model-mix sequencing problem to
minimize the risk of stopping the conveyor,” Internatio-
nal Journal of Production Research, vol. 17, no. 3, pp.
233–247, 1979.
[3] S. Kotani, T. Ito, and K. Ohno, “Sequencing problem for
a mixed-model assembly line in the Toyota production
system,” International Journal of Production Research,
vol. 42, no. 23, pp. 4955–4974, 2004.
[4] Y. Monden, Toyota Production System, Norcross, GA,
1983.
[5] C. A. Yano and R. Rachamadugu, “Sequencing to mi-
nimize work overload in assembly lines with product op-
tions,” Management Science, vol. 37, no. 5, pp. 572–586,
1991.
[6] J. Bautista and J. Cano, “Minimizing work overload
in mixed-model assembly lines,” International Journal
of Production Economics, vol. 112, no. 1, pp. 177–191,
2008.
[7] A. Bolat, “Efficient methods for sequencing minimum
job sets on mixed model assembly lines,” Naval Research
Logistics, vol. 44, no. 5, pp. 419–437, 1997.
[8] L.H. Tsai, “Mixed-model sequencing to minimize utility
work and the risk of conveyor stoppage,” Management
Science, vol. 41, no. 3, pp. 485–495, 1995.
[9] Z. Xiaobo and K. Ohno, “Algorithms for sequencing
mixed models on assembly line in a JIT production sys-
tem,” Computers & Industrial Engineering, vol. 31, no.
1, pp. 47–56, 1997.
[10] A. Bolat, “A mathematical model for sequencing mi-
xed models with due dates,” International Journal of
Production Research, vol. 41, no. 5, pp. 897–918, 2003.
[11] C. A. Yano and A. Bolat, “Survey, developement, and
application of algorithms for sequencing paced assembly
lines,” Journal of Manufacturing and Operations Mana-
gement, vol. 2, no. 3, pp. 172–198, 1989.
[12] A. Bolat and C. A. Yano, “Scheduling algorithms to mi-
nimize utility work at a single station on paced assembly
line,” Production Planning and Control, vol. 3, no. 4,
pp. 393–405, 1992.
[13] A. Scholl, R. Klein, and W. Domschke, “Pattern ba-
sed vocabulary building for effectively sequencing mixed-
model assembly lines,” Journal of Heuristics, vol. 4, no.
4, pp. 359–381, 1998.
[14] A. Rahimi-Vahed and A. H. Mirzaei, “A hybrid multi-
objective shuffled frog-leaping algorithms for a mixed-
model assembly line sequencing problem,” Computers &
Industrial Engineering, vol. 53, no. 4, pp. 642–666, 2007.
[15] E. Erel, Y. Gocgunz, and I. Sabuncuo˘glu, “Mixed-model
assembly line sequencing using beam search,” Interna-
tional Journal of Production Research, vol. 45, no. 22,
pp. 5265–5284, 2007.
[16] N. Boysen, M. Fliedner, and A. Scholl, “Sequencing
mixed-model assembly lines: Survey, classification and
model critique,” European Journal of Operational Re-
search, vol. 192, no. 2, pp. 349–373, 2009.
[17] M. Laguna and R. Mart´ı, Scatter Search, Kluwer Aca-
demic Publishers, Boston, 2003.
[18] J. Bautista, R. Su´arez, M. Mateo, and R. Companys,
“Local search heuristics for the assembly line balancing
problem with incompatibilities between tasks,” in Pro-
ceedings of the 2000 IEEE International Conference on
Robotics and Automation, San Francisco, April 24-28
2000, pp. 2404–2409.
[19] J. Bautista, E. Fern´andez, J. L. Gonz´alez Velarde, and
M. Laguna, “Hiperheuristica para un problema de equi-
librado de lineas de montaje usando scatter search,” in
Metaheur´ısticas, Algoritmos Evolutivos y Bioinspirados,
Granada, Espa˜na, Septiembre 2005, pp. 839–845.
[20] E. Burke and S. Petrovic, “Recent research directions in
automated timetabling,” European Journal of Operatio-
nal Research, vol. 140, no. 2, pp. 266–280, 2002.
[21] P. Ross, S. Schulenburg, J. Marin-Blazquez, and E. Hart,
“Hyper-heuristics: Learning to combine simple heuris-
tics in bin-packing problems,” in Proceedings of the Ge-
netic and Evolutionary Computation Conference GEC-
CO 2002, Morgan Kauffmann, Ed., New York, July 9-13
1997, pp. 942–948.
[22] J. Cano Belm´an, Modelos y algoritmos de secuenciaci´on
en l´ıneas de ensamble de productos mixtos, Disertaci´on
doctoral, Universitat Polit`ecnica de Catalunya, Barcelo-
na, Espa˜na, Diciembre 2006.
Ap´
endice
Las 20 reglas de prioridad usadas en HH se des-
criben en esta secci´on. Dentro el PCCR, un producto
ies candidato a cierta regla rs´olo si di>0. Sea:
Iconjunto de productos;
iproducto i,i∈I;
Kconjunto de estaciones;
kestacione k,k∈K;
nidemanda original del producto i,i∈I;
tposici´on o etapa de la secuencia,
(t= 1, . . . , T ), T=PI
i=1 ni;
didemanda pendiente del producto i
(if t= 0, di=ni), i∈I,t= 1, . . . , T ;
pik tiempo de proceso para el producto ien la
estaci´on k,i∈I,k∈K;
rik indice din´amico para el producto ien la
estaci´on k,rik =di∗∆ik,i∈I,k∈K;
∆ik desplazamiento del trabajador en la
estaci´on kdebida al producto i,
∆ik =|pik −c|,i∈I,k∈K;
Lklongitud de la estaci´on k,k∈K;
uitasa producci´on ideal para el producto i,
i∈I,ui=ni/T ;
skposici´on inicial del trabador en la estaci´on
k,k∈K;
wtsobrecarga acumulada hasta la etapa t−1,
wt=Pt
1wtk,k∈K;
¯ptiempo de proceso promedio
¯p=Ppik/(|K|·|I|), i∈I,k∈K;
kbestaci´on cuello de botella;
wisobrecarga producida por el producto i
en la etapa actual t,wi=PK
k=1 wti,i∈I,
k∈K;
oitiempo de ocio en la etapa actual tproducido
por el producto i,oi=PK
k=1 oti,i∈I,
k∈K.
Las reglas se enumeran a continuaci´on:
1Producto icon mayor tiempo de proceso, i∗∈
arg max{pik}.
2Producto icon menor tiempo de proceso, i∗∈
arg min{pik}.
3Producto icon tiempo de proceso m´as cercano a
¯p,i∗∈arg min{|pik −¯p|}.
4Producto icon tiempo de proceso mas cercano a
c,i∗∈arg min{∆ik}.
5Producto icon mayor demanda pendiente , i∗∈
arg max{di}.
6Producto icon menor demanda pendiente, i∗∈
arg min{di}.
7Producto icon mayor ´ındice din´amico i∗∈
arg max{ri}.
8Producto icon menor ´ındice din´amico rik ,i∗∈
arg min{ri}.
9Producto ique ocasiona mayor desplazamiento de
todos los trabajadores, i∗∈arg max{PK
k=1 ∆ik}.
10 Producto ique ocasiona el menor despla-
zamiento de todos los trabajadores, i∗∈
arg min{PK
k=1 ∆ik}.
11 Producto icon mayor tiempo de proceso en es-
taci´on cuello de botella, i∗∈arg max{pikb}.
12 Producto icon menor tiempo de proceso en es-
taci´on cuello de botella, i∗∈arg min{pikb}.
13 Producto ique de asignarse se acerca m´as al ideal
de producci´on ui,i∗∈arg min{|(ni−di)−t·ui|}.
14 Producto icon la mayor suma del ´ındi-
ce din´amico para todas las estaciones, i∗∈
arg max PK
k=1 rik.
15 Producto icon la menor suma del ´ındi-
ce din´amico para todas las estaciones, i∗∈
arg min PK
k=1 rik.
16 Producto ique de asignarse, produce mayor so-
brecarga en la etapa actual, i∗∈arg max{wi}.
17 Producto ique de asignarse, produce el ma-
yor tiempo muerto en al etapa actual, i∗∈
arg max{oi}.
18 Producto ique de asignarse, produce la menor
sobrecarga en la etapa actual, i∗∈arg min{wi}.
19 Producto ique de asignarse, produce el me-
nor tiempo muerto en la etapa actual, i∗∈
arg min{oi}.
20 bajo el concepto de regularidad, producto icon
sobrecarga mas cercana al ideal de sobrecarga (assu-
ming lbw > 0), i∗∈arg min{(lbw /T )·t−wt−wi};
donde wtes el valor acumulado.