IMPLEMENTACIN INFORMTICA DE UN MODELO HBRIDO DE SIMULACIN
Y ALGORITMO GENTICO COMO AYUDA EN LA ORGANIZACIN DE PRODUCCIN
Enriquez, Hctor Daro.
Facultad de Ingeniera UNaM Vargas, Rafael Roque. Facultad de Ingeniera UNaM Kowalski, Vctor Andrs. Facultad de Ingeniera UNaM hde84@hotmail.com
RESUMEN
Este trabajo tiene como objetivo presentar una herramienta informatizada para el apoyo en la toma de decisiones en la planificacin de actividades de produccin de una empresa del sector grfico de la provincia de Misiones. La metodologa incluy un estudio exploratorio en las instalaciones industriales y un estudio de la secuenciacin de varios pedidos. El conjunto de actividades se represent mediante un modelo de red y la secuenciacin a travs de un algoritmo gentico. A causa del comportamiento aleatorio del proceso, se opt por dotar al algoritmo de secuenciacin de mecanismos de simulacin de eventos discretos. Por esta razn al modelo se define como hbrido de simulacin y algoritmo gentico. Posteriormente a la validacin del modelo global obtenido, se sigui a la implementacin del software. Se obtuvo una herramienta de fcil utilizacin y que entrega resultados fcilmente interpretables para empleados que no requieran necesariamente conocimientos avanzados en informtica para usarla.
Palabras Clave: Planificacin de produccin; Secuenciacin de actividades; Simulacin de eventos discretos; Algoritmo gentico.
1. INTRODUCCIN
En los sistemas de produccin, el problema de programacin de actividades o task scheduling reviste gran importancia, pues la utilizacin de distintos recursos entre stos el recurso tiempo constituye uno de los principales aspectos determinantes de la competitividad de las empresas en el mercado, constituyendo este ltimo un entorno inestable y de rpidos cambios, al cual las mismas deben adaptarse para mantenerse vigentes y competitivas.
En este trabajo se aborda el tema de la programacin de tareas aplicada al proceso productivo de una empresa manufacturera ubicada en la provincia de Misiones, la cual se desempea en mbitos informativos visuales y audiovisuales. Ms precisamente el estudio se enfocar al proceso de elaboracin de folletos en dicho establecimiento. Esta empresa carece actualmente de un procedimiento estructurado o formalizado para organizar su sistema de produccin. Esto constituye una caracterstica tpica de las pequeas y medianas empresas (PyMEs) de la regin, por lo que en este trabajo se buscar demostrar que es posible desarrollar e implementar un sistema informtico de planificacin de tareas que pueda adaptarse a las necesidades de este tipo de empresas.
Es as que el objetivo propuesto es el de desarrollar una metodologa que ayude a la toma de decisiones en la planificacin de produccin y finalmente una implementacin informtica de la misma, para as obtener una herramienta prctica que favorezca el desempeo del sistema industrial en estudio. Tal desarrollo luego podra ser replicado para otras PyMEs de la provincia, beneficiando as a la competitividad de las mismas y aportando al desarrollo econmico de la regin.
2
2. DESCRIPCIN DE LA EMPRESA Y DE SU PROCESO DE PRODUCCIN
La empresa est ubicada en la Ciudad de Posadas, provincia de Misiones, desempendose en mbitos informativos visuales y audiovisuales. En lo que respecta a su produccin en el mbito visual (mbito de inters del presente trabajo), se dedica a la elaboracin de peridicos, revistas, libros y folletos. Se decidi por estudiar la planificacin de tareas de produccin de folletos, pues constituyen productos de gran demanda debido a la caracterizacin turstica de la provincia. El proceso de produccin de los mismos mostraba, al momento de la realizacin del presente estudio, problemas importantes de organizacin y desempeo, en parte a causa de no poseer un sistema de planificacin de produccin. El proceso bsico de produccin de folletos se muestra en la Figura 1.
Figura N 1. Proceso elemental de produccin de folletos (fuente: elaboracin propia)
La configuracin productiva del sector bajo estudio es por lotes (Domnguez et al, 1995), pudiendo obtenerse distintos tipos de productos en las mismas instalaciones. De acuerdo a la clasificacin de Companys & Corominas (1998a), el sistema productivo es intermitente, de tipo taller abierto para productos bajo pedido. En estos sistemas, las maquinas e instalaciones son suficientemente flexibles para poder obtener as diversas opciones de productos a pedido del cliente, los productos se mueven por lotes de un centro de trabajo a otro y no son almacenables ya que los pedidos no son repetibles. Los ltimos autores mencionan a las imprentas como ejemplo tpico de este tipo de configuracin productiva. Tambin se puede denominar al sistema como de tipo job shop. Reciben esta ltima denominacin los sistemas que consisten en un conjunto de tareas que se ejecutan en un conjunto de mquinas, por las cuales pueden circular ms de una vez los trabajos. Las operaciones se realizan de a una por vez y cada trabajo tiene su ruta propia (Latorre & Rebolledo, 2005; Branco et. al., 2007).
El taller de produccin cuenta con las siguientes maquinas para el desarrollo de las actividades mencionadas en la Figura 1: 1 (una) guillotina, 1 (una) impresora, 1 (una) plegadora.
Actividad Mquina Preparacin del papel: Corte Guillotina Preparacin del Papel: Escuadrado Operacin Manual Impresin Impresora Corte Guillotina Plegado Plegadora
Cuadro N1: Operaciones y medios en las que se ejecutan (fuente: elaboracin propia)
En el Cuadro N1 se enumeran las actividades de produccin de folletos y el medio en el 3
cual se realizan estas (mquina/operacin manual).
Este sistema de produccin cuenta con los siguientes inconvenientes:
No hay equilibrio de lnea (Companys & Corominas; 1998b), por diferencias notables en los tiempos de ejecucin de las actividades en cada estacin de trabajo. Esto causa acumulacin de stocks de semielaborados. Espacio en planta reducido, lo que aparejado a lo anterior produce problemas de almacenamiento de stock y de circulacin por parte de los operarios.
Adems de los problemas intrnsecos al proceso mencionados, se le suma la falta de planificacin de produccin, lo cual potencia los efectos anteriores y conlleva a la utilizacin ineficiente de los recursos disponibles por la empresa.
La tipologa de los sistemas productivos guarda relacin directa con los aspectos sobre los que se deben actuar para poder controlar el sistema, y con aquellos que deben considerarse como limitaciones o restricciones. En el caso de los sistemas como el que se aborda en este trabajo (tipo taller para productos bajo pedido), aparece la programacin como actividad crtica (Companys & Corominas; 1998a), tema que se tratar a continuacin.
3. PROGRAMACIN DE OPERACIONES
Constituye ste un problema de asignacin y secuenciacin, en la que N tareas, cada una de duracin T ij -correspondiente a la i-sima tarea que se ejecuta en la j-sima mquina-, debe ejecutarse en un conjunto de M mquinas (Tupia & Mauricio, 2004; Capacho & Pastor, 2004). Se desea realizar dicha programacin buscando el orden de ejecucin ms apropiado, determinar los instantes en que dichas operaciones deben realizarse y los recursos disponibles que deben utilizarse para sto (Pano & Perez, 2007). Los algoritmos utilizados consideran un criterio de eficiencia definido en la funcin objetivo, algunos ejemplos pueden ser (Latorre & Rebolledo, 2005; Capacho & Pastor, op. cit., entre otros): minimizar el tiempo acumulado de ejecucin de las tareas o makespan, minimizar el retraso mximo de las tareas, maximizar la utilizacin de los recursos, balancear el uso de los recursos, minimizar el inventario en proceso, etc. Se puede representar el problema mediante el modelo matemtico de la Figura N 2, en el que X 0 representa el makespan, y X ij
ser 0 si la mquina j-sima no ejecuta la tarea i-sima, y 1 en caso contrario (Tupia & Mauricio, op.cit.).
Figura N 2. Modelo matemtico del task scheduling (fuente: Tupia & Mauricio, 2004)
Existen adems restricciones o ligaduras que condicionan el proceso de asignacin. stas pueden ser de varios tipos (Companys & Corominas, 1998b):
Restricciones de precedencia: generalmente impuestas por condiciones tecnolgicas. Su forma es la tarea j no puede realizarse si antes no se realiz la tarea i 4
Restricciones de zona: o Zonificacin positiva: exige ejecutar una tarea en la misma estacin de trabajo que otra, por ejemplo, por necesidad de una misma mquina, herramienta, o habilidad. o Zonificacin negativa: obliga a que una tarea no se ejecute en la misma estacin que otra. El caso de un proceso que ensucie el ambiente incompatible con otro que exige limpieza, puede ser un ejemplo de este tipo de ligadura. o Zonificacin limite: exige que ciertas tareas se asignen a estaciones anteriores o posteriores a una dada. Por ejemplo, tareas que exigen el uso de herramientas existentes solo en estaciones prximas.
Se presentan en el Cuadro N2 las restricciones de precedencia de las operaciones del proceso en estudio, con la denominacin que se utilizar en los siguientes puntos de este trabajo. Se observa adems que se han agregado las actividades de setup de las mquinas Impresora y Plegadora a las actividades de produccin del Cuadro N1. Esta inclusin se debe a que dichas actividades se deben ejecutar para cada pedido de produccin, y consumen tiempo considerable y operarios para ser llevadas a cabo. El setup de la mquina Guillotina no se tiene en cuenta puesto que no es necesario que se realice con mucha frecuencia, permitiendo esto que su ejecucin sea llevada a cabo fuera de la jornada laboral.
Ref. Actividad Actividad/es predecesora/s A Preparacin del papel: Corte B Preparacin del papel: Escuadrado A C Preparacin de la impresora D Impresin B,C E Corte D F Preparacin de la plegadora G Plegado E,F
Cuadro N2. Ligaduras de precedencia entre actividades del proceso de impresin de folletos (fuente: elaboracin propia)
Adems se presentan las siguientes ligaduras de zona (zonificacin positiva):
Las actividades A y E requieren el uso de la misma mquina (Guillotina). Las actividades C y D se realizan en la misma mquina (Impresora), as como las actividades F y G corresponden a otra (Plegadora). Esto restringe la posibilidad de realizar los setup correspondientes a pedidos prximos al que se al que se est ejecutando en la mquina en determinado momento, hasta que dicha mquina se desocupe.
En lo que respecta a los tiempos de ejecucin de cada tarea, es comn en este tipo de problemas que el tiempo de se considere conocido a priori, de forma estimada (vase por ejemplo: Latorre & Rebolledo, op.cit.). Sin embargo, en algunos casos son considerados como variables aleatorias. Como ejemplo de esto ltimo, Capacho & Pastor (op.cit) mencionan un caso especial para la asignacin y secuenciacin de tareas, en el que se consideran tiempos de proceso exponenciales. Del mismo modo se pueden considerar los tiempos de setup de las mquinas como fijos o variables. Reyes (2005), por ejemplo, expone un caso en el que los tiempos de procesos tienen duraciones conocidas, mientras que los tiempos de preparacin de las maquinas son dependientes de la secuencia.
Se opt en este trabajo por la utilizacin de tiempos estocsticos (exceptuando los tiempos de setup) para modelar los tiempos de ejecucin de las tareas. Se consider sto apropiado 5
puesto que las actividades se ven afectadas por un conjunto de factores de naturaleza aleatoria (trabajo de los operarios, fallas y/o desperfectos en las mquinas, en la materia prima, etc.), que dan como resultado tiempos de ejecucin tambin aleatorios. Dicha representacin de la aleatoriedad de las tareas se realiz utilizando la tcnica de simulacin de eventos discretos, tema que ser abordado en el punto siguiente. Los tiempos de setup de las mquinas se consideraron como deterministicos y sus duraciones se estimaron a partir de observaciones realizadas in situ. El tiempo adoptado para el setup de la maquina Impresora es de 25 (veinticinco) minutos, mientras que para la maquina Plegadora es de 30 (treinta) minutos.
3.1. Mtodos de programacin de tareas
Los mtodos de la investigacin de operaciones existentes para la resolucin de problemas de optimizacin en general se pueden clasificar en dos grandes grupos (Garca, 2007; Tupia & Mauricio, p. cit.):
Mtodos exactos. Mtodos aproximados, heursticos y metaheursticos.
A continuacin se describe brevemente la utilizacin de stos en la planificacin industrial:
Mtodos exactos: comprenden mtodos tales como la bsqueda exhaustiva, la bsqueda local, programacin lineal, programacin no lineal y la programacin dinmica. Los mtodos exactos que se utilizan en la programacin de produccin tratan de encontrar un plan nico analizando todos los ordenamientos posibles de las tareas de produccin. Sin embargo esta estrategia puede resultar computacionalmente cara o incluso los problemas ser casi imposibles de resolverse (el nmero de combinaciones crece de manera exponencial conforme al tamao del problema (Paino & Perez, 2007)), y su aplicacin puede ser factible solamente a problemas pequeos (Branco et. al., 2007). Mtodos aproximados: Dada la complejidad de los problemas reales (problemas de tipo NP (Latorre & Rebolledo, op. cit.)), se recurre a mtodos que no analizan exhaustivamente todos los posibles ordenamientos, sino que eligen los que satisfagan determinados criterios. Adems, en ellos la satisfaccin de criterios de optimalidad no es completamente necesaria, siendo suficiente la obtencin de resultados prximos al ptimo, y en un tiempo razonable. Aplicaciones importantes de estos mtodos constituyen la Bsqueda Tab (Tab Search), Recocido Simulado (Simulated Annealing) y los Algoritmos Genticos (Branco et. al., op.cit.).
Para realizar la programacin de tareas de produccin de folletos en el sistema en estudio se adopt un modelo basado en un mtodo de tipo aproximado: el Algoritmo Gentico (AG); al cual se combin con algoritmos de simulacin discreta, obteniendo as un modelo hibrido de simulacin-AG. Reciben la denominacin de hbridos, los sistemas que combinan conceptos de ms de una metodologa (Bittencourt & Landmann, 2007). Ambos conceptos simulacin y AG- sern descritos en los siguientes puntos.
3.2 Modelos de Simulacin
Un modelo es un objeto o concepto que utilizamos para representar cualquier entidad compleja (un sistema). As pues mediante un proceso de abstraccin, se muestran en un formato adecuado las caractersticas de un objeto (sistema) real o hipottico. () es una representacin simplificada de un sistema que nos facilitar explicar, comprender, cambiar, preservar, prever y, posiblemente controlar el comportamiento del mismo (Guasch et. al., 6
2003). El modelado constituye el mtodo ms utilizado para apoyar un proceso de toma de decisiones. Los modelos pueden clasificarse de diversas formas (modelos fsicos, modelos mentales, modelos matemticos) (ibid). Harrel & Tumay (1995) dan la siguiente clasificacin de modelos utilizados para estudiar sistemas dinmicos:
Modelos simblicos: consisten en smbolos grficos utilizados para comunicar y documentar (ej.: diagramas de flujo, layouts). Modelos analticos: son expresiones matemticas que conducen a soluciones cuantitativas. Generalmente stos son modelos estticos, prescriptivos y pueden ser tanto determinsticos como probabilsticos. Esta clase de modelos son convenientemente utilizables cuando las relaciones entre los elementos del sistema son simples. Ejemplos de estos constituyen las formulas matemticas y las heursticas (ibd.). Modelos de simulacin: Muchos sistemas reales son relativamente complejos, y los modelos analticos no constituyen en estos casos vas de resolucin apropiadas. Se recurre entonces a los modelos de simulacin, en los que se utiliza un computador para evaluar un modelo numricamente y obtener informacin para estimar las caractersticas del sistema (Law & Kelton, 2000). De forma similar, Banks & Carson dan la siguiente definicin: la simulacin requiere la generacin de una historia artificial de un sistema, y la observacin de dicha historia artificial para trazar inferencias de las caractersticas de operacin del sistema real (Banks & Carson, citados por Harrel & Tumay, 1995).
A diferencia de las soluciones analticas, los mtodos de simulacin no estn diseados para proporcionar soluciones ptimas. En el caso de modelos de simulacin estocsticos, slo es posible obtener estimaciones del comportamiento del sistema para un conjunto de variables de entrada. Adems de esto un modelo de simulacin permite evaluar un nmero limitado y definido de alternativas de solucin (Harrel & Tumay; Law & Kelton, op. cit.).
En este trabajo se utiliza un modelo de simulacin del sistema con el objetivo de obtener estimaciones de los tiempos de ejecucin de cada una de las tareas de produccin. Segn la clasificacin de Law & Kelton, el modelo es de tipo discreto, dinmico y estocstico, y se denomina de eventos discretos. Es de tipo dinmico, porque se representa la evolucin del sistema en el tiempo; discreto porque se representa la evolucin de las variables de intereses en forma discreta; y estocstico porque se utilizan variables aleatorias para formalizar las dinmicas de inters (Law & Kelton, op.cit.). Uno de los aspectos ms favorables de los modelos de simulacin es la capacidad de modelar el comportamiento aleatorio de los elementos de un sistema (Harrel & Tumay, op cit), y ste es el motivo de su utilizacin en el modelado del proceso en estudio.
Las etapas seguidas para la construccin del modelo de simulacin del sistema corresponden a las propuestas por Guasch et al (2003). Dicho desarrollo no constituye un proceso secuencial, ya que a menudo es necesario pasar de una instancia a otra anterior. Por ejemplo, si no se supera la etapa de validacin, ser necesario realizar una revisin de las etapas precedentes a ella. Las etapas del proyecto de simulacin son las siguientes (Guasch et. al., op. cit.):
Formulacin del problema Diseo del modelo conceptual Recogida de datos Construccin del modelo computacional Verificacin y validacin Anlisis Adems de estas etapas, tambin se encuentran las de documentacin e implementacin 7
de las decisiones adoptadas. stas no forman parte de esta instancia, pero si formaran parte del proyecto del modelo final de Simulacin-AG. Para poder realizar posteriormente la programacin de las tareas de produccin, el modelo de simulacin fue construido por bloques, donde cada uno corresponde a una de las actividades de produccin mostradas anteriormente en el Cuadro N2. Luego se efectu la recoleccin y tratamiento estadstico de los datos necesarios para describir la dinmica de funcionamiento de las partes que constituyen cada uno de los bloques de simulacin.
Figura N3. Modelo conceptual y bloques que lo constituyen (fuente: elaboracin propia) 8
En la Figura N 3 se presenta el modelo conceptual del sistema bajo estudio, y se indican los bloques que lo constituyen.
Para la construccin computacional tanto de los bloques de simulacin, como de la implementacion en su totalidad, se utiliz el lenguaje de programacin para calculo cientfico SCILAB, desarrollado por Scilab Consortium, el cual es de libre uso (www.scilab.org).
La construccin en bloques se debe a que posteriormente los resultados de la ejecucin de los modelos (bloques) computacionales construidos son utilizados en la conformacin de los cromosomas o individuos del algoritmo gentico (AG). El concepto de AG ser tratado en el siguiente punto.
3.3. Algoritmos Genticos
Los algoritmos genticos (AG) son un grupo de metodologas iterativas de gran aplicacin en optimizacin, las cuales estn inspiradas en la Teora de la Evolucin de Darwin.
Un algoritmo es una secuencia de pasos que se debe seguir para resolver un problema. En el caso de los AG, el problema que se desea resolver generalmente es la optimizacin de una funcin. En el mbito de los AG se denomina individuo a una posible solucin del problema, la cual no necesariamente ser una solucin buena, sino simplemente debe cumplir con las restricciones. Para realizar la optimizacin de la funcin, un AG realiza en cada iteracin una bsqueda dentro de un grupo de individuos o posibles soluciones, los cuales se van evaluando segn una funcin aptitud, la cual indica qu tan adecuada es una determinada solucin al problema. Las mejores soluciones se utilizan como base para la construccin de otras nuevas, las que a su vez sern evaluadas. Luego se seleccionarn las mejores y se volvern a crear otras. Este ciclo se repite hasta que se cumpla la condicin de detencin que se establezca. A los individuos que fueron creados a partir de otros se los llama hijos. Al grupo de individuos sobre el que se trabaja durante cada ciclo se lo denomina poblacin.
Los AG se encuentran dentro del grupo de los Algoritmos Evolutivos, los cuales se diferencian principalmente en la forma en que generan las nuevas soluciones o individuos. An no hay una definicin de AG que sea aceptada por toda la comunidad de la computacin evolutiva, aunque si hay un consenso en que la mayora de los mtodos llamados AGs tienen los siguientes elementos en comn: trabaja en cada iteracin con una poblacin de individuos, realizan una seleccin de acuerdo a una funcin aptitud, utilizan el cruce para generar la nueva poblacin de individuos e incluyen tambin la mutacin aleatoria de la nueva poblacin (Mitchell, 1998).
Para generar un nuevo individuo se realiza primeramente una seleccin de dos individuos y luego se realiza un cruce entre estos dos, esto es, tomar una parte de una de las soluciones y una parte de la otra para luego juntarlas y obtener una nueva posible solucin. Por lo general, de un par de individuos se obtiene un par de hijos. Es importante la funcin que cumple la seleccin en los AG, ya que si bien elige de manera aleatoria a los individuos para cruzarlos, da mayores posibilidades de ser elegidos a los mejores individuos, es decir a los que tengan una aptitud mayor. Adems de la seleccin y el cruce, la mutacin tambin interviene en la creacin de la nueva poblacin. En ella se realiza un cambio pequeo en alguno de los individuos hijos, de manera que no todos los individuos de la nueva poblacin sean solo una combinacin de sus antecesores. La mutacin se utiliza para que el AG explore nuevas soluciones alternativas y no converja prematuramente, es decir que la poblacin sea dominada por un solo individuo o individuos parecidos, sin haber explorado adecuadamente las otras soluciones.
9
Los individuos de la poblacin inicial, sobre la que se comenzar a aplicar el AG se pueden generar en forma aleatoria. Luego cada poblacin se generar en base a la anterior mediante la aplicacin de los operadores seleccin, cruce y mutacin. Este proceso se realiza una y otra vez hasta que se cumple la condicin de parada. Esta puede ser alguna de las siguientes: algn individuo presenta una aptitud suficientemente buena; se alcanzo el lmite de iteraciones; prcticamente todos los individuos de la poblacin son iguales; o se cumple alguna condicin especfica del problema (Garca, et al, 2003).
A continuacin se representa un diagrama de flujo que resume los pasos del algoritmo gentico simple (Figura N 4).
Figura N 4. Diagrama del AG simple (fuente: adaptado de Garca et. al., 2003)
Adems del problema de optimizacin, los AGs con algunas modificaciones, tambin han encontrado aplicacin en otras ciencias y reas de la ingeniera, por ejemplo en el 10
aprendizaje automtico, economa, ecologa, gentica poblacional, anlisis de sistemas sociales, programacin automtica, diseo de circuitos VLSI (circuitos integrados de muy alta escala de integracin), procesamiento de imgenes y reconocimiento de patrones (Mitchell; Garca et al, ya citados).
Existen algunas reglas que pueden orientar respecto si se debe utilizar o no un AG para la resolucin de un problema de optimizacin dado. En general resulta adecuado utilizar un AG cuando el espacio de bsqueda es grande, la funcin tiene muchas discontinuidades, no es bien comprendida su variacin, o si la funcin posee mucho ruido. Adems no debe ser requisito obtener un ptimo, sino que debe ser suficiente encontrar una buena solucin (Coello, 2004).
Si se suponen los tiempos de los procesos deterministicos y se coloca el tiempo total en funcin de la secuencia de trabajos, se obtiene una funcin con muchas discontinuidades, razn por la cual los AGs suelen ser empleados en la planificacin de actividades para minimizar el tiempo de finalizacin. En el caso en estudio se agrega el hecho de que los tiempos de proceso no son deterministicos y se plantea el uso de simulacin para el clculo del tiempo de finalizacin de un cierto trabajo. Como el resultado de una simulacin presenta cierta variabilidad, puede resultar conveniente utilizar AGs, ya que son poco sensibles al ruido en la funcin objetivo.
Para poder realizar la bsqueda mediante un AG, primero deben definirse dos elementos: por un lado cul ser la forma en que se representarn las posibles soluciones en individuos de una poblacin; y por otro lado se debe definir la funcin aptitud, la cual tomar un individuo e indicara un nmero que valorar que tan buena o mala es esa solucin. En general la forma en que se representan las soluciones es mediante cadenas finitas de caracteres. Estas cadenas pueden representar distintos individuos o soluciones alternativas al cambiar los caracteres que las forman. En cambio la funcin aptitud no tiene una forma tpica para definirla, esto depender de cada problema
4. IMPLEMENTACIN DEL MODELO HBRIDO AG-SIMULACIN
Como se ha planteado anteriormente, en la empresa hay limitaciones importantes de espacio, por lo que se debe tratar de reducir los stocks intermedios. Para esto se agreg una restriccin ms: las actividades para la fabricacin de un pedido se deben llevar a cabo una a continuacin de la otra y de acuerdo a las restricciones de precedencia establecidas (cuadro N2, pg. 4). Debido a esta restriccin los grados de libertad del problema se reducen, ya que para definir totalmente el plan de produccin basta con especificar la secuencia en la que se irn atendiendo los pedidos.
Para codificar la planificacin en un individuo, se eligi utilizar un vector de nmeros enteros 1 2 3 ( ; ; ;... ; ) n S S S S S = . La dimensin del vector es igual a la cantidad de pedidos que se tengan que programar. Cada pedido se identifica por un nmero. ste es el indicado en cada elemento del vector S y la posicin ocupada dentro del vector indica cul es nmero de orden en que se realizar la produccin. Por ejemplo, si el tercer elemento toma el valor siete, significa que el pedido nmero siete debe realizarse en tercer lugar.
En cuanto a la forma en que se realiza la operacin cruce, se debe decir que debido a la forma de codificacin elegida pueden surgir individuos hijos infactibles del cruce de dos individuos factibles como se puede ver en el siguiente ejemplo con cinco pedidos.
Sean los individuos:
11
Si se toma como punto de cruce el lugar entre el segundo y tercer elemento, y luego se realiza el intercambio se obtienen los siguientes individuos hijos:
Como se puede ver, en cada uno de los hijos existen algunos pedidos que se deben realizar dos veces y otros pedidos que no se indica que se deban realizar. Debido a esto, se debe introducir una modificacin al operador de cruce simple. Se agrega entonces una comprobacin luego del cruce en la que se detecta en qu lugar del vector hay algn pedido repetido y qu actividades faltan en el vector, y luego se sortea aleatoriamente qu elementos repetidos deben cambiarse por cules de los valores faltantes. De esta forma se pueden obtener por ejemplo los siguientes individuos hijos factibles.
La mutacin tambin tiene modificaciones respecto de la utilizada en el AG simple, ya que si se tomara alguno de los elementos de un individuo hijo y se cambiara simplemente su valor por otro nmero de pedido, ocurrir nuevamente que habr un pedido faltante y uno sobrante. Por ello se opta como medio de mutacin de los individuos hijos, la realizacin de una permutacin entre dos elementos sorteados aleatoriamente. Se puede ver a continuacin un ejemplo de esto.
El mtodo de seleccin utilizado en este caso es una combinacin del mtodo de seleccin por ruleta con el de seleccin elitista. Su funcionamiento se describe a continuacin. Sea una poblacin con N individuos de la cual se toman los n mejores y se los copia de forma temporal. Luego se aade a la poblacin de tamao N un cierto nmero de copias de cada individuo, incrementando el tamao de sta, siendo la cantidad de copias proporcional a la aptitud del individuo en cuestin. Como siguiente paso se sortean aleatoriamente N-n individuos, los cuales sern cruzados de a dos generando N-n hijos para luego ser mutados. A este conjunto de N-n nuevos individuos se le agregan los n mejores que se copiaron al inicio. El grupo resultante constituye la nueva poblacin. De esta forma se asegura que la aptitud siempre mejore o a lo sumo se mantenga en el tiempo (Garca et al, 2003).
Como se busca minimizar el tiempo de finalizacin de la produccin, es necesario realizar una estimacin de ste. En esta implementacin informtica se opt por incorporar dos modos para este clculo. Se lo puede realizar a travs de simulacin (con lo cual se tiene en cuenta la variabilidad de las actividades que lleva realizar cada pedido) o tambin mediante un modelo determinstico. La segunda forma es de clculo ms rpido, pero la primera captura la realidad en forma ms completa. Para el clculo por simulacin, el programa toma como dato una secuencia de pedidos y se encarga de generar las variables aleatorias, calcular los tiempos de inicio y finalizacin de cada tarea, como tambin el tiempo de finalizacin de todos los pedidos considerados. Esto lo hace un nmero establecido de 12
veces y luego devuelve el tiempo promedio de finalizacin incrementado en un valor igual al lmite superior de un intervalo de confianza de 95%, el cual ser tomado por el algoritmo gentico como medida de la aptitud de la secuencia. En el clculo determinstico se toma una secuencia de pedidos dada y se calcula el tiempo de finalizacin de todos los pedidos, pero utilizando tiempos estndar y un modelo de redes. Se continuar en el resto del trabajo tratando el clculo de tiempo mediante el mtodo de simulacin.
La implementacin computacional desarrollada en la plataforma de clculo para ingeniera Scilab est compuesta bsicamente de los siguientes mdulos: interfaz para la carga de datos; funcin para el clculo del tiempo de produccin por simulacin y funcin para el clculo simplificado del tiempo de produccin (considerando el tiempo estndar de los procesos), funcin de optimizacin mediante algoritmo gentico; interfaz de presentacin de resultados.
5. RESULTADOS OBTENIDOS
La utilizacin de la implementacin informtica desarrollada permite obtener un programa de produccin en el cual, como ya se mencion anteriormente, el conjunto de operaciones implicadas se completen en un tiempo prximo al mnimo posible, mientras tambin sea mnimo el stock intermedio en la lnea de produccin. La principal conveniencia de su utilizacin radica en que permite obtener dicha asignacin de tareas luego de analizar un gran conjunto de alternativas de solucin, mientras que si se decidiera utilizar una herramienta de administracin de proyectos convencional, se debera analizar cada posible solucin por separado. Es importante mencionar que el conjunto de secuencias posible corresponde a la combinatoria del numero de pedidos en cuestin, es decir que si se tienen por ejemplo 4 (cuatro) pedidos de produccin, el conjunto de secuencias es: 4!=24, y si se tuvieran que programar 5 (cinco) pedidos, el conjunto de ordenaciones sera: 5!=120.
Para ejemplificar y efectuar un anlisis crtico de los resultados que se obtienen de la implementacin informtica, se presenta un caso de aplicacin, con datos obtenidos en terreno de produccin, y se evala la secuencia obtenida con el modelo desarrollado, comparndola con la regla de secuenciacin utilizada usualmente en la programacin de produccin del establecimiento. Luego se efecta una prueba de hiptesis para evaluar si los resultados de la implementacin son significativamente mejores.
Hay que resaltar primeramente que, debido a la naturaleza del algoritmo de bsqueda del modelo, es posible que se obtengan distintas secuencias y/o asignaciones en distintas ejecuciones de la implementacin informtica.
Se analizarn los resultados de la programacin de tareas de los pedidos mostrados en el Cuadro N 3. Se trata en este caso de 4 (cuatro) pedidos de produccin, de los cuales el primero ya posee cierto grado de desarrollo (operacin de impresin completada), mientras que los otros 3 (tres) pedidos deben realizarse completamente. El primer pedido es el que tiene la fecha de entrega ms prxima. Las fechas de entrega de los dems se establecen luego de efectuar su programacin, por lo que se compararn los plazos de finalizacin obtenidos utilizando el modelo desarrollado, versus la regla de secuenciamiento FIFO (first in - first out), que es la que se utiliza actualmente para procesar los pedidos, aplicada con los mismos algoritmos de simulacin para obtener los tiempos de procesos. Adems de esta regla se podran utilizar otras, tales como: SPT (Short Processing Time), en la que se procesan los pedidos segn los tiempos de ejecucin ordenados en forma creciente; EDD (Earliest Due Date), en la que se procesa primero el pedido que tenga fecha de entrega ms cercana; entre otras. (Latorre & Rebolledo, 2005).
13
Observaciones: Pedido 1: 18000 unidades Parte desde la operacin de impresin completada. Pedido 2: 12500 unidades Pedido 3: 15000 unidades Pedido 4: 20000 unidades Deben efectuarse completamente
Cuadro N3. Pedidos de produccin a ser programados (fuente: elaboracin propia)
Para la resolucin del caso prctico se procede a utilizar el mtodo de clculo de tiempos de simulacin, puesto que proporciona resultados ms confiables. Utilizando la implementacin informtica en 10 (diez) ejecuciones, se obtuvieron las siguientes secuencias (Cuadro N4):
Cuadro N4. Secuencias de procesos obtenidas en 10 (diez) ejecuciones distintas (fuente: elaboracin propia)
De este ltimo cuadro se observa la variabilidad de la secuencia obtenida, debida a la naturaleza de bsqueda del algoritmo gentico, siendo la ms repetida la secuencia 1-3-4-2.
Los resultados obtenidos utilizando la regla de secuenciacin FIFO y los resultados de las ejecuciones informticas se presentan en el cuadro siguiente (Cuadro N5):
Secuencia Finalizacin de los pedidos Secuencia FIFO 1-2-3-4 Pedido 1: 11,44 h Pedido 2: 17,40 h Pedido 3: 27,61 h Pedido 4: 41,80 h 1-3-4-2 Pedido 1: 11,44 h Pedido 3: 19,81 h Pedido 4: 34,02 h Pedido 2: 39,25 h 1-4-3-2 Pedido 1: 11,42 h Pedido 4: 24,69 h Pedido 3: 32,33 h Pedido 2: 39,26 h 4-3-1-2 Pedido 4: 19,62 h Pedido 3: 27,29 h Pedido 1: 33,88 h Pedido 2: 39,63 h Secuencias obtenidas utilizando la implementacin desarrollada 4-1-3-2 Pedido 4: 19,60 h Pedido 1: 26,19 h Pedido 3: 32,32 h Pedido 2: 39,26 h
Cuadro N5. Secuencias de procesos obtenidas en 10 (diez) ejecuciones distintas (fuente: elaboracin propia)
Se puede observar en este cuadro que la fecha de finalizacin del ltimo pedido- y con esto del conjunto de pedidos en su totalidad- obtenida utilizando la metodologa desarrollada es menor en todos los casos a la fecha de entrega que se obtendra utilizando la secuencia FIFO, y es muy similar para cada una de las secuencias. 14
A continuacin se efectan las pruebas de hiptesis para evaluar la significancia de los resultados de la implementacin informtica versus la utilizacin de la secuencia FIFO. Se efectuaron las comparaciones de los tiempos necesarios para completar el conjunto total de tareas programadas, mediante intervalos de confianza construidos para observaciones pareadas para muestras de n =70 (setenta) observaciones independientes en ambos casos y un nivel de confianza de 95%. En caso que los intervalos obtenidos contengan el 0 (cero) se podr afirmar que no existe diferencia significativa en los resultados obtenidos (Guasch et al, 2003).
Secuencias comparadas Diferencia observada 1-4-3-2 vs FIFO 2,51 h <x <2,55 h 1-3-4-2 vs FIFO 2,52 h <x <2,55 h 4-3-1-2 vs FIFO 2,53 h <x <2,57 h 4-1-3-2 vs FIFO 2,52 h <x <2,57 h
Cuadro N6. Intervalos de confianza de las diferencias para la programacin de tareas del caso presentado (fuente: elaboracin propia)
Del cuadro anterior, se puede inferir que la diferencia observada en todos los casos, es significativa al 95% de confianza, y mayor a 2,5 h en el caso de aplicacin presentado.
Si se comparan los resultados obtenidos de la implementacin entre la secuencia de mayor tiempo de ejecucin y la de menor tiempo de ejecucin (1-3-4-2 vs 4-1-3-2) se obtiene el siguiente intervalo de confianza de 95%: -0,53 min <x <2,12 min, el cual permite inferir al contener el 0 (cero) que los resultados obtenidos entre s no son significativamente diferentes. Es decir que en este caso y a los fines numricos, los distintos resultados obtenidos por el mtodo desarrollado son similares entre s, y mejores si se los comparan con la secuencia FIFO.
En el ejemplo analizado, se obtuvo una disminucin de tiempo para completar todos los trabajos mayores a 2,5 horas. Sin embargo debe tenerse en cuenta al utilizar la metodologa que los pedidos de produccin podran tener fechas de entrega menores a las fechas que proporciona sta. Como en el caso planteado, el primer pedido tiene una fecha de entrega prxima, habr que corroborar que la fecha proporcionada por el software no exceda del plazo establecido. La utilizacin adecuada o no quedar a cargo de la persona que tome las decisiones de produccin.
6. CONSIDERACIONES FINALES
Como se demuestra en prrafos anteriores, la herramienta desarrollada constituye una ayuda importante para realizar una tarea por lo general ardua y, en los casos en que el conjunto de actividades a organizar tiene una dimensin elevada, se torna realmente muy difcil o hasta imprctica la realizacin en forma manual o mediante alguna otra herramienta que, aunque ayude a efectuar dicha programacin, no sea capaz de ejecutarla mediante la determinacin de una secuencia ptima o cercana a ella. Sin embargo, se puede percibir que se abord slo una parte del problema de programacin en la empresa en la cual se trabaj al respecto. Por ende, ste trabajo constituye el punto de partida para la elaboracin de una herramienta ms completa, pero cuyo desarrollo seguira una metodologa idntica a la del trabajo realizado hasta el momento. Es ms, una herramienta que realice la programacin de las tareas de fabricacin de los dems productos (peridicos, libros y revistas), se podra concebir a partir de la base ya construida, mediante el modelado de 15
dichas tareas y la consideracin de la interrelacin que existe entre algunas estas debido al uso de recursos compartidos.
Por los motivos sealados, la empresa no utiliza actualmente la herramienta desarrollada, pero est en condiciones de poder hacer uso de sta o, en el caso de ser realizada, de la herramienta que abarque todas sus actividades productivas.
Esto ltimo es posible afirmar puesto que, durante la realizacin de este trabajo se constat que los recursos necesarios para la realizacin de una herramienta prctica de las caractersticas sealadas estn disponibles en esta y muchas otras PyMEs de la regin.
7. CONCLUSIONES
Dada la naturaleza del problema de programacin de produccin, la metodologa abordada es de gran utilidad, puesto que evala un nmero muy grande de alternativas de secuenciacin y asignacin de una manera relativamente rpida, constituyendo sta una ventaja frente a la resolucin utilizando otro tipo de software de administracin de proyectos, en los evaluar diversas secuencias puede resultar laborioso o incluso ineficaz.
Los resultados que se pueden obtener por este mtodo pueden ser cercanos al ptimo en trminos numricos, pero no necesariamente sern en todos los casos factibles en trminos prcticos, constituyendo sta solo una herramienta de apoyo en la toma de decisiones de produccin.
Este trabajo constituye un punto de partida para el desarrollo de una herramienta completa para la organizacin de produccin, en la que se deben incluir todos los productos que se elaboran en la empresa.
Por las caractersticas de la aplicacin informtica desarrollada, se puede afirmar que es posible realizar herramientas de utilidad prctica para las empresas de la regin, acordes a sus necesidades y caractersticas, sin que esto les demande mucho esfuerzo e inversin.
8. REFERENCIAS
BRANCO, R. M.; COELHO, A. S. & MAYERLE, S. F. (2007): Programao da produo: soluo de escalonamentos em job-shop por algoritmo gentico hbrido. Anales XXVII Encontro Nacional de Engenharia de Produo. Foz do Iguau, Brasil. 1 CD ROM.
BITTENCOURT, E. & LANDMANN, R. (2007): Uma abordagem hbrida gentico-nebulosa para a programao da produo em empresas metalrgicas. Anales XXVII Encontro Nacional de Engenharia de Produo. Foz do Iguau, Brasil. 1 CD ROM.
CAPACHO BETANCOURT, L. & PASTOR MORENO, L. (2004): Problemas de programacin de tareas en mquinas en paralelo. VIII Congreso de Ingeniera de Organizacin, pp. 875-883. Legans, Espaa. Fuente: http://io.us.es/cio2004/ comunicaciones/875-883.pdf, acceso julio 2009.
COELLO COELLO, C.A. (2004): Introduccin a la computacin evolutiva (Notas de curso). CINVESTAV-IPN, Departamento de Ingeniera Elctrica, Seccin de Computacin, Mxico D.F., Mxico: Fuente: http://delta.cs.cinvestav.mx/~ccoello/compevol/apuntes.pdf.gz, acceso agosto 2009.
16
COMPANYS PASCUAL, R. & COROMINAS SUBIAS, A. (1998a): Organizacin de la Produccin I. Diseos de Sistemas Productivos 1. Barcelona, Espaa: Edicions de la Universitat Politcnica de Catalunya.
COMPANYS PASCUAL, R. & COROMINAS SUBIAS, A. (1998b): Organizacin de la Produccin II. Diseos de Sistemas Productivos 4. Barcelona, Espaa: Edicions de la Universitat Politcnica de Catalunya.
DOMNGUEZ MACHUCA, J . A.; LVAREZ GIL, M. J .; DOMNGUEZ MACHUCA, M. A.; GONZLEZ, S. G. & RUIZ J IMNEZ, A. (1995). Direccin de operaciones-Aspectos estratgicos en la produccin y los servicios. Espaa: McGraw Hill.
GARCA MARTNEZ. R.; SERVENTE, M. & PASQUINI, D. (2003): Sistemas Inteligentes. Buenos Aires, Argentina: Nueva Librera.
GUASCH, A.; PIERA, M.A; CASANOVAS, J . & FIGUERAS, J . (2003): Modelado y Simulacin. Aplicacin a procesos logsticos de fabricacin y servicios. 2ed. Barcelona, Espaa: Edicions de la Universitat Politcnica de Catalunya.
HARREL, C. & TUMAY, K. (1995): Simulation made easy: a managers guide. Estados Unidos: Engineers & Management Press. Institute of Industrial Engineers.
LATORRE FERNNDEZ, M. L. & REBOLLEDO MORENO, S. A. (2005): Diseo de una heurstica para la programacin en la produccin en Forestal y Papelera Concepcin S.A. Memoria de tesis: Ingeniero civil industrial, mencin gestin. Concepcin, Chile: Universidad del Bo-Bo. Depto. de Ingeniera Industrial. 1 CD ROM.
LAW, A.M & KELTON, W.D. (2000): Simulation modeling and analysis. 3ed. Estados Unidos: McGraw-Hill.
MITCHELL, M. (1998): An introduction to genetic algorithms. Estados Unidos: Massachusetts Institute of Tecnology.
PANO PLAZA, A & PREZ ZANN, E. (2007): Programacin de pedidos en un taller con mquinas en paralelo y tiempo de preparacin. Tesis de maestra. Universitat Politcnica de Catalunya. Departament d'Organitzaci d'Empreses. Fuente: http://upcommons.upc.edu/pfc /handle/2099.1/4535, acceso julio de 2009.
REYES MOLLEJ A, A. (2005): Resolucin del problema de la produccin en mquinas en serie con tiempos de preparacin dependientes de la secuencia. Tesis de maestra. Universitat Politcnica de Catalunya. Departament d'Organitzaci d'Empreses. Fuente: http://upcommons.upc.edu/pfc/handle/2099.1/2804, acceso julio de 2009.
TUPIA, M & MAURICIO, D. (2004): Un algoritmo voraz para resolver el problema de la programacin de tareas dependientes en mquinas diferentes. Lima, Per: Rev. Investig. sist. inform. Facultad de Ingeniera de Sistemas e Informtica, Universidad Nacional Mayor de San Marcos, pp. 9-18. Fuente:: http://sisbib.unmsm.edu.pe/BibVirtualData/publicaciones /risi/N1_2004/a03.pdf, acceso agosto de 2009.