SciELO - Scientific Electronic Library Online

 
vol.25 issue2Optimising a shaft’s geometry by applying genetic algorithmsSurveillance as an innovative tool for furthering technological development as applied to the plastic packaging sector author indexsubject indexarticles search
Home Pagealphabetic serial listing  

Services on Demand

Article

Indicators

Related links

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

Share


Ingeniería e Investigación

Print version ISSN 0120-5609

Ing. Investig. vol.25 no.2 Bogotá May/Aug. 2005

 

Aplicación de algoritmos genéticos para la programación de tareas en una celda de manufactura

Applying genetic algorithms for programming manufacturing cell tasks

Efredy Delgado A.,1 Carlos Julio Cortés,2 Oscar Duarte V.3


1 Ingeniero electricista, MSc Automatización Industrial. Egresado posgrado Automatización Industrial Universidad Nacional de Colombia - Bogotá. e-mail: ser-o@excite.com
2 Ingeniero mecánico, MSc Manufactura, MSc Industria y Tecnología Profesor Adscrito al Departamento De ingeniería Mecánica y Mecatrónica. Universidad Nacional de Colombia - Bogotá. e-mail: ccortes@ing.unal.edu.co y ccortes@latino.net.co
3 Ingeniero electricista, MSc Automatización Industrial, Doctor en Informática Profesor adscrito al Departamento de Ingeniería Eléctrica y Electrónica. Universidad Nacional de Colombia - Bogotá. e-mail: oduarte@ing.unal.edu.co


RESUMEN

El propósito del trabajo fue plantear una metodología para la programación de tareas de una celda de manufactura, basada principalmente en algoritmos genéticos. La celda de manufactura fue modelada como una línea de flujo, y se desarrollaron cálculos que permiten saber el makespan usando una heurística adaptada de una librerías realizadas para algoritmos genéticos, esto implantado en un ambiente de programación C++ builder. Se resolvieron problemas diversos, considerando distintos tamaños de lista en trabajos y máquinas, los cuales fueron comparados con los resultados de otras heurísticas. Los futuros trabajos pueden considerar la programación de tareas en celdas de manufactura con lotes de diferentes volúmenes.

Palabras clave: manufactura flexible, celdas de manufactura, programación de líneas de producción, algoritmos genéticos.


ABSTRACT

This work was aimed at developing computational intelligence for scheduling a manufacturing cell’s tasks, based mainly on genetic algorithms. The manufacturing cell was modelled as being a production-line; the makespan was calculated by using heuristics adapted from several libraries for genetic algorithms computed in C++ builder. Several problems dealing with small, medium and large list of jobs and machinery were resolved. The results were compared with other heuristics. The approach developed here would seem to be promising for future research concerning scheduling manufacturing cell tasks involving mixed batches.

Keywords: flexible manufacturing, manufacturing cells, production-line scheduling, genetic algorithms.


Recibido: agosto 27de 2004
Aceptado: abril 15 de 2005

Introducción

Hasta hace algunos años, se logró incorporar a la actividad productiva las herramientas identificadas como Inteligencia Artificial, que pretenden emular el comportamiento de organismos biológicos inteligentes, para ajustarlos a toma y ejecución de decisiones en diferentes ambientes. En el manejo productivo es crucial lograr ejecuciones de costo y tiempo efectivas en un proceso industrial, es así como, la planificación de decisiones en un ambiente industrial automatizado, requiere de especial detalle. Tópicos como el modelamiento y la optimización de un conjunto de problemas logísticos, dan nacimiento a temáticas de diferente aplicación en ambientes industriales de producción, como:

- Secuencia y programación de tareas en celdas automatizadas (FMS).

- Programación de almacenamiento con amortiguación en etapas intermedias.

- Secuencia de operaciones en un sistema de ensamble.

- Programación de tareas en maquina paralelas con líneas muertas.

Los primeros tres modelos son bastante aplicados en manufactura.

