Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en...

17
Ingeniería Industrial. Actualidad y Nuevas Tendencias ISSN: 1856-8327 [email protected] Universidad de Carabobo Venezuela Pérez Pérez, Enrique; Pérez Castillo, Ilse J.; Jiménez Bahri, Manuel E. Algoritmo genético para secuenciación de pedidos en taller de mecanizado con máquinas en paralelo, recirculación y tiempos de preparación. Ingeniería Industrial. Actualidad y Nuevas Tendencias, núm. 12, enero-junio, 2014, pp. 38 -53 Universidad de Carabobo Carabobo, Venezuela Disponible en: http://www.redalyc.org/articulo.oa?id=215037911004 Cómo citar el artículo Número completo Más información del artículo Página de la revista en redalyc.org Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

description

fs

Transcript of Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en...

Page 1: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial. Actualidad y Nuevas

Tendencias

ISSN: 1856-8327

[email protected]

Universidad de Carabobo

Venezuela

Pérez Pérez, Enrique; Pérez Castillo, Ilse J.; Jiménez Bahri, Manuel E.

Algoritmo genético para secuenciación de pedidos en taller de mecanizado con máquinas

en paralelo, recirculación y tiempos de preparación.

Ingeniería Industrial. Actualidad y Nuevas Tendencias, núm. 12, enero-junio, 2014, pp. 38

-53

Universidad de Carabobo

Carabobo, Venezuela

Disponible en: http://www.redalyc.org/articulo.oa?id=215037911004

Cómo citar el artículo

Número completo

Más información del artículo

Página de la revista en redalyc.org

Sistema de Información Científica

Red de Revistas Científicas de América Latina, el Caribe, España y Portugal

Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Page 2: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

38

Algoritmo genético para secuenciación de pedidos en taller demecanizado con máquinas en paralelo, recirculación y tiempos de

preparación.Genetic algorithm for scheduling orders on a machining workshop

with parallel machines, recirculation and setup times

Enrique Pérez Pérez Ilse J. Pérez Castillo Manuel E. Jiménez Bahri

Palabras clave:: Algoritmo genético, Secuenciación de tareas, Taller, Optimización combinatoriaKey Words: Genetic algorithm, Scheduling, Job-Shop, Combinatorial optimization

RESUMEN

En este artículo, se analizan las característicasrelevantes de un problema de secuenciación depedidos en un taller de fabricación de piezas, conmáquinas en paralelo, recirculación y tiempos depreparación independientes de la secuencia. Espresentado un algoritmo genético para resolver elproblema de secuenciación de pedidos con individuosde tamaño fijo basados en una permutación de éstos,los mismos constituidos por lotes de piezas de uno omás tipos, la población de individuos del algoritmogenético permanece constante en el tiempo, se usanlos operadores genéticos cruce y mutación conporcentajes que el usuario puede variar a voluntad. Elcruce opera sobre dos individuos “padres”seleccionados aleatoriamente sin elitismo para creardos descendientes. Para la mutación se escoge al azarun individuo y se intercambia parte de su materialaleatoriamente. El tamaño de la población esconstante y se fijó en 50 individuos. El criterioobjetivo seleccionado fue la minimización del tiempototal de fabricación y fue calculado mediante unasimulación de eventos discretos plenamentedeterminísticos. El algoritmo fue programado en Javabajo Netbeans y fue ejecutado sobre una serie deproblemas reales. Se pudo comprobar que al operarcon bajos porcentajes de cruce (20%) y altosporcentajes de mutación (80%) permitió un mejordesempeño del algoritmo genético. En general seobtuvo una reducción del tiempo total de fabricaciónde entre 10%-20% comprobando que los algoritmosgenéticos se constituyen en una herramientaprometedora para aumentar la eficiencia en

problemas de secuenciación de pedidos en un tallerde mecanizado.

ABSTRACT

In this paper, the relevant features of a problem ofsequencing orders are discussed in a workshopproduction of parts with parallel machines,recirculation and independent setup time. A geneticalgorithm to solve the problem of sequencing order ispresented with individuals fixed size based on apermutation of sequencing order, the same consistingof batches of parts of one or more types, thepopulation of individuals in the genetic algorithmremains constant over time, the crossover andmutation are used with percentages may be varied bythe user. The crossover operates on two individuals"parents" randomly selected without elitism to createtwo offspring. For the mutation an individual ischosen at random and part of its material isexchanged randomly. The population size is constantand fixed to 50 individuals. The selected targetcriterion was the minimization of the totalmanufacturing time and was calculated using asimulation of fully deterministic discrete events. Thealgorithm was programmed in Java on Netbeans andwas executed on a number of real problems. It wasfound that when operating with low percentages ofcrossing (20%) and high rates of mutation (80%) abetter performance of the genetic algorithm is given.In general, a reduction in total manufacturing wasobtained between 10%-20% checking that geneticalgorithms constitute a promising tool to increaseefficiency in order sequencing problems in machineshop.

Page 3: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

39

INTRODUCCIÓN

Preliminares.Los problemas de secuenciación de tareas(scheduling) están en casi todas las situaciones delmundo real, especialmente en el mundo de laingeniería industrial, y aunque son de naturalezasimple, paradójicamente, son muy difíciles deresolver por las técnicas convencionales deoptimización. Son una importante clase deproblemas de los del tipo de optimizacióncombinatoria, caracterizados por tener un númerofinito de soluciones factibles y sujetos arestricciones de variable complejidad, además esposible enfrentarse a parámetros nodeterminísticos. En teoría de la complejidad sondenominados NP-difícil (NP-hard), problemaspara los cuales no existe hasta el momento unalgoritmo determinístico que los resuelva entiempo polinomial (Lenstra et al, 1977;Papadimitriou y Steiglitz, 1998). Esto ha dado lugaral creciente interés en usar meta-heurísticas comolos algoritmos genéticos para abordar estosproblemas (Gen y Cheng, 2000; Varela, 2008).Las tareas pueden tener varias interpretaciones,desde la manufactura de piezas mecánicas hasta elprocesamiento de información en sistemas decomputación; las máquinas pueden referirse aobjetos o entes que se mantienen ocupados duranteun tiempo aplicado a una tarea; el objetivo amenudo consiste en minimizar el tiempo total deprocesamiento (makespan), tiempo total del flujode tareas en el sistema, la satisfacción de lostiempos de entrega, uso eficiente de recursos,tiempo ocioso de servidores o máquinas,completitud de pedidos y otros (Gen y Cheng,2000).Este trabajo se enfocó en la construcción de unalgoritmo genético que genere soluciones quesirvan mejor a los objetivos de una empresa defabricación de piezas mecánicas por ser éstosherramientas meta-heurísticas que han sido usadasexitosamente en la obtención de soluciones quemejoran el desempeño en problemas deoptimización combinatoria. El problema que ha

