• No se han encontrado resultados

Desarrollo de un algoritmo genético para optimizar la producción de una planta de lubricantes por medio de la programacion de lotes de producción (Bogotá, Colombia)

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo de un algoritmo genético para optimizar la producción de una planta de lubricantes por medio de la programacion de lotes de producción (Bogotá, Colombia)"

Copied!
104
0
0

Texto completo

(1)

DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR LA PRODUCCIÓN DE UNA PLANTA DE LUBRICANTES POR MEDIO DE LA PROGRAMACION DE LOTES DE PRODUCCIÓN

(BOGOTÁ, COLOMBIA)

GABRIEL FELIPE NAVAS CORDOBA

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA

DEPARTAMENTO DE INGENIERIA INDUSTRIAL BOGOTÁ, D.C

(2)

2 DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR LA PRODUCCIÓN DE UNA PLANTA DE LUBRICANTES POR MEDIO DE LA PROGRAMACION DE LOTES DE PRODUCCIÓN

(BOGOTÁ, COLOMBIA)

GABRIEL FELIPE NAVAS CORDOBA

Proyecto de grado para optar por el título de Ingeniero Industrial

ASESOR

JOSÉ FIDEL TORRES DELGADO PHD

UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA

DEPARTAMENTO DE INGENIERIA INDUSTRIAL BOGOTÁ, D.C

(3)

3 Contenido

1. Introducción ... 10

2. Descripción del Proceso de Producción ... 13

2.1 Recepción de materias primas ... 13

2.1 Proceso Mezcla y Calentamiento ... 14

2.1.1 Llegada de lista de órdenes ... 15

2.1.2 Establecer orden de producción: ... 15

2.1.3 Pedir envases Faltantes ... 15

2.1.4 Comenzar secuencia de Mezclas ... 15

2.2 Proceso de Envasado y Embalaje ... 17

3. Antecedentes ... 20

3.1 Algoritmo Genético Para el Secuenciamiento de Tareas ... 20

4. Metodología del proyecto ... 20

5. Objetivos Generales y Específicos ... 23

6. Descripción de la Simulación Manual ... 24

6.1 Supuestos ... 24

6.2 Funcionamiento del modelo de simulación ... 26

6.2.1 Ingreso de órdenes y mezcla de lotes ... 27

6.2.2 Envasado de lotes ... 28

7 Validación del Modelo... 28

7.1 Validación cualitativa ... 29

7.2 Validación Cuantitativa ... 29

8 Escogencia de algoritmo genético más adecuado para este proyecto ... 33

8.1 Descripción de algoritmos genéticos estudiados: ... 33

8.2 Definición del indicador ... 35

8.3 Resultados de las pruebas ... 35

9 Conclusiones para la escogencia del algoritmo ... 36

(4)

4

10.1 Metodología del Algoritmo ... 39

10.1.1 Se crea el primer cromosoma: ... 39

10.1.2 Creación siguientes dos cromosomas con el algoritmo del óptimo local ... 41

10.1.3 Creación del resto de la población ... 42

10.1.4 Calculo de fitness ... 43

10.1.5 Encontrando a los Padres ... 46

10.1.6 Reproducción ... 46

10.1.6.1 Primer Posibilidad. Reproducción ... 46

10.1.6.2 Segunda Posibilidad. Mutación del padre ... 49

10.1.7 Introducción de los hijos a la población ... 50

11 Escogencia de los parámetros del algoritmo genético más adecuado para este proyecto .. 51

11.1 Variable respuesta ... 52

11.2 Parámetros ... 52

11.3 Selección de Niveles para cada parámetro ... 53

11.3.1 Niveles evaluados para programar 7 lotes ... 54

11.3.2 Niveles evaluados para programar 11 lotes ... 54

11.3.3 Niveles evaluados para programar 18 lotes ... 55

11.4 Desarrollo del experimento para escoger los parámetros adecuados ... 55

11.4.1 Experimento para 7 lotes ... 56

11.4.1.1 Análisis estadístico de los resultados para 7 lotes ... 57

11.4.1.2 Pruebas de normalidad en el error para 7 lotes ... 58

11.4.1.3 ANOVA Análisis de Varianza para 7 lotes ... 59

11.4.1.4 Conclusiones para 7 lotes ... 61

11.4.2 Experimento para 11 lotes ... 61

11.4.2.1 Análisis estadístico de los resultados para 11 lotes ... 62

11.4.2.2 Pruebas de normalidad en el error para 11 lotes ... 64

11.4.2.3 ANOVA Análisis de Varianza para 11 lotes ... 64

11.4.2.4 Conclusiones para 11 lotes ... 65

11.4.3 Experimento para 18 lotes ... 66

11.4.3.1 Análisis estadístico de los resultados para 18 lotes ... 67

(5)

5

11.4.3.3 ANOVA Análisis de Varianza para 18 lotes ... 69

11.4.3.4 Conclusiones y Recomendaciones para 18 lotes ... 72

12 Comparación entre la programación lotes de producción usada hoy y la propuesta con el algoritmo ... 73

12.1 Escenarios de comparación ... 73

12.2 Programación y tardanzas para cada Escenario realizadas en la planta de lubricantes. ... 74

12.3 Programación usando algoritmo para cada Escenario... 74

12.4 Comparación de Algoritmo con el método manual ... 75

13 Conclusiones... 78

(6)

6 Lista de tablas

Tabla 1: ejemplo de lista necesidades de producción para un día determinado en la planta de lubricantes………...

15 Tabla 2: Planeación de uso de tanques para la orden ejemplo………... 16 Tabla 3: Planeación de llenado del pedido ejemplo en las máquinas de envasado… ………. 18 Tabla 4: Datos recopilados por la empresa de eficiencias y tiempos de envasado……….. 23 Tabla 5: Tasas de llenado y de tiempos de laboratorio de los cinco tipos de lubricantes que produce la planta……….. 24 Tabla 6: Matriz de incompatibilidad entre los diferentes tipos de lubricantes de la planta de lubricantes………

25 Tabla 7: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante tipo motor……… 29 Tabla 8: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante para transmisiones……… 30 Tabla 9: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante hidráulico. ……….. 30 Tabla 10: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante coloreado. ……… 30 Tabla 11: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante tipo engranajes. ……… 31 Tabla 12: Resultados de los cálculos de intervalos de confianza en las etapas del algoritmo genético. ………. 35 Tabla: 13: Propuesta de primer cromosoma del algoritmo, al problema propuesto……….. 39 Tabla 14: Par de secuencias que no cumplen los tiempos de entrega... 40

(7)

7 Tabla 15: Ejemplo de aplicación del algoritmo luego de la primera iteración……….. 41 Tabla 16: Creación de todos los individuos para esta población generada aleatoriamente……….. 41 Tabla 17: Resultados de la simulación manual de MS Excel para el algoritmo……….. 42 Tabla 18: Resultados del fitness de la simulación manual de MS Excel para el algoritmo de cada uno de los individuos escogidos………. 44 Tabla 19: Determinación del hijo del proceso del algoritmo genético aplicado a un ejemplo de caso……… 47 Tabla 20: Nueva población del ejemplo en desarrollo reemplazando los dos hijos modificados a partir del padre……… 50 Tabla 21: Iteraciones sobre las diferentes permutaciones y sus respetivas réplicas……….. 53 Tabla 22: Reporte de cálculos para determinar parámetros adecuados para corrida………... 55 Tabla 23: salida de la corrida del software “Design Expert”………. 56 Tabla 24: Análisis de varianza (ANOVA) del ejemplo de estudio con el algoritmo genético……. 58 Tabla 25: Posibles combinaciones de niveles y susresultados………. 60 Tabla 26: Salida del programa Design Expert al experimento de 11 lotes de problema de estudio……….. 62 Tabla 27: Resultados del análisis de varianza al experimento para 11 lotes……… 62 Tabla 28. : Posibles combinaciones de niveles y los siguientes resultados………… 65 Tabla 29: Salida de análisis de la corrida de simulación para el experimento de 18 lotes..……… 66 Tabla: 30. Resultados de ANOVA del experimento de 18 lotes……… 69 Tabla 31: Parámetros del estadístico de tardanza de la muestra inicial según procedimiento normal de la empresa. ………. 74 Tabla 32: Parámetros del estadístico de tardanza de la muestra inicial según ordenación propuesta por la metodología con el algoritmo genético. ………. 75