El trabajo que se plantea, está enmarcado dentro del proyecto de investigación "Implementación de Celda Experimental de Manufactura Flexible" (convocatoria DINAIN 2000), y el objetivo de esta propuesta, es discutir la planificación que se emite en el ambiente de FMS y presentar un acercamiento jerárquico a este problema; de forma tal, que la programación de tareas en una FMS se pueda visualizar desde una perspectiva general, apoyada por herramientas de inteligencia computacional, mediante una estrategia eficiente de enrutamiento y programación de tareas (scheduling), que permita la labor adecuada del sistema de Control de la Celda Flexible de Manufactura, ya que, es necesario el reconocimiento inicial de la planeación de eventos, para definir la actividad del controlador jerarquico de la celda.

Para la realización del trabajo que se reporta en este documento, se ha convenido entre director y estudiante realizar una convención previa, ya que la literatura disponible al respecto de este tema se enmarca como scheduling, se adoptó de esta forma, traducirlo al español como “programación de tareas”.

El objetivo central en la realización de este trabajo, es el desarrollo de un algoritmo implantado en software, que permitiera obtener la programación de tareas en una celda de manufactura flexible (FMS), mediante la exploración de herramientas de inteligencia computacional. Para ello se inició la revisión de métodos tradicionales de programación de tareas, para conocer sus parámetros y características, así como su versatilidad, posteriormente se exploró herramientas de inteligencia computacional (lógica difusa, algoritmos genéticos, redes neuronales) y su comportamiento frente a la solución de este tipo de problemas. Se seleccionó como herramienta de búsqueda, Algoritmos genéticos por el planteamiento que estos sugieren en la solución de problemas de programación de tareas, adicionalmente por la revisión bibliográfica en la que es muy frecuente su utilización por parte de investigadores internacionales en investigación de operaciones.

Los resultados ofrecen una buena aproximación frente a otras heurísticas, como es el caso de la aleatoria, la C.D.S (Vollmann, 1997) y la propuesta por Onwubolu (Onwubolu, 2000).

Metodologías previas

La metodología en la investigación de secuencias y de programación de tareas es muy amplia; conviene revisar los procedimientos a los que han acudido diversos autores en la búsqueda de soluciones, que se plantean para problemas de optimización de recursos en la realización de tareas.

Los primeros esfuerzos han sido desarrollados por Johnson (1954), Kusiak(1989) tomó los desarrollos de Jonson en donde incluye las tripletas “número de operación/tiempo de proceso/número de máquina”, Campbell, Dudek y Smith (C.D.S.)(Vollmann, 1997) en donde se toman los trabajos realizados por Johnson y se modifica el trabajos de aquel, para varias pseudo maquinas; el trabajo de Onwubolu (2000), toma los conceptos de algoritmos genéticos para hallar makespan de una celda de manufactura. A lo largo del artículo se presentarán algunos otros autores que se toman como referencia

Ambiente de producción

El problema de programación de tareas trata sobre la asignación de recursos limitados a ciertas tareas u operaciones a través de cierto período de tiempo (Gershwin, (1994), Pinedo, (1995)).

La programación de operaciones (scheduling) es un problema de optimización que puede tener uno ó más objetivos, el cual se presenta con frecuencia en sistemas de producción convencionales automatizados y es un problema común, donde está involucrado el tomar decisiones con respecto a la mejor asignación de recursos a procesos de información donde se tienen restricciones de temporalidad.

La programación de tareas y el control del flujo de trabajos a través de un ambiente de producción es esencial en los procesos de manufactura (Gideon,1995). Una programación adecuada puede reducir significativamente los costos de producción y reducir los tiempos de proceso permitiendo cumplir con los compromisos de entrega a tiempo. La mayoría de problemas de esta área son problemas de optimización combinatoria y una gran parte de ellos pertenecen a la clase de problemas NP-hard. Los problemas NP-hard son un subconjunto de la clase NP (problemas para los que no se puede tener una solución en tiempo polinomial para todas sus instancias) con la característica de que todos los problemas de ésta clase pueden ser reducidos a NP (Pinedo, 1995). Los problemas para los que se puede encontrar un algoritmo de solución en tiempo polinomial, forman la clase P, que es un subconjunto de la clase NP (Garey y Johnson, 1979).