sido tratado consiste en establecer la secuencia enque debe ordenarse un conjunto de 20 pedidos depiezas mecánicas (que correspondenaproximadamente a una semana de jornadas de 8horas diarias de labor del taller), que minimicen eltiempo total de fabricación, donde se establece laposibilidad de máquinas idénticas en paralelo,recirculación (las tareas pueden pasar cero o másveces por el mismo tipo o la misma máquina) ytiempos de preparación o alistamientoindependientes de la secuencia (se refiere al tiemponecesario para alistar la máquina que ejecuta unanueva tarea). Mediante la realización sistemáticade 100 corridas de este algoritmo para unavariedad de problemas reales se estudió elcomportamiento estadístico del tiempo total defabricación, cantidad de generaciones, tiempo totalde corrida y tasa de mejora, así como la apreciacióndel comportamiento del peor individuo, individuopromedio y mejor individuo para diversos valoresde los porcentajes de cruce y porcentajes demutación, para un tamaño de población pre-definido y fijo durante la corrida.En este artículo se mencionan antecedentes de estetrabajo y otras investigaciones relacionadas asícomo algunas teorías que servirán de marco a lainvestigación. Realizado el planteamiento delproblema, luego se desarrolla la metodologíaseguida y finalmente se muestran los resultadosobtenidos y las conclusiones alcanzadas, tambiénse esbozan algunos criterios de interés parainvestigaciones futuras.

Planteamiento del problema.Es común que en los pequeños y medios talleres demecanizado (talleres donde se construyen piezasmecánicas) en la localidad de Valencia, Venezuela,se trabaje bajo pedido, en otras palabras, las piezasson fabricadas a medida que son requeridas por losclientes, por lo que se dispone de un númerovariable de pedidos que serán satisfechos por eltaller. En la medida que esto sea realizado en elmenor tiempo posible, sin incurrir en horas extrasde trabajo y sin violar los tiempos de entregacomprometidos se minimizarán los costos de

Page 4: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

40

producción y mejorará la visión que tienen losclientes del taller. La minimización del tiempo totalde fabricación o makespan no necesariamenteimplica dar un mejor servicio al cliente, aunquerelacionados, los objetivos que implican la fecha decompletitud y entrega de un pedido permitenoptimizar la calidad de servicio.Eventualmente son aceptados pedidos de piezasbajo especificación del propio cliente, lo natural esque los tipos de piezas que podrán ser fabricadosestán previamente establecidos como también lasecuencia de procesos a realizar para la fabricaciónde cada tipo de pieza, la fabricación de una pieza otrabajo requiere entonces de una secuencia deoperaciones, cada operación requiere de unamáquina específica para su realización, pudiendorepetirse para ciertos casos la misma máquina paraoperaciones distintas. Una operación puedecomenzar solo cuando todas las operacionesprecedentes han sido completadas.Un típico ambiente de manufactura en un taller demecanizado (job shop) implica una gran variedadde productos y un relativo bajo volumen deproductos por tipo. Estos procesos o tareasestablecidas lineal y secuencialmente para cadaproducto o “plan maestro” implican el uso demáquinas y operarios. Para realizarlos se supondráen particular que la máquina requerirá unacantidad de tiempo inicial para su preparación y/oinstalación y un tiempo adicional propio delproceso, ambos específicos para cada proceso(Figura 01). De manera que el taller se abocará a lafabricación simultánea de distintos tipos de piezaspara satisfacer un conjunto de pedidos aceptados,cada uno de ellos constituidos por lotes de tamaño

variable de uno o más tipos de piezas. Así, el ordenen que son realizados los procesos o secuenciapodrá ser modificado con el objeto de hacer máseficiente el desempeño total, evitando los tiemposde ocio de las máquinas cuando esto favorezca ladisminución del tiempo global de fabricación. En lapráctica, lo más común es que en estos talleres noexista tal programación o bien respondesimplemente a la pericia o experiencia delprogramador de turno, que conociendo los pedidosaceptados y su composición de tipo de piezaspodrá reordenarlos con este propósito. Paraabordar la situación problemática presentada serequiere establecer una herramienta que permitaelaborar el orden en que deberán ser ejecutados lospedidos de manera que el tiempo total defabricación sea el menor posible dentro de ciertaslimitaciones. La meta no es obtener necesariamentela secuenciación óptima, se desea construir unasecuenciación de pedidos que tenga un desempeñoaceptable y poder calcular esta secuenciación conun esfuerzo computacional y en tiempo razonables.

Antecedentes.La secuenciación de tareas está caracterizada poruna ilimitada cantidad de distintos tipos deproblemas y desde los 50’s cientos de ellos han sidomodelados y estudiados. Entre éstos, lasecuenciación de tareas enfocadas al trabajo de untaller de mecanizado de piezas (Job Shop

Scheduling) se constituye en un paradigma de losproblemas de secuenciación de tareas y hainteresado ampliamente a los investigadores desdehace algunas décadas (Brucker, 2007; Pinedo, 2009).En 1960 Giffler y Thompson demuestran que unaprogramación de actividades óptima debepertenecer a un conjunto particular que tieneciertas características (programación activa) yproponen un algoritmo para generar ese conjunto

MARCO TEÓRICO

Page 5: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

41

para un problema (Giffler y Thompson, 1960).También fue demostrada la validez de un modeloenfocado a resolver este problema mediante laprogramación lineal entera mixta aunque no fuesatisfactorio para problemas reales de gran escala,por el tiempo requerido para su ejecución (Manne,1960). Numerosos métodos exactos y aproximados,basados en diversas técnicas, han sidodesarrollados. Muchos se fundamentan en elconcepto de camino crítico (Shifting Bottleneck)como el propuesto por Adams, Balas y Zawack en1988 (Adams et al, 1988). El más relevante es elalgoritmo de ramificación y poda (Branch andBound) propuesto por Brucker (Brucker et al,1994), basado en técnicas de Carlier y Pinson(Carlier y Pinson, 1989), como también elpropuesto por Applegate y Cook que combinatécnicas heurísticas con un algoritmo deramificación y poda (Applegate y Cook, 1991).

Los métodos exactos están limitados en el tamañode los problemas que pueden manejar debido a susrequerimientos de espacio y de tiempo, lahibridación de éstos con algoritmos de búsquedalocal proporcionan un auxilio fundamental paramanejar los casos de gran tamaño (Duvivier et al,1996). Entre los métodos de aproximación iterativadestacan las técnicas de búsqueda local como losalgoritmos genéticos y búsqueda tabú (Varela,2008). Falkenauer y Bouffouix en 1991, están entrelos primeros en usar algoritmos genéticos pararesolverlo y demostrar la viabilidad de suaplicación a problemas reales promoviendo unesquema adecuado de codificación y operadores decruzamiento y mutación (Falkenauer y Bouffouix,1991). También en 1991, Yamada y Nakanoproponen un método para resolver el problemaJob-Shop basado en algoritmos genéticos quemuestran un desempeño sobresaliente para losdifíciles problemas de Muth y Thompson, creadosen 1963 y usados desde entonces como prueba(benchmark) (Yamada y Nakano, 1996). Seproponen las permutaciones con repetición comoun enfoque más cercano a la representación de losindividuos (Bierwirth, 1995). Se propone unoperador de cruce adaptado al problema de

