solving the manufacturing cell design problem using …
TRANSCRIPT
Pontificia Universidad Catolica de Valparaıso
Facultad de Ingenierıa
Escuela de Ingenierıa Informatica
SOLVING THE MANUFACTURING CELL DESIGN PROBLEM
USING AN INVASIVE WEED OPTIMIZATION ALGORITHM
Carlos Francisco Castillo Martınez
Tesis de Grado
Magister en Ingenierıa Informatica
Mayo 2016
Pontificia Universidad Catolica de Valparaıso
Facultad de Ingenierıa
Escuela de Ingenierıa Informatica
SOLVING THE MANUFACTURING CELL DESIGN PROBLEM
USING AN INVASIVE WEED OPTIMIZATION ALGORITHM
Carlos Francisco Castillo Martınez
Profesor Guıa: Ricardo Soto De Giorgis
Programa: Magıster en Ingenierıa Informatica
Mayo 2016
Resumen
En esta tesis se describe el modelamiento y resolucion del Problema de Diseno de Celdas de Manufactura
(MCDP) a traves de un algoritmo de optimizacion basado en hierbas invasivas (IWO). El objetivo de MCDP
considera la agrupacion de maquinas y piezas en conjuntos llamados celdas de tal forma que se minimicen
sus movimientos interceldarios. El algoritmo IWO representa las soluciones como hierbas, simulando su
comportamiento de colonizacion en la agricultura. Cada hierba produce nuevas soluciones denominadas
como semillas. A partir de soluciones iniciales aleatorias, los operadores de la metaheurıstica son utilizados
para la creacion de las nuevas semillas. El conjunto formado por hierbas y semillas es filtrado de acuerdo al
fitness, ya que se realiza una eliminacion de aquellas con peores resultados. Los resultados experimentales
con el algoritmo IWO fueron satisfactorios, ya que se obtuvieron valores optimos para todas las instancias
de MCDP consideradas en este documento.
Palabras-claves: optimizacion, metaheurısticas, Invasive Weed Optimization, Manufacturing Cell Design
Problem.
Abstract
This document focuses on modeling and solving the Manufacturing Cell Design Problem (MCDP) through
an Invasive Weed Optimization (IWO) algorithm. The MCDP aims at grouping machines and parts into
sets called cells in order to minimize the inter-cell moves. The IWO algorithm represents the solutions
as weeds, simulating their colonization behavior in agriculture. Each weed produces new solutions called
seeds. Through the creation of random initial solutions, metaheuristic operators are used for the new seed
creation. The set formed by weeds and seeds is sorted according to fitness, by removing the worse ones. The
experimentation results with the IWO algorithm are interesting, because the algorithm reaches optimums for
all MCDP instances considered in this document.
Key-words: optimization, metaheuristics, Invasive Weed Optimization, Manufacturing Cell Design Prob-
lem.
Indice
1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Definicion de Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Estado del Arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4 Manufacturing Cell Design Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1 Representacion del MCDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Metaheurıstica Aplicada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1 Inicializacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.2 Reproduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.3 Distribucion Espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.4 Exclusion Competitiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1 Experimentos con instancias de Boctor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.2 Experimentos con otras instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Anexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
A Soluciones a instancias de Boctor de dos celdas . . . . . . . . . . . . . . . . . . . . . . . . 20
B Soluciones a instancias de Boctor de tres celdas . . . . . . . . . . . . . . . . . . . . . . . 46
C Soluciones a nuevas instancias de otros autores . . . . . . . . . . . . . . . . . . . . . . . . 67
i
Lista de Figuras
6.1 Grafico convergencia de IWO con MMax= 8 y C= 2. . . . . . . . . . . . . . . . . . . . . . . . 13
6.2 Grafico convergencia de IWO con MMax= 10 y C= 2. . . . . . . . . . . . . . . . . . . . . . . 13
6.3 Grafico convergencia de IWO con MMax= 7 y C= 3. . . . . . . . . . . . . . . . . . . . . . . . 13
ii
Lista de Tablas
4.1 Matriz Maquina-Pieza Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Matriz Maquina-Pieza Final. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6.3 Resultados de IWO en MCDP, con dos celdas. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.4 Resultados de IWO en MCDP, con tres celdas . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.5 Fuentes para nuevas instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.6 Resultados de IWO en MCDP, para nuevas instancias . . . . . . . . . . . . . . . . . . . . . . 15
iii
1 Introduccion
La tesis realiza una investigacion aplicada acerca de la optimizacion del diseno de celdas de manufactura
(Manufacturing Cell Design Problem, MCDP). Este problema es una aplicacion de la tecnologıa de grupos
que se explica bajo la siguiente afirmacion: “las cosas parecidas debieran ser fabricadas de la misma manera”
[16]. Bajo esta premisa, MCDP consiste en encontrar una asignacion de maquinas y piezas que minimice el
movimiento de estas entre familias, o tambien denominadas como celdas.
Para llevar a cabo el proyecto, se ha escogido una tecnica de busqueda de soluciones incompleta, es decir,
que no explora el cien por ciento de las soluciones [13]. La tecnica mencionada se basa en el comportamiento
de colonizacion de las hierbas invasivas (Invasive Weed Optimization, IWO), la cual representa cada solucion
de MCDP como una hierba o weed, la cual genera soluciones modificadas denominadas como semillas o seeds,
a traves de comportamientos y operadores [27].
Uno de los propositos de esta tesis, es continuar con las investigaciones tanto del problema como de la
tecnica para la busqueda de soluciones. MCDP ha sido analizado bajo dos lıneas de investigacion distintas:
por un lado, con el uso de metodos aproximados; por otro lado, con la optimizacion global. En este contexto,
MCDP ha sido implementado y evaluado en conjunto con diversos metodos aproximados denominados como
metaheurısticas; ejemplos de ello son algoritmos geneticos como los utilizados por Venugopal y Narendran
[28], o aquellos basados en fenomenos naturales como Particle Swarm Optimization, investigado por Duran,
Rodriguez, y Consalter [6].
Para comenzar, se realiza la especificacion de los objetivos del proyecto. Mediante el Estado del Arte se
detallan las investigaciones ya llevadas a cabo para resolver MCDP. A continuacion, se realiza la descripcion
de la problematica, en donde se define la formulacion matematica que resuelve el MCDP. Por otra parte, se
describe la tecnica de busqueda escogida, la cual esta basada en el comportamiento de las hierbas invasivas
cuando se reproducen. Posterior a ello, se especifican los algoritmos o estrategias para optimizar la busqueda
de soluciones que satisfagan las restricciones del Manufacturing Cell Design Problem; todo lo anterior con el
fin de encontrar la solucion que entrega la mayor performance dentro del problema; a esta se le denominara
como Optimo Global a lo largo del documento.
Al final, se podran encontrar los resultados obtenidos a traves del algoritmo. Se alcanzo el valor optimo
global para el 100% de las instancias sometidas a prueba, lo que se puede visualizar mediante un conjunto de
tablas de comparacion y graficos de convergencia. Ası, se logra observar el comportamiento de la integracion
de IWO con MCDP, para la busqueda y optimizacion de soluciones a medida que este algoritmo realiza
iteraciones. En sıntesis, mediante esta tesis es posible entender el marco teorico y practico de como se
obtuvieron los valores optimos globales iguales o cercanos a los determinados mediante metodos de busqueda
completa de soluciones, pero con tecnicas incompletas.
1
2 Definicion de Objetivos
A continuacion, se describen los objetivos generales y especıficos para la presente tesis.
2.1 Objetivo General
Modelar y resolver el problema de diseno de celdas de manufactura (MCDP) mediante la utilizacion de
una metaheurıstica basada en el comportamiento de hierbas invasivas (IWO).
2.2 Objetivos Especıficos
• Analizar e implementar las variables y restricciones referentes al Manufacturing Cell Design Problem
(MCDP).
• Analizar las variables y condiciones referentes a la metaheurıstica basada en el comportamiento de
hierbas invasivas (IWO).
• Desarrollar la integracion del algoritmo de metaheurıstica con la implementacion del MCDP.
• Revisar el comportamiento de la implementacion desarrollada, aplicada en instancias complejas de
MCDP.
2
3 Estado del Arte
Distintas instancias del problema de celdas de manufactura (MCDP) se han evaluado con una o mas
tecnicas de busqueda incompletas, o llamados metodos aproximados, ası como con optimizacion global. Los
metodos aproximados buscan en zonas del espacio de busqueda una solucion optima, la cual no necesariamente
es la solucion global del problema. En general, se han obtenido resultados prometedores al hacer busquedas
incompletas de soluciones optimas para MCDP con distintos algoritmos. Por otra parte, los metodos de
optimizacion global aseguran la obtencion de la solucion optima global, pero los tiempos de ejecucion ası
como la cantidad de recursos requeridos, hacen difıcil su implementacion.
En el transcurso de la historia, se pueden identificar importantes investigaciones acerca del uso de algorit-
mos de busqueda de soluciones incompletas. El conjunto de metaheurısticas a utilizar para buscar soluciones
optimas ha aumentado, debido a la capacidad actual de los computadores para representar y procesar prob-
lemas complejos. Es ası como se pueden hallar algoritmos basados en la genetica (Genetic Algorithm, GA);
en la composicion de musica (Harmony Search); en principios fısicos, como es el caso de Particle Swarm
Optimization (PSO) y Electromagnetismo (EM). Tambien hay metaheurısticas basadas en comportamientos
de la naturaleza, dentro de las cuales se puede encontrar a Invasive Weed Optimization (IWO) [27].
Con respecto a MCDP, sus inicios se remontan a dos decadas atras, como innovacion para la estrategia
de manufacturacion o fabricacion de piezas, en la cual se busca como meta minimizar el movimiento de
las maquinas procesadoras de piezas, al momento de ser estas agrupadas en celdas [7]. Burbidge, con su
analisis del flujo de produccion en 1963, convierte su procedimiento en uno de los primeros intentos por
resolver MCDP, aunque sin utilizar la computacion [4]. Su procedimiento utiliza la matriz de incidencia
maquina-pieza y se reorganiza en una forma diagonal de bloque (Block Diagonal Form, BDF) [31].
Aparte de Burbidge, existen otros estudios para resolver MCDP con optimizacion global. De esta forma
se encuentran experimentos con programacion lineal, como los descritos en los trabajos de Purcheck [21]
y Olivia-Lopez [20]. Asimismo, Kusiak y Chow [11] propusieron modelos cuadraticos lineales, al igual que
Boctor [2]. Ademas, Sankaran [22] presenta otro paradigma para abordar MCDP con optimizacion global,
al igual que Shafer y Rogers, el cual fue denominado como Goal Programming [25]. Por ultimo, Nsakanda,
Diaby y Price formularon una solucion que combina GA con una tecnica de optimizacion de gran escala [19].
Posterior a ello, se han utilizado diferentes metaheurısticas para la formacion de celdas. Por ejemplo
Venugopal y Narendran (1992) proponen el uso de algoritmos geneticos (Genetic Algorithms, GA) [28];
Aljaber, Baek, y Chen (1997) [1], y Lozano, Dıaz, Eguıa y Onieva (1999) [14], quienes utilizan Tabu Search;
Boulif y Atif (2006) combinan la tecnica de ramifica y acota (Branch and Bound, BB) con un GA [3]; Wu,
Chang y Chung (2008) presentan un enfoque de enfriamiento simulado (Simulated Annealing, SA) en conjunto
con GA [30]. Otros autores que aportaron en la resolucion de MCDP son Duran, Rodriguez y Consalter con
su combinacion de Particle Swarm Optimization (PSO) y una tecnica de minerıa de datos [6]; James, Brown
3
y Keeling, por su parte, crearon una solucion hıbrida al utilizar tecnicas de busqueda local en conjunto con
GA [8].
Es ası, como aparece el concepto de reunir las piezas a construir en grupos segun sus propiedades; tambien
surgio la idea de agrupar las maquinas en familias o celdas. Desde entonces, se ha establecido el diseno de
las asignaciones dentro de una matriz, la cual es denominada como Maquina por Pieza (Maquina-Pieza) [31].
En definitiva, la tesis se ha estructurado segun la informacion obtenida a traves de los trabajos realizados
acerca de MCDP; esto permite establecer un marco teorico para el proyecto en desarrollo. Por lo tanto, se
continua la investigacion y experimentacion con nuevas tecnicas y comportamientos, como lo es IWO.
4
4 Manufacturing Cell Design Problem
El diseno de celdas de manufactura (Manufacturing Cell Design Problem o MCDP), se define como una
estrategia de produccion en la cual se realiza una division de las unidades de produccion de una organizacion,
las que forman grupos o familias de componentes, tambien denominadas como celdas de produccion [18]. Se
considera como una aplicacion de la tecnologıa de grupos, en donde se busca la reduccion de movimientos
de las piezas entre celdas, con el fin de aminorar tiempos, costos de produccion y utilizacion de maquinas
[32]. MCDP se entiende bajo el concepto de que “las cosas parecidas debieran ser fabricadas de la misma
manera” [16]: las piezas que sean similares ya sea por propiedades tales como peso, materiales de fabricacion
u operaciones necesarias, deben pertenecer a una misma unidad de produccion.
En primer lugar, MCDP requiere la organizacion de los elementos involucrados en una estructura rep-
resentativa de los requisitos de procesamiento que tiene el sistema de produccion. Para ello, se construyen
matrices de incidencia para resumir la informacion necesaria. La primera matriz es denominada como matriz
Maquina-Pieza; en ella se puede determinar a traves de ceros y unos las maquinas necesarias para la pro-
duccion de cada una de las piezas. Las maquinas son representadas como filas de la matriz; las piezas, como
columnas de la misma [16]. Como se puede ver en la Tabla 4.1, las posiciones de la matriz rellenadas con
unos significan que la maquina de la fila procesa la parte (pieza) correspondiente a la columna que posee un
uno como valor.
Tabla 4.1 Matriz Maquina-Pieza Inicial.
Part
Machine 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
F 1 1
G 1 1
H 1 1
I 1 1 1
J 1 1 1
5
De la Tabla 4.1 se puede deducir que un grupo de maquinas procesa solo una parte de las piezas del sistema
de produccion, conformando las denominadas celdas o familias de produccion. El proposito de MCDP es
organizar la estructura de las familias de manera que, como se aprecia en la Tabla 4.2, el movimiento de piezas
entre las celdas ocurra el mınimo numero de veces posible. Esto se acentua cuando se aplica en sistemas de
produccion que utilizan recursos compartidos en sus sistemas.
Tabla 4.2 Matriz Maquina-Pieza Final.
Part
Machine 3 7 10 1 2 6 9 4 5 8
A 1 1 1
E 1 1
F 1 1
H 1 1
B 1 1 1
C 1 1 1
I 1 1 1
D 1 1
G 1 1
J 1 1 1
4.1 Representacion del MCDP
Manufacturing Cell Design Problem se concibe como un modelo con variables, dominios y restricciones,
que se deben satisfacer para encontrar una organizacion de celdas que sea optima, en cuanto a costos de
produccion [26]. 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 parametros, variables y dominios como los descritos a continuacion [7]:
• M , representa el numero de maquinas.
• P , representa el numero de piezas.
• C, representa el numero de celdas.
• Mmax, corresponde a la cantidad maxima de maquinas que permite una celda.
6
• A = [aij ], matriz binaria Maquina-Pieza de dimension M por P .
aij =
⎧⎨⎩
1 Si la maquina i procesa la pieza j
0 En otro caso(1)
• B = [bik], matriz binaria Maquina-Celda de dimension M por C.
bik =
⎧⎨⎩
1 Si la maquina i pertenece a la celda k
0 En otro caso(2)
• C = [cjk], matriz binaria Pieza-Celda de dimension P por C.
cjk =
⎧⎨⎩
1 Si la pieza j pertenece a la celda k
0 En otro caso(3)
• i, corresponde el ındice de maquinas (i = 1, 2, ...,M).
• j, corresponde el ındice de piezas (i = 1, 2, ..., P ).
• k, corresponde el ındice de celdas (i = 1, 2, ..., C).
La funcion objetivo de un MCDP esta definida por la combinacion de las variables y constantes declaradas
con anterioridad. La formulacion matematica de esta se presenta a continuacion, en donde se expresa que el
objetivo es minimizar el movimiento de piezas entre las celdas:
Min :C∑
k=1
M∑i=1
P∑j=1
aijcjk(1− bik) (4)
Por otra parte, al modelar MCDP como un problema con restricciones se tiene lo siguiente:
• Restriccion 1: Una maquina pertenece a una celda:
C∑k=1
bik = 1 ∀i (5)
• Restriccion 2: Una pieza pertenece a una celda:
C∑k=1
cjk = 1 ∀j (6)
• Restriccion 3: El numero de maquinas no exceda la cantidad permitida por celda:
M∑i=1
bik ≤ Mmax ∀k (7)
7
5 Metaheurıstica Aplicada
Para resolver MCDP, se ha hecho uso de una tecnica de busqueda de soluciones incompleta y poblacional.
Esta, en primer lugar, busca y crea una cantidad de soluciones consistentes. Luego, recorre dicho conjunto
mediante un algoritmo que entregue un valor optimo base con el que se pueda comenzar a trabajar. No
obstante, la solucion final que optimiza el problema se debe obtener mediante algoritmos de metaheurıstica,
los que consisten de una secuencia de procedimientos que permiten la busqueda de soluciones optimas para
el MCDP.
En esta tesis se ha utilizado la tecnica metaheurıstica Invasive Weed Optimization (IWO); esta tecnica
se basa en el comportamiento de colonizacion de las hierbas invasivas en la agricultura [17], que consiste
en la busqueda lugares adecuados para el crecimiento de las hierbas y para su reproduccion [12]. Por
lo tanto, cada solucion para MCDP sera una hierba, denominada como weed [27], la cual para efectos
del problema sera representada mediante una matriz Maquina-Celda. Luego de generar una cantidad de
soluciones que formen la poblacion inicial, se obtendra la primera solucion optima. Cada weed generara nuevas
soluciones, denominadas como semillas o seeds [27], que son obtenidas de la aplicacion de comportamientos
de reproduccion sobre las weeds. Al tener una cantidad determinada de seeds, se elabora un ranking entre
estas y las weeds segun sus respectivos valores de fitness [27]; la finalidad de esta accion es realizar una poda
de soluciones, de modo que solo queden las mejores para la proxima iteracion. El proceso completo descrito
se repite G-veces, siendo G la cantidad de generaciones de soluciones.
5.1 Inicializacion
El proceso de inicializacion corresponde a la primera etapa de la metaheurıstica basada en el compor-
tamiento de las hierbas invasivas; se relaciona con la obtencion de un conjunto de soluciones para el problema
[15], las que seran analizadas de forma posterior. En primer lugar, se genera un conjunto de hierbas, denom-
inado como W , el cual consta de Pinit soluciones d-dimensionales. Pinit corresponde a la cantidad inicial de
hierbas; estas hierbas se distribuyen de manera uniforme entre el lımite inferior Xmin y el superior Xmax [27].
Para optimizar esta etapa de la metaheurıstica, solo se consideran las soluciones que cumplan las restricciones,
ignorando a las que no lo hacen. En la Ecuacion (8) se define la estructura del conjunto W :
W i ∈ (U(Xmin, Xmax)d) (1 ≤ i ≤ Pinit) (1 ≤ d ≤ D) (8)
La variable W i es la i-esima solucion del conjunto W . Asimismo, W i ∈ W , y D es conocido como el
numero de dimensiones o variables del problema. Xmin es el mınimo valor posible que puede tener una
dimension d .. (1, 2, ..., D). Por otro lado, Xmax es el maximo valor posible.
8
5.2 Reproduccion
La segunda etapa de Invasive Weed Optimization corresponde a la generacion de semillas o seeds que
cada weed realiza al reproducirse. La finalidad de este paso es mover el conjunto inicial de soluciones por
todo el espacio de busqueda, de modo de optimizar el encuentro de un optimo. El calculo del numero de
seeds se hace por cada weed mediante la formula mostrada en la Ecuacion (9).
Spnum = Smin + (
F (W p)− Fworse
Fbest − Fworse)(Smax − Smin) (1 ≤ P ≤ Pinit) (9)
Donde Spnum es la cantidad de seeds y F (wp), el valor del fitness para la i-esima weed. Smin es la cantidad
de seeds mınima; Smax, la cantidad maxima. Fbest es el valor del fitness de la mejor solucion actual y Fworse,
el de la peor solucion actual.
5.3 Distribucion Espacial
Posterior a ello, se realiza la creacion de cada semilla, para lo cual se utiliza la Ecuacion (10) para su
obtencion:
(Srd)
p = wpd +N (0, σG)
D (1 ≤ r ≤ Spnum) (1 ≤ d ≤ D) (10)
Donde Srd es la dimension d de la semilla r, de la hierba p; mientras que N (0, σG)
D representa la dis-
tribucion normal entre 0 y σG, que se denomina como desviacion estandar de la generacion G y se calcula
mediante la Ecuacion (11). Cabe destacar que σinit, σmod y σfinal son parametros de la metaheurıstica.
Niter corresponde a la cantidad de iteraciones de esta. Con la obtencion de la desviacion estandar, se puede
proceder con la proxima etapa de IWO:
σG = σfinal +(Niter −G)σmod
(Niter)σmod
(σinit − σfinal) (11)
Como se puede apreciar en la Ecuacion (9), la generacion de cada seed se realiza mediante la aplicacion
de la distribucion normal sobre su weed padre. Sin embargo, esta funcion opera con valores reales, por lo que
no aplica su uso con un problema que tiene dominios binarios (F : BD → R) [27]. Por lo tanto, se necesita
una adaptacion de la formulacion matematica, la que se puede apreciar en la Ecuacion (12):
(Srd)
p = N (wpd, σG)
D (1 ≤ r ≤ Spnum) (1 ≤ d ≤ D) (12)
La expresion matematica N (wpd, σG)
D se denomina como Operador de Vecindario Binario [27]. En primer
lugar, este operador calcula el numero de bits que seran cambiados mediante el uso de la distribucion normal
N (0, σG). Luego, se obtiene la probabilidad de cambio, que equivale al cociente entre el numero de bits a
9
ser cambiados y la dimension del problema (D). Despues, la solucion a modificar mediante el operador se
copia en una variable auxiliar, para continuar con la funcion de cambio de bits, segun el resultado de la
comparacion entre la probabilidad de cambio y un numero aleatorio entre 0 y 1 [27]. El algoritmo completo
del Operador de Vecindario Binario se puede apreciar en el Algoritmo 5.1.
Algoritmo 5.1 Algoritmo de Operador de Vecindario Binario
Require: wp, σG, D1: rbits = N+(0, σG)2: pchange = rbits
D3: S = wp
4: for d ∈ 1..D do5: random = U(0, 1)6: if random ≤ pchange then7: Sd = ¬Sd
8: end if9: end for
10: return S
5.4 Exclusion Competitiva
La ultima etapa de Invasive Weed Optimization corresponde a la seleccion de las mejores soluciones.
Esto ocurrira cuando la cantidad en conjunto de weeds y seeds exceda la cantidad maxima permitida de
soluciones, que esta representada como Pmax. Al sobrepasar dicho umbral, la colonia de weeds y seeds sera
filtrada segun el fitness de cada solucion; las que tengan peores fitness seran removidas de la colonia para la
siguiente iteracion [27].
Algoritmo 5.2 Algoritmo Invasive Weed Optimization
Require: Pinit, Niter, σG, Smax, Smin.1: Generate initial population of weeds: W = Initialization(Pinit).2: for (i = 1 : Niter) do3: while (�W ≤ Pmax) do4: for (p = 1 : D) do5: Sp
num = Reproduction(Smax, Smin, wp).
6: for (r = 1 : Spnum) do
7: for (d = 1 : D) do8: (Sr
d)p = Spatial Dispersal(wp
d, Niter, Spnum, σG).
9: end for10: end for11: end for12: end while13: W = Exclusive Competition(W , S).14: end for15: return wbest
10
6 Resultados
El proceso de implementacion de MCDP en conjunto con IWO ha permitido obtener resultados que
se describen a continuacion. Para la experimentacion, se ha definido realizar 10 intentos (G = 10) por
cada instancia conocida de los problemas; es decir, se prueba cada uno modificando la cantidad maxima de
maquinas por celda Mmax y el numero de celdas (C). Cada problema se ha probado con diferentes cantidades
de soluciones iniciales y de iteraciones a traves del IDE Netbeans, y que son especificadas a continuacion.
• Cantidad Weeds inicial (Pinit): 15.
• Cantidad Weeds inicial (Pmax): 30.
• Cantidad Iteraciones Metaheurıstica (Niter): 1000.
• Cantidad Seeds mınima (Smin): 20.
• Cantidad Seeds maxima (Smax): 40.
• σinit : MC
• σmod : 3
• σfinal : 1
6.1 Experimentos con instancias de Boctor
Las matrices de tamano 16x30 probadas con la solucion implementada, son extraıdas de un conjunto
de problemas estudiados por F. Boctor [2]. Los valores optimos que entrega dicha investigacion se pueden
ver en la Tabla 6.3, para problemas con numero de celdas (C) igual a 2; mientras que para aquellos con
numero de celdas (C) igual a 3, se pueden encontrar en la Tabla 6.4. Cabe destacar que para todos los
experimentos, se hizo una mejora en la generacion de la matriz pieza-celda, la cual se hace de tres formas
distintas y se selecciona la que menor Fitness obtiene. Los parametros comunes entre todas las pruebas
fueron los siguientes:
• Numero Maquinas (M): 16.
• Numero Piezas (P ): 30.
Entre los diez intentos realizados para cada instancia de los problemas de Fayez F. Boctor [2], 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 continuacion son exhibidos
en la Tabla 6.3, para problemas con numero de celdas (C) igual a 2; en la Tabla 6.4 se encuentran los resultados
para aquellos con numero de celdas (C) igual a 3. Ademas, para cada instancia se muestra una desviacion
11
porcentual relativa (Relative Percentage Deviation, RPD), indicador que permite medir que tan lejos se
encuentran los resultados obtenidos con IWO, de los publicados por Boctor en su trabajo con tecnicas de
busqueda completa:
Tabla 6.3 Resultados de IWO en MCDP, con dos celdas.
C=2P Mmax = 8 Mmax = 9 Mmax = 10 Mmax = 11 Mmax = 12
Boctor IWO RPD (%) Boctor IWO RPD (%) Boctor IWO RPD (%) Boctor IWO RPD (%) Boctor IWO RPD (%)1 11 11 0.00 11 11 0.00 11 11 0.00 11 11 0.00 11 11 0.002 7 7 0.00 6 6 0.00 4 4 0.00 3 3 0.00 3 3 0.003 4 4 0.00 4 4 0.00 4 4 0.00 3 3 0.00 1 1 0.004 14 14 0.00 13 13 0.00 13 13 0.00 13 13 0.00 13 13 0.005 9 9 0.00 6 6 0.00 6 6 0.00 5 5 0.00 4 4 0.006 5 5 0.00 3 3 0.00 3 3 0.00 3 3 0.00 2 2 0.007 7 7 0.00 4 4 0.00 4 4 0.00 4 4 0.00 4 4 0.008 13 13 0.00 10 10 0.00 8 8 0.00 5 5 0.00 5 5 0.009 8 8 0.00 8 8 0.00 8 8 0.00 5 5 0.00 5 5 0.0010 8 8 0.00 5 5 0.00 5 5 0.00 5 5 0.00 5 5 0.00
Tabla 6.4 Resultados de IWO en MCDP, con tres celdas
C=3P Mmax = 6 Mmax = 7 Mmax = 8 Mmax = 9
Boctor IWO RPD (%) Boctor IWO RPD (%) Boctor IWO RPD (%) Boctor IWO RPD (%)1 27 27 0.00 18 18 0.00 11 11 0.00 11 11 0.002 7 7 0.00 6 6 0.00 6 6 0.00 6 6 0.003 9 9 0.00 4 4 0.00 4 4 0.00 4 4 0.004 27 27 0.00 18 18 0.00 14 14 0.00 13 13 0.005 11 11 0.00 8 8 0.00 8 8 0.00 6 6 0.006 6 6 0.00 4 4 0.00 4 4 0.00 3 3 0.007 11 11 0.00 5 5 0.00 5 5 0.00 4 4 0.008 14 14 0.00 11 11 0.00 11 11 0.00 10 10 0.009 12 12 0.00 12 12 0.00 8 8 0.00 8 8 0.0010 10 10 0.00 8 8 0.00 8 8 0.00 5 5 0.00
El algoritmo de IWO ha sido ejecutado sobre un procesador Intel Core i5 4210U con 6 GB de memoria
RAM, con Sistema Operativo Windows 8.1 Pro. El lenguaje de programacion utilizado fue Java, a traves
de Netbeans como ya se ha mencionado. En este contexto, se tienen optimos globales para las 90 instancias
de Boctor. Esto significa haber encontrado resultados promisorios, considerando que todos los RPD para
las instancias equivalen a cero, como se aprecia en las Tablas 6.3 y 6.4. No obstante, se debe destacar el
problema que IWO presenta con MCDP, al cambiar el dominio real con que trabaja la metaheurıstica, a
uno binario. Esto, produce una lenta convergencia de los resultados con un numero de celdas C = 3, lo que
provoca que se deba parametrizar una cantidad de iteraciones (Niter) mayor para el algoritmo.
Las Figuras 6.1, 6.2 y 6.3 son graficos de convergencia, los cuales muestran el comportamiento y el valor
optimo de cada iteracion del algoritmo IWO. Por medio de estas, se puede apreciar las caracterısticas de la
12
0
5
10
15
20
25
30
0 50 100 150 200 250 300 350 400 450 500
Opt
imal
Val
ue
Iteration Number
Problem 1
Figura 6.1 Grafico convergencia de IWO con MMax= 8 y C= 2.
0
5
10
15
20
25
30
0 50 100 150 200 250 300 350 400 450 500
Opt
imal
Val
ue
Iteration Number
Problem 9
Figura 6.2 Grafico convergencia de IWO con MMax= 10 y C= 2.
0
5
10
15
20
25
30
35
0 50 100 150 200 250 300 350 400 450 500
Opt
imal
Val
ue
Iteration Number
Problem 5
Figura 6.3 Grafico convergencia de IWO con MMax= 7 y C= 3.
13
convergencia mencionada en el parrafo anterior, causada por la dimension binaria de las instancias de MCDP.
Es ası, como se distingue que para las instancias con dos celdas se produce una mayor cantidad de cambios
del valor optimo actual. Un fenomeno distinto ocurre con las que poseen tres celdas, ya que estas tienen un
numero de iteraciones mas elevado para converger hacia el valor esperado. Esta caracterıstica que se puede
visualizar en la Figura 6.3, demuestra que la metaheurıstica reduce los valores optimos de las instancias con
tres celdas, en intervalos de iteraciones mayores que para aquellas con dos celdas.
6.2 Experimentos con otras instancias
Para continuar comprobando el funcionamiento del algoritmo IWO, se ha realizado la busqueda de nuevas
instancias de MCDP, extraıdas de las investigaciones hechas por otros autores. En este apartado se muestran
los resultados obtenidos para dichas instancias, las cuales corresponden a diversas combinaciones de numeros
de celdas y numero maximo de maquinas por cada una de estas. En la Tabla 6.5 se senalan los autores
desde donde se obtuvieron las matrices maquina-pieza con que se generan las 32 instancias en total. Estas
se pueden revisar en la Tabla 6.6, la cual hace la comparacion entre el optimo global obtenido con tecnicas
completas de busqueda y el resultado que se logra con el algoritmo de IWO.
Tabla 6.5 Fuentes para nuevas instancias
Problema Fuente Problema Maquinas Piezas1 King and Nakornchai [9] 5 72 Waghodekar and Sahu, Figure 4.a [29] 5 73 Seifoddini [23] 5 184 Kusiak and Cho [10] 6 85 Boctor, Figure 1.b [2] 6 116 Seifoddini and Wolfe [24] 7 127 Chandrasekharan and Rajagopalan [5] 8 20
En la Tabla 6.6 se pueden revisar los resultados de la ejecucion del algoritmo IWO por cada una de las 32
instancias. Cabe destacar que se logra llegar al optimo en el 100% de estas, comprobandose que IWO puede
funcionar con cualquier instancia de MCDP. Ademas, se deja registro acerca de una instancia para la cual
se logro encontrar una solucion con menores movimientos interceldarios que los definidos en el optimo global
conocido, siendo la reduccion de estos en un 54%.
14
Tabla 6.6 Resultados de IWO en MCDP, para nuevas instancias
Instancia Problema Maquinas Piezas Celdas MMax Optimo IWO RPD1 1 5 7 2 3 0 0 0%2 1 5 7 2 4 0 0 0%3 1 5 7 3 2 2 2 0%4 1 5 7 3 3 0 0 0%5 2 5 7 2 3 5 5 0%6 2 5 7 2 4 3 3 0%7 2 5 7 3 2 8 8 0%8 3 5 18 2 3 5 5 0%9 3 5 18 2 4 4 4 0%10 3 5 18 3 2 11 11 0%11 4 6 8 2 3 2 2 0%12 4 6 8 2 4 2 2 0%13 4 6 8 2 5 2 2 0%14 4 6 8 3 2 7 7 0%15 4 6 8 3 3 2 2 0%16 4 6 8 3 4 2 2 0%17 4 6 8 3 5 2 2 0%18 4 6 8 5 2 7 7 0%19 5 7 11 2 4 2 2 0%20 5 7 11 2 5 1 1 0%21 5 7 11 2 6 1 1 0%22 5 7 11 3 3 2 2 0%23 6 8 12 2 4 6 6 0%24 6 8 12 2 5 3 3 0%25 6 8 12 2 6 1 1 0%26 6 8 12 2 7 1 1 0%27 6 8 12 3 3 7 7 0%28 6 8 12 3 4 13 6 -54%29 7 8 20 2 4 7 7 0%30 7 8 20 2 5 7 7 0%31 7 8 20 3 3 14 14 0%32 7 8 20 3 4 7 7 0%
15
7 Conclusiones
En esta tesis se ha estudiado la aplicacion de metodos aproximados, como lo son las metaheurısticas, y
como estas tecnicas se pueden implementar mediante una plataforma determinada. Por otra parte, se ha
obtenido la informacion necesaria con respecto alManufacturing Cell Design Problem, o MCDP, estableciendo
los recursos que se requieren, ası como las restricciones propias de este caso de estudio.
De esta forma, se logro la implementacion de un solver que llevo a cabo la labor de encontrar valores
optimos para instancias de MCDP. Los avances en el proceso de investigacion e implementacion de la meta-
heurıstica basada en el crecimiento de las hierbas invasivas en la Agricultura (IWO), ası como todo lo que
se relaciona con MCDP, quedan demostrados mediante los algoritmos, tablas de resultados y graficos de
convergencia descritos en la seccion de Resultados. Al realizar un resumen de los experimentos, se destaca
la obtencion de valores optimos globales para las 90 instancias presentadas por F. Boctor en [2], ademas
de llegar a los optimos globales para las demas instancias extraıdas de los trabajos de otros autores. Estos
resultados son considerados promisorios, ya que permiten aseverar que IWO es una aceptable alternativa para
la busqueda de soluciones factibles y optimas para problemas complejos, ya sea de MCDP o para cualquier
otro problema de optimizacion.
En lo que se refiere al comportamiento del algoritmo implementado, se evidencio la conversion que se
ha hecho en IWO para que funcione con problemas que poseen un dominio binario; esto explica en parte
la pausada convergencia hacia resultados optimos con las instancias que tienen tres celdas (C=3). Cabe
destacar tambien, la parametrizacion utilizada, ya que permite a la implementacion desarrollada ejecutar el
algoritmo de IWO sobre cualquier instancia de MCDP, configurando la cantidad de maquinas, piezas, celdas
o el valor de los parametros propios de la metaheurıstica. La dimension del problema, por lo tanto, no
implica restricciones para el algoritmo de IWO, salvo la conversion a dominio binario ya mencionada. Ası,
se concluye que los avances alcanzados con el algoritmo IWO usado para MCDP, son un nuevo paso para la
resolucion de problemas complejos con tecnicas incompletas.
16
Referencias
[1] N. Aljaber, W. Baek, and C. Chen. A tabu search approach to the cell formation problem. Computers
and Industrial Engineering, 32(1):169–185, 1997.
[2] F. Boctor. A linear formulation of the machine-part cell formation problem. International Journal
Production Research, 29(2):343–356, 1991.
[3] M. Boulif and K. Atif. A new branch-&-bound-enhanced genetic algorithm for the manufacturing cell
formation problem. Computers and Operations Research, 33:2219–2245, 2006.
[4] J. Burbidge. Production flow analysis. Production Engineer, 42(12):742–452, 1963.
[5] M. P. Chandrasekharan and R. Rajagopalan. An ideal seed nonhierarchical clustering algorithm for
cellular manufacturing. International Journal of Production Research, 24(2):451–463, 1986.
[6] O. Duran, N. Rodrıguez, and L. Consalter. Collaborative particle swarm optimization with a data mining
technique for manufacturing cell design. Expert Systems with Applications, 37(2):1563–1567, 2010.
[7] J. Gutierrez and A. Lopez. Modelado y resolucion del manufacturing cell design problem (mcdp) uti-
lizando programacion con restricciones. 2011.
[8] T. James, E. Brown, and K. Keeling. A hybrid grouping genetic algorithm for the cell formation problem.
Computers and Operations Research, 34(7):2059–2079, 2007.
[9] J. R. King and V. Nakornchai. Machine-component grouping in production flow analysis: an approach
using a rank order clustering algorithm. International Journal of Production Research, 18(2):213–232,
1980.
[10] A. Kusiak and M. Cho. Similarity coefficient algorithms for solving the group technology problem.
International Journal of Production Research, 30(11):2633–2646, 1992.
[11] A. Kusiak and W. Chow. Efficient solving of the group technology problem. Journal of Manufacturing
Systems, 6:117–124, 1987.
[12] K. Lenin, B. R. Reddy, and S. Kalavathi. Hybrid - invasive weed optimization particle swarm optimiza-
tion algorithm for solving optimal reactive power dispatch problem. International Journal of Research
in Electronics and Communication Technology (IJRECT 2014), 1(1):41–45, 2014.
[13] S. Lizama and A. Munoz. Algoritmos de consistencia para programacion con restricciones. 2012.
[14] S. Lozano, A. Dıaz, I. Eguıa, and L. Onieva. A one-step tabu search algorithm for manufacturing cell
design. Journal of the Operational Research Society, 50(5), 1999.
17
[15] A. R. Mallahzadeh, H. Oraizi, and Z. Davoodi-Rad. Application of the invasive weed optimization
technique for antenna configurations. Progress In Electromagnetics Research, 79:137–150, 2008.
[16] P. Medina, E. Cruz, and M. Pinzon. Generacion de celdas de manufactura usando el algoritmo de
ordenamiento binario. Scientia Et Technica, 16(44):106–110, 2010.
[17] A. R. Mehrabian and C. Lucas. A novel numerical optimization algorithm inspired from weed coloniza-
tion. Ecological Informatics, 1(4):355–366, 2006.
[18] M. Mururgan and V. Selladurai. Manufacturing cell design with reduction in setup time through genetic
algorithm. Journal of Theoretical and Applied Information Technology, 3(1):76–97, 2006.
[19] A. Nsakanda, M. Diaby, and W. Price. Hybrid genetic approach for solving large-scale capacitated cell
formation problems with multiple routings. European Journal of Operational Research, 171(3):1051–
1070, 2006.
[20] E. Olivia-Lopez and G. Purcheck. International journal of mtdr. Journal of Operations Management,
19:259–268, 1979.
[21] G. Purcheck. A linear - programming method for the combinatorial grouping of an incomplete set.
Journal of cybernetics, 5:51–58, 1975.
[22] S. Sankaran. Multiple objective decision making approach to cell formation: A goal programming model.
Mathematical computer modeling, 13:71–77, 1990.
[23] H. Seifoddini. A note on the similarity coefficient method and the problem of improper machine assign-
ment in group technology applications. International Journal of Production Research, 27(7):1161–1165,
1989.
[24] H. Seifoddini and P. M. Wolfe. Application of the similarity coefficient method in group technology. IIE
transactions, 18(3):271–277, 1986.
[25] S. Shafer and D. Rogers. A goal programming approach to cell formation problems. Journal of Operations
Management, 10:28–34, 1991.
[26] R. Soto, H. Kjellerstrand, O. Duran, B. Crawford, E. Monfroy, and F. Paredes. Cell formation in group
technology using constraint programming and boolean satisfiability. Expert Systems with Applications,
39:11423–11427, 2012.
[27] C. Veenhuis. Binary invasive weed optimization. Second World Congress on Nature and Biologically
Inspired Computing, pages 449–454, 2003.
18
[28] V. Venugopal and T. T. Narendran. A genetic algorithm approach to the machine-component grouping
problem with multiple objectives. Computers and Industrial Engineering, 22(4):469–480, 1992.
[29] P. H. Waghodekar and S. Sahu. Machine-component cell formation in group technology: Mace. Inter-
national Journal of Production Research, 22(6):937–948, 1984.
[30] T. Wu, C. Chang, and S. Chung. A simulated annealing algorithm for manufacturing cell formation
problems. Expert Systems with Applications, 34(3):1609–1617, 2008.
[31] A. Xambre and P. Vilarinho. A simulated annealing approach for manufacturing cell formation with
multiple identical machines. European Journal of Operational Research, page 434–446, 2003.
[32] Y. Yin and K. Yasuda. Manufacturing cells’ design in consideration of various production. International
Journal of Production Research, 40(4):802–906, 2001.
19
Anexos
A Soluciones a instancias de Boctor de dos celdas
Tabla A.1 Problema 1, C=2, MMax=8.
0 10 10 11 01 01 00 10 10 11 01 00 11 01 00 11 0
20
Tabla A.2 Problema 1, C=2, MMax=9
0 10 11 00 10 11 00 10 11 01 00 11 00 11 01 00 1
Tabla A.3 Problema 1, C=2, MMax=10
1 01 00 11 00 10 10 10 10 10 10 11 01 00 11 00 1
21
Tabla A.4 Problema 1, C=2, MMax=11
1 00 10 11 00 11 00 11 01 00 11 00 10 10 11 00 1
Tabla A.5 Problema 1, C=2, MMax=12
0 10 10 11 01 01 00 10 11 01 00 10 11 01 01 01 0
22
Tabla A.6 Problema 2,MMax=8,C=2
1 01 01 01 01 01 01 00 11 00 10 10 10 10 10 10 1
Tabla A.7 Problema 2, C=2, MMax=9
1 01 01 00 11 01 01 00 11 01 00 11 00 10 10 10 1
23
Tabla A.8 Problema 2, C=2, MMax=10
1 00 11 01 00 11 00 11 01 00 10 11 00 11 00 10 1
Tabla A.9 Problema 2, C=2, MMax=11
1 01 00 11 01 00 11 00 10 10 10 11 00 11 01 00 1
24
Tabla A.10 Problema 2, C=2, MMax=12
1 01 00 11 01 00 10 10 11 01 01 01 00 11 00 11 0
Tabla A.11 Problema 3, C=2, MMax=8
1 00 10 10 11 00 11 01 00 10 11 00 11 01 01 00 1
25
Tabla A.12 Problema 3, C=2, MMax=9
1 01 01 01 01 01 00 11 01 00 10 10 10 11 00 10 1
Tabla A.13 Problema 3, C=2, MMax=10
0 10 10 11 01 00 11 01 00 10 11 01 01 01 01 00 1
26
Tabla A.14 Problema 3, C=2, MMax=11
0 11 01 01 00 11 01 00 11 01 00 11 00 11 01 01 0
Tabla A.15 Problema 3, C=2, MMax=12
1 00 11 00 10 11 01 00 11 01 00 10 11 01 00 10 1
27
Tabla A.16 Problema 4, C=2, MMax=8
1 01 01 01 01 01 01 00 10 10 10 10 11 00 10 10 1
Tabla A.17 Problema 4, C=2, MMax=9
0 10 10 10 11 01 01 00 11 00 10 11 01 01 01 00 1
28
Tabla A.18 Problema 4, C=2, MMax=10
1 00 10 11 00 10 11 01 00 10 11 00 10 11 01 01 0
Tabla A.19 Problema 4, C=2, MMax=11
1 00 11 01 01 01 01 01 00 10 10 11 01 00 11 00 1
29
Tabla A.20 Problema 4, C=2, MMax=12
1 01 01 01 00 10 11 01 01 01 00 11 01 00 11 00 1
Tabla A.21 Problema 5, C=2, MMax=8
1 01 00 10 10 10 11 01 00 11 01 00 11 00 10 11 0
30
Tabla A.22 Problema 5, C=2, MMax=9
1 01 01 01 01 00 11 00 10 10 11 00 11 01 00 10 1
Tabla A.23 Problema 5, C=2, MMax=10
0 10 11 00 11 01 00 10 11 01 01 01 01 00 11 00 1
31
Tabla A.24 Problema 5, C=2, MMax=11
1 00 10 11 01 00 11 01 00 11 01 01 01 00 11 00 1
Tabla A.25 Problema 5, C=2, MMax=12
1 01 01 01 01 00 11 01 00 11 00 11 01 00 10 11 0
32
Tabla A.26 Problema 6, C=2, MMax=8
0 10 10 11 01 00 10 11 00 10 11 01 01 00 11 01 0
Tabla A.27 Problema 6, C=2, MMax=9
0 11 01 00 10 10 10 11 01 01 01 01 00 11 00 11 0
33
Tabla A.28 Problema 6, C=2, MMax=10
1 01 01 00 10 11 01 00 11 01 00 10 10 10 11 00 1
Tabla A.29 Problema 6, C=2, MMax=11
1 01 01 00 11 01 01 00 11 01 01 00 10 11 01 00 1
34
Tabla A.30 Problema 6, C=2, MMax=12
0 10 11 01 01 01 00 11 00 10 11 01 01 01 01 01 0
Tabla A.31 Problema 7, C=2, MMax=8
1 00 10 11 01 01 00 11 01 01 00 11 00 10 10 10 1
35
Tabla A.32 Problema 7, C=2, MMax=9
1 01 01 00 10 10 11 01 00 11 01 00 11 01 00 10 1
Tabla A.33 Problema 7, C=2, MMax=10
0 11 01 01 00 10 11 01 01 00 10 10 11 01 01 00 1
36
Tabla A.34 Problema 7, C=2, MMax=11
0 11 00 10 11 01 01 01 00 11 00 11 01 01 01 01 0
Tabla A.35 Problema 7, C=2, MMax=12
0 11 00 11 01 00 11 00 11 01 01 00 11 01 01 01 0
37
Tabla A.36 Problema 8, C=2, MMax=8
1 00 10 10 10 11 01 01 00 10 10 10 11 01 01 01 0
Tabla A.37 Problema 8, C=2, MMax=9
0 11 01 00 11 01 01 00 11 01 01 00 10 10 10 10 1
38
Tabla A.38 Problema 8, C=2, MMax=10
1 01 01 01 00 10 11 00 11 00 10 11 00 11 00 10 1
Tabla A.39 Problema 8, C=2, MMax=11
0 11 01 00 11 00 10 10 10 11 01 01 00 10 11 00 1
39
Tabla A.40 Problema 8, C=2, MMax=12
1 00 10 10 11 00 10 11 01 01 01 00 11 00 10 11 0
Tabla A.41 Problema 9, C=2, MMax=8
1 01 00 10 10 11 00 10 11 00 11 00 11 00 11 01 0
40
Tabla A.42 Problema 9, C=2, MMax=9
0 10 11 01 01 01 01 01 00 11 00 11 00 10 10 11 0
Tabla A.43 Problema 9, C=2, MMax=10
0 11 00 10 10 11 00 11 01 00 11 01 01 01 00 10 1
41
Tabla A.44 Problema 9, C=2, MMax=11
1 00 10 11 00 11 01 01 00 10 11 00 10 11 01 01 0
Tabla A.45 Problema 9, C=2, MMax=12
0 10 10 10 11 01 01 00 10 10 11 01 00 11 00 11 0
42
Tabla A.46 Problema 10, C=2, MMax=8
1 01 00 11 01 00 11 00 10 11 01 00 10 10 11 00 1
Tabla A.47 Problema 10, C=2, MMax=9
1 01 01 00 10 11 00 10 10 10 11 00 11 01 00 11 0
43
Tabla A.48 Problema 10, C=2, MMax=10
1 00 11 00 10 11 00 10 10 11 01 00 11 00 11 01 0
Tabla A.49 Problema 10, C=2, MMax=11
1 01 01 00 11 01 01 00 11 00 10 10 11 01 00 11 0
44
Tabla A.50 Problema 10, C=2, MMax=12
0 10 10 11 01 01 00 11 01 00 10 10 11 01 00 11 0
45
B Soluciones a instancias de Boctor de tres celdas
Tabla B.1 Problema 1, C=3, MMax=6
0 1 00 0 10 1 00 1 00 1 00 1 00 0 10 0 10 0 11 0 00 0 11 0 01 0 01 0 01 0 01 0 0
46
Tabla B.2 Problema 1, C=3, MMax=7
0 1 01 0 00 0 11 0 01 0 00 0 11 0 01 0 00 1 01 0 00 0 10 0 10 0 10 0 10 1 00 1 0
Tabla B.3 Problema 1, C=3, MMax=8
0 1 00 1 01 0 00 1 00 0 10 0 10 0 10 0 11 0 00 0 11 0 01 0 00 0 11 0 00 0 10 1 0
47
Tabla B.4 Problema 1, C=3, MMax=9
0 1 01 0 00 1 01 0 00 1 01 0 00 0 10 0 11 0 00 0 10 1 00 0 10 0 10 0 10 0 11 0 0
Tabla B.5 Problema 2, C=3, MMax=6
0 1 00 0 10 1 00 0 10 1 00 0 11 0 01 0 01 0 01 0 01 0 01 0 00 1 00 0 10 0 10 1 0
48
Tabla B.6 Problema 2, C=3, MMax=7
0 0 10 1 00 1 00 1 00 0 11 0 00 1 01 0 00 1 00 1 00 0 10 0 10 1 00 0 10 0 10 0 1
Tabla B.7 Problema 2, C=3, MMax=8
0 1 01 0 00 1 00 1 00 1 00 1 00 0 10 0 10 0 10 0 11 0 00 0 10 0 10 0 10 1 01 0 0
49
Tabla B.8 Problema 2, C=3, MMax=9
1 0 01 0 00 1 01 0 00 1 01 0 00 0 10 0 10 0 10 1 01 0 00 0 10 0 10 0 10 0 10 0 1
Tabla B.9 Problema 3, C=3, MMax=6
0 1 01 0 01 0 01 0 00 1 01 0 00 1 00 0 10 0 10 1 00 0 10 0 10 1 01 0 00 0 10 0 1
50
Tabla B.10 Problema 3, C=3, MMax=7
1 0 01 0 00 0 10 1 00 1 00 1 01 0 01 0 00 1 01 0 00 1 00 0 11 0 00 0 10 1 01 0 0
Tabla B.11 Problema 3, C=3, MMax=8
0 1 01 0 01 0 00 1 01 0 00 1 00 0 10 0 10 0 11 0 00 0 11 0 00 0 10 0 10 0 10 1 0
51
Tabla B.12 Problema 3, C=3, MMax=9
1 0 00 1 01 0 00 0 10 0 10 1 01 0 00 1 00 0 10 1 00 1 00 0 11 0 01 0 00 1 00 0 1
Tabla B.13 Problema 4, C=3, MMax=6
0 1 01 0 00 0 10 0 10 1 00 0 11 0 01 0 00 1 01 0 00 1 01 0 00 0 10 0 10 1 00 0 1
52
Tabla B.14 Problema 4, C=3, MMax=7
0 1 01 0 01 0 00 1 00 1 01 0 00 0 10 0 10 0 10 0 10 0 10 0 11 0 01 0 00 0 11 0 0
Tabla B.15 Problema 4, C=3, MMax=8
1 0 00 1 01 0 00 0 10 0 10 1 00 0 10 1 00 0 10 0 10 1 01 0 00 0 10 1 00 0 10 0 1
53
Tabla B.16 Problema 4, C=3, MMax=9
1 0 01 0 00 1 00 0 10 0 11 0 00 0 10 0 10 0 10 0 10 1 00 0 10 0 10 0 11 0 01 0 0
Tabla B.17 Problema 5, C=3, MMax=6
0 0 11 0 01 0 00 1 00 1 01 0 00 1 00 0 11 0 00 1 00 0 11 0 00 1 01 0 00 0 10 1 0
54
Tabla B.18 Problema 5, C=3, MMax=7
1 0 00 0 11 0 01 0 00 0 10 1 00 0 10 1 00 0 11 0 01 0 00 1 00 1 01 0 00 1 01 0 0
Tabla B.19 Problema 5, C=3, MMax=8
0 1 01 0 00 1 00 1 00 0 10 1 01 0 00 1 00 0 10 0 10 1 00 1 00 1 01 0 01 0 01 0 0
55
Tabla B.20 Problema 5, C=3, MMax=9
0 1 01 0 00 0 10 1 00 1 00 0 10 1 01 0 00 1 00 0 10 0 10 1 00 1 00 1 00 1 01 0 0
Tabla B.21 Problema 6, C=3, MMax=6
1 0 01 0 01 0 00 1 01 0 00 1 00 1 00 1 00 1 00 0 10 0 10 0 11 0 00 0 10 0 10 1 0
56
Tabla B.22 Problema 6, C=3, MMax=7
1 0 00 1 00 0 10 0 10 1 00 1 00 0 10 1 00 1 00 0 11 0 01 0 00 1 00 1 00 0 10 0 1
Tabla B.23 Problema 6, C=3, MMax=8
0 0 10 1 00 1 00 1 00 1 00 0 10 1 01 0 00 0 10 0 10 1 00 0 11 0 00 0 10 1 01 0 0
57
Tabla B.24 Problema 6, C=3, MMax=9
1 0 00 1 00 1 01 0 00 1 01 0 01 0 00 1 00 0 11 0 00 0 10 1 00 0 10 0 11 0 01 0 0
Tabla B.25 Problema 7, C=3, MMax=6
0 1 00 1 01 0 01 0 00 0 10 0 11 0 01 0 01 0 00 0 10 1 00 0 10 1 01 0 00 1 00 0 1
58
Tabla B.26 Problema 7, C=3, MMax=7
0 1 01 0 00 0 10 1 00 1 01 0 00 1 00 1 01 0 00 1 00 0 11 0 01 0 01 0 00 1 01 0 0
Tabla B.27 Problema 7, C=3, MMax=8
0 1 00 1 01 0 00 1 00 1 01 0 00 0 10 1 01 0 01 0 00 0 10 0 11 0 01 0 01 0 00 1 0
59
Tabla B.28 Problema 7, C=3, MMax=9
1 0 01 0 00 1 00 1 01 0 01 0 00 0 10 1 00 1 01 0 01 0 00 1 00 0 11 0 01 0 00 1 0
Tabla B.29 Problema 8, C=3, MMax=6
1 0 00 1 00 1 00 1 01 0 00 1 00 1 01 0 00 1 00 0 10 0 10 0 11 0 00 0 10 0 10 0 1
60
Tabla B.30 Problema 8, C=3, MMax=7
0 1 00 1 01 0 01 0 00 0 11 0 00 0 10 1 00 0 11 0 00 0 10 0 11 0 00 0 11 0 01 0 0
Tabla B.31 Problema 8, C=3, MMax=8
0 0 11 0 01 0 01 0 00 1 00 1 00 1 01 0 01 0 00 1 00 1 00 1 00 0 10 1 01 0 00 1 0
61
Tabla B.32 Problema 8, C=3, MMax=9
1 0 01 0 00 1 01 0 01 0 00 0 10 0 10 0 11 0 00 1 00 0 10 0 10 1 00 0 10 0 10 1 0
Tabla B.33 Problema 9, C=3, MMax=6
0 1 00 1 00 0 10 0 10 1 00 1 00 0 10 1 01 0 01 0 01 0 01 0 00 0 10 0 11 0 01 0 0
62
Tabla B.34 Problema 9, C=3, MMax=7
1 0 00 1 01 0 00 1 00 0 10 0 10 1 00 1 01 0 01 0 00 0 11 0 00 0 10 0 10 0 10 0 1
Tabla B.35 Problema 9, C=3, MMax=8
0 1 01 0 01 0 01 0 00 1 01 0 00 1 01 0 00 0 11 0 00 0 11 0 00 0 11 0 00 0 10 0 1
63
Tabla B.36 Problema 9, C=3, MMax=9
0 0 10 1 00 0 11 0 00 0 10 1 01 0 00 1 00 1 01 0 00 0 10 0 10 1 00 0 10 0 10 1 0
Tabla B.37 Problema 10, C=3, MMax=6
0 0 10 0 10 1 00 1 00 1 01 0 00 0 10 1 00 0 11 0 01 0 00 1 00 1 01 0 01 0 01 0 0
64
Tabla B.38 Problema 10, C=3, MMax=7
0 1 00 1 01 0 00 0 11 0 01 0 00 1 00 0 10 1 00 1 01 0 01 0 00 1 00 0 10 0 10 0 1
Tabla B.39 Problema 10, C=3, MMax=8
0 0 11 0 00 1 00 1 00 1 01 0 00 0 10 0 10 1 01 0 00 1 00 0 11 0 00 0 10 0 11 0 0
65
Tabla B.40 Problema 10, C=3, MMax=9
0 0 11 0 00 1 01 0 00 0 10 1 00 1 00 1 00 0 11 0 01 0 00 0 10 1 01 0 00 1 00 0 1
66
C Soluciones a nuevas instancias de otros autores
Tabla C.1 Instancia 1, Problema 1, C=2, MMax=3
0 10 10 11 01 0
Tabla C.2 Instancia 2, Problema 1, C=2, MMax=4
0 11 00 10 11 0
Tabla C.3 Instancia 3, Problema 1, C=3, MMax=2
0 0 10 1 00 1 01 0 01 0 0
Tabla C.4 Instancia 4, Problema 1, C=3, MMax=3
1 0 00 1 00 0 10 0 11 0 0
67
Tabla C.5 Instancia 5, Problema 2, C=2, MMax=3
1 00 10 11 01 0
Tabla C.6 Instancia 6, Problema 2, C=2, MMax=4
1 00 10 11 01 0
Tabla C.7 Instancia 7, Problema 2, C=3, MMax=2
0 0 10 1 00 1 00 0 11 0 0
Tabla C.8 Instancia 8, Problema 3, C=2, MMax=3
0 11 00 11 01 0
68
Tabla C.9 Instancia 9, Problema 3, C=2, MMax=4
0 10 10 10 11 0
Tabla C.10 Instancia 10, Problema 3, C=3, MMax=2
0 1 00 0 10 1 01 0 01 0 0
Tabla C.11 Instancia 11, Problema 4, C=2, MMax=3
1 01 00 11 00 10 1
Tabla C.12 Instancia 12, Problema 4, C=2, MMax=4
0 11 00 10 11 00 1
69
Tabla C.13 Instancia 13, Problema 4, C=2, MMax=5
0 11 01 01 01 01 0
Tabla C.14 Instancia 14, Problema 4, C=3, MMax=2
0 0 10 1 01 0 01 0 00 0 10 1 0
Tabla C.15 Instancia 15, Problema 4, C=3, MMax=3
1 0 01 0 01 0 00 0 10 0 10 0 1
Tabla C.16 Instancia 16, Problema 4, C=3, MMax=4
0 0 10 0 10 1 00 0 10 0 11 0 0
70
Tabla C.17 Instancia 17, Problema 4, C=3, MMax=5
1 0 00 0 10 1 00 0 10 0 10 0 1
Tabla C.18 Instancia 18, Problema 4, C=5, MMax=2
0 0 1 0 00 0 0 0 10 0 0 1 00 0 0 0 11 0 0 0 00 1 0 0 0
Tabla C.19 Instancia 19, Problema 5, C=2, MMax=4
0 10 10 11 01 00 11 0
Tabla C.20 Instancia 20, Problema 5, C=2, MMax=5
1 01 00 10 10 11 01 0
71
Tabla C.21 Instancia 21, Problema 5, C=2, MMax=6
0 10 11 01 01 01 00 1
Tabla C.22 Instancia 22, Problema 5, C=3, MMax=3
1 0 00 1 01 0 00 1 00 0 10 0 11 0 0
Tabla C.23 Instancia 23, Problema 6, C=2, MMax=4
1 01 01 00 10 11 00 10 1
72
Tabla C.24 Instancia 24, Problema 6, C=2, MMax=5
0 10 11 00 10 11 00 11 0
Tabla C.25 Instancia 25, Problema 6, C=2, MMax=6
1 01 01 01 00 11 00 10 1
Tabla C.26 Instancia 26, Problema 6, C=2, MMax=7
0 10 11 01 00 10 10 11 0
73
Tabla C.27 Instancia 27, Problema 6, C=3, MMax=3
0 0 11 0 00 0 10 1 01 0 01 0 00 1 00 1 0
Tabla C.28 Instancia 28, Problema 6, C=3, MMax=4
0 1 00 0 10 0 10 1 00 1 01 0 00 0 10 0 1
Tabla C.29 Instancia 29, Problema 7, C=2, MMax=4
0 11 00 10 11 01 00 11 0
74
Tabla C.30 Instancia 30, Problema 7, C=2, MMax=5
1 01 01 00 10 11 01 00 1
Tabla C.31 Instancia 31, Problema 7, C=3, MMax=3
1 0 01 0 00 1 00 0 10 0 10 1 00 1 00 0 1
Tabla C.32 Instancia 32, Problema 7, C=3, MMax=4
1 0 00 1 01 0 00 0 10 0 10 0 11 0 00 1 0
75