En los últimos años se han propuesto un gran número de enfoques para modelar y solucionar los diferentes problemas de programación de tareas, con diferentes grados de éxito. Entre estos enfoques podemos mencionar la programación matemática, reglas de despacho, sistemas expertos, redes neuronales, algoritmos genéticos, búsqueda tabú, recocido simulado, lógica difusa, entre otros (Jones y Rabelo, 1998).

En todos los problemas de programación se considera que el número de tareas y el número de agentes (máquinas) es finito. A continuación se considera la nomenclatura a utilizar:

n = número de trabajos (tareas)

m = Número de máquinas

j = índice que se refiere a los trabajos ó tareas

i = índice que se refiere a las máquinas o agentes.

Cuando un trabajo requiere un número de pasos de procesamiento ú operaciones, entonces se usa el par (i,j) que se refiere al paso de procesamiento u operación del trabajo (ó tarea) j sobre la máquina o agente i.

Las siguiente notación se asocia con el trabajo j:

Tiempo de procesamiento (processing time) pij.

Fecha de liberación (release date) rj.

Fecha comprometida o deseada (due date) y deadline dj.

Peso o ponderación wj.(Kusiak 1990)

El tipo de programación, que tiene que ver con este documento es la programación de tareas, en el cual los rangos de trabajo son pequeños, complejos, con un ajuste a la medida de las situaciones de un taller para altas velocidades de proceso. La problemática encierra, desde la manufactura discreta de partes a los procesos de flujo continuo. Un problema de programación se describe por la siguiente tripleta: α/β/γ

En donde :

α= Es un simple atributo que describe el ambiente de la máquina.

β= Pueden ser varios atributos que proporcionan información sobre las características del procesamiento y restricciones.

γ= Es un simple atributo que contiene el objetivo a ser minimizado

Modelo del problema

La “secuenciación” o sequencing es el proceso de definir el orden en el cual los trabajos4 van a ser procesados en una máquina. Como se había especificado antes, el scheduling o programación, es el proceso de adicionar los tiempos de arranque y finalización para las ordenes de trabajos dictadas por la secuencia, previamente realizada.(Gershwin 1994).

Los objetivos que se persiguen en la programación de eventos en la celda de manufactura, son:

1. Cumplir con las fechas de vencimiento o deseadas (due date),

2. Minimizar plazos,

3. Minimizar el tiempo o costo de preparación (set-up),

4. Minimizar el inventario del trabajo en proceso,

5. Maximizar la utilización de las máquinas o de la mano de obra (el último objetivo es controversial, por que el simple hecho de mantener todo el equipo y/o los empleados ocupados no siempre es la manera más eficiente de manejar el flujo a través del proceso).(Chase 2000)

6. Realizar la programación de eventos en el controlador jerárquico de la celda

La celda de manufactura propuesta, que consiste en un conjunto de n tareas o trabajos {J1, J2,..., Jn} a realizar sobre un conjunto de m máquinas {M1, M2,..., Mm} en dicho orden, por ejemplo, que un trabajo Jj, j = 1...n constituida por una secuencia de m operaciones O1j,... Omj donde Oij debe ser procesado en la máquina Mi en un tiempo ininterrumpido de procesamiento dado: pij. Cada máquina Mi, i = 1,... m, pueden procesar a lo sumo un trabajo al tiempo, y cada trabajo Jj, j =1...n, es procesado a lo sumo por una máquina al tiempo. Además, se toma el tiempo Cij, en que se completa la operación O1j. El objetivo es entonces, encontrar una secuencia de las tareas y su programación (schedule), que minimice el máximo tiempo de finalización de todos los trabajos a ejecutar, es decir: Cmax= maxij Cij, también denominado makespan. En la Figura 1 se muestra la secuencia en la cual las tareas a ser procesadas, constituyen un producto.

