54
Modelo de Programaci´ on de la Producci´ on en Sistemas Open-Shop mediante Algoritmos Mem´ eticos Angie Lizeth Blanco Ca ˜ non odigo: 20081015089 Universidad Distrital Francisco Jos ´ e de Caldas Facultad de Ingenier ´ ıa Bogot ´ a, D.C. Mayo de 2016

Modelo de Programaci on de la Producci on en Sistemas Open …repository.udistrital.edu.co/bitstream/11349/4630/1/... · 2019-07-26 · Modelo de Programaci on de la Producci on en

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Modelo de Programación de la Producción en SistemasOpen-Shop mediante Algoritmos Meméticos

    Angie Lizeth Blanco CañonCódigo: 20081015089

    Universidad Distrital Francisco José de CaldasFacultad de Ingenieŕıa

    Bogotá, D.C.Mayo de 2016

  • Modelo de Programación de la Producción en SistemasOpen-Shop mediante Algoritmos Meméticos

    Angie Lizeth Blanco CañonCódigo: 20081015089

    Trabajo de tesis para optar al t́ıtulo deIngeniero Industrial

    DirectorMSc. Cesar Amilcar Lopez Bello.

    Magister en

    Ĺınea de investigaciónGestión de Operaciones

    Universidad Distrital Francisco José de CaldasFacultad de Ingenieŕıa

    Bogotá, D.C.Mayo de 2016

  • T́ıtulo en español

    Modelo de Programación de la Producción en Sistemas Open-Shop mediante AlgoritmosMeméticos

    Title in English

    Scheduling model of production in Open-shop systems using Mimetic Algorithms

    Resumen: Actualmente, la correcta secuenciación de trabajos en una ĺınea de producciónopen-shop es un problema de alto nivel de complejidad, que surge por la arbitrariedad deque cada trabajo puede seguir un orden de máquinas diferente. En esta tesis se proponeun modelo computacional que permite hallar una secuenciación apropiada haciendo usode un algoritmo memético, particularmente un h́ıbrido de un algoritmo genético con latécnica de recocido simulado para mejorar las búsquedas locales. Como resultado, seobtienen soluciones apropiadas para problemas complejos comparando contra solucionespresentadas por otras técnicas que se toman como ĺınea base de referencia.

    Abstract: Nowadays, an appropriate jobs scheduling in an open-shop system is aproblem with a high complexity level, due to arbitrariness of each job can move througha different machines order. In this thesis, we propose a computational model that leavesfind an scheduling using a mimetic algorithm, mainly a hybrid strategy of a GeneticAlgorithm mixed with a Simulated Annealing to improve local search. In the results, wefind good solutions for some complex reference problems, and in comparison with anotherstrategies of base line, we have a good performance.

    Palabras clave: Algoritmos Meméticos, Algoritmos Genéticos, Recocido Simulado,Secuenciación de Trabajos, Sistemas Open-shop

    Keywords: Genetic Algorithms, Jobs Scheduling, Mimetic Algorithms, Open-shop Sys-tems, Simulated Annealing

  • Nota de aceptación

    Trabajo de tesis

    JuradoIng. Juan Carlos Cano Rueda

    DirectorMSc. Cesar López

    Bogotá, D.C., Mayo de 2016

  • trabajo es dedicado a mi familia por cada segundo de su tiempo dedicado a mi creci-miento académico, y a mi maestro en computación quien a pesar de no tener obligaciónme guió y acompañó todo el camino

  • Índice general

    Índice de tablas III

    Índice de figuras IV

    Introducción V

    1. Planteamiento del Problema 1

    1.1. Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1. Formulación del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.2. Descripción del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.3. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.3.1. Delimitación del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.4. Metodoloǵıa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.1. Hipótesis de la Investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.2. Pregunta de la Investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.3. Variables de la Investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.4.4. Tipo de Investigación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.4.5. Diseño Metodológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2. Marco Teórico 7

    2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.2. Marco Conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.2.1. Programación de Producción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.2.1.1. Programación Predictiva de la Producción . . . . . . . . . . . . 12

    2.2.2. Configuración Open-shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

  • ÍNDICE GENERAL II

    2.2.2.1. Modelo de programación entera mixta para sistemas open-shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.2.3. Métodos de Resolución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.2.3.1. Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.2.3.2. Algoritmos Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.2.3.3. Algoritmos Meméticos . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2.3.4. Recocido Simulado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3. Desarrolo del Proyecto 17

    3.1. Algoritmo Genético . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.1.1. Población inicial y definición del Individuo . . . . . . . . . . . . . . . . . . . 17

    3.1.1.1. Heuŕıstica para reducción de tiempos muertos . . . . . . . . . . 18

    3.1.2. Medida de Desempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.1.3. Mecanismo de Selección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.1.4. Operadores Genéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.1.4.1. Mutación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.1.4.2. Cruce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3.1.5. Mecanismo de Reemplazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.2. Recocido Simulado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4. Resultados Obtenidos 24

    Conclusiones 39

    Trabajo futuro 40

    Bibliograf́ıa 41

  • Índice de tablas

    1.1. Diseño metodológico por etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1.1. Diseño metodológico por etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.1. Refencias destacadas en este trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.1. Refencias destacadas en este trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    4.1. Mejores resultados obtenidos Algoritm Genético 4x4 . . . . . . . . . . . . . . . . . 26

    4.2. Mejores resultados obtenidos Algoritm Memético 4x4 . . . . . . . . . . . . . . . . 27

    4.3. Mejores resultados obtenidos Algoritm Genético 5x5 . . . . . . . . . . . . . . . . . 28

    4.4. Mejores resultados obtenidos Algoritm Memético 5x5 . . . . . . . . . . . . . . . . 29

    4.5. Mejores resultados obtenidos Algoritm Genético 7x7 . . . . . . . . . . . . . . . . . 29

    4.5. Mejores resultados obtenidos Algoritm Genético 7x7 . . . . . . . . . . . . . . . . . 30

    4.6. Mejores resultados obtenidos Algoritm Memético 7x7 . . . . . . . . . . . . . . . . 30

    4.6. Mejores resultados obtenidos Algoritm Memético 7x7 . . . . . . . . . . . . . . . . 31

    4.7. Mejores resultados obtenidos Algoritm Genético 10x10 . . . . . . . . . . . . . . . 31

    4.7. Mejores resultados obtenidos Algoritm Genético 10x10 . . . . . . . . . . . . . . . 32

    4.8. Mejores resultados obtenidos Algoritm Memético 10x10 . . . . . . . . . . . . . . 32

    4.8. Mejores resultados obtenidos Algoritm Memético 10x10 . . . . . . . . . . . . . . 33

    4.9. Mejores resultados obtenidos Algoritm Genético 15x15 . . . . . . . . . . . . . . . 33

    4.10. Mejores resultados obtenidos Algoritm Memético 15x15 . . . . . . . . . . . . . . 34

    4.11. Mejores resultados obtenidos Algoritm Genético 20x20 . . . . . . . . . . . . . . . 35

    4.12. Mejores resultados obtenidos Algoritm Memético 20x20 . . . . . . . . . . . . . . 36

    4.13. Tiempos de ejecución algoritmos propuestos . . . . . . . . . . . . . . . . . . . . . . . 37

    III

  • Índice de figuras

    3.1. Representacion Individuo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.2. Heuristica Propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.3. Tabla de Adyacencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4.1. Porcentajes de diferencia respecto a Taillard . . . . . . . . . . . . . . . . . . . . . . 38

    4.2. Mejor resultado por conjunto de datos obtenido Vs. Taillard . . . . . . . . . . . 38

    IV

  • Introducción

    Las primeras décadas del siglo XX constituyen un periodo clave en la historia de laoptimización como disciplina; fue en aquel entonces cuando se encontraron problemaspara los cuales no era posible obtener una solución exacta de forma anaĺıtica (ó cuantomenos una solución con garant́ıa de aproximación a ella), desencadenando aśı en un nuevoparadigma para la investigación de operaciones.

    Uno de los objetivos que persiguen los métodos de optimización empleados en investi-gación de operaciones, es resolver problemas de asignación y secuenciación inmersos en laprogramación de la producción. Esta área de la gestión de operaciones se caracteriza por sunivel operativo, es decir, requiere respuestas en tiempo real a las actividades desarrolladasen el diario vivir de la industria. Este hecho ha marcado el inicio de una búsqueda porparte de los investigadores para aplicar algoritmia y programación matemática a modeloscapaces de brindar soluciones óptimas, o cercanas al óptimo, al problema de asignación decargas de trabajo.

    En la actualidad se buscan adaptar meta-heuŕısticas, tales como algoritmos genéticosy recocido simulado unidas en los denominados algoritmos meméticos, cuyos oŕıgenes seremontan a finales de la década de los ochenta. Estos algoritmos pretenden combinarconceptos y estrategias de diferentes meta-heuŕısticas para integrar las ventajas de lasmismas, aumentando la posibilidad de encontrar buenas soluciones a problemas dados.

    Otro aspecto que revoluciono a los métodos de optimización, especialmente los relacio-nados con la programación de la producción, corresponde a un factor responsable de cerrarla brecha entre el ámbito académico y la realidad a la que se enfrentan los profesionales;esto es debido a los cambios, tanto preventivos como inesperados, que sufren los modelosde producción a lo largo de su desarrollo. Bajo esta premisa, aparece el concepto de pro-gramación de la producción dinámica, y espećıficamente en la década de los noventa, elde programación de la producción predictiva, la cual se considera una de las estrategiaspara afrontar un problema de programación en problemas futuros.

    La integración de los métodos de solución para los problemas de programación de laproducciń lleva al descubrimiento de nuevos algoritmos y mecanismos que reducen el errorde las soluciones obtenidas respecto al óptimo.

    Como referente en problemas para evaluar técnicas de secuenciación de trabajos setiene a Taillard [33], quien propuso un conjunto de problemas de ĺınea base, junto conla mejor solución encontrada y la cota mı́nima teórica. Aunque bastantes autores hantrabajado con estos problemas para probar estrategias, muchas veces no se logra llegar abuenas soluciones en problemas de gran tamaño, y en la mayoŕıa de los casos, no se ha

    V

  • INTRODUCCIÓN VI

    logrado encontrar una solución que como resultado logre llegar a la cota mı́nima teóricapropuesta por Taillard.

    En este trabajo, se propone una estrategia computacional h́ıbrida para construir un al-goritmo memético, integrando un algoritmo genético con un algoritmo de recocido simula-do, el cual solucione de forma apropiada problemas de programación en sistemas tipo open-shop. Este algoritmo tiene tiempos de respuesta aceptables, y logra encontrar buenos resul-tados, incluso alcanzando en algunos casos los mejores tiempos encontrados en la literatura.Esta estrategia fue desarrollada en el lenguaje de programación Python, y se encuentradisponible en el repositorio de código https://github.com/alblancoc/memetic open shop.

  • CAPÍTULO 1

    Planteamiento del Problema

    1.1. Problema

    1.1.1. Formulación del Problema

    Realizar de manera eficiente la asignación y secuenciación de trabajos en las diferentesestaciones o puestos de trabajo en sistemas productivos open-shop.

    1.1.2. Descripción del Problema

    El problema de asignación de cargas de trabajo, conocido generalmente como machi-ne scheduling, consiste en encontrar la secuencia tecnológica que arroje una medida dedesempeño eficiente en relación a todas las posibles configuraciones en las que un trabajoes procesado en un conjunto de máquinas disponibles. El makespan es por excelencia elmecanismo empleado para evaluar la disposición para procesar un número determinadode tareas en un conjunto de máquinas o estaciones de trabajo, teniendo en cuenta que elobjetivo a minizar es el tiempo de terminación de la última tarea.

    Ahora bien, esto va ligado al tipo de sistema productivo en el cual se encuentra in-merso el proceso a realizar. Espećıficamente, el problema de programación de un sistemaopen-shop, OSSP por sus siglas en inglés (Open-Shop Scheduling Problem), cuenta conla caracteŕıstica de ser arbitrario, es decir, las tareas a realizar no siguen una secuenciadefinida, cada una adopta una ĺınea diferente e independiente de las demás.

    Uno de los principales retos para el modelamiento de sistemas productivos open-shopha sido el de su naturaleza dinámica. La dificultad de recrear dicha propensión al cambioen ambientes tradicionales o determińısticos, ha sido el principal inconveniente que seha presentado en este campo de la programación a la hora de realizar la asignación ysecuenciación de trabajos. Esto surge debido a las condiciones dinámicas relacionadas conel entorno (mercado) y la empresa en śı, lo que impide tener total certeza de los datos querepresentan totalmente al sistema.

    Sin embargo, en el mundo real de la industria ocurren frecuentemente situacionesimprecisas o inciertas, en entornos en los que las metas, las restricciones y las consecuencias

    1

  • CAPÍTULO 1. PLANTEAMIENTO DEL PROBLEMA 2

    de posibles decisiones no se conocen de manera exacta. En el campo particular de laprogramación de producción, eventos como fallos en las máquinas, cancelación de trabajos,cambios de fecha de entrega, falta de materia prima, problemas de calidad, variación dela plantilla de trabajadores, entre otros, no se pueden prever con total exactitud, debidoa que los ambientes reales de producción son dinámicos y no estáticos en el tiempo.

    Obtener la solución óptima de un problema que contempla todos los aspectos plantea-dos anteriormente o para problemas que sin contemplar esos aspectos tengan un númeroconsiderable de trabajos y máquinas, puede llegar a ser complicado a causa de la com-plejidad del problema e incluso por el tiempo computacional que se debe emplear. Lanaturaleza de este tipo de casos impide el uso de técnicas anaĺıticas, ya que incrementanlos costos computacionales de manera considerable, haciendo necesaria la utilización detécnicas metaheuŕısticas, que con costos computacionales aceptables, sean capaces de daruna solución lo más cercana posible a la solución óptima.

    El desarrollo de una metaheuŕıstica que sea capaz de resolver esta clase de problemas,debe alcanzar un comportamiento que satisfaga los requisitos del problema, es decir, debeser una técnica general (capaz de resolver una clase de problemas lo más amplia posible),y además ser eficiente en el manejo de recursos computacionales en casos donde se debaprocesar gran cantidad de datos.

    En el presente trabajo se trabajará el caso en el que el sistema no cuenta con restriccio-nes que alteren el comportamiento del sistema a lo largo del ciclo productivo, el propositoserá encontrar buenas soluciones a los problemas donde el número de máquinas y trabajosimpiden hallar una solución óptima en un tiempo computacional aceptable.

    1.2. Objetivos

    Objetivo general

    Formular un modelo de programación de la producción para sistemas productivosopen-shop mediante un algoritmo memético que reduzca el makespan.

    Objetivos Espećıficos

    • Caracterizar los sistemas productivos open-shop, identificando su configuración ycomportamiento.

    • Determinar el estado actual y los posibles desarrollos de los algoritmos genéticosy el recocido simulado, al igual que su aplicación en la solución de problemas deprogramación de la producción en sistemas open-shop.

    • Establecer y definir el algoritmo memético, su función objetivo, parámetros, varia-bles de decisión y respectivas restricciones, y utilizar el makespan como medida dedesempeño del mismo.

    • Evaluar el modelo frente a instancias dadas y determinar de esta manera su eficienciarelativa.

  • CAPÍTULO 1. PLANTEAMIENTO DEL PROBLEMA 3

    1.3. Justificación

    La programación de la producción ha sido un área altamente estudiada, en la cual sedestacan investigaciones y desarrollos en pro de la optimización de recursos a nivel indus-trial. Uno de los recursos que presenta mayor relevancia es el tiempo del ciclo productivo;esto se debe a que los demás recursos son empleados en función del tiempo.

    La presunción de condiciones determińısticas en el entorno de los sistemas productivos,espećıficamente open-shop, favorećıa la formulación y obtención de soluciones, es decir,se asumı́a un modelo estático, en el cual los agentes propios de la variabilidad no teńıanlugar. Esto dió origen a múltiples desviaciones respecto al comportamiento real del sistema(Dawkins, El Gen Egoista, Las bases biológicas de nuestra conducta, 1993), que en algunoscasos generaba situaciones contraproducentes en la asignación y la secuenciación de cargasde trabajo.

    A partir de esto, la determinación de una secuencia tecnológica que arroje una medidade desempeño eficiente en relación con todas las posibles configuraciones en las que untrabajo es procesado en las máquinas disponibles, incluyendo las posibles variaciones quese puedan presentar a lo largo del ciclo productivo, se convierte en la esencia de los modelosa desarrollar en la gestión de operaciones.

    La evolución de la programación matemática, enfocada a la representación de la reali-dad, ha permitido su aceptación a nivel industrial. Una de las razones de este hecho sedebe a la existencia de miles de problemas de optimización pertenecientes a la clase NP(No-Polinomiales) (Cotta, 2003), a los cuales los algoritmos meméticos han otorgado valoragregado debido a su acercamiento a la solución óptima de los mismos.

    El diseño de un modelo en el cual se integren y potencien las caracteŕısticas de algo-ritmos genéticos y técnicas de búsqueda local, cómo el recocido simulado (una de las másutilizadas en la resolución de problemas de programación de producción, entre otras meta-heuŕısticas), aplicado en un sistema open-shop, propone una herramienta cuantitativa quemida la utilización del recurso. Esta eficiencia se debe reflejar en el valor del makespancomo medida de desempeño, ya que entre menor sea el tiempo de requerido procesar todoslos trabajos, se asume que se están usando los recursos de manera más apropiada.

    1.3.1. Delimitación del Problema

    Temática

    El modelo propuesto se aplicará exclusivamente para la programación de la producciónde sistemas tipo open-shop, el cual contempla un conjunto de n trabajos que deben serprocesados en m máquinas, contando con las siguientes caracteŕısticas :

    • Cada máquina puede realizar una tarea correspondiente a un trabajo a la vez (R.L.Graham, 1979)

    • En un instante determinado de tiempo cada trabajo debe estar siendo procesadocuando mucho por una máquina.

    • El orden en que cada trabajo es procesado en las máquinas es arbitrario (Sami Khuri,2001)

  • CAPÍTULO 1. PLANTEAMIENTO DEL PROBLEMA 4

    • Los tiempos de procesamiento son deterministicos y conocidos.

    • A lo largo del ciclo productivo no se presentarán variaciones en los recursos delsistema.

    • El sistema no considera precedencias.

    • El tiempo de terminación de la última tarea, o makespan, será la medida de desem-peño empleada para evaluar la eficiencia del modelo.

    Para el desarrollo del modelo se contará con un algoritmo memético o h́ıbrido, comoresultado de la unión de las caracteŕısticas de un algoritmo genético (estrategia compu-taciona evolutiva) y recocido simulado (búsqueda local).

    1.4. Metodoloǵıa

    1.4.1. Hipótesis de la Investigación

    La integración de algoritmos genéticos y recocido simulado en un algoritmo meméticoaplicado en la programación de la producción en un entorno open-shop, arrojará solucionesque conduzcan a una disminución del makespan como medida de desempeño con altaprecisión frente a instancias dadas.

    1.4.2. Pregunta de la Investigación

    ¿Cómo desarrollar un algoritmo de programación de máquinas (machine scheduling) enambientes open-shop bajo el criterio del makespan, que proporcione soluciones aceptablesen precisión frente a instancias dadas?

    1.4.3. Variables de la Investigación

    Makespan

    Variable de tipo independiente en el proyecto, que hace alusión al tiempo de termina-ción del procesamiento efectuado a la última operación del último trabajo en la últimamáquina, o también puede ser entendido como el tiempo total en el que son procesadostodos los trabajos en las máquinas o estaciones de trabajo.

    Esta medida de desempeño se obtiene de realizar la sumatoria de los tiempos de proce-samiento de los diferentes trabajos en las máquinas por las cuales pasaron, basados en lasecuencia asignada. Una de las formas más comunes y prácticas de visualizar el makespanes realizar un diagrama de Gantt; dicho diagrama es una herramienta que permite ver ladistribución de tiempo asignado a diferentes actividades en un periodo determinado.

    Precisión de la Solución

    La implementación de una meta-heuŕıstica en la solución del problema brinda unarespuesta aproximada al valor óptimo, debido a esto surge la variable correspondiente a

  • CAPÍTULO 1. PLANTEAMIENTO DEL PROBLEMA 5

    la precisión de la respuesta del modelo frente a la mejor solución posible. Esta precisiónes la variable dependiente de la investigación y es la encargada de indicar si el modelo esaceptado o no.

    1.4.4. Tipo de Investigación

    Programar la producción de un sistema tipo open-shop mediante un modelo matemáti-co requiere una investigación cuantitativa de tipo anaĺıtico. Esto se debe a que permite elplanteamiento de una hipótesis, la cual se convierte en un reto para demostrar la veracidadde la premisa enunciada en dicha hipótesis. Para conseguir el objetivo se analizarán losdatos de manera numérica, es decir, se especificaran los parámetros que va a manejar elmodelo, y por medio de la obtención de los valores de determinadas variables se realizaráuna comparación de las diferente soluciones que se obtengan.

    Por medio de la medida de desempeño escogida para determinar la mejor solución, y elporcentaje de error que se defina, se podrá verificar la validez de la hipótesis del proyecto.

    1.4.5. Diseño Metodológico

    Tabla 1.1. Diseño metodológico por etapas

    Objetivo Actividad Herramienta Inge-nieril a Emplear

    Caracterizar los sistemasproductivos open-shop,identificando su configuración ycomportamiento.

    Analizar las caracteŕısticasdel sistema para definir su na-turaleza.

    Distribución en planta(Tipoloǵıa de los siste-

    mas productivos).

    Realizar el dimensionamientodel sistema.

    Matriz de referenciacruzada.

    Diagnosticar el estado actual y losposibles desarrollos de losalgoritmos genéticos y el recocidosimulado, al igual que su aplicaciónen la solución de problemas deprogramación de la producción ensistemas open-shop.

    Efectuar una revisión de es-tudios desarrollados con me-taheuŕısticas.

    Revisión bibliográfica.

    Identificar las aplicaciones deestos algoritmos en la progra-mación de la producción.

    Revisión bibliográfica.

    Establecer y definir el modeloevolutivo h́ıbrido, su funciónobjetivo, parámetros, variables dedecisión y respectivas restricciones,e implementar el makespan comomedida de desempeño del mismo.

    Determinar los parámetroscon sus respectivos valores,junto con el número de traba-jos y máquinas del sistema.

    Programación ma-

    temática.

    Dimensionar las variables delmodelo definiendo su natura-leza.

    Programación ma-

    temática.

    Estructurar las restriccionesrequeridas para dar soluciónal problema.

    Programación ma-

    temática.

    Definir la función objetivo. Programación ma-

    temática.

    Continúa en la siguiente página

  • CAPÍTULO 1. PLANTEAMIENTO DEL PROBLEMA 6

    Tabla 1.1. Diseño metodológico por etapas

    Objetivo Actividad Herramienta Inge-nieril a Emplear

    Evaluar los resultados obtenidoscon el modelo frente a otrastécnicas de resolución, ydeterminar de esta manera sueficiencia relativa.

    Obtener las posibles solucio-nes seleccionando la que tengamejor función objetivo.

    Programación ma-temática e inteligencia

    computacional.

    Comparar las variaciones delos resultados obtenidos, apartir de modificaciones a lasvariables.

    Análisis de Sensibilidad.

    Comparar la solución arroja-da por el modelo con solucio-nes obtenidas mediante otrosmétodos.

    Análisis estad́ıstico

    Determinar y aplicar medidasde desempeño que evalúen laeficiencia del modelo.

    Análisis estad́ıstico

    Determinar veracidad de lahipótesis.

    Prueba de hipótesis.

  • CAPÍTULO 2

    Marco Teórico

    2.1. Antecedentes

    La secuenciación de sistemas productivos open-shop ha sido ampliamente estudiadapor investigadores, quienes han propuesto diferentes estrategias que proporcionan solucio-nes aceptables a problemas de secuenciación; una definici on de este tipo de problemas,aceptada por la comunidad cient́ıfica, es la que lo presentan Kononov et al.(Kononov,Sevastianov, & Tchernykh, 1999) : Hay un conjunto de m máquinas M1, . . . ,Mm y unconjunto de n trabajos J = {J1, . . . , Jn}. Cada trabajo se compone de m operaciones Oji,donde i = 1, . . . ,m, y j = 1, . . . , n. Una operación Oji de un trabajo Jj tiene que ser proce-sado en la máquina Mi, y esto requiere de pji unidades de tiempo. Cada máquina procesacomo máximo un trabajo a la vez, y cada trabajo se procesa máximo por una máquina ala vez. Sin preferencia, se permite en el procesamiento de cualquier operación. Para cadatrabajo, el orden de sus operaciones no se fija de antemano, sino que deben ser elegidoslos diferentes trabajos que se les permita recibir diferentes órdenes.

    En la búsqueda de un programa que se adapte a las necesidades espećıficas de unentorno puntual, se han definido diversas medidas de desempeño que evalúen las respuestasarrojadas por una solución; entre otras, se pueden encontrar las mencionadas por [8]:

    (i) Makespan (Cmax): Definido como el máximo tiempo de proceso de los trabajos.

    (ii) Máxima tardanza (Lmax): Máximo tiempo de tardanza en la fecha de entrega delos trabajados.

    (iii) Tiempo de terminación (∑Cj): Sumatoria de los tiempos de terminación de todos

    los trabajos

    (iv) Tiempo de terminación ponderado (∑wjCj): Sumatoria de los tiempos de termina-

    ción de los trabajos multiplicados por un factor de ponderación para cada trabajo.

    (v) Tardanza total (∑Tj): Sumatoria de la tardanza para todos los trabajos.

    (vi) Tardanza ponderada total (∑wjTj): Sumatoria de la tardanza para todos los traba-

    jos multiplicada por un factor de ponderación para cada trabajo.

    7

  • CAPÍTULO 2. MARCO TEÓRICO 8

    (vii) Número de trabajos tard́ıos (∑Uj): Número de trabajos que son entregados después

    de la fecha establecida.

    En 1979 (Graham, Lawler, Lenstra, & Rinnooy Kan, 1979) presentaron la notaciónα/β/γ empleada actualmente para identificar los problemas de scheduling, donde α re-presenta el tipo de sistema productivo empleado, β hace referencia a las restricciones queaplican al problema, y γ expresa la medida de desempeño o función objetivo.

    Para el caso denotado como [O2 —— Cmáx] el cual hace referencia al problema en elque se cuenta con dos máquinas en un ambiente open-shop y la medida de desempeño es elmakespan, se han presentado estrategias que encuentran una solución óptima al problema;[29] quienes presentan escenarios con tiempos de procesamiento estocásticos sujetos adistribuciones de probabilidad para n trabajos resueltos mediante métodos anaĺıticos entres escenarios puntuales (máquinas con la misma función de distribución de probabilidad,máquinas con diferentes funciones de distribución de probabilidad y máquinas idénticas).

    Al igual que [20] desarrollan un algoritmo de tiempo polinomial para el caso de dosmáquinas y tiempos de procesamiento determińısticos, y definen el problema con tresmáquinas como un problema NP-hard. Bajo estas condiciones, la solución otorgada por(Kononov, Sevastianov, & Tchernykh, 1999) es presentada en un esquema que permite,a partir de una secuencia para k máquinas, generar un programa para m máquinas, conm > k, bajo ciertas condiciones de VOD (vector of differentiation). De esto, se deriva unafamilia de EN − vectores en Rm, que satisfacen y garantizan una función mı́nima para laque existe un algoritmo de tiempo polinomial. En vista de la calidad de NP-hard de [O—— Cmax], se han desarrollado algoritmos heuŕısticos, enlazados y ramificados para esteproblema (Andresen, Bräsel, Mörig, Tusch, & Werner, 2008).

    La investigación presentada por (Sevastianov & Woeginger, 1998), se centró en la ob-tención de algoritmos de aproximación en tiempo polinomial para la solución del problemaopen-shop descrito anteriormente, es decir, algoritmos rápidos que construyen programa-ciones cuyo makespan no difiere mucho del makespan óptimo.

    El desarrollo de un algoritmo de ramificación y acotamiento fue presentado por (Bru-ker, Hurink, Jirish, & Wöstman, 1997) con el fin de minimizar el makespan, donde laconstrucción del árbol de ramificación se basa en grafos disyuntos que se rigen por lacreación de precedencias de operaciones del mismo trabajo o de operaciones que debenser procesadas en la misma máquina. Un algoritmo exacto ha sido dado por Dorndorf(Dorndorf, Pesch, & Phan-Huy, 2001), el modelo propuesto se centró en los métodos depropagación de restricciones para reducir el espacio de búsqueda.

    Varios problemas de referencia de la literatura se han resuelto encontrando un puntomuy cercano a la optimalidad. En particular, en uno de los problemas propuestos por [33],se establecen una serie de instancias, entre ellas se han trabajado OSSP de 10 trabajos y10 máquinas, 15 trabajos y 15 máquinas, y 7 casos con 20 trabajos y 20 máquinas, todashan sido resueltas y actualmente son utilizadas como punto de referencia de trabajosdesarrollados.

    En el desarrollo de heuŕısticas se encuentra el modelo propuesto por (Jurisch & Kubiak,1997) que resuelve el problema [O2 — pmtn — Cmax] mediante un algoritmo de flujomáximo y demuestra que el makespan es equivalente al de un problema [O2 —— Cmax] quecontempla un recurso renovable. Por otro lado, Nadieri, Ghomi, Aminnayeri, & Zandieh,2010) presentan tres teoremas, donde demuestran que en la construcción de soluciones para

  • CAPÍTULO 2. MARCO TEÓRICO 9

    problemas open-shop por medio de permutaciones es propenso a caer en redundancias, yproponen cuatro heuŕısticas basadas en los teoremas expuestos.

    La implementación de algoritmos de búsqueda local más complejos en las denominadasmeta-heuŕısticas, arrojan desarrollos como los presentados por (Ching-Fang, 1999) quienpresenta un algoritmo de búsqueda tabú para problemas open-shop, donde la estructuradel vecindario o espacio de búsqueda está dado por la representación de las solucionescomo un grafo disyuntivo con el objetivo de minimizar el makespan.

    Una comparación entre dos meta-heuŕısticas es presentada por (Andresen, Bräsel,Mörig, Tusch, & Werner, 2008), quienes proponen un algoritmo genético donde el individuoes representado por medio de una matriz que denota la secuencia en filas y columnas paramáquinas y trabajos respectivamente. El algoritmo de recocido simulado que plantean losautores también representa a las posibles soluciones como la matriz descrita anteriormen-te, asegurando que para tener una mejor solución en el algoritmo se debe iniciar con unabuena solución factible y una temperatura inicial baja.

    En el caso de [8], resuelven mediante un algoritmo evolutivo un problema JSSP:OSSPcon 15 máquinas y 20 trabajos, logrando mejores resultados respecto a técnicas tradicio-nales empleadas en su desarrollo, como OMC, OML y Campbell.

    La inclusión de restricciones sobre las habilidades de los trabajadores en un sistemaopen-shop es abordada por [10] en un algoritmo de colonia de hormigas con el objetivo deminimizar el tiempo medio de flujo.

    La Tabla 2.1 resume los trabajos destacados en la búsqueda de antecedentes parael trabajo a realizar, los trabajos mencionados permiten identificar que aspectos se hantrabajado y que se puede implementar como novedad en busca de mejorar los resultadosobtenidos

    Tabla 2.1. Refencias destacadas en este trabajo.

    Ref Año Algoritmo Medida desempeño Aporte realizado

    [23] 2000 GA-TS makespan Integración de las metaheuŕısticas TS yGA donde los individuos generados por elGA son mejorados localmente por TS.

    [29] 1981 PL makespan Desarrollo de un modelo de programaciónlineal para el caso de dos máquinas condiferentes velocidades y tiempos de pro-cesamiento sujetos a una distribución deprobabilidad.

    [16] 1994 GA,LPT,SPT makespan Uso de diferentes heuŕısticas para la cons-trucción de los individuos que van a for-mar la población inicial del un algoritmogenético.

    [7] 1997 BB makespan Desarrollo de un algortimo de ramificacióny acotamiento que es usado actualmentecomo intancia y referencia de problemasde hasta 10 máquinas y 10 trabajos.

    Continúa en la siguiente página

  • CAPÍTULO 2. MARCO TEÓRICO 10

    Tabla 2.1. Refencias destacadas en este trabajo.

    Ref Año Algoritmo Medida desempeño Aporte realizado

    [21] 1999 GA, LPT makespan Construcción de un algoritmo genéticobásico comparado con un algoritmo hibri-do donde una heuŕıstica se emplea paragenerar la población inicial.

    [2] 2008 GA, SA Tiempo medio de flujo Representación de los individuos medianteuna matriz y construcción de operadoresgenéticos propios.

    2009 GA makespan Desarrollo para una configuración open-shop donde se cuenta con un conjunto demáquinas identicas que pueden realizar lamisma operación en paralelo.

    [39] 2008 SA Tardanza ponderada Inclusión de variables difusas para repre-sentar los cuellos de botella y mejorarel comportamiento del recocido simuladoaplicado al problema propuesto.

    2012 GA Tardanza y makespan Desarrollo de un algoritmo genético mul-tiobjetivo para sistemas open-shop.

    [30] 2004 GA,Heuŕısticas makespan Generación de individuos para la poblacíıninicial mediante heuŕısticas de elaboraciónpropia.

    [30] 2004 GA,Heuŕısticas makespan Generación de individuos para la poblacíıninicial mediante heuŕısticas de elaboraciónpropia.

    [4] 2016 GA,Heuŕısticas makespan Adaptación de la heuŕıstica LPT y desa-rrollo de un algortmo genético para el sis-tema open-shop flexible.

    [10] 2015 AC, MIP Tiempo medio de flujo Desarrollo de un algoritmo de colonia dehormigas en un sistema que contemplarestricciones sobre las habilidades de lostrabajadores.

    [27] 2014 MIP, LS makespan Desarrollo de algoritmos para encon-trar soluciones óptimas y aproximadasal problema open-shop no wait mediantebúsqueda en vecindades variables.

    2.2. Marco Conceptual

    2.2.1. Programación de Producción

    El Sistema de Planificación y Control de Operaciones (SPCO) es el conjunto de ac-tividades que crean valor en forma de bienes y servicios al transformar los insumos enproductos terminados. En dicho sistema, interactúan el proceso de planificación de la

  • CAPÍTULO 2. MARCO TEÓRICO 11

    producción y capacidades, el proceso de programación de la producción, y el proceso deejecución (también conocido por proceso de lanzamiento), de manera tal que no se puedeentender de forma aislada ninguno de sus elementos.

    En relación al largo plazo, se encuentran las actividades directamente relacionadascon la toma de decisiones de carácter estratégico. Como resultado de dichas actividades,se elabora un plan agregado de producción del cual se puede obtener un plan maestroprovisional. En cuanto al mediano plazo, se desarrollan aspectos más próximos al ámbitooperativo, tomando como elemento de partida el plan maestro provisional a partir del cualse elabora en primer lugar el plan maestro tentativo y posteriormente el plan maestrodefinitivo, del cual se desprenden el plan de requerimientos de materiales y la planifica-ción de los requerimientos de capacidad. En el ámbito del corto plazo se encuentran losprocedimientos de programación de la producción y de lanzamiento.

    La programación de la producción (Apics 1994) define la programación de operacionescomo la asignación efectiva de fechas de inicio y/o término a operaciones o grupos deoperaciones para calcular el momento en que estas operaciones deben ser realizadas paraque la orden de fabricación se complete a tiempo. Es el paso previo a la ejecución f́ısicade las operaciones de fabricación (Companys, R. & Corominas , A. 1996). Estos últimosdiferencian entre tres sub-funciones que tradicionalmente se han distinguido dentro de lafunción de Programación de la Producción. Éstas pueden ejecutarse simultáneamente ono.

    • Sub-función carga (loading), consiste en la asignación de las operaciones a centrosde trabajo, decisión que se adoptará por comparación entre la capacidad disponibledel centro y la carga requerida por las operaciones ya asignadas al mismo.

    • Sub-función secuenciación (sequencing), es la secuenciación de las operaciones asig-nadas a un centro de trabajo para establecer su orden de ejecución.

    • Sub-función temporización (scheduling), se encarga de determinar los instantes deinicio y fin (programados) de cada operación. Algunos de los objetivos persegui-dos por la Programación de la Producción (dentro de las consideraciones generalesestablecidas por la Planificación) suelen ser:

    • Terminar dentro de plazo un alto porcentaje de órdenes.

    • Obtener una alta utilización del equipo o del personal.

    • Reducir al mı́nimo las horas extra.

    • Reducir al mı́nimo la obra en curso, entre otros.

    Estos objetivos son claramente antagónicos entre śı, dada una situación concreta delsistema productivo, por lo que se suele establecer una jerarquización entre ellos. Además,el Sistema de Programación de Producción tiene que interaccionar con otras funcionesnecesarias dentro del SPCO. Estas interacciones son dependientes del sistema y puedendiferir sustancialmente de una situación a otra (Pinedo, M. 1995).En concreto, dentro delSPCO, los pedidos deben ser transformados en órdenes de producción o trabajos con susfechas de entrega asociadas. Los trabajos deben ser procesados por las máquinas en loscentros de trabajo en un determinado orden o secuencia y deben esperar a ser procesados enlas máquinas que estén ocupadas, pudiendo ocurrir interrupciones cuando llegan órdenes

  • CAPÍTULO 2. MARCO TEÓRICO 12

    de una prioridad superior a la que se está ejecutando actualmente. La Programación dela Producción detallada de las tareas a realizar en un sistema de producción es necesariapara mantener la eficiencia y el control de las operaciones.

    2.2.1.1. Programación Predictiva de la Producción

    La programación predictiva de la producción es considerada, desde un enfoque dinámi-co, como una estrategia para enfrentar un problema de programación de producción. Di-cha estrategia proporciona un programa de forma anticipada que minimiza el efecto de loseventos sobre el valor de la medida de rendimiento (Gomez Gasquet, 2010).

    Esta, no contempla escenarios de reprogramación, por el contrario, busca que el plangenerado inicialmente sea el mismo que se implementa, tenga la capacidad de afrontar yminimizar el impacto de las diferentes eventualidades (modificaciones en la plantilla detrabajadores, cambio de prioridades, entre otras) que se puedan presentar.

    Desde otra perspectiva, la programación predictiva se entiende como aquella estrategiaque contempla diferentes escenarios que se pueden presentar a ráız de los cambios o even-tualidades frente al programa de producción, prestando mayor importancia al que generemayor impacto (Aytug, 2005).

    2.2.2. Configuración Open-shop

    La ruta que siguen los trabajos a realizar en un sistema productivo determina la confi-guración del mismo. Cuando esta ruta es arbitraria, es decir, no existe un flujo predefinidopara los trabajos, se dice que el sistema obedece a una configuración tipo open-shop.

    En un sistema productivo open-shop, el problema de programación OSSP (Open-ShopScheduling Problem) corresponde a un conjunto de trabajos J tiene que ser procesado porun conjunto de M máquinas. Cada trabajo se compone de m operaciones Oij , cada una delas cuales se deben procesar en una máquina diferente para un tiempo de procesamientodeterminado pij . Las operaciones de trabajo se pueden procesar en cualquier orden, encualquier momento; cada máquina procesa como máximo un trabajo a la vez, y cadatrabajo se procesa máximo por una máquina a la vez. Por otra parte, cada trabajo tieneuna fecha de lanzamiento, sólo después de que el funcionamiento de ese trabajo se puedeprocesar. En el trámite de cualquier operación, sin derecho preferente, el retraso se permite,y los puestos de trabajo son independientes (Bai & Tang, 2009).

    2.2.2.1. Modelo de programación entera mixta para sistemas open-shop

    Un modelo de programación entera mixta para encontrar la solución óptima para elproblema de scheduling en sistemas open-shop con la minimización del makespan comofunción objetivo fue propuesto por [9]. A continuación se describe la formulación con susrespectivos ı́ndices, parámetros, variables, función objetivo y restricciones.

    • Índices:i = trabajosk = máquinasj = operaciones del trabajo i

  • CAPÍTULO 2. MARCO TEÓRICO 13

    • ParámetrosM = Un número positivo muy grandem = Número de máquinasn = Número de trabajos disponibles en el tiempo cerorik = 1 si el trabajo i requiere la máquina k; 0 en otro casoNi = Número de operaciones del trabajo iPik = Tiempo de procesamiento del trabajo i en la máquina k

    • Variablessijk = Tiempo de inicio de la operación OijkCmax = Tiempo de finalización de la última operación en ser procesada

    xijk =

    1 Si el trabajo i se procesa en la posición j en la máquina k0 En otro caso

    zkiji′j′ =

    1 Si la operación Oijk precede la operación Oi′j′k No necesariamente de inmediato0 En otro caso

    • Función ObjetivoMin Cmax (2.1)

    • Sujeto axijk 6 rik∀i = 1, 2, . . . , n; j = 1, 2, . . . , Ni; k = 1, 2, . . . ,m (2.2)

    Ni∑j=1

    xijk = rik∀i = 1, 2, . . . , n; k = 1, 2, . . . ,m (2.3)

    m∑k=1

    xijk = 1∀i = 1, 2, . . . , n; j = 1, 2, . . . , Ni (2.4)

    sijk 6Mxijk∀i = 1, 2, . . . , n; j = 1, 2, . . . , Ni; k = 1, 2, . . . ,m (2.5)

    sijk + pik 6 sij+1k′ +M(2− xijk − xij+1k′) (2.6)

    ∀i = 1, 2, . . . , n; j = 1, 2, . . . , Ni; k, k′ = 1, 2, . . . ,m, k 6= k′

    sijk − si′j′k > pi′k −M(2− xijk − xi′j′k)−M(1− zkiji′j′) (2.7)

    ∀1 6 i < i′ 6 n; j, j′ = 1, 2, . . . , Ni; k = 1, 2, . . . ,m

    si′j′k − sijk > pik −M(2− xijk − xi′j′k)−Mzkiji′j′ (2.8)

    ∀1 < i 6 i′ 6 n; j, j′ = 1, 2, . . . , Ni; k = 1, 2, . . . ,m

    siNik + pik 6 Cmax∀i = 1, 2, . . . , n; k = 1, 2, . . . ,m (2.9)

    Cmax > 0; sijk > 0∀i = 1, 2, . . . , n; j = 1, 2, . . . , Ni; k = 1, 2, . . . ,m (2.10)

    El conjunto de restricciones (2.2) garantiza que la operación que corresponde a untrabajo que va a ser asignado a una máquina en cualquier instante del tiempo, solo sise ha parametrizado la necesidad de la operación; la asignación única de una operaciónen la variable xijk se garantiza en el conjunto de restricciones (2.3), donde para todaslas posibles posiciones de asignación de un trabajo en una máquina determinada tomaravalor solo si se ha parametrizado la necesidad de la operación; el conjunto de restricciones

  • CAPÍTULO 2. MARCO TEÓRICO 14

    (2.4) garantiza que un trabajo puede estar siendo procesado solo en una máquina en uninstante de tiempo; el tiempo de inicio de una operación en un instante de tiempo debetomar valor solo si la operación se va a iniciar en dicho instante, esto se asegura en elconjunto de restricciones (2.5); el conjunto de restricciones (2.6) se asegura de que el iniciode una operación se dará después de que su predecesora inmediatamente anterior hayaterminado; los conjuntos de restricciones (2.7) y (2.8) garantizan que el tiempo de iniciode una operación sea mayor o igual al tiempo de terminación de todas sus predecesoras;el conjunto de restricciones (2.9) representa la función objetivo, siendo el makespan unvalor que representa el tiempo de terminación del trabajo que más tarde en ser procesadoen todas las máquinas que sea requerido; por último las condiciones de no negatividadpara el makespan y el tiempo de inicio de las operaciones se garantiza en el conjunto derestricciones (2.10).

    2.2.3. Métodos de Resolución

    2.2.3.1. Algoritmos Evolutivos

    El origen de los algoritmos evolutivos proviene de la imitación y adaptación de procesosde evolución natural, entendiendo esta como un proceso que actúa sobre los individuos deuna población de la misma forma que lo hace la naturaleza con los organismos, utilizandolos mismos mecanismos empleados para la creación de un ser vivo en la generación deun descendiente (Valeiras Reina & MartÃn GarcÃa, 2004). La selección natural es elmecanismo que da preferencia a la elección de los individuos mejor adaptados al entornopara su posterior reproducción como sobrevivientes en la generación siguiente.

    Los procesos de evolución tienen lugar durante la reproducción, donde los mecanismosmás comunes son la mutación (donde los descendientes se obtienen a partir de los cambiosen los cromosomas de algún progenitor), y el cruce (donde se combinan los cromosomas dedos individuos para la obtención de los descendientes) (Wang, Singh, & Kusiak, 2010) Apartir de lo expuesto anteriormente, es posible entender un EA (Evolutive Algorithm) comoun proceso iterativo que trabaja sobre un conjunto de individuos, denominado población,en la que cada individuo presenta una potencial solución del problema a resolver. Demanera inicial la población normalmente es generada aleatoriamente y cada individuotiene asociada una medida que se realiza a través de una función de calidad que representala bondad del individuo respecto del problema a resolver. Este es el valor es la informaciónque emplea el algoritmo para realizar la búsqueda (Valeiras Reina & MartÃn GarcÃa,2004).

    2.2.3.2. Algoritmos Genéticos

    Los GA (Genetic Algorithms) desarrollados inicialmente en el libro Adaptation in Na-tural and Artificial Systems (Holland, 1975) donde son tratados de una forma sistemáticapor primera vez. Los GA están basados en un conjunto de individuos o población quetienen dos representaciones denominadas fenotipo y genotipo, siendo la primera una solu-ción potencial al problema que se desea resolver, y la segunda una codificación de dichasolución en forma de cromosoma, de esta manera, un cromosoma está formado por unasecuencia de genes que representan caracteŕısticas hereditarias. Los cromosomas de unapoblación evolucionan en sucesivas iteraciones, denominadas generaciones.

  • CAPÍTULO 2. MARCO TEÓRICO 15

    Los operadores cruce y mutación son mecanismos de recombinación genética capacesde generar nuevos cromosomas a partir de los cromosomas de individuos de la población.Un operador de cruce sencillo podŕıa intercambiar las secuencias que se formaŕıan al cor-tar ambos cromosomas por un punto de corte. Este método suele funcionar bien para unarepresentación binaria, aunque para otras no suele ser el más indicado. La eficacia deloperador de cruce está directamente relacionada con su capacidad de recoger las carac-teŕısticas de los progenitores que los hacen buenos y recombinarlas para crear individuosmejores. El operador mutación es el encargado de modificar esporádicamente individuosde forma aleatoria, para evitar que en el transcurso de las iteraciones el operador de crucegenere individuos cada vez más homogéneos y la población se concentre alrededor de unmı́nimo local (Lopez de Haro, Sanchez Martin, & Conde Collado, 2004).

    2.2.3.3. Algoritmos Meméticos

    Desde un punto de vista algoŕıtmico, es común considerar un algoritmo memético (Me-metic Algorithm −MA), como un GA, al que se añade un procedimiento de búsqueda local(Local Search − LS). Sin embargo, aunque los MA toman ideas de ambos procedimientos,también se proponen nuevos operadores que los hacen diferentes e independientes de losGA. En este sentido, una de las caracteŕısticas más descriptivas de los MA es la incorpo-ración de todo el conocimiento del problema que se tenga disponible, en contraposición alos GA, que evitan, en la medida de lo posible, las particularidades del problema (DuarteMuñoz, 2007).

    Un MA está compuesto por una población de agentes, que son una extensión del in-dividuo. Cada agente contiene una o varias soluciones y un procedimiento de mejora deestas soluciones. Los agentes pueden mejorar durante su vida mediante procedimientos debúsqueda local (Cotta, 2003). Además, se establecen relaciones de cooperación y compe-tición con el resto de agentes de la población (Duarte Muñoz, 2007).

    2.2.3.4. Recocido Simulado

    El nombre de esta técnica proviene del término Simulated Annealing (SA), a partir de laanaloǵıa con el proceso térmico de calentamiento y posterior enfriamiento de una sustanciapara obtener estados de baja enerǵıa en un sólido (Valeiras Reina & MartÃn GarcÃa,2004). Dicho proceso inicialmente reblandece el sólido mediante su calentamiento a altastemperaturas, y a continuación reducirla poco a poco, hasta que las part́ıculas del solidotiendan hacia el estado fundamental del mismo. Para cada temperatura la simulación serealiza varias veces hasta que el sólido o el sistema alcance un estado de equilibrio térmico,siempre que el enfriamiento se realice de una forma lenta, ya que si se hace rápidamente,el sólido puede llegar a estados meta-estables, en los cuales el sistema no se encontrará ensu más bajo nivel energético, existiendo defectos en forma de estructuras de alta enerǵıa(Valeiras Reina & MartÃn GarcÃa, 2004).

    La introducción del concepto de recocido a la optimización combinatoria la realizaronKirkpatrick (1983) y Cenry (1985), a través de la siguiente analoǵıa: Las soluciones delproblema de optimización corresponden a los diferentes estados del sistema, el criterio deevaluación de la calidad de la solución se hace con la enerǵıa de los estados; la soluciónóptima con el estado fundamental del sistema, los óptimos locales son los estados meta-

  • CAPÍTULO 2. MARCO TEÓRICO 16

    estables, y por último, la temperatura como un parámetro de control (Valeiras Reina &MartÃn GarcÃa, 2004).

    Según lo expuesto anteriormente, para que el sistema no se detenga ante la obtenciónde un óptimo local, sino que al llegar a uno de estos pueda encontrar una solución de menorcalidad, que permita a partir de esta continuar la búsqueda del optimo global, deteniéndosela búsqueda al encontrar este, o al cabo de un numero de iteraciones definidas inicialmente,generando como resultado no la última solución encontrada, sino la mejor hallada en labúsqueda.

  • CAPÍTULO 3

    Desarrolo del Proyecto

    El modelo propuesto en el presente trabajo se adapta a las caracteŕısticas del problemade secuenciación de sistemas productivos open-shop, problema que cuenta con una com-plejidad derivada de la cantidad de posibles combinaciones de m máquinas por las quepueden pasar los diversos trabajos j para completar el ciclo productivo, donde la totalidadde los trabajos sean procesados la totalidad de las máquinas, con el objetivo de mejoraruna medida de desempeño en este caso makespan [21].

    Para ello se presenta un algoritmo memético en el que se integran un algoritmo genéti-co y la metaheuŕıstica recocido simulado con el fin de aprovechar la eficiencia de losalgoritmos genéticos resolviendo problemas de optimización combinatoria y la explotaciónlocal del recocido simulado, en busca de encontrar una buena solución a los problemas desecuenciación de sistemas open-shop donde el número de máquinas sea igual al númerode trabajos, garantizando que en el instante de tiempo cero todas las máquinas inicienprocesando un trabajo.

    3.1. Algoritmo Genético

    3.1.1. Población inicial y definición del Individuo

    Se define una población de tamaño p donde cada individuo representa una soluciónfactible al problema de secuenciación de sistemas open-shop, p no es un valor fijo per-mitiendo que el usuario determine el tamaño que considere. El modelo propuesto prestaatención a las poblaciones con alta diversidad, debido a que estas poblaciones permitenmantener individuos con fenotipos diferentes que pueden representar mayor exploración,incluyendo individuos que no necesariamente son buenas soluciones; por otro lado, se evitatener poblaciones elitistas, ya que este tipo de poblaciones buscan preservar solo aquellosindividuos que representen buenas soluciones, y esa preservación puede llevar a que elalgoritmo caiga en óptimos locales de los cuales es dif́ıcil salir. El fenotipo y el genotipotienen la misma representación en el modelo: una permutación sin repeticiones de tamańoj ∗ m, donde j denota el número de trabajos y m el número de máquinas con las quecuenta el sistema, de esta manera cada número dentro de la permutación corresponde auna operación del trabajo ((x − 1)/n) + 1 en la máquina ((x − 1) %m) + 1 . Con esta

    17

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 18

    representación cada individuo contendrá información sobre la solución del problema quepermitirá al modelo analizar la combinación de trabajos y máquinas que arroje la me-jor solución. Al emplear como tipo de representación una permutación sin repeticiones,se busca a nivel de fenotipo conservar la factibilidad de la solución que representa cadaindividuo, debido a que al asignar a cada posición dentro del individuo el número de unaoperación (único para cada operación), logrando que cada operación esté una única vezen el individuo y que la totalidad de las operaciones que corresponden al procesamientode todos los trabajos en todas las máquinas estén presentes en el individuo [24]. En laigura 3.1 se muestra la representación de un individuo en un sistema de 3 trabajos y 3máquinas, donde cada número representa una operación a realizar.

    Figura 3.1. Representacion Individuo

    Fuente inédita

    3.1.1.1. Heuŕıstica para reducción de tiempos muertos

    En el presente trabajo se propone una heuŕıstica que reorganiza las posiciones de lasoperaciones dentro de los individuos de la población inicial, en procura de reducir el tiempoen los que los trabajos deben esperar para ser procesados en cada una de las máquinas(también conocido como tiempo muerto), como producto de la restricción que estableceque en cualquier instante de tiempo un trabajo puede ser procesado a lo sumo por unamáquina, la heuŕıstica da una nueva organización a los indiviuos generados de maneraaleatoria en la población inicial de acuerdo a su aparición en el individuo.

    La heuŕıstica propuesta toma el individuo generado y valida desde la posición número2 hasta la posición m ∗ n −m del inidividuo (ya que las últimas m posiciones quedaranorganizadas con la ubicación de las m ∗ n −m posiciones anteriores) que las operacionesque se encuentran a m posicionés de la que se esté tomando de referencia no pertenezcanni a la misma máquina ni al mismo trabajo, en algunos casos no se va a poder evitarque dos operaciones que pertenecen a la misma máquina o al mismo trabajo queden enposiciones cercanas debido a la reorganización previa de las posiciones que ya ha realizadola heuŕıstica.

    En el literal (a) de la Figura 3.2 se muestra un inidividuo que representa una soluciónfactible a un sistema de 4 máquinas y 4 trabajos. El literal (b) muestra como se van des-plazando las operaciones a lo largo de las diferentes posiciones tratando de evitar tiemposmuertos. Por último el literal (c) muestra el individuo final después de haber aplicado laheuŕıstica.

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 19

    Figura 3.2. Heuristica Propuesta

    Fuente inédita

    3.1.2. Medida de Desempeño

    Actualmente existen diversas medidas de desempeño para evaluar una secuencia ensistemas open-shop, para el modelo propuesto se escoge la medida que evalúa uno de losfactores más importantes: el tiempo de procesamiento. Es el caso del makespan encargadode determinar el tiempo de terminación de la última máquina en procesar el último trabajo,en otras palabras mide el tiempo total de ciclo donde todos los trabajos fueron procesadosen todas las máquinas.

    Al determinar el makespan de cada individuo de la población, se obtiene una simulacióndel ciclo productivo en el que cada individuo representa una asignación diferente de lostrabajos en las máquinas teniendo en cuenta que algunos instantes de tiempo será posibleque las máquinas van a estar ocupadas procesando operaciones de otros trabajos y laoperación asignada deberá esperar generando tiempo muerto para el trabajo.

    Los tiempos de procesamiento se representan con una matriz t que determina la dura-ción de cada operación, las dimensiones de t son j ∗m donde j representa trabajos y mrepresenta máquinas, se puede presentar el caso donde el tiempo de procesamiento de untrabajo i = [1; j] en la máquina k = [1;m] sea cero, lo que indica que el trabajo i no debeser procesado por la máquina k.

    De esta manera el makespan será determinado por el último trabajo que finalice suciclo, y el tiempo de finalización de ciclo para un trabajo será igual a la suma de lostiempos de procesamiento de las operaciones de trabajo en cada una de las máquinas máslos tiempos muertos correspondientes al trabajo

    Cmax = max

    m∑k=1

    tki + tmki∀i = 1, 2, . . . , j

    El objetivo consiste en encontrar una solución que presente una secuencia con el menortiempo de terminación del procesamiento de la última operación en la última máquina, enotras palabras, se hace referencia al problema de minimización del makespan y se entenderáque un buen individuo es aquel que reduzca el valor del makespan.

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 20

    3.1.3. Mecanismo de Selección

    El modelo presentado emplea dos mecanismos de selección, el primer mecanismo buscano caer en elitismo permitiendo la diversidad en los individuos, con el fin de evitar caeren óptimos locales; el segundo es un mecanismo de selección aleatorio donde cualquierindividuo de la población puede ser elegido como padre.

    Basado en la premisa anterior el primer mecanismo de selección propuesto se basa en untipo de torneo, donde cuatro individuos son seleccionados aleatoriamente de la población,el ganador de esos cuatro individuos es escogido como uno de padres encargados de crearnuevos individuos y posiblemente perdurar en la siguiente generación.

    El ganador del torneo se elige a través de una ruleta, donde la ruleta es un mecanismo enel que se forman dos parejas con los cuatro individuos seleccionados, cada pareja enfrentasus individuos de la siguiente manera: la probabilidad de cada uno de los individuos serseleccionado corresponde a la razón del valor fitness sobre la sumatoria del valor del fitnessde los dos individuos, permitiendo aśı que un individuo con mejor función fitness tengamayor probabilidad de ser escogido en la ruleta, los ganadores de cada ruleta se enfrentaránnuevamente en otra ruleta bajo las mismas condiciones y el ganador será también elganador del torneo.

    El proceso anteriormente descrito se repetirá para seleccionar al segundo padre y unavez obtenidos los dos padres se les aplicaran los operadores genéticos (encargados deobtener los hijos a partir de modificaciones en el genotipo de los padres, buscando preservarlas caracteŕısticas que otorgan una buena solución y corregir las falencias de los individuos).A cada operador genético se le asignará una probabilidad de ser aplicado a la pareja depadres con el fin de aprovechar las ventajas que cada operador le brinda a los individuos. Laprobabilidad de aplicación de cada operador será asignada de forma arbitraria dependiendodel desempeño del operador.

    El segundo mecanismo de selección consiste en generar un número aleatorio con distri-bución uniforme entre uno y el número de individuos de la población, ese número determi-nará cuál será el individuo seleccionado para ser uno de los padres a los que se les aplicaránlos operadores genéticos. Este procedimiento se repetirá para encontrar el segundo padrecon la condición de que no se puede seleccionar el mismo individuo dos veces para que lospadres no resulten siendo el mismo individuo.

    Una vez se ha obtenido una pareja de hijos a partir de una pareja de padres (por mediode los operadores genéticos), se tienen cuatro individuos que competirán entre ellos paraser seleccionados como dos de los individuos que conformarán la nueva generación.

    3.1.4. Operadores Genéticos

    El modelo propuesto usará dos operadores genéticos, uno de cruce y uno de mutación;se debe aclarar que no todos los operadores son aptos para la representación seleccionadaya que se debe garantizar que cada individuo sea una permutación sin repeticiones y losoperadores tradicionales violaŕıan esa restricción.

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 21

    3.1.4.1. Mutación

    En la mutación se empleará el operador conocido como swap mutation, el cual será elencargado de seleccionar mediante una distribución uniforme dos posiciones dentro de larepresentación del cromosoma; los números de las operaciones que se encuentran es esasposiciones serán intercambiados entre śı, con el fin de construir un nuevo individuo queconserve en gran parte las caracteŕısticas del padre, pero que también brinde la posibilidadde explorar localmente el espacio de soluciones factibles como se explicará a continuación.

    El hijo creado a partir de cada individuo tendrá un cromosoma con una leve variaciónen su estructura que podŕıa significar un incremento en el fitness del nuevo individuo.El incremento se puede presentar gracias a la exploración local derivada de los pequeñoscambios que se apliquen al individuo original (padre), cambios que pueden encontrar enel hijo un mejor desempeño que el del padre tan solo con intercambiar la posición de dosde sus operaciones.

    Se ha seleccionado este operador debido a que conserva la propiedad del cromosoma detener en su representaciÓn una permutaciÓn sin repeticiones. Ésta conservación se debe aque al intercambiar dos posiciones del cromosoma, que en otras palabras se entiende comotomar dos operaciones y cambiar su prioridad en el ciclo de procesamiento, no se altera lafactibilidad de la solución que representa el nuevo individuo, permitiendo que se realice labúsqueda local respetando las restricciones del problema.

    3.1.4.2. Cruce

    Para el cruce será utilizado un operador de adyacencia denominado Recombinaciónde dos vértices (2-edge recombination), el cual se encarga de crear una tabla de adyacen-cias a partir de la ubicación de las operaciones en los cromosomas de los padres, es decir,la tabla muestra las adyacencias de cada operación para los dos padres, donde las filasrepresentan cada una de las operaciones y las columnas hacen referencia a las operacionesadyacentes en los cromosomas de los padres.

    En caso de que los dos padres cuenten con la misma adyacencia para una operación,el operador marcará en la tabla con un signo negativo dicha adyacencia, y se registrarásolo una vez. Para la construcción de cada hijo se seleccionará la primera operación demanera aleatoria, una vez seleccionada la operación se deben buscar cuales operacionesson adyacentes a ella, teniendo prioridad de asignación la adyacencia que esté marcada consigno negativo; si no hay adyacencias negativas, se seleccionará alguna de las operacionesadyacentes de manera aleatoria [25].

    En la Figura 3.2 se observa una tabla de adyacencias para dos individuos que repre-sentan una solución factible a un problema que cuenta con 3 máquinas y 3 trabajos. Latabla marca para dos posiciones una adyacencia con signo negativo, lo que indica que lasoperaciones 2 y 7 son adyacentes en los dos individuos.

    Cada vez que sea seleccionada una operación se deberá eliminar de la tabla de adya-cencias tanto en fila como en columnas con el fin de que no vuelva a ser seleccionada; esteproceso se debe repetir hasta que se haya creado el cromosoma del hijo con la totalidadde las operaciones. En caso de que se asigne una operación y sus adyacencias se hayanasignado ya, se debe elegir de manera aleatoria una de las operaciones que no hayan si-

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 22

    Figura 3.3. Tabla de Adyacencias

    Fuente inédita

    do asignadas y continuar con el proceso. Cada pareja de padres creará dos hijos con eloperador descrito y cada hijo contará con la tabla de adyacencias para su construcción.

    Se elige este operador debido a su capacidad de preservar en el paso de una generacióna otra las adyacencias que representen un mejor desempeño para los individuos; si unaadyacencia que mejore el desempeño de la solución persiste en los padres, será marcadacon el signo negativo y el operador obligará a que sea heredada por los hijos, impidiendoaśı que se pierda una buena permutación.

    3.1.5. Mecanismo de Reemplazo

    Una vez se han obtenido dos hijos a partir de dos padres, se emplearán dos mecanis-mos de reemplazo que permitirán a dos de estos cuatro individuos construir la siguientegeneración de la población, aśı se mantiene constante el tamaño de la población a lo largode todas las generaciones que sean construidas. EN el primer mecanismo se espera quelos individuos que sean seleccionados creen una mejor generación con mejores solucionesal problema propuesto, debido a que el mecanismo de reemplazo propuesto está diseñadopara favorecer a los mejores individuos.

    Con el fin de no caer en óptimos locales ni limitar el espacio de búsqueda, se define aque un individuo que represente una mala solución no se le va a restringir la posibilidad deavanzar a la siguiente generación. Sin embargo, su probabilidad de ser seleccionado va aser menor que la de un buen individuo. Por esta razón, se empleará un mecanismo steady-state en el que el padre y el hijo que cuenten con el valor de fitness más bajo (consideradopara este problema como un mejor desempeño), se enfrentarán en una ruleta, y de igualmanera el padre y el hijo con el mayor valor de fitness (peor desempeño) se enfrentaránen otra ruleta.

    El ganador de cada ruleta será seleccionado para formar parte de la siguiente gene-ración de la población. En la construcción de la nueva generación, es de esperarse quedos individuos buenos sean seleccionados debido a la ventaja que les aporta su función defitness; pero al existir la probabilidad de que los individuos que cuentan con un desem-peño menor (malos individuos) sean seleccionados para construir la siguiente generación,se desprende la posibilidad de que a partir de ellos sean creados inidividuos con un buenfitness, incluso en algunos casos mejor que el fitness de un hijo generado a partir de buenospadres. Lo anterior se debe a que al aplicar los operadores genéticos sobre un individuo

  • CAPÍTULO 3. DESARROLO DEL PROYECTO 23

    malo junto a un individuo bueno pueden potenciar las ventajas de los dos, y se obtieneuna reducción en el elitismo, permitiendo mayor diversidad en la población.

    El segundo mecanismo será generacional, donde sin importar el valor del fitness de loshijos con respecto al de los padres, serán los hijos los individuos seleccionados para formarla siguiente generación, esto se hace con el fin de mantener la diversidad de los individuosen la población.

    3.2. Recocido Simulado

    Un algoritmo básico de recocido simulado es aplicado a los inidividuos seleccionadospara crear la siguiente generación de la población, el objetivo es realizar una exploraciónlocal que permita realizar a los indiviuos una mejora que puede ayudar en el desempeñode cada inidividuo.

    El vecindario del algoritmo es construido con diez inidividuos generados bajo la si-guiente premisa: se eligen dos posiciones al azar del individuo y las operaciones que sese encuentren en ellas serán intercambiadas entre si, el procedimiento anteriormente des-crito se realiza dos veces con el fin de obtener dos mutaciones del individio inicial en laconstrucción de un integrante del vecindario, este cambio ayudara a evaluar el fitness deindividuos similares a los escogidos en el mecanismo de selección.

  • CAPÍTULO 4

    Resultados Obtenidos

    Con el fin de contar con datos que permitan determinar qué elementos del modelopropuesto presentan un mejor rendimiento en la obtención de individuos con bajo fitness,se presenta diversos experimentos que ejercerán presión en diferentes puntos del algoritmo.

    Se diseña un conjunto de experimentos donde se combinan los mecanismos de seleccióny reemplazo descritos, junto con la heuŕıstica propuesta en el modelo para modificar losindividuos de la población inicial. Los operadores genéticos serán los mismos para todoslos experimentos teniendo la mutación un 0.6 de probabilidad y el cruce 0.4.

    En total se plantean 8 experimentos que probados en su totalidad en el algoritmogenético y los dos que presentaron un mejor rendimientos fueron probados con el algoritmomemético. Los experimentos son:

    • Experimento 1En el experimento 1 se empleará la heuŕıstica propuesta que toma a los individuoscreados de manera aleatoria para conformar la población inicial aplicando una mejoraen pro de reducir los tiempos muertos de la solución que representa el individuo. Elmecanismo de selección se hará mediante torneo y el reemplazo será ejecutado por elmecanismo steady-state. La configuración del algoritmo anteriormente descrita tienecomo finalidad evaluar el impacto que tiene en las soluciones generadas el hecho deejercer presión en la generación de la población inicial, la selección y el reemplazopara mantener buenos individuos en la población.

    • Experimento 2El experimento 2 utilizará la heuŕıstica propuesta encargada de proporcionar unamejora a los individuos de la población inicial y aśı reducir tiempos muertos en com-paración con los individuos creados de manera aleatoria. El mecanismo de selecciónse hará mediante torneo y el reemplazo será generacional, es decir, sin importar lasolución que representes los individuos hijos serán los seleccionados para pertenecera la población de la siguiente generación. El fin del experimento es analizar el com-portamiento del algoritmo al obligarlo a ejercer presión en la población inicial y enla selección para mantener buenos individuos, permitiendo mantener la diversidadde los individuos en el reemplazo.

    24

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 25

    • Experimento 3En el experimento 3 se empleará la heuŕıstica propuesta que se encargará de propor-cionar una mejora respecto a los tiempos muertos a los individuos de la poblacióninicial. El mecanismo de selección será traves de una selección uniforme, donde todosindividuos de la población tendrán la misma probabilidad de ser seleccionados comopadres y el reemplazo se hará con el mecanismo steady-state. Estudiar el impacto quetiene forzar a la población inicial y al reemplazo a tratar preservar buenos individuosmientras que la selección permite diversidad, es el objetivo del presente experimento.

    • Experimento 4El experimento 4 cuenta con una configuración del algoritmo donde no se les haráninguna modificación a los individuos generados de manera aleatoria para conformarla población inicial, el mecanismo de selección se hará mediante torneo y el reemplazoserá ejecutado por el mecanismo steady-state. El experimento tiene como fin analizarel comportamiento del algoritmo al forzar a los mecanismos de selección y reemplazoa buscar la preservación de los mejores individuos.

    • Experimento 5En el experimento 5 se evaluara el impacto de ejercer presión en la población ini-cial para empezar el algoritmo con individuos que representen una reducción en lostiempos muertos en la solución que representan mediante la heuŕıstica propuesta.El mecanismo de selección será uniforme donde todos los individuos tendrán la mis-ma probabilidad de ser seleccionados como uno de los dos padres a los que se lesaplicarán los operadores genéticos, y el mecanismo de reemplazo será generacional.

    • Experimento 6El experimento 6 emplea una configuración en la que aquellos individuos que cuentancon un buen fitness y hayan sido seleccionados como uno de los cuatro participantesdel torneo tendrán mayor probabilidad de ser seleccionados en el mecanismo deselección para ser los padres, mientras que la población inicial será aleatoria y elmecanismo de reemplazo será generacional. El objetivo del experimento es evaluarel comportamiento del algoritmo al tratar de forzar al mecanismo de selección deconservar buenos individuos.

    • Experimento 7Determinar el comportamiento del algoritmo al ejercer presión en el mecanismode reemplazo para tratar de que los mejores individuos sean los que pasen a lasiguiente generación es el objetivo del experimento 7. Lo anterior se hará a travésdel mecanismo de selección steady-state en el que padres e hijos son enfrentadosen un torneo donde aquellos individuos que tengan un mejor fitness tendrán mayorprobabilidad de pasar a la siguiente generación. La población inicial será aleatoria yel mecanismo de selección será uniforme.

    • Experimento 8Evaluar el comportamiento de una configuración en la que no se busca ejercer presiónen la población inicial ni en los mecanismos de selección y reemplazo es el objeto deestudio del experimento 8. La población inicial será generada de manera aleatoria,el mecanismo de selección será uniforme y el reemplazo será generacional.

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 26

    Los resultados obtenidos con los algoritmos genético y memético propuestos son com-parados con dos trabajos realizados previamente, con el fin de analizar su rendimiento. Elprimer trabajo de referencia es el realizado por [33] quien generó una serie de instanciasmediante un algoritmo de búsqueda tabú, el segundo trabajo de referencia fue el realizadopor [7] donde mediante un algortimo de ramificación y acotamiento se logra reducir elmakespan obtenido por Taillard.

    A continuación se presentan una serie de tablas que resumen los resultados obtenidospara cada una de las intancias planetadas por [33], donde se muestra el mińımo valorposible, los mejores resultados obtenidos en los trabajos de referencia y el mejor resultadoobtenido en los algoritmos genético y memético propuestos (una tabla por cada algorit-mo propuesto), el mejor resultado del algoritmo propuesto está acompañado del o losexperimentos que obtuvieron dicho resultado.

    Tabla 4.1. Mejores resultados obtenidos Algoritmo Genético 4x4

    Tai4-1 Óptimo Taillard Brucker Propuesto

    1 186 193 193 193(2,4)

    2 229 236 236 236(2)

    3 262 271 271 271(1,2)

    4 245 250 250 250(1,2)

    5 287 295 295 295(1,2)

    6 185 189 189 189(1,2,4)

    7 197 201 201 201(1)

    8 212 217 217 217(1,2,4)

    9 258 261 261 261(1,2)

    10 213 217 217 217(1,2)

    En la Tabla 4.1 se presentan los resultados de las instancias generadas para 10 proble-mas que cuentan con 4 máquinas y 4 trabajos, el algoritmo genético propuesto iguala losresultados obtenidos en los dos trabajos de referencia, se evidencia que para 8 de los 10problemas dados, el Experimento 1 obtiene la mejor solución del algoritmo, el Experimen-to 2 proporciona la mejor solución en 9 problemas y el experimento 4 encuentra el mejorresultado en 3 de los problemas.

    Para los 10 problemas dados fueron corridas 5 replicas del algoritmo genético con untamaño de población igual a 100 y 100 iteraciones, para los 4 experimentos que presentaron

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 27

    mejor desempeño con la configuración anterior se realizaron 25 replicas aumentando eltamaño de la población y el número de iteraciones a 500 y 500 respectivamente con elfin de obtener mejores resultados, partiendo de la premisa de que con más individuos seobtiene mayor diversidad. Los 4 experimentos con mejor desempeño fueron 1, 2, 4 y 6.

    Tabla 4.2. Mejores resultados obtenidos Algoritmo Memético 4x4

    Tai4-1 Óptimo Taillard Brucker Propuesto

    1 186 193 193 193(1)

    2 229 236 236 236(1)

    3 262 271 271 271(1)

    4 245 250 250 250(1)

    5 287 295 295 295(1,2)

    6 185 189 189 189(1,2)

    7 197 201 201 201(1,2)

    8 212 217 217 217(1,2)

    9 258 261 261 261(1,2)

    10 213 217 217 217(1)

    En la Tabla 4.2 se registran los mejores resultados obtenidos por el algoritmo meméticopropuesto frente a los dos trabajos de referencia seleccionados, los resultados a los que llegael algoritmo igualan la mejor solución de los 10 problemas de referencia desarrollados, elExperimento 1 obtiene el mejor resultado mientras que el Experimento 2 obtiene la mejorsolución en 5 problemas.

    Para la ejecución del algoritmo memético fueron seleccionados los 2 experimentos quepresentaron un mejor desempeño en los resultados obtenidos en el algoritmo genético,dichos experimentos fueron el 1 y 2 destacando el uso de la heuŕıstica propuesta y elmecanismo de selección mediante torneo. En el algortimo los parámetros de tamaño de lapoblación y número de iteraciones son 100 y 100 respectivamente, y fue replicado 30 vecespara cada uno de los problemas.

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 28

    Tabla 4.3. Mejores resultados obtenidos Algoritmo Genético 5x5

    Tai5-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    1 295 300 300 302(2) 0.67

    2 255 262 262 267(2) 1.91

    3 321 328 323 334(2) 1.83

    4 306 310 310 316(1) 1.94

    5 321 329 326 333(2) 1.22

    6 307 312 312 318(1) 1.92

    7 298 305 303 308(1) 1.98

    8 292 300 300 307(1,2) 2.33

    9 349 353 353 359(1) 1.70

    10 321 326 326 328(2) 0.61

    Para los problemas que cuentan con 5 máquinas y 5 trabajos se presenta la Tabla 4.3donde se añade la columna % Dif Taillard, que indica el porcentaje de diferencia entre lamejor solución obtenida por el algoritmo genético propuesto y el mejor resultado logradopor los trabajos de referencia. En este caso el porcentaje promedio para los 10 problemasdados es de 1.61.

    Los experimentos que presentan mejor rendimiento y obtuvieron las mejores solucionesdel algoritmo fueron el 1 y el 2, donde el experimento 1 encuentra el mejor resultado en 5problemas y el experimento 2 en 6 problemas, los dos experimentos encuentran la mejorsolución en el problema 8.

    Los experimentos 1, 2, 4 y 6 fueron los que presentaron un mejor desempeño en las5 corridas iniciales del algoritmo con 100 indiviuos y 100 iteraciones, motivo por el cualse hicieron 25 corridas adicionales incrementando tanto el número de iteraciones como deinidividuos a 500.

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 29

    Tabla 4.4. Mejores resultados obtenidos Algoritmo Memético 5x5

    Tai5-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    1 295 300 300 301(1) 0.33

    2 255 262 262 262(1) 0

    3 321 328 323 323(1) -1.52

    4 306 310 310 315(1) 1.61

    5 321 329 326 329(1) 0

    6 307 312 312 318(1) 1.92

    7 298 305 303 303(1) -0.66

    8 292 300 300 302(1) 0.67

    9 349 353 353 359(1) 1.70

    10 321 326 326 330(1) 1.23

    La Tabla 4.4 recopila la información correspondiente a los mejores resultados obtenidosen el algoritmo memético propuesto en los 10 problemas propuestos en los trabajos dereferencia que cuentan con 5 máquinas y 5 trabajos. Para los problemas 3 y 7 el algoritmopropuesto logra un mejor resultado que [33] igualando en los dos problemas el mejorresultado alcanzado por [7].

    En los 8 problemas en los que no se logró obtener un mejor resultado a los de losreferentes se tiene en promedio un porcentaje de diferencia respecto a Taillard de 0.74,la mejor solución del algortimo memético propuesto para cada uno de los problemas fueencontrada por el Experimento 1 a pesar de que fueron usados los experimentos 1 y 2. Laconfiguración empleada cuenta con 30 corridas de 100 individuos y 100 iteraciones.

    Tabla 4.5. Mejores resultados obtenidos Algoritmo Genético 7x7

    Tai7-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    1 435 438 435 449(2) 2.51

    2 443 449 443 478(1) 6.46

    Continúa en la siguiente página

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 30

    Tabla 4.5. Mejores resultados obtenidos Algoritmo Genético 7x7

    Tai7-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    3 468 479 468 499(1) 4.18

    4 463 467 463 480(1) 2.78

    5 416 419 416 445(1) 6.21

    6 451 460 451 480(1) 4.35

    7 422 435 422 453(1) 4.14

    8 424 426 424 457(1) 7.28

    9 458 460 458 484(2) 5.22

    10 398 400 398 433(1) 8.25

    Para encontrar soluciones a los problemas planteados para los sistemas que cuentan con7 máquinas y 7 trabajos, el algmoritmo geético propuesto fue corrido en 5 oportunidadescon los 8 experimentos, los cuatro experimentos que presentaron un mejor desempeñofueron 1, 2, 4 y 6, para los experimentos nombrados anteriormente se realizaron 25 corridasadicionales aumentando el número de individuos a 500 y el número de iteraciones a 500.

    Los resultados son presentados en la Tabla 4.5, donde se observa que el Experimento 2obtiene la mejor solución en dos de los problemas, mientras que el Experimento 1 encuen-tra la mejor solución del algoritmo propuesto en 8 problemas, en promedio el algoritmogenético queda en un porcentaje de diferencia respecto a Taillard de 5, 14

    Tabla 4.6. Mejores resultados obtenidos Algoritmo Memético 7x7

    Tai7-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    1 435 438 435 439(1) 0.23

    2 443 449 443 462(1) 2.90

    3 468 479 468 487(1) 1.67

    4 463 467 463 477(1) 2.14

    Continúa en la siguiente página

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 31

    Tabla 4.6. Mejores resultados obtenidos Algoritmo Memético 7x7

    Tai7-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    5 416 419 416 428(1) 2.15

    6 451 460 451 474(1) 3.04

    7 422 435 422 442(1) 1.61

    8 424 426 424 430(1) 0.94

    9 458 460 458 467(1) 1.52

    10 398 400 398 412(1) 3.00

    Para los problemas que tienen 7 máquinas y 7 trabajos, se realizaron 30 corridas delalgoritmo memético propuesto con una configuración de 100 individuos y 100 iteraciones,los experimentos seleccionados para las corridas descritas fueron los dos que presentaronun mejor desempeño en el algortimo genético, estos fueron los experimentos 1 y 2.

    Los resultados consignados en la Tabla 4.6 revelan que el Experimento 1 obtiene el me-jor resultado para los 10 problemas propuestos por los trabajos de referencia, registrandoun porcentaje de diferencia promedio de 1.92 respecto a Taillard.

    Tabla 4.7. Mejores resultados obtenidos Algoritmo Genético 10x10

    Tai10-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    1 637 652 640 725(2) 11.20

    2 588 596 588 659(2) 10.57

    3 598 617 603 686(1) 11.18

    4 577 581 577 658(1) 13.25

    5 640 657 640 721(2) 9.74

    6 538 545 538 623(1) 14.31

    7 616 623 629 704(1) 13.00

    Continúa en la siguiente página

  • CAPÍTULO 4. RESULTADOS OBTENIDOS 32

    Tabla 4.7. Mejores resultados obtenidos Algoritmo Genético 10x10

    Tai10-1 Óptimo Taillard Brucker Propuesto % Dif Tai-llard

    8 595 606 595 685(2) 13.04

    9 595 606 595 666(1) 9.90

    10 596 604 613 690(2) 14.24

    La Tabla 4.7 muestra los mejores reusltados obtenidos por el algoritmo genético pro-puesto para los problemas propuestos por Taillard para 10 máquinas y 10 trabajos, serealizaron 5 corridas iniciales para los 8 experimentos planteados con el fin de identificaraquellos que presentan un mejor desempeño, los mejores resultado fueron obtenidos porlos experimentos 1, 2, 4 y 6, para los experimentos anteriores se realizaron 25 corridasadicionales aumentando el