secuenciación “Job-Shop” y también una fusión deéste junto a un método de búsqueda local para laconstrucción de la descendencia (Yamada yNakano, 1997). Diversos algoritmos genéticos pararesolver el job-shop scheduling con variantes sobrela capacidad de la representación de la diversidadde soluciones y operadores de cruce y mutaciónhan sido propuestos a lo largo de los últimos años(Fissgus, 2000; Lestan et al, 2009; Huang y Lin,2010, Li y Chen, 2010; Goncalvez y Resende, 2011;Werner, 2011; Vaghefinezhad, 2012). Hibridaciónde algoritmos genéticos con otras técnicas debúsqueda local (Goncalves et al, 2002; Hasan et al,2007). Así como también se han creado algoritmosgenéticos que resuelven el problema Job-Shop conobjetivo de optimización multicriterio (Coello,2010). El problema Job-Shop ha sido atacadousando técnicas como el recocido simulado(Simulated annealing) mejorado con laincorporación de técnicas de búsqueda local(Vaessens, Aarts y Lenstra, 1996; Yamada yNakano, 1996; Kammer et al, 2010).

Los problemas de secuenciación de tareas(scheduling).

Los aspectos más relevantes que caracterizan losproblemas de secuenciación son: siempre seconsideran finitos tanto el número de máquinas yde trabajos, como también el tiempo deprocesamiento de cada trabajo en cada máquina,estos últimos no siempre se considerandeterminísticos. Además también es posibleencontrar trabajos a los que se les asignan distintasprioridades. Con respecto al ambiente en el tallerse tiene: Secuenciación de tareas en una solamáquina, está asociada al taller básico de una solamáquina con mono-operación por trabajo y suimportancia radica en que sirve de fundamentopara tratar problemas de mayor complejidad. FlowShop, el taller dispone de distintas máquinas paraprocesar los trabajos que deben circular por todaslas máquinas siempre en el mismo orden paratodos los trabajos, está enfocado en el ambiente deproducción por líneas, por lo que después deestablecida una permutación las máquinas siempre

Page 6: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

42

recibirán los trabajos en la misma secuencia. JobShop, el taller dispone también de distintasmáquinas, y cada trabajo tiene su propia secuenciade recorrido de todas las máquinas, está enfocadoal ambiente de centros de trabajo. Open Shop,están disponibles varias máquinas en el taller y lostrabajos deben recorrer todas las máquinas pero sinun orden especial. Mixed Shop, los trabajos debenrecorrer todas las máquinas, algunos en un ordenespecífico y los demás no. Esta sucintasimplificación puede incluir la posibilidad devarias máquinas iguales en paralelo (por algunosautores denominado flexible y a veces híbrido), lastareas no tienen que visitar todas las máquinas,posibilidad de que la misma tarea circule por lamisma máquina para realizar distintos procesos(recirculación), máquinas multipropósito quepueden realizar varios o hasta todos los procesos,estaciones de trabajo y otras. Con respecto adetalles de las características del tiempo deprocesamiento y restricciones a las tareas sepermite interrumpir el procesamiento de un trabajopara reanudarlo posteriormente con el propósitode emplear la máquina en otro trabajo(preemption), existen restricciones de precedenciaentre trabajos, a los trabajos se les puede asignar untiempo mínimo para poder ser iniciados, cantidadde tiempo de procesamiento, a los trabajos se lespuede asignar un tiempo máximo para sufinalización y la posibilidad de agrupar conjuntosde trabajos en bloques. Finalmente, el criterio deoptimización es generalmente la minimización deltiempo total de procesamiento y/o minimizacióndel tiempo total de flujo de los trabajos en elsistema. Obviamente, éstos son modelos generalesideales que en la literatura científica se describen yformulan de una forma abstracta, en el mundo reallos problemas de secuenciación de tareas sonfrecuentemente mucho más complejosinvolucrando factores y restricciones adicionales(Pinedo, 2009; Baker y Trietsch, 2009; Zäpfel, 2.010;Pinedo, 2012).Tradicionalmente las heurísticas de secuenciaciónson vistas como un todo absoluto y no como laasociación de diversos elementos que colaboran enla búsqueda de un fin; es generalmente aceptada la

medida del tiempo de uso del tiempo decomputador como la forma de evaluación deldesempeño de un algoritmo; los problemas tipousados como punto de referencia (benchmark) sonadoptados sin ninguna consideración de suscaracterísticas individuales propias; laminimización del tiempo total de procesamiento esusado consistentemente como principal y a vecescomo única meta de un algoritmo (Beck et al, 1997).El modelo Job-shop flexible de minimización deltiempo total de procesamiento con recirculación ytiempos de preparación independientes de lasecuencia se cuenta en el conjunto de los ambientesde secuenciación más complejos y es comúnencontrarlo en la industria mecánica y electrónica(Brucker, 2007; Magalháes-Mendes, 2013).

Los algoritmos genéticos.Los algoritmos genéticos fueron propuestos porJohn Holland y desarrollados por él conjuntamentecon sus alumnos en la Universidad de Michigan enlas décadas de los 60’s y 70’s, su interés inicial norespondía en crear una forma de resolver unproblema específico, sino más bien estudiarformalmente el fenómeno de la adaptación naturalpara desarrollar formas en que estos mecanismospudieran ser incorporados a los sistemasinformáticos. Los AG son algoritmos deoptimización, tratan de encontrar la mejor solucióna un problema de entre un conjunto de solucionesposibles dadas. Las herramientas usadas en estabúsqueda pretenden emular artificialmente elproceso natural de la evolución biológica. En lanaturaleza los individuos de una población se venafectados por su entorno y por individuos de otrasespecies e incluso por los de su misma especie.Aquellos que tengan éxito en esta competencia porla supervivencia tienen mayor probabilidad degenerar descendientes, por el contrario individuospoco dotados producirán menos o ningúndescendiente. Esto significa que los genes de losindividuos mejor adaptados se propagarán ensucesivas generaciones hacia un número deindividuos creciente. La combinación de buenascaracterísticas provenientes de diferentes ancestros,generación tras generación desembocará en

Page 7: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

43

especies evolucionadas con características cada vezmejor adaptadas al entorno en el que viven(Goldberg, 1989; Mitchell, 1996).

Estas ideas pueden ser transferidas sin traumahacia los problemas de optimización. Así, elconjunto de las soluciones de un problemaespecífico corresponderán a los miembros de unapoblación en particular y donde la aptitud de cadaindividuo de la población equivaldrá a la calidadde cada solución del conjunto. Siguiendo con lametáfora de la evolución biológica las solucionescon mejores desempeños muy probablementeserán seleccionadas para emparejarlas y generarnuevas soluciones e incluso podrán cambiarsetambién algunas de sus características de maneraaleatoria simulando mutaciones, todo esto con laesperanza de que estas nuevas soluciones alcancenmejores desempeños que sus ascendientes(Goldberg, 1989; Mitchell, 1996).

El poder de estos algoritmos reside en el hecho deque se trata de una técnica estable que puede tratarcon éxito una amplia gama de problemas dediversas áreas, incluyendo aquellos en los queotros métodos encuentran dificultades. Si bien nose garantiza que el algoritmo genético encuentre lasolución óptima del problema, existe evidenciaempírica de que se encuentran soluciones de unnivel aceptable en tiempos competitivos. Elinvestigador que seleccione esta técnica enprincipio no tendrá que ser experto en el áreaespecífica en que se aplicarán y de alguna manerase convierten en un instrumento ciego y sin sesgosen la búsqueda del óptimo.

En el caso de que existan técnicas especializadaspara resolver un determinado problema, lo másprobable es que los algoritmos genéticos seansuperados, tanto en rapidez como en eficacia. Elgran campo de aplicación de éstos es la deproblemas para los cuales no existen técnicasespecializadas, incluso en el caso en que dichastécnicas existan y funcionen bien, puedenefectuarse mejoras de las mismas hibridándolascon los algoritmos genéticos (Sivanamdam yDeepa, 2008).

Los elementos necesarios para poder aplicar unalgoritmo genético simple a un problema son lossiguientes: Poder representar una solución alproblema o individuo, que no es más que unamanera de codificar de forma preferiblementebiunívoca una solución al problema por medio deuna cadena de bits, números o hasta caracteres.También son llamados comúnmente cromosomas ya sus elementos como genes o también alelos. Yalguna forma de evaluar la bondad de esteindividuo, que se le denomina función objetivo oaptitud. De manera, que la aplicación de estafunción sobre un individuo debe poder calificar susvirtudes en conjunto con el objeto de sucomparación con la aptitud de cualquier otro(Michalewicz, 1996).

Por otra parte, el funcionamiento general de estealgoritmo podrá ser resumido así:- Generar una población inicial.- Repetir hasta que se cumpla un criterio deparada.

- Evaluar cada individuo de la población.- Seleccionar los progenitores.- Aplicar el operador de cruce o recombinación

y mutación a estos progenitores.- Incluir la nueva descendencia para formar una

nueva generación (Michalewicz, 1996).Hay muchas variantes de los algoritmos genéticosy son obtenidas tanto por el tamaño de lapoblación inicial y los criterios de selección deindividuos para ser objeto de recombinación ymutación como mediante la manipulaciónvoluntaria de los parámetros de los operadorescruce y la mutación. Estos operadoresdeterminarán como se intercambiará lainformación de los individuos seleccionados comopadres y así obtener las nuevas soluciones o hijos.Y también como se alterarán los individuos porefecto de la mutación. Los primeros tienden aaumentar la calidad de las poblaciones y latendencia a converger a un solo individuo, con elconsiguiente peligro de convergencia de lapoblación a un mínimo local. En contraposición, lamutación se opone a la convergencia y crea nuevassoluciones a veces no exploradas (Mitchell, 1996;Coello, 2010).

Page 8: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

44

Simulación de eventosdiscretos y determinísticos.Al construir el modelo matemático que representauna situación real se debe realizar un estudiopreliminar que permita decidir si éste es losuficientemente sencillo para poder hallarle unasolución analítica. La complejidad de muchossistemas reales impide hallar un modelo analíticosatisfactorio y obliga a estudiarse recurriendo a lasimulación. Una simulación se denomina discreta ode eventos discretos si implica variables de estadodel sistema que varían en instantes discretos detiempo y determinística si no contiene ningunavariable aleatoria (Pazos y otros, 2003).

El modelo de simulación es una herramientaválida para sistemas industriales de manufactura,

los sistemas de secuenciación de tareas flow-shop,job-shop y sus variantes han sido modeladosprofusamente mediante simulación discreta y enéstos destacan las siguientes características: loseventos que dinamizan la simulación son losprocesos, las máquinas son estaciones de serviciosque pueden estar desocupadas o no, el tiempo deprocesamiento en una máquina equivale al tiempode servicio, un fin de servicio genera un nuevoevento que corresponderá al siguiente proceso dela pieza, la espera de procesos por la desocupaciónde una estación se administra como colas dediverso tipo (PEPS, UEPS, Prioridad) y el cálculode estadísticas como tiempo en el sistema de unproducto, tiempo de ocupación de una estación yotros (Williams y Ahitov, 1996, Law, 2007).

METODOLOGÍA

El modelo de esta aplicaciónComo se ha venido argumentando el problemacontempla la programación de la producción de laspiezas solicitadas en 20 pedidos donde cada uno deéstos puede incluir un número variable de piezasde varios de los tipos disponibles. El modelopropuesto estará orientado a la situación particularplanteada y por eso se consideran M máquinas deH tipos distintos (h = 1, 2,…, H) así habrá mh

máquinas del tipo h (mh ≥ 1), de tal manera que m1

+ m2 + … + mH = M. Se procesarán N=20 pedidos (i= 1, 2, ..., N), cada uno tendrá ni ítems (rij, sij) parani ≥ 1, la información de cada ítem esta compuestadel tipo de pieza rij y el número de ellas que sonsolicitadas como sij (sij ≥ 1), donde j indica el ítemen el pedido i. Hay G tipos distintos de piezasdisponibles para la fabricación, de tal manera querij=1, 2,…, G. La producción de una pieza tipo k=1,2,…, G requiere de la ejecución de un número ak

procesos o actividades simples (bkd, ckd, pkd) para(ak ≥ 1) organizadas en forma lineal incluyendo laposibilidad de recirculación, la información decada proceso esta compuesta del tipo de máquinausada bkd, el tiempo ckd para la preparación oalistamiento de la máquina en minutos y untiempo pkd propiamente de procesamiento enminutos, donde d = 1, 2,..., ak es un índice que

identifica el proceso y además puede ser usadocomo un indicador secuencial del orden de losprocesos. Así, bkd = 1, 2,…, H; ckd ≥ 0 y ckd ; pkd

≥ 0 y pkd .Sean tijd : tiempo en que se inicia el proceso

d del item j del pedido i.¡tijd + ckd + sij * pkd ≤ tijd+1 i, j, d y k

Implicaciones que subyacen en este modelo.- Las piezas del mismo tipo que pertenezcan almismo pedido serán consideradas como unelemento de pedido en un paquete o lote.- Un elemento de un pedido podrá procesarse enuna y sola una máquina al mismo tiempo.- No se permite la interrupción de los procesos enlas máquinas, es decir, no se puede interrumpir elproceso sin haber terminado en una máquina ypasar a otra.- Puede existir recirculación en un elemento de unpedido, es decir, que puede visitar el mismo tipode máquina o inclusive la misma máquina en másde una ocasión operando distintos procesos.- Una máquina no podrá ocuparse de más de unproceso al mismo tiempo. Hasta tanto unaoperación no haya terminado su procesamiento, lamáquina en la cual se esté realizando dichaoperación no se podrá considerar disponible paraningún otro trabajo.

Page 9: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

45

- Cuando varios procesos estén en cola esperandopor la desocupación de una máquina no habráprioridad entre ellas a menos que pertenezcan apedidos distintos, en ese caso el proceso quepertenezca a un pedido que esté en posiciónprioritaria dentro de la programación seráatendido por excelencia.- Los tiempos de preparación o alistamiento y deprocesamiento son conocidos y determinísticos.Además se consideran independientes de lasecuencia. En la realidad no son constantes como seha supuesto, debido en primer lugar a la pericia delos operarios, materiales de distinta calidad y porsupuesto un componente aleatorio natural en estostipos de procesos donde se implican máquinas.Esto se ha hecho por simplicidad, fueron tomadosestos tiempos sistemáticamente con 50 repeticionesy se han estimado sus medias, estas medias hansido consideradas como los tiempos depreparación y de procesamiento.- Cuando una máquina reciba piezas del mismotipo de la que acaba de terminar de procesar seignorará el tiempo de preparación.- Cuando una pieza que termina de ser procesadarequiere de una máquina de otro tipo y existenvarias desocupadas de ese tipo se tomarácualquiera de ellas, a menos que entre lasmáquinas libres alguna ya este preparada pararecibir ese tipo de piezas y entonces esa serápreferida.- Cuando una máquina esté ociosa podrá activarseel proceso de preparación para la próxima piezaque será procesada ya que es perfectamenteprevisible el momento de terminación del procesoprecedente y así hacer más eficiente laprogramación.- Fue considerado tiempo de enfriamiento enciertos casos, ya que algunas de las piezas alterminar un proceso requieren de enfriamiento noinducido para que conserve sus propiedadesdeseables, antes de comenzar con el procesosiguiente, durante este período de tiempo serealizará en la máquina que recibirá esta pieza elproceso de preparación para hacerlo más eficiente.- En ese tipo de procesos de manufactura de piezasmecánicas es natural la producción de piezas

defectuosas estadísticamente estimable que, o bienson reparadas con retrabajo que obviamenterequiere de la incorporación de más recursos o talvez pueden ser desechadas definitivamente porque no puede ser reparada. Fueron ignoradas estassituaciones en la programación.

Operacionalización del algoritmo genético.Instancias del problema: En el taller donde serealizó el estudio se fabrican piezas de 124 distintostipos, pero fue constatado que normalmente el 85%de las piezas fabricadas pertenece a un pequeñosub-conjunto de apenas 12 piezas. Se usanmáquinas de 8 tipos pero hay varias de algunas deellas por lo que el número asciende a 14 máquinasen total (Figura 02). Fueron seleccionados 5instancias de problemas reales que estuviesenformadas por exactamente 20 pedidos, que fueronparcialmente modificados para excluir piezas fuerade las 12 consideradas (si fuese el caso). Éstascorresponden al trabajo que normalmente serealiza en una semana de 6 días con un turno de 8horas diarias, es decir, aproximadamente 3.000minutos de labor.

Page 10: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

46

Representación de las soluciones: Representaciónpor permutación de 20 objetos, esta representaciónes por supuesto la forma más natural de presentaruna solución para el problema de secuenciarprocesos, donde los procesos son listados en elorden en el cual son realizados. El uso de estaforma puede restringir el uso de los operadores decruce (Goldberg, 1989). Entonces el espacio debúsqueda de ésta representación es el conjunto deposibles permutaciones de los pedidos, unasolución en este trabajo se caracterizafundamentalmente por un individuo o cromosomaformado por 20 genes que representainequívocamente al conjunto de veinte pedidos quepodrán ser dispuestos en cualquiera de sus 20! 2417 posibles órdenes o secuencias distintas sintemor a perder factibilidad, así esta ventajapermitirá generar los individuos de la poblacióninicial con la seguridad de que todos los individuosserán factibles (Figura 03). Esta forma derepresentación es similar a la propuesta porHolsapple, Jacob, Pakath y Zaveri en 1993, que estábasada en una representación de secuencias detrabajos que indica la prioridad con la que seránatendidos los procesos que los conforman(Holsapple et al, 1993). Como contrapartida, escierto que hay individuos factibles que no podránser alcanzados desde esta forma indirecta derepresentación, pudiendo esconderse entre éstos elóptimo global. Comúnmente en los algoritmosgenéticos implementados para resolver problemasde secuenciación de trabajos en talleres mecánicoses usada una representación directa, los genes queconforman los individuos representan los procesossecuenciales que conforman un trabajo, así eltamaño del individuo cambiará dependiendo delos tipos de trabajos que estén implicados en lasecuenciación (Abdelmaguid, 2010). Losindividuos para problemas como los consideradosen este trabajo que contempla exactamente 20pedidos pero con una cantidad variable de trabajosque oscila aproximadamente en alrededor de 80trabajos tendrán una cantidad aproximada de 450procesos, es decir individuos de tamaño variableentre 420 y 480 genes. Por eso a pesar de esto seconvino trabajar con individuos de tamaño fijo, la

ventaja que ofrece tener individuos de tamañoconstante y muy pequeños contrarresta a todasluces esta desventaja.Tamaño y Generación de la población inicial: Eltamaño de la población debe estar relacionado a lalongitud del cromosoma y a la complejidad delproblema. Al elegir el tamaño idóneo de lapoblación es intuitivo que las poblacionespequeñas corren el riesgo de no cubriradecuadamente el espacio de búsqueda, mientrasque el trabajar con poblaciones de gran tamañopuede acarrear problemas relacionados con elexcesivo coste computacional (Goldberg, 1989). Enbase a estas consideraciones se eligió un tamañofijo de la población y se estableció en 50individuos. La construcción de la población inicialfue concebida aleatoriamente, así fueron generados50 individuos o cromosomas cada uno con veintenúmeros enteros o genes que representandirectamente la identificación del pedido. Lapermutación al azar de los 20 cromosomasgarantiza la diversidad de las soluciones alproblema eliminando la posibilidad de sesgo.

Función Objetivo: Calcular el desempeño de unasolución del problema, en otras palabras evaluar laaptitud de un cromosoma, representa unacomplejidad considerable. Ya fue comentado queuna de estas secuencias de 20 pedidos contieneaproximadamente 450 procesos en una diversidadde 14 máquinas con sensibles restricciones desecuencia y disponibilidad, por lo cual se recurrió a

Page 11: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

47

una simulación discreta y determinística de lasecuencia cada vez que se deba evaluar la aptitudde un individuo. Específicamente se programó latécnica del próximo evento para realizar estaevaluación, donde los procesos son eventos con losque se crea una cola de eventos en espera y lasmáquinas son estaciones que pueden estar libres odesocupadas. El tiempo total de procesamiento omakespan corresponde al tiempo empleado desdeel inicio de operación del primer proceso hasta elfin de operación del último proceso, el fin deoperación de un evento genera un nuevo eventoque corresponderá al siguiente proceso de la pieza.

Operador de cruce: Por lo que atiene a los crucesentre dos individuos debido a la naturaleza deloperador cruce implementado en este trabajo, nohabrá la necesidad de seleccionar individuoscompatibles para realizarlo. Se aplica según la tasaseleccionada para cruces (hasta el 100%) sobre unporcentaje de la población. Se seleccionan dosindividuos escogidos al azar de entre la poblaciónactual (sin elitismo), que serán el padre-1 y padre-2, entonces se generan dos posiciones aleatoriasque servirán para determinar la porción delindividuo que se afectará directamente que sellamará sección de cruce o intercambio. Se originandos descendientes de la siguiente manera. Se tomala sección de cruce del padre-1 y se incorpora en elhijo-1 en su misma posición relativa y se hace lomismo con el hijo-2 pero tomando la sección delpadre-2. Luego se copian los genes faltantes en elorden en que aparezcan en el otro padre (Figura04). A este tipo de cruce se le denomina “Cruce porOrden” (OX, Order Crossover en idioma inglés) yfue propuesto por Lawrence Davis en 1985 comouna variante ordenada del cruce llamado “Crucepor mapeo parcial” (PMX, Partial MappedCrossover en idioma inglés) (Gen y Cheng, 2000).Claramente OX trata de incorporar parte de unpadre y también incorporar parte del otro padrepero preservando el orden relativo de loselementos de éste. Habiendo realizado el cruce seincorporan a la población sólo los mejoresindividuos, en otras palabras, de estos cuatroindividuos, dos padres y dos hijos solo