Matemáticamente, se podría hablar de un problema que requiere encontrar la permutación de las tareas para ser resuelto. Este tipo de problemas de secuenciamiento de sistemas de manufactura es clasificado de NP-hard, como se había citado anteriormente. Un problema NP-hard se presenta cuando un algoritmo que intenta solucionarlo, aumenta su tiempo de ejecución, en el peor de los casos, de forma exponencial al tamaño del problema. [Johnson,1979] El reto está en encontrar algoritmos que exploren favorablemente la estructura matemática del problema, para que sean capaces de obtener una respuesta para la mayoría de las instancias del mismo, en tiempos de ejecución relativamente pequeños.

Estrategia de solución

En la búsqueda para hallar una solución óptima aun problema planteado, el Algoritmo Genético funciona de la siguiente manera. Una población de cromosomas(los padres potenciales de una nueva población) se mantiene a lo largo del proceso evolutivo. A cada uno de ellos se le adjudica un valor de fitness que está relacionado con el valor de la función objetivo a optimizar. Cada cromosoma está, representando un punto del espacio de búsqueda del problema.

Un grupo de cromosomas son elegidos para ser los padres de una nueva solución mediante el mecanismo de cruce. La operación de cruce da un grupo de configuraciones “hijos” y se calculaba sus valores de fitness. Estas soluciones reemplaza las soluciones que eran elegidas al azar. Este proceso se repite hasta alcanzar un criterio más o menos lógico para detener la simulación.

En la Figura 2 se muestra un esquema básico de los algoritmos genéticos.

Para el problema de flow shop, el número del trabajo J1, J2 ...Jn ocupa en la cadena de secuencia una posición denominada posición de secuencia, refiriéndose a ella como el orden en el que se realiza una tarea dentro de la línea de flujo de producción. La longitud de la cadena X representa el conjunto de los trabajos considerados dentro del problema, los que a su vez, dependen del número de máquinas que los procesan, pero que no son significativos a la hora de ejecutar y evaluar la función objetivo dentro del algoritmo genético.

Por ejemplo, para una secuencia de producción en la que existen 5 trabajos cuyo orden de fabricación es 53421, quiere decir que el primer trabajo en ser realizado es el número cinco, el segundo a ser realizado es el tres, el tercero es el número cuatro y así sucesivamente. Esta cadena se representaría de la siguiente forma:

Dentro de la codificación realizada para el análisis presentado aquí, tomada de la clase vector real de la librería antes mencionada, al ser ejecutado el algoritmo, este mostraba en la cadena de salida, la repetición del trabajo que tomaba el menor tiempo, para lo cual se ejecutó la estrategia que a continuación se describe. Abajo se presenta la forma en que se crea el genoma cuyos valores se ajustan a un arreglo de productos; cuyo valor mínimo será de uno.

Descripción de la interfaz

La librería para algoritmos genéticos fue implantada dentro de un ambiente creado en C++ Builder, cuya finalidad es recoger fácilmente los datos de tiempos, número de máquinas, número de trabajos, que son suministrados por el usuario, así mismo, se puedan modificar datos propios del algoritmo como son tamaño de población y número de generaciones.

Para acceder a esta opción dentro de la interfaz, que se ha denominado AG ANALISIS y que se muestra en la Figura 3, donde es necesario abrir el menú denominado DATOS, que mostrará una ventana de Ingreso De Datos.

Además, se deben ubicar los datos de la cadena inicial de la secuencia, cuya finalidad es mostrar al algoritmo genético un individuo inicial con el que se puedan ¨derivar¨ soluciones óptimas dentro del espacio de búsqueda. Después de este paso, se finaliza el ingreso de datos y el programa los procesa arrojando algunos resultados los cuales los expone de la siguiente forma: Uno numérico donde se presenta la secuencia de trabajos y su respectivo resultado en la función objetivo, y por último el algoritmo presenta los cinco mejores resultados clasificados desde el menor hasta el mayor. La otra manera de presentación, corresponde a la programación de tareas de acuerdo a las unidades de tiempo requeridas en cada una de las máquinas, expuestas en diferentes colores, con algunos espacios en blanco que corresponden a los tiempos de espera para la iniciación de trabajos en la respectiva máquina.

