SciELO - Scientific Electronic Library Online

 
vol.25 número3Estrategias mecánicas de las plantas arborescentes: enseñanzas estructurales de los árbolesMétodo para calcular el valor agregado en cadenas de suministro de productos electromecánicos índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Ingeniare. Revista chilena de ingeniería

versão On-line ISSN 0718-3305

Ingeniare. Rev. chil. ing. vol.25 no.3 Arica set. 2017

http://dx.doi.org/10.4067/S0718-33052017000300524 

Artículos

Heurística GRASP para la minimización del makespan en máquinas paralelas no relacionadas con tiempos de preparación dependientes de la secuencia

GRASP approach for the unrelated parallel machines scheduling problem with makespan minimization and sequence dependent setup times

Eduardo Salazar Hornig1  , Claudia Ávila Thieme1 

1 Departamento de Ingeniería Industrial. Universidad de Concepción. Casilla 160-C. Concepción, Chile. E-mail: deisytorres@udec.cl

RESUMEN

Se propone un algoritmo GRASP (Greedy Randomized Adaptative Search Procedures) para resolver el problema de la programación de trabajos en un sistema de máquinas paralelas no relacionadas con tiempos de preparación dependientes de la secuencia y minimización del makespan. Se evalúan cuatro procedimientos en la fase de búsqueda local de GRASP utilizando una representación secuencial y matricial de las soluciones. La efectividad y eficiencia de las alternativas propuestas se comparan con otras heurísticas de la literature sobre un conjunto de problemas de prueba, superando uno de los procedimientos propuestos el rendimiento promedio.

Palabras clave: GRASP; máquinas paralelas no relacionadas; makespan; tiempos de preparación dependientes de la secuencia

ABSTRACT

A GRASP (Greedy Randomized Adaptive Search Procedures) algorithm to solve the unrelated parallel machines scheduling problem with sequence dependent setup times and makespan minimization is proposed. Four neighborhoods in the local search phase of the GRASP algorithm using a sequence and matrix representation of solutions, are proposed. The effectiveness and efficiency of the proposed heuristics are compared on a benchmark problem dataset with other metaheuristics of the literature used in earlier studies. One of the proposed heuristics outperforms the average makespan.

Keywords: GRASP; unrelated parallel machines; makespan; sequence dependent setup times

INTRODUCCIÓN

En este estudio se considera el problema de la programación de n trabajos en un sistema de m máquinas paralelas no relacionadas con tiempos de setup dependientes de la secuencia y minimización del makespan. En un problema de programación de trabajos, el makespan corresponde al intervalo de tiempo en el que se procesan todos los trabajos a programar. Disponer de recursos productivos en paralelo otorga flexibilidad para el procesamiento de trabajos y permite mejorar la capacidad de respuesta de un sistema productivo. Por otro lado, las actividades de preparación de máquinas (tiempos de setup) que usualmente son requeridas cuando se pasa del proceso de un trabajo al siguiente, pueden llegar a ser un problema crítico en la programación de trabajos afectando la productividad del sistema, en particular, cuando estos son tiempos que dependen de la secuencia de proceso. Problemas de este tipo son comunes en la industria de la producción de pintura y de plástico (donde se requiere una completa limpieza entre la producción de una orden de producción y otra), como también en la industria de la producción de textiles, de vidrios, de químicos, de papel, y de servicios 1.

La importancia de considerar los tiempos de setup dependientes de la secuencia en problemas de programación de producción se ha hecho notoria en las últimas décadas 2-3.

El trabajo 4 fue uno de los primeros en abordar el problema de máquinas paralelas no relacionadas con tiempos de setup dependientes de la secuencia y minimización del makespan, proponiendo la heurística PH (heurística de partición). Luego, en 1 se propone para su resolución un algoritmo de búsqueda tabú que usa dos fases en los esquemas de perturbación, uno que actúa dentro de una sola máquina y otro que lo hace entre las máquinas, superando los resultados obtenidos por la heurística PH.

En 5 el problema se resuelve utilizando una metaheurística para la búsqueda aleatoria priorizada llamada Meta-Raps, que es una estrategia que usa tanto una heurística de construcción como una heurística de mejora para generar soluciones de alta calidad, mostrando también mejores resultados que la heurística PH. Más adelante, Arnaout, Rabadi y Musa 11 introducen un algoritmo ACO de optimización de colonia de hormigas (denominado ACO I) de dos etapas: la asignación de trabajos y la secuenciación de los trabajos asignados. El algoritmo muestra superioridad al comparar instancias del problema con búsqueda tabú, Meta-Raps y la heurística PH.