(8)

8 Tabla 33: Resultados de la prueba de inferencia estadística respecto a la diferencia de medias. 75 Tabla 34: listado de programación de lotes en la primera semana de Febrero………. 82

Tabla 35: resultados de Planta de lubricantes según

escenarios……… 92

(9)

9 Lista de figuras

Fig.1: Diagrama de flujo de operación de producción de aceite de la planta de lubricantes ..… 13 Fig. 2. Procesos previos de planificación para la producción de las órdenes………. 14 Fig. 3. Diagrama del proceso de mezclado de una orden de trabajo diario en lubricantes………… 16 Fig. 4. Modelo de tipología de máquinas de servicio para el envasado de las órdenes………. 17 Fig. 5. Comparación de intervalos de confianza para las tasas de producción de la mezcla…….. 32 Fig. 6. Resultados del experimento de los cinco intentos del algoritmo genético………. 35 Fig. 7. Ejemplo de generación del hijo en la secuencia Tamaño del Gen: 3. Punto de partida 4. 47 Fig.8. Modelo del padre a ser modificado y el hijo que se genera……….. 49 Fig. 9. Gráficos ilustrativos de la corrida realizada por el software Design Expert ……….. 56 Fig. 10. Diagramas de dispersión del error……… 57 Fig. 11. Diagrama de Pareto con la contribución de cada ´parámetro a la variabilidad del modelo……….. 59 Fig. 12. Diagrama de peso e interacción entre parámetros. ……… 59 Fig. 13. Gráficos de resultados de las diferentes réplicas, cruzando los factores respecto a la tardanza para 11 lotes ……… 62 Fig. 14. Salidas de prueba de normalidad a experimento de 11 lotes………. 63 Fig. 15. Gráficos ilustrativos de la distribución de alelos de la corrida con18 lotes ………… 66 Fig. 16. Gráficos de salida de análisis del error en las corridas del experimento con 18 lotes……. 68 Fig. 17. Gráfico de Pareto de la variabilidad del modelo por parámetro……….. 70 Fig. 18: Estudio de peso sobre la variable de respuesta factor por factor……….. 70 Fig. 19. Ilustración cruzada de tres factores respecto a la tardanza………. 71

(10)

10 1. Introducción

La evolución es un método de búsqueda que opera sobre una gran cantidad de opciones o posibilidades. En la biología, a lo largo de la evolución se han dado tal cantidad de combinaciones genéticas, que ellas permiten a múltiples diferentes tipos de organismos su supervivencia, a través del cambio y el control de su adaptación al ambiente con la evolución. En 1960, John Holland desarrolló los algoritmos genéticos, inspirado en este hecho y los desarrolló junto a sus estudiantes en la Universidad de Michigan entre 1960 y 1970. El objetivo principal de estos algoritmos fue estudiar el fenómeno de adaptación como ocurre en la naturaleza y poder plasmar la adaptación natural en un sistema computacional. A ´partir de sus hallazgos, él escribió el libro “Adaptation in Natural an artifical Systems” donde presentó el algoritmo como una abstracción de la evolución de la biología. El algoritmo genético que él presentó consiste, entonces, en moverse de una población de cromosomas (que eran cadenas de ceros y unos) a otra población, usando mecanismos parecidos a la selección natural; en ellos se seleccionaban cromosomas que se cruzan, mutan o traslocan, para generar los individuos de las nuevas poblaciones.

En este proyecto de investigación se aprovechan estos hallazgos, por lo que se utiliza un algoritmo genético para encontrar una buena solución al orden de producción en una fábrica de lubricantes de la empresa. Se identificó que la fábrica funciona como un “flow shop” que consiste en dos estaciones que operan de forma diferente. Dada está particularidad se consultó un artículo que mostraba tal situación: “ALGORITMO GENÉTICO MODIFICADO APLICADO AL PROBLEMA DE SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL – FLOW SHOP”, publicado en Scientia et Technica año XII, el 30 de mayo del 2006. Sobre, el planteamiento de este artículo se identificó la posibilidad de desarrollar un algoritmo genético que se adaptara al problema encontrado en la fábrica (Eliana Mirledy, 2006).

Hoy en día, la planta de lubricantes tiene una planta de lubricantes que se encuentra ubicada Bogotá en el barrio Puente Aranda, que opera bajo un sistema “make to order” recibiendo pedidos internos y externos. Los pedidos internos son programados según sea

(11)

11 el pronóstico de la demanda del mes, el cual lo hace el departamento de ventas que se encarga de comercializar los productos de la Planta de lubricantes. Luego el jefe de producción convierte esta demanda en pedidos por lotes para suplir las ventas y mantener cierta cantidad en stock según sea la rotación de inventario. Por otro lado, los pedidos externos son de diferentes clientes con quienes la planta tiene convenios para producir los lubricantes. El más representativo entre estos clientes es la empresa Shell. Actualmente, los directivos de la unidad de lubricantes quieren mejorar los niveles de servicio que ofrece la planta, para lo cual, desean optimizar el control de los tiempos de producción para evitar excesiva tardanza en el tiempo de entrega de cada pedido. Para poderlo llevar a cabo, se establece identifica una problemática que se compone de dos partes: el proceso productivo, sus capacidades y recursos actuales y la metodología y procesos de la programación de los lotes de producción.

El proceso productivo se refiere la operación de los diferentes recursos que posee la planta entre los que se encuentran los tanques de mezcla de lubricantes y las máquinas de envase. Estos recursos requieren la asistencia de personal capacitado y, la forma de procesar y de utilizarlos es un factor clave en el proceso de optimización de los tiempos de producción y por consiguiente la tardanza. Hoy en día, la planta no presenta muchos problemas con la utilización de estos recursos y opera de manera razonablemente eficiente ya que este proceso productivo se diseñó basado en un estudio de simulación que se realizó sobre la base de un estudio previo realizado en una tesis de grado (Pérez Martínez & De los Ríos Gartner, 2009).

La segunda parte, que depende del orden de programación de los lotes de producción, es manejada, hoy en día con una estrategia EDD (Early Due Date). Para realizar este proceso, se programa el orden de producción de los lotes según su fecha de entrega. Sin embargo, esta estrategia, ha mostrado no ser la más efectiva ya que las ordenes se están entregando con mucha tardanza. El diagnóstico muestra que se debe a que el flujo de producción tiene cuatro tanques trabajando en paralelo y dependiendo del orden de programación estos tanques son utilizados con diferentes secuencias de lotes, las cuales

(12)

12 pueden no ser las más óptimas. Además, no todos los lotes tienen el mismo tamaño ni son del mismo producto, por lo cual el tiempo de cada uno en la estación de mezcla es diferente.

Esta segunda parte de la problemática es la que motiva el trabajo de este proyecto, el cual busca aplicar un algoritmo genético para evaluar diferentes secuenciamientos de órdenes de programación, en busca de lograr una aproximación al orden óptimo. Para el desarrollo de este algoritmo se desarrolló una simulación manual de la planta de producción con apoyo de la herramienta de hoja de cálculo de en Microsoft Excel con el fin de calcular la tardanza en el tiempo de entrega de cada lote y obtener un indicador (la suma de todas las tardanzas) que sirva para evaluar. Luego se desarrolló un algoritmo genético usando la herramienta de programación Visual Basic con el fin de optimizar, minimizando este indicador.

(13)

13 2. Descripción del Proceso de Producción

La producción de lubricantes en la planta de lubricantes se divide en 5 diferentes fases como se muestra en la figura 1: la recepción de materias primas, mezcla y calentamiento, envasado y embalaje, y almacenamiento. Este proyecto sólo tiene en cuenta los procesos de mezcla y calentamiento, y envasado y embalaje. Se explica detalladamente cada uno a continuación.

Fig.1: Diagrama de flujo de operación de producción de aceite de la planta de lubricantes.

Fuente: Planta de lubricantes.

2.1 Recepción de materias primas