Resultados y comparaciones

Casos estuidados

Para comprobar la validez y el comportamiento del software AG ANALISIS se tomaron varios casos sugeridos de la bibliografía revisada y reciente, los que se han dividido por su tamaño en tres:

- Pequeño, compuesto por 5 trabajos 4 máquinas.

- Mediano, compuesto por 10 trabajos 10 máquinas.

- Grande, compuesto por 15 trabajos 25 máquinas.

El primer caso tomado de Gershwin (1994) cuyos datos se presentan en la Tabla 1.

Para este caso, por ser de tamaño reducido, se buscará como objetivo minimizar el makespan frente a dos heurísticas: una de ellas es la aleatoria, en la que todos los trabajos tienen la misma probabilidad, tomándose ésta como base para comparar las demás reglas, otra heurística es la propuesta por Campbell, Dudek y Smith (C.D.S.)(Vollmann, 1997), en la que aplican el algoritmo de Johnson con la que se puede resolver casos en los que se presentan M>2. Las M máquinas se pueden dividir en dos máquinas falsas o pseudomáquinas, estas tendrán como fin agrupar los datos de tiempos de proceso de las máquinas reales.

Otra heurística que se puede establecer como parámetro de comparación, es la desarrollada por Onwubolu para dos máquinas que realizan seis trabajos, en un ambiente de línea de flujo (flow shop) y los datos con los cuales realiza su programación de tareas, se presentan en la siguiente tabla. En este caso se calcula un Makespan de 115 unidades de tiempo, en 7,5 segundos de procesamiento de C.P.U. AG ANALYSIS toma 3.850 segundos con un Makespan de 113 unidades de tiempo (para una población de 10 individuos y 80 generaciones), adicionalmente, se realizaron otras pruebas con problemas de diferentes tamaños y sus respectivos tiempos de CPU y tiempo de Makespan se describen en la Tabla 3.

Se puede ver que la heurística desarrollada, frente al trabajo de Onwubolu, tiene mayor efectividad en hallar un makespan óptimo (113 unidades de tiempo con diferentes secuencias) aunque tome un mayor tiempo, además, éste resultado se puede lograr a partir de una población inicial mayor a 60 individuos y 10 generaciones.

El compilado de todos los conjuntos de problemas de prueba se exponen en la Tabla 3.

Conclusiones y recomendaciones

En un problema como la programación de tareas dentro de una celda de manufactura, modelada como una línea de flujo de producción (flow shop) para un número relativamente alto de máquinas y trabajos, este se constituye en un ejemplo de lo que se considera como un problema NP-hard.

El modelo de la celda de manufactura se precisa como una línea de flujo de producción debido al trabajo que se plantea dentro del proyecto de investigación “Implementación de celda experimental de manufactura” (Convocatoria DINAIN 2000) y el objetivo es la discusión de la planeación que se requiere dentro de un ambiente de sistemas de manufactura.

La aproximación basada en algoritmos genéticos, se formalizó debido a las ventajas que estos tienen frente a otras herramientas de inteligencia computacional como es el caso de lógica difusa y redes neuronales, que presentan dificultades para la adecuación de las reglas de programación de tareas y la selección correcta de las mismas, de acuerdo a la situación que se presente y tomar las acciones o tareas a realizar con relación a una “lista” de prioridades.

Dentro de los objetivos específicos más importantes y que lograron ser cumplidos, se pueden citar los siguientes: el establecimiento de un modelo que permitiera ajustarse a la posibilidad de construir o formalizar una celda de manufactura, como es el caso de la línea de flujo o flow shop.

Como segundo logro, gracias a la librería de clases en C++ para algoritmos genéticos, (Duarte, 2001) se concretó una estrategia de codificación y decodificación denominada “saltos” la cual permite que el espacio de búsqueda permanezca dentro del conjunto o el arreglo de tipos de productos que se han asignado, los que a su vez están relacionados con un arreglo de tiempos de procesamiento.

En tercer lugar, el método propuesto prueba ser más efectivo en comparación con heurísticas tradicionales y con trabajos recientemente realizados, por varias razones

1. El software sobre el cual se montó la heurística (AG ANALISIS), requiere de menor tiempo para presentar la secuencia y la programación de tareas, de manera numérica y gráfica ( diagrama de tiempos y eventos).

2. AG ANALISIS admite, dentro de los tiempos de procesamiento que toman las máquinas valores como cero, dando la posibilidad de flexibilizar aún más el flujo, ya que los productos no están forzados a realizar el mismo recorrido por la celda de manufactura, y puedan “saltar” de una máquina a otra respetando la idea de línea de producción.

3. Permite estimar el tiempo que toma en la solución de un problema.

4. El lenguaje en C++ que se usó para su implantación y adaptación de las librerías para Algoritmos Genéticos desarrolladas por el Ing. Oscar G. Duarte,(Duarte, 2001) puede dar la alternativa para su mejoramiento en un futuro.

Dentro de las experiencias del software AG ANALISIS, se comprueba que a medida que se incrementa el tamaño del problema, toma un mayor tiempo computacional, la exposición de la solución.

Trabajos futuros

La aproximación realizada en este trabajo, pudiera servir de base para que en un futuro trabajo de investigación en optimización de operaciones y procesos en sistemas automatizados que sugiriera la construcción de un kit en programación de tareas, que agrupara mayores criterios de evaluación y con mayor fortaleza visual y de acceso al usuario, que adicionalmente tuviera una doble finalidad educativa y empresarial. En la parte educativa, en la enseñanza de técnicas modernas en sistemas de gestión de procesos automatizados.

Un aspecto importante para desarrollar en trabajos futuros es el perfeccionamiento y la optimización de la interfaz con el usuario, en ello cabe la posibilidad de estudiar detalladamente otros ambientes de programación de eventos, que permitan una mayor flexibilidad del software.

Como este trabajo fue pensado para servir de base en la futura construcción del módulo del controlador jerárquico de la celda flexible, es importante citar temas de trabajo a realizar como por ejemplo, la transmisión de la programación de eventos, la respuesta que se dé desde la celda, y la programación on-line o en caliente, es decir, programar tareas mientras estas son ejecutadas.

Bibliografía

Askin R. G., and C. R. Standridge, Modelling and Analysis of Manufacturing Systems., John Wiley & Sons, New York, 1993        [ Links ]

Brizuela A. Carlos and Sannomiya Nobuo, From the Classical Job Shop to Real Problem: A Genetic Algorithm Approach., Kyoto Intitute of Technology, 2000.        [ Links ]

Chase R., Aquilano N.,Jacobs R., Administración de producción y operaciones., Mc Graw Hill, 2000.        [ Links ]

Cheng, R., Gen, M., Tsujimura, Y., A Tutorial Survey of Job-Shop Scheduling Problems using Genetic Algorithms-I. Representation., Computers & Industrial Engineering, 30(4), pp. 983-997, 1996.        [ Links ]

Davis, L., Job-Shop Scheduling with Genetic Algorithm., in Grefenstette J. J. (ed) Proceedings of the 1st International Conference on Genetic Algorithms and their Applications, Pittsburgh, PA, USA, Lawrence Erlbaum, pp. 136-140, 1985.        [ Links ]

Delgado Alberto, Inteligencia Artificial y minirobots, Ecoe Ediciones, 1998.        [ Links ]

Diaz A. y otros, Optimización Heurística y Redes Neuronales., Editorial Paraninfo, 1996.        [ Links ]

Duarte Oscar G., UNGENETICO: una librería de clases en C++ para algoritmos genéticos con codificación híbrida., trabajo de promoción para acceder al cargo de profesor asociado, Facultad de Ingeniería Universidad Nacional, 2001.        [ Links ]