En 6 los autores proponen y evalúan un algoritmo genético que incluye una búsqueda local limitada de mejora en el operador de cruzamiento, una búsqueda local rápida basada en una vecindad de inserción y la aceptación de movimientos durante la búsqueda local. Mientras que, en 7) se desarrolla un conjunto de propiedades dominantes como condiciones necesarias en el orden de la secuencia de trabajos en el programa óptimo e introducen un algoritmo genético híbrido derivado de estas propiedades.

En 8 se presenta un algoritmo de recocido simulado (denominado RSA) que incorpora una estrategia de búsqueda restringida para minimizar el makespan, El algoritmo reduce el esfuerzo computacional para encontrar la mejor solución en la vecindad eliminando movimientos no efectivos de trabajos. La eficiencia y efectividad de este algoritmo es comparada con un algoritmo de recocido simulado básico y metaheurísticas existentes en la literatura. En 9 se propone un algoritmo de búsqueda en vecindad variable descendente hibridizado con elementos de programación matemática, mostrando un elevado desempeño. Finalmente, 10 introduce una mejora al algoritmo ACO I11, denominado ACO II, para la minimización del makespan. Entre los cambios se incluyen cambios en la forma de actualización de la feromona, y se amplían los casos de estudio, demostrando obtener mejores resultados en todas las instancias al ser comparada con ACO I, presentando superioridad frente a las heurísticas RSA, recocido simulado, Meta-Raps y búsqueda tabú.

EL PROBLEMA DE MÁQUINAS PARALELAS NO RELACIONADAS

El problema de la programación de trabajos en un sistema de múltiple capacidad de m máquinas que realizan igual operación en paralelo no relacionadas consiste en programar n trabajos (disponibles en el tiempo cero) que deben ser procesados en una (y solo una) de las m máquinas. Al ser máquinas no relacionadas, el tiempo de procesamiento del trabajo depende de la máquina en la que se procesa. Una máquina puede procesar un trabajo a la vez y lo hace sin interrupción, es decir, una vez iniciado el proceso de un trabajo continúa hasta terminarlo. Se consideran también tiempos de preparación dependientes de la secuencia y de las máquinas, es decir, el tiempo de preparación en la máquina k del trabajo j depende del trabajo i procesado previamente, el que a su vez es diferente para la misma situación en otra máquina.

La medida de desempeño que se utiliza para evaluar los programas de producción es el mayor tiempo de finalización entre todas las máquinas, conocido como makespan (Cmax), el que debe ser minimizado. El makespan consiste en el intervalo de tiempo entre el inicio del procesamiento del primer trabajo (tiempo de referencia 0) y el tiempo de finalización del procesamiento del último trabajo, es decir, el intervalo de tiempo en el que se procesa completamente la totalidad de los trabajos. En términos de la notación de tres parámetros propuesta por 12, este problema se denota como Rm/sijk/Cmax, donde Rm identifica un sistema de m máquinas paralelas no relacionadas, sijk identifica la presencia de tiempos de setup dependientes de la secuencia, y el tercer elemento identifica el objetivo a optimizar (Cmax). Un caso especial de este problema es el problema de máquinas paralelas idénticas sin tiempos de preparación dependientes de la secuencia (Pm//Cmax), que es considerado un problema NP-hard (incluso para dos máquinas). Dado que el problema Rm/sijk/Cmax es una generalización de este último, éste también es NP-hard1.

Se consideran las siguientes características y supuestos:

- Cada trabajo debe ser procesado en una, y solo una, máquina k, k = 1, 2, m.

- El tiempo de proceso del trabajo i es dependiente de la máquina: pik (i = 1,..., n; k = 1,..., m).

- Los tiempos de preparación (setup) para procesar el trabajo j después del trabajo i, en la máquina k, está dado por sijk (i = 1,..., n; j = 1,..., n; k = 1,..., m), donde siik representa la preparación inicial cuando el trabajo i es el primer trabajo procesado en la máquina k.

- Cada máquina procesa solo un trabajo a la vez.

- El proceso de un trabajo en una máquina no se puede interrumpir (nonpreemption).

- Todos los trabajos son independientes entre sí y se encuentran disponibles en el instante inicial.

- Las máquinas operan sin fallas en el horizonte de programación.

- El objetivo es minimizar Cmax.

A modo de ilustración, se considera un problema de 2 máquinas y 6 trabajos a programar, cuyos parámetros se presentan en las Tablas 1 y 2.

Tabla 1 Tiempos de proceso de los trabajos (pi).  

Tabla 2 Matrices de tiempos de setup (sijk).  

Utilizando la heurística setupECT (ver Figura 9), propuesta en este trabajo como una extensión de la heurística ECT, se obtiene la programación que se muestra en la carta Gantt de la Figura 1 (en las Tablas 1 y 2 se muestran en subrayado los tiempos de proceso y setup involucrados).

Figura 1 Carta Gantt-Programación. 

El primer trabajo asignado a la máquina 1 (M1) es el trabajo 6, su tiempo de finalización es 0 (disponibilidad de M1) + 2 (setup inicial en M1) + 6 (tiempo de proceso de trabajo 6 en M1) = 8; a continuación se asigna el trabajo 3 finalizando en el tiempo 8 + 4 (setup en M1) + 7 (tiempo de proceso de trabajo 3 en M1) = 19. Finalmente se asigna el trabajo 5 cuyo tiempo de finalización es 19 + 4 (setup en M1) + 10 (tiempo de proceso trabajo 5 en M1) = 33. Análogamente, la programación sobre la máquina 2 (M2). M1 finaliza el proceso de su último trabajo en el tiempo 33, mientras que la M2 lo hace en el tiempo 47, así, el makespan resulta Cmax = 47.

HEURÍSTICA GRASP

La heurística GRASP (Greedy Randomized Adaptive Search Procedures) fue propuesta por 13 y es un proceso iterativo en el que en cada iteración se realizan una fase de construcción (utilizando un criterio greedy, adaptativo y aleatorizado) en la que se produce una solución factible, y una fase de búsqueda local en una vecindad de la solución construida en la fase de construcción. La mejor solución global encontrada se conserva como resultado.

La Figura 2 ilustra un pseudocódigo de GRASP de minimización, en donde maxIterations corresponde al número de iteraciones que se realizarán y seed a la semilla inicial para la generación de números pseudoaleatorios.

Figura 2 Pseudocódigo GRASP 14

La solución factible generada en la fase de construcción se produce iterativamente agregando un elemento a la vez. En cada iteración de esta fase se forma una lista de elementos candidatos que pueden ser incorporados a la solución parcial sin destruir su factibilidad. La evaluación de los elementos candidatos se realiza mediante una función greedy que conduce a la lista restringida de candidatos (RCL) formada por los elementos candidatos mejor evaluados. El elemento de la lista RCL a ser incorporado a la solución es seleccionado en forma aleatoria. Una vez que el elemento seleccionado es agregado a la solución, se actualiza tanto la lista de candidatos como sus costos incrementales.

Las soluciones generadas en la fase de construcción no son necesariamente óptimas. La fase de búsqueda local usualmente mejora la solución generada en la fase de construcción realizando de manera iterativa una búsqueda en una vecindad de esta.

Una solución del problema en estudio es representada mediante una secuencia de n trabajos (orden en el que los trabajos son sucesivamente asignados a la máquina en la que finaliza antes). De esta manera, si denotamos por Mk al makespan parcial de la máquina k mientras se construye la solución, el tiempo de finalización del trabajo j quedará determinado por:

(1)

Una vez asignado un trabajo, se procede con el siguiente trabajo de la secuencia, hasta que no queden trabajos por asignar.

En las heurísticas GRASP propuestas en este trabajo, se utiliza la función greedy correspondiente al tiempo de finalización del trabajo j (asignado a la máquina donde finaliza antes), es decir:

(2)

Se define gmin y gmax como el menor y mayor costo de entre los trabajos aún no incorporados a la solución en construcción. Luego, para la definición de lista RCL, se ordenan los trabajos candidatos de menor a mayor de acuerdo a la función greedy y se seleccionan aquellos de menor costo restringidos por el parámetro α, α ∈ [0, 1]:

(3)

Una vez que se ha obtenido la lista RCL se selecciona aleatoriamente un trabajo de esta, el que es agregado a la solución parcial, repitiéndose el proceso hasta que no queden trabajos por asignar.

Para la fase de búsqueda local se utilizaron cuatro vecindades diferentes, las dos primeras trabajan sobre una representación de secuencia de la solución, mientras que las dos últimas lo hacen sobre una representación matricial, la que se representa mediante una matriz con filas de largo variable que contienen la secuencia de trabajos asignados a las respectivas máquinas (filas). La Figura 3 ilustra gráficamente la estructura secuencial y matricial de una solución para un problema de n = 9 trabajos y m = 3 máquinas.

Figura 3 Representación de soluciones. 

La programación de los trabajos con una representación secuencial se realiza asignando los trabajos sucesivamente en el orden dado por la secuencia a la máquina 1, 2 ó 3, en la que el trabajo finaliza antes. En la representación matricial la secuencia de trabajos en cada máquina está dada en forma explícita (fila k representa la secuencia de trabajos asignados a la máquina k). En ambos casos la programación considera los tiempos de proceso y setup del problema.

Vecindad 1 - IP (Intercambio a pares): En esta vecindad una solución del problema se representa mediante una secuencia de n trabajos que genera la programación mediante el procedimiento de asignación explicado anteriormente. La vecindad de una solución se construye realizando en forma sistemática todos los intercambios de dos trabajos hasta lograr una solución que mejora la semilla (criterio first improvement), iniciándose una nueva búsqueda a partir de la solución encontrada hasta que ya no es posible mejorar.

El máximo de intercambios en esta vecindad es n-(n+1)/2, que corresponde a todos los posibles intercambios de dos trabajos en una secuencia de n trabajos. La Figura 4 ilustra el intercambio a pares en una solución de n = 9 trabajos con representación secuencial, mostrando los dos primeros intercambios sistemáticos. La heurística que utiliza esta vecindad se denomina GRASP-1.

Figura 4 Intercambio a pares. 

Vecindad 2 - Intercambio aleatorio (S): Esta vecindad utiliza idéntica estructura que la Vecindad 1, pero se diferencia de esta en que los intercambios de dos trabajos se realizan en forma aleatoria un número controlado de veces. La heurística que utiliza esta vecindad se denomina GRASP-2.

La Figura 5 ilustra el intercambio de los trabajos 3 y 2 seleccionados en forma aleatoria.

Figura 5 Intercambio aleatorio. 

Vecindad 3 - Inserción max-min: En esta vecindad una solución es representada por una matriz. La vecindad se construye mediante la inserción de un trabajo seleccionado en forma aleatoria de la máquina con mayor tiempo de finalización, en la máquina con menor tiempo de finalización. Luego se aplica la heurística MV15 del mejor vecino (ver Anexo), que reordena los trabajos en las máquinas involucradas en el proceso de inserción minimizando el tiempo total de proceso. La heurística que utiliza esta vecindad se denomina GRASP-3.

La heurística MV construye una secuencia de trabajos a procesar en una máquina, asignando sucesivamente, entre los trabajos no asignados, el que a continuación origina el menor setup para minimizar el tiempo total de proceso en la máquina.

La Figura 6 ilustra la inserción del trabajo 5 (seleccionado aleatoriamente) de la máquina 2 (mayor tiempo total de proceso) en la máquina 1 (menor tiempo total de proceso), asumiendo que al aplicar la heurística MV, en ambas máquinas la secuencia se reordena. Se ilustra el paso de una solución con Cmax = 53 a una con Cmax = 52.

Figura 6 Inserción max-min (matriz). 

Vecindad 4 - Intercambio aleatorio (M): Esta vecindad utiliza una estructura matricial, y se construye mediante intercambios aleatorios de dos trabajos seleccionados en forma aleatoria en dos máquinas distintas, también seleccionadas aleatoriamente. Luego se aplica la heurística MV que reasigna los trabajos en las máquinas seleccionadas para el intercambio minimizando el tiempo total de proceso. La heurística que utiliza esta vecindad se denomina GRASP-4.

La Figura 7 ilustra el intercambio del trabajo 8 con el trabajo 9 (ambos seleccionados aleatoriamente), asumiendo que al aplicar la heurística MV, en la máquina 1 la secuencia se reordena, mientras que en la máquina 3 se mantiene.

Figura 7 Intercambio aleatorio (matriz). 

La heurística ECT (earliest completion time) y sus variantes, fueron propuestas por 16 para el problema de máquinas paralelas no relacionadas sin setup. En el presente trabajo los autores proponen una heurística constructiva (setupECT) que extiende la heurística ECT al caso con setup.

Manteniendo el sentido de la heurística original, el procedimiento de extensión consiste en programar primero aquel trabajo que tenga el menor tiempo de finalización considerando todas las máquinas y todos los trabajos no asignados, tomando en cuenta los setup involucrados. De esta manera, si se define U como el conjunto de trabajos no programados y Mk como el tiempo de finalización actual de la máquina k, su pseudocódigo se muestra en la Figura 8.

Figura 8 Pseudocódigo heurística setupECT

EXPERIMENTO

Los resultados obtenidos mediante las heurísticas GRASP propuestas son comparados entre sí en términos de la calidad de la solución y de los tiempos computacionales requeridos. Luego se evalúa el desempeño de estas comparando sus resultados con heurísticas Meta-Raps, ACO y búsqueda tabú desarrolladas en trabajos de la literatura.

El conjunto de instancias utilizadas para la evaluación de los métodos propuestos y posterior comparación de resultados es obtenido del banco de problemas utilizados por 1, seleccionando problemas con tiempos de proceso dominantes y de seis tamaños m/n (m máquinas y n trabajos) diferentes: 2/20, 4/40, 6/60, 8/80, 10/100 y 12/120. Se seleccionó esta combinación de instancias para representar un ambiente de producción donde cada máquina en promedio debe procesar 10 trabajos. En estas instancias los tiempos de proceso de los trabajos se distribuyen uniformemente en el intervalo [125, 175], mientras que los tiempos de preparación de los trabajos se distribuyen uniformemente en el intervalo [50, 100]. Para cada tamaño de problema existen 15 instancias, lo que equivale a un conjunto de 90 problemas a evaluar.

La evaluación de las variantes GRASP y setupECT se realizó en un computador con procesador Intel Core i5 de 2.50 GHz y 4 GB de RAM con sistema operativo Windows 7 utilizando rutinas para para programar máquinas paralelas idénticas del programa SPS_Optimizer17 adaptadas al caso de máquinas paralelas no relacionadas.

Para la comparación de resultados se realizó un análisis de la calidad de las soluciones mediante la evaluación del makespan (Cmax). Como la mayoría de los problemas considerados son de gran tamaño, no es posible encontrar la solución óptima de estos en tiempos computacionales razonables. Por lo anterior, se utiliza una cota inferior para medir la calidad de las soluciones mediante el cálculo del máximo error relativo o la diferencia porcentual (DP) entre una solución factible respecto a la cota inferior:

(4)

donde , corresponde a la solución obtenida por el método y CI corresponde a la cota inferior del problema. La cota inferior utilizada en el estudio es una comúnmente utilizada en la literatura (11, y se calcula como , donde:

(5)

(6)

Para la experimentación es necesario establecer algunos parámetros utilizados por las heurísticas GRASP, ya que tienen una influencia significativa en los resultados obtenidos. Estos parámetros corresponden al parámetro a y al número de iteraciones (parámetro maxIiterations). En un estudio experimental previo se analizó el rendimiento para valores de a = 0,0, 0,1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9 y 1,0, concluyéndose que los valores α = 0,0 y α = 0,1 son los que dominan absolutamente el rendimiento de la heurística GRASP-1, siendo adoptados en este trabajo para efecto de comparación entre las diferentes versiones de la heurística (se adopta igual parámetro a dado que este parámetro incide en la calidad de la solución generada por GRASP en la fase de construcción, que para todas las versiones de la heurística utiliza la misma función). Los valores α = 0,0 y α = 0,1 se ubican en el rango inferior de variación del parámetro α, lo que explica que las soluciones generadas en la fase de construcción lo hacen con un criterio más bien greedy que aleatorio.

El parámetro maxIterations se fijó en 500, determinado de manera que el tiempo computacional para una réplica de los problemas de mayor tamaño n/m = 12/120 no exceda, en promedio, los 10 minutos para GRASP-1. Se realizan 10 réplicas para cada instancia. Para las heurísticas GRASP-2, GRASP-3 y GRASP-4 se fija en 1000 el número de iteraciones en la fase de búsqueda local, igual para todas las vecindades de manera de que los resultados entre estas sean comparables.

Si bien, teóricamente, para α = 0,0 la fase de construcción GRASP debería obtener siempre la misma solución, en general, para este problema se producen empates, por lo que, la lista de candidatos contiene frecuentemente más de un trabajo resolviéndose los empates en forma aleatoria; esto se manifiesta en forma más marcada a medida que aumenta el tamaño de las instancias. Por otro lado, la búsqueda en vecindad en el caso de las heurísticas GRASP-2, GRASP-3 y GRASP-4 es una búsqueda en vecindad aleatoria, lo que ayudará a producir soluciones diferentes, aun cuando se parta de una misma solución.

RESULTADOS

Los resultados obtenidos con las heurísticas GRASP se presentan en la Tabla 3, donde se muestra la diferencia porcentual promedio, mínima y máxima sobre la cota inferior para α = 0,0 y α = 0,1, además del porcentaje de veces que se obtiene la mejor solución (% MS). En algunos casos % MS es mayor a 100 dado que para algunas instancias la mejor solución se obtiene tanto con α = 0,0 como con α = 0,1.

Tabla 3 Diferencia porcentual, promedio, mínimo y máximo sobre cota inferior heurísticas GRASP. 

Para la heurística GRASP-1 se observa que consigue la mejor solución un mayor porcentaje de veces con el parámetro a = 0,1, con excepción del caso n/m = 12/120. Las diferencias porcentuales promedios respecto de la cota inferior para esta heurística, oscilan entre 3,07% (α = 0,1) y 5,49% (α = 0,0) que se presentan para el caso n/m = 2/20 y para el caso n /m = 6/60, respectivamente. La menor diferencia porcentual promedio (sobre todas las instancias) se produce con α = 0,1. Para las variantes GRASP-2 y GRASP-3 la menor diferencia porcentual promedio (sobre todas las instancias) también se produce con α = 0,1.

A diferencia de las anteriores, con la variante GRASP-4 las mejores soluciones se obtienen en su mayoría con el parámetro α = 0,0, a excepción de los problemas tamaño n/m = 6/60. Las diferencias porcentuales promedios respecto de la cota inferior para esta heurística oscilan entre 2,99% = 0,1) y 4,61% = 0,1) que se presentan para el caso n/m = 2/20 y para el caso n/m = 12/120, respectivamente. La menor diferencia porcentual promedio (sobre todas las instancias) se produce con α = 0,0.

