SciELO - Scientific Electronic Library Online

 
vol.14 issue2Environmental Impact Assessment of Brass-Threaded Unions through Product Life Cycle Assessment (LCA)Influence of Water on Asphalt Mixture Stripping: A Study on Asphalt Binders author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • On index processCited by Google
  • Have no similar articlesSimilars in SciELO
  • On index processSimilars in Google

Share


Ingeniería y Universidad

Print version ISSN 0123-2126

Ing. Univ. vol.14 no.2 Bogotá July/Dec. 2010

 

Greedy Randomized Adaptive Search Procedure (GRASP), una alternativa valiosa en la minimización de la tardanza total ponderada en una máquina1

Greedy Randomized Adaptive Search Procedure (GRASP): A Valuable Alternative for Minimizing Machine Total Weighted Tardiness2

Greedy Randomized Adaptive Search Procedure (GRASP), uma alternativa valiosa na minimização da tardança total ponderada em uma máquina3

Juan Pablo Caballero-Villalobos4
Jorge Andrés Alvarado-Valencia5


1 Este artículo se deriva de un proyecto de investigación denominado Funciones de estimación de costos y programación lineal, enfoque iterativo para abordar el problema de secuenciación en una máquina para el mejoramiento de la tardanza ponderada, financiado por la Pontificia Universidad Javeriana con número de registro 2079.
2 Submitted on: January 25, 2010. Accepted on: July 15, 2010. This article is the result of the research project Cost Estimation Functions and Linear Programming: A Recurrent Approach to Study Machine Problems in order to improve Weighted Tardiness, funded by the Pontificia Universidad Javeriana with registration number 2079.
3 Data de recepção: 25 de janeiro de 2010. Data de aceitação para publicação: 16 de julho de 2010. Este artigo deriva-se de um projeto de pesquisa denominado Funções de estimativa de custos e programação linear, enfoque iterativo para abordar o problema de sequenciamento em una máquina para o melhoramento da tardança ponderada, financiado pela Pontifícia Universidade Javeriana com número de registro 2079.
4 Ingeniero Industrial, Pontificia Universidad Javeriana, Bogotá, Colombia. Magíster en Ingeniería Industrial de la Universidad de los Andes, Bogotá, Colombia. Profesor asistente, Departamento de Ingeniería Industrial, Pontificia Universidad Javeriana. Correo electrónico: juan.caballero@javeriana.edu.co.
5 Ingeniero Industrial, Pontificia Universidad Javeriana, Bogotá, Colombia. Magíster in Analytics, North Carolina State University, Estados Unidos. Profesor asistente, Departamento de Ingeniería Industrial, Pontificia Universidad Javeriana. Correo electrónico: jorge.alvarado@javeriana.edu.co.

Fecha de recepción: 25 de enero de 2010. Fecha de aceptación para publicación: 16 de julio de 2010.


Resumen

Este artículo presenta los resultados experimentales obtenidos de secuenciar trabajos en una máquina, a fin de minimizar la tardanza total ponderada mediante un algoritmo GRASP. Los resultados se compararon con los valores óptimos o mejores valores reportados hasta el momento para cada una de las instancias de OR-Library y se encontró una excelente relación entre la calidad de los resultados (93% de las instancias se solucionaron con una desviación máxima del 1% respecto a estos valores) y el esfuerzo computacional y de implementación requerido. El algoritmo se implementó usando macros en una hoja de cálculo. La fase de postoptimización se realizó mediante una estrategia de Búsqueda Local que utilizó reglas de dominancia que, aun cuando sencillas, permitieron mejorar sustancialmente la tardanza total ponderada de las secuencias obtenidas en la fase constructiva del algoritmo.

Palabras clave: Programación de la producción, metaheurísticas, tardanza ponderada, GRASP.


Abstract

A GRASP algorithm was implemented in a common spreadsheet for single machine scheduling total weighted tardiness problem, and was tested with OR-Library instances. Results were compared with optimum or best known schedules for each instance, yielding less than 1% of difference in 93% of the cases, which results in an excellent tradeoff among results quality, computational effort and implementation easiness. Local search was performed on the post-optimization phase, based on dominancy rules, which yielded even better results with little implementation effort.

Key words: Production programming, metaheuristics, weighted tardiness problem, GRASP.


Resumo

Este artigo apresenta os resultados experimentais obtidos ao sequenciar trabalhos em uma máquina, a fim de minimizar a tardança total ponderada mediante um algoritmo GRASP. Os resultados compararam-se com os valores ótimos ou os melhores valores conhecidos até o momento para cada uma das instâncias de OR-Library e encontrou-se uma excelente relação entre a qualidade dos resultados (93% das instâncias solucionaram-se com um desvio máximo de 1% com respeito a estes valores) e o esforço computacional e de implementação requerido. O algoritmo implementouse usando macros em uma planilha de cálculo. A fase de pós-otimização realizou-se mediante uma estratégia de Busca Local que utilizou regras de dominância que, ainda que simples, permitiram melhorar substancialmente a tardança total ponderada das seqüências obtidas na fase construtiva do algoritmo.

Palavras-Chave: Programação da produção, meta heurísticas, tardança ponderada, GRASP.


Introducción

El problema aquí considerado se conoce como el problema de secuenciación en una máquina para la tardanza total ponderada, el cual se define así: sean n trabajos J1,J2,...,Jn y una sola máquina que puede procesar un solo trabajo a la vez. Cada trabajo Jj tiene un tiempo de procesamiento pj, una fecha de entrega dj y un costo de penalización por cada unidad de tiempo de retraso wj. Todos los trabajos están disponibles en el tiempo a efectos de ser procesados. Para cada trabajo, dada una secuencia propuesta de procesamiento π, se obtiene un tiempo Cj(π) en el que dicha tarea será completada. La tardanza de cada trabajo se define como Tj(π) = max(0,Cj(π) - dj) y la tardanza ponderada de la secuencia completa de trabajos ƒ(π) está dada por f(π)= Σnj=1WjTj(π). El objetivo es minimizar ƒ(π) (Cheng et al., 2005; Bilge, Kurtulan y Kirac, 2007).

El problema se conoce como n/1/ΣwjTj en la notación de Conway (Conway, Maxwell y Miller, 1967) o como en la notación de Graham (Graham et al., 1979), y será mencionado a lo largo del artículo como el problema SMTWT (por su sigla en inglés). Debido a la facilidad de implementación de los algoritmos GRASP (Ribeiro, Martins y Rosseti, 2007), la investigación se orientó a probar la pertinencia y calidad de los resultados obtenidos mediante esta técnica para el problema específico SMTWT, los cuales podrían ser de importancia en pequeñas y medianas empresas con presupuestos limitados que sí podrían utilizar una hoja de cálculo y una metaheurística de fácil implementación para lograr resultados competitivos y así apropiar el GRASP como alternativa valiosa en la solución del problema SMTWT.

Este artículo está organizado de la siguiente forma: en la primera sección se muestra una revisión de las diferentes técnicas empleadas para abordar el problema SMTWT. La segunda describe los elementos teóricos componentes de los algoritmos que implementan técnicas GRASP. La tercera sección presenta la metodología utilizada, incluidas las características diferenciadoras del algoritmo implementado GRASP_1TWT respecto a los elementos usualmente recomendados para los algoritmos basados en GRASP, la metodología propuesta de análisis y la descripción del conjunto de problemas con los que se trabaja. La cuarta presenta los resultados experimentales obtenidos con las instancias de benchmarking. Por último, se concluye a partir de los resultados y se plantean las recomendaciones de los autores para futuras investigaciones.

1. Revisión de técnicas usadas en 1Σni=1wiTi

El problema SMTWT ha sido clasificado como NP-duro, en sentido fuerte (Lawler, 1977; Lenstra, Rinnooy Kan y Brucker, 1977), de acuerdo con la teoría de la complejidad computacional de los problemas de optimización combinatoria (Lenstra y Rinnooy Kan, 1979), lo que hace computacionalmente ineficiente el uso de algoritmos exactos de optimización para solucionarlo (Abdul-Razaq, Potts y Van Wassenhove, 1990).

Algoritmos como el de ramificación y acotamiento o la programación dinámica tienen complejidad de tiempo O(2n) o superior para este problema (Cheng et al., 2005). Sin embargo, en la generación de estos algoritmos se han encontrado reglas de dominancia útiles que facilitan el hallazgo de soluciones óptimas para el problema SMTWT, y uno de los primeros en plantear reglas de dominancia fue Emmons (1969), quien exploró el problema de la tardanza en una máquina sin ponderación planteando un conjunto de reglas de dominancia, algunas de las cuales fueron extensibles al problema SMTWT, que nos ocupa (en particular el teorema 1, los corolarios 2.1, 2.2 y el teorema 3).

Posteriormente (Rinnooy Kan, Lageweg y Lenstra, 1975) realizaron algunas extensiones al trabajo de Emmons. Baker y Bertrand (1982) plantearon una regla de prioridad dinámica perfeccionada por Rachamadugu (1987). Akturk y Yildrim (1998) plantearon una regla de dominancia que es condición suficiente para la detección de óptimos locales.

La opción alternativa al uso de algoritmos exactos de optimización es el empleo de técnicas heurísticas y metaheurísticas que pueden llevar a encontrar buenas soluciones con un menor esfuerzo computacional. En cuanto al problema SMTWT, no existe una regla de despacho que funcione bien en todos los tipos de problemas. Por ejemplo, la regla de la fecha de entrega más temprana (EDD, por su sigla en inglés) es óptima si solamente un trabajo estará tarde; entre tanto, el tiempo más corto de proceso ponderado (SWPT, por su sigla en inglés) dará la secuencia óptima si todos los trabajos están necesariamente tarde.

Generalmente, la EDD funciona mejor cuando la máquina tiene trabajo liviano, mientras que el SWPT funciona mejor con máquinas bastante cargadas, donde muchos trabajos se entregarán tarde. Basados en esta idea, se han desarrollado diversas heurísticas como la de Carroll (1965), Rachamadugu y Morton (1982) y Panwalkar (Panwalkar, Smith y Koulamas, 1993). Se revisaron estos algoritmos (Chen, Potts y Woeginger, 1998) y se encontró que es difícil encontrar un desarrollo heurístico que dé garantías de desempeño.

En el campo de las metaheurísticas, Matsuo (Matsuo, Suh y Sullivan, 1989) y Potts y Van Waswnhove (1991) usaron recocido simulado. Crauwels y su equipo (1998) compararon la búsqueda tabú, recocido simulado, descent, búsqueda umbral y algoritmos genéticos usando representaciones binarias o de permutación de secuencias y encontraron que la representación de permutaciones tenía mayores probabilidades de producir soluciones óptimas, pero la representación binaria daba consistentemente soluciones de buena calidad. La búsqueda tabú fue superior a las demás técnicas en este estudio.

Más adelante, Congram, Potts y Van de Velde (2002) abordaron el problema mediante una búsqueda dinámica iterada que usa programación dinámica para hallar el mejor movimiento, consistente en un conjunto de movimientos de intercambio independientes, seguido de una búsqueda de un vecindario de tamaño exponencial en tiempo polinomial. Bilge y su grupo (2007) desarrollaron un algoritmo basado en búsqueda tabú, cuyos resultados son mejores que la mayoría de los algoritmos conocidos. Dichos resultados son competitivos frente a la propuesta de Congram, Potts y Van de Velde (2002).

La revisión bibliográfica no evidenció el uso de GRASP de manera consistente para solucionar el problema SMTWT, salvo algunos trabajos relacionados de manera indirecta (Vega Mejía y Caballero-Villalobos, 2010).

2. GRASP

Un algoritmo de tipo Greedy Randomized Adaptive Search Procedure (GRASP) es una metaheurística iterativa multiarranque que en cada iteración realiza dos fases perfectamente definidas. La primera de ellas construye una solución factible al problema, adicionando uno a uno los elementos según un criterio de utilidad asignado a cada elemento. La segunda fase optimiza mediante la exploración del vecindario de soluciones hasta caer en un óptimo local.

Esta metaheurística ha sido aplicada a la resolución de múltiples problemas combinatorios de alta complejidad, por ejemplo: empaquetamiento de conjuntos (Delorme, Gandibleux y Rodríguez, 2004), max-min diversity problem (MMDP) (Resende et al., 2010), programación de la producción en ambiente Job Shop (Aiex, Binato y Resende, 2003), corte y empaquetado (Álvarez-Valdés, Parreno y Tamarit, 2008), programación de proyectos con recursos parcialmente renovables (Álvarez-Valdés et al., 2008), cartero chino mixto (Corberan, Marti y Sanchis, 2002), recolección y distribución de un producto (Hernández-Pérez, Rodríguez-Martín y Salazar-González, 2009), entre otros.

2.1 GRASP: fase constructiva

La lógica de esta fase se ilustra en el siguiente seudocódigo tomado de (Resende y Ribeiro, 2003), con el fin de facilitar su entendimiento:

    Procedure Greedy_Randomized_Construction (Seed)
      Solution ← Ø;
      Evaluate the incremental cost of the candidate elements;
      While Solution is not a complete solution do
        Build the restricted candidate list (RCL);
        Select an element s from the RCL at random;
        Solution ← Solution ∪ { s };
        Reevaluate the incremental cost;
      end;
      return Solution;
    end Greedy_Randomized_Construction.

Donde la evaluación del costo o utilidad de cada uno de los elementos candidatos se calcula según una función que discrimine numéricamente y de manera adecuada la posibilidad de considerar cada elemento como el siguiente elemento que se va a incorporar en la solución. La construcción de la lista restringida de candidatos contempla el cálculo de un intervalo dentro del cual debe encontrarse el costo o utilidad de los posibles candidatos, de manera que se excluyan aquellos que no cumplan con esta condición.

Este intervalo se calcula con un parámetro a que sirve para regular el grado de aleatoriedad que se le permitirá al algoritmo a través de la lista restringida de candidatos (RCL, por su sigla en inglés). Las expresiones usadas para calcular los intervalos en los casos de maximización y minimización son, respectivamente, las siguientes:

[utilidad_maxima - α (utilidad_maxima - utilidad_minima), utilidad_maxima] y [utilidad_minima, utilidad_minima + α (utilidad_maxima - utilidad_minima)], donde utilidad_maxima y utilidad_minima hacen referencia a la utilidad más alta y más baja de alguno de los elementos que puede ser considerado siguiente elemento en la construcción de una solución factible.

2.2 GRASP: fase de optimización

La lógica de esta fase se basa en la exploración de soluciones adyacentes de forma que se detenga sólo cuando no se encuentren mejores soluciones en el vecindario definido. El funcionamiento de esta fase de búsqueda local se ilustra en el siguiente seudocódigo tomado de (Resende y Ribeiro, 2003):

    Procedure Local_Search (Solution)
      while Solution is not locally optimal do
        find s' ∈ N (Solution) with f(s') < f(Solution);
        Solution ← s';
      end;
      return Solution;
    end Local_Search.

Donde el proceso de encontrar una solución adyacente que mejore la solución actual tiene decisiones importantes, como la definición de los posibles cambios que se pueden realizar entre los elementos implicando el tamaño del vecindario que se va a explorar y, por ende, los recursos que este proceso consumirá. Lo anterior teniendo siempre en mente que se debe conservar la factibilidad de las soluciones propuestas.

3. Metodología

3.1 Uso de GRASP_1TWT

La implementación realizada para GRASP_1TWT, esto es, GRASP for Total Weighted Tardiness in a Single Machine, se basó en la metaheurística GRASP e incluyó los siguientes aspectos diferenciadores respecto a las recomendaciones estándares encontradas en la literatura para los algoritmos basados en GRASP:

La relación expresada en la ecuación (1) valida la conveniencia de realizar el intercambio de un par de trabajos, ubicados en la i-ésima y j-ésima posición de la secuencia actual. El lado derecho y el lado izquierdo de la expresión corresponden, respectivamente, a las tardanzas ponderadas de los trabajos afectados antes y después del intercambio. A continuación se muestra la deducción de los términos que componen la ecuación (1).

En la secuenciación de trabajos en una máquina con fechas de release=0 para todos los trabajos, se puede calcular el tiempo de finalización del trabajo en la i-ésima posición de la secuencia mediante Ci = Ci-1 + pi. Generalizando esta expresión, puede establecerse que para cualquier trabajo secuenciado n posiciones después del trabajo en la i-ésima posición se puede expresar su tiempo de finalización de procesamiento Ci + n como:

Si se intercambian los trabajos secuenciados en las posiciones i-ésima y j-ésima, el tiempo de finalización del nuevo trabajo en la i-ésima posición sería: C'i = Ci-1 + pj expresión que puede reescribirse como C'i = Ci-1 + pj + piC'i = Ci + Δi donde Δij = pj - pi. De igual manera, el tiempo de finalización de cualquier trabajo secuenciado n posiciones después del trabajo secuenciado en la i-ésima posición cambiará acorde con la siguiente expresión:

Cambiando también el retardo y tardanza ponderada, para cualquier trabajo secuenciado n posiciones después del trabajo secuenciado en la i-ésima posición, conforme a:

Esta última expresión permite contabilizar los cambios generados en la tardanza ponderada de todos los trabajos secuenciados entre las posiciones i-ésima y j-ésima de la secuencia original, al efectuar el intercambio de este par de trabajos, que originan el primer término de la ecuación (1).

Las ecuaciones (ii) y (iii) pueden reformularse como:

La última de las cuales, para el caso particular cuando n=0, tomará la forma del segundo término de la ecuación (1).

b = wj * max {0,Ci + Δij - dj}

Se sabe que la suma de los tiempos de procesamiento de los trabajos secuenciados entre las posiciones i-ésima y j-ésima es una constante que no se modifica al efectuar alguna variación en el orden de procesamiento entre los trabajos. Lo anterior permite afirmar que el tiempo de finalización de procesamiento del último trabajo también es constante y que al realizar el intercambio de los trabajos en las posiciones i-ésima y j-ésima, es posible escribir la tardanza ponderada del último trabajo que se va a procesar según el tercer término de la ecuación (1):

c = wi * max{0,Cj - di}

Como corolario de la ecuación (1), se tiene que si pj < pi entonces Δij < 0 y que, por lo tanto, los términos a y b decrecerán en valor. Adicionalmente, ante un posible incremento en la tardanza ponderada ocasionada por el término c, este sería igual o menor que el decremento obtenido en el término b, dadas las condiciones wjwi y dj = di.

3.2 Metodología de análisis de resultados

El algoritmo GRASP_1TWT fue probado en un conjunto de instancias del problema SMTWT de 40, 50 y 100 trabajos, desarrollado y probado por (Crauwels, Potts y Van Wassenhove, 1998). Hay 125 instancias por cada uno de los tres tipos de problema. Estas se generaron aleatoriamente basándose en distribuciones uniformes en el rango [1-100] para los tiempos de procesamiento pi, en el rango [1-10] para los pesos wi y con una combinación de dos distribuciones uniformes para crear fechas de entrega di que generaran diferentes grados de dificultad (Beasley, 2001), de acuerdo con el esquema propuesto por (Potts y Van Wassenhove, 1985).

Las instancias están disponibles en la biblioteca de problemas de investigación de operaciones mantenida por (Beasley, 2001), que sirve de referencia mundial para la comparación de algoritmos y técnicas de solución en diferentes problemas de investigación de operaciones. En lo referente al problema SMTWT, esta biblioteca actualmente cuenta con soluciones óptimas para 124 problemas de los 125 de 40 trabajos y 115 de los 125 problemas de 50 trabajos, además de las mejores soluciones conocidas y reportadas en la literatura a la fecha para las 375 instancias.

En lo referente a la calidad de las soluciones obtenidas, estas se compararon contra los óptimos o las mejores soluciones conocidas para el conjunto de problemas, calculando la desviación porcentual frente a esos óptimos y el porcentaje o número total de veces que se alcanzó el valor óptimo o mejor conocido, tal como es usual en la literatura (Bilge, Kurtulan y Kirac, 2007; Congram, Potts y Van de Velde, 2002).

Respecto al tiempo de ejecución computacional, y puesto que se trata de un conjunto de instancias experimental generado aleatoriamente, se analizó el efecto del parámetro α en dos niveles (3 y 5) y del número de trabajos en la instancia en tres niveles (40, 50 y 100) sobre los tiempos de ejecución mediante un análisis de varianza (Anova) factorial completo, lo que dio lugar a seis diferentes tratamientos. Al no verificarse las suposiciones del Anova, se utilizaron una prueba de Kruskal-Wallis y comparaciones múltiples de Tukey para detectar diferencias entre los tratamientos de cada factor.

4. Resultados

Los resultados obtenidos mediante GRASP_1TWT se encuentran disponibles en la página web del grupo de investigación Zentech, del Departamento de Ingeniería Industrial de la Pontificia Universidad Javeriana. Ahí están las secuencias de los trabajos encontradas por el algoritmo GRASP_1TWT para cada una de las instancias, así como la información de las instancias de la biblioteca empleada y una tabla resumen de los resultados.

La comparación de los resultados en las 375 instancias de la biblioteca OR-Library respecto a las mejores soluciones reportadas para cada una de estos problemas se muestran en las figuras 1, 2 y 3, que individualizan los resultados acorde con el tamaño de las instancias. Por su parte, la Figura 4 compendia los resultados del conjunto total de instancias sin discriminar por su tamaño.

Las figuras 1, 2 y 3 agrupan las secuencias obtenidas acordes con un criterio de calidad —la desviación porcentual respecto a los valores óptimos o mejores conocidos de tardanzas ponderadas para estas instancias— y muestran que para las 125 instancias de 40 trabajos, el método GRASP empleado obtuvo en el 76% de los casos el mismo valor reportado como mejor y en un 23% de los casos la desviación se ubicó entre el 0% y el 1%. Ello permitió calcular que el 99% de las instancias de 40 trabajos se solucionaron con una desviación inferior al 1%. Para las 125 instancias de 50 trabajos las secuencias tienen el mismo valor de los mejores resultados conocidos en un 66% de los casos y 30% de estos sólo se desvían en 1%, lo cual implica que el 96% de las instancias se solucionaron con una desviación menor al 1%.

Finalmente, los resultados obtenidos para las 125 instancias más complejas (100 trabajos) se encontraron secuencias con el mismo valor de las mejores conocidas en el 33% de los casos y con una desviación máxima de 1% en el 52% de los casos; así mismo, en el 11% de los casos las soluciones obtenidas tuvieron desviación entre el 1% y 2%, lo que evidenció que, aun para estas instancias grandes, el método usado obtuvo soluciones con desviación inferior al 1% en el 85% de los casos y con desviación inferior al 2% en el 96% de los casos.

Al analizar los resultados, sin tener en cuenta las dimensiones de los problemas, la Figura 4 muestra que para el 58% de las 375 instancias de la biblioteca se igualaron los mejores valores reportados en la literatura, así como que en el 93% de los casos se logró encontrar una solución con desviación máxima del 1% y que en el 98% de las instancias se hallaron soluciones con desviación menor al 4%.

Los resultados ya mencionados de manera compendiada pueden verse individualizados en las tablas 1, 2 y 3, donde se hace una referencia a cada instancia con el valor óptimo o mejor valor reportado hasta el momento como solución, con el resultado obtenido por GRASP_1TWT y con la desviación porcentual de este resultado respecto al mejor conocido. Las anteriores comparaciones evidencian la calidad del método propuesto y la pertinencia de su uso en este tipo de problemas. Estos resultados mostrados en las tablas 1, 2 y 3 se obtuvieron usando α con valor de 3 y 5, ajuste hecho dependiendo de los resultados obtenidos para cada instancia, lo cual no presenta impedimento fuerte en tiempos de ejecución, acorde con los análisis presentados en la Figura 5.

La fase experimental se realizó en un computador Pentium IV de 1,8 MHz, con una giga de memoria RAM, sistema operativo Windows XP y Microsoft Excel 2003. Hubo un análisis de varianza factorial completo (Anova) con los tiempos de ejecución como variable de respuesta y los valores de α y el número de trabajos como factores influyentes, teniéndose así en total dos factores con seis tratamientos. Puesto que los residuales no cumplieron los criterios de normalidad ni de homocedasticidad, se realizó una prueba de Kruskal-Wallis para cada factor, la cual resultó significativa para el número de trabajos (valor p<0,001) y no significativa para el valor de α, lo que indica la existencia de diferencias estadísticamente apreciables en el tiempo de procesamiento únicamente debidas al número de trabajos.

Al llevar a cabo comparaciones múltiples por pares con el método de Tukey para el número de trabajos por instancias, se presentaron diferencias significativas en el tiempo de procesamiento entre los siguientes pares de números de trabajos: 100 trabajos vs. 50 trabajos (valor p<0,001) y 100 trabajos vs. 40 trabajos (valor p<0,001). Ello mostró que el tiempo de procesamiento fue significativamente superior para las instancias de 100 trabajos que para las instancias con un menor número de trabajos.

5. Conclusiones y recomendaciones

Este trabajo presenta la adaptación de una técnica metaheurística, de fácil implementación, que reporta soluciones de alta calidad para un problema complejo que aparece con frecuencia en entornos de producción en diversos sectores de la economía. La plataforma empleada apoya la idea de ampliar la utilización de software de fácil acceso, una hoja de cálculo como el caso de Calc de Open Office, KSpread de KOffice o Excel de Microsoft Office, que puede disminuir la necesidad de recurrir a paquetes especializados en programación de la producción, con la consecuente disminución de costos en licenciamiento de software.

La calidad de los resultados sufre pequeñas disminuciones, explicadas por el tamaño de los problemas que se van a solucionar; sin embargo, las desviaciones de las tardanzas ponderadas obtenidas para la totalidad de las instancias consideradas muestran resultados de alta calidad: para el 58% de los problemas considerados (217) se consiguió igualar el mejor valor reportado en la literatura; para el 93% de los problemas (348) se logró obtener soluciones con desviación máxima de hasta el 1% y para el 98% de las instancias (367) se encontraron soluciones con desviación menor al 4%.

El comportamiento de los tiempos de ejecución del algoritmo se presenta creciente no lineal, como era de esperarse, con relación al número de trabajos de la instancia que se iba a solucionar; no obstante, su desempeño para instancias grandes de 100 trabajos no supera los dos minutos en promedio, lo que permite considerarlo una alternativa atractiva a la luz de la buena calidad de los resultados obtenidos.

Como trabajo futuro se debe investigar la posibilidad de aplicar esta técnica a problemas de programación de la producción en entornos más complejos, como máquinas paralelas, flow shop y job shop. Otra posible investigación futura estaría en comparar otros algoritmos de fácil implementación en hojas de cálculo para evaluar alternativas adicionales al GRASP para pymes.


Referencias

ABDUL-RAZAQ, T.; POTTS, C. y VAN WASSENHOVE, L. A survey of algorithms for the single machine total weighted tardiness scheduling problem. Discrete Applied Mathematics, 1990, vol. 26, núms. 2-3, pp. 235-253.        [ Links ]

AIEX, R.; BINATO, S. y RESENDE, M. Parallel GRASP with path-relinking for jb shop scheduling. Parallel Computing in Numerical Optimization, 2003, vol. 29, núm. 4, pp. 393-430.        [ Links ]

AKTURK, M. y YILDIRIM, M. A new lower bounding scheme for the total weightes tardiness problem. Computers and Operations Research, 1998, vol. 25, núm. 4, pp. 265-278.        [ Links ]

ÁLVAREZ-VALDÉS, R.; PARRENO, F. y TAMARIT, J. Reactive GRASP for the strip-packing problem. Computers & Operations Research, 2008, vol. 33, núm. 8, pp.1065-1083.        [ Links ]

ÁLVAREZ-VALDÉS, R. et al. GRASP and path relinking for project scheduling under partially renewable resources. European Journal of Operational Research, 2008, vol. 189, núm. 3, pp. 1153-1170.        [ Links ]

BAKER, K. y BERTRAND, J. A dynamic priority rule for scheduling against due-dates. Journal of Operations Management, 1982, vol. 3, núm. 1, pp. 37-42.        [ Links ]

BEASLEY, J. OR-Library. 2001 [web en línea]. <http://www.people.brunel.ac.uk/~mastjjb/jeb/orlib/wtinfo.html>. [Consulta: 10-07-2007].        [ Links ]

BILGE, U.; KURTULAN, M. y KIRAC, F. A tabu search algorithm for the single machine total weighted tardiness problem. European Journal of Operations Research, 2007, vol. 176, núm. 3, pp. 1423-1435.        [ Links ]

CARROLL, D. Heuristic sequencing of single and multiple components. PhD Dissertation. Boston, MA: Massachusetts Institute of Technology, 1965.        [ Links ]

CHEN, B.; POTTS, C. y WOEGINGER, G. A review of machine scheduling: Complexity, algorithms and approximability. En Handbook of combinatorial optimization. Boston: Kluwer Academic Publishers, 1998, pp. 21-169.        [ Links ]

CHENG, T. et al. Single machine scheduling to minimize total weighted tardiness. European Journal of Operations Research, 2005, vol. 165, núm. 2, pp. 423-443.        [ Links ]

CONGRAM, R.; POTTS, C. y VAN DE VELDE, S. An iterated dynasearch algorithm for the single machine total weighted tardiness scheduling problem. Informs Journal on Computing, 2002, vol. 14, núm. 1, pp. 52-67.        [ Links ]

CONWAY, R.; MAXWELL, W. y MILLER, L. Theory of scheduling. Reading, MA: Addison- Wesley, 1967.        [ Links ]

CORBERAN, A.; MARTI, R. y SANCHIS, J. A GRASP heuristic for the mixed Chinese postman problem. European Journal of Operational Research, 2002, vol. 142, núm. 1, pp. 70-80.        [ Links ]

CRAUWELS, H.; POTTS, C. y VAN WASSENHOVE, L. Local search heuristics for single machine total weighted tardiness problem. Informs Journal on Computing, 1998, vol. 10, núm. 3, pp. 341-350.        [ Links ]

DELORME, X.; GANDIBLEUX, X. y RODRÍGUEZ, J. GRASP for set packing problems. European Journal of Operational Research, 2004, vol. 153, núm. 3, pp. 564-580.        [ Links ]

EMMONS, H. One machine sequencing to minimize certain functions of Job tardiness. Operations Research, 1969, vol. 17, núm. 4, pp. 701-715.        [ Links ]

GRAHAM, R. et al. Optimisation and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 1979, vol. 5, pp. 287-326.        [ Links ]

HERNÁNDEZ-PÉREZ, H.; RODRÍGUEZ-MARTÍN, I. y SALAZAR-GONZÁLEZ, J. A hybrid GRASP/VND heuristic for the one-commodity pickup-and-delivery traveling salesman problem. Computers & Operations Research, 2009, vol. 36, núm. 5, pp. 1639-1645.        [ Links ]

LAWLER, E. A pseudopolynomial algortihm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics, 1977, vol. 1, pp. 331-342.        [ Links ]

LENSTRA, J. y RINNOOY KAN, A. Computational complexity of discrete optimization problems. Annals of Discrete Mathematics, 1979, vol. 4, pp. 121-140.        [ Links ]

LENSTRA, J.; RINNOOY KAN, A. y BRUCKER, P. Complexity of machine scheduling problems. Annals of Discrete mathematics I, 1977, vol. 7, pp. 343-362.        [ Links ]

MATSUO, H.; SUH, C. y SULLIVAN, R. A controlled search simulated annealing method for the single machine weighted tardiness problem. Annals of Operations Research, 1989, vol. 21, pp. 85-108.        [ Links ]

PANWALKAR, S.; SMITH, M. y KOULAMAS, C. A heuristic for the single machine tardiness problem. European Journal of Operations Research, 1993, vol. 70, pp. 304-310.        [ Links ]

POTTS, C. y VAN WASSENHOVE, L. A branch and bound algorithm for the total weighted tardiness problem. Operations Research, 1985, vol. 33, núm. 2, pp. 363-377.        [ Links ]

POTTS, C. y VAN WASSENHOVE, L. Single machine tardiness sequencing heuristics. IIE Transactions, 1991, vol. 23, núm. 4, pp. 346-354.        [ Links ]

RACHAMADUGU, R. A note in the weighted tardiness problem. Operations Research, 1987, vol. 35 núm. 3, pp. 450-452.        [ Links ]

RACHAMADUGU, R. y MORTON, T. Myopic heuristics for the single machine weighted total tardiness problem. Working Paper 30-82-83. Pittsburgh, PA: Carnegie Mellon University, 1982.        [ Links ]

RESENDE, M. y RIBEIRO, C. Greedy ramdomized adaptative search procedure. En Handbook of metaheuristics. Boston, MA: Kluwer Academic Publishers, 2003.        [ Links ]

RESENDE, M.; MARTI, R.; GALLEGO, M. y DUARTE , A. GRASP and path relinking for the max-min diversity problem. Computers & Operations Research, 2010, vol. 37, núm. 3, pp. 498-508.        [ Links ]

RIBEIRO, C.; MARTINS, S., y ROSSETI, I. Metaheuristics for optimization problems in computer communications. Computer communication, 2007, vol. 30, núm. 4, pp. 656-669.        [ Links ]

RINNOOY KAN, A.; LAGEWEG, B. y LENSTRA, J. Minimizing total costs in one-machine scheduling. Operations Research, 1975, vol. 23, núm. 5, pp. 908-927.        [ Links ]

VEGA MEJÍA, C. A. y CABALLERO-VILLALOBOS, J. P. Uso combinado de GRASP y Path- Relinking en la programación de producción para minimizar la tardanza total ponderada en una máquina. Ingeniería y Universidad, 2010, vol. 14, núm. 1, pp. 79-96.        [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License