ElMaraghy H., Patel V.,Abdallah B.I., Scheduling Of Manufacturing Systems Under Dual Resource Constraints Using Genetic Algorithms., Journal of manufacturing Systems, Dearborn, 2000.        [ Links ]

Falkenauer, E. and Bouffouix, S., A Genetic Algorithm for the Job-Shop., Proceedings of the IEEE International Conference on Robotics and Automation, Sacremento, California, USA, pp. 824-829, 1991.        [ Links ]

Garey, Michael R. and Johnson, David S., Computers and Intractability: A guide to the theory of NP-Completeness., W.H. Freeman and Company, New York, 1979.        [ Links ]

Gershwin, Manufacturing Systems Engineering., Chapter 4, Prentice – Hall, 1994.        [ Links ]

Gideon, Weiss, A Tutorial in Stochastic Scheduling., Editors: Chretienne, P. and Coffman, E.G. Jr. and Lenstra, J.K. and Liu, Z., Scheduling: Theory and its applications, chapter 3, pages 33-64, John Wiley & Sons, 1995.        [ Links ]

Giffler, B. and Thompson, G. L., Algorithms for Solving Production Scheduling Problems., Operations Research, 8(4), pp. 487-503 1960.        [ Links ]

Goldberg, D.E., Genetic and Evolutionary Algorithms come of Age., Communications of the ACM, Volume 37, No. 3, pages 113-119, 1994.        [ Links ]

Husbans P. and Mill F., Scheduling with genetic algorithms., School of Cognocitive and Computing Sciences, University of Sussex Falmer, Brighton, UK, 2000.        [ Links ]

Intelligent Automation and Soft Computing. Vol 1: Trends in research, development and aplications., Proceeding of the first world Automation Congress, TST press, Hawaii, U.S.A., 1994.        [ Links ]

Jain A.S and Meeran S., A State of the art Review of Job Shop Scheduling Techniques., University of Dundee, Scotland UK, 2000.        [ Links ]

Jones, Albert and Rabelo, Luis C., Survey of Job Shop Scheduling Techniques., NISTIR, National Institute of Standards and Technology, Gaithersburg, MD, (on-line publication), 1998.        [ Links ]

Jamshidi, Design and Implementation of Intelligent Manufacturing Systems., 1994.        [ Links ]

Kusiak Andrew, Intelligent Manufacturing System., Cap. 12-13, John Wiley & Sons, 1990.        [ Links ]

Liu D, Hou E., Job Shop Scheduling with genetic Algorithm., Intelligent Automation and Soft Computing, Vol 1, pp. 511-516, Trends in research, development and aplications, TST Press, 1994.        [ Links ]

Mazzola J.,Daniels R., Flow shop scheduling with resource flexibility., Operations Research, 42(3), pp. 504-522, 1994.        [ Links ]

Montazeri, M. And Van Wassenhove, L.N., Analysis of scheduling rules for an FMS., International Journal of Production Research, 28(4), pp. 785-802, 1990.        [ Links ]

Murata T., Ishibuchi H., and Tanaka H., Multi-Objective Genetic Algorithms and Its Application to Flow Shop Scheduling., Computers and Industrial Engg, v30, n4, 1996, pp. 1061-1071, 1996.

Morton, Thomas E. and Pentico, David W., Heuristic Scheduling Systems with Applications to Production Systems and Project Management., Wiley series in engineering and technology management, Wiley-Interscience, 1993.        [ Links ]

Norman, B. A. and Bean, J., Random Keys Genetic Algorithm for Job Shop Scheduling., Engineering Design and Automation, vol 3, pp. 145-156, 1997.        [ Links ]

Onwubolu G.C., Manufacturing cell scheduling using genetic algothms., Proceeding Institute Mechanical Enginers, Vol. 214, Part B, 2000.        [ Links ]

Osman, I. H. and Kelly, J. P., Meta-Heuristics: An Overview., in Osman, I. H. and Kelly, J. P., Meta-Heuristics: Theory and Applications, Kluwer Academic Publishers, Norwell, MA, USA, Chapter 1, pp. 1-21, 1996.        [ Links ]

Pinedo, Michael, Scheduling: Theory, Algorithms, and Systems., Englewood Cliffs, Prentice Hall, N.J., 1995.        [ Links ]

Sabuncuoglu, I. and Gurgun, B., A Neural Network Model for Scheduling Problems., European Journal of Operational Research, 93(2), pp. 288-299, Sept 1996.        [ Links ]

Shi, G., A Genetic Algorithm Applied to a Classic Job-Shop Scheduling Problem., International Journal of Systems Science, 28(1), pp. 25-32, 1997.        [ Links ]

Singh N., System Approach to Computer Integrated Design and Manufacturing., John Wiley & Sons editors, pp. 529-544, 1996.        [ Links ]

Soma H., Hori M., and Sogou T., Schedule Optimization Using Fuzzy Inference., OMRON Corportion, IEEE Proceeding International Conference on Fuzzy Systems, Yokohama, Japon, March 20-24 1995.        [ Links ]

Song Y. Hughes JG., Azarmi N., and Voudouris C., A Genetic Algorithm with an Incomplete Representation for the Job Shop Scheduling Problems., University of Ulster at Jordanstown, 2000.        [ Links ]

Strüzle T., Applying iterated local search to the permutation flow shop problem., 1998, obtenido mediante http://www.idsia.ch/~monaldo/fjsp.html        [ Links ]

Tanigawa Y.,Fujimoto H., Yasuda K., Iwahashi K., Applications of genetics Algorithms and simulations to dispatching rule-based FMS Scheduling., IEEE International Conference on Robotics and Automation, 1995.        [ Links ]

Tedford J.D., Lowe C., Scheduling for Just-In-Time Flexible Manufacturing Using Adaptative Fuzzy Logic., Proceedings of the Institution of Mechanical Engineers, Vol. 213, part B, 1999.        [ Links ]

Torres Fidel, Asignación y Secuenciación de tareas sobre máquinas, por medio de heurísticas de recocido simulado., Congreso Internacional de Inteligencia Computacional, Medellín, 2001.        [ Links ]

Van Laarhooven, P. J. M., Aarts, E. H. L. and Lenstra, J. K., Job Shop Scheduling by Simulated Annealing., Operations Research, 40(1), pp. 113-125, Jan-Feb 1992.        [ Links ]

Vollman T., Berry W., and Whybark D., Sistemas de planificación y de control de la fabricación., Mc Graw Hill-Irwin, Tercera edición, 1997.        [ Links ]

Wang W., Brunn P., An effective genetic algorithm for job shop scheduling., Proceeding Institute Mechanical Enginers, Vol. 214, Part B, 2000.        [ Links ]

Wang M.Y,Sethi S.P., Minimizing makespan in flow shop with pallet requirements., University of Toronto, Canada, 1995, obtenido mediante http://www.idsia.ch/~monaldo/fjsp.html        [ Links ]

Yamada T. ,Reeves C., Solving the Csum permutation flow shop scheduling problem by genetic local search., IEEE International Conference on Evolucionary Computation, pp. 230-234, 1998.        [ Links ]

Young I.C., Job Shop Scheduling With Genetic Algorithms And Tabu Search., Septiembre de 1994.        [ Links ]

Revisión en internet

http://citeseer.ist.psu.edu/19048.html

http://www.prenhall.com/weiss_dswin/html/jobsched.htm

http://www.idsia.ch/~monaldo/fjsp.html

http://citeseer.ist.psu.edu/149983.html

http://citeseer.ist.psu.edu/411935.html

http://citeseer.ist.psu.edu/bierwirth95generalized.html

4 En la literatura de programación de tareas, los trabajos se componen de un número finito de operaciones realizadas en una secuencia, y las operaciones están dadas por la tecnología dispuesta para el producto.

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