Al comparar los resultados obtenidos con las distintas variantes GRASP (GRASP-1 (0,1), GRASP-2 (0,1), GRASP-3 (0,1) y GRASP-4 (0,0)), se aprecia que la que obtiene menor diferencia porcentual promedio con respecto de la cota inferior sobre todas las instancias es la heurística GRASP-4 (0,0), seguida de GRASP-1 (0,1). En la Figura 9, se compara la mejor solución encontrada para cada tamaño de problema de las variantes GRASP con la heurística setupECT.

Se observa que la heurística setupECT presenta diferencias porcentuales sobre la cota inferior mayores que todas las variantes GRASP, alcanzando valores entre 6,62% y 8,53%, lo que indica, como era esperable, que las cuatro variantes GRASP presentadas entregan mejores resultados que una heurística constructiva. Por otro lado, la heurística setupECT se evidencia como una heurística constructiva de bajísimo esfuerzo computacional y de aceptable calidad al no distanciarse tan significativamente de métodos metaheurísticos con los que se compara, sobre todo en problemas de mayor tamaño. Se aprecia, además, que de las variantes GRASP nuevamente GRASP-4 (0,0) y GRASP-1 (0,1) son las que presentan diferencias porcentuales menores, las que varían, entre 1,87% y 4,19%, y 1,87% y 4,05%, respectivamente.

Figura 9 Diferencia porcentual de la mejor solución respecto a la cota inferior. 

Los tiempos CPU(s) de las alternativas GRASP se presentan en la Tabla 4, donde se muestra un orden de magnitud para el promedio del tiempo CPU(s) para cada tamaño de problema. Se puede observar, que para la heurística GRASP-1 (0,1), los tiempos computacionales por réplica aumentan considerablemente con el aumento del tamaño del problema (pasando de 1,5 segundos para los problemas de tamaño n/m = 2/20 a 10 minutos para los problemas de tamaño n/m =12/120), mientras que la heurística GRASP-2 (0,1) presenta tiempos computaciones promedio por réplica que van desde 5 a 20 segundos, aumentando levemente a medida que aumenta el tamaño de los problemas (es la que presenta menores tiempo de ejecución).

Tabla 4 Tiempo CPU(s) promedio de las heurísticas GRASP por réplica. 

Las alternativas GRASP-3 (0,1) y GRASP-4 (0,0), muestran un tiempo computacional promedio por réplica similar del orden de los 25 segundos para todos los tamaños de problemas (notar que estas dos heurísticas en su fase de búsqueda local realizan aproximadamente igual número de operaciones independiente del tamaño del problema). Por otro lado, la heurística setupECT presenta tiempos de ejecución menores a 0,01 segundos para las instancias de mayor tamaño. Comparando la Figura 10 con los datos de la Tabla 4 se aprecia la ventaja de la variante GRASP-4 con respecto a GRASP-1, que teniendo rendimientos comparables, el tiempo CPU de la variante GRASP-4 (0,0) es significativamente menor que GRASP-1 (0,1).

Figura 10 Porcentaje de mejores soluciones por tamaño de problema. 

El realizar la búsqueda en vecindad en forma aleatoria ayuda a mejorar las soluciones reduciendo en forma significativa el tiempo computacional.

Las variantes GRASP-1 (0,1) y GRASP-4 (0,0) se comparan con las metaheurísticas búsqueda tabú propuesta por 1, Meta-Raps propuesta por 5 y ACO propuesta por 10; los resultados de las metaheurísticas son presentados por 10. En la Tabla 5 se presenta la diferencia porcentual promedio respecto de la cota inferior considerando la mejor solución obtenida por cada método.

Del análisis que se realiza para cada tamaño de problema, se puede observar claramente que la heurística GRASP-4 (0,0) presenta en promedio los mejores resultados en casi todos los tamaños de problema estudiados, siendo superada por ACO y Meta-Raps para el caso m/n = 2/20, y levemente por Meta-Raps en el caso m/n = 12/120. En la mayoría de los casos las diferencias porcentuales son inferiores al 5% para cada instancia, por lo que es de interés analizar el porcentaje de veces en que cada heurística obtiene la mejor solución por cada tamaño de problema (ver Figura 10 para esta comparación).

De la Figura 10 se aprecia que para los problemas de tamaño m/n = 2/20 es la heurística ACO la que presenta mejores resultados, obteniendo en el 100% de los casos la mejor solución, mientras que para los problemas con m = 4, 6 y 10 máquinas es GRASP-4 (0,0) la que obtiene la mejor solución en un mayor número de casos, compartiendo su buen rendimiento en los problemas de tamaño m/n = 8/80 con ACO. Para los problemas de m = 12 máquinas las mejores soluciones se distribuyen entre diferentes heurísticas, obteniendo en un 60,0% Meta-Raps, en un 20,0% ACO y GRASP-4 (0,0), y en un 6,7% GRASP-1 (0,1), la mejor solución; llama la atención de que para este tamaño de problema la heurística GRASP-4 (0,0) obtiene en un bajo % de las instancias la mejor solución, sin embargo, sus resultados la ubican en forma consistente como la segunda mejor solución en la mayoría de las instancias donde no obtiene la mejor solución, lo que se corrobora con su desviación promedio respecto de la cota inferior para este tamaño de problemas (ver Tabla 5).

Tabla 5 Diferencia porcentual promedio respecto de la cota inferior para cada tamaño de problema. 

Cabe mencionar, que del total de 90 instancias evaluadas, la heurística GRASP-4 (0,0) encontró la mejor solución en 54 (60,0%) oportunidades, mientras que ACO lo hizo en 30 (33,3%), Meta Raps en 22 (24,4%) y GRASP-1 en 1 (6,7%) oportunidades. Las heurísticas GRASP-2 y GRASP-3 (0,1), así como también tabu search y la heurística setupECT, no encontraron en ninguna oportunidad la mejor solución.

CONCLUSIONES

Se han propuesto cuatro variantes GRASP como nuevas alternativas para resolver el problema de máquinas paralelas no relacionadas con tiempos de setup dependientes de la secuencia y minimización del makespan, las que se diferencian en la estructura de vecindad utilizada en la fase de búsqueda local. Para representar una solución se utiliza una secuencia de trabajos (GRASP-1 y GRASP-2), que al ser asignados a las máquinas mediante un procedimiento de asignación generan el programa de producción, mientras que las heurísticas GRASP-3 y GRASP-4 utilizan una matriz de filas de largo variable para representar una solución. En particular, las variantes GRASP-1 y GRASP-4 mostraron un mejor rendimiento, y, que al ser comparadas con otros métodos de la literatura, han mejorado la mejor solución conocida en instancias.

Las variantes GRASP fueron comparadas con una heurística constructiva setupECT propuesta en este trabajo, que, aunque de buen desempeño fue superada por todas las variantes GRASP. Esto es algo que se esperaba, dado el carácter de heurística constructiva de la heurística setupECT propuesta, pero es destacable la calidad de la solución que obtiene con un bajo tiempo computacional, sobre todo en problemas de mayor tamaño.

Las variantes GRASP-1 y GRASP-4 mostraron los mejores resultados, por lo que se seleccionaron para comparar su desempeño con otros algoritmos de la literatura. Ambas heurísticas se muestran competitivas, destacando la heurística GRASP-4 que supera a las otras heurísticas en un gran número de casos, y presentando bajos tiempos computacionales comparados con los de la variante GRASP-1.

REFERENCIAS

[1] M. Helal, G. Rabadi and A. Al-Salem. "A Tabu Search Algorithm to Minimize the Makespan for the Unrelated Parallel Machines Scheduling Problem with Setup Times". International Journal of Operations Research. Vol. 3 N° 3, pp. 182-192. 2006. [ Links ]

[2] X. Zhu and W.E. Wilhelm. "Scheduling and Lot Sizing with Sequence-dependent Setup: A Literature Review". IIE Transactions. Vol. 38 N° 11, pp. 987-1007. 2006. [ Links ]

[3] A. Allahverdi, C.T. Ng, T.C.E. Cheng and M.Y. Kovalyov. "A Survey of Scheduling Problems with Setup Times or Costs". European Journal of Operational Research. Vol. 187 N° 3, pp. 985-1032. 2008. [ Links ]

[4] A. Al-Salem. "Scheduling to Minimize Makespan on Unrelated Parallel Machines with Sequence Dependent Setup Times". Engineering Journal of the University of Qatar. Vol. 17, pp. 177-187. 2004. [ Links ]

[5] G. Rabadi., R.J. Moraga and A. Al-Salem. "Heuristics for the Unrelated Parallel Machine Scheduling Problem with Setup Times". Journal of Intelligent Manufacturing. Vol. 17 N° 1, pp. 85-97. 2006. [ Links ]

[6] E. Vallada and R. Ruiz. "A Genetic Algorithm for the Unrelated Parallel Machine Scheduling Problem with Sequence Dependent Setup Times. European Journal of Operational Research. Vol. 211 N° 3, pp. 612-622. 2011. [ Links ]

[7] P-Ch. Chang and S-H. Chen "Integrating Dominance Properties with Genetic Algorithms for Parallel Machine Scheduling Problems with Setup Times". Soft Computing. Vol. 11 N° 1, pp. 1263-1274. 2011. [ Links ]

[8] K-Ch. Ying, Z-J. Lee and Sh-W. Lin. "Makespan minimization for scheduling unrelated parallel machines with setup times". Journal of Intelligent Manufacturing. Vol. 23 N° 5, pp. 1795-1803. 2012. [ Links ]

[9] K. Fleszar, Ch. Karalambous and K-S. Hindi. "A variable neighborhood descent heuristic for the problem of makespan minimisation on unrelated parallel machines with setup times". Journal of Intelligent Manufacturing. Vol. 23 N° 5, pp. 1949-1958. 2012. [ Links ]

[10] J.P. Arnaout, R. Musa and G. Rabadi. "A Two-stage Ant Colony Optimization Algorithm to Minimize the Makespan on Unrelated Parallel Machines-part II: Enhancements and Experimentations". Journal of Intelligent Manufacturing. Vol. 25 N° 1, pp. 43-53. 2014. [ Links ]

[11] J.P. Arnaout, G. Rabadi and R. Musa. "A Two-stage Ant Colony Optimization Algorithm to Minimize the Makespan on Unrelated Parallel Machines with Sequence-dependent Setup Times". Journal of Intelligent Manufacturing. Vol. 21 N° 6, pp. 693-701. 2009. [ Links ]

[12] R.L. Graham, E.L. Lawlwr, J.K. Lenstra and A.H.G. Rinnooy-Kan. "Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey". Annals of Discrete Mathematics. Vol. 5 N° 2, pp. 287-326. 1979. [ Links ]

[13] T.A. Feo and M. Resende. "A Probabilistic Heuristic for a Computationally Difficult Set Covering Problem". Operations Research Letters. Vol. 8 N° 2, pp. 67-71. 1989. [ Links ]

[14] M. Resende and C. Ribeiro. "Greedy Randomized Adaptive Search Procedures". In Handbook of Metaheuristics, pp. 219-249. 2003. [ Links ]

[15] E. Salazar y J.C. Medina. "Minimización del makespan en máquinas paralelas idénticas con tiempos de preparación dependientes de la secuencia utilizando un algoritmo genético". Ingeniería Investigación y Tecnología. Vol. XIV N° 1 pp. 43-51. 2013. [ Links ]

[16] O.H. Ibarra and CE. Kim. Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors. Journal of the ACM (JACM). Vol. 24 N° 2, pp. 280-289. 1977. [ Links ]

[17] Salazar, E. Programación de Sistemas de Producción con SPS_Optimizer. Revista ICHIO. Vol. 1 N° 2, pp. 33-46. 2010. [ Links ]

ANEXO

Figura A.1 Pseudocódigo heurística del mejor vecino MV (ver [15]). 

Recibido: 07 de Marzo de 2016; Aprobado: 26 de Julio de 2016

* Autor de correspondencia. E-mail: esalazar@udec.cl

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons