31
Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería Escuela de Ingeniería Informática RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO CARLOS FRANCISCO CASTILLO MARTÍNEZ NICOLÁS ANDRÉS FERNÁNDEZ ARGANDOÑA ABRIL 2014 INFORME FINAL DEL PROYECTO PARA OPTAR AL TÍTULO PROFESIONAL DE INGENIERO DE EJECUCIÓN EN INFORMÁTICA

RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería

Escuela de Ingeniería Informática

RESOLUCIÓN DEL MCDP UTILIZANDO

ELECTROMAGNETISMO

CARLOS FRANCISCO CASTILLO MARTÍNEZ

NICOLÁS ANDRÉS FERNÁNDEZ ARGANDOÑA

ABRIL 2014

INFORME FINAL DEL PROYECTO PARA OPTAR AL TÍTULO PROFESIONAL DE INGENIERO DE EJECUCIÓN EN INFORMÁTICA

Page 2: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

Pontificia Universidad Católica de Valparaíso Facultad de Ingeniería

Escuela de Ingeniería Informática

RESOLUCIÓN DEL MCDP UTILIZANDO

ELECTROMAGNETISMO

CARLOS FRANCISCO CASTILLO MARTÍNEZ

NICOLÁS ANDRÉS FERNÁNDEZ ARGANDOÑA

Profesor Guía: Ricardo Soto De Giorgis

Profesor Co-referente: Wenceslao Palma Muñoz

Carrera: Ingeniería de Ejecución en Informática

Abril 2014

Page 3: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

A nuestras familias, por motivarnos con su cariño a alcanzar las metas que nos propusimos.

A nuestro profesor guía, por depositar su confianza en nuestras capacidades.

A nuestros amigos, quienes nos entregaron su apoyo en los momentos más difíciles.

Page 4: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

i

Índice Resumen .................................................................................................................................... ii Lista de Figuras ....................................................................................................................... iii Lista de Tablas .......................................................................................................................... iv

1 Introducción .................................................................................................................. 1

2 Definición de Objetivos ................................................................................................ 2

2.1 Objetivo General ............................................................................................. 2

2.2 Objetivos Específicos ...................................................................................... 2

3 Estado del Arte ............................................................................................................. 3

4 Metaheurística aplicada ............................................................................................... 4

4.1 Inicialización .................................................................................................... 5

4.2 Búsqueda Local ............................................................................................... 5

4.3 Cálculo Vector de Fuerza Total ..................................................................... 6

4.4 Movimiento de partículas ............................................................................... 8

5 Manufacturing Cell Design Problem ........................................................................ 10

5.1 Representación del MCDP ........................................................................... 11

6 Implementación de la Solución ................................................................................. 13

6.1 Implementación en Netbeans ....................................................................... 13

7 Resultados ................................................................................................................... 15

7.1 Matrices 16x30 ............................................................................................... 15

8 Conclusión ................................................................................................................... 21

9 Referencias .................................................................................................................. 22

Page 5: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

ii

Resumen El presente proyecto consiste en analizar un caso de estudio, el cual corresponde al

diseño de celdas de manufactura; en inglés denominado como Manufacturing Cell Design Problem o MCDP. Éste comprende la agrupación de máquinas y las piezas que éstas procesan en conjuntos denominados celdas. Para optimizar el diseño de dichas celdas, se investiga e implementa una solución que utiliza una técnica de búsqueda incompleta basada en la teoría del Electromagnetismo. Mediante la creación de soluciones iniciales aleatorias, se utilizarán operadores para modificarlas, de modo de encontrar agrupaciones de máquinas que minimicen los movimientos de piezas entre las celdas, para cada problema estudiado.

Palabras Clave: Restricción, Programación con Restricciones, Variable, Dominio, Óptimo, Metaheurística, Electromagnetismo. MCDP, Manufacturing Cell Design Problem, Máquina, Pieza, Celda.

Abstract This project consists of analyzing a study case. This study case is about the

Manufacturing Cell Design Problem (MCDP). This problem includes the grouping of machines and parts into sets called cells. For the optimization of the design of the cells, a solution is investigated and implemented, which uses an incomplete search technique based in the Electromagnetism theory. Through the creation of random initial solutions, the operators of the metaheuristic are used for the modification of the solutions, for to find groups of machines that minimize the movements of parts between cells, for each study case.

Keywords: Constraint, Constraint Programming, Variable, Domain, Optimal, Metaheuristic, Electromagnetism, MCDP, Manufacturing Cell Design Problem, Machine, Part, Cell.

Page 6: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

iii

Lista de Figuras Figura 4.1 Algoritmo de Búsqueda Local basado en Electromagnetismo. .................... 6

Figura 4.2 Ley de Coulomb. ........................................................................................... 7

Figura 4.3 Algoritmo del Movimiento de Partículas basado en Electromagnetismo. .... 9

Figura 4.4 Algoritmo de Metaheurística basada en Electromagnetismo. ...................... 9

Figura 7.1 Gráfico Problema 2, MMax=10, C=2, 5 partículas, 10.000 iteraciones. .... 18

Figura 7.2 Gráfico Problema 7, MMax=7, C=3, 5 partículas, 10.000 iteraciones. ...... 18

Figura 7.3 Gráfico Problema 1, MMax=9, C=2, 5 partículas, 100.000 iteraciones. .... 19

Figura 7.4 Gráfico Problema 9, MMax=6, C=3, 5 partículas, 100.000 iteraciones. .... 19

Figura 7.5 Gráfico Problema 6, MMax=8, C=2, 20 partículas, 10.000 iteraciones. .... 20

Figura 7.6 Gráfico Problema 1, MMax=8, C=3, 20 partículas, 10.000 iteraciones. .... 20

Page 7: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

iv

Lista de Tablas Tabla 5.1 Matriz Máquina-Pieza Inicial. ...................................................................... 10

Tabla 5.2 Matriz Máquina-Pieza Final. ........................................................................ 11

Tabla 7.1 Tabla Comparativa de problemas de MCDP con dos celdas (1) ................. 16

Tabla 7.2 Tabla Comparativa de problemas de MCDP con dos celdas (2) ................. 16

Tabla 7.3 Tabla Comparativa de problemas de MCDP con tres celdas (1) ................. 17

Tabla 7.4 Tabla Comparativa de problemas de MCDP con tres celdas (2) ................. 17

Page 8: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

1

1 Introducción El proyecto de título documentado en este informe, realiza una investigación aplicada

acerca de los potenciales usos que la Programación con Restricciones puede tener para la optimización de procesos, como el diseño de celdas de manufactura (Manufacturing Cell Design Problem, MCDP). Este problema consiste en encontrar una asignación de máquinas y piezas que minimice el movimiento de éstas entre familias, o también denominadas como celdas. Para llevar a cabo el proyecto, se ha escogido una técnica de búsqueda de soluciones incompleta; es decir, que no explora el ciento por ciento de las soluciones [4]. La técnica mencionada se basa en la teoría del Electromagnetismo, la cual representa cada solución de MCDP como una partícula, con comportamientos y operadores propios que la modifican o mueven hacia valores óptimos [10].

Uno de los propósitos de este proyecto, es continuar con las investigaciones acerca de ambos temas de estudio. MCDP ha sido analizado bajo dos enfoques: por un lado, se le ha visto como un problema de satisfacción de restricciones; por otro lado, como un problema de optimización [17]. MCDP ha sido implementado y evaluado bajo plataformas diferentes, en conjunto con diversas metaheurísticas tales como algoritmos genéticos o Tabu Search. Asimismo, Electromagnetismo se considera una técnica nueva para la optimización de restricciones, la cual ha sido utilizada para evaluar y mejorar soluciones a problemas como Set Covering y Global Optimization [8][10].

Para comenzar, el informe realiza la especificación de los objetivos del proyecto. Se detallan también, investigaciones previas de MCDP y Electromagnetismo, mediante el Estado del Arte. Es así como se da paso a la presentación de la técnica de búsqueda escogida, la cual está basada en los principios físicos de la teoría del electromagnetismo. Posterior a ello, se especifican los algoritmos o estrategias para optimizar la búsqueda de soluciones que satisfagan las restricciones del Manufacturing Cell Design Problem.

Por otra parte, el documento realiza una descripción de la problemática, en donde se definen formulaciones matemáticas que serán las restricciones para la búsqueda de soluciones para MCDP. Posterior a ello, se dan a conocer los pasos y estructuras diseñadas para la implementación; se determina el entorno de trabajo así como la representación del problema bajo un lenguaje de programación determinado. El fin de lo anterior, es encontrar la solución que entrega la mayor performance dentro del problema; a ésta se le denomina como Óptimo Global.

Al final, se podrán encontrar los resultados obtenidos a través del algoritmo, siendo éstos exhibidos mediante un conjunto de tablas; además, se incluyen gráficos que muestran el comportamiento del algoritmo implementado durante su ejecución. Así, la finalidad es obtener conocimientos acerca de MCDP, lo que se complementa con la integración de Electromagnetismo para la búsqueda y optimización de soluciones. En síntesis, lo que se espera cumplir en el presente proyecto, descrito en este informe, es obtener valores globales que se acerquen a los aceptables como resultado óptimo, según la literatura existente.

Page 9: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

2

2 Definición de Objetivos La investigación aplicada que se desarrollará y será explicada mediante este

documento, comprende un conjunto de metas a cumplir, las cuales también se pueden resumir en un único objetivo que abarca a todo el proyecto.

2.1 Objetivo General

Proponer e implementar una solución informática, que optimice el problema relacionado con el diseño de celdas de manufactura, o MCDP, mediante la utilización de un algoritmo de búsqueda incompleto.

2.2 Objetivos Específicos

Investigar e implementar las variables y restricciones referentes al Manufacturing Cell Design Problem (MCDP).

Estudiar las variables y condiciones referentes a la metaheurística basada en la teoría del Electromagnetismo (EM).

Integrar el algoritmo de metaheurística Electromagnetismo con la implementación del MCDP.

Estudiar y experimentar el comportamiento de la implementación desarrollada, aplicada en problemas complejos de MCDP.

Page 10: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

3

3 Estado del Arte Dentro del campo de la programación con restricciones, se pueden encontrar las

primeras investigaciones formales en los avances de Waltz (1972) [18], Montanari (1974) [19] y Mackworth (1977) [20]; en esta época no se podía realizar la resolución de problemas a través de computadores debido a la capacidad insuficiente de éstos [3]. Posterior a esto, se estableció la distinción de dos áreas de la programación con restricciones, con diferencias sustanciales entre sí: resolución de restricciones y satisfacción de restricciones [1]. En el transcurso de la historia, se pueden identificar importantes investigaciones acerca del uso de algoritmos de búsqueda de soluciones, ya sean completas o incompletas. De la misma manera, el conjunto de metaheurísticas a utilizar para buscar soluciones óptimas ha aumentado, debido a la capacidad actual de los computadores para representar y procesar problemas complejos. Es así como se pueden hallar algoritmos basados en la genética (Genetic Algorithm), en la composición de música (Harmony Search), así como en el área de la física, como es el caso de Particle Swarm Optimization (PSO) y Electromagnetismo (EM) [9]. Sobre este último, se pueden apreciar estudios como los de Z. Naji-Azimi y P. Toth, L. Galli, quienes lo utilizan para resolver Set Covering [8]. Asimismo, E. Cuevas-Jiménez y D. Oliva-Navarro lo usan para el Modelado de Filtros IIR [9]; mientras que S. Ilker Birbil, S. Cherng Fang, para Global Optimization [10].

Con respecto a MCDP, sus inicios se remontan a dos décadas atrás, como innovación para la estrategia de manufacturación o fabricación de piezas, en la cual se busca como meta minimizar el movimiento de las máquinas procesadoras de piezas, al momento de ser estas agrupadas en celdas [15]. Burbidge, con su análisis del flujo de producción en 1963, convierte su procedimiento en uno de los primeros intentos por resolver MCDP, aunque sin utilizar la computación [21]. Su procedimiento utiliza la matriz de incidencia máquina×pieza y se reorganiza en una forma diagonal de bloque (Block Diagonal Form, BDF) [11]. Posterior a ello, se han utilizado diferentes metaheurísticas para la formación de celdas. Por ejemplo Shafer y Rogers (1991), quienes utilizan la programación meta (Goal Programming, GP) [22]; Venugopal y Narendran (1992) proponen el uso de algoritmos genéticos (Genetic Algorithms, GA) [23]; Aljaber, Baek, y Chen (1997) [24], y Lozano, Díaz, Eguía y Onieva (1999) [25], quienes utilizan Tabu Search; Boulif y Atif (2006) combinan la técnica de ramifica y acota (Branch and Bound, BB) con un GA [26]; Wu, Chang y Chung (2008) presentan un enfoque de enfriamiento simulado (Simulated Annealing, SA) en conjunto con GA [27]. Es así, como aparece el concepto de reunir las piezas a construir en grupos según sus propiedades; también surgió la idea de agrupar las máquinas en familias o celdas. Desde entonces, se ha establecido el diseño de las asignaciones dentro de una matriz, la cual es denominada como Máquina por Pieza (Máquina x Pieza) [11].

En definitiva, el proyecto a investigar e implementar se ha estructurado según la información obtenida a través de los trabajos realizados acerca de MCDP y Electromagnetismo; esto permite establecer un marco teórico para el proyecto en desarrollo. Es así, como se puede lograr la combinación de tecnologías y procedimientos que no lo habían hecho con anterioridad. Por lo tanto, se indaga en la exploración y experimentación con nuevas técnicas y comportamientos, que permitan una búsqueda eficiente con tiempos de respuesta aceptables, acerca de la optimización de problemas como el que MCDP representa.

Page 11: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

4

4 Metaheurística aplicada La optimización de problemas debe encontrar un valor para cada variable que

satisfaga las restricciones propias de la problemática a resolver y que mejore los resultados. En primer lugar, se busca y crea una cantidad de soluciones consistentes; luego se recorre dicho conjunto, mediante un algoritmo que entregue un valor óptimo base con el que se pueda comenzar a trabajar. No obstante, la solución que optimice el problema se debe buscar y comprobar mediante algoritmos de metaheurística, los que consisten de una secuencia de procedimientos que, en conjunto, permiten completar la misión referente a la búsqueda de soluciones óptimas para el MCDP.

Para el presente proyecto, se ha determinado utilizar como técnica metaheurística a la denominada como Electromagnetismo. Este método se basa en los principios físicos de la teoría del electromagnetismo y representa como una partícula a cada una de las soluciones del problema [8]. Una partícula tiene asociada una carga eléctrica determinada, que representa la afinidad de éstas con la solución y que es calculada mediante una función objetivo [9]. Esto permite la emulación y estimación de valores como la fuerza de repulsión y atracción entre distintas soluciones, las cuales dependen de la carga de la partícula en evaluación. Los problemas con la estructura especificada en la Ecuación 4.1 pueden resolverse mediante Electromagnetismo [10].

, (4.1)

Cabe destacar que , donde n es la dimensión, o cantidad de variables, de la solución representada por . Además, es un subconjunto no vacío que posee valores reales para dicha solución [9]. Por lo tanto, se pueden establecer los parámetros siguientes con respecto al problema a resolver:

Es la dimensión del problema. Representa la cantidad de variables de la solución.

Es el límite inferior de la dimensión.

Es el límite superior de la dimensión.

Es la función que se debe minimizar.

La metaheurística basada en la teoría del Electromagnetismo realiza la localización de partículas (soluciones) que representen mínimos locales, para luego calcular las cargas de cada una y establecer las fuerzas de repulsión y atracción que provocan. Al seguir este procedimiento, se pueden encontrar valores mínimos globales aceptables para el problema en el que se aplica. Por último, cabe destacar que el algoritmo de Electromagnetismo consta de cuatro fases para alcanzar dicha optimización global: Inicialización, búsqueda local, cálculo vector de fuerza total y movimiento de partículas [10].

Page 12: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

5

4.1 Inicialización El proceso de inicialización corresponde a la primera etapa de la metaheurística

basada en Electromagnetismo, y que se relaciona con la obtención de un conjunto de soluciones para el problema, las que serán analizadas de forma posterior. En primer lugar, se generan un conjunto G de soluciones dimensionales a las que se le denomina como partículas. Se asume que estas partículas están cargadas (simulando la teoría electromagnética) y que se distribuyen de manera uniforme entre el límite inferior y el superior [9]. Para optimizar esta etapa de la metaheurística, sólo se consideran las soluciones que cumplan restricciones, ignorando a las que no lo hacen.

La metaheurística seleccionada evalúa las soluciones dentro de la función objetivo y se elige la que mejor resultado entrega en esa iteración. El fin de realizar dicha actividad es obtener un resultado que sirva como base de comparación entre las partículas que componen el campo de soluciones pre-procesadas del problema. Además, se permite la disminución de los tiempos de respuesta del computador cuando éste procesa el algoritmo de búsqueda. La solución que servirá como base se almacena en una variable para su posterior uso dentro de la metaheurística.

4.2 Búsqueda Local

Esta etapa representa el primer paso para la búsqueda de una solución que optimice a la solución tomada como base durante la fase de inicialización. En primer lugar, se determina un número de iteraciones para realizar búsquedas locales, al que se denota como . Además, se establece un parámetro de vecindad de búsqueda denominado como delta o , el cual establece cuánto puede moverse cada solución dentro de su espacio. Se asigna un punto de la solución , el que se almacena en una variable temporal , la cual se evalúa dentro de la función objetivo cambiando su valor dentro de lo permitido como vecindad. Si la variable mejora sus resultados luego de iteraciones, se asigna su valor a ; de otra forma, se mantiene su valor [9]. Así, cada punto local que represente la mejor asignación de valor es actualizado dentro de la partícula (solución). El algoritmo para desarrollar esta etapa se puede ver en la Figura 4.1:

Entrada: m: Cantidad soluciones n: Cantidad dimensiones Límite inferior Límite superior Salida: Inicio contador 1 longitud ) desde hasta hacer desde d hasta hacer

Page 13: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

6

U(0,1) mientras contador hacer y = U(0,1) si ( ) entonces (longitud) sino (longitud) fin_si si ( ) entonces y contador fin_si contador contador + 1 fin_mientras fin_desde fin_desde Fin

Figura 4.1 Algoritmo de Búsqueda Local basado en Electromagnetismo.

Estudios anteriores con respecto a la metaheurística basada en Electromagnetismo señalan que realizar una búsqueda local en cada espacio de soluciones podría ser innecesario, dependiendo del problema a resolver. La ventaja de desarrollar esta etapa es la disminución de la probabilidad de que el algoritmo se quedé estancado en un mínimo local; por otro lado, se aumenta el tiempo de cómputo y, por consiguiente, los tiempos de respuesta. Para el presente proyecto, se ha decidido estudiar el comportamiento del modelo con y sin la utilización de búsquedas locales para determinar, si incide o no, en el encuentro de la solución óptima.

4.3 Cálculo Vector de Fuerza Total La tercera etapa de la metaheurística basada en el Electromagnetismo, permite

acercarse hacia la solución óptima para el problema, mediante el cálculo de operadores como los que representan las cargas y fuerzas. Para dicho propósito, se simula el movimiento de las partículas (soluciones) de acuerdo a la Ley de Coulomb (ver Figura 4.2), la cual se refiere a la atracción o repulsión que producen entre sí las partículas según el valor de su carga. El cálculo de las cargas que posee cada solución está determinado mediante la Ecuación 4.2 [9]:

(4.2)

En la ecuación anterior, denota la dimensión y representa la cantidad de la población de partículas que existen; corresponde a la partícula de la población.

Page 14: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

7

Además, se puede ver que la solución es la “mejor partícula”, lo que significa que posee la mayor carga dentro del conjunto. De esta forma, la mejor partícula ejerce fuerza de atracción sobre otras con peores resultados y repele a las de resultados similares; además, por ser la solución con la mayor carga, ésta no se mueve [9].

Figura 4.2 Ley de Coulomb.

Las fuerzas resultantes entre las partículas hacen que se modifiquen sus valores dentro del proceso de optimización del problema. Para calcular dicha interacción, se utiliza Ley de Coulomb; además, se considera el principio de superposición. En la Ecuación 4.3 se visualiza el modelo matemático para realizar el cálculo [9]:

, (4.3)

En este caso, la expresión representa la atracción entre las dos partículas; por otro lado, es la repulsión. Se destaca que la fuerza de cada partícula es proporcional al producto entre las cargas, así como de manera inversa lo es la distancia entre partículas [9]. El último paso de esta etapa, es normalizar el proceso para que sea consistente (ver Ecuación 4.4) [10].

(4.4)

(4.5)

Page 15: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

8

En la Ecuación 4.5 se realiza la formulación de la norma vectorial para el vector de fuerza de cada partícula determinada por el subíndice . En concreto, el proceso consiste en la aplicación de raíz cuadrada a la sumatoria de los valores, elevados cada uno al cuadrado, que almacena el vector de fuerza, el cual posee dimensión . Al dividir cada posición del vector de fuerza por la norma vectorial de éste, se obtiene un arreglo consistente para la siguiente fase del Electromagnetismo.

4.4 Movimiento de partículas

Mediante la Ecuación 4.6, se calcula el desplazamiento que tendrán las partículas dentro de la vecindad de soluciones y valores en los que se puede mover. Cabe destacar que es un paso de búsqueda aleatorio, distribuido entre uno y cero de manera uniforme [8]. Si la fuerza resultante es positiva, el movimiento se realiza hacia el límite superior ; si es negativa, hacia el límite inferior , siendo la dimensión de la variable evaluada [9]. Como ya se ha mencionado, la mejor de las partículas no se mueve, debido a que posee la mayor carga.

sisi

(4.6)

Como se puede ver en la Figura 4.3, el algoritmo de movimiento recibe los vectores de fuerza de cada partícula. Para todas ellas, excepto la mejor encontrada hasta el momento, se calcula una variable de longitud de paso de búsqueda que fluctúa entre cero y uno. Por cada posición del vector de fuerza ya normalizado se realiza un cambio en su valor, lo que representa que la partícula se está moviendo. Si se encuentra valor que mejore lo ya encontrado, se actualiza la variable .

Entrada: , F F: Conjunto vectores de Fuerza m: Cantidad soluciones n: Cantidad variables o dimensión Salida: Inicio desde hasta hacer si ( ) entonces

desde g hasta hacer si ( > 0) entonces sino fin_si

Page 16: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

9

fin_desde fin_si Actualizar fin_desde Retornar Fin

Figura 4.3 Algoritmo del Movimiento de Partículas basado en Electromagnetismo.

El movimiento de partículas es la última etapa del Electromagnetismo como metaheurística, lo que significa que se obtiene un óptimo que debe ser evaluado. Si se cumple con un número de iteraciones (denominado como ) o el valor óptimo encontrado se determina como aceptable, no se vuelve a iterar el algoritmo. En el caso de no cumplirse ninguna de las dos condiciones mencionadas se realiza desde el principio, comenzando por llevar a cabo la evaluación de las soluciones, que se puede visualizar en la Figura 4.4.

Entrada: , S, S: Conjunto soluciones o de particulas m: Cantidad soluciones n: Cantidad dimensiones : Límite inferior de la dimensión : Límite superior de la dimensión Salida: Inicio Inicializar # Sea la cantidad de partículas desde hasta hacer Evaluar solución h si ( smejor) entonces Sh fin_si fin_desde mientras (contador < ) hacer desde hasta hacer Busqueda_Local (m,n, , ) fin_desde Calcular_Fuerza() Movimiento (m,n, ) fin_mientras Retornar Fin

Figura 4.4 Algoritmo de Metaheurística basada en Electromagnetismo.

Page 17: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

10

5 Manufacturing Cell Design Problem El diseño de celdas de manufactura (Manufacturing Cell Design Problem o MCDP),

se define como una estrategia de producción en la cual se realiza una división de las unidades de producción de una organización, las que forman grupos o familias de componentes, también denominadas como celdas de producción [12]. Se considera como una aplicación de la tecnología de grupos, en donde se busca la reducción de movimientos de las piezas entre celdas, con el fin de aminorar tiempos, costos de producción y utilización de máquinas [13]. MCDP se entiende bajo el concepto de que “las cosas parecidas debieran ser fabricadas de la misma manera” [14]: las piezas que sean similares ya sea por propiedades tales como peso, materiales de fabricación u operaciones necesarias, deben pertenecer a una misma unidad de producción.

En primer lugar, MCDP requiere la organización de los elementos involucrados en una estructura que represente los requisitos de procesamiento que tiene el sistema de producción; para ello, se construyen matrices de incidencia para resumir la información necesaria. La primera matriz es denominada como matriz Maquina-Pieza, en ella se puede determinar a través de ceros y unos las máquinas necesarias para la producción de cada una de las piezas. Las máquinas son representadas como filas de la matriz; las piezas, como columnas de la misma [14]. Como se puede ver en la Tabla 5.1, las posiciones de la matriz rellenadas con unos significan que esa máquina procesa la parte (pieza) correspondiente a la columna que posee un uno como valor.

Tabla 5.1 Matriz Máquina-Pieza Inicial.

Máquina Pieza

1 2 3 4 5 6 7 8 9 10 A 1 1 1 B 1 1 1 C 1 1 1 D 1 1 E 1 1 1 1 F 1 1 1 G 1 1 1 H 1 I 1 1 J 1 1 1 1 1

De la Tabla 5.1 se puede deducir que un grupo de máquinas procesa sólo una parte de

las piezas del sistema de producción, conformando las denominadas celdas o familias de producción. El propósito de MCDP es organizar la estructura de las familias de manera que, como se aprecia en la Tabla 5.2, el movimiento de piezas entre las celdas ocurra el mínimo de veces posible. Esto se acentúa cuando se aplica en sistemas de producción que utilizan recursos compartidos en sus sistemas.

Page 18: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

11

Tabla 5.2 Matriz Máquina-Pieza Final.

Máquina Pieza

1 2 3 4 5 6 7 8 9 10 A 1 1 1 B 1 1 1 C 1 1 1 D 1 E 1 1 F 1 1 G 1 1 1 H 1 1 I 1 1 1 1 J 1 1

5.1 Representación del MCDP Manufacturing Cell Design Problem se concibe como un modelo con variables,

dominios y restricciones, que deben satisfacerse para encontrar una organización de celdas que sea óptima en cuanto a costos de producción. Dicha estructura a buscar debe tener como característica principal reducir al mínimo los movimientos de piezas entre grupos. Es así como MCDP se considera un problema con restricciones que deben ser optimizadas, el cual posee parámetros, variables y dominios como los descritos a continuación [15]:

M, representa el número de máquinas.

P, representa el número de piezas (o partes) a ser producidas.

C, representa el número de celdas del modelo.

, corresponde a la cantidad máxima de máquinas que permite una celda.

A = , matriz binaria Máquina-Pieza con dominio y dimensión M por P.

o Donde

B = , matriz binaria Máquina-Celda con dominio y dimensión M por C.

o Donde

C = , matriz binaria Pieza-Celda con dominio y dimensión P por C.

o Donde

i, corresponde al índice de las máquinas (i = 1, … , M).

j, corresponde al índice de las piezas (j = 1, … , P).

Page 19: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

12

k, corresponde al índice de las celdas (k = 1, … , C). La función objetivo de un MCDP está definida por la combinación de las variables y

constantes declaradas con anterioridad; la formulación matemática de ésta se presenta a continuación, en donde se expresa que el objetivo es minimizar el movimiento de piezas entre las celdas:

Por otra parte, al modelar MCDP como un problema de satisfacción de restricciones (CSP), se pueden encontrar restricciones expresadas a través de las siguientes ecuaciones:

Restricción 1: Una máquina pertenece a una celda.

Restricción 2: Una pieza pertenece a una celda.

Restricción 3: El número de máquinas no exceda la cantidad permitida por celda.

Page 20: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

13

6 Implementación de la Solución Como se ha mencionado, el proyecto a realizar tiene por objetivo entregar una

solución informática que optimice MCDP con la utilización de un algoritmo de Metaheurística. Para llevar a cabo su implementación se definió un lenguaje de programación determinado que permitiese la representación de los algoritmos y restricciones. Se ha seleccionado utilizar Java, mediante el paradigma de la orientación a objetos para este propósito.

6.1 Implementación en Netbeans

El presente proyecto considera utilizar un entorno de desarrollo integrado o IDE acorde al paradigma escogido para llevarlo a cabo. Es así como se eligió Netbeans como plataforma, la cual entrega utilidades y librerías para trabajar con clases y objetos Java. La implementación de la solución considera la definición de cuatro clases, siendo una la principal y las demás para instanciar objetos durante cada proceso de la metaheurística. A continuación se explica cada una de las clases:

Main: Es la clase principal de la solución. Posee atributos globales que son utilizados cuando se instancian las clases y se ejecuta el algoritmo; además, posee métodos para llevar a cabo la formación de la matrices del MCDP y también los procesos de Electromagnetismo. Los más importantes son los siguientes:

o main() : Método principal de la clase

o CrearMatrizMaquinaPieza(): Recibe como entrada una matriz y la instancia en un atributo de la clase para representar el MCDP.

o CrearMatrizMaquinaCelda(): Crea una matriz Maquina-Celda de manera aleatoria para el MCDP.

o CrearMatrizPiezaCelda(): Crea la matriz Pieza-Celda para el MCDP, a partir de las obtenidas mediante los métodos CrearMatrizMaquinaPieza() y CrearMatrizMaquinaCelda().

o funcionObjetivo(): Recibe como entrada las tres matrices creadas y retorna el valor objetivo del MCDP que representan.

o realizarElectromagnetismo(): Recibe una solución, es decir, las tres matrices creadas y realiza el algoritmo de metaheurística basado en el Electromagnetismo.

o BusquedaLocal(): Recibe como entrada la población de soluciones (partículas) y les aplica el algoritmo de búsqueda local de Electromagnetismo. Retorna un nuevo valor óptimo si es que al mover una solución dentro de su vecindad obtiene un valor menor al mejor obtenido hasta ese momento.

o CalculoCargas(): Recibe el conjunto de partículas y calcula para cada una de ellas la carga que cada una de ellas posee.

Page 21: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

14

o CalculoVectorFuerza(): Calcula la fuerza que cada partícula ejerce sobre las demás a través de la fórmula de Fuerza perteneciente a Electromagnetismo.

o Movimiento(): Recibe el conjunto de soluciones, junto a la carga y fuerza que ejerce cada una para realizar los movimientos de partículas. Si encuentra una solución que al moverse genera un nuevo óptimo, actualiza el que había hasta ese momento.

MatrizMaquinaPieza: Contiene las matrices Maquina-Pieza, de las cuales una será tomada como dato de entrada para llevar a cabo la solución. Posee un único método denominado como getmMatrizMaqPieza() que retorna la matriz escogida.

Particula: Clase que representa a las partículas o soluciones necesarias para resolver el MCDP y realizar el proceso de la metaheurística. Almacena como atributos las matrices Maquina-Pieza, Maquina-Celda y Pieza-Celda; además, guarda la carga y el vector de fuerza de cada partícula instanciada.

Restricción: Contiene los métodos restriccionMaquinaCelda(), restriccionPiezaCelda() y restriccionMaquinaCelda_max(), que verifican si una partícula o solución cumple con las restricciones especificadas para el MCDP.

Page 22: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

15

7 Resultados El proceso de implementación de MCDP en conjunto con Electromagnetismo ha

permitido obtener resultados que se mostrarán en el siguiente apartado. Para la experimentación, se ha definido realizar 10 intentos por cada instancia conocida de los problemas; es decir, se prueba cada uno modificando la cantidad máxima de máquinas por celda y el número de celdas . Cada problema se ha probado con diferentes cantidades de soluciones iniciales y de iteraciones a través del IDE Netbeans, y que son especificadas a continuación:

Cantidad Partículas : 5 y 20.

Cantidad Iteraciones Metaheurística : 10.000 y 100.000.

Cantidad Iteraciones Búsqueda Local : 1000.

Longitud Paso Búsqueda Local : 1

7.1 Matrices 16x30 Las matrices de 16x30 probadas con la solución implementada, son extraídas de un

conjunto de problemas estudiados por F. Boctor. A linear formulation of the machine-part Cell formation problem. International Journal Production Research, 29(2), pp. 343-356, 1991. [16]. Los valores óptimos que entrega dicha investigación se pueden ver en la Tabla 7.1 y en la Tabla 7.2, para problemas con número de celdas igual a 2; mientras que para aquellos con número de celdas igual a 3, se pueden encontrar éstos en la Tabla 7.3 y en la Tabla 7.4. Los parámetros comunes entre todas las pruebas fueron los siguientes:

Número Máquinas : 16.

Número Piezas : 30.

Entre los diez intentos realizados por cada instancia de los diez problemas de Fayez F. Boctor[16], se escoge el que obtenga menor fitness y una representativa convergencia entre el valor alcanzado y la cantidad de iteraciones de la metaheurística. Las pruebas entregaron como resultados, los que a continuación son exhibidos en la Tabla 7.1 y en la Tabla 7.2, para problemas con número de celdas igual a 2; en la Tabla 7.3 y en la Tabla 7.4 se encuentran los resultados para aquellos con número de celdas igual a 3:

Page 23: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

16

Tabla 7.1 Tabla Comparativa de problemas de MCDP con dos celdas (1)

Tabla 7.2 Tabla Comparativa de problemas de MCDP con dos celdas (2)

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Problema 1 11 16 16 16 11 16 16 16 11 16 16 16Problema 2 7 8 8 8 6 7 7 7 4 6 6 6Problema 3 4 6 6 6 4 5 5 5 4 5 5 5Problema 4 14 30 30 30 13 29 29 29 13 27 27 27Problema 5 9 13 13 13 6 9 9 9 6 9 9 9Problema 6 5 8 8 8 3 6 6 6 3 6 6 6Problema 7 7 10 10 10 4 9 9 9 4 8 8 8Problema 8 13 15 15 15 10 14 14 14 8 11 11 11Problema 9 8 8 8 8 8 8 8 8 8 8 8 8Problema 10 8 14 14 14 5 11 11 11 5 11 11 11

MMax = 8 MMax = 9 MMax = 10

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Problema 1 11 16 16 16 11 16 16 16Problema 2 3 5 5 5 3 4 4 4Problema 3 3 4 4 4 1 1 1 1Problema 4 13 21 21 21 13 15 15 15Problema 5 5 8 8 8 4 4 4 4Problema 6 3 6 6 6 2 2 2 2Problema 7 4 8 8 8 4 6 6 6Problema 8 5 7 7 7 5 7 7 7Problema 9 5 5 5 5 5 5 5 5Problema 10 5 11 11 11 5 7 7 7

MMax = 11 MMax = 12

Page 24: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

17

Tabla 7.3 Tabla Comparativa de problemas de MCDP con tres celdas (1)

Tabla 7.4 Tabla Comparativa de problemas de MCDP con tres celdas (2)

Mejor 5P 10Mil Iter: Mejor fitness con 5 partículas y 10 mil iteraciones.

Mejor 5P 100Mil Iter: Mejor fitness con 5 partículas y 100 mil iteraciones.

Mejor 20P 10Mil Iter: Mejor fitness con 20 partículas y 10 mil iteraciones.

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Problema 1 27 30 30 30 18 22 22 22Problema 2 7 9 9 9 6 8 8 8Problema 3 9 10 10 10 4 5 5 5Problema 4 27 39 39 39 18 34 34 34Problema 5 11 14 14 14 8 12 12 12Problema 6 6 8 8 8 4 7 7 7Problema 7 11 16 16 16 5 10 10 10Problema 8 14 17 17 17 11 16 16 16Problema 9 12 12 12 12 12 12 12 12Problema 10 10 17 17 17 8 14 14 14

MMax = 6 MMax = 7

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Boctor

Mejor 5P

10Mil Iter

Mejor 5P

100Mil Iter

Mejor 20P

10Mil Iter

Problema 1 11 16 16 16 11 16 16 16Problema 2 6 8 8 8 6 7 7 7Problema 3 4 5 5 5 4 5 5 5Problema 4 14 30 30 30 13 29 29 29Problema 5 8 12 12 12 6 9 9 9Problema 6 4 7 7 7 3 6 6 6Problema 7 5 10 10 10 4 9 9 9Problema 8 11 15 15 15 10 14 14 14Problema 9 8 8 8 8 8 8 8 8Problema 10 8 11 14 14 5 11 11 11

MMax = 8 MMax = 9

Page 25: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

18

Otra forma de visualizar los resultados del algoritmo implementado, es a través de gráficos Óptimo vs. Iteración. El objetivo de estos diagramas es determinar la convergencia del algoritmo hacia un óptimo, a medida que el número de iteraciones avanza durante la ejecución de éste. La Figura 7.1, Figura 7.2, Figura 7.3, Figura 7.4, Figura 7.5 y Figura 7.6 expresan cómo el óptimo varía a medida que la metaheurística realiza una cantidad de iteraciones. También se puede ver que en puntos del proceso el óptimo queda estancado debido a que, al hacer el movimiento de las partículas, no se encuentra otra que posea un fitness menor.

Figura 7.1 Gráfico Problema 2, MMax=10, C=2, 5 partículas, 10.000 iteraciones.

Figura 7.2 Gráfico Problema 7, MMax=7, C=3, 5 partículas, 10.000 iteraciones.

Page 26: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

19

Figura 7.3 Gráfico Problema 1, MMax=9, C=2, 5 partículas, 100.000 iteraciones.

Figura 7.4 Gráfico Problema 9, MMax=6, C=3, 5 partículas, 100.000 iteraciones.

Page 27: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

20

Figura 7.5 Gráfico Problema 6, MMax=8, C=2, 20 partículas, 10.000 iteraciones.

Figura 7.6 Gráfico Problema 1, MMax=8, C=3, 20 partículas, 10.000 iteraciones.

Se puede concluir, por medio de los gráficos Óptimo vs. Iteración, que se produce un descenso del valor objetivo óptimo para distintos problemas. En la Figura 7.4 se observa que, en forma efectiva, el algoritmo encuentra el mismo óptimo que Fayez F. Boctor en su investigación. Por último, cabe mencionar que al aplicar el procedimiento de búsqueda local dentro del algoritmo de Electromagnetismo, se obtienen resultados idénticos a los encontrados sin dicho método, pero con un número alto de iteraciones de la metaheurística completa. Se evidencia también que al usar búsqueda local, los resultados no varían al modificar la cantidad de soluciones o partículas iniciales de la población.

Page 28: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

21

8 Conclusión El desarrollo y utilización de herramientas relacionadas con la informática, ya sea para

solucionar problemas u optimizar procesos, son eventos que cada día se observan con recurrencia. Debido a esto, se hace imprescindible que se destinen recursos humanos para dedicarse a la investigación y estudio de áreas ya existentes, o para la creación de nuevas que realicen la labor mencionada de forma previa. Bajo esta premisa se enmarca también la programación con restricciones, ya que al ser aplicada sobre problemas reales se pueden obtener resultados beneficiosos para optimizar procesos.

El presente informe es una muestra del proceso en el cual se llevaron a cabo actividades referentes a la investigación, estudio y factibilidad de implementación de una solución informática que cumpla con el objetivo de optimizar problemas como MCDP. En primer lugar, entender los conceptos básicos acerca de la programación con restricciones permitió la asimilación de temas específicos como los algoritmos de consistencia y estrategias de búsqueda de soluciones. Además, se pudo entender cómo es que estas técnicas se pueden implementar mediante una plataforma de desarrollo determinada, siguiendo algoritmos especificados bajo lenguaje natural. Por otra parte, se ha registrado la información necesaria con respecto al problema que significa el diseño de celdas de manufactura, o MCDP; se establecieron los recursos que se requieren, así como las restricciones propias de este caso de estudio.

De esta forma, la información recopilada corresponde a la documentación del proyecto en su totalidad, además de ser una base para comprender el proceso de implementación del solver o programa informático que llevó a cabo la labor de optimizar problemas relacionados con MCDP. Se establece que ya se han cumplido objetivos definidos en el principio, para la realización del presente proyecto de título. Los avances en el proceso de investigación e implementación de la metaheurística basada en Electromagnetismo, así como lo relacionado a MCDP, quedan demostrados mediante los métodos y resultados expuestos en el presente informe. Se evidencian también logros con respecto a los tiempos que el algoritmo demora en procesar cada uno de los problemas; se ha optimizado en paralelo al real objetivo del proyecto, la duración de cada prueba para facilitar el uso de la implementación en problemas cada vez más complejos. Por último, se establece el presente documento como un primer paso con respecto a la resolución del MCDP con nuevas técnicas incompletas de búsqueda de soluciones; también, se considera a este proyecto como un avance para el uso de la informática como herramienta para simplificar tareas y situaciones cotidianas.

Page 29: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

22

9 Referencias [1] F. Barber, M. Salido. Introduction to constraint programming. Revista Iberoamericana

de Inteligencia Artificial, 7(20), pp. 13-30, 2003.

[2] R. Barták. Constraint Programming: In Pursuit of the Holy Grail. Charles University, Faculty of Mathematics and Physics, Department of Theoretical Computer Science, Czech Republic, 1998.

Disponible en: http://ktiml.mff.cuni.cz/~bartak/downloads/WDS99.pdf

[3] S. Brailsford, C. Potts, B. Smith. Constraint satisfaction problems Algorithms and applications. European Journal of Operational Research, 119, pp. 557-581, 1998.

[4] S. Lizama, A. Muñoz. Algoritmos de Consistencia para Programación con Restricciones. Informe de Avance de Proyecto II para optar al título de Ingeniero de Ejecución en Informática, Pontificia Universidad Católica de Valparaíso, Septiembre 2012.

[5] W. García. Análisis de Sistemas de Programación Lógica por Restricciones. Tesis Profesional para obtener el título de Ingeniero en Computación, Universidad Tecnológica de la Mixteca, 1998.

[6] C. Galleguillos. Preproceso basado en Programación con Restricciones para Tabu Search. Informe Final de Proyecto 2, Pontificia Universidad Católica de Valparaíso. Noviembre 2012.

[7] R. Fernández. La Tecnología de Resolución de Restricciones. BIT, 8, pp. 13-16, 1995.

[8] Z. Naji-Azimi, P. Toth, L. Galli. An electromagnetism metaheuristic for the unicast set covering problem. European Journal of Operational Research, 205(2010), pp. 290-300, 2010.

[9] E. Cuevas-Jiménez, D. Oliva-Navarro. Modelado de filtros IIR usando un algoritmo inspirado en el electromagnetismo. Investigación y Tecnología, 14(1), pp. 125-138, 2013.

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

[10] S. Ilker Birbil, S. Cherng Fang. An Electromagnetism-like Mechanism for Global Optimization. Journal of Global Optimization, 25, pp. 263-282, 2003.

[11] A. Xambre, P. Vilarinho. A simulated annealing approach for manufacturing cell formation with multiple identical machines. European Journal of Operational Research, 151, pp. 434–446, 2003.

Page 30: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

23

[12] M. Mururgan, V. Selladurai. Manufacturing Cell Design with reduction in setup time through Genetic Algorithm. Journal of Theoretical and Applied Information Technology, 3(1), pp. 76-97, 2006.

[13] Y. Yin, K. Yasuda. Manufacturing cells design in consideration of various production. International Journal of Production Research, 40(4), pp. 805-906, 2001.

[14] P. Medina, E. Cruz, M. Pinzon. Generación de Celdas de Manufactura Usando el Algoritmo de Ordenamiento Binario. Scientia Et Technica, 16(44), pp. 106-110, 2010.

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

[15] J. Gutierrez, A. López. Modelado y Resolución del Manufacturing Cell Design Problem (MCDP) utilizando Programación con Restricciones. Informe Final de Proyecto para optar al título de Ingeniero de Ejecución en Informática, Octubre 2011.

[16] F. Boctor. A linear formulation of the machine-part Cell formation problem. International Journal Production Research, 29(2), pp. 343-356, 1991.

[17] Ricardo Soto, Hakan Kjellerstrand, Orlando Durán, Broderick Crawford, Eric Monfroy, Fernando Paredes. Cell formation in group technology using constraint programming and Boolean satisfiability. Expert Systems with Applications, 39, pp. 11423-11427, 2012.

[18] D. Waltz. Generating semantic descriptions from drawings of scenes with shadows. Technical Report AI271. MIT, MA, 1972.

[19] U. Montanari. Networks of constraints: fundamental properties and applications to picture processing. Information Science, 7, pp 95-132, 1974.

[20] A.K. Mackworth. Consistency in networks of relations. Artificial Intelligence, 8, pp. 99-118, 1977.

[21] J.L. Burbidge. Production flow analysis. Production Engineer, 42(12), pp. 742–752, 1963.

[22] S. Shafer, D. Rogers. A goal programming approach to cell formation problems. Journal of Operations Management, 10, pp. 28–34, 1991.

[23] V. Venugopal, T. T. Narendran. A genetic algorithm approach to the machine-component grouping problem with multiple objectives. Computers and Industrial Engineering, 22(4), pp. 469–480, 1992.

[24] N. Aljaber, W. Baek, C. Chen. A tabu search approach to the cell formation problem. Computers and Industrial Engineering, 32(1), pp. 169–185, 1997.

[25] S. Lozano, A. Díaz, I. Eguía, L. Onieva. A one-step tabu search algorithm for manufacturing cell design. Journal of the Operational Research Society, 50(5), 1999.

Page 31: RESOLUCIÓN DEL MCDP UTILIZANDO ELECTROMAGNETISMO

24

[26] M. Boulif, K. Atif. A new branch-&-bound-enhanced genetic algorithm for the manufacturing cell formation problem. Computers and Operations Research, 33, pp. 2219–2245, 2006.

[27] T. Wu, C. Chang, S. Chung. A simulated annealing algorithm for manufacturing cell formation problems. Expert Systems with Applications, 34(3), pp. 1609–1617, 2008.