permanecerá la pareja que tenga mejor aptitud, elotro par será destruido. Así el tamaño de lapoblación permanecerá constante y se garantizaráque la aptitud promedio de la población nunca serápeor.

Operador de mutación: Se produce después delcruce con el objetivo de incrementar la diversidadpoblacional. Se aplica según la tasa seleccionadapara mutaciones (hasta el 100%) sobre unporcentaje de la población. Este operador permite,por una parte, aumentar la exploración en elespacio de búsqueda y por otro lado, evita laaparición de poblaciones iguales o semejantes. Lamutación por inserción contempla la extracción deun gen en una posición y su inserción en otraposición del mismo individuo ambas posicionesescogidos aleatoriamente. Es aplicada un númeroaleatorio de veces sobre el mismo individuo(alrededor del 15% de los genes son cambiados deposición, es decir es aplicado entre 2 y 4 veces en elmismo individuo). Al haber realizado la mutaciónse incorpora a la población sólo si su aptitud hamejorado, de otra manera tal mutación serádesechada y el individuo regenerado. Como en elcruce, esto garantiza que la aptitud promedio de lapoblación nunca será peor (Figura 05).

Criterio de terminación: La población inicial serátransformada muchas veces bajo el esquemapresentado anteriormente y a cada una de estas sele denominará “generación”, así en cadageneración se selecciona y aplican cruces y seescogen y se aplican mutaciones. El número degeneraciones dependerá fundamentalmente de lacomplejidad del problema a tratar, del tamaño delo individuo, del criterio de selección de losindividuos a transformar, del porcentaje de cruce ymutación y del criterio de permanencia de losindividuos evolucionados. El criterio usado en este

Page 12: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

48

algoritmo genético fue el de terminar lasiteraciones cuando sea alcanzada la convergencia,es decir, cuando todos los cromosomas sean

idénticos, con la posibilidad cierta de que éste seael óptimo o un próximo satisfactorio.

Descripción del programa.El algoritmo fue programado enteramente bajo lafilosofía orientada a objetos con la plataforma JavaSE (Standard Edition) en el entorno integrado dedesarrollo NetBeans 6.9.1 IDE (IntegratedDevelopment Environment) de Sun Mycrosystem.Java dispone de una máquina virtual llamada JDK(Java Development Kit) para cada sistemaoperativo, y esto lo hace independiente de laplataforma. Específicamente el programa fuenutrido con ventajas amigables facilitadas por lainterface gráfica de NetBeans (GUI – Grafical UserInterface) (Petri, 2010).Entre las bondades de este programa figuran:- Sistematizar la programación de las actividadessemanales del taller de piezas mecánicas queactualmente es realizado manualmente y sinningún criterio comprobado de optimización.

- Facilitar el análisis de la sensibilidad de unaprogramación sujeta a cambios, cosa que en laactualidad es obviamente impensable eimpracticable.- Agrega la capacidad de comprobar el impactoque tiene sobre la programación de actividades laagregación de nuevos tipos de piezas, cambios enlos programas maestros para la fabricación depiezas, incorporación o des-incorporación demáquinas.- Permite la sintonización con otros subsistemas dela empresa como el de ventas, compra de materiasprimas, mantenimiento, recursos humanos,embalaje y despacho.Aunque el algoritmo propuesto y la herramientacreada y probada ha sido desarrollada en uncontexto específico para un caso de estudio muyparticular, el enfoque que se ha seguido es

Page 13: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

49

extensible a gran número de problemas desimilares características. Todo esto favorecido porla filosofía orientada a objetos en que se basó esteprograma.Este programa fue organizado en diversas clases ymétodos, a continuación se mencionan de formasucinta algunas clases y sus métodos con elpropósito de tener una idea general del programa.Clase “Main” (recurso computacional para laorganización del programa), clase “Plantilla”(hereda todas las propiedades necesarias para usarfacilidades gráficas), métodos para modificar losdispositivos de porcentaje de cruce, porcentaje demutación, método para la ejecución propia delalgoritmo genético que comprende grosso modo la

lectura de archivos de datos, construcción deestructura de datos para soportar la data leída,construcción de la estructura de datos para elsoporte de la ejecución del algoritmo, ejecución delalgoritmo según los dispositivos seleccionados,presentación de resultados. Clase “Individuo”(contiene todos los datos de todos los individuos ocromosomas), método para la generación de lapoblación inicial, método para el cálculo de laaptitud de los individuos, método para laconstrucción de la lista de individuos que secruzará, método para la construcción de la lista deindividuos a ser mutados, método para realizar lacruza y método para realizar la mutación.

El problema ha sido resuelto utilizando unaplataforma Java SE en NetBeans 6.9.1 IDE y en unambiente Intel Core i3 CPU 2,03 GHz con unamemoria de 4 GB y sistema operativo Windows 8.El algoritmo genético fue aplicado a 5 instancias deproblemas reales formados por 20 pedidos cadauno, el tamaño de la población fue establecida en50 individuos, el porcentaje de cruce fueestablecido en 20%, 40%, 60%, 80% y 100% y elporcentaje de mutación establecido en 0%, 20%,40%, 60%, 80% y 100% y para cada una de estas

combinaciones fue ejecutado sistemáticamente 100veces. De manera que para cada instancia fueejecutado 3000 veces en total. Fueron calculadas lamedia y la desviación en cada caso para el tiempototal de producción, cantidad de generaciones, tasade mejora y tiempo computacional de ejecución, asícomo la apreciación del comportamiento del peorindividuo, individuo promedio y mejor individuo(Gráficas 01 y 02). Se presenta una tabla donde semuestran los resultados resumidos y se muestrauna tabla con los resultados en detalle para una delas instancias del problema (Tablas 01 y 02).

RESULTADOS

Page 14: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

50

DISCUSIÓN

Se pudo observar consistentemente para todaslas instancias del problema un comportamientoregular con baja dispersión en las medicioneshechas al tiempo total de producción y a la tasa demejora y por el contrario con una dispersiónrelativamente alta para el número de generacioneshasta la convergencia y para el tiempo de ejecucióndel programa, al apreciar las desviaciones de estasmediciones (Tablas 01 y 02). Al verificar latendencia sostenida a la convergencia tempranacon tasas de cruce altas e inversamente al aumentarlas tasas de mutaciones, se obtienen resultados quecoinciden con lo naturalmente esperado (Gráfica01). Apreciar que tasas de cruce alrededor del 20%y tasas de mutación alrededor del 80%desembocaron en altas tasas de mejora en lareducción significativa del makespan (entre 10% y

20%) fue un hallazgo que contradice principiosgeneralmente aceptados que colocan al cruce comoun operador principal y a la mutación comosecundario. Gen y Cheng revelan sin embargo,que al contrario de creencias convencionales en loque respecta a problemas de scheduling osecuenciación, que aunque la mutación seasimplemente el intercambio de un gen permiteexplorar las vecindades de un individuo y así lamutación incrementa la probabilidad de mejorarlas soluciónes (Gen y Cheng, 2000). Comocontraparte, es de hacer notar que evidentementeun elevado valor de la tasa de mutación puedehacer que el algoritmo se convierta en unabúsqueda aleatoria y se pierdan precisamente lasbondades de la transmisión de las mejorescaracterísticas de una generación de soluciones aotra.

Page 15: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

51

Los tiempos de ejecución estuvieron dentro delímites aceptables para las tasas comentadas (entremenos de un minuto y hasta seis minutosdependiendo en gran medida del tamaño de lospedidos considerados), al aumentar las tasas decruce y de mutación también aumenta el tiempo

computacional. Es de hacer notar que esteprograma representa solamente un prototipo y quetrabajar sobre la eficiencia a nivel de códigodesembocará en un programa de acabadoprofesional con mayor eficiencia y por ende conmenor uso del recurso tiempo de ejecución.

La metodología abordada puede ser de granutilidad e incluso de uso ordinario en talleres demecanizado de piezas que funcione bajo pedidocomo el estudiado, puesto que evalúa un númeromuy grande de alternativas de secuenciación quebajo otras condiciones puede resultar laborioso oincluso ineficaz. Los resultados que se obtenganbajo este método siempre serán factibles alsatisfacer todas las restricciones y pueden sercercanos al óptimo o incluso óptimos,constituyendo en una herramienta en la toma dedecisiones de nivel operativo de la producción. Se

comprobó que los algoritmos genéticos son unaeficaz herramienta para obtener buenas solucionesa problemas con un espacio de soluciones amplio,ya que es manifiesta la imposibilidad de conocer siel algoritmo logró obtener la solución óptima enalgún caso debido a que precisamente el(los)óptimo(s) de las instancias particulares delproblema tratado son desconocidos.

Se verificó que los algoritmos pueden serenriquecidos positivamente al ser asistidos por lasimulación de eventos discretos en el caso de tenerque lidiar con una función de optimizacióncompleja como la de este problema.

CONCLUSIONES

Page 16: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

52

Investigaciones futuras podrían indagar sobrela calibración exacta de los operadores genéticosusados, prueba de variantes de los operadores decruce y mutación, también variando el tamaño de

la población e incorporación de selección porelitismo, como con la hibridación con otras técnicasmeta-heurísticas.

REFERÊNCIAS

Abdelmaguid, Tamer F. (2010). Representations in geneticalgorithm for the job shop scheduling problem: a computationalstudy. 2010. Journal of Software Engineering and Applications.Vol. 3, Núm. 12, Pág. 1155-1162. USA.Adams, Joseph; Balas, Egon y Zawack, Daniel. (1988). Theshifting bottleneck procedure for job shop scheduling.Management Science. Vol. 34, Núm. 3, Pág. 391-401. USA.Applegate, David y Cook, William. (1991). A computationalstudy of the job-shop scheduling problem. Operation ResearchSociety of America. ORSA Journal of Computing. Vol. 3, Núm.2, Primavera de 1991. USA.Baker, Kenneth R. y Trietsch, Dan. (2009). Principles ofsequencing and scheduling. John Wiley & Sons, Inc., Hoboken,New Jersey, USA.Beck, J. Christopher; Davenport, Andrew J. y Fox, Mark S.(1997). Five pitfalls of empirical scheduling research. (CP’97)Proceedings of the Third Internacional Conference on Principlesand Practices of Constraint Programming 1997. Desde 29 deoctubre hasta 1 de noviembre, 1997. Schloss Hagenberg,Austria.Bierwirth, Christian. (1995). A generalizad permutationapproach to job shop scheduling with genetic algorithm. JournalOperations Research-Spektrum. Vol. 17, Núm. 2-3, Págs. 87-92.Springer-Verlag Berlin Heidelberg, Alemania.Brucker, Peter; Jurisch, Bernd y Sievers, Bernd. (1994). A branchand bound algorithm for the job-shop scheduling problem.Discrete Applied Mathematics. Elsevier-Science Publishers B.V.Pág. 107-127. USA.Brucker, Peter. (2007). Scheduling algorithms. Quinta edición.Springer-Verlag Berlin Heidelberg, Alemania.Carlier, Jacques y Pinson, Eric. (1989). An algorithm for solvingthe job-shop problem. Management Science. Vol. 35, Núm. 2,Febrero, 1989. The Institute of Management Science. Pág. 164-176. USA.Coello C., Carlos A. (2010). Introducción a la computaciónevolutiva (notas de curso). 2010. Centro de Investigación y deEstudios Avanzados del Instituto Politécnico NacionalCINVESTAV-IPN Departamento de Computación. Ciudad deMéxico, México.Duvivier, David; Preux, Philippe y Talbi, El-Ghazali. (1996).Genetic algorithms applied to the job-shop. ProceedingsWorkshop on Production Planning and Control. Del 9 al 11 deseptiembre, 1996. FUCaM’96. Facultés universitaires catholiquesde Mons. Mons, Bélgica.Falkenauer, Emanuel y Bouffouix, Stephane. (1991). A geneticalgorithm for job shop. Proceedings of the 1991 IEEEInternational Conference on Robotics and Automation, Pág.824-829.

Fissgus, Ursula. (2000). Scheduling using genetic algorithms.20th IEEE International Conference on Distributed ComputingSystems, del 10 al 13 de abril, 2000. Taipei, Taiwan.Gen, Mitsuo y Cheng, Runwei. (2009). Genetic algorithms &engineering optimization. A Wiley Interscience Publications,John Willey & Sons, INC. New York, USA.Gestal, Marcos; Rivero, Daniel; Rabuñal, Juan Ramón y Dorado,Julián. (2010). Introducción a los Algoritmos Genéticos y laProgramación Genética. Universidade da Coruña, Servizo dePublicacións. Monografías, nº 140. Coruña, España.Giffler, Bernard y Thompson, Gerald. L. (1960). Algorithms forsolving production-scheduling problems. Operations ResearchVol. 8, Núm. 4, Julio-Agosto 1960. Pág. 487-503. USA.Goldberg, David E. (1989). Genetic algorithms in search,optimisation, and machine learning. Addison-WesleyPublishing Company, INC. Reading, USA.Goncalves, José F.; de Magalhães, Jorge J. y Resende, MaurícioR. (2002). A hybrid genetic algorithm for the job shopscheduling problem. AT&T Labs Research Technical Report TD-5EAL6J, September 2002.Goncalvez, Jose F. y Resende, Mauricio G. C. (2011). A biasedrandom-key genetic algorithm for job-shop scheduling. AT&TLabs Research Technical Report. Florham Park, Nueva Jersey,USA.Hasam, Kamrul S. M.; Sarker, Ruhul y Comforth, David. (2007).Hybrid genetic algorithm for solving job-shop scheduling. 6thIEEE/ACIS International Conference on Computer andInformation Science. ICIS 2007. 11-17 Julio, 2007. Melbourne,Australia.Holsapple, Clyde W.; Jacob, Varghese S.; Pakath, Ram y Zaveri,Jigish S. (1993). A genetics-based hybrid scheduler forgenerating static schedules in flexible manufacturing contexts.IEEE Transactions on Systems, Man and Cybernetics. Vol. 23Núm. 4. USA.Huang, Di-Wei y Lin, Jimmy. (2010). Scaling populationsgenetic algorithm for job shop scheduling problems. CloudComputing, Second International Conference. del 30/11 al03/12, 2010. Proceedings IEEE. First International Workshop onTheory and Practice of MapReduce. Indianapolis, Indiana, USA,Kammer, Marnix; van der Akker, Marjan y Hoogeveen, Han.(2010). Identifying and exploiting commonalities for the job-shop scheduling problem. Technical Report UU-CS-2010-002January 2010. Department of Information and ComputingSciences. Utrecht University, Utrecht, Holanda.Law, Averill M. (2007). Simulation modeling and analisys.Cuarta edición. McGraw-Hill Companies, Inc. New York, USA.Lenstra, Jan K.; Rinnooy Kan, Alexander H.G. y Broucker, Peter.(1977). Complexity of machine scheduling problems. Annals ofDisccrete Mathematics 1. 1977, Pág. 343-362. North HollandPublishing Company. Holanda.Lestan, Zoran; Brezocnik, Miran; Buchmeister, Borut;Brezovnik, Simon y Balic, Joze. (2009). Solving job-shop

Page 17: Algoritmo Genético Para Secuenciación de Pedidos en Taller de Mecanizado Con Máquinas en Paralelo, r (1)

Ingeniería Industrial.Actualidad y Nuevas Tendencias Año 7, Vol. IV, N° 12

ISSN: 1856-8327

Pérez, Pérez y Jiménez. Algoritmo genético para secuenciación de pedidos en taller, p. 38-53

53

scheduling problem with a simple genetic algorithm. Annals ofDAAAM & Proceedings. Vol. 2009, Pág. 197-205. DAAAMInternational Vienna. Eslovenia.Li, Ye y Chen, Yan. (2010). A genetic algorithm for job-shopscheduling. Journal of Software. Vol. 5, Núm. 3, Pág. 269-274.2010. Academy Publisher.Magalháes-Mendes, Jorge. (2013). A two-step optimizationapproach for job shop scheduling problem using a geneticalgorithm. Working paper 06.2013. Departamento deEngenharia Civil CIDEM. Instituto Superior de Engemharia doPorto. Porto, Portugal.Manne, Alan S. (1960). On the job shop scheduling problem.Operations Research. Vol. 8, Núm. 2, Marzo-abril, 1960. Pág.219-223. USA.Mattfeld, Dirk C. y Bierwirth, Christian. (2004). An efficientgenetic algorithm for job shop Scheduling with tardinessobjectives. European Journal of Operational Research. Núm.155, Pág. 616-630. Elsevier Journals B.V. USA.Medina D., Rosa; Pradenas R., Lorena y Parada D., Víctor.(2011). Un algoritmo genético para el problema de Job ShopFlexible. Ingeniare. Revista chilena de ingeniería. Vol. 19, Núm.1. Arica, Chile.Michalewicz, Zbigniew. (1996). Genetic algorithms + datastructures = evolution programs. Springer-Verlag LondonLimited. Reino Unido.Mitchell, Melanie. (1996). An introduction to genetic algorithms.A Bradford Book The MIT Press Massachusetts Institute ofTechnology. Massachusetts, USA.Papadimitriou, Christos H. y Steiglitz, Kenneth. (1998).Combinatorial optimization algorithms and complexity. DoverPublications, INC. Mineola. New York, USA.Pazos A., José J.; Suárez G., Andrés y Díaz R., Rebeca P. (2008).Teoría de colas y simulación de eventos discretos. PearsonEducación, S.A. Madrid, España.Petri, Jürgen. (2010). NetBeans platform 6.9 developer's guide.Packt Publishing Ltd. Road Olton, Birmingham, Reino Unido.Pinedo, Michael L. (2009). Planning and scheduling inmanufacturing and services. Segunda edición. SpringerScience+Business Media, LLC. NewYork, USA.

Pinedo, Michael L. (2012). Scheduling. theory, algorithms, andsystems. Cuarta edición. Springer Science+Business Media, LLC.NewYork, USA.Sivanandam, S. N. y Deepa, S. N. (2008). Introduction to geneticalgorithms. Primera edición. Publicaciones Springer-VerlagBerlin Heidelberg New York. Inglaterra.Vaessens, Rob J. M.; Aarts, Emile H. L. y Lenstra, Jan K. (1996).Job shop scheduling by local search. INFORMS Journal onComputing. Vol. 8, Núm. 3, Pág. 302-317. 1996.Vaghefinezhad, Sayedmohammadreza y Wong, Kuan Y. (2012).A Genetic Algorithm Approach for Solving a Flexible Job ShopScheduling Problem. 14th International Conference onComputer Modelling and Simulation. De: 28-30/03, 2012.Cambridge, Reino Unido.Varela, Ramiro. (2008). Nuevas tendencias y retos en métodosheurísticos para problemas de scheduling. CongresoInternacional de Cómputo en Optimización y Software,Memorias del CICOS08, 25-27 Junio 2008. México.Williams, Edward J. y Ahitov, Igal. (1996). Scheduling analysisusing discrete event simulation. Proceedings of the 29th AnnualSimulation Symposium. Abril, 9-11, 1996 New Orleans,Louisiana, USA.Werner, Frank. (2011). Genetic algorithms for shop schedulingproblems: A survey. Preprint 11/31, Faculty of Mathematics,Otto-von-Guericke-Universität Magdeburg. Magdeburgo,Alemania.Yamada, Takeshi y Nakano, Ryohei. (1996). Job-shop schedulingby simulated annealing combined with deterministic localsearch. Meta-heuristics: theory & applications. KluwerAcademic Publisher, Pág. 237-248. 1996. Boston, Massachusetts,USA.Yamada, Takeshi y Nakano, Ryohei. (1997). Genetic algorithmsfor job-shop scheduling problems. Proceedings of ModernHeuristic for Decision Support, del 18 al 19 de marzo, 1997. Pág.67–81. Seminario UNICOM. Middlesex, Londres, Inglaterra.Zäpfel, Günther; Braune, Roland y Bögl, Michael. (2010).Metaheuristic search concepts. a tutorial with applications toproduction and logistics. Springer-Verlag Berlin Heildelberg.USA.

AutoresEnrique Pérez Pérez. Ingeniero en Información, Universidad Tecnológica del Centro. Tesista de la MaestríaMatemática y Computación, Universidad de Carabobo. Profesor Asistente a Dedicación Exclusiva,Departamento de Investigación Operativa, Escuela de Ingeniería Industrial, Facultad de Ingeniería,Universidad de Carabobo.E-mail: [email protected]

Ilse Josefina Pérez Castillo. Ingeniero Industrial, Universidad de Carabobo. Tesista de la Maestría enIngeniería Industrial, Universidad de Carabobo. Profesora Asistente a Tiempo Completo, Departamentode Investigación Operativa, Escuela de Ingeniería Industrial, Facultad de Ingeniería, Universidad deCarabobo.E-mail: [email protected]

Manuel Elías Jiménez Bahri. Ingeniero Industrial. Magister en Ingeniería Industrial, Universidad deCarabobo. Profesor Agregado a Dedicación Exclusiva, Departamento de Investigación Operativa, Escuelade Ingeniería Industrial, Facultad de Ingeniería, Universidad de Carabobo.E-mail: [email protected]: 12-02-2014 Aceptado: 27-04-2014