DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

104
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 2015

Transcript of DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

Page 1: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

2015

Page 2: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

2015

Page 3: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

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

Page 4: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

11.4.3.2 Pruebas de normalidad en el error para 18 lotes ......................................................... 68

Page 5: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

14. Bibliografía .................................................................................................................................. 81

Page 6: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 7: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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 sus resultados………………………………………………. 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

Page 8: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Tabla 36: Resultados del algoritmo por escenarios. ………………………………………………………………… 97

Page 9: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 10: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 11: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 12: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 13: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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 Materias Primas

Page 14: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 15: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

2.1.4 Comenzar secuencia de Mezclas

Page 16: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 17: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 18: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 19: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 20: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 21: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 22: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 23: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 24: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Pintas 3.17 6X1 0.428571429

Page 25: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

El tamaño máximo de cada lote que se puede programar es de 10000 Galones.

Page 26: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Primero se debe establecer los siguientes parámetros iniciales:

Page 27: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 28: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 29: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 30: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 31: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Ho: µ Planta - µ Simulación = 0

Page 32: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 33: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

TasaMezclasClase 1

TasaTotal

Clase 1

TasaMezclasClase 2

TasaTotal

Clase 2

TasaMezclasClase 3

TasaTotal

Clase 3

TasaMezclasClase 4

TasaTotal

Clase 4

TasaMezclasClase 5

TasaTotal

Clase 5

Dif

eren

cia

de

med

ias

tasa

s G

/min

Intervalo de confianza diferenncia de medias

µ Planta - µ Simulacion

Page 34: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 35: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Intentos Promedio desviación estándar límite inferior límite superior

Page 36: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Tard

anza

(fi

tne

ss)

Intento

Experimento cinco intentos de algoritmo genético

Page 37: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 38: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 39: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 40: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Fuente: cálculos propios.

Page 41: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

L8 06/03/2015 07/03/2015

Page 42: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

1 3 2 4 3 1

Page 43: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

Page 44: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

L9 07/03/ c 07/03/ 07/03/ 3 Falta - 0 07/03/ 0

Page 45: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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

9 9 6 10 2 9

Page 46: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

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.

Page 47: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

47

Para este primer paso se debe seleccionar el tamaño del grupo de genes que se

va a seleccionar y desde qué punto de partida se va hacer el cambio. Por cada

iteración el punto de partida va aumentando en uno, es decir que si este punto

es la posición 4 en este momento, en la siguiente iteración se comenzara del 5.

Y igue de esta manera hasta que el mismo no pueda aumentar más

(dependiendo del tamaño del gen y del cromosoma) y se vuelve al punto de

partida establecido al comienzo del algoritmo.

b) Luego se cambian estos dos grupos de genes de un individuo al otro.

c) Al cambiar los dos grupos de genes, los nuevos individuos pueden terminar con

anomalías, como números repetidos. Para asegurar que se mantenga la

información genética de la madre y el padre, estas anomalías se corrigen los

individuos manteniendo los genes transferidos intactos, por tal razón, se

eliminan los números que están repetidos en el cromosoma.

d) Los espacios vacíos se rellenan con los alelos faltantes del cromosoma y se

obtienen dos nuevos individuos, un hijo (parecido al papa) y una hija parecida a

la mama.

Page 48: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

48

Fig.7. Ejemplo de generación del hijo en la secuencia Tamaño del Gen:3.Punto de partida: 4

Fuente: desarrollo propio

Mutación de Hijos.

Para mutar al hijo se hace la iteración de búsqueda de óptimo local mencionada anteriormente,

para poder minimizar el fitness del hijo. Por otro lado la hija se cambia completamente y se

genera un individuo aleatorio para mantener la diversidad, sin embargo a este individuo

también se le aplica la iteración de búsqueda de óptimo local. En el ejemplo en desarrollo

los hijos serían los mostrados en la tabla 19.

Tabla 19: Determinación del hijo del proceso del algoritmo genético aplicado.

Hijo Hija

L5 11

Hijo Hija

5 5

4 4

11 11

7 7

1 2

3 1

2 3

8 8

9 6

6 9

10 10

Page 49: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

49

L4 2

L11 1

L7 3

L1 5

L2 7

L3 9

L8 4

L6 10

L9 8

L10 6

Fuente: cálculos y estimativos propios.

10.1.6.2 Segunda Posibilidad. Mutación del padre

En esta ocasión solo se usa la información del padre, y el hijo que se obtiene será una

mutación del padre. Esta mutación se hace de la siguiente manera:

1) Se seleccionan dos genes al azar del grupo de los primeros 5 genes. Estos dos

genes intercambian de puesto.

2) Se hace lo mismo con el grupo que va desde el tercer gen al octavo.

3) Y lo mismo con el grupo que va desde el quinto gen al décimo. Estas iteraciones se

hacen un total de 5 veces para aumentar la probabilidad de que el padre cambie

significativamente.

La razón por la que se hace en grupos de 5 genes seguidos es para que se mantenga el

orden, ya que no se quiere programar las órdenes que se deben entregar de primero de

último y viceversa. Además, se genera una hija de forma aleatoria. Para ilustrar este

Page 50: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

50

mecanismo se presenta el siguiente ejemplo. Teniendo un el padre sobre el que se va a

realizar el hijo. Un ejemplo de mutación se ve en la figura 8.

Fig.8. Modelo del padre a ser modificado y el hijo que se genera.

Fuente: Procedimiento y estimativos propios del algoritmo en estudio.

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

Luego de tener dos individuos nuevos, estos se deben introducir en la población de forma

correcta. La población debe mantener siempre el mismo número de individuos, por

consiguiente, se tienen que encontrar dos individuos para remplazarlos con los nuevos

individuos hijos. El primer individuo que se remplaza es la madre seleccionada

anteriormente. Esto se hace para evitar que se repita la misma escogencia de padres. Por

consiguiente en la posición de la madre va a ir ahora el hijo. Y la hija va a remplazar el

peor individuo de la población. El padre nunca será remplazado ya que él es la referencia

de lo más cercano que se habrá podido llegar al óptimo y a partir de él es que se buscan

diferentes soluciones.

La nueva población de individuos en el actual ejemplo seria la mostrada en la tabla 20.

Page 51: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

51

Tabla 20: Nueva población del ejemplo en desarrollo reemplazando los dos hijos

modificados a partir del padre.

Individuo 1 individuo

2

individuo

3(Hijo)

individuo

4(Hija)

individuo

5

individuo

6

5 5 5 11 10 2

4 4 7 2 7 8

11 11 11 1 11 4

7 7 4 3 6 3

8 2 3 5 1 10

2 1 8 7 8 6

1 3 2 9 3 1

3 8 1 4 4 7

9 9 9 10 2 9

10 6 6 8 5 11

6 10 10 6 9 5

Fuente: Cálculos propios

Ahora se vuelve al paso 4 y se repite este ciclo de iteraciones hasta que el operario lo

desee.

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

proyecto

El algoritmo genético usado, posee ciertos parámetros cuya escogencia puede determinar la

eficiencia de su funcionamiento. Para escoger los mejores valores para estos parámetros se realizó

un diseño de experimentos factorial, y para su análisis se usó el software Design Expert

versión 8.1.

Page 52: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

52

11.1 Variable respuesta

En el desarrollo del algoritmo, la optimización requiere una variable de revisión que permita

optimizar la escogencia del orden seleccionado. Como se mencionó anteriormente, la variable

respuesta escogida, es la tardanza o tiempo de diferencia entre el tiempo en el que está

programado entregar el pedido y el tiempo en el que es posible realmente realizar esta entrega.

Como ésta es la variable que se quiere optimizar por tanto es la que se escoge para evaluar el

algoritmo.

11.2 Parámetros

Para obtener el mayor provecho del algoritmo genético se identificaron los parámetros

cuantitativos con los que el algoritmo trabaja e inicia su funcionamiento. Estos parámetros

son independientes del problema a estudiar, es decir, no se relacionan con los parámetros

que de entrada debe programar el operario de la planta. Son parámetros con los que

funciona el algoritmo y cuya correcta programación puede significar mayor eficiencia.

Por tal razón se definieron dos niveles para cada parámetro dependiendo de la cantidad

de lotes que se quiera programar. Los parámetros escogidos fueron los siguientes:

1) Tamaño del gen conversor: este es el tamaño del gen que se va a trasladar de un

padre al otro.

2) Numero de iteraciones: Esta es la cantidad de veces que se reproducirán los dos

mejores individuos de la población, es decir, la cantidad de ciclos que se hacen en

el algoritmo.

3) Probabilidad de mutación: Esta es la probabilidad con la que puede pasar la

segunda posibilidad de reproducción (mutación del padre).

4) Tamaño de la población, es decir el número de individuos que se crean en la

población.

Page 53: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

53

11.3 Selección de Niveles para cada parámetro

Al tener tres opciones para correr el algoritmo, que dependen de la cantidad de lotes que

se quieran programar, se definieron diferentes niveles de parámetros para cada una de

estas opciones.

Los niveles fueron escogidos teniendo en cuenta los extremos:

I. Tamaño del gen conversor:

Nivel (-) = se escogió el menor tamaño posible para tener un gen conversor

Nivel (+) = se escogió el mayor tamaño posible para tener un gen conversor sin

generar errores o incongruencias en el algoritmo. (Que la posición de inicio pueda

variar más de una vez)

II. Numero de iteraciones:

Nivel (-) = dependiendo del tamaño del cromosoma (número de lotes) se pueden

encontrar diferentes cantidades de óptimos locales, en nivel negativo se define

con pocas iteraciones en las que se espera se encuentre un óptimo local

Nivel (+) = se definen varias iteraciones, lo que incurre en mayor tiempo, pero se

debe examinar si la diferencia entre el óptimo local encontrado al comienzo con la

encontrada al hacer al menos 3 veces más iteraciones, es significativa.

III. Probabilidad de mutación:

Nivel (-) = se escoge una baja probabilidad de mutación dándole las fuerza a la

estrategia de reproducción.

Nivel (+) = se escoge una alta probabilidad de mutación para comprobar si en este

caso a mayor mutación los cromosomas (ordenes de programación de lotes)

evolucionan y se puede llegar a una mejor solución.

IV. Tamaño de la población

Nivel (-) = se escoge el menor tamaño posible para crear la población (4), es decir

2 padres y dos individuos más que puedan ser remplazables.

Nivel (+) = Se aumenta la diversidad en la población escogiendo un tamaño 3 veces mayor

al menor posible.

Page 54: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

54

11.3.1 Niveles evaluados para programar 7 lotes

A partir de los criterios mencionados anteriormente se seleccionaron los siguientes niveles.

Tamaño del gen conversor:

Nivel (-) = 2

Nivel (+) = 5

Numero de iteraciones:

Nivel (-) = 7

Nivel (+) = 50

Probabilidad de mutación:

Nivel (-) = 0.2

Nivel (+) = 0.8

Tamaño de la población

Nivel (-) = 4

Nivel (+) = 12

11.3.2 Niveles evaluados para programar 11 lotes

A partir de los criterios mencionados anteriormente se seleccionaron los siguientes niveles.

Tamaño del gen conversor:

Nivel (-) = 2

Nivel (+) = 6

Numero de iteraciones:

Nivel (-) = 25

Nivel (+) = 75

Probabilidad de mutación:

Page 55: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

55

Nivel (-) = 0.2

Nivel (+) = 0.8

Tamaño de la población

Nivel (-) = 4

Nivel (+) = 12

11.3.3 Niveles evaluados para programar 18 lotes

A partir de los criterios mencionados anteriormente se seleccionaron los siguientes niveles.

Tamaño del gen conversor:

Nivel (-) = 2

Nivel (+) = 13

Numero de iteraciones:

Nivel (-) = 25

Nivel (+) = 75

Probabilidad de mutación:

Nivel (-) = 0.2

Nivel (+) = 0.8

Tamaño de la población

Nivel (-) = 4

Nivel (+) = 12

11.4 Desarrollo del experimento para escoger los parámetros adecuados

El experimento se desarrolló usando la herramienta MS Excel y código de programación de Visual Basic, y se realizaron cada uno de los ensayos de simulación. Para el desarrollo de este experimento, se establece en un diseño factorial completo con 48 corridas. Al tener definidos los niveles de cada parámetro, fue posible realizar tres replicas para cada una de las 16 posibles combinaciones de niveles. Luego de realizar los ensayos con la herramienta de VisualBasic se utilizó para el análisis de los datos del experimento se usó el software Design Expert versión 8.1.

Page 56: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

56

11.4.1 Experimento para 7 lotes

Con los parámetros seleccionados se desarrollaron las corridas de experimentos factoriales para el

caso en que se presenta un pedido de siete lotes en la producción de la planta. Los resultados de

este experimento se encuentran en la tabla 22.

Tabla 22. Reporte de cálculos para determinar los parámetros adecuados para la corrida.

Fuente: cálculos propios

Tamaño

Gen

Numero

iteraciones

Probabilidad

de mutación

Tamaño

población

Replica 1 Replica 2 Replica 3

2 7 20 4 6.633979907 6.801354907 6.691174352

5 7 20 4 6.806028519 6.732558611 6.685838704

2 50 20 4 6.557516944 6.645618796 6.552551667

5 50 20 4 6.655035463 6.556683611 6.525243796

2 7 80 4 6.52401463 6.553225278 6.556683611

5 7 80 4 6.685838704 6.967566852 6.654813241

2 50 80 4 6.556683611 6.556683611 6.525243796

5 50 80 4 6.5096975 6.556683611 6.543623426

2 7 20 12 6.557516944 6.575873426 6.555040093

5 7 20 12 6.544847963 6.675868796 6.541361852

2 50 20 12 6.534206759 6.62176 6.513257685

5 50 20 12 6.413378056 6.52401463 6.518299352

2 7 80 12 6.646961389 6.56056787 6.543623426

5 7 80 12 6.847695185 6.645618796 7.030604907

2 50 80 12 6.397021574 6.556683611 6.442586389

5 50 80 12 6.506986852 6.541361852 6.52401463

Page 57: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

57

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

En la tabla 23 se muestra el resumen de este experimento, después de haber introducido los datos

en el simulador manual de MS Excel y Visual Basic.

Tabla 23: salida de la corrida del software “Design Expert”.

Fuente: Salida de Design Expert.

Ahora es posible ver las siguientes gráficas en la figura 9 que ayudan a ver más claramente

las variables respuesta a cada nivel de cada factor para tener idea del efecto que produce

cada nivel.

Fig. 9. Gráficos ilustrativos de la corrida realizada por el software Design Expert.

Page 58: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

58

Fuente: Salida de distribución de alelos según parámetro del software Design Expert.

A partir de las anteriores gráficas es posible hacerse una idea del efecto que tiene cada

parámetro en los resultados del algoritmo. Por ejemplo, se puede decir que la tardanza es

menor cuando el tamaño de la población es 12, la probabilidad de mutación 20, el numero

iteraciones 50 y el tamaño del gene conversor 2.

11.4.1.2 Pruebas de normalidad en el error para 7 lotes

Al estudiar la normalidad en el error de los siete lotes se debe tener en cuenta, en primer lugar,

que la gráfica normal residual no es inusual, ya que se puede observar que los residuos se

comportan con respecto a lo esperado en torno a una línea recta. El segundo gráfico muestra que

no hay ningún patrón en los residual vs la corrida, por consiguiente los datos fueron tomados de

forma correcta, Las gráficas se presentan en la figura 9.

Fig. 10. Diagramas de dispersión del error

Fuente: Salida de informe del error de la corrida en estudio sobre software “Design Expert”

Page 59: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

59

11.4.1.3 ANOVA Análisis de Varianza para 7 lotes

Para complementar el análisis debe implementarse entonces el respectivo análisis de varianza. Al

generar las corridas en el software se obtiene el ANOVA presentado en la Tabla 24.

Tabla 24: Análisis de varianza (ANOVA) del ejemplo de estudio con el algoritmo genético.

Fuente: Salida del software Design Expert del análisis de varianza para el ejemplo.

Según el análisis ANOVA , los factores significativos para la escogencia correcta de parámetros son

el Tamaño del Gen y el número de Iteraciones. También es significativa la interacción entre estos

dos factores, lo que se puede deber a que el tamaño del gen ofrece más posibilidades de variación

pues al ser pequeño existe la posibilidad de que hallan más cambios en la posición del gen, lo cual

combinado con el número de iteraciones aumenta las diferentes combinaciones de genes

posibles. Para complementar el análisis se puede implementar la gráfica de Pareto con la figura

11 con el porcentaje de contribución del parámetro en la variabilidad del modelo, como se ilustra:

Page 60: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

60

Fig. 11. Diagrama de Pareto con la contribución de cada ´parámetro a la variabilidad del modelo

Fuente: salida del software Design Expert Al analizar los factores por separado y en búsqueda de los factores que mejoren la solución

disminuyendo la tardanza, se pude observar que, en las siguientes gráficas de la figura 12,

respecto al tamaño del gen, entre más grande sea, mayor será el valor de la tardanza, por

consiguiente, el tamaño del gen debe ser pequeño. Por otro lado el número de iteraciones es un

factor claramente significativo que demuestra que entre mayor sea éste número, menor será el

valor de la tardanza.

Fig. 12. Diagrama de peso e interacción entre parámetros.

Page 61: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

61

Fuente: Salida de módulo de del software Design Expert

En cuanto a la Interacción, es posible observar que si el tamaño del gen es muy grande y la

iteraciones pocas, se obtendrá una muy mala solución. Sin embargo, la cantidad de iteraciones es

el parámetro a tener más en cuenta, ya que, sí son bastantes, el tamaño del gen parece no afectar,

como se muestra en la figura.

11.4.1.4 Conclusiones para 7 lotes

En conclusión se puede decir que para programar 7 lotes con el algoritmo seleccionado los

mejores parámetros reportados por el simulador y que sería recomendable usar para mejorar el

desempeño del proceso son:

Tamaño del gen conversor: Nivel (-) = 2

Numero de iteraciones: Nivel (+) = 50

Probabilidad de mutación: Nivel (-) = 0.2

Tamaño de la población: Nivel (+) = 12

Lo cual significa que para este tamaño de lotes de programación, el gen conversor debe ser

pequeño, además, se deben hacer un número de iteraciones alto, tener una pequeña

probabilidad de mutación y un tamaño de la población grande para lograr un desempeño

mejorado de la tardanza la programación.

11.4.2 Experimento para 11 lotes

Las posibles combinaciones de niveles con sus respectivos resultados por replica se muestran en la

tabla 25.

Tabla 25: Posibles combinaciones de niveles y los siguientes resultados

Tamaño

Gen

Numero

iteraciones

Probabilidad

de mutación

Tamaño

población

Replica 1 Replica 2 Replica 3

2 25 20 4 9.648095926 9.149596389 10.1046975

6 25 20 4 9.112690556 8.550242222 8.753714444

Page 62: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

62

2 75 20 4 8.929422778 9.33427 9.776450556

6 75 20 4 8.930908889 9.404016667 8.694725

2 25 80 4 9.805714722 9.404016667 9.867305278

6 25 80 4 9.190683333 9.823704167 8.826061944

2 75 80 4 9.3214575 9.604065278 9.661072222

6 75 80 4 8.569558333 9.255735278 8.741478611

2 25 20 12 9.507221389 9.753718056 8.970956482

6 25 20 12 9.264426944 9.180811944 10.24625972

2 75 20 12 8.8256525 9.693015648 8.915804722

6 75 20 12 9.016305 9.762909444 9.125022593

2 25 80 12 9.085235278 9.961911481 9.625867222

6 25 80 12 9.344681296 9.332936944 9.855597963

2 75 80 12 8.553825556 9.150766667 8.914943611

6 75 80 12 9.614254074 8.966443889 8.993044445

Fuente: cálculos propios.

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

Se introdujeron los datos en el programa Designe Expert utilizado previamente, ejecutando las

respectivas corridas de simulación. Allí se genera el análisis estadístico de los mismos y se

presentan los diferentes indicadores y los respectivos gráficos, con los que se ilustra gráficamente

los resultados de la aplicación del algoritmo genético y cuyos resultados se presentan en la tabla

26.

Page 63: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

63

Tabla 26: Salida del programa Design Expert al experimento de 11 lotes de problema de estudio

Fuente: Salida del software Design Expert al problema simulado. Con estos resultados, es posible ahora se puede identificar el efecto que tiene el orden en

las variables respuesta según cada nivel de cada factor. Para ello, son ilustrativas las

gráficas de la figura 13, en las que se puede identificar el efecto que produce cada nivel.

Fig. 13. Gráficos ilustrativos de la corrida 11 lotes realizada por el software Design Expert

Fuente: Salida de distribución de alelos según parámetro del software Design Expert.

Page 64: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

64

A partir de las anteriores gráficas es posible hacerse una idea del efecto que tiene cada

parámetro en los resultados del algoritmo. Por ejemplo, se puede decir que la tardanza es

menor cuando el tamaño de la población es 4, la probabilidad de mutación 80, el numero

iteraciones 75 y el tamaño del gene conversor 2.

11.4.2.2 Pruebas de normalidad en el error para 11 lotes

Se procede entonces a realizar la respectiva prueba de normalidad para el error. Luego de la

corrida se encuentra en primer lugar, que la primera gráfica normal residual en la figura 14, no es

inusual, donde se observa que los residuos se correlacionan marcadamente linealmente con

respecto a lo esperado. El segundo gráfico en la figura 14 permite identifica que no hay ningún

problemas de heterocedasticidad, ya que no es visible una tendencia en su comportamiento.

Fig, 14. Salidas de prueba de normalidad a experimento de 11 lotes.

Fuente: Salida de módulo de Design Expert.

11.4.2.3 ANOVA Análisis de Varianza para 11 lotes

Posteriormente, se procede a realizar el análisis de varianza a l experimento. Según la corrida del

ANOVA ninguno de los factores escogidos es significativo, por consiguiente este modelo no explica

la varianza de la solución del algoritmo y no se puede concluir que algún factor es significativo. Los

resultados se presentan en la tabla 27.

Tabla 27:. Resultados del análisis de varianza al experimento para 11 lotes.

Page 65: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

65

Fuente: Salida de módulo de Design Expert.

A pesar de esta muestra de escasa correlación, es posible utilizar la graficas de Tardanza V.S

Parámetro, mostradas anteriormente para escoger los niveles adecuados para optimizar el orden

de los lotes.

11.4.2.4 Conclusiones para 11 lotes

Luego de realizar el diseño y la corrida del algoritmo para este experimento se pudo encontrar en

conclusión que para programar 11 lotes con el algoritmo seleccionado los parámetros escogidos

no son de gran importancia, sin embargo los que se recomendaría usar son:

Tamaño del gen conversor: Nivel (-) = 2

Numero de iteraciones: Nivel (+) = 75

Probabilidad de mutación: Nivel (-) = 0.2

Tamaño de la población: Nivel (+) = 4

Lo cual significa que para este tamaño de lotes de programación, el gen conversor debe ser

pequeño, se deben hacer un número de iteraciones alto, tener una pequeña probabilidad de

mutación y un tamaño de la población pequeño.

Page 66: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

66

11.4.3 Experimento para 18 lotes

Las posibles combinaciones de niveles con sus respectivos resultados por replica se muestran en la

tabla 28.

Tabla: 28: Posibles combinaciones de niveles y los siguientes resultados

Tamaño

Gen

Numero

iteraciones

Probabilidad

de mutación

Tamaño

población

Replica 1 Replica 2 Replica 3

2 25 20 4 17.30660171 17.26875726 16.05879045

13 25 20 4 17.14512696 17.56516476 15.21436463

2 75 20 4 16.62184319 17.87374337 15.82054806

13 75 20 4 13.93422968 17.43621185 15.07597025

2 25 80 4 14.89126385 13.74631671 17.5108748

13 25 80 4 17.61636703 18.21043271 19.34312354

2 75 80 4 14.9244481 15.18736846 16.71912298

13 75 80 4 17.19612459 16.57132167 16.94007887

2 25 20 12 17.7160898 19.18276865 17.0295631

13 25 20 12 18.95167187 19.30117212 19.17190829

2 75 20 12 15.95835342 15.95647631 15.04508294

13 75 20 12 18.43517074 16.66694505 17.76734024

2 25 80 12 17.60086103 14.81919702 17.51325321

13 25 80 12 17.11905279 17.81321938 17.59608448

2 75 80 12 17.05295718 17.03288639 14.77644733

13 75 80 12 16.4191937 17.34469971 15.94518074

Fuente: cálculos propios con el algoritmo.

Page 67: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

67

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

Luego de implementado el experimento para 18 lotes sobre la herramienta de simulación de MS

Excel, se realizan las diferentes corridas y se obtiene la tabla 29 con el resumen de este

experimento, a la cual se le aplica el análisis estadístico con ayuda de las herramientas de análisis

del programa Designe Expert.

Tabla 29: Salida de análisis de la corrida de simulación para el experimento de 18 lotes

Fuente: salida de módulo de “Design Expert”.

Con estos resultados, se analiza el peso de los factores sobre la variable de respuesta

como se presentan en los gráficos a continuación, con las gráficas en la figura 15 de la

tardanza v.s el factor.

. Fig. 15. Gráficos ilustrativos de la distribución de alelos de la corrida con18 lotes

Page 68: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

68

Fuente: salida de Módulo software Design Expert

A partir de las anteriores gráficas es posible hacerse una idea del efecto que tiene cada

parámetro en los resultados del algoritmo. Por ejemplo, se puede decir que la tardanza es

menor cuando el tamaño de la población es 4, la probabilidad de mutación 80, el numero

iteraciones 75 y el tamaño del gene conversor 2.

11.4.3.2 Pruebas de normalidad en el error para 18 lotes

Luego de la revisión del peso de los parámetros se continúa con el análisis de independencia del

error, indicador clave de la confiabilidad de las predicciones y que, para este tamaño de lote es

importante pues, en estos tamaños puede haber riesgo de aparición de sesgos. Nuevamente se

utilizan las herramientas de análisis del l software “Design Expert” que entregó los resultados

ilustrados en la figura 16.

Page 69: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

69

Fig. 16. Gráficos de salida de análisis del error en las corridas del experimento con 18 lotes.

Fuente: salida de módulo de “Expert Design”

Al analizar las gráficas del error se puede observar, en primer lugar, que la gráfica normal residual

no es inusual, ya que podemos observar que los residuos se comportan con respecto a lo esperado

en torno a una línea recta. El segundo grafico muestra que no hay ningún patrón en los residual vs

la corrida, por consiguiente los datos fueron tomados de una forma correcta y no hay sesgos o

dependencias no identificadas que puedan invalidar las mediciones.

11.4.3.3 ANOVA Análisis de Varianza para 18 lotes

Para terminar la evaluación de este experimento, se realiza el análisis de varianza. Según el

ANOVA presentado en la tabla 30, ninguno de los factores escogidos es significativo, por

consiguiente este modelo no explica la varianza de la solución del algoritmo y no se puede concluir

que algún factor es significativo.

Page 70: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

70

Tabla: 30. Resultados de ANOVA del experimento de 18 lotes.

Fuente: salida de módulo de software de simulación “Expert Design”.

Este análisis se complementa con el gráfico de Pareto en la figura 17, que se presenta a

continuación, en el cual es posible observar, el porcentaje de contribución del parámetro en la

variabilidad del modelo. Su análisis permite plantear que es muy importante tener en cuenta la

interacción de los factores ACD, en la escogencia de parámetros, pues son los que más afectan la

variabilidad del experimento y pudiendo con ella, afectar la tardanza esperada.

Page 71: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

71

Fig. 17. Gráfico de Pareto de la variabilidad del modelo por parámetro

Fuente: salida de módulo del software Design Expert.

Al analizar los factores por separado y en la búsqueda de los factores que mejoren la solución

disminuyendo la tardanza, se pude apreciar en las gráficas de la figura 18 que respecto al tamaño

del gen entre más grande sea, mayor será el valor de la tardanza, por consiguiente el tamaño del

gen debe ser pequeño. Por otro lado el número de iteraciones es un factor claramente

significativo que demuestra que entre mayor sea este número, menor será el valor de la tardanza.

Fig. 18: Estudio de peso sobre la variable de respuesta factor por factor.

Fuente: salida de módulo de software de diseño “Expert Design”.

En el siguiente grafico en la figura 19 se puede observar que en cuanto a la Interacción, se obtiene

la mejor solución (15.49), con una probabilidad de mutación alta y el tamaño de la población y del

gen pequeño. Es importante tenerlos en cuenta junto con el número de iteraciones. Con estos

parámetros optimizados es posible implementar la realización de la orden de producción logrando

el mínimo en el indicador de tardanza. Finalmente es posible observar que se logra una respuesta

Page 72: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

72

diferencial al aplicar el algoritmo, que puede significar importantes ahorros de tiempo y

disminución de las quejas de los clientes por demoras en la entrega de sus órdenes.

Fig. 19. Ilustración cruzada de tres factores respecto a la tardanza

Fuente: .Salida de módulo de programa Design Expert

11.4.3.4 Conclusiones y Recomendaciones para 18 lotes

Integrando los diferentes resultados de este experimento, se puede decir que para programar 18

lotes con el algoritmo seleccionado, los parámetros escogidos no tienen un peso significativo, por

lo que el orden de programación no muestra tener gran importancia, sin embargo, los que se

recomendaría usar serían:

Tamaño del gen conversor: Nivel (-) = 2

Numero de iteraciones: Nivel (+) = 75

Probabilidad de mutación:Nivel (-) = 0.8

Tamaño de la población:Nivel (+) = 4

Lo cual significa que para este tamaño de lotes de programación, el gen conversor debe ser

pequeño, se deben hacer un número de iteraciones alto, tener una alta probabilidad de mutación

y un tamaño de la población pequeño.

Page 73: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

73

12 Comparación entre la programación lotes de producción con programaciones diarias

y la usada con el algoritmo

Como un ejercicio de contraste se plantea la posibilidad de comparar los resultados de las

simulaciones con los tiempos y la tardanza que se da en condiciones comparables en la

planta de producción. Se inicia la consecución de tales datos y se identifica que en los

datos proporcionados por la planta se podía identificar la tardanza de cada lote de

producción medida en días de tardanza, sin embargo, esta tardanza no solo se debía al

programación de lotes, sino a los tiempos muertos que se debían a horas de almuerzo y

descanso, paradas de planta por algún error de la maquinaria o incumplimiento de

entrega de materias primas, condiciones que están por dentro de las restricciones que se

habían asumido para la elaboración del modelo simulación.

Según los estudios de la planta, estos tiempos muertos se han estimado en el 30% del

tiempo total de funcionamiento de la planta. Con el fin de comparar la eficiencia del

algoritmo con la de hoy en día, fue necesario usar los datos simulados en Excel y sumarles

un tiempo aleatorio en cada proceso, correspondiente a un tiempo muerto. Este tiempo

muerto se calculaba de la siguiente forma:

𝑇𝑖𝑒𝑚𝑝𝑜 𝑀𝑢𝑒𝑟𝑡𝑜 = 𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑃𝑟𝑜𝑐𝑒𝑠𝑜 ∗ (1 + 30% ∗ 𝑎𝑙𝑒𝑎𝑡𝑜𝑟𝑖𝑜()) (1)

Siendo aleatorio() un numero aleatorio que sigue una distribución uniforme entre 0 y 1

con apoyo de la función de MS Excel. Al sumarle este tiempo muerto a los datos arrojados

por el modelo, es posible comparar los datos reales con los datos simulados arrojados por

el algoritmo y contrastar la respuesta del mismo respecto a las situaciones reales e

identificar el potencial del mismo en aportar significativamente en la mejora en la

condición de tardanza que perjudica el desempeño de la empresa.

12.1 Escenarios de comparación

Los escenarios de Comparación usados corresponden al mes de febrero y las dos primeras

semanas de Marzo.( ANEXO A) Cada Escenario posee los, 7, 11 o 18 lotes que se

programaron y se usaron para correr el algoritmo. Cada Lote posee los atributos de,

Page 74: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

74

Nombre de producto, Demanda en envases, Tipo de envase, Fecha de entrega, tiempo de

mezcla (solo en el tanque) y la familia del producto.

A partir de esos datos los operarios de la planta realizaron la programación del orden de

producción de manera manual y obtuvieron ciertas tardanzas; Por otro lado, se corrieron

estos escenarios con el algoritmo creado para este proyecto y se obtuvieron otros órdenes

de programación con otras tardanzas. Estos dos resultados se comparan para saber si el

resultado del algoritmo es mejor que el resultado real.

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

lubricantes.

Las decisiones de programación del trabajo en estos días mencionados se recopilaron en la planta

y fueron reportados al investigador. Tales valores se presentan en el Anexo B. A partir de estos

registros se encontraron los siguientes resultados respecto al indicador de tardanza:

Escenario 1: tuvo 3 días de tardanza

Escenario 2: tuvo 3 días de tardanza

Escenario 3: tuvo 14 días de tardanza

Escenario 4: tuvo 10 días de tardanza

Escenario 5: tuvo 8 días de tardanza

Escenario 6: tuvo 8 días de tardanza

Escenario 7: tuvo 2 días de tardanza

Escenario 8: tuvo 7 días de tardanza

Estos reportes de la labor real en planta indican varios días de tardanza en cada escenario. El reto

del algoritmo es superarlo.

12.3 Programación usando algoritmo para cada Escenario

Se presentar los resultados de las simulaciones en el Anexo C. A partir de estos cálculos se

encontraron los siguientes resultados respecto al indicador de tardanza:

Escenario 1: tuvo 0 días de tardanza

Escenario 2: tuvo 2 días de tardanza

Escenario 3: tuvo 3 días de tardanza

Page 75: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

75

Escenario 4: tuvo 1 días de tardanza

Escenario 5: tuvo 5 días de tardanza

Escenario 6: tuvo 3 días de tardanza

Escenario 7: tuvo 1 días de tardanza

Escenario 8: tuvo 0 días de tardanza

Se observa entonces una economía en tiempos y en tardanza. Contrastando las dos formas de

programación, se encuentra que mientras para la acción regular de la empresa se presentaron 55

días de tardanza acumulados, con la nueva forma de programar los lotes se obtuvieron 15, lo cual

implica una importante economía en tiempo de tardanza, un gran potencial para mejorar la

respuesta de sistema a los tiempos de atraso.

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

Al tener los 8 escenarios se tienen un total de 108 datos. Para poder estudiarlos, se asume, por el

teorema del límite central (Canavos, 1988, pág. 120), que tales siguen una distribución normal.

Los parámetros estadísticos de cada una de las opciones de programación se muestran en la tabla

31 y la 32.

Tabla 31: Parámetros del estadístico de tardanza de la muestra de datos de la muestra del

ejercicio de planificación de la Planta de lubricantes.

Manual

Media 0.5

S 0.84825682

Numero de Datos 108

Fuente: Registros Planta

De acuerdo a esta tabla, el promedio de los lotes se entregan con 0.5 días de tardanza con una

desviación estándar de 0.84 días. Este resultado no es el mejor ya que la estrategia de

programación de lotes implementada hoy en día no tiene en cuenta la cantidad de factores

necesarios para tomar la mejor decisión de secuencia miento de tareas.

Page 76: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

76

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

Algoritmo

Media 0.1

S 0.34744282

Contar 108

Fuente: Cálculos con simulador y herramienta de Visual Basic

Según estos resultados, el promedio de los lotes, usando el algoritmo se entregaría con 0.1 días de

tardanza con una desviación estándar de 0.34 días. A simple vista se puede ver que es

significativamente menor el resultado del algoritmo comparado con el resultado de la

programación manual realizada por la planta hoy en día.

Pero para validar este resultado se procede a hacer un test estadístico de diferencia de medias, de

acuerdo al siguiente estadístico (Canavos, 1988, pág. 303):

𝐻𝑜: 𝜇𝑚𝑎𝑛𝑢𝑎𝑙 − 𝜇𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑜 = 0

Utilizando los parámetros poblacionales y aplicando los procedimientos estadísticos característicos

de esta determinación se realizaron los cálculos para la diferencia de media y el test de contraste

para probar o descartar la hipótesis, obteniéndose los resultados mostrados en la tabla 33:

Tabla 33: Resultados de la prueba de inferencia estadística respecto a la diferencia de medias.

µ Normal - µ Algoritmo

Estadístico t student Acepta la Hipótesis Nula

Estadístico 4.1989651 No

t estadístico prueba 95% confianza 1.65200516

Fuente: cálculos propios.

Page 77: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

77

Luego de aplicada, se encuentra que el estadístico está muy por encima del valor límite, por lo cual

no se acepta la hipótesis nula, indicando que hay una diferencia en las medias son significativa.

Ahora bien como la Media de la tardanza usando el algoritmo es menor a la media de la tardanza

programando manualmente por EDD, se puede concluir que es significativamente mejor ordenar

la programación usando el algoritmo y, con ayuda de este procedimiento, se puede tener un 80%

de mejora en los tiempos de tardanza.

Page 78: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

78

13 Conclusiones

Luego de realizar la revisión, el análisis y la implementación de los cálculos de simulación e

implementación de un algoritmo genético para mejorar la tardanza en los tiempos de entrega para

los productos de lubricantes de la planta de lubricantes, se encontró y se pudo comprobar los

siguientes resultados y conclusiones:

1. La forma de programar los lotes de producción en la planta de lubricantes, se hace de

manera manual obteniendo buenos resultados, sin embargo, estos buenos resultados no

son suficientes para los niveles de servicio que requieren sus clientes, principalmente

Shell. Esto se debe a que al hacer la programación de producción de forma manual es

muy difícil tener en cuenta todos los factores que influyen en los procesos que sigue cada

lote de producción, por consiguiente no se hace de la forma más eficiente. Se debe tener

en cuenta que en la planta puede surgir varios tiempos muertos debidos a parados de

máquinas por mantenimiento, o malfuncionamiento, estos son factores que hacen que se

deba reprogramar la producción de los lubricantes de forma eficiente, manteniendo los

tiempos de entrega. Con estimativos, el encargado realiza nuevamente la programación

de forma manual de acuerdo a su intuición y experiencia, sin incluir un análisis de los

factores que puedan mejorar la producción, o por lo menos, que puedan prever con un

nivel de certeza las tardanzas esperadas.

2. Se debe tener en cuenta que es necesario programar la mayor cantidad de lotes posible.

Es muy fácil hacer la programación de cuatro lotes, pero al programar solamente estos

cuatro no se está teniendo en cuenta un posible quinto o sexto lote que requiera un

tiempo de producción más largo y deba comenzarse a producir antes de alguno de esos

cuatro lotes. También existe la posibilidad de que llegue una orden de producción de un

cliente estrella como el Cerrejón, y se deba incluir su programación, arruinando el plan de

producción planeado en ese momento, obligando a reprogramar la producción de forma

eficiente nuevamente.

3. Hoy en día la planta no cuenta con ciertas herramientas de la ingeniería industrial, que

pueden ayudar a planear la producción de forma eficiente, teniendo en cuenta los

principales factores que influyen en la producción de lubricantes, y con las que se puede

Page 79: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

79

planear la producción de varios lotes a la vez. Para el caso del proyecto actual, se

identificó que una buena alternativa es la metaheuristica del algoritmo genético, que es

una muy buena opción para mejorar la eficiencia en la programación del orden de

producción de los lotes, ya que se puede combinar este algoritmo con una simulación

manual de la planta y obtener una aproximación de los tiempos de manera instantánea

para diferentes escenarios de secuenciamiento de lotes.

4. Al estudiar diferentes alternativas de algoritmo, se encontró el mejor algoritmo genético

para optimizar la tardanza en la entrega de lotes de la planta consiste en escoger los dos

mejores individuos de la población como padres, reproducirlos mezclando diferentes

grupos de genes por cada iteración, hacer que el hijo remplace a la mamá en la población

y la hija remplace al peor individuo de la población, teniendo en cuenta una posibilidad de

mutación que consiste en variar levemente el orden de los genes del padre para obtener

al hijo. Estos cálculos se documentan en la hoja de cálculo : “Datos experimento tipos de

AG” del libro “Herramienta de programación de lotes por algoritmos genéticos” anexo al

documento.

5. Fue posible construir una aplicación sobre hoja de cálculo, 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 en la hoja ”Secuenciamiento de Lotes” del

libro “Herramienta de programación de lotes por algoritmos genéticos” (anexo al

documento). Con ella fue posible encontrar un buen secuenciamiento de tareas que

se desempeña mejor que a la metodología desarrollada por la empresa para

realizar la programación de producción, como demostró la prueba estadística de

diferencia de medias.

6. Fue posible implementar una hoja de simulación con apoyo de herramientas de

Visual Basic y la hoja de cálculo “Secuenciamiento de Lotes” del libro

“Herramienta de programación de lotes por algoritmos genéticos” (anexo al

documento) para correr las diferentes réplicas necesarias para programar los

experimentos factoriales en los niveles de los parámetros sobre el algoritmo que

se desempeñó como el mejor en la comparación hecha previamente.

Page 80: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

80

7. Con apoyo de esta herramienta fue posible determinar que para programar 7 lotes

consecutivos se debe programar el algoritmo con los siguientes parámetros. Un tamaño

del gen conversor igual a 2, correr un total de 50 iteraciones, con una probabilidad

de mutación igual al 20% y un tamaño de la población igual a 12.

Para programar 11 lotes consecutivos se debe programar el algoritmo con los siguientes

parámetros. Un tamaño del gen conversor igual a 2, correr un total de 75

iteraciones, con una probabilidad de mutación igual al 20% y un tamaño de la

población igual a 4.

Y para programar 18 lotes consecutivos se debe programar el algoritmo con los siguientes

parámetros. Un tamaño del gen conversor igual a 2, correr un total de 75

iteraciones, con una probabilidad de mutación igual al 80% y un tamaño de la

población igual a 4.

8. El uso de este algoritmo ayudaría a mejorar en un 80% las tardanzas producidas en la

planta reduciéndolas de un promedio de 0.5 días de tardanza a 0.1 días. Hacer la

programación de forma más rápida y mejor sustentada, logrando basarse en los posibles

escenarios de producción que se presenten en la planta a cualquier hora del día. Y ampliar

la programación

Finalmente, luego de observar los resultados del trabajo de grado se plantea a la empresa las

siguientes recomendaciones

1. Implementar el uso de la herramienta de algoritmo genético para programar sus lotes,

dado las bondades que demostró en términos de disminución de la tardanza.

2. Apoyar el desarrollo de la herramienta para que contemple las limitaciones y restricciones

que se pusieron al modelo.

3. Tomar los datos de tiempos muertos y demás para terminar de desarrollar el modelo y

darle pleno uso en la empresa y este esfuerzo de universidad y empresa privada de frutos,

en la mejora del desempeño de la planta y la mejora de calidad y servicio al cliente.

Page 81: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

81

14. Bibliografía

Canavos, G. C. (1988). Probabilidad y Estadística: Aplicaciones y métodos. México: Mc Graw Hill.

Eliana Mirledy, Y. S. (2006). ALGORITMO GENETICO MODIFICADO APLICADO AL PROBLEMA DE

SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL – FLOW SHOP.

Scientia et Technica, Mayo.

ELIANA TORO OCAMPO, Y. R. (2006). ALGORITMO GENETICO MODIFICADO APLICADO AL

PROBLEMA DE SECUENCIAMIENTO DE TAREAS EN SISTEMAS DE PRODUCCION LINEAL –

FLOW SHOP. Pereira: Scintia et Technica Año XII.

Microsoft. (2010). Hoja de Cálculo MS EXCEL. Nueva York, USA.

Montgomery, D. C. (2012). Design and Analysis of Experiments.

Pei-Chann Chang, W. -H.-J. (2010). Dynamic diversity control in genetic algorithm for mining

unsearched solution space in TSP problems. Taiwan, ROC: Expert Systems with Applications

Science direct EL SEVIER.

Pérez Martínez, A. V., & De los Ríos Gartner, S. (2009). Desarrollo de un modelo de simulación para

evaluar la capacidad de producción de la planta de lubricantes de Petrobrás. Bogotá:

Universidad de los Andes.

Plossi, G. w. (1987). Control de la producción y de inventarios. México D.F.: Prentice Hall.

Page 82: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

82

Page 83: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

83

ANEXO A

Tabla 34:

Primera semana de Febrero

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora

de entrega

Tiempo en

mezcla en

minutos y

llenado

familia Tasa de

llenado

(tanque)

L1 Advance 3000.0 1 03/02/2015

17:00

30 Cl1

L2 Helix 634.0 1 03/02/2015

17:00

30 Cl1

L3 Tellus 163.0 4 03/02/2015

17:00

30 Cl3

L4 Helix 634.0 1 03/02/2015

17:00

30 Cl1

L5 Tellus 1429.0 5 04/02/2015

17:00

30 Cl3

L6 Helix 11.0 4 04/02/2015

17:00

30 Cl1

L7 Helix 163.0 4 04/02/2015

17:00

30 Cl1

L1 Helix 2488.0 3 05/02/2015

17:00

30 Cl1

L2 Rimula 2982.0 3 05/02/2015

17:00

30 Cl1

Page 84: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

84

L3 Rimula 1842.0 5 05/02/2015

17:00

30 Cl1

L4 Omala 29.0 4 05/02/2015

17:00

30 Cl5

L5 Rimula 150.0 4 05/02/2015

17:00

30 Cl1

L6 Spirax 13.0 4 05/02/2015

17:00

30 Cl2

L7 Rimula 1842.0 5 06/02/2015

17:00

30 Cl1

L8 Tellus 16.0 4 06/02/2015

17:00

30 Cl3

L9 Tellus 42.0 4 06/02/2015

17:00

30 Cl3

L10 Heat 62.0 4 07/02/2015

17:00

30 Cl2

L11 Rimula 163.0 4 07/02/2015

17:00

30 Cl1

Primera semana de Febrero

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora

de entrega

Tiempo en

mezcla en

minutos y

llenado

familia Tasa de

llenado

(tanque)

L1 Advance 4000.0 1 09/02/2015

06:00

30 Cl1

Page 85: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

85

L2 Rimula 164.0 4 09/02/2015

06:00

30 Cl1

L3 Advance 4000.0 1 10/02/2015

06:00

30 Cl1

L4 Advance 120.0 4 10/02/2015

06:00

30 Cl1

L5 Rimula 164.0 4 10/02/2015

06:00

30 Cl1

L6 Advance 4000.0 1 11/02/2015

06:00

30 Cl1

L7 Spirax 267.0 5 11/02/2015

06:00

30 Cl2

L8 Morlina 15.0 4 11/02/2015

06:00

30 Cl3

L9 Tellus 23.0 4 11/02/2015

06:00

30 Cl3

L10 Rimula 647.0 1 12/02/2015

06:00

30 Cl1

L11 Rimula 3000.0 1 12/02/2015

06:00

30 Cl1

L12 Spirax 370.0 5 12/02/2015

06:00

30 Cl2

L13 Gadina 12.0 4 12/02/2015

06:00

30 Cl1

L14 Morlina 15.0 4 12/02/2015

06:00

30 Cl3

L15 Rimula 27.0 4 12/02/2015 30 Cl1

Page 86: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

86

06:00

L16 Tellus 163.0 4 12/02/2015

06:00

30 Cl3

L17 Tellus 163.0 4 13/02/2015

06:00

30 Cl3

L18 Spirax 1434.0 1 13/02/2015

06:00

30 Cl2

Tercera Seman de Febrero

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora de

entrega

Tiempo en mezcla

en minutos y

llenado

familia

L1 Rimula 589.0 3 16/02/2015

17:00

30 CL1

L2 Rimula 3562.0 3 16/02/2015

17:00

30 CL1

L3 Omala 132.0 5 16/02/2015

17:00

30 CL5

L4 Omala 12.0 4 16/02/2015

17:00

30 CL5

L5 Tellus 161.0 4 16/02/2015

17:00

30 Cl3

L6 Helix 241.0 3 17/02/2015

17:00

30 CL1

Page 87: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

87

L7 Helix 1752.0 3 17/02/2015

17:00

30 CL1

L8 Rimula 750.0 3 17/02/2015

17:00

30 CL1

L9 Tellus 168.0 3 17/02/2015

17:00

30 CL1

L10 Omala 188.0 5 17/02/2015

17:00

30 CL5

L11 Omala 63.0 4 17/02/2015

17:00

30 CL5

L12 Tellus 190.0 4 17/02/2015

17:00

30 Cl3

L13 Advance 3000.0 1 18/02/2015

17:00

30 CL1

L14 Helix 1733.0 1 18/02/2015

17:00

30 CL1

L15 Tellus 208.0 5 18/02/2015

17:00

30 Cl3

L16 Tellus 319.0 5 18/02/2015

17:00

30 Cl3

L17 Helix 12.0 4 18/02/2015

17:00

30 CL1

L18 Helix 87.0 4 18/02/2015

17:00

30 CL1

Page 88: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

88

Cuarta semana de Febrero

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora de

entrega

Tiempo en mezcla

en minutos y

llenado

familia

L1 Advance 3000.0 1 23/02/2015

06:00

30 Cl1

L2 Advance 3000.0 1 23/02/2015

06:00

30 Cl1

L3 Morlina 132.0 5 23/02/2015

06:00

30 Cl3

L4 Rimula 164.0 4 23/02/2015

06:00

30 Cl1

L5 Rimula 144.0 4 23/02/2015

06:00

30 Cl1

L6 Suziki 3016.0 1 24/02/2015

06:00

30 Cl1

L7 Suziki 1074.0 1 24/02/2015

06:00

30 Cl1

L8 Nautilus 132.0 5 24/02/2015

06:00

30 Cl1

L9 Rimula 930.0 5 24/02/2015

06:00

30 Cl1

L10 Rimula 1828.0 5 24/02/2015

06:00

30 Cl1

L11 Spirax 128.0 4 24/02/2015

06:00

30 Cl2

L12 Advance 1271.0 1 25/02/2015 30 Cl1

Page 89: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

89

06:00

L13 Advance 220.0 1 25/02/2015

06:00

30 Cl1

L14 Rimula 721.0 5 25/02/2015

06:00

30 Cl1

L15 Helix 52.0 4 25/02/2015

06:00

30 Cl1

L16 Helix 134.0 4 25/02/2015

06:00

30 Cl1

L17 Mysella 17.0 4 25/02/2015

06:00

30 Cl1

L18 Helix 270.0 1 26/02/2015

06:00

30 Cl1

Primera Semana de Marzo

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora de

entrega

Tiempo en mezcla

en minutos y

llenado

familia

L1 Suziki 3000.0 1 03/02/2015

17:00

30 Cl1

L2 Suziki 1876.0 1 03/02/2015

17:00

30 Cl1

L3 Rimula 104.0 4 03/02/2015

17:00

30 Cl1

L4 Advance 3000.0 1 04/02/2015 30 Cl1

Page 90: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

90

17:00

L5 Advance 80.0 4 04/02/2015

17:00

30 Cl1

L6 Advance 3000.0 1 05/02/2015

17:00

30 Cl1

L7 Advance 2942.0 1 05/02/2015

17:00

30 Cl1

L8 Tellus 208.0 5 05/02/2015

17:00

30 Cl3

L9 Tellus 319.0 5 05/02/2015

17:00

30 Cl3

L10 Tellus 163.0 4 05/02/2015

17:00

30 Cl3

L11 Tellus 51.0 4 05/02/2015

17:00

30 Cl3

L12 Rimula 1800.0 5 06/02/2015

17:00

30 Cl1

L13 Tellus 1429.0 5 06/02/2015

17:00

30 Cl3

L14 Tellus 52.0 4 06/02/2015

17:00

30 Cl3

L15 Tellus 163.0 4 06/02/2015

17:00

30 Cl3

L16 Tellus 162.0 4 06/02/2015

17:00

30 Cl3

L17 Spirax 12.0 4 07/02/2015

17:00

30 Cl2

Page 91: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

91

L18 Spirax 12.0 4 07/02/2015

17:00

30 Cl2

Segunda Semana de Marzo

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora de

entrega

Tiempo en mezcla

en minutos y

llenado

familia

L1 Tellus 32.0 4 09/02/2015

17:00

30 Cl3

L2 Helix 2733.0 1 10/02/2015

17:00

30 Cl1

L3 Spirax 267.0 5 10/02/2015

17:00

30 Cl2

L4 Rimula 164.0 4 10/02/2015

17:00

30 Cl1

L5 Spirax 23.0 4 10/02/2015

17:00

30 Cl2

L6 Helix 308.0 1 11/02/2015

17:00

30 Cl1

L7 Helix 241.0 3 11/02/2015

17:00

30 Cl1

Page 92: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

92

Lote Producto Demanda en

cantidad de

envase

envase Fecha y Hora de

entrega

Tiempo en mezcla

en minutos y

llenado

familia

L1 Spirax 370.0 5 11/03/2015

06:00

30 Cl2

L2 Spirax 574.0 5 11/03/2015

06:00

30 Cl2

L3 Helix 18.0 4 11/03/2015

06:00

30 Cl1

L4 Rimula 164.0 4 11/03/2015

06:00

30 CL1

L5 Spirax 60.0 4 11/03/2015

06:00

30 CL2

L6 Helix 4133.0 1 12/03/2015

06:00

30 Cl1

L7 Rimula 589.0 1 12/03/2015

06:00

30 CL1

L8 Spirax 451.0 5 12/03/2015

06:00

30 Cl2

L9 Gadina 20.0 4 12/03/2015

06:00

30 CL1

L10 Gadina 52.0 4 12/03/2015

06:00

30 CL1

L11 Heat 62.0 4 12/03/2015

06:00

30 CL1

Page 93: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

93

Anexo B. Resultados de la Planta

Tabla 34: Escenario 1.

Lote Producto Demanda

en

cantidad

de envase

Orden Tardanza

L1 Advance 3000.0 L1 0

L2 Helix 634.0 L3 0

L3 Tellus 163.0 L2 1

L4 Helix 634.0 L4 1

L5 Tellus 1429.0 L5 1

L6 Helix 11.0 L6 0

L7 Helix 163.0 L7 0

Como se puede ver en este escenario la planta tuvo 3 dias de tardanza.

Escenario 2.

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Helix 2488.0 L1 0

L2 Rimula 2982.0 L2 0

L3 Rimula 1842.0 L3 0

L4 Omala 29.0 L6 0

L5 Rimula 150.0 L8 1

L6 Spirax 13.0 L7 0

L7 Rimula 1842.0 L4 1

Page 94: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

94

L8 Tellus 16.0 L5 1

L9 Tellus 42.0 L9 0

L10 Heat 62.0 L10 0

L11 Rimula 163.0 L11 0

3 dias de tardanza.

Escenrario 3.

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Advance 4000 L1 0

L2 Rimula 164 L2 0

L3 Advance 4000 L3 0

L4 Advance 120 L4 0

L5 Rimula 164 L14 3

L6 Advance 4000 L5 0

L7 Spirax 267 L7 0

L8 Morlina 15 L8 1

L9 Tellus 23 L9 0

L10 Rimula 647 L6 1

L11 Rimula 3000 L10 0

L12 Spirax 370 L11 0

L13 Gadina 12 L15 0

L14 Morlina 43 L16 0

L15 Rimula 27 L17 0

L16 Tellus 163 L18 1

Page 95: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

95

L17 Tellus 163 L12 3

L18 Spirax 1434 L13 5

Escenario 4

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Rimula 589 L3 0

L2 Rimula 3562 L4 0

L3 Omala 132 L12 1

L4 Omala 12 L5 0

L5 Tellus 161 L6 0

L6 Helix 241 L1 0

L7 Helix 1752 L8 0

L8 Rimula 750 L2 2

L9 Tellus 168 L10 0

L10 Omala 188 L11 0

L11 Omala 63 L7 1

L12 Tellus 190 L16 0

L13 Advance 3000 L17 0

L14 Helix 1733 L18 0

L15 Tellus 208 L14 0

L16 Tellus 319 L9 2

L17 Helix 12 L15 1

L18 Helix 87 L13 3

Page 96: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

96

Escenario 5

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Advance 3000 L1 0

L2 Advance 3000 L3 0

L3 Morlina 132 L9 1

L4 Rimula 164 L17 2

L5 Rimula 144 L4 0

L6 Suziki 3016 L2 1

L7 Suziki 1074 L12 1

L8 Nautilus 132 L6 0

L9 Rimula 930 L8 0

L10 Rimula 1828 L10 0

L11 Spirax 128 L5 1

L12 Advance 1271 L13 0

L13 Advance 220 L17 1

L14 Rimula 721 L14 0

L15 Helix 52 L15 0

L16 Helix 134 L16 0

L17 Mysella 17 L11 1

L18 Helix 270 L18 0

Escenario 6.

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Suziki 3000 L2 0

Page 97: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

97

L2 Suziki 1876 L4 0

L3 Rimula 104 L1 1

L4 Advance 3000 L3 1

L5 Advance 80 L10 1

L6 Advance 3000 L6 0

L7 Advance 2942 L7 0

L8 Tellus 208 L8 0

L9 Tellus 319 L9 0

L10 Tellus 163 L11 0

L11 Tellus 51 L12 0

L12 Rimula 1800 L13 0

L13 Tellus 1429 L17 1

L14 Tellus 52 L18 1

L15 Tellus 163 L14 0

L16 Tellus 162 L15 0

L17 Spirax 12 L17 0

L18 Spirax 19 L5 3

Escenario 7

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Tellus 32 L1 0

L2 Helix 2733 L3 0

L3 Spirax 267 L4 0

L4 Rimula 164 L5 1

Page 98: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

98

L5 Spirax 23 L6 0

L6 Helix 308 L2 1

L7 Helix 241 L7 0

Escenario 8.

Lote Producto Demanda en cantidad de envase Orden Tardanza

L1 Spirax 370 L5 1

L2 Spirax 574 L10 1

L3 Helix 18 L11 1

L4 Rimula 164 L4 0

L5 Spirax 60 L6 0

L6 Helix 4133 L1 1

L7 Rimula 589 L2 1

L8 Spirax 451 L8 0

L9 Gadina 20 L9 0

L10 Gadina 52 L3 1

L11 Heat 62 L7 1

Page 99: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

99

Anexo C. Resultados Algoritmo

Escenario 1.

Tabla 35.

Orden Tardanza Real

L7 0

L3 0

L1 0

L2 0

L5 0

L4 0

L6 0

Escenario 2.

Orden Tardanza Real

L2 0

L1 0

L3 0

L7 0

L5 0

L6 0

L4 0

L8 1

L9 0

Page 100: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

100

L10 0

L11 1

Escenrario 3.

Orden Tardanza Real

L3 0

L2 0

L1 1

L5 0

L6 0

L11 0

L10 0

L4 1

L13 0

L8 0

L9 0

L17 1

L12 0

L18 0

L7 0

L16 0

L15 0

L14 0

Page 101: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

101

Escenario 4

Orden Tardanza Real

L1 0

L2 0

L6 0

L9 0

L7 0

L8 0

L5 0

L14 0

L4 0

L12 0

L13 1

L11 0

L3 0

L10 0

L18 0

L17 0

L16 0

L15 0

Escenario 5

Orden Tardanza Real

L1 0

Page 102: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

102

L7 0

L5 0

L2 1

L3 0

L9 0

L4 1

L12 0

L8 0

L13 0

L6 1

L15 0

L17 0

L11 1

L10 1

L16 0

L14 0

L18 0

Escenario 6.

Orden Tardanza Real

L2 0

L1 0

L4 0

Page 103: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

103

L6 0

L7 0

L3 1

L5 0

L11 0

L10 0

L8 1

L9 1

L13 0

L15 0

L12 0

L16 0

L14 0

L17 0

L18 0

Escenario 7

Orden Tardanza Real

L1 0

L4 0

L5 0

L2 0

L7 1

L6 0

Page 104: DESARROLLO DE UN ALGORITMO GENÉTICO PARA OPTIMIZAR …

104

Escenario 8.

Orden Tardanza Real

L2 0

L3 0

L4 0

L5 0

L1 0

L6 0

L7 0

L8 0

L10 0

L11 0

L9 0

L3 0