En la producción de lubricantes se emplean materias primas compuestas por distintas referencias de bases, aditivos, colorantes y mejoradores de viscosidad que se encuentran en estado líquido. Por lo cual, su transporte se lleva a cabo en camiones cisterna con capacidad de 31,000 galones aproximadamente, provenientes de los puertos de Santa Marta y Barranquilla (Colombia) ó en tracto-mulas cargadas con máximo 164 tambores con capacidad de 55 galones cada uno. La planeación de la llegada de materias primas se realiza semanalmente y la cantidad a ordenar depende del inventario de materia prima, la disponibilidad de camiones y el consumo esperado durante el tiempo de recorrido de los camiones que puede ser de tres o cuatro días.

Almacenamiento Envasado y

Embalaje Mezcla y

Calentamiento Recepción de

(14)

14 2.1 Proceso Mezcla y Calentamiento

Éste proceso inicia con las órdenes diarias de producción. El encargado de mezclas recibe una lista de lotes que debe producir, cada uno posee cinco atributos: producto, la fecha de entrega, el tipo de envase, la cantidad a producir, el tiempo de mezcla y los componentes a mezclar. El encargado de mezcla debe realizar la programación de producción estableciendo la secuencia en la que se van a producir los lotes en los diferentes tanques. Para ello, él debe tener en cuenta 2 aspectos: primero ordena la lista por fecha de entrega, y luego revisa que halla la cantidad de envases disponibles para el lubricante. Al tener el orden de programación, lo siguiente que hace el encargado de mezclas es revisar el stock que tiene de cada producto para saber cuánto puede producir y comenzar la mezcla. Esta secuencia se detalla en el siguiente diagrama en la figura 2. Fig. 2. Procesos previos de planificación para la producción de las órdenes.

En la planta tienen 2 tipos de tanques que denominaremos tanque A y B, los tipo A son tanques pequeños en los que se pueden mezclar hasta 2500 Galones, y los tipo B puede mezclar hasta 9000 Galones. Si el lote requiere una cantidad a producir menor a 5000 galones, éste se mezcla en uno de los dos tanques tipo A en dos tiempos. Mientras que si requiere una cantidad mayor a 5000 galones, se mezcla en uno de los tanques tipo B. Tienen 2 tanques tipo A y 2 tanques tipo B. Es importante tener en cuenta que el mismo lote no se mezcla en dos tanques al tiempo para evitar tener que lavar los dos tanques si el siguiente producto a mezclar no es compatible con el del lote anterior.

Comenzar Secuencia

de Mezclas Pedir

envases Faltantes Ordenar

por fecha de entrega Llega Lista

de Ordenes

(15)

15 Fuente: Planta de lubricantes.

En el siguiente ejemplo se clarifica el proceso perteneciente a la parte de mezcla y calentamiento. En la tabla 1 se puede ver un ejemplo de la lista de necesidades de producción para un día normal en la fábrica.

2.1.1 Llegada de lista de órdenes

Tabla 1: ejemplo de lista necesidades de producción para un día determinado en la planta de lubricantes

Lote Lote 1 Lote 2 Lote 3 Lote 4

Producto Helix 50 Suzuki 4 T Advance 4T Rimula R4

Fecha de entrega 06/03/2015 13:00 06/03/2015 09:00 06/03/2015 17:00

07/03/201 5 17:00

tipo de envase Cuartos Cuartos cuartos Cuartos

cantidad a producir 3000 L 7000 L 2000 L 2000 L

tiempo de mezcla 50 min 30 min 60 min 50 min

Fuente: datos suministrados por la planta de lubricantes. 2.1.2 Establecer orden de producción:

Se ordenan por fecha de entrega: L2, L1, L3, L4 2.1.3 Pedir envases Faltantes

Cada caja de envases tipo “cuartos” almacena 3 Galones por consiguiente se puede calcular la cantidad de envases que se necesita y cuantos faltan según los que hallan en Stock.

(16)

16 En el siguiente diagrama en la figura 3 se puede ver como es el proceso de mezclado dependiendo de las características del lote.

Fig. 3. Diagrama del proceso de mezclado de una orden de trabajo diario en la planta de

lubricantes.

Fuente: Planta de lubricantes.

Luego del proceso de mezcla cada lote está listo para ser envasado. El siguiente cuadro indica cómo sería el uso de los tanques y a qué horas estarían disponibles los lotes para comenzar el proceso de envasado, suponiendo que se debe lavar el tanque antes de cada mezcla siendo que cada lote es de un producto incompatible con los demás.

En la planta se producen lubricantes de 5 diferentes clases que definen el tiempo de mezcla y los tiempos de lavado ya que unas son incompatibles con otras, en la tabla 2 se puede ver un ejemplo de los tiempos de procesos de mezcla.

En este ejemplo los tanques 1 t tanque 2, son tanques tipo A y el tanque 3 es tipo B. Tabla 2: Planeación de uso de tanques para la orden ejemplo.

Lote Tanque Comienzo de mezcla

Lavado tanque

Tanque disponible y fin de mezcla

Escoger Tipo de tanque

•Si la cantidad a producir es menor a 5000 L escoger tanque Tipo A •Si la cantidad a producir es mayor a 5000 L escoger tanque Tipo B

Disponibilidad del Tanque

•Revisar que Tanque esta disponible (teniendo en cuenta el tipo) para comenzar la mezcla.

•Si no hay tanque disponible esperar a que uno se desocupe

Mezclar

•Se agregan los ingredientes bases y aditivos •Mezclar y calentar

Descargar

•Al terminar la mezcla, se toma una muestra para lavoratorio •Luego se lleva a tanques de almacenamiento para luego envasarla.

(17)

17 Lote 2 Tanque 3 06/03/2015 12:00 30 min 06/03/2015 13:00

Lote 1 Tanque 1 06/03/2015 12:00 30 min 06/03/2015 13:20 Lote 3 Tanque 2 06/03/2015 12:00 30 min 06/03/2015 13:30 Lote 4 Tanque 1 06/03/2015 13:20 30 min 06/03/2015 14:40 Fuente: determinaciones propias y cálculos del autor.

Como se puede ver, el lote 4, que tiene una cantidad de producción menor a 5000 galones y se mezcla en el tanque 1 ya que este es el primer tanque tipo A en quedar libre. Al terminar cada mezcla se lleva a los tanques de servicio y se almacena para ser envasada.

2.2 Proceso de Envasado y Embalaje

Luego que la mezcla finaliza, el producto es transportado a uno de los 12 tanques de servicio que están disponibles para hacer la transición de mezclado a envasado, en la figura 4 se muestra el flujo de este proceso. Estos tanques con capacidad de 2500, 4500 y 18000 galones, se clasifican en tanques de servicio a líneas, tanques de servicio graneleros y tanques de servicio para 55 galones.

El proceso de envasado consta de 4 máquinas diferentes, la máquina 6X1 es una máquina automática que envasa 3 tipos de envases: cuartos, galones y pintas. La máquina 55 G se encarga de envasar tambores de 55 galones. La máquina 5G envasa baldes de 5 Galones y la última maquina se encarga de bombear gráneles. Por otro lado, sí se requiriera un cambio de presentación en la maquina 6X1, se debería cambiar los módulos de la máquina, lo cual implica un tiempo adicional de 60 minutos.

(18)

18 Fig. 4. Modelo de tipología de máquinas de servicio para el envasado de las órdenes.

Fuente: Diagrama de procesos y equipos de la planta de lubricantes.

En el caso del ejemplo, el uso de los equipos quedaría como se muestra a continuación en la tabla 3.

Tabla 3: Planeación de llenado del pedido ejemplo en las máquinas de envasado.

Lote Maquina Tipo de envase

Fin de mezcla Tiempo de Envasado

Fin de Envase

Lote 2 6X1 cuartos 06/03/2015 13:00

120 min 06/03/2015 15:00 Lote 1 6X1 cuartos 06/03/2015

13:20

30 min 06/03/2015 15:30

Lote 3 6X1 Galón 06/03/2015 20 min 06/03/2015

Tanques de

Maquina

6X1 Maquina 55G Maquina 5G

Maquina Gráneles

Empaque

en cajas Empaque en cajas

Empaque en cajas

Gránel Almacenamiento o Despacho

(19)

19

13:30 16:50

Lote 4 6X1 cuartos 06/03/2015 14:40

20 min 06/03/2015 17:10 Fuente: cálculos propios.

En el ejemplo todas los lotes se hicieron con la maquina 6X1, sin embargo en el lote 3 se cambia la presentación y se presenta una demora de 60 minutos por lo que se deben cambiar los módulos de la máquina.

Este es el fin del proceso de envasado y embalaje, el proceso de almacenamiento no es relevante en este proyecto ya que el producto almacenado lo tienen en cuenta para emitir las órdenes de producción para cada mes.

(20)

20 3. Antecedentes de uso de algoritmo genético para secuenciamiento de tareas

3.1 Algoritmo Genético Para el Secuenciamiento de Tareas

La planta de lubricantes opera bajo un sistema flow shop con dos estaciones, cada una con restricciones referentes a las políticas de producción de la planta. El trabajo de Eliana Toro, Yov Steve y Mauricio Granda, aborda el problema de secuencia miento de tareas con el objetivo de minimizar el tiempo total de producción aplicable a la industria de procesos donde el uso eficiente de los recursos es de vital importancia. Su estrategia busca principalmente preservar las mejores alternativas, asegurando factibilidad y optimalizad. Ya que la principal diferencia con los algoritmos genéticos tradicionales es que se modifica la población de forma aleatoria y se mantienen los padres. (ELIANA TORO OCAMPO, 2006) Es importante tener en cuenta que el algoritmo genético tiene un problema muy usual, que es la convergencia prematura. Esto se debe a que se queda atrapado en un óptimo local en el cual los padres no son capaces de generar nuevos individuos mejores que ellos. Para ello es importante tener en cuenta la estrategia de mutación usada. (Pei-Chann Chang, 2010)

Ellos proponen un algoritmo genético en el que la escogencia de padres se hace por torneo, en donde se escogen a los individuos con el mejor fitness para ser el padre y la madre. También se mantiene constante el tamaño de la población, remplazando a los peores individuos de la población con los nuevos individuos, solamente si los nuevos individuos superan a los peores de la población. Para la mutación, los hijos son levemente ajustados, este proceso está fuertemente ligado al concepto de vecindad (individuos con características parecidas), y por consiguiente se busca encontrar el óptimo local de la vecindad donde se encuentra el individuo. (ELIANA TORO OCAMPO, 2006)

4. Metodología del proyecto

Para desarrollar este proyecto se deben tener en cuenta tres etapas, el diseño del modelo de simulación manual, el diseño del algoritmo genético para encontrar buenas soluciones

(21)

21 y la obtención de los mejores parámetros para obtener la mejor solución posible con el algoritmo escogido.

El primer paso es identificar el problema que tiene la planta con el fin de realizar el modelo de simulación de tal forma que se puedan evaluar en éste los indicadores del problema y poder usarlo para aplicar el algoritmo.

Seguidamente se procede a realizar la conceptualización del modelo, la cual implica una abstracción de las características principales del problema, la selección de supuestos y la delimitación del sistema. Estos aspectos se modifican hasta lograr un modelo que represente de manera acertada el sistema real.

Paralelamente a la conceptualización, se desarrolla el proceso de toma de datos en el cual se interactúa constantemente con los miembros y directivos del sistema para recolectar toda la información existente. Esta información no se rige bajo ninguna distribución ya que la simulación manual se desarrolla en Excel, donde no es conveniente simular con distribuciones estadísticas. Sin embargo se usarán los valores proporcionados por los operarios de la planta, que son los promedios de tiempos que les toma cada actividad. Al obtener la información necesaria, se realizó el modelo de simulación manual en la hoja de cálculo MS Excel (Microsoft, 2010), este modelo cumple las políticas de la planta, sin embargo no tiene en cuenta fallas y se basa en un escenario perfecto. Luego de implementar el modelo se realiza su verificación, es decir que se halla caracterizado exitosamente en Excel, que los valores, unidades y formulas con las que se esté trabajando sean consistentes. Se revisa la estructura lógica y que cumpla con las políticas de la empresa.

Al cumplir con los requisitos de la verificación se procede a validar el modelo de lo contrario se deben corregir. Por medio de la validación, se pretende determinar sí el modelo es una representación acertada del sistema real. Esto se lleva a cabo comparando el comportamiento del modelo de simulación con el del sistema real, es decir, que si se programaron 7 lotes en tal orden, en la realidad, la tasa de producción de cada clase de

(22)

22 producto no sea estadísticamente diferente con la presentada por el modelo de simulación aplicando el mismo orden de producción.

Al confirmar la valides de este modelo se procede a buscar alternativas de algoritmos que permitan optimizar el tiempo de más en los tiempos de entrega de los lubricantes. El algoritmo escogido para este proyecto es el algoritmo genético, por lo que se procede a evaluar diferentes alternativas del mismo para la obtención de un algoritmo que encuentre una buena solución.

Para ello, primero se diseñan los diferentes algoritmos según diferentes criterios que pueden afectar la diversidad de las soluciones ofrecidas y el acercamiento al óptimo. Este tipo de criterios se pueden referir a la forma de escoger los padres en el algoritmo genético, la forma en la que éstos se reproducen y la forma en que se mueren los individuos de la población.

Al escoger el algoritmo de tal manera que ofrezca una buena diversidad y un mejor acercamiento al óptimo, se deben establecer los parámetros del mismo. Es decir el tamaño del gen que se transadla de un padre a otro para obtener los hijos, las probabilidades de mutación, el tamaño de la población y el número de iteraciones. Esto se debe hacer para cada una de las diferentes opciones de programación de lotes que se definieron al hacer la conceptualización del problema a resolver. Para cada opción se debe hacer un diseño de experimentos para determinar la importancia de los factores y el mejor valor con el que se deben programar para obtener la mejor solución.

Para finalizar se realiza la comparación entre los resultados del algoritmo y los resultados de la vida real por medio de indicadores previamente establecidos y se emplea la prueba estadística de medias para determinar si la implementación de el algoritmo propuesto produce cambios significativamente positivos en el sistema. Finalmente, se procede a documentar el proyecto y reportar los resultados obtenidos junto con el algoritmo a implementar.

(23)

23 5. Objetivos Generales y Específicos

5.1. Objetivo General

 Implementar una adaptación de una heurística basada en un algoritmo genético en la metodología de programación de las órdenes de producción de los lubricantes, con miras a mejorar el desempeño en los tiempos de entrega (tardanza).

5.2. Objetivos específicos

 Diseñar e implementar un modelo de simulación sobre la hoja de cálculo MS Excel, del funcionamiento actual de la línea de producción, que permita determinar el desempeño de la planta respecto a un indicador diseñado de tardanza.

 Implementar una heurística de algoritmo genético para el sistema de producción que permita encontrar un orden de programación eficiente para la producción de lubricantes. (modelo)

 Probar diferente tipos de algoritmos genéticos, con el fin de usar el más adecuado para la solución de este proyecto.

 Desarrollar un modelo sobre la hoja de cálculo MS Excel que calcule y automatice los pasos del algoritmo genético implementado y que tenga en cuenta la información de producción diaria y el estado de la planta.

 Identificar buenos parámetros para el algoritmo genético usado, a través de un diseño de experimentos, tendientes a optimizar su eficiencia.

 Contrastar los resultados obtenidos con el algoritmo con datos históricos registrados en la planta para lotes, de programación de pedidos comparables y sus tiempos de entrega en la planta de lubricantes.

(24)

24 6. Descripción de la Simulación Manual

6.1 Supuestos

Los supuestos bajo los cuales se desarrolla el modelo de simulación de la planta de lubricantes se mencionan a continuación y su información fue proporcionada por la planta:

 La simulación realizada en este proyecto es una simulación manual en la que no se tiene en cuenta errores a típicos como paradas de planta, tardanza o incapacidad de operarios, daño de máquinas, estancamiento de tubos, mantenimiento de maquinaria etc.

 El tiempo de mezcla es definido por el encargado de programar la producción de lotes.

 La tasa de descargue de los tanques dependen del tamaño del lote y eficiencia de descarga de los tanques.

 La tasa de vaciado de tanque que es de 100 galones por minuto.

 Las máquinas tienen eficiencias definidas, y el tiempo de envasado de cada lote depende del tamaño del lote, el tipo de envase y la eficiencia de la máquina. Estos datos se han establecido para los equipos disponibles y son los que se encuentran en la tabla 4:

Tabla 4: Datos recopilados por la empresa de eficiencias y tiempos de envasado.

Tipos de envase tamaño cajas Galones

Maquina Eficiencia de maquina minutos por Cajas (minutos/caja)

Cuartos 3 6X1 0.2

Galón 4 6X1 0.15

(25)

25

Tambores 55 55 G 0.15

Baldes 5 5 G 2.4

Gráneles 4500 Granel 0.053333333

Fuente: estadísticas históricas y cálculos de planta de lubricantes

 Los lotes menores o iguales a 5000 Galones se mezclan en los tanques pequeños de 2500 Galones. Y los mayores a 5000 Galones se mezclan en los tanques grandes de 9000 Galones.

 Existen 5 clases de lubricantes que definen los tiempos de llenado y tiempo de laboratorio de cada lote, sus tiempos se encuentran en la tabla 5.

Tabla 5: Tasas de llenado y de tiempos de laboratorio de los cinco tipos de lubricantes que produce la planta.

Tasa de llenado G/min

Tiempo en Laboratorio

Cl1 75 40

Cl2 60 40

Cl3 42.85714286 60

Cl4 75 40

Cl5 42.85714286 60 Fuente: Determinaciones propias.

 Desde el punto en el que sólo falten lotes menores a 5000 Galones, se pueden usar los tanques grandes y viceversa.

(26)

26  Si en la secuencia de producción en un tanque, hay dos productos incompatibles seguidos, el tanque se debe lavar un tiempo definido según la incompatibilidad entre los productos.

 Esta incompatibilidad se define por las clases de acuerdo a la siguiente matriz presentada en la tabla 6:

Tabla 6: matriz de incompatibilidad entre los diferentes tipos de lubricantes de la planta de lubricantes.

Matriz de incompatibilidad

Cl1 Cl2 Cl3 Cl4 Cl5

Cl1 0 30 0 60 30

Cl2 30 0 0 0 0

Cl3 60 60 0 0 60

Cl4 30 30 0 0 0

Cl5 30 30 0 0 0

Fuente: criterios internos de la planta de lubricantes.

 Cada lote se mezcla en un solo tanque

 La planta trabaja de 6:00 am a 10:00 pm de lunes a domingo.  Siempre hay suficiente inventario de materia prima y aditivos.  Siempre hay suficiente inventario de envases.

 No hay demoras adicionales por fallas en las máquinas  Solo se pueden simular máximo 18 lotes a la vez.

6.2 Funcionamiento del modelo de simulación Establecimiento del estado inicial de la planta.

(27)

27  Fecha y hora en la que estará disponible el tanque a (Tipo A)

 Fecha y hora en la que estará disponible el tanque b (Tipo A)  Fecha y hora en la que estará disponible el tanque c (Tipo B)  Fecha y hora en la que estará disponible el tanque d (Tipo B)  Fecha y hora en la que estará disponible máquina 6X1  Fecha y hora en la que estará disponible máquina 55 G  Fecha y hora en la que estará disponible máquina 5 G

 Fecha y hora en la que estarán disponibles cada uno de los tanques de servicio. 6.2.1 Ingreso de órdenes y mezcla de lotes

El ingreso de órdenes se hace, asignando un orden específico de los 18 lotes que se pueden simular. Cada lote tiene los siguientes atributos: Clase del producto, tamaño del lote, fecha de entrega, cantidad en stock, tanque de servicio en el que se encuentra el stock, y tipo den envase.

El primer paso es revisar en qué tipo de tanque (Tipo A o Tipo B) se debe hacer la mezcla según el tamaño del lote. Luego, al saber el tipo de tanque se debe revisar cuando estará un tanque de este tipo disponible y asignar esa fecha y hora como la hora de comienzo de mezcla. Si el lote previo en el tanque era de una clase incompatible con el lote presente, se suma el tiempo de lavado según la matriz ce compatibilidad.

Luego se calcula el tiempo que se demora el lote completo en mezclarse, según cuantas veces deba realizarse la mezcla en el tanque, por ejemplo si el lote es de 4500 galones, y se debe mezclar en un tanque tipo A, se hace primero una mezcla de 2500 Galones y luego una de 2000 Galones. Este tiempo se calcula teniendo en cuenta el tiempo de llenado, tiempo de mezcla, tiempo de laboratorio y tiempo de vaciado.

Como ya se explicó en los supuestos del modelo, el tiempo de llenado depende de la clase del producto, su tasa de llenado y el tamaño del lote, sin embargo se tarda mínimo una hora y media en llenarse. El tiempo de mezcla es siempre de 30 minutos, sin importar el tamaño del lote. El tiempo en el laboratorio depende de la clase del producto, y el tiempo

(28)

28 de vaciado depende del tamaño del lote. Todos estos tiempos se suman a la fecha y hora en la que se comenzó la mezcla.

Al tener la fecha y hora en la que se finaliza la mezcla, se descarga el producto en uno de los tanques de servicio. Si el lote es menor de 2500 Galones se vacía en uno de los primeros 4 tanques de servicio, si es menor a 4500 Galones se descarga en uno de los siguientes 5 y si es mayor que 4500 se descarga en uno de los 3 tanques de servicio restantes. Si no hay tanques de servicio disponibles en ese momento, el tanque de mezcla es descargado cuando se libere el siguiente tanque de servicio que el lote pueda usar, por consiguiente puede que se presenten tiempos muertos en espera de un tanque de servicio.

6.2.2 Envasado de lotes

Este proceso comienza con el tiempo máximo entre la fecha y hora en el que la mezcla esta lista en los tanques de servicio y la fecha y hora en la que la máquina de envasado está disponible. Dependiendo del tipo de envase es utiliza una de las cuatro máquinas de envasado y según su tasa de producción, se calcula el tiempo que toma todo el lote en envasarse.

Si se está usando la máquina 6X1 se debe tener en cuenta que tipo de envase se estaba haciendo antes, y si es diferente al presente, se suma un tiempo de 60 minutos debido al cambio de perfiles.

7 Validación del Modelo

El proceso de validación se realizó en dos fases: cualitativa y cuantitativa. En la primera fase se hizo énfasis en el consenso y aceptación de supuestos del modelo. En la segunda fase se seleccionó un indicador que se podía calcular a partir de los datos suministrados por la planta de producción de lubricantes.

(29)

29 7.1 Validación cualitativa

La validación cualitativa del modelo se realizó con ayuda del ingeniero de producción de lubricantes de la planta, el señor Oliver Pinto y Paul Torres, profesional de producción. En una reunión se expusieron, los supuestos y el funcionamiento lógico del modelo de simulación, llegando a ciertas modificaciones referentes a la cantidad de clases de lubricantes que manejan para planear la producción, y el uso asertivo de los tanques de servicio en la simulación. Se realizaron los ajustes correspondientes y las personas encargadas de aprobar la validación reconocieron que el modelo reproducía fielmente los procesos y políticas que emplea la planta de producción de lubricantes.

7.2 Validación Cuantitativa

Esta validación se realizó tomando como indicador la tasa de producción de mezcla de galones por minuto de cada una de las clases de lubricantes. En los siguientes gráficos se puede ver la comparación de los intervalos de confianza para la tasa de producción entre la simulación manual en MS Excel y los datos históricos de la planta. Por otro lado se realizó un análisis de diferencia de medias entre el promedio de la tasa de producción para cada clase de lubricante aportada por la planta y la arrojada por el modelo de simulación manual.

Para ello se simuló manualmente el orden de producción usado en el mes de marzo del año 2015 en la planta de lubricantes. Y se usaron esos mismos datos para compararlos con los arrojados por el modelo se simulación manual.

Como el objetivo de esta simulación es principalmente hacer parte de un algoritmo, no es necesario que represente la realidad completamente, sino que sea una representación de hechos ideales, por lo tanto es importante aclarar que se omitieron de los datos tomados los tiempos de parada por errores atípicos como se menciona en los supuestos, y se realizó la comparación con los datos de los procesos que ocurrieron de forma normal y sin paradas atípicas.

(30)

30 Se calculó tanto para la simulación manual, como para los datos proporcionados por la planta, la tasa de mezcla de cada lote según el tamaño y el tiempo de mezcla. La tasa de envasado de cada lote según su tamaño, tiempo de envasado y la tasa de producción total según el tiempo que el lote estuvo en producción. De esta forma se obtuvieron los promedios correspondientes para las cinco diferentes clases de lubricantes y se realizó la comparación de diferencia de medias como se muestra a continuación

Estadístico usado parámetro t dado por la siguiente fórmula: (Canavos, 1988, pág. 234)

(1) Con este estimador se realiza la correspondiente comparación de medias y disponer de sus intervalos de confianza para variados cálculos, las pruebas para cada una de las 5 clases de lubricantes se encuentran en las tablas 7, 8, 9, 10 y 11.

Tabla 7: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante tipo Motor.

Ho: µ

Planta -

µ

Simulación = 0

Clase 1 Estadístico t student Acepta la hipótesis nula

Tasa Mezcla 0.28378888 si

Tasa Total -0.18450077 si

t estadístico prueba 95% confianza 1.70561792 Fuente: cálculos propios.

Tabla 8: resultados de comparación de medidas y las pruebas del estadístico t para lubricante para transmisiones.

Ho: µ

Planta -

µ

Simulación = 0

Clase 2 Estadístico t

student

Acepta la hipótesis nula

(31)

31

Tasa Mezcla 0.348248 si

Tasa Total -0.17644272 si

t estadístico prueba 95% confianza

1.72471824

Fuente: cálculos propios.

Tabla 9: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante hidráulico.

Ho: µ

Planta -

µ

Simulación = 0

Clase 3 Estadístico t

student

acepta la hipótesis nula

Tasa Mezcla 0.16357888 Si

Tasa Total -0.00421563 Si

t estadístico prueba 95% confianza

1.81246112

Fuente: cálculos propios.

Tabla 10: resultados de comparación de medidas y las pruebas del estadístico t para lubricante coloreado.

Ho: µ

Planta -

µ

Simulación = 0

Clase 4 Estadístico t

student

Acepta la hipótesis nula

Tasa Mezcla 0.05178947 si

Tasa Total 0.4347247 si

t estadístico prueba 95% confianza

1.94318028

Fuente: cálculos propios.

Tabla 11: Resultados de comparación de medidas y las pruebas del estadístico t para lubricante tipo engranajes.

(32)

32

Clase 5 Estadístico t

student

Acepta la hipótesis nula

Tasa Mezcla 0.43474995 Si

Tasa Total 0.03011655 Si

t estadístico prueba 95% confianza

1.85954804

Fuente: cálculos propios.

Cálculo de intervalos de confianza para diferencia de medias

El cálculo de los intervalos de confianza empleados en el proceso de validación, se desarrolló asumiendo que los datos correspondientes a las tasas de producción de mezcla para cada Lote de producto se distribuyen de acuerdo a la distribución Normal (0.1) de probabilidad como se muestra en la siguiente fórmula: (Canavos, 1988, pág. 271)

(𝑋̅̅̅ − 𝑋1 ̅̅̅ − 𝑡2 𝛼 2𝑆𝑝√

1

𝑛1+

1

𝑛2 , 𝑋̅̅̅ − 𝑋1 ̅̅̅ + 𝑡2 𝛼2𝑆𝑝√ 1

𝑛1+

1

𝑛2 ) (2)

Donde 𝑆𝑝 es un estimador combinado de las desviaciones típico de la muestra, 𝑡𝛼/2 es el cuantil empleando un nivel de confianza del 95 por ciento y 𝑛 es el tamaño de la muestra. Con esta fórmula se procede entonces a determinar intervalos de confianza de cada uno de las diferencias de medias de las variables de interés para la simulación. Estos resultados se ilustran en la figura 5.

Fig. 5. Comparación de intervalos de confianza para las diferencia de medias de las tasas de producción de la mezcla

(33)

33 Fuente: Cálculos propios.

8 Escogencia de algoritmo genético más adecuado para este proyecto

Se probaron 5 tipos de algoritmos genéticos para escoger el más conveniente para este proyecto. Estos dependieron de 3 factores: la escogencia de los padres, la producción de los hijos y la escogencia de los muertos que serán remplazados con los nuevos individuos hijos.

8.1 Descripción de algoritmos genéticos estudiados:

Para utilizar un algoritmo óptimo se estudiaron varias opciones del mismo inicial para verificar cual era mejor para el problema en cuestión. La descripción de los mismos es la siguiente:

1. Opción intuitiva: Es la primera opción que se intentó el método propuesto en el artículo “ALGORITMO GENÉTICO MODIFICADO APLICADO AL PROBLEMA DE SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL – FLOW SHOP”,

 Escogencia de los Padres: se escogen a los dos mejores de la población. -8 -6 -4 -2 0 2 4 6 8 10 Tasa Mezclas Clase 1 Tasa Total Clase 1 Tasa Mezclas Clase 2 Tasa Total Clase 2 Tasa Mezclas Clase 3 Tasa Total Clase 3 Tasa Mezclas Clase 4 Tasa Total Clase 4 Tasa Mezclas Clase 5 Tasa Total Clase 5 Di fe re n ci a d e m ed ia s ta sa s G /mi n

Intervalo de confianza diferenncia de medias

µ Planta - µ Simulacion

(34)

34  Creación de los Hijos: Los padres al reproducirse intercambian siempre el mismo

grupo de genes.

 Escogencia de muertos: Los hijos remplazan a los dos peores de la Población 2. Asegurando Diversidad: Esta opción asegura que no se escojan los mismos padres

dos veces, casi asegurando la generación de individuos diferentes.  Escogencia de los Padres: se escogen a los dos mejores de la población.

 Creación de los Hijos: Los padres al reproducirse intercambian siempre el mismo grupo de genes, y la hija es un individuo aleatorio independiente de los padres.  Escogencia de muertos: los hijos remplazan a los padres

3. Buscando equilibrio en la diversidad: Esta opción pretende mantener la diversidad de la población sin perder de vista la búsqueda del óptimo.

 Escogencia de los Padres: se escogen aleatoriamente.

 Creación de los Hijos: Los padres al reproducirse intercambian siempre el mismo grupo de genes.

 Escogencia de muertos: Los hijos remplazan a los dos peores de la Población. 4. Buscando el óptimo: Esta opción pretende acercarse al óptimo.

 Escogencia de los Padres: se escogen a los dos mejores de la población.

 Creación de los Hijos: Los padres al reproducirse intercambian siempre el mismo grupo de genes.

 Escogencia de muertos: El hijo remplaza a la madre y la hija remplaza al peor de la población.

5. Buscando el óptimo y la diversidad: Esta opción pretende acercarse al óptimo, manteniéndolo como punto principal (busca soluciones alrededor de cada óptimo local que encuentre), y disminuye la posibilidad de caer en un óptimo local.

 Escogencia de los Padres: se escogen a los dos mejores de la población.

 Creación de los Hijos: Los padres al reproducirse intercambian un grupo de genes diferente en cada iteración y la hija es un individuo aleatorio.

(35)

35  Escogencia de muertos: El hijo remplaza a la madre y la hija remplaza al peor de la

población.

Se corrieron nueve réplicas para cada algoritmo y así evaluar su desempeño para escoger cual era el más adecuado para este proyecto. Los resultados de los mismos se presentan en la Hoja de Cálculo “Validación Cuantitativa del Modelo de Simulación“.

8.2 Definición del indicador

Se requieren indicadores que permitan analizar fácilmente la capacidad del algoritmo para buscar soluciones que sean diversas y se acerquen al óptimo, para ello se escoge el indicador que se quiere optimizar con el fin de comparar cada una de las soluciones que ofrece cada algoritmo y cual es mejor que las demás.

 Tardanza: este es el indicador se refiere a la diferencia de tiempo entre la fecha de entrega y la fecha de compromiso de cada lote.

8.3 Resultados de las pruebas

Cálculo de intervalos de confianza para el indicador de tardanza

Se asume que las tardanzas se distribuyen de manera Normal (0.1) y se obtiene el intervalo de confianza usando la siguiente formula: (Canavos, 1988, pág. 271)

(𝑋̅ − 𝑍𝛼/2 𝑆

√𝑛, 𝑋̅ + 𝑍𝛼/2 𝑆

√𝑛 ) (3)

Donde 𝑆 es la desviación típica de la muestra, 𝑍𝛼/2 es el cuantil empleando un nivel de confianza del 95 por ciento y 𝑛 es el tamaño de la muestra. Los resultados de esta corrida se presentan en la tabla 12:

Tabla 12: Resultados de los cálculos de intervalos de confianza en las etapas del algoritmo

Intervalo de confianza

(36)

36

Primero 10.03451069 0 10.03451069 10.03451069

Segundo 25.40280845 5.340200853 22.47485886 28.33075803

Tercero 10.64378105 0 10.64378105 10.64378105

Cuarto 9.996125419 0 9.996125419 9.996125419

Quinto 9.007288396 0.773074214 8.583423755 9.431153038 Fuente: cálculos propios.

En la figura 6 se pueden observar más claramente los resultados:

Fig. 6. Resultados del experimento de los cinco intentos del algoritmo genético.

Fuente: cálculos propios del algoritmo genético del problema propuesto.

9 Conclusiones para la escogencia del algoritmo

Luego de realizar los cálculos y evaluar cada una de las alternativas se pueden concluir las siguientes apreciaciones:

1. Opción intuitiva: Es la primera opción que se intentó basada en el artículo “ALGORITMO ENETICO MODIFICADO APLICADO AL PROBLEMA DE 8

13 18 23 28

Primero Segundo Tercero Cuarto Quinto

Tar

d

an

za

(fi

tn

e

ss)

Intento

Experimento cinco intentos de algoritmo

genético

(37)

37 SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL – FLOW SHOP” (Eliana Mirledy, 2006):

Este algoritmo llega rápidamente a una solución local y no presenta diversidad en sus soluciones. Esto se debe a que los padres siempre son los mismos y por consiguiente van a tener siempre los mismo hijos, si uno de los hijos es mejor que uno de los padres la iteración continuaría sin embargo cuando ninguno de los dos hijos es mejor que uno de los padres se llega a un óptimo local. Estando en este óptimo es muy difícil que encuentre otro mejor dependiendo solamente de la mutación.

2. Asegurando Diversidad: esta opción asegura que no se escojan los mismos padres dos veces, aumentando la generación de individuos diferentes.

Este es el peor algoritmo para este proyecto. Ya que no encuentra ni siquiera un óptimo loca, y saca de la población a los mejores individuos perdiendo todo rastro de buenas posibles soluciones.

3. Buscando equilibrio en la diversidad: Esta opción pretende mantener la diversidad de la población sin perder de vista la búsqueda del óptimo.

Este algoritmo no se acerca al óptimo, ya que es muy poco probable que de dos individuos aleatorios se cree un individuo que supere al mejor individuo de la población. Esta opción ni siquiera se acerca a un óptimo local, sino que se queda con la primera solución presentada sin ninguna mejora.

4. Buscando el óptimo: Esta opción pretende acercarse al óptimo

Esta solución llega a un óptimo local, sin embargo si encuentra una mejor solución que las anteriores tres. El óptimo local al que llega esta solución es cuando el hijo (1) que remplaza a la madre es el segundo mejor individuo de la población, este hijo (1) al ser el segundo mejor, se aparea con el papa en la siguiente iteración y vuelve a nacer un individuo idéntico al hijo (1). Ya que el hijo tiene principalmente las características del padre. Esta opción supera a las anteriores ya que siempre tiene en cuenta la mejor

(38)

38 solución que se ha encontrado para buscar otras mejores soluciones, pero no genera suficiente diversidad y se centra en un óptimo local.

5. Buscando el óptimo y la diversidad: Esta opción pretende acercarse al óptimo, manteniéndolo como punto principal (busca soluciones alrededor de cada óptimo local que encuentre), y disminuye la posibilidad de caer en un óptimo local.

Este es el mejor algoritmo y es el que se empleó en este proyecto. Es el algoritmo explicado en el siguiente inciso. Esta opción supera a las anteriores ya que siempre tiene en cuenta la mejor solución que se ha encontrado y a partir de ella busca otras mejores soluciones (otras soluciones alrededor del óptimo local) y además mantiene la diversidad variando la posición del cruce genético disminuyendo la posibilidad de crear individuos iguales.

10 Descripción de algoritmo genético empleado en este proyecto

El problema estudiado en este proyecto, es un problema de programación de operaciones en un ambiente Flow Shop en el cual deben ser procesadas n tareas por dos estaciones de trabajo. La primera cuenta con 4 tanques que trabajan en paralelo y se usan según la cantidad del producto a procesar, y la segunda cuenta con 4 máquinas en las que se envasan los productos en paralelo, según el tipo de envase de cada lote.

Este algoritmo pretende resolver problemas donde las cantidades de lotes a programar (tamaño del cromosoma) son de 7 lotes, 11 lotes y 18 lotes. Es decir que se puede escoger cualquiera de las tres opciones para correr el algoritmo.

El algoritmo se comenzó a construir a partir del artículo “ALGORITMO GENETICO MODIFICADO APLICADO AL PROBLEMA DE SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL – FLOW SHOP”, escrito por Eliana Mirledy, Yov Steven Restrepo y Mauricio Granada (Eliana Mirledy, 2006). En el que proponen una variación de una meta heurística denominada algoritmo genético modificado de Chu-Beasley cuyo objetivo era minimizar la duración total de la programación desde que comienza la primera tarea y

(39)

39 acaba la última. En este caso no se quiere minimizar el tiempo de procesamiento, si no la tardanza con la que se entrega cada lote de producción. Por lo que se realizan modificaciones al algoritmo anteriormente mencionado.

Las consideraciones usuales de un problema de programación de tareas Flow Shop son: 1) Cada máquina está disponible continuamente y sin interrupciones.

2) Cada máquina puede procesar una tarea por vez.

3) Cada tarea sólo puede ser procesada por una máquina cada vez.

4) Los tiempos de procesamiento de las tareas en las diferentes máquinas son determinados y fijos.

5) Los tiempos de preparación de las operaciones en las distintas máquinas están incluidos en los tiempos de procesamiento.

6) Las operaciones en las máquinas, una vez iniciadas no deben ser interrumpidas. Según la teoría que estudia la complejidad matemática, este problema es clasificado como NP- completo. Es decir que se tiene un problema de secuencia de permutación, que consiste en ordenar una lista de tareas y cada orden diferente puede tener resultado diferente. Usando el algoritmo genético modificado especialmente para este proyecto se logra evaluar una gran cantidad de soluciones que se aproximan a la solución óptima.

10.1 Metodología del Algoritmo

10.1.1 Se crea el primer cromosoma:

El primer cromosoma nace a partir de programar el orden de los lotes según su fecha de entrega. Esto se hace porque intuitivamente se puede decir que si se producen primero los lotes que deben ser entregados más tempranamente estos se finalizaran a tiempo. Como se quiere disminuir la tardanza en el tiempo de entrega de cada lote esto es un primer paso razonable. Sin embargo se debe tener en cuenta que al ser unos lotes son

(40)

40 más grandes que otros, y al haber tanques y máquinas en paralelo y posiblemente no ser unos productos compatibles con otros (generando tiempos muertos por limpieza de tanques), programar la producción teniendo en cuenta solamente el compromiso de entrega no es lo mejor. Por tal razón este primer cromosoma nos permite acercarnos a la solución óptima, y tener un buen punto de partida. Pero no se puede concluir que este sea la solución óptima.

La siguiente tabla (tabla 13) es la adaptación de los datos del problema en la forma en que se presenta la información genética. Este es un posible primer cromosoma:

Tabla 13: Propuesta de primer cromosoma del algoritmo, al problema propuesto

Lote Fin de Envase Fecha de

Compromiso

L5 06/03/2015 06:23 06/03/2015 06:23 L4 06/03/2015 15:15 06/03/2015 23:45 L11 06/03/2015 14:15 07/03/2015 00:41 L7 06/03/2015 19:02 07/03/2015 03:32 L8 06/03/2015 08:41 07/03/2015 08:11 L2 07/03/2015 16:45 07/03/2015 08:15 L1 07/03/2015 18:57 07/03/2015 10:27 L3 07/03/2015 19:18 07/03/2015 10:48 L9 07/03/2015 09:49 07/03/2015 18:19 L10 07/03/2015 12:02 07/03/2015 20:32 L6 08/03/2015 09:45 08/03/2015 01:15

(41)

41 10.1.2 Creación siguientes dos cromosomas con el algoritmo del óptimo local El segundo cromosoma que se crea es una modificación del primero. Como se puede ver en la tabla anterior, cada lote tiene una fecha de entrega y una fecha de compromiso, si la fecha de entrega es después de la de compromiso este lote se programa antes que el anterior, en la tabla 14 se puede ver un gen de un cromosoma en el cual el lote L2 se está entregando después de la fecha de compromiso. Para evitar esto, se aplica el algoritmo del optimo local y se obtendría el resultado mostrado en la tabla 15.

Tabla 14: Par de secuencias que no cumplen los tiempos de entrega

Lote Fin de Envase Fecha de Compromiso

L8 06/03/2015 08:41

07/03/2015 08:11 L2 07/03/2015

16:45

07/03/2015 08:15 Fuente: Cálculos propios.

El L2 se está entregando después de la fecha comprometida. Lo que hace esta parte de la iteración es programar el L2 antes que el L8.

Tabla 15: Ejemplo de aplicación del algoritmo de óptimo local luego de la primera iteración

Lote Fin de envase Fecha de compromiso

L2 07/03/2015

08:15

07/03/2015 08:15

(42)

42

17:11 08:11

Fuente: cálculos propios.

Como se puede ver, gracias a esta iteración se mejoró el indicador de tardanza. Sin embargo una gran serie de iteraciones como esta lleva rápidamente a un óptimo local y por consiguiente no es el mejor ni un muy buen algoritmo para resolver el problema. Pero se puede usar para mejorar diferentes soluciones, por tal razón este sub algoritmo se llamara algoritmo de óptimo local. El tercer cromosoma se genera de la misma forma pero a partir del segundo cromosoma creado.

10.1.3 Creación del resto de la población

El resto de la población se genera de forma aleatoria, son diferentes aleatorios con el objetivo de tener diversidad en los individuos de la población y poder explorar otras posibles soluciones que pueden ser muy diferentes a las que proponen los 3 primero individuos. Una población de 6 individuos puede ser la que se muestra en la tabla 16. Tabla 16: Creación de todos los individuos para esta población generada aleatoriamente

individuo 1

individuo 2

individuo 3

individuo 4

individuo 5

individuo 6

5 5 5 7 10 2

4 4 4 5 7 8

11 11 11 6 11 4

7 7 7 3 6 3

8 2 1 8 1 10

2 1 3 11 8 6

(43)

43

3 8 8 9 4 7

9 9 6 10 2 9

10 6 9 2 5 11

6 10 10 1 9 5

Fuente: estimaciones y cálculos propios.

Como se puede ver, los primeros 3 individuos se parecen, mientras los últimos 3 son bien diferentes.

10.1.4 Calculo de fitness

Cada individuo o cromosoma es un diferente orden de programación que se programa en la simulación manual desarrollada en Excel. Esta simulación calcula los tiempos en los que cada lote comienza a ser producido y en el que cada lote es finalizado y está listo para ser entregado al cliente. A partir de los datos de la simulación se calcula un indicador llamado fitness, el cual consiste en el valor absoluto de la diferencia entre la fecha de entrega del producto y la fecha de compromiso. Por consiguiente, cada lote tiene un fitness y la suma de todos nos da el indicador de fitness del individuo, en cual deseamos minimizar.

Por ejemplo, tenemos el siguiente individuo: L5 L4 L11 L7 L1 L3 L2 L8 L6 L9 L10

Al introducirlo en la simulación manual obtenemos los siguientes resultados mostrados en la tabla 17.

Tabla 17: Resultados de la simulación manual de MS Excel para el algoritmo

Lo te Hora comienz a mezcla Tan que

Hora fin

de Mezcla Comien zo envase tipo de env ase disponibi

lidad de

envase Enva se falta nte Envase Progra mado

fin de

envase

Tardanz

a Días

L5 06/03/ 2015

a 06/03/ 2015

06/03/ 2015

4 Suficient e

0 0 06/03/

2015 0

(44)

44

00:00 06:30 06:15 06:23

L4 06/03/ 2015 00:00

c 06/03/ 2015 08:30

06/03/ 2015 08:15

2 Falta -250 0 06/03/

2015 15:15 0.3541 6667 L1 1 06/03/ 2015 00:00

b 06/03/ 2015 06:30

06/03/ 2015 06:15

6 Suficient e

0 0 06/03/

2015 14:15

0.435

L7 06/03/ 2015 06:30

a 06/03/ 2015 14:00

06/03/ 2015 15:15

3 Suficient e

0 0 06/03/

2015 19:02

0.3541 6667

L1 06/03/ 2015 00:00

d 06/03/ 2015 23:30

06/03/ 2015 23:15

5 Falta

-220 0

0 07/03/

2015 10:27

0

L3 06/03/ 2015 06:30

b 06/03/ 2015 09:26

07/03/ 2015 10:27

5 Falta

-233 2

0 07/03/

2015 10:48

0

L2 06/03/ 2015 08:30

c 06/03/ 2015 17:00

06/03/ 2015 16:45

6 Suficient e

0 0 07/03/

2015 16:45

0.3541 6667

L8 06/03/ 2015 17:00

c 07/03/ 2015 01:30

07/03/ 2015 01:15

4 Suficient e

0 0 07/03/

2015 01:41

0.2708 3333

L6 06/03/ 2015 23:30

d 07/03/ 2015 08:00

07/03/ 2015 07:45

6 Suficient e

0 0 08/03/

2015 07:45

0.2708 3333

(45)

45 2015 01:30 2015 10:00 2015 09:45 226 0 2015 18:19 L1 0 06/03/ 2015 09:26

b 06/03/ 2015 13:36

07/03/ 2015 18:19

1 Suficient e

0 0 07/03/

2015 20:32 0 Fitnes total 2.0391

Fuente: cálculos propios a partir del algoritmo implementado en MS Excel.

Como se puede ver este individuo tiene un fitness de 2.0391.

Esto se hace para cada individuo de la población obteniéndose los resultados mostrados en la tabla 18.

Tabla 18: Resultados del fitness de la simulación manual de MS Excel para el algoritmo de cada uno de los individuos escogidos.

individuo 1

individuo 2 individuo 3 individuo 4 individuo 5 individuo 6

5 5 5 7 10 2

4 4 4 5 7 8

11 11 11 6 11 4

7 7 7 3 6 3

8 2 1 8 1 10

2 1 3 11 8 6

1 3 2 4 3 1

3 8 8 9 4 7

(46)

46

10 6 9 2 5 11

6 10 10 1 9 5

4.2475 2.03916667 3.53916667 5.75833333 5.62988889 5.09416667

Fuente: cálculos propios a partir del algoritmo implementado en MS Excel.

10.1.5 Encontrando a los Padres

Ya teniendo una población, se procede a seleccionar los mejores individuos, que en este caso son los que tienen un menor fitness y por consiguiente se encuentran mejor adaptados. Estos dos individuos son los que se seleccionan para reproducir. Llamaremos al mejor individuo de la población el padre, y al segundo mejor la madre. En el ejemplo, el padre seria el individuo 2 y la madre el individuo 1.

10.1.6 Reproducción

Esta es la parte más importante del algoritmo y se compone de diferentes pasos, y se divide en dos posibilidades que pueden suceder un porcentaje diferente de las veces.

10.1.6.1 Primer Posibilidad. Reproducción Se genera un hijo:

Para generar un hijo entre el padre y la madre, se debe hacer una combinación de genes esta se muestra gráficamente en la figura 7.

a) Primero se selecciona un grupo de genes que se encuentren juntos ya que no se quiere alterar mucho a los padres, como el fitness depende del orden de programación y es lógico mantener los que se deben entregar primero entre los primeros y los que se deben entregar de ultimo entre los últimos. Se intercambian bloques de genes que se encuentran juntos.

Referencias

Documento similar

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

(1886-1887) encajarían bien en una antología de textos históricos. Sólo que para él la literatura es la que debe influir en la historia y no a la inversa, pues la verdad litera- ria

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo