You are on page 1of 79

INSTITUTO TECNOLÓGICO DE VERACRUZ

FACULTAD DE INGENIERÍA Y CIENCIAS
IMPLEMENTACIÓN DE BÚSQUEDA LOCAL EN
EL ALGORITMO DE LA COLONIA DE ABEJAS
ARTIFICIALES PARA RESOLVER PROBLEMAS
DE OPTIMIZACIÓN CON RESTRICCIONES
TESIS PRESENTADA POR DIEGO DE JESÚS ISLA LÓPEZ
PARA OBTENER EL GRADO DE INGENIERO EN SISTEMAS COMPUTACIONALES
ASESORES:
M.C. RAFAEL RIVERA LÓPEZ
DR. EFRÉN MEZURA MONTES
2014
Departamento de Sistemas Computacionales
Agradecimientos
2
Índice general
Agradecimientos 2
1. Marco Metodológico 8
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.2. Objetivos específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6. Alcances y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Marco Teórico 14
2.1. Optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2. El Problema de Optimizacíon . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3. Optimización Numérica . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4. Optimización Combinatoria . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.5. Convexidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.6. Tipos de Soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.7. Condiciones de Optimalidad . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.8. Condiciones de optimalidad para problemas sin restricciones . . 20
3
Índice general 4
2.1.9. Condiciones de optimalidad para problemas con restricciones . . 20
2.1.10. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2. Técnicas para resolver problemas de optimización . . . . . . . . . . . . . . 22
2.2.1. Clasificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2. Métodos Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3. Métodos No Tradicionales (Heurísticas) . . . . . . . . . . . . . . . . 28
2.3. Metaheurísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1. Criterios utilizados en metaheurísticas . . . . . . . . . . . . . . . . . 28
2.3.2. Principales conceptos usados en metaheurísticas . . . . . . . . . . 29
2.3.3. Manejo de Restricciones en Metaheurísticas . . . . . . . . . . . . . 30
2.3.4. Métaheurísticas basadas en solución única . . . . . . . . . . . . . . 32
2.3.5. Métaheurísticas basadas en población . . . . . . . . . . . . . . . . . 33
2.3.6. Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.7. Algoritmos de Inteligencia Colectiva (Swarm Intelligence) . . . . 34
2.3.8. Teoremas No Free Lunch (NFL) . . . . . . . . . . . . . . . . . . . . . 36
2.4. Comentarios Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3. Algoritmo ABC 38
3.1. Algoritmos inspirados en colonias de abejas . . . . . . . . . . . . . . . . . . 38
3.1.1. Optimización por Apareamiento de Abejas (HBMO) . . . . . . . . 39
3.1.2. Recolección de alimento . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2. Algoritmo ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2.1. Elementos de ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.2. Algoritmo ABC Modificado (M-ABC) . . . . . . . . . . . . . . . . . . 44
3.3. Comentarios Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4. Descripción del Proyecto 49
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. Elementos del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.1. Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.2. Operador de búsqueda local . . . . . . . . . . . . . . . . . . . . . . . 50
4.3. Pasos del algoritmo MABC-CD . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4. Comentarios Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Índice general 5
5. Implementación y resultados 54
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2. Variables de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3. Selección de problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.4. Calibración de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6. Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6.1. Descripción de los resultados . . . . . . . . . . . . . . . . . . . . . . 67
6. Conclusiones 68
Bibliografía 69
Apéndices 70
.1. Tablas de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
.2. Gráficas de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Índice de figuras
2.1. Representación geométrica de un problema de optimización con restric-
ciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2. Representación gráfica del método de búsqueda por sección áurea . . . . 26
3.1. Representación gráfica del algoritmo ABC . . . . . . . . . . . . . . . . . . . 42
6
Índice de cuadros
2.1. Relaciones primal-dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1. Parámetros del algoritmo MABC-CD . . . . . . . . . . . . . . . . . . . . . . 54
1. Resultados para C01 a C06 en 10D . . . . . . . . . . . . . . . . . . . . . . . 73
2. Resultados para C07 a C12 en 10D . . . . . . . . . . . . . . . . . . . . . . . 74
3. Resultados para C13 a C18 en 10D . . . . . . . . . . . . . . . . . . . . . . . 75
4. Resultados para C01 a C06 en 30D . . . . . . . . . . . . . . . . . . . . . . . 76
5. Resultados para C07 a C12 en 30D . . . . . . . . . . . . . . . . . . . . . . . 77
6. Resultados para C13 a C18 en 10D . . . . . . . . . . . . . . . . . . . . . . . 78
7
Capítulo 1
Marco Metodológico
1.1. Antecedentes
En el área de la Investigación de Operaciones (IO) se tratan problemas tanto de inge-
niería como de otras áreas que requieren ser optimizados de acuerdo a sus necesida-
des. Desde la aparición del método simplex en 1947, muchos problemas de la industria
y otras áreas se han resuelto utilizando métodos de optimización. Optimización signi-
fica, a grandes rasgos, obtener la mejor solución posible a un problema determinado.
Para resolver un problema de optimización se requiere de un modelo matemático;
de acuerdo a las características del problema los modelos pueden ser lineales o no
lineales, con restricciones o sin ellas, así como continuos o discretos. Según las ne-
cesidades del problema, el modelo puede ser de minimización o maximización. Aun
con los avances en la tecnología y en el desarrollo de los métodos de optimización,
existen en la actualidad muchos problemas en los cuales no existen algoritmos que los
resuelvan eficientemente.
Los métodos de optimización existentes en la literatura especializada pueden ser utili-
zados para ambos enfoques de maximización y minimización y son la base de métodos
más modernos que buscan obtener resultados mucho mejores en un tiempo considera-
blemente menor, además de realizar cálculos menos complejos. Estos algoritmos son
conocidos como «no tradicionales», o heurísticas, y son diseñados para problemas es-
pecíficos. El estudio moderno de las heurísticas comienza desde las publicaciones del
8
Capítulo 1. Marco Metodológico 9
matemático George Pólya en la década de 1940, quien sentó las bases del pensamiento
para diseñar nuevos métodos de solución a problemas. Las heurísticas logran encon-
trar una solución viable en un tiempo menor al que tardaría un método tradicional,
aunque no dan garantía de encontrar la mejor solución de todas. A pesar de esto últi-
mo, la solución que ofrecen las heurísticas puede ser muy similar a la óptima, lo que
hace que las heurísticas sean un camino viable a seguir al momento de atacar diversos
problemas.
El área de Inteligencia Artificial (IA) ha sido de gran ayuda en el campo de la
optimización mediante el desarrollo de metaheurísticas (heurísticas más generales y
que pueden abarcar más tipos de problemas) que ocupan enfoques poco ortodoxos,
como es el caso de los algoritmos inspirados en la naturaleza. Estos algoritmos emulan
fenómenos que se encuentran en el medio ambiente, como el comportamiento de las
aves, los mecanismos de evolución de las especies, o la forma en que las moléculas
se reacomodan para mantener estados de energía estable. El desarrollo de algorit-
mos inspirados en la naturaleza (bio-inspirados) ha ganado auge en épocas recientes,
cada día estudiándose más fenómenos que puedan ser adaptados. Los algoritmos bio-
inspirados se pueden agrupar en aquellos basados en la teoría evolutiva de Darwin,
denominados algoritmos evolutivos, y los inspirados en el comportamiento de ani-
males sociales (enjambres, o swarm en inglés), llamados algoritmos de inteligencia
colectiva. En sus dos vertientes, estos algoritmos han demostrado tener un desempe-
ño favorable en la resolución de problemas complejos, aunado a que son fáciles de
implementar en código y adaptar a problemas diversos. En la literatura suele denomi-
narse a estos algoritmos como de «caja negra» (black box), ya que para fines prácticos
el funcionamiento interno del algoritmo no es lo importante, sino los resultados que
obtiene al recibir diversos tipos de problemas como entrada.
Los algoritmos evolutivos se basan en la teoría de evolución de las especies de
Darwin y la teoría genética de Mendel (selección natural y mutación genética), que
en conjunto se conoce como neodarwinismo. Uno de los más populares es el algoritmo
genético (AG), pero ha sido criticado por la gran cantidad de parámetros de ajuste
que utiliza. En la actualidad, una variante del AG es el algoritmo de Evolución Dife-
Capítulo 1. Marco Metodológico 10
rencial, propuesto en [SP95] por Storn y Price en 2005, pues ha demostrado tener un
desempeño muy bueno para diferentes tipos de problemas, además de ser muy rápido
en comparación a otros algoritmos evolutivos.
Por otro lado, los algoritmos de inteligencia colectiva surgen de la motivación de re-
solver problemas de optimización mediante la simulación de procesos inteligentes y
colaborativos. Los primeros algoritmos de este tipo fueron el algoritmo de optimiza-
ción por cúmulos de partículas (PSO) y el algoritmo de colonia de hormigas (ACO).
Otro enfoque es el de las colonias de abejas, que en la actualidad son de los más es-
tudiados. Existen varios algoritmos que se basan en el comportamiento de las abejas;
en particular, el algoritmo ABC propuesto por Karaboga en 2005 simula la manera en
que las abejas obtienen alimento.
Los problemas de optimización numérica con restricciones (CNOP, por sus siglas
en inglés) son muy estudiados ya que el análisis de problemas del mundo real fre-
cuentemente presentan restricciones en las variables propias del problema. Muchas
de las metaheurísticas que se han desarrollando en años recientes han sido enfocadas
en resolver problemas de este tipo, pero representan una complejidad computacional
muy grande al momento de ser implementadas en código. Si bien los teoremas no
free lunch (NFL) nos indican que es imposible generar un método que pueda tener
un desempeño favorable para todos los problemas de optimización, esto es, que todos
los métodos que se desarrollen tendrán un desempeño equivalente en la mayoría de
los casos, se ha buscado crear algoritmos que permitan manejar de manera adecuada
diferentes tipos de problemas para después proponer diversos tipos de modificaciones
que logren tener un buen desempeño en tareas más específicas. Entre estas tareas más
específicas se encuentran los CNOPs.
Muchos de los algoritmos bio-inspirados se han implementado para problemas sin
restricciones y existen varios estudios donde se aplican y comparan diferentes me-
taheurísticas usando estos tipos de problemas. Un caso muy común en los problemas
de optimización es la presencia de restricciones. Para el caso de las metaheurísticas, se
han implementado varios enfoques para introducir el manejo de restricciones, en par-
ticular el algoritmo ABC modificado propuesto por Mezura y Cetina en [CDMM12] el
cual introduce mecanismos de selección novedosos (?) y el algoritmo DEag propues-
Capítulo 1. Marco Metodológico 11
to por Takahama, el cual ocupa el mecanismo de restricciones junto con métodos de
gradiente.
1.2. Planteamiento del problema
El algoritmo ABC original fue diseñado para trabajar con problemas de optimiza-
ción numérica sin restricciones, lo que lo hace limitado al tratar de resolver problemas
en espacios de búsqueda restringidos. M-ABC supera esta limitante, mas existe un re-
zago en los resultados comparados a otros algoritmos en el estado del arte actual.
De los enfoques propuestos, los algoritmos que utilizan métodos de gradiente son los
que han mostrado mejores resultados en su desempeño, sin embargo estos métodos
son difíciles de implementar en código y representan una complejidad computacio-
nal grande. Una alternativa para evitar el cálculo del gradiente de una función es
utilizar los enfoques tradicionales que iteran sin usar derivadas, como el método de
Rosenbrock o de coordenadas cíclicas. En particular, es conocido que el método de
Direcciones Conjugadas de Powell es el que más eficiencia ha presentado, por lo que
bien se podría utilizar para considerar las restricciones de un problema. Es por esto
que se propone usar un método de búsqueda local más simple, como es el método
de Direcciones Conjugadas de Powell, el cual no utiliza derivadas, para buscar lograr
un desempeño similar a los algoritmos que implementan métodos de gradiente sin las
desventajas que estos implican.
Por lo anterior, se puede presentar el siguiente planteamiento:
¿Es factible utilizar el método de Direcciones Conjugadas de Powell como meca-
nismo de búsqueda local dentro del algoritmo M-ABC para manejar restricciones
y obtener resultados comparables con los enfoques existentes?
1.3. Objetivos
El presente trabajo de tesis tiene los siguientes objetivos general y específicos:
Capítulo 1. Marco Metodológico 12
1.3.1. Objetivo general
Agregar al algoritmo M-ABC el buscador local basado en el método directo de las
Direcciones Conjugadas de Powell.
1.3.2. Objetivos específicos
Revisar la literatura especializada para entender el algoritmo M-ABC y el algo-
ritmo de las Direcciones Conjugadas de Powell.
Implementar la versión combinada de ambos algoritmos y probarla en un con-
junto de funciones de prueba encontrado en la literatura especializada.
1.4. Justificación
Este proyecto basa su pertinencia desde el punto de vista científico en la ausencia
de estudios como el propuesto en este proyecto en la literatura especializada. Por otro
lado, desde el punto de vista de las aplicaciones derivadas se observa la necesidad de
algoritmos metaheurísticos cada vez más competitivos para resolver problemas com-
plejos del mundo real que en la gran mayoría de los casos requieren en sus modelos
el planteamiento de restricciones.
Comparar el desempeño del algoritmo desarrollado en este proyecto contra el pre-
sentado por Takahama tiene su base en que este algoritmo ha demostrado tener un
desempeño muy bueno en problemas de optimización con restricciones usando méto-
dos de búsqueda de gradiente junto con manejo de restricciones con valor .
1.5. Hipótesis
Es posible acercarse al desempeño obtenido por un algoritmo del estado del arte
que utiliza búsqueda basada en gradiente mediante la combinación del algoritmo M-
ABC con el algoritmo directo de las Direcciones Conjugadas de Powell al resolver
problemas de optimización con restricciones.
Capítulo 1. Marco Metodológico 13
1.6. Alcances y limitaciones
1.6.1. Alcances
El algoritmo a implementarse será probado únicamente en funciones de prueba
encontradas en la literatura especializada y la resolución de problemas reales quedará
para trabajo futuro.
1.6.2. Limitaciones
Las limitaciones del proyecto residen en que es probable que el algoritmo de este
proyecto no supere al desempeño obtenido por el algoritmo de Takahama, pero una
buena aproximación a los resultados será suficiente.
Capítulo 2
Marco Teórico
2.1. Optimización
2.1.1. Generalidades
De acuerdo a [GR12] la optimización se define como el proceso llevado a cabo para
encontrar los valores o características que minimicen algún otro valor que depende
de ellos. El propósito de la optimización es encontrar o identificar la mejor solución
posible, entre todas las soluciones potenciales, para un problema dado, en términos
de algún o algunos criterios de efectividad o desempeño.
En el mundo real, la optimización está presente en todos los campos de la ciencia
y la tecnología; la mayoría de estos problemas se encuentran sujetos a un conjunto de
restricciones que, según el problema, pueden hacerse en términos lineales o no linea-
les, lo que a su vez complica el proceso de búsqueda generando una gran cantidad de
clases de problemas. Por esta razón es que no existe solo un método de optimización,
sino que es posible encontrar un gran número de ellos en la literatura especializa-
da. Desafortunadamente, existen problemas donde los algoritmos que emergen de un
análisis matemático resultan poco eficientes ya que utilizan demasiado tiempo y/o re-
cursos (computacionalmente hablando). El estudio de los algoritmos alternativos de
optimización está enfocado a la resolución de problemas muy complejos que tomaría
mucho tiempo, o sería imposible, realizar por medio de técnicas convencionales. Estos
algoritmos consisten en buscar, en un conjunto de soluciones posibles para el pro-
14
Capítulo 2. Marco Teórico 15
blema en cuestión, aquella que satisfaga de mejor manera una serie de condiciones
planteadas.
2.1.2. El Problema de Optimizacíon
El problema de optimización, como se muestra en [NW99], puede representarse
de la siguiente manera:
min f (x)
sujeto a h(x) = 0
g(x) ≥ 0
Donde:
x es el vector de variables, también llamadas incógnitas o parámetros.
f es la función objetivo.
h(x) es el conjunto de restricciones de igualdad.
g(x) es el conjunto de restricciones de desigualdad.
Para fines de este trabajo de tesis, el enfoque de optimización con el que se desa-
rrollan los problemas es el de minimización.
2.1.3. Optimización Numérica
La optimización numérica se encarga de problemas representados de forma mate-
mática, donde se utiliza una función objetivo, de la cual se busca maximizar o mini-
mizar el valor de esta, dependiendo del problema. Al proceso de identificar la función
objetivo, variables y restricciones de un problema dado es llamado «modelado». La
construcción de un modelo apropiado es el primer paso en el proceso de optimiza-
ción. Si el modelo es muy simple, no proveerá una visión muy útil del problema; pero
si es muy complejo, puede llegar a ser muy difícil de resolver. ([NW99]) En la figura
2.1 se muestra la representación gráfica de un problema de optimización numérica.
Es importante indicar que el ámbito de los posibles valores de las variables en los
problemas de optimización numérica es continua, a diferencia de los problemas de
optimización combinatoria.
Capítulo 2. Marco Teórico 16
Figura 2.1: Representación geométrica de un problema de optimización con restric-
ciones
La formulación de un problema de optimización (modelado) comienza identifi-
cando las variables de diseño. Un problema de diseño por lo regular involucra varios
parámetros de diseño, de los cuales algunos son muy sensibles en el funcionamiento
del diseño. Estos parámetros son llamados variables de diseño en el argot de optimiza-
ción. Otros parámetros de diseño (no tan importantes) suelen quedarse fijos o varían
en relación a las otras variables.
Optimización Numérica Sin Restricciones
Los problemas de optimización sin restricciones pueden encontrarse en muchas
aplicaciones prácticas. Si hay restricciones naturales en las variables, por lo general
estas son descartadas y se supone que no tienen efecto en la solución óptima. Estos
problemas también pueden resultar de la reformulación de problemas con restriccio-
nes, las cuales se reemplazan por términos de penalización en la función objetivo.
Capítulo 2. Marco Teórico 17
Optimización Numérica con Restricciones
Los problemas de optimización con restricciones (CNOP, por sus siglas en inglés)
surgen de modelos que incluyen restricciones explícitas en las variables. Estas res-
tricciones pueden ser límites simples como 0 ≤ x
1
≤ 100, restricciones lineales más
generales como

i
x
i
≤ 1, o desigualdades no lineales que representen relaciones
complejas entre las variables. ([NW99]) No existe una manera única de formular res-
tricciones en todos los problemas, por lo que el número de restricciones a utilizar
depende del usuario. ([Deb04])
Hay dos tipos de de restricciones que emergen de la mayoría de los modelos: igual-
dad y desigualdad. Las restricciones de desigualdad indican que las relaciones funcio-
nales entre las variables de diseño son mayores a, menores a o iguales a un valor
dado. La mayoría de las restricciones encontradas en problemas de ingeniería son de
este tipo. Las restricciones de igualdad indican que las relaciones funcionales deberán
coincidir exactamente con un valor dado. Estas restricciones, por lo general, son más
difíciles de manejar y, por lo tanto, deben evitarse siempre que sea posible. Si las rela-
ciones de igualdad son más simples, puede ser posible reducir el número de variables
de diseño usando restricciones de igualdad. En tal caso, las restricciones de igualdad
reducen la complejidad del problema.
2.1.4. Optimización Combinatoria
La optimización combinatoria se encarga de problemas donde se conoce el espacio
de soluciones (generalmente grande). De acuerdo con Lawler ([Law76]), es el «estu-
dio matemático del ordenamiento, agrupamiento y selección de objetos discretos, por
lo general finitos en número». El objetivo es explorar el espacio de búsqueda y reducir-
lo, para obtener un conjunto mejor de soluciones. Entre los problemas más conocidos
de este tipo están los problemas de calendarización, el problema del agente viajero
(TSP), el problema de las N reinas, etc.
2.1.5. Convexidad
La convexidad es una propiedad fundamental en la teoría de optimización ya que
muchos métodos de búsqueda de una solución óptima basan su desempeño en las
Capítulo 2. Marco Teórico 18
propiedades convexas del problema. El término convexo se puede aplicar tanto a con-
juntos como a funciones.
Un conjunto convexo N es convexo si cualquier punto x ∈ N puede ser repre-
sentado como una combinación lineal de otros dos puntos cualesquiera que también
pertenezcan a N. Geométricamente significa que un conjunto es convexo si la línea
que conecta dos puntos dentro de N se encuentra dentro de dicha región. Por otro
lado, una función f (x) definida en N es convexa si, para cualquier par de puntos x y
y en N, se cumple lo descrito en 2.1:
F(λx + (1 −λ) y) ≤ λf (x) + (1 −λ) f ( y) (2.1)
tal que
0 ≤ λ ≤ 1
El significado geométrico de esta relación indica que la gráfica de la función está
por debajo de la línea recta que una a x y a y.
2.1.6. Tipos de Soluciones
En general, las soluciones de un problema se pueden agrupar dos clasificaciones:
óptimo local y óptimo global.
Óptimo global:
Se define un óptimo global a un punto x

si f (x

) ≤ f (x) para todas las x. Sin
embargo, por lo general no se tiene un panorama completo de toda la función
f , por lo que regularmente se encuentran soluciones locales.
Óptimo local:
Un óptimo local se define como un punto x

, si existe una vecindad N de x

tal
que f (x

) ≤ f (x) para x ∈ N. [NW99]
Capítulo 2. Marco Teórico 19
2.1.7. Condiciones de Optimalidad
Como resultado del estudio de los problemas de optimización, se conocen con-
diciones que indican si una solución es óptima. Como se indicón anteriormente, se
establece que los problemas de optimización pueden ser sin restricciones o con res-
tricciones. [RRR06] Debido a esta clasificación, se pueden definir las condiciones en
las que una solución es óptima, de acuerdo a la presencia o no de restricciones.
Problemas sin restricciones
Si f (x) es continua y doblemente diferenciable, su gradiente y su hessiano per-
miten determinar si el punto es un mínimo local. Estas condiciones utilizan el
concepto de dirección factible. Una dirección factible es el vector unitario d
que, asociado a un punto x ∈ N produce otro punto x +αd ∈ N para un α > 0
1
. Una dirección de descenso factible es aquella que cumple:
f (x + d) < f (x)
Problemas con restricciones
En la mayoría de los problemas de la vida real que se pretenden solucionar
mediante métodos de optimización, existen restricciones para las diferentes va-
riables que se utilizan. La presencia de estas restricciones reduce la región de
búsqueda. Si bien esto puede sonar a que se simplifica la tarea de encontrar una
solución óptima, la realidad es que se vuelve más complicada. Existen dos tipos
de restricciones:
• Restricciones de igualdad
Estas restricciones son las que se igualan a un valor específico, que por lo
general es 0. Formalmente se definen de esta manera:
h(x
1
, ..., x
N
) = 0
• Restricciones de desigualdad
1
La dirección factible de x a x

se define como: d =
x−x

||x−x

||
Capítulo 2. Marco Teórico 20
Estas restricciones imponen una condición de desigualdad a un valor deter-
minado, el cual también suele ser 0. Formalmente se definen de la siguiente
manera:
g(x
1
, ..., x
N
) ≤ 0
En el algoritmo M-ABC se utiliza un mecanismo para un mejor manejo de
restricciones de desigualdad, el cuál se describe en el capítulo 3.
2.1.8. Condiciones de optimalidad para problemas sin restriccio-
nes
Para problemas sin restricciones existen las siguientes condiciones de optimalidad:
1. Condición necesaria de primer orden
∇f (x

) = 0 (2.2)
2. Condición necesaria de segundo orden
d
T

2
f (x) ≥ 0 (2.3)
2.1.9. Condiciones de optimalidad para problemas con restriccio-
nes
Estas condiciones se conocen como condiciones de Karesh-Kuhn-Tucker. Kuhn y
Tucker extendieron el uso de multiplicadores de Lagrange para desarrollar criterios
de optimalidad en problemas con restricciones de igualdad, para que pudiera manejar
también restricciones de desigualdad. [BSS06]
1. Condición necesaria de primer orden

x
L(x

, λ

, µ

) = ∇f (x

) −λ

T
∇h(x

) −µ
T
∇g(x

) = 0 (2.4)
Capítulo 2. Marco Teórico 21
2. Condición necesaria de segundo orden
d
T

2
x
L(x

, λ

, µ

)d ≥ 0 (2.5)
donde:

x
L es el lagrangiano de la función,
x y µ son multiplicadores de Lagrange.
2.1.10. Dualidad
Todo problema de optimización (primal) tiene un problema asociado (dual) con
numerosas propiedades que los relacionan y permiten hacer un mejor análisis de los
problemas. ([Goi]) De esta manera, para que un vector x sea óptimo debe existir otro
vector λ tal que en conjunto satisfagan las mismas condiciones. Para encontrar el dual
de un problema lineal:
Si es problema de minimización, el dual será de maximización y viceversa.
En el dual habrá tantas variables como restricciones en el primal.
En el dual habrá tantas restricciones como variables en el primal.
Los coeficientes de la función objetivo del dual vendrán dados por los coeficien-
tes de la función objetivo del primal.
Los coeficientes que acompañaraán a las variables en una restricción del dual
corresponderán a aquellos coeficientes que acompañan a la variable primal co-
rrespondiente a la restricción dual.
Para saber si las restricciones duales son de ≤, = ó ≥ se recurre a la tabla de
relaciones primal-dual. (Tabla 2.1)
Así, teniendo un problema primal
min z = c x
s. a Ax ≥ b
x
i
≥ 0
Capítulo 2. Marco Teórico 22
es posible reescribirlo como
max w = y b
s.a A
t
y ≤ c
y
i
≥ 0
Problema de minimización Problema de Maximización
Restricciones

=

Variables
≥ 0
Irrestricta
≤ 0
Variables
≥ 0
Irrestricta
≤ 0
Restricciones
≤ 0
=
≥ 0
Cuadro 2.1: Relaciones primal-dual
2.2. Técnicas para resolver problemas de optimización
El área encargada de abordar los problemas de optimización es conocida como
Investigación de Operaciones (IO). Los métodos dentro de esta área son planteados a
manera de algoritmos, los cuales han sido implementados como programas de compu-
tadora debido a la complejidad y número de iteraciones que requieren los mismos.
Por lo general se comienza con una solución que es el estimado inicial, para des-
pués generar una secuencia de estimaciones mejoradas hasta llegar a una solución. La
estrategia para moverse de una iteración a la siguiente es lo que distingue a un algo-
ritmo de otro. La mayoría de las estrategias utilizan los valores de la función objetivo,
las restricciones y, en algunos casos, los valores de la primera y segunda derivadas de
estas funciones. Algunos algoritmos recogen información de iteraciones previas, mien-
tras otros usan solamente información local del punto actual. De acuerdo a [NW99],
independientemente de estas especificaciones, los algoritmos deben tener las siguien-
tes características:
Solidez: Deberán tener un buen desempeño en una amplia variedad de proble-
mas de su clase, para todas las opciones razonables de las variables iniciales.
Capítulo 2. Marco Teórico 23
Eficiencia: No deben requerir mucho tiempo computacional ni almacenamiento.
Exactitud: Deberán ser capaces de identificar una solución con precisión, sin
ser demasiado sensibles a errores en los datos o errores aritméticos cuando el
algoritmo se implementa en una computadora.
Estos objetivos pueden tener conflictos entre sí. Por ejemplo, un método que con-
verge de manera rápida para problemas no lineales puede requerir mucho espacio de
almacenamiento en problemas con un espacio de búsqueda muy amplio. Por otro lado,
un método sólido puede presentar un desempeño lento debido a su complejidad.
2.2.1. Clasificación
De acuerdo a sus características, como se menciona en [Deb04], los algoritmos de
optimización se clasifican de la siguiente manera:
Métodos tradicionales
Se les conooce también con el nombre de «métodos numéricos».
• Métodos para optimización sin restricciones
◦ Métodos de una sola variable
Métodos de delimitación
Métodos de eliminación de regiones
Métodos de estimación de punto
Métodos basados en gradiente
◦ Métodos multivariable
Búsqueda Directa
Métodos basados en gradiente
• Métodos para optimización con restricciones
◦ Métodos de transformación
◦ Búsqueda Directa para problemas con restriccioness
◦ Técnicas de búsqueda lineales
Capítulo 2. Marco Teórico 24
◦ Métodos basados en gradiente
• Métodos especializados
◦ Programación Entera
◦ Programación Geométrica
Métodos no tradicionales
También llamados “heurísticas”, son técnicas las cuales no no garantizan en-
contrar la mejor solución a un problema dado, pero obtienen buenas aproxima-
ciones a problemas complejos en tiempos razonables. Se pueden clasificar de la
siguiente manera, de acuerdo a [Tal09]:
• Métodos basados en solución única
• Métodos basados en población
◦ Algoritmos evolutivos
◦ Algoritmos de inteligencia colectiva
2.2.2. Métodos Tradicionales
Métodos de una sola variable
Los métodos de variable simple están diseñados para trabajar con funciones de una
sola variable (f (x)). Estos métodos son utilizados como parte de los procedimientos
de diversos métodos multivariable. Por lo general, están diseñados para trabajar con
problemas de minimización, pero también pueden ser usados para encontrar valores
máximos. Los métodos de variable simple están divididos en dos tipos:
Métodos de delimitación
En estos métodos, el mínimo de una función se encuentra en dos fases: primero,
se encuentran los límites inferior y superior del valor mínimo mediante una técnica de
fuerza bruta. Después, se usa un método más sofisticado para buscar dentro de estos
límites y encontrar la solución óptima con la precisión deseada. Dentro de este tipo
de métodos se encuentran el método de búsqueda exhaustiva y el método Bounding
Capítulo 2. Marco Teórico 25
Phase. [Deb04].
El algoritmo Bounding Phase, presentado en 4, es un método de delimitación que
garantiza delimitar el mínimo de una función unimodal
2
. Inicia con una estimación
inicial, para a partir de ella encontrar una dirección de búsqueda basada en dos o más
evaluaciones en los alrededores de ésta. Después, se utiliza una estrategia de búsque-
da exponencial para alcanzar el valor óptimo.
Métodos de eliminación de regiones
Estos métodos son utilizados en conjunto con los métodos de delimitación. Una vez
que se ha encontrado el rango donde se encuentra el punto mínimo, se necesita un
método más sofisticado para mejorar la exactitud de la solución. Dependiendo de los
valores encontrados evaluando la función en dos puntos distintos y asumiendo que la
función es unimodal en el espacio de búsqueda elegido, se puede concluir que el valor
mínimo deseado no puede encontrarse en alguna porción del espacio de b´squeda.
Dentro de este tipo de algoritmos se encuentran el método de división de intervalos,
el método Fibonacci y el método de búsqueda por sección áurea. La regla fundamental
para los métodos de elminación de regiones ([Deb04]) es:
Sean dos puntos x
1
y x
2
, los cuales se encuentran en el intervalo (a, b) y satisfacen
x
1
< x
2
. Para funciones unimodales para minimización, se puede concluir lo siguiente:
Si f (x
1
) > f (x
2
), entonces el mínimo no se encuentra en (a, x
1
).
Si f (x
1
) < f (x
2
), entonces el mínimo no se encuentra en (x
2
, b).
Si f (x
1
) = f (x
2
), entonces el mínimo no se encuentra en (a, x
1
) ni (x
2
, b).
El método de esta categoría utilizado en el proyecto es el algoritmo de búsque-
da por sección áurea. Este método realiza el proceso de eliminación de regiones
desplazándose en relación a la proporción áurea. A pesar de que no es el algoritmo
de búsqueda más eficiente, funciona de manera satisfactoria con funciones comple-
jas unimodales, además de que puede ser adaptado para trabajar con funciones no
unimodales.
2
Que presenta sólo un valor óptimo
Capítulo 2. Marco Teórico 26
Como se describe en [Deb04], el algoritmo funciona tomando el espacio de bús-
queda (a, b) de manera unitaria (0,1), y así obtener dos puntos a una distancia τ de
cada extremo del espacio de búsqueda para que al cabo de cada iteración la región
eliminada sea 1 −τ.
En 5 se ilustra el funcionamiento de dicho método. En la figura 2.2 se muestra una
representación gráfica del mismo.
Figura 2.2: Representación gráfica del método de búsqueda por sección áurea
Métodos de variable múltiple
Direcciones Conjugadas de Powell
Este método es de los más populares y que ha generado mejores resultados en di-
versos problemas de optimización para ingeniería. Como se describe en [Deb04], hace
uso de una memoria de soluciones previas para crear nuevas direcciones de búsqueda.
Capítulo 2. Marco Teórico 27
Está probado que puede converger en funciones cuadráticas, además de que se han
podido resolver funciones no cuadráticas de manera exitosa utilizando este método.
La idea básica del algoritmo es crear un conjunto de direcciones de búsqueda lineal-
mente independientes N y llevar a cabo una serie de búsquedas unidireccionales a
través de estas direcciones, empezando cada vez desde el punto óptimo anterior. Este
proceso garantiza encontrar el mínimo de una función cuadrática en una pasada de
N búsquedas unidireccionales en cada dirección. En otros tipos de funciones, pueden
necesitarse más pasadas.
Este método cuenta con la propiedad de subespacios paralelos, la cual estipula que,
teniendo dos puntos x
1
y x
2
y una dirección d, al hacer dos búsquedas unidirecciona-
les desde cada punto en esa dirección, se crearán dos puntos y
1
y y
2
. En el caso de
una función cuadrática, se dice que el mínimo de la función se encuentra en la línea
que une estos dos últimos puntos. El vector ( y
2
− y
1
) forma una dirección conjugada
con el vector original d.
Este método utiliza los métodos Bounding Phase y Golden Section Search descritos
con anterioridad para llevar a cabo las búsquedas unidireccionales.
Algoritmo 1: Direcciones Conjugadas de Powell
1 Escoger un punto inicial x
0
y un conjunto N de direcciones linearmente independientes.
2 Minimizar a lo largo de N usando el punto mínimo previo para iniciar la siguiente búsqueda.
Iniciar con la dirección de búsqueda s
1
y terminar con s
N
. Después, realizar otra búsqueda
unidireccional en s
1
.
3 Formar una nueva dirección conjugada d usando la propiedad de subespacios paralelos.
4 if ||d|| es pequeña o las direcciones son linearmente dependientes then
5 teminar
6 else
7 Reemplazar s
j
= s
j−1
para toda j = N, N −1, ..., 2
8 s
1
=
d
||d||
y regresar al paso 2.
9 end
Capítulo 2. Marco Teórico 28
Métodos para optimización con Restricciones
2.2.3. Métodos No Tradicionales (Heurísticas)
Se les llama heurísticas a las técnicas que no siguen un método estudiado y pro-
bado con anterioridad. Con frecuencia las heurísticas están basadas en métodos tra-
dicionales, aunque la implementación de estos no es ortodoxa. Las heurísticas no ga-
rantizan encontrar la solución factible a un problema determinado; a pesar de esto,
sí son capaces de hallar una solución muy cercana a la factible en un tiempo mucho
menor al que un método tradicional tardaría. Por esta razón el campo de estudio de
las heurísticas ha ganado popularidad y existen diversas investigaciones que han arro-
jado resultados interesantes. Una heurística se basa en las características del problema
a resolver. Por otro lado, existen heurísticas generales, de nominadas metaheurísticas,
que por sus características se pueden aplicar a diversos tipos de problemas.
2.3. Metaheurísticas
Si las heurísticas son métodos para resolver un problema determinado, las me-
taheurísticas sirven para resolver problemas de manera más general. Las metaheu-
rísticas están diseñadas para atacar problemas complejos de optimización donde las
heurísticas y métodos clásicos para optimización han fracasado en ser efectivas y efi-
cientes.
Osman ([OL96]) las define como un proceso de generación iterativo que guía a
una heurística subordinada combinando inteligentemente diferentes conceptos para
explorar y explotar el espacio de búsqueda, utilizándose estrategias de aprendizaje
para estructurar la información en pos de encontrar soluciones cuasi-óptimas.
2.3.1. Criterios utilizados en metaheurísticas
En el diseño de una metaheurística deben tomarse en cuenta dos criterios con-
tradictorios entre sí: la exploración del espacio de búsqueda (diversificación) y la ex-
plotación de las mejores soluciones halladas (intensificación). Las regiones promete-
doras en el espacio de búsqueda se determinan por el número de soluciones buenas
Capítulo 2. Marco Teórico 29
obtenidas. En intensificación, las regiones prometedoras se exploran con mayor ex-
haustividad con la esperanza de encontrar mejores soluciones. En diversificación, las
regiones no exploradas deben ser visitadas para asegurarse de que todas las regiones
del espacio de búsqueda han sido recorridas de igual manera y que la búsqueda no
está confinada a un número reducido de regiones. [Tal09]
2.3.2. Principales conceptos usados en metaheurísticas
Existen dos aspectos de diseño relacionados a todas las metaheurísticas: la repre-
sentación de las soluciones manejadas por los algoritmos y la definición de la función
objetivo que guiará la búsqueda.
Representación de soluciones
Este es un aspecto fundamental en el desarrollo de metaheurísticas. La codificación
de las soluciones tiene un rol importante en la eficiencia y efectividad de cualquier me-
taheurística. Esta debe ser adecuada y relevante al problema de optimización a atacar.
Además, la eficiencia de una representación también se relaciona con los operadores
de búsqueda aplicados en esta representación (vecindad, recombinación, etc). Una
representación debe tener las siguientes características:
Integridad: todas las soluciones asociadas con el problema deben ser represen-
tadas.
Conectividad: Debe existir un camino de búsqueda entre cualquier par de solu-
ciones. Cualquier solución, especialmente el óptimo global, puede ser alcanzada.
Eficiencia: la representación debe ser fácil de manipular para los operadores de
búsqueda.
Función objetivo
La función objetivo asocia un valor real a cada solución en el espacio de búsqueda
que describa la calidad o la aptitud de la solución. Además, guía la búsqueda hacia
soluciones viables.
Capítulo 2. Marco Teórico 30
2.3.3. Manejo de Restricciones en Metaheurísticas
Tratar con restricciones es otro punto importante para el diseño eficiente de una
metaheurística. Las restricciones pueden ser de cualquier tipo: lineales o no lineales,
igualdad o desigualdad. Por lo tanto existen estrategias para el manejo de estas, que se
pueden clasificar en estrategias de rechazo, penalización, reparación, decodificación y
preservación.
Estrategias de rechazo
Representan un punto de vista simple, donde solo se mantienen las soluciones
factibles durante la búsqueda. Este tipo de estrategias se concibe si la porción de
soluciones no factibles en el espacio de búsqueda es muy pequeña. Además, no se
explotan las soluciones no factibles. Al poder existir soluciones óptimas en el límite
entre soluciones factibles y no factibles, podría ser satisfactorio utilizar información
de las soluciones no factibles para poder llegar a estas soluciones, especialmente en
problemas con espacios de búsqueda no continuos.
Estrategias de penalización
En estas estrategias, las soluciones no factibles se consideran durante el proceso
de búsqueda. La función objetivo no restringida se extiende con una función de pena-
lización que discriminará a las soluciones no factibles. Este tipo de estrategias es muy
popular. Según a la diferencia entre soluciones factibles y no factibles, pueden usarse
diferentes funciones de penalización:
Restricciones violadas: Una función que cuenta el número de restricciones vio-
ladas.
Cantidad de infactiblidad o costo de reparación: se toma en cuenta la informa-
ción en qué tan cerca está una solución de la región no factible.
Estrategias de reparación
Estas estrategias consisten en transformar una solución no factible en una factible.
Se aplican estas estrategias cuando los operadores de búsqueda generan soluciones
Capítulo 2. Marco Teórico 31
no factibles. Estas estrategias son específicas al problema de optimización que se está
atacando.
Estrategias de decodificación
Estas estrategias asocian una solución factible en el espacio de búsqueda a cada
representación. Coello lo describe, en términos de computación evolutiva, como un
cromosoma que da instrucciones de cómo crear soluciones factibles. [CC99] Consis-
te en en usar codificaciones indirectas; de esta manera la topología del espacio de
búsqueda se transforma usando una función de decodificación.
Estrategias de preservación
Estas estrategias incorporan conocimiento específico al problema a la representa-
ción y operadores de búsqueda para generar únicamente soluciones factibles y preser-
var la factibilidad de las mismas. Por lo tanto su eficienca recae en que son hechas a
la medida para problemas específicos.
Condiciones de Deb
En [Deb00], Deb describe un conjunto de reglas para manejo de restricciones en
algoritmos genéticos. Dichas reglas son las siguientes:
De entre dos soluciones factibles, se elige la que tenga el menor valor de función
objetivo.
Entre una solución factible y una no factible, se elige la factible.
Entre dos funciones no factibles, se elige la que tenga menor suma de violación
de restricciones.
Estas condiciones son las utilizadas por el algoritmo M-ABC y por la modificación
propuesta en este trabajo de tesis. La suma de violación de restricciones se obtiene al
sumar el error de las soluciones cuando se alejan por más de 1.0, 0.01 y 0.0001 de las
restricciones. Esta información es útil para el algoritmo puesto que
Capítulo 2. Marco Teórico 32
2.3.4. Métaheurísticas basadas en solución única
Estas metaheurísticas (también conocidas como S-metaheurísticas) pueden verse
como «caminatas» a través de una vecindad o trayectorias de búsqueda sobre el espa-
cio de búsqueda del problema. Estas trayectorias se llevan a cabo mediante procedi-
mientos iterativos que se mueven de una solución a otra en el espacio de búsqueda.
Búsqueda Local
El método de búsqueda local es tal vez el método más antiguo y simple de me-
taheur
istica. Iniciando en una solución inicial, este método reemplaza la solución actual por
alguna solución vecina que mejore la función objetivo en cada iteración. La búsqueda
se detiene cuando todos los vecinos candidatos son peores que la solución actual, sig-
nificando que se alvanzó un óptimo local.
Pueden aplicarse diversas estrategias en la selección del mejor vecino:
Descenso máximo: En esta estrategia, se selecciona el mejor vecino. Se evalúa el
vecindario de manera determinista. Por lo tanto, la exploración del vecindario
es exhaustiva, y todos los movimientos posibles se prueban para poder seleccio-
nar el mejor vecino. Este tipo de exploración puede consumir mucho tiempo en
vecindarios grandes.
Primer mejora: Consiste en elegir el primer vecino que mejore la solución actual.
Esto involucra una evaluación parcial del vecindario. En el peor de los casos, se
realiza una evaluación completa del vecindario.
Selección aleatoria: Se selecciona un vecino al azar como mejora de la solucón
actual.
Recocido Simulado
El algoritmo de Recocido Simulado (SA, por sus siglas en inglés) fue propuesto por
Kirkpatrick et al en 1983 [KGV83] y es uno de los métodos más representativos de las
Capítulo 2. Marco Teórico 33
metaheurísticas, ya que resultó ser muy eficiente en la resolución de problemas de op-
timización combinatoria, por lo que también se ha utilizado en problemas continuos.
([Tal09])
El algoritmo está basado en los principios de mecánica estadística donde el proceso
de recocido requiere un calentamiento y sucesivamente un enfriamiento lento de una
sustancia para eventualmente obtener una estructura cristalina fuerte.
Búsqueda Tabú
Fue propuesto por Glover y Laguna en [GL99]. Se comporta como un algoritmo
de búsqueda local de descenso máximo, pero acepta soluciones que no mejoran la
solución actual para escapar de los óptimos locales cuando todos los vecinos son so-
luciones no mejoradoras (?). Por lo general, se explora todo el vecindario de manera
determinista. Al igual que búsqueda local, cuando se encuentra un mejor vecino, se
reemplaza la solución actual. Cuando se llega a un óptimo local, la búsqueda continúa
seleccionando un candidato peor que la solución actual. La mejor solución del vecin-
dario se selecciona como la mejor solución actual, incluso si no la mejora.
Para evitar ciclos, el algoritmo descarta vecinos que ya han sido visitados previamen-
te. Memoriza la trayectoria de búsqueda reciente, aplicando la llamada «lista tabú»,
donde guarda dichas trayectorias y soluciones ya visitadas.
2.3.5. Métaheurísticas basadas en población
Las metaheurísticas basadas en población simulan sistemas donde varios indivi-
duos llamados «agentes» interactúan entre ellos. Dentro de estos métodos hay dos
corrientes que han ganado popularidad: los algoritmos basados en la naturaleza y
algoritmos basados en la física. En los algoritmos basados en la naturaleza, o «bio-
inspirados», se utiliza el concepto de «inteligencia colectiva» (swarm intelligence en
inglés) como base de la interacción entre estos agentes. Dicho concepto se explica
más adelante.
Capítulo 2. Marco Teórico 34
Algoritmos Bio-Inspirados
Dentro de las metaheurísticas, los algoritmos bio-inspirados han recibido especial
atención en años recientes, además de que se han desarrollado diversas técnicas di-
ferentes a través del tiempo. Estos algoritmos están basados en fenómenos presentes
en la naturaleza; específicamente, en el comportamiento de grupos de una especie
(inteligencia colectiva) y en el proceso de evolución.
2.3.6. Algoritmos Evolutivos
Los algoritmos evolutivos están basados en la teoría moderna de la evolución de
las especies, tambien llamada «neo-darwinismo» ya que combina la teoría de selec-
ción natural de Darwin con la teoría genética de Mendel. Estos algoritmos utilizan los
conceptos de población, reproducción, mutación y seleccón natural. [? ]
Evolución Diferencial
El algoritmo de Evolución Diferencial (DE, por sus siglas en inglés) es uno de
los más populares hoy en día, ya que es fácil de implementar, además de que ha
demostrado tener un desempeño satisfactorio al ser aplicado a diversos problemas.
Fue propuesto por Storn y Price en [SP95] y hoy en día cuenta con diversas variantes
que han extendido su funcionalidad.
2.3.7. Algoritmos de Inteligencia Colectiva (Swarm Intelligence)
Se define inteligencia colectiva como la conducta que emerge de la interacción de
diversas especies animales sociales trabajando bajo muy pocas reglas. Estas especies
forman grupos en los cuáles no existe un líder (contrario a otras especies donde el
macho o hembra alfa son los que dirigen la manada), además de que los miembros
del grupo no están conscientes de estar llevando a cabo un proceso más complejo. La
interacción entre los miembros del grupo es lo que hace posible que se lleve a cabo el
comportamiento colectivo que es el objeto de estudio. Lalbakhsh y Fesharaki presentan
en [LF08] las siguientes características como ventajas de los sistemas de inteligencia
colectiva:
Capítulo 2. Marco Teórico 35
Flexibilidad: La colonia se puede adaptar a un entorno cambiante.
Robustez: Aun cuando algún individuo falla, el grupo puede llevar a cabo su
tarea.
Auto-organización: Las actividades no son controladas central ni localmente. Ya
que el comportamiento del grupo emerge de las interacciones entre los indivi-
duos, el cúmulo trabaja bien en situaciones complejas e impredecibles.
Formalmente, se define a una colonia como un grupo de agentes, generalmen-
te móviles, que se comunican entre ellos (directa o indirectamiente) actuando en su
medio ambiente local. Inteligencia colectiva se refiere al comportamiento capaz de
resolver problemas que emergen de la interacción entre los agentes de la colonia.
Para modelar el comportamiento de una colonia se necesitan de los siguientes
principios ([Hu12]):
Principio de proximidad: Las unidades básicas de la colonia deben ser capaces
de cálculos simples relacionados a su entorno. En este ámbito, un cálculo se
refiere a una respuesta conductual a una variación en el medio, tales como las
interacciones entre agentes.
Principio de calidad: Una colonia debe ser capaz de responder a factores de
calidad, tales como alimento y seguridad.
Principio de respuesta diversa: Los recursos no deben estar concentrados en
una región angosta. La distribución debe estar diseñada tal que cada agente
pueda estar protegido ante cambios en el entorno.
Principio de estabilidad y adaptabilidad: Se espera que las colonias se adapten
a variaciones en el entorno sin cambiar de modos (estados) rápidamente, ya que
esto representa un gasto de energía.
El objetivo de los modelos computacionales de inteligencia colectiva es representar
las conductas básicas de los individuos y la interacción local con el medio ambiente e
Capítulo 2. Marco Teórico 36
individuos vecinos, de manera que se pueden obtener conductas más complejas que
se puedan utilizar para resolver problemas de optimización.
El proceso principal en el cuál están basados estos algoritmos es en la búsqueda de
alimento por estas especies.
Optimización por Colonia de Hormigas
En el algoritmo de Optimización por Colonia de Hormigas (ACO) se emula la ma-
nera en la que las hormigas recogen comida; al caminar de la fuente de comida al
nido y viceversa, depositan en el suelo una sustancia llamada feromona, trazando un
camino con esta sustancia. Las hormigas huelen el rastro de feromonas, y al escoger
su camino, suelen elegir aquél que tenga el rastro más fuerte. El rastro de feromonas
permite a las hormigas encontrar el camino de vuelta a la fuente de comida. También
puede ser usado por otras hormigas para encontrar la ubicación de otras fuentes de
comida encontradas por otras hormigas del nido. [DC99]
Este algoritmo ha sido utilizado para problemas de optimización discreta y combi-
natoria, especialmente con el problema TSP.
Optimización por Cúmulo de Partículas
En el algoritmo de Optimización por Colonia de Partículas (PSO) se recrea la con-
ducta presentada por parvadas de aves, donde el miembro que divisa una fuente de
alimento se vuelve el que dirige al resto del grupo. Esta conducta está influenciada
por la habilidad de los inidividuos para oler la comida y por la memoria producto de
la experiencia de cada uno.
2.3.8. Teoremas No Free Lunch (NFL)
Como se mencionó en el capítulo anterior, a este tipo de algoritmos se les considera
de «caja negra» ya que trabajan usando información limitada acerca de los problemas
que reciben como entrada y al final lo que importa es el desempeño y la calidad de los
resultados. En problemas particulares, diferentes algoritmos pueden obtener resulta-
dos distintos, pero al compararlos de manera general, los resultados pueden resultar
Capítulo 2. Marco Teórico 37
muy similares, incluso indistinguibles. En 1997 Wolpert y Macready ([WM97]) estu-
diaron la relación entre los algoritmos y las funciones de diversos tipos con las que
trabajaban. Hicieron dos tipos de análisis: el primero se enfocaba en el desempeño
de un algoritmo determinado frente a todos los tipos de problemas de optimización;
el segundo, tomaba un problema en particular y era evaluado por los diferentes al-
goritmos existentes. El resultado de su investigación derivó en los teoremas no free
lunch (NFL), los cuales demuestran que si un algoritmo presenta buenos reultados en
una cierta clase de problemas, tendrá un desempeño degradado (pagará, en sentido
figurado) al enfrentarse a problemas de otros tipos.
2.4. Comentarios Finales
Lo tratado en este capítulo es la base teórica del proyecto raíz de este trabajo de
tesis. En el siguiente capítulo se habla acerca de los algoritmos basados en colonias de
abejas, de los cuales se desprende el algoritmo propuesto en esta tesis, MABC-CD.
Capítulo 3
Algoritmo ABC
3.1. Algoritmos inspirados en colonias de abejas
Entre las especies de insectos sociales que exhiben un proceso de inteligencia colec-
tiva, las abejas han demostrado tener una estructura social muy fuerte que es la clave
de su supervivencia, ya que al haber abejas que desempeñan diferentes funciones lo-
gran un proceso muy eficaz. Ésto, aunado a que es fácil de modelar y representar
mediante un algoritmo, ha hecho de los algoritmos basados en abejas un tema de
estudio que ha ganado popularidad. Este algoritmo en particular está basado en la
recolección de comida por parte de las abejas y cabe hacer mención que existen otras
estrategias basadas en abejas, como optimización por apareamiento.
Las colonias de abejas por lo general consisten en una reina de vida larga, de cero a
muchas abejas zángano (dependiendo de la estación), y entre 10,000 y 60,000 abejas
obreras ([HAM06]). La colonia puede fundarse de de dos maneras. En la «fundación
independiente», la colonia inicia con dos o más hembras reproductivas que construyen
el nido, ponen los huevos y alimentan a las larvas. El primer grupo de camadas se crían
solas hasta que toman responsabilidad del trabajo de la colonia. Subsecuentemente,
se realiza la división de labores, la reina se especializa en poner huevos y las obreras
en el cuidado de las larvas. Otro método de fundación es el llamado «enjambre», en el
cual una nueva colonia es fundada por una o más reinas junto a un grupo de obreras
de la colonia original.
38
Capítulo 3. Algoritmo ABC 39
3.1.1. Optimización por Apareamiento de Abejas (HBMO)
El algoritmo HBMO fue propuesto por Haddad et al en [HAM06]. Ha sido imple-
mentado con éxito en problemas de calendarización, minería de datos y optimización
con y sin restricciones.
En las colonias de abejas, las reinas son los principales individuos reproductivos ya
que son capaces de poner huevos. Las abejas zángano (machos) son los padres en la
colonia. Estas son haploides (que sólo contienen un grupo cromosomático) y actúan
para amplificar el genoma de sus madres sin alterar su composición genética, excepto
a través de mutación.
El proceso de apareamiento ocurre durante el «vuelo nupcial» lejos del nido. Un
vuelo nupcial inicia con una danza donde los zánganos siguen a la reina y copulan con
ella en el aire. En un vuelo nupcial típico, cada reina copula con entre siete y veinte
zánganos. En cada fecundación, la abeja guarda el esperma de todos los zánganos
con los que se cruzó. El zángano muere al final de la fecundación, ya que su aparato
reproductor es desprendido.
El algoritmo se modeló de la siguiente manera:
El algoritmo inicia con el vuelo nupcial, donde la reina (mejor solución) seleccio-
na a los zánganos de manera probabilística para formar la espermateca (lista de
zánganos). Entonces se selecciona un zángano aleatoriamente para la creación
de camadas.
Creación de nuevas camadas (soluciones de prueba) mediante la cruza del ge-
notipo de los zánganos con el de la reina.
Uso de las obreras (heurísticas) para realizar una búsqueda local en las camadas.
Adaptación de la aptitud de las obreras basado en la cantidad de mejora obteni-
da en las camadas.
Reemplazo de las reinas más débiles por las camadas más aptas.
Capítulo 3. Algoritmo ABC 40
3.1.2. Recolección de alimento
El proceso de recolección de alimento (forrajeo) utilizado por las abejas cuenta
con los siguientes elementos [Kar05]:
Fuentes de alimento: El valor de una fuente de alimento depende de diversos
factores, tales como la cercanía a la colmena, la concentración de comida y
qué tan fácil es recolectarla. Por simplicidad, se representa la viabilidad de una
fuente mediante un valor numérico de aptitud.
Abejas empleadas: Estas abejas están asociadas a una fuente de alimento en
particular, la cuál están explotando en ese momento. Estas abejas comparten
información acerca de su fuente de alimento, como ubicación y aptitud, a otras
abejas empleadas.
Abejas desempleadas: Estas abejas están buscando constantemente una fuen-
te de alimento que explotar. Se dividen en dos tipos: las abejas exploradoras,
que buscan nuevas fuentes de alimento en las cercanías de la colmena; y abejas
observadoras, que esperan en la colmena y escogen una fuente de alimento ba-
sándose en la información compartida por alguna abeja empleada.
La información sobre las fuentes de alimento se comparte mediante una danza de
meneo cuya duración indica la viabilidad de la fuente, el ángulo respecto al sol indica
la ubicación y el número de movimientos en zig-zag indica la distancia. Ya que las
danzas indicando las mejores fuentes tienen una mayor duración, es más probable que
sea vista por las abejas desempleadas y que estas elijan dicha fuente para explotarla.
Se ha observado que las abejas empleadas que permanecieron durante mucho tiempo
en la colmena son capaces de adaptar la ubicación de su fuente de comida con la
posición actual del sol antes de comunicar su información a otras abejas. Cuando se
agota una fuente de alimento, las abejas empleadas se vuelven desempleadas y tienen
que decidir entre convertirse en abejas exploradoras o regresar a la colmena y ser
abejas observadoras.
Capítulo 3. Algoritmo ABC 41
3.2. Algoritmo ABC
Este algoritmo fue presentado por Karaboga en [Kar05]; presenta un modelo di-
señado para resolver problemas de optimización numérica mediante dos conductas
principales: el reclutamiento de abejas en una fuente de comida y el abandono de
dichas fuentes. La diferencia de este algoritmo con respecto a otros de inteligencia
colectiva es que las soluciones presentadas son representaciones de las fuentes de ali-
mento y no de los individuos. La viabilidad de una fuente es dada por el valor de la
función objetivo del problema.
El algoritmo ABC está compuesto de los tres tipos de abejas descritos anterior-
mente. El número de abejas empleadas es igual al número de de fuentes de alimento
(cada fuente de alimento tiene una sola abeja empleada a cargo). Al llegar a la fuente,
la abeja calcula una nueva solución (vuela a otra fuente cercana) a partir de ella y
retiene la mejor solución mediante una selección voraz (greedy). El número de abe-
jas observadoras es el mismo que de abejas empleadas y se ubican en una fuente de
alimento de acuerdo a su viabilidad. Al igual que las abejas empleadas, calculan una
nueva solución a partir de su fuente de alimento. Cuando una fuente no mejora des-
pués de un número determinado de iteraciones, esta es abandonada y reemplazada
por alguna encontrada por una abeja exploradora, que implica calcular una nueva so-
lución de manera aleatoria. En la figura 3.1 se muestra una representación gráfica de
este proceso.
Capítulo 3. Algoritmo ABC 42
Figura 3.1: Representación gráfica del algoritmo ABC
Una de las ventajas de este algoritmo es el número reducido de parámetros que
necesita: el parámetro SN es el número de soluciones (fuentes de alimento), así como
de abejas empleadas y observadoras; MCN es el número total de ciclos (iteraciones)
del algoritmo; l imi t es el número de ciclos que una solución puede permanecer sin ser
mejorada antes de ser reemplazada. En 2 se muestra el pseudocódigo del algoritmo
ABC.
3.2.1. Elementos de ABC
Representación de soluciones
Las posibles soluciones del problema representan fuentes de alimento. Estas a su
vez se representan por vectores de D dimensiones (donde D es el número de variables
del problema). Una solución i en el ciclo g se representa de la siguiente manera:
Capítulo 3. Algoritmo ABC 43
x
i,g
, i = 1, ..., SN, g = 1, ..., MCN (3.1)
Cada una de las variables en la solución está asociada a un rango (L
i
≤ x
i
≤ U
i
),
el cual debe ser considerado cuando se generan las soluciones iniciales de manera
aleatoria.
Mecanismo de selección
El mecanismo de selección de la mejor solución es a través de la comunicación
entre abejas empleadas y observadoras, para lograr que aquellas fuentes de mejor ca-
lidad sean visitadas más frecuentemente.
Operadores de variación (abejas)
En ABC las abejas son vistas como operadores de variación ya que cuando una
abeja llega a una fuente de alimento, genera una nueva solución candidata v
i, j
usando
la fórmula... Donde x
i,g
representa la solución en la que la abeja se encuentra en ese
momento, x
k,g
es una solución existente escogida de manera aleatoria, g es el número
de la iteración actual y φ es un número real aleatorio en el rango [-1, 1]:
v
g
i, j
= x
g
i, j

j
∗ (x
g
i, j
− x
g
k, j
) (3.2)
Mecanismo de reemplazo
El mecanismo de reemplazo en ABC se lleva a cabo mediante las abejas explora-
doras. Estas renuevan aquellas fuentes de alimento que no han sido mejoradas por
un número determinado de ciclos generando nuevas fuentes de alimento de manera
totalmente aleatoria con distribución uniforme.
Capítulo 3. Algoritmo ABC 44
Algoritmo 2: Algoritmo ABC
1 Iniciar la población de soluciones x
0
i
, i = 1, ..., SN
2 Evaluar cada x
0
i
, i = 1, ..., SN // Paso 1
3 g = 1
4 repeat
5 for i = 1,SN do
6 Generar v
g
i
con x
g−1
i
usando 3.2
7 Evaluar v
g
i
8 if v
g
i
es mejor que x
g−1
i
then
9 x
g
i
= v
g
i
10 else
11 x
g
i
= x
g−1
i
12 end
13 end
14 for i = 1,SN do
15 Escoger, según la aptitud, una fuente de alimento x
g
l
16 Generar v
g
l
con x
g
l
usando 3.2
17 Evaluar v
g
l
18 if v
g
l
es mejor que x
g
l
then
19 x
g
l
= v
g
l
20 end
21 end
22 Generar nuevas fuentes de alimento de manera aleatoria para aquellas que hayan pasado el
límite.
23 Guardar la mejor solución hasta el momento.
24 g = g +1
25 until g = MCN;
3.2.2. Algoritmo ABC Modificado (M-ABC)
La versión modificada de ABC propuesta por Mezura y Cetina en [? ] presenta una
adaptación para este algoritmo de manera que sea capaz de trabajar con problemas
de optimización numérica con restricciones (CNOP).
El enfoque para trabajar en un espacio de búsqueda con restricciones se centró en
la selección voraz entre fuentes de alimento, implementando un nuevo parámetro MR
Capítulo 3. Algoritmo ABC 45
en el rango [0,1]:
v
g
i, j
=



x
g
i, j

j
∗ (x
g
i, j
− x
g
k, j
) si rand(0, 1) < MR
x
g
i, j
de otro modo
(3.3)
Asimismo, se agregaron cuatro mecanismos más a ABC, los cuáles se explican a
continuación:
Selección por torneo: Este mecanismo incluye el uso de las reglas de factibili-
dad de Deb descritas en el capítulo 2.
Tolerancia dinámica para restricciones de igualdad: Al ser difíciles de cal-
cular, las restricciones de igualdad suelen reformularse como restricciones de
desigualdad de la siguiente manera:
|h
j
(x)| − ≤ 0 (3.4)
donde es el valor de tolerancia deseado (usualmente un valor muy pequeño).
Una manera de manejar el valor de es mantenerlo fijo durante la duración
de la búsqueda. Por otro lado, usar un mecanismo para variar el valor de este
término puede llevar a mejores resultados. Esta última es la opción utilizada
para este algoritmo, por medio de un parámetro de control dinámico, definido
de la siguiente manera:
(g +1) =
(g)
dec
(3.5)
donde g es el ciclo actual y dec es la tasa de decremento de cada ciclo (dec > 1).
El objetivo es iniciar con una región factible más amplia que la original, lo que
hace que las restricciones de igualdad puedan satisfacerse más fácilmente. A
medida que avanzan los ciclos, la tolerancia se reduce para disminuir la violación
de restricciones.
Capítulo 3. Algoritmo ABC 46
Operador de vuelo inteligente: Basados en el hecho de que en un CNOP la
región factible es muy pequeña con respecto al espacio de búsqueda, es compli-
cado generar de manera aleatoria tanto una solución factible como una solución
no factible cerca de la región factible. Por lo tanto, se adaptó un mecanismo ori-
ginalmente propuesto para PSO de esta manera: se genera una nueva solución
v
g
i
por la abeja exploradora con ayuda de la fuente a ser reemplazada x
g
i
, que
se utiliza como base para rear una dirección de búsqueda definida por la mejor
solución en la población actual x
g
B
y una solución escogida aleatoriamente x
g
k
:
v
g
i, j
= x
g
i, j
+φ ∗ (x
g
k, j
− x
g
i, j
) + (1 −φ)(x
g
B, j
− x
g
i, j
) (3.6)
Manejo de restricciones en los límites: El manejo de operadores de variación
puede generar valores fuera del espacio de búsqueda definido por los límites
inferior y superior de las variables del problema. Por lo tanto, se añadió un
mecanismo para reparar estos valores inválidos a todas las abejas, descrito de la
siguiente manera:
v
i, j
=





2 ∗ L
j
− v
g
i, j
si v
g
i, j
< L
j
2 ∗ U
j
− v
g
i, j
si v
g
i, j
> U
j
v
g
i, j
de otro modo
(3.7)
El pseudocódigo de M-ABC se muestra en 3.
Capítulo 3. Algoritmo ABC 47
Algoritmo 3: Algoritmo M-ABC
1 Iniciar la población de soluciones x
0
i
, i = 1, ..., SN;
2 Evaluar la población; // Paso 1
3 g = 1 if Existen restricciones de igualdad then // Paso 2
4 Inicializar = 1.0;
5 end
6 repeat
7 if Existen restricciones de igualdad then
8 Evaluar la población con g
9 end
10 for i = 1,SN do
11 Generar v
g
i
con x
g−1
i
usando 3.3
12 Evaluar v
g
i
13 if v
g
i
es mejor que x
g−1
i
(basado en las reglas de Deb) then
14 x
g
i
= v
g
i
15 else
16 x
g
i
= x
g−1
i
17 end
18 end
19 for i = 1,SN do
20 Escoger una fuente de alimento x
g
l
según las reglas de Deb.
21 Generar v
g
l
con x
g
l
usando 3.3
22 Evaluar v
g
l
23 if v
g
l
es mejor que x
g−1
l
(basado en las reglas de Deb) then
24 x
g
l
= v
g
l
25 end
26 Aplicar vuelo inteligente con las abejas exploradoras (3.6) para aquellas soluciones que
hayan llegado al límite.
27 Guardar la mejor solución hasta el momento.
28 g = cicl os +1;
29 if Existen restricciones de igualdar then
30 Actualizar (g) usando 3.5
31 end
32 until g = MCN;
Capítulo 3. Algoritmo ABC 48
3.3. Comentarios Finales
El algoritmo M-ABC demostró ser más consistente en obtener soluciones factibles
más rápidamente que el algoritmo ABC original, como se muestra en (Cetina-art). Esto
lo hace tener resultados comparables a otros algoritmos actuales. En dicho documento
se propone como trabajo futuro la adición de búsqueda local para intentar mejorar los
resultados obtenidos.
Capítulo 4
Descripción del Proyecto
4.1. Introducción
La modificación presentada a M-ABC en este proyecto sigue la sugerencia de (Ce-
tina) de agregar un método de búsqueda local en el algoritmo para mejorar los resul-
tados obtenidos. El método de b´squeda local elegido es el de Direcciones Conjugadas
de Powell, el cual a su vez utiliza los métodos Bounding Phase y Búsqueda por Sección
Áurea descritos en el capítulo 2 para generar los vectores de dirección que utiliza en
su funcionamiento.
4.2. Elementos del algoritmo
4.2.1. Parámetros
Los parámetros en MABC-CD son los mismos que en ABC y M-ABC (SN, MCN,
MR, l imi t,dec). En el capítulo 5 se detalla el uso de estos parámetros en el proceso
de calibración de los mismos mediante el uso de los paquetes SPOT e irace para R.
49
Capítulo 4. Descripción del Proyecto 50
4.2.2. Operador de búsqueda local
Métdodo de Powell
El método de direcciones conjugadas de Powell, descrito en el capítulo 2, es el
mecanismo elegido como operador de búsqueda local en el algoritmo propuesto. Al
aplicar este método tomando como punto inicial una solución óptima encontrada con
el funcionamiento base del algoritmo, es posible encontrar una solución que mejore
la inicial. El método de Powell se apoya de métodos de búsqueda lineal para lograr su
cometido, uno de delimitación y otro de eliminación de regiones. De esta manera, se
eligió el método Bounding Phase (Algoritmo 4)y el método de búsqueda por sección
áurea (Algoritmo 5) respectivamente.
Algoritmo 4: Algoritmo Bounding Phase
1 Escoger una estimación inicial x
(0)
y un incremento ∆ ; // Paso 1
2 Iniciar k = 0;
3 if f (x
0
−|∆x|) ≥ f (x
0
+|∆x|) then // Paso 2
4 Volver a ∆ positivo
5 else if f (x
0
−|∆x|) ≤ f (x
0
+|∆x|) then
6 Volver a ∆ negativo
7 else
8 Volver al paso 1;
9 end
10 Asignar x
(k+1)
= x
(k)
+2
k
∆ ; // Paso 3
11 if f (x
(k+1)
) < f (x
(k)
) then // Paso 4
12 k = k +1;
13 Ir al paso 3;
14 else
15 El mínimo está en el intervalo (x
(k−1)
, x
(k+1)
);
16 end
Algoritmo 5: Algoritmo de Búsqueda por Sección Áurea
1 Escoger un límite inferior a y un límite superior b
2 Escoger un valor como tolerancia
Capítulo 4. Descripción del Proyecto 51
Búsqueda cuadrada
En el algoritmo se añadió una búsqueda más al final de cada iteración, llamada
B´squeda cuadrada (debido a que se limita la búsqueda a un espacio dentro de cuatro
puntos), la cual pretende encontrar puntos óptimos que en direcciones que pudieron
no haber sido recorridas por el Método de Powell. Para esto, se obtienen los vectores
de dirección entre el punto óptimo actual y los tres puntos anteriores a este. Se imple-
mentó este mecanismo como un intento de mejorar los resultados obtenidos después
de aplicar el método de Direcciones Conjugadas.
Algoritmo 6: Búsqueda cuadrada
1 Obtener las cuatro mejores soluciones hasta el momento.
2 Obtener los vectores de dirección entre la mejor solución y las tres siguientes.
3 Evaluar cada una de las direcciones.
4 if La nueva dirección supera a la mejor solución hasta el momento then
5 Reemplazar la solución
6 end
4.3. Pasos del algoritmo MABC-CD
Los pasos del algoritmo son relativamente los mismos con respecto a M-ABC. Las
modificaciones se muestran en negritas.
Capítulo 4. Descripción del Proyecto 52
Algoritmo 7: Algoritmo MABC-CD
1 Inicializar la población de soluciones x
i,0
, i = 1, ..., SN;
2 Evaluar cada solución incial. g = 1;
3 if Existen restricciones de igualdad then
4 Iniciar (g)
5 end
6 while g ≤ MCN do
7 if existen restricciones de desigualdad then
8 Evaluar cada x
0
i
, i = 1, ..., SN con (g)
9 end
10 for i = 1 →SN do
11 Producir nuevas soluciones v
i,g
para las abejas empleadas usando Ec. 1 y evaluarlas;
12 if v
g
i
es mejor que x
g−1
i
(selección por torneo) then
13 x
g
i
= v
g
i
14 else
15 x
g
i
= x
g−1
i
16 end
17 end
18 for i = 1 →SN do
19 Seleccionar las soluciones según su aptitud (selección por torneo).
20 Producir nuevas soluciones v
i,g
para las abejas observadoras usando Ec. 1 y evaluarlas.
21 if v
g
i
es mejor que x
g−1
i
(selección por torneo) then
22 x
g
i
= v
g
i
23 end
24 end
25 Aplicar el operador de vuelo inteligente con las abejas exploradoras a las soluciones que
han pasado del límite de generaciones;
26 Aplicar el método de Powell;
27 Realizar búsqueda delimitada por las mejores cuatro soluciones;
28 Almacenar la mejor solución hasta el momento.
29 g = g +1;
30 if existen restricciones de igualdad then
31 Actualizar (g)
32 end
33 end
Capítulo 4. Descripción del Proyecto 53
4.4. Comentarios Finales
Capítulo 5
Implementación y resultados
5.1. Introducción
La implementación y pruebas del algoritmo se llevaron a cabo utilizando el con-
junto de problemas del CEC 2010. Se utilizaron herramientas para calibración de pa-
rámetros (SPOT, irace), las cuales se describen más adelante.
5.2. Variables de control
El algoritmo cuenta con las mismas variables de control que M-ABC, las cuales se
describen en la siguiente tabla:
Cuadro 5.1: Parámetros del algoritmo MABC-CD
Parámetro Descripción
dec Valor de decremento para
l imi t Límite de ciclos que una fuente (solución) puede pasar sin ser mejorada
MR Parámetro para el mecanismo de recombinación
MCN Número máximo de ciclos a evaluar
54
Capítulo 5. Implementación y resultados 55
5.3. Selección de problemas
Se eligieron los problemas del CEC 2010 ya que el algoritmo DEag fue probado
en dicho concurso y los resultados obtenidos por este son la base para determinar el
rendimiento de MABC-CD. Es un conjunto de 18 problemas que se evalúan para 10 y
30 dimensiones (10D y 30D, respectivamente), utilizando un conjunto establecido de
datos. Los problemas se describen a continuación:
C01
m´ın f (x) = −

D

i=1
cos
4
(z
i
) −2
D

i=1
cos
2
(z
i
)

D

i=1
iz
2
i

z = x −o
g
1
(x) = 0.75 −
D

i=1
z
i
≤ 0
g
2
(x) =
D

i=1
z
i
−7.5D ≤ 0
x ∈ [0, 10]
D
Capítulo 5. Implementación y resultados 56
C02
m´ın f (x) = m´ ax(z) z = x −o, y = z −0.5
g
1
(x) = 10 −
1
D
D

i=1
[z
2
i
−10cos(2πz
i
) +10] ≤ 0
g
2
(x) =
1
D
D

i=1
[z
2
i
−10cos(2πz
i
)] +10] −15 ≤ 0
h(x) =
1
D
D

i=1
[y
2
i
−10cos(2πy
i
) +10] −20 = 0
x ∈ [−5.12, 5.12]
D
C03
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
) z = x −o
h(x) =
D−1

i=1
(z
i
−z
i+1
)
2
= 0
x ∈ [−1000, 1000]
D
Capítulo 5. Implementación y resultados 57
C04
m´ın f (x) = m´ ax(z) z = x −o
h
1
(x) =
1
D
D

i=1
(z
i
cos(

|z
i
|) = 0
h
2
(x) =
(D/2)−1

i=1
(z
i
−z
i+1
)
2
= 0
h
3
(x) =
D−1

i=(D/2)+1
(z
2
i
−z
i+1
)
2
= 0
h
4
(x) =
D

i=1
z = 0
x ∈ [−50, 50]
D
C05
m´ın f (x) = m´ ax(z) z = x −o
h
1
(x) =
1
D
D

i=1
(−z
i
sin(

|z
i
|) = 0
h
2
(x) =
1
D
D

i=1
(−z
i
cos(0.5

|z
i
|) = 0
x ∈ [−600, 600]
D
Capítulo 5. Implementación y resultados 58
C06
m´ın f (x) = m´ ax(z)
z = x −o, y = (x +483.6106156535 −o)M −483.6106156535
h
1
(x) =
1
D
D

i=1
(−y sin(

| y
i
|)) = 0
h
2
(x) =
1
D
D

i=1
(−y cos(

| y
i
|)) = 0
x ∈ [−600, 600]
D
C07
m´ın f (x) =

i = 1
D−1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = x −o
g(x) = 0.5 −exp(−0.1

1
D
D

i=1
y
2
i
) −3exp(
1
D
D

i=1
cos(0.1y)) +exp(1) ≤ 0
x ∈ [−140, 140]
D
C08
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = (x −o)M
g(x) = 0.5 −exp(−0.1

1
D
D

i=1
y
2
i
) −3exp(
1
D
D

i=1
cos(0.1y)) +exp(1) ≤ 0
x ∈ [−140, 140]
D
Capítulo 5. Implementación y resultados 59
C09
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = x −o
h(x) =
D

i=1
( y sin(

| y
i
|)) = 0
x ∈ [−500, 500]
D
C10
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = (x −o)M
h(x) =
D

i=1
( y sin(

| y
i
|)) = 0
x ∈ [−500, 500]
D
Capítulo 5. Implementación y resultados 60
C11
m´ın f (x) =
1
D
D

i=1
(−z
i
cos(2

|z
i
))
z = (x −o)M, y = x +1 −o
h(x) =
D−1

i
(100( y
2
i
− y
i+i
)
2
+ ( y
i
−1)
2
)
x ∈ [−100, 100]
D
C12
m´ın f (x) =
D

i=1
(z
i
sin(

|z
i
|)) z = x −o
h(x) =
D−1

i=1
(z
2
i
−z
i+i
)
2
g(x) =
D

i=1
(z −100cos(0.1z) +10) ≤ 0
x ∈ [−1000, 1000]
D
Capítulo 5. Implementación y resultados 61
C13
m´ın f (x) =
1
D
D

i=1
(−z sin(

|z
i
|)) z = x −o
g
1
(x) = −50 +
1
100D
D

i
z
2
i
≤ 0
g
2
(x) =
50
D
D

i=1
sin(
1
50
πz) ≤ 0
g
3
(x) = 75 −50(
D

i=1
z
2
i
4000

D

i=1
cos(
z
i

i
) +1) ≤ 0
x ∈ [−500, 500]
D
C14
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = x −o
g
1
(x) =
D

i=1
(−y
i
cos(

| y
i
|)) − D ≤ 0
g
2
(x) =
D

i=1
( y
i
cos(

| y
i
|)) − D ≤ 0
g
3
(x) =
D

i=1
( y
i
sin(

| y
i
|)) −10D ≤ 0
x ∈ [−1000, 1000]
D
Capítulo 5. Implementación y resultados 62
C15
m´ın f (x) =
D−1

i=1
(100(z
2
i
−z
i+1
)
2
+ (z
i
−1)
2
)
z = x +1 −o, y = (x −o)M
g
1
(x) =
D

i=1
(−y
i
cos(

| y
i
|)) − D ≤ 0
g
2
(x) =
D

i=1
( y
i
cos(

| y
i
|)) − D ≤ 0
g
3
(x) =
D

i=1
( y
i
sin(

| y
i
|)) −10D ≤ 0
x ∈ [−1000, 1000]
D
C16
m´ın f (x) =
D

i=1
z
2
i
4000

D

i=1
cos(
z
i

i
) +1
z = x −o
g
1
(x) =
D

i=1
[z
2
i
−100cos(πz
i
) +10] ≤ 0
g
2
(x) =
D

i=1
z
i
≤ 0
h
1
(x) =
D

i=1
(z
i
sin(

|z
i
|)) = 0
h
2
(x) =
D

i=1
(−z
i
sin(

|z
i
|)) = 0
x ∈ [−10, 10]
D
Capítulo 5. Implementación y resultados 63
C17
m´ın f (x) =
D−1

i=1
(z
i
−z
i+1
)
2
z = x −o
g
1
(x) =
D

i=1
z
i
≤ 0
g
2
(x) =
D

i=1
z
i
−7.5D ≤ 0
h(x) =
D

i=1
(z
i
sin(4

|z
i
|)) = 0
x ∈ [−10, 10]
D
C18
m´ın f (x) =
D−1

i=1
(z
i
−z
i+1
)
2
z = x −o
g(x) =
1
D
D

i=1
(−z
i
sin(

|z
i
|)) ≤ 0
h(x) =
1
D
D

i=1
(z
i
sin(

|z
i
|)) ≤ 0
x ∈ [−50, 50]
D
La siguiente tabla muestra las características de los problemas:
Capítulo 5. Implementación y resultados 64
Rango de Bús-
queda
Tipo de objetivo
Número de restricciones Región factible ρ
E I 10D 30D
C01
[0, 10]
D
No Separable 0 2
No separa-
bles
0.997689 1.000000
C02
[−5.12, 5.12]
D
Separable 1
Separables
2
No separa-
bles
0.000000 0.000000
C03
[−1000, 1000]
D
No Separable 1
Separables
0 0.000000 0.000000
C04
[−50, 50]
D
Separable 2 No Sepa-
rables,
2 Separa-
bles
0 0.000000 0.000000
C05
[−600, 600]
D
Separable 2
Separables
0 0.000000 0.000000
C06
[−600, 600]
D
Separable 2
Rotadas
0 0.000000 0.000000
Capítulo 5. Implementación y resultados 65
C07
[−140, 140]
D
No Separable 0 1
Separable
0.505123 0.503725
C08
[−140, 140]
D
No Separable 0 1
Rotada
0.379512 0.375278
C09
[−500, 500]
D
No Separable 1
Separables
0 0.000000 0.000000
C10
[−500, 500]
D
No Separable 1
Rotada
0 0.000000 0.000000
C11
[−100, 100]
D
Rotada 1
No Separa-
ble
0 0.000000 0.000000
C12
[−1000, 1000]
D
Separable 1
No Separa-
ble
1
Separable
0.000000 0.000000
C13
[−500, 500]
D
Separable 0 2 Separa-
bles,
1 No Sepa-
rable
0.000000 0.000000
C14
[−1000, 1000]
D
No Separable 0 3
Separables
0.003112 0.006123
C15
[−1000, 1000]
D
No Separable 0 3
Rotadas
0.003210 0.006023
C16
[−10, 10]
D
No Separable 2
Separables
1 Separa-
ble,
2 No Sepa-
rable
0.000000 0.000000
C17
[−10, 10]
D
No Separable 1
Separable
2
No separa-
bles
0.000000 0.000000
C18
[−50, 50]
D
No Separable 1
Separable
1 Separa-
ble
0.000010 0.000000
Capítulo 5. Implementación y resultados 66
5.4. Calibración de parámetros
Para fines de uniformidad y apego a los términos del concurso CEC 2010 para la
evaluación de algoritmos, se decidió calibrar los parámetros utilizados por el algorit-
mo y así tener un conjunto único de valores de estos que serían utilizados para todos
los problemas a evaluar.
La biblioteca SPOT (mostrado en la figura x) para el paquete estadístico R
1
realiza
una serie de evaluaciones en un algoritmo dado, aunque su limitante reside en que
sólo obtiene los valores óptimos de los parámetros para un problema en particular. El
paquete SPOT fue utilizado en un principio para calibrar los parámetros del progra-
ma, no obstante eventualmente se decidió optar por el paquete irace (mostrado en
la figura x)
2
. El paquete irace permite encontrar configuraciones de parámetros para
diferentes instancias de un problema.
Si bien el algoritmo MABC-CD se probó con un conjunto de 18 problemas, para
poder lograr la calibración con irace se utilizó un parámetro más, que indica el pro-
blema a utilizar en la ejecución del algoritmo. Además, se normalizó la salida de datos
(que es la información que irace usa para realizar la calibración) utilizando el valor
de la diferencia entre el resultado obtenido por DEag y MABC-CD.
La configuración encontrada por irace y que fue utilizada para la ejecución del
código es la siguiente:
Parámetro Valor
SN 19
l imi t 307
MR 0.415642
dec 1.375443
1
disponible en http://cran.r-project.org/web/packages/SPOT/index.html
2
disponible en http://cran.r-project.org/web/packages/irace/index.html
Capítulo 5. Implementación y resultados 67
5.5. Resultados
A continuación se presentan las tablas de resultados obtenidos por el algoritmo
MABC-CD, comparándolos con M-ABC y DEag. Las cifras en negrita son los valores
óptimos.
5.6. Análisis
5.6.1. Descripción de los resultados
En las tablas de la sección anterior pueden observarse diversas situaciones:
El algoritmo MABC-CD logra resultados similares al algoritmo DEag en los pro-
blemas C01, C03,..
En los problemas , , , el algoritmo MABC-CD tiene problemas para hallar solu-
ciones factibles
En los problemas , , , donde no se logró encontrar ninguna solución factible, la
mejora entre las soluciones encontradas es significativa.
En los problemas , , , el algoritmo MABC-CD es capaz de mantenerse a la par del
algoritmo DEag en las primeras dos marcas. Sin embargo, para la tercera marca
no hay una mejora visible en los resultados encontrados.
** Comparaciones
Capítulo 6
Conclusiones
68
Bibliografía
[BSS06] M. S. Bazaraa, H. D. Sherali, and C. M. Shetty. Nonlinear Programming:
Theory and Algorithms. Wiley-Interscience, 2006.
[CC99] C. A. Coello-Coello. A survey of constraint handling techniques used with
evolutionary algorithms. Technical report, Laboratorio Nacional de Infor-
mática Avanzada, 1999.
[CDMM12] O. Cetina-Domínguez and E. Mezura-Montes. Empirical analysis of a mo-
dified artificial bee colony for constrained numerical optimization. Ap-
plied Mathematics and Computation, 2012.
[DC99] M. Dorigo and G. Di Caro. Ant algorithms for discrete optimization. Arti-
ficial Life, 1999.
[Deb00] K. Deb. An efficient constraint handling method for genetic algorithms.
Computher methods in applied mechanics and engineering, 2000.
[Deb04] K. Deb. Optimization for Engineering Design. PHI Learning, 2004.
[GL99] F. Glover and M. Laguna. Tabu search. In Ding-Zhu Du and Panos M.
Pardalos, editors, Handbook of Combinatorial Optimization, pages 2093–
2229. Springer US, 1999.
[Goi] M. Goic. Dualidad y análisis de sensibilidad.
[GR12] L. A. Gordían-Rivera. Implementación de un algoritmo multioperador
basado en evolución diferencial para optimización numérica con restric-
ciones. Master’s thesis, Laboratorio Nacional de Informática Avanzada,
Xalapa, Mexico, 2012.
69
Bibliografía 70
[HAM06] O. B. Haddad, A. Afshar, and M. A. Mariño. Honey-bees mating optimi-
zation (hbmo) algorithm: A new heuristic approach for water resources
optimization. Water Resources Management, 2006.
[Hu12] Y. Hu. Swarm intelligence. 2012. Disponible en http:
//guava.physics.uiuc.edu/~nigel/courses/569/Essays_
Fall2012/Files/Hu.pdf.
[Kar05] D. Karaboga. An idea based on honey bee swarm for numerical optimi-
zation. Technical report, Erciyes University, 2005.
[KGV83] S. Kirkpatrick, C. D. Gelatt, and M.P. Vecchi. Optimization by simulated
annealing. Science, 1983.
[Law76] E. L. Lawler. Combinatorial Optimization: Networks and Matroids. Uni-
versity of California at Berkley, 1976.
[LF08] P. Lalbakhsh and M. N. Fesharaki. Basic concepts and anatomy of swarm
intelligence ande its roles in today and future network centric environ-
ments. In Proceedings of the International MultiConference of Engineers
and Computer Scientists, 2008.
[NW99] J. Nocedal and S. J. Wright. Numerical Optimization. Springer, 1999.
[OL96] I. H. Osman and G. Laporte. Metaheuristics: A bibliography. Annals of
Operational Research, 1996.
[RRR06] A. Ravindran, K. M. Ragsdell, and G. V. Reklaitis. Engineering Optimiza-
tion: Methods and Applications. Wiley, 2006.
[SP95] R. Storn and K. Price. Differential evolution - a simple and efficient adap-
tive scheme for global optimization over continous spaces. Technical re-
port, International Computer Science Institute, 1995.
[Tal09] E. Talbi. Metaheuristics: From Design to Implementation. Wiley, 2009.
[WM97] D. H. Wolpert and W. G. Macready. No free lunch theorems for optimiza-
tion. IEEE Transactions on Evolutionary Optimization, 1997.
Apéndices
71
72
.1. Tablas de resultados
73
Cuadro 1: Resultados para C01 a C06 en 10D
Función No. eval. Aspecto MABC MABC-CD Takahama
c01
20000 mejor -7.47291E-01 -7.47081E-01 -7.47055E-01
peor -7.13546E-01 -7.05121E-01 -7.38061E-01
media -7.39726E-01 -7.42386E-01 -7.46199E-01
des 0.008721329 0.009849307 0.0017107
100000 mejor -7.47309E-01 -7.4730E-01 -7.4731E-01
peor -7.25868E-01 -7.0547E-01 -7.4056E-01
media -7.43890E-01 -7.4310E-01 -7.4704E-01
des 0.006514007 9.9250E-03 1.3233E-03
200000 mejor -7.47310E-01 -7.4731E-01 -7.4731E-01
peor -7.25876E-01 -7.0548E-01 -7.4056E-01
media -7.43894E-01 -7.4311E-01 -7.4704E-01
des 0.006513346 9.9253E-03 1.3233E-03
c02
20000 mejor 5.300756E-01 2.60049E+00 -2.07986E+00
peor 5.116272E+00 3.99594E+00 -1.76269E+00
media 3.492609E+00 3.53767E+00 -1.82741E+00
des 1.074562E+00 4.63416E-01 4.08603E-01
100000 mejor 5.300756E-01 2.07538E+00 -2.27753E+00
peor 5.197343E+00 4.87227E+00 -2.17449E+00
media 3.532448E+00 3.66885E+00 -2.25806E+00
des 1.337506E+00 6.09221E-01 2.37220E-02
200000 mejor 5.300756E-01 1.65979E+00 -2.27770E+00
peor 5.197757E+00 4.87227E+00 -2.17449E+00
media 3.006920E+00 3.60083E+00 -2.25887E+00
des 1.355284E+00 7.01475E-01 2.38977E-02
c03
20000 mejor 1.087627E+09 1.72481E+07* 2.504222e+01
peor 9.039820E+13 8.86253E+13* 5.884982e+01
media 1.323143E+13 1.38540E+13 8.859793e+01
des 2.185780E+13 2.18786E+13 6.543636e+01
100000 mejor 2.044925E+11 1.49710E+13 4.426954e-16
peor 9.409336E+13 3.17911E+13 1.684037e-13
media 1.288858E+13 2.09500E+13 3.291394e-14
des 2.191127E+13 9.40525E+12 4.973518e-14
200000 mejor 5.104941E+08 4.22828E+08 0.000000e+00
peor 9.401573E+13 5.97572E+13 0.000000e+00
media 1.287605E+13 1.15695E+13 0.000000e+00
des 2.189358E+13 1.53663E+13 0.000000e+00
c04
20000 mejor 3.321797E-01 -4.12221E-01 4.32281E+01
peor 2.611136E+01 7.76353E+00 3.82212E+01
media 4.475471E+00 4.01927E+00 2.41751E+01
des 6.097477E+00 1.56625E+00 1.46528E+01
100000 mejor 4.783898E-03 -4.12221E-01 3.18981E-03
peor 2.021749E+01 7.76353E+00 1.68403E-13
media 3.125308E+00 3.73815E+00 3.29139E-14
des 5.246345E+00 1.56625E+00 4.97351E-14
200000 mejor 1.609868E-03 -4.1222E-01 -9.99234E-06
peor 1.810987E+01 7.76353E+00 -9.28229E-06
media 3.002471E+00 4.01927E+00 -9.91845E-06
des 4.981305E+00 1.56625E+00 1.54673E-07
c05
20000 mejor 1.362096E+02 -8.9520E+00* -4.78674E+02
peor 5.789726E+02 5.58501E+02* -3.73518E+02
media 4.109879E+02 4.07803E+02 -4.49235E+02
des 1.177569E+02 1.21002E+02 4.60149E+01
100000 mejor 2.687271E+02 1.05650E+02* -4.83610E+02
peor 5.794201E+02 5.43374E+02* -4.83610E+02
media 4.345957E+02 3.95693E+02 3.90144E-05
des 9.291770E+01 1.06686E+02 -4.83610E+02
200000 mejor 2.323842E+02 5.74549E+01* -4.83610E+02
peor 5.794201E+02 5.43374E+02* -4.83610E+02
media 4.190238E+02 3.84474E+02 -4.8361E+02
des 9.597779E+01 1.20453E+02 3.89035E-13
c06
20000 mejor 2.142565E+02 -4.6347E-01 -5.11420E+02
peor 5.935939E+02 6.06407E+02 -5.11065E+02
media 4.792373E+02 4.20626E+02 -5.04051E+02
des 1.113672E+02 1.51559E+02 7.97934E+01
100000 mejor 2.142565E+02 1.57232E+02 -5.78657E+02
peor 1.067863E+03 5.80285E+02 -5.78639E+02
media 4.906009E+02 4.16357E+02 -5.78651E+02
des 1.700209E+02 1.30153E+02 4.41035E-03
200000 mejor 2.142565E+02 1.05357E+02 -5.78658E+02
peor 5.897200E+02 5.83577E+02 -5.78644E+02
media 4.698784E+02 4.35039E+02 -5.78652E+02
des 1.022766E+02 1.42396E+02 3.62716E-03
74
Cuadro 2: Resultados para C07 a C12 en 10D
Función No. eval. Aspecto MABC MABC-CD Takahama
c07
20000 mejor 1.391602E+00 5.939196E+00 4.803959E+00
peor 5.071699E+01 8.883110E+01 1.350772E+01
media 1.197416E+01 2.164313E+01 6.973119E+00
des 1.232469E+01 2.382254E+01 1.692819E+00
100000 mejor 8.799590E-02 2.42565E-01 4.38090E-18
peor 2.260187E+01 1.23996E+01 7.15843E-16
media 3.553624E+00 5.34443E+00 1.32256E-16
des 4.766248E+00 2.51674E+00 1.56172E-16
200000 mejor 1.318389E-02 6.40919E-03 0.00000E+00
peor 2.260187E+01 9.08891E+00 0.00000E+001
media 1.812159E+00 3.76247E+00 0.00000E+00
des 4.579203E+00 1.95948E+00 0.00000E+00
c08
20000 mejor 1.802428E+00 2.94028E+01 1.164528E+01
peor 8.895509E+02 1.36987E+03 1.422115E+02
media 1.637779E+02 4.12684E+02 3.939858E+01
des 1.935114E+02 3.75119E+02 2.789563E+01
100000 mejor 3.237305E-04 5.13124E-02 1.468910E-18
peor 8.477280E+02 1.30462E+02 1.537535E+01
media 7.322267E+01 2.23297E+01 6.727555E+00
des 1.780666E+02 3.66756E+01 5.560668E+00
200000 mejor 6.255070E-05 7.19237E-03 0.000000E+00
peor 8.476696E+02 1.95012E+01 1.537535E+01
media 7.317343E+01 3.53335E+00 6.727528E+00
des 1.780488E+02 4.95624E+00 5.560648E+00
c09
20000 mejor 7.882885E+11 1.28791E+12* 1.059736E+02
peor 4.704445E+13 3.42331E+13* 3.950100E+03
media 8.696190E+12 9.42967E+12 8.322056E+02
des 9.260969E+12 7.36833E+12 8.726522E+02
100000 mejor 8.735864E+11 1.20209E+12 6.171378E-18
peor 1.193376E+14 1.82863E+13 4.842253E-14
media 1.361552E+13 6.76876E+12 5.625742E-15
des 2.353400E+13 4.79666E+12 1.069657E-14
200000 mejor 8.877152E+11 1.20209E+12 0.000000E+00
peor 2.002789E+13 1.60189E+13 0.000000E+00
media 7.414562E+12 5.99078E+12 0.000000E+00
des 4.229907E+12 3.60678E+12 0.000000E+00
c10
20000 mejor 5.650007E+11 6.89232E+11 5.71250E+01
peor 2.481946E+13 2.15378E+13 1.97879E+04
media 1.052836E+13 1.01625E+13 1.47315E+03
des 6.999548E+12 6.28014E+12 3.99662E+03
100000 mejor 8.371313E+11 1.04882E+12 2.72110E-15
peor 3.475156E+13 1.87983E+13 2.25144E-12
media 1.109899E+13 8.70464E+12 1.67548E-13
des 8.611409E+12 5.06384E+12 4.84748E-13
200000 mejor 8.371313E+11 2.66925E+12 0.000000E+00
peor 1.810987E+01 2.05416E+13 0.000000E+00
media 3.002471E+00 9.39477E+12 0.000000E+00
des 4.981305E+00 5.30855E+12 0.000000E+00
c11
20000 mejor -4.68903E+00 -1.8244E+01 3.086598E+00
peor 1.538361E+00 -7.2651E+00 -2.98072E+00
media -3.80279E-01 -1.2116E+01 6.274059E-02
des 1.093876E+00 4.99422E+00 5.402863E+00
100000 mejor -3.44077E-01 -1.8244E+01 6.98659E-03
peor 9.526994E-01 -7.2651E+00 -1.7288E-01
media -7.46105E-02 -1.2116E+01 3.90144E-05
des 3.089034E-01 4.99422E+00 5.65935E-02
200000 mejor -2.47966E-01 -1.8244E+01 -1.52271E-03
peor 5.398207E-01 -7.2651E+00 -1.52271E-03
media -1.07642E-02 -1.2116E+01 -1.52271E-03
des 1.351994E-01 4.99422E+00 6.341035E-11
c12
20000 mejor -2.98126E+01 -2.5298E+03 -7.90521E+02
peor 1.897016E+02 1.01843E+03 -1.09471E+03
media 8.654658E+00 -6.1193E+02 -7.76903E+02
des 4.745837E+01 9.67989E+02 3.515025E+02
100000 mejor -1.08363E+02 -2.5298E+03 -8.80797E+02
peor -1.08363E+02 6.46701E+01 -8.34984E+02
media 6.908797E+00 -6.5358E+02 -8.79631E+02
des 4.656094E+01 7.84975E+02 2.032367E+01
200000 mejor -1.12167E+02 -2.5298E+03 -5.70089E+02
peor 1.927719E+02 1.26836E+01 -1.98912E-01
media 5.974666E+00 -4.5644E+02 -3.36734E+02
des 4.694081E+01 7.16106E+02 1.782166E+02
75
Cuadro 3: Resultados para C13 a C18 en 10D
Función No. eval. Aspecto MABC MABC-CD Takahama
c13
20000 mejor -6.8390E+01 -6.5793E+01 -2.7444E+01
peor -6.2186E+01 -5.3099E+01 -1.3630E+01
media -6.6515E+01 -5.9497E+01 -6.3549E+00
des 2.3348E+00 3.4312E+00 1.2238E+01
100000 mejor -6.8429E+01 -6.8427E+01 -6.8429E+01
peor -6.2276E+01 -5.7322E+01 -6.4623E+01
media -6.6809E+01 -6.6344E+01 -6.7476E+01
des 2.3361E+00 2.9820E+00 1.0910E+00
200000 mejor -6.842E+01 -6.8429E+01 -6.8429E+01
peor 6.2276E+01 -6.2925E+01 -6.8429E+01
media -6.680E+01 -6.8057E+01 -6.8429E+01
des 2.3361E+00 1.2732E+00 1.0260E-06
c14
20000 mejor 1.4282E+11 1.4282E+11 2.9291E+01
peor 1.4917E+13 1.4917E+13 7.0835E+02
media 4.2339E+12 1.0413E+13 2.2090E+02
des 3.9405E+12 7.2563E+12 2.0169E+02
100000 mejor 4.7261E-01 7.4384E+09 9.5225E-16
peor 5.0549E+07 1.9883E+12 5.3129E-13
media 4.9313E+06 4.8020E+11 6.1449E-14
des 1.4480E+07 5.1363E+11 1.2710E-13
200000 mejor 1.8470E-02 2.5648E+03 0.0000E+00
peor 5.0549E+07 1.8993E+10 0.0000E+00
media 4.9313E+06 1.5597E+09 0.0000E+00
des 1.4480E+07 3.8363E+09 0.0000E+00
c15
20000 mejor 1.5064E+13 1.1824E+13 9.8646E+01
peor 2.4764E+14 2.4867E+14 4.7921E+03
media 9.1407E+13 9.2444E+13 9.3519E+02
des 6.6278E+13 6.8892E+13 1.1983E+03
100000 mejor 1.7320E+12 7.5559E+12 6.1453E-15
peor 8.9885E+13 2.1059E+14 4.4982E+00
media 3.1930E+13 4.5440E+13 1.7993E-01
des 2.4171E+13 4.2274E+13 8.8147E-01
200000 mejor 6.5834E+11 1.4222E+12 0.000000E+00
peor 5.8310E+13 7.5904E+13 4.4974E+00
media 1.7701E+13 2.6359E+13 1.7990E-01
des 1.6950E+13 1.9689E+13 8.8132E-01
c16
20000 mejor 9.43E-01 1.04E+00 9.5086E-01
peor 1.10E+00 1.04E+00 4.7288E-01
media 1.04E+00 1.04E+00 1.0599E+00
des 3.30E-02 1.04E+00 2.3842E-01
100000 mejor 9.21E-01 1.04E+00 5.1753E-06
peor 1.12E+00 1.04E+00 1.0461E+00
media 1.04E+00 1.04E+00 5.1238E-01
des 4.14E-02 1.04E+00 4.2503E-01
200000 mejor 9.22E-01 1.04E+00 0.0000E+00
peor 1.10E+00 1.04E+00 1.0183E+00
media 1.04E+00 1.04E+00 3.7021E-01
des 3.85E-02 1.04E+00 3.7105E-01
c17
20000 mejor 1.17E+02 1.11E+02 1.5681E-01
peor 9.30E+02 5.12E+02 1.9014E+02
media 5.11E+02 2.88E+02 1.9559E+01
des 2.23E+02 1.73E+02 4.2203E+01
100000 mejor 1.39E+02 1.11E+02 3.6614E-05
peor 9.30E+02 5.12E+02 2.8329E+00
media 4.04E+02 2.88E+02 5.9280E-01
des 1.86E+02 1.73E+02 1.4632E-17
200000 mejor 1.12E+02 8.26E+01 1.4632E-17
peor 7.80E+02 2.44E+03 7.3018E-01
media 4.34E+02 6.10E+02 1.2496E-01
des 1.65E+02 8.16E+02 1.9372E-01
c18
20000 mejor 3.93E+03 4.92E+03 3.5543E-02
peor 2.92E+04 1.51E+04 1.2047E+02
media 1.24E+04 9.25E+03 1.1485E+01
des 7.31E+03 4.29E+03 3.0027E+01
100000 mejor 3.63E+03 4.92E+03 5.4517E-13
peor 2.64E+04 3.12E+04 6.1311E-12
media 1.19E+04 1.22E+04 1.9974E-12
des 5.63E+03 7.59E+03 1.2532E-12
200000 mejor 3.23E+03 2.74E+03 3.7314E-20
peor 2.14E+04 3.12E+04 9.2270E-18
media 9.70E+03 1.08E+04 9.6788E-19
des 4.82E+03 6.95E+03 1.8112E-18
76
Cuadro 4: Resultados para C01 a C06 en 30D
Función No. eval. Aspecto MABC MABC-CD Takahama
C01
60000 mejor -0.81080726 -8.1568E-01 -7.3339E-01
peor -0.6881890 -7.2273E-01 -6.7349E-01
media -0.7743368 -7.8227E-01 -7.0496E-01
des 0.029972703 2.6605E-02 1.5454E-02
300000 mejor -0.813686258 -8.2169E-01 -8.1971E-01
peor -0.688897353 -7.9600E-01 -8.1369E-011
media -0.778774036 -8.1402E-01 -8.1738E-01
des 0.027659122 8.0557E-03 1.6994E-03
600000 mejor -0.813700030 -8.2184E-01 -8.2183E-01
peor -0.68890836 -7.9629E-01 -8.1955E-01
media -0.77877958 -8.1474E-01 -8.2087E-01
des 0.027659213 8.1373E-03 7.1039E-04
c02
60000 mejor 2.99326E+00 2.99326E+00 -1.99411E+00
peor 5.55015E+00 5.55015E+00 -1.22521E+00
media 4.40978E+00 4.40978E+00 -1.74602E+00
des 6.42677E-01 6.42677E-01 1.87433E-01
300000 mejor 1.93025E+00 1.93025E+00 -2.16792E+00
peor 5.11759E+00 5.11759E+00 -2.11710E+00
media 4.20451E+00 4.20451E+00 -2.14878E+00
des 7.70432E-01 7.70432E-01 1.24348E-02
600000 mejor 1.93025E+00 1.93025E+00 -2.16925E+00
peor 4.93430E+00 4.93430E+00 -2.11710E+00
media 3.92151E+00 3.92151E+00 -2.15142E+00
des 6.57205E-01 6.57205E-01 1.19758E-02
c03
60000 mejor 1.80531E+12 1.29507E+14 7.03298E+05
peor 5.11147E+13 5.00845E+14 1.33665E+06
media 1.48980E+13 2.79253E+14 5.67248E+07
des 1.16526E+13 1.59865E+14 1.39100E+08
300000 mejor 8.15224E+11 1.29507E+14 2.87443E+01
peor 4.09959E+13 5.00845E+14 4.41872E+01
media 1.05506E+13 2.79253E+14 3.00961E+01
des 9.34201E+12 1.59865E+14 3.03708E+00
600000 mejor 7.66801E+11 1.29507E+14 2.86735E+01
peor 3.90330E+13 5.00845E+14 3.27801E+01
media 9.61559E+12 2.79253E+14 2.88379E+01
des 9.00205E+12 1.59865E+14 8.04716E-01
c04
60000 mejor 1.08582E+00 3.13279E+01 2.48543E+01
peor 5.06183E+01 4.80764E+01 1.10996E+01
media 1.20881E+01 3.76870E+01 1.89792E+01
des 1.35286E+01 6.55565E+00 1.17398E+01
300000 mejor 2.62928E-01 3.13279E+01 1.88330E-01
peor 5.09648E+01 4.80764E+01 5.64574E-01
media 1.05246E+01 3.76870E+01 3.62055E-01
des 1.41779E+01 6.55565E+00 1.71926E-01
600000 mejor 2.57522E-01 3.13279E+01 4.69811E-03
peor 5.10021E+01 4.80764E+01 1.77789E-02
media 1.02186E+01 3.76870E+01 8.16297E-03
des 1.41391E+01 6.55565E+00 3.06779E-03
c05
60000 mejor 3.82444E+02 2.77775E+02* -4.09260E+02
peor 9.12037E+02 5.84354E+02* -2.80309E+02
media 5.45982E+02 5.10130E+02 -3.79851E+02
des 9.87376E+01 7.56856E+01 2.66803E+01
300000 mejor 3.82444E+02 3.68201E+02* -4.52745E+02
peor 5.86266E+02 5.86775E+02* -4.38199E+02
media 5.09795E+02 5.10478E+02 -4.48375E+02
des 4.61440E+01 5.48565E+01 3.39064E+00
600000 mejor 3.36728E+02 4.16552E+02* -4.53131E+02
peor 1.11502E+03 5.74693E+02* -4.42159E+02
media 5.57471E+02 5.12783E+02 -4.49546E+02
des 1.64808E+02 4.17782E+01 2.89911E+00
c06
60000 mejor 4.13739E+02 4.04128E+02* -5.11420E+02x
peor 9.49429E+02 5.97414E+02* -5.11065E+02x
media 5.58901E+02 5.13232E+02 -5.04051E+02x
des 1.01142E+02 5.78208E+01 7.97934E+01x
300000 mejor 4.52625E+02 4.10570E+02* -5.78657E+02x
peor 1.44463E+03 6.02667E+02* -5.78639E+02x
media 6.21701E+02 5.36814E+02 -5.78651E+02x
des 1.79933E+02 5.20851E+01 4.41035E-03x
600000 mejor 4.16939E+02 4.10570E+02* -5.78658E+02x
peor 1.44463E+03 6.03324E+02* -5.78644E+02x
media 6.30047E+02 5.40621E+02 -5.78652E+02x
des 2.03629E+02 5.39014E+01 3.62716E-03x
77
Cuadro 5: Resultados para C07 a C12 en 30D
Función No. eval. Aspecto MABC MABC-CD Takahama
c07
60000 mejor 1.78415E+01 2.41901E+02 2.07850E+03
peor 2.18584E+02 4.40603E+03 6.29604E+03
media 9.57603E+01 1.66223E+03 3.88622E+03
des 9.57603E+01 1.67569E+03 1.07648E+03
300000 mejor 4.03938E-01 2.28928E+01 1.70618E+00
peor 8.11308E+01 2.18368E+02 3.25367E+00
media 3.81727E+01 5.35885E+01 2.36724E+00
des 3.32627E+01 4.92850E+01 4.21551E-01
600000 mejor 1.03472E-03 2.03270E+01 1.14711E-15
peor 1.20892E+01 9.74506E+01 5.48192E-15
media 3.74300E+00 3.56906E+01 2.60363E-15
des 3.42548E+00 2.46516E+01 1.23343E-15
c08
60000 mejor 5.55693E+02 2.08708E+06 5.25877E+04
peor 4.27039E+04 2.11308E+07 2.43822E+05
media 8.15539E+03 5.93233E+06 1.35221E+05
des 9.51582E+03 3.92655E+06 4.52967E+04
300000 mejor 3.22314E-01 3.67428E+01 5.10179E+00
peor 1.36547E+04 3.38295E+06 7.45900E+00
media 1.54988E+03 1.36144E+05 6.16037E+00
des 3.59228E+03 6.76418E+05 5.67697E-01
600000 mejor 2.23681E-03 2.04747E+01 2.51869E-14
peor 1.36528E+04 1.67901E+02 2.57811E-13
media 1.24422E+03 4.44089E+01 7.83146E-14
des 3.36904E+03 3.57560E+01 4.85518E-14
c09
60000 mejor 1.36863E+13 1.16143E+13 1.51388E+06
peor 1.26327E+15 3.38888E+13 4.84505E+07
media 8.96172E+13 2.35613E+13 8.14055E+06
des 2.46426E+14 9.19476E+12 9.47060E+06
300000 mejor 9.51528E+12 2.36874E+01 1.24716E-02
peor 3.53607E+14 3.38888E+13 1.05276E+02
media 4.87421E+13 1.96600E+13 1.07676E+01
des 7.05297E+13 1.41489E+13 2.82017E+01
600000 mejor 9.51528E+12 2.36874E+01 2.77067E-16
peor 1.41186E+14 3.38888E+13 1.05276E+02
media 3.35810E+13 1.96600E+13 1.07214E+01
des 2.44047E+13 1.41489E+13 2.82192E+01
c10
60000 mejor 1.19781E+13 2.37919E+13 1.17208E+06
peor 3.31252E+14 4.38904E+13 1.06733E+07
media 4.95236E+13 3.11103E+13 4.63914E+06
des 6.43929E+13 8.81246E+12 2.63856E+06
300000 mejor 1.10361E+13 2.37919E+13 3.25200E+01
peor 2.67216E+14 4.38904E+13 3.46326E+01
media 5.98699E+13 3.11103E+13 3.32618E+01
des 6.59083E+13 8.81246E+12 4.54582E-01
600000 mejor 7.93325E+12 1.94766E+13 3.25200E+01
peor 2.67216E+14 2.91451E+13 3.46324E+01
media 4.97286E+13 2.50068E+13 3.32618E+01
des 5.87294E+13 4.31971E+12 4.54558E-01
c11
60000 mejor -1.51272E+00 -1.32232E+01 -1.81669E+00
peor 1.84773E-01 3.52510E+00 -2.30064E+00
media -1.35374E-01 -3.96453E+00 2.04744E-01
des 4.53789E-01 3.54027E+00 1.80018E+00
300000 mejor -4.05758E-02 -1.32232E+01 -2.49451E-02
peor 3.67999E-01 3.52510E+00 1.60242E-02
media 3.95745E-02 -3.96453E+00 1.31151E-03
des 9.07281E-02 4.73897E+00 1.54253E-02
600000 mejor -1.79313E-02 -1.32232E+01 -3.26846E-04
peor 6.21768E-02 3.52510E+00 -2.23634E-04
media 2.65803E-02 -3.96453E+00 -2.86388E-04
des 2.24993E-02 4.73897E+00 2.70761E-05
c12
60000 mejor -2.72877E+02 -3.69978E+03 7.01035E+02
peor 7.04348E+02 -5.76966E+02 9.83626E+02
media 6.23407E+01 -2.28410E+03 -3.74338E+02
des 3.11100E+02 1.29288E+03 7.37747E+02
300000 mejor -1.99246E-01 -3.69978E+03 -8.95772E+02
peor 7.35883E+00 -5.76966E+02 6.29370E+01
media 5.70769E+00 -2.28410E+03 -4.61820E+02
des 2.76044E+00 1.29288E+03 4.30151E+02
600000 mejor -1.99249E-01 -3.69978E+03 -1.99145E-01
peor 6.18567E+00 3.48118E+00 5.46172E+02
media 8.17717E-01 -9.13301E+02 3.56233E+02
des 2.34342E+02 1.39610E+03 2.88925E+02
78
Cuadro 6: Resultados para C13 a C18 en 10D
Función No. eval. Aspecto MABC MABC-CD Takahama
c13
60000 mejor -6.50660E+01 -4.97932E+01 -6.55157E+00
peor -4.69914E+011 -3.43264E+01 2.64154E+00
media -6.10979E+01 -4.02945E+01 -2.07793E+00
des 5.05296E+00 3.34200E+00 8.39792E+00
300000 mejor -6.69752E+01 -6.59527E+01 -5.92956E+01
peor -5.93207E+01 -4.08716E+01 -5.63411E+01
media -6.35875E+01 -5.16734E+01 -5.81320E+01
des 1.87713E+00 6.70261E+00 8.74806E-01
600000 mejor -6.69754E+01 -6.67831E+01 -6.64247E+01
peor -5.93209E+01 -4.53307E+01 -6.42969E+01
media -6.35877E+01 -6.06272E+01 -6.53531E+01
des 1.87711E+00 5.57769E+00 5.73301E-01
c14
60000 mejor 8.63131E+11 4.51933E+13 5.22132E+06
peor 2.23350E+13 1.19083E+14 2.83298E+07
media 7.52184E+12 7.54183E+13 1.74897E+07
des 5.33031E+12 2.17861E+13 6.14770E+06
300000 mejor 7.11753E+00 2.48953E+12 6.23680E+00
peor 1.69401E+07 2.95109E+13 1.04174E+01
media 8.33509E+05 1.29311E+13 7.32786E+00
des 3.43623E+06 5.50025E+12 8.83548E-01
600000 mejor 6.11982E-02 7.32860E+10 5.01586E-14
peor 1.69400E+07 3.64960E+12 2.92351E-12
media 8.33455E+05 1.43374E+12 3.08941E-13
des 3.43623E+06 9.49784E+11 5.60841E-13
c15
60000 mejor 1.28805E+14 3.37570E+01 3.00620E+07
peor 3.92468E+14 4.71946E+14 1.58031E+08
media 2.66401E+14 2.47732E+14 8.24209E+07
des 7.34746E+13 9.01085E+13 3.36322E+07
300000 mejor 5.48201E+13 1.17351E+14 2.16166E+01
peor 2.54752E+14 2.83241E+14 2.16229E+01
media 1.34007E+14 1.90943E+14 2.16193E+01
des 5.10504E+13 4.55732E+13 1.73309E-03
600000 mejor 1.82371E+13 1.21378E+01 2.16035E+01
peor 1.82075E+14 2.49505E+14 2.16040E+01
media 8.14844E+13 1.59557E+14 2.16038E+01
des 4.17205E+13 4.86786E+13 1.10483E-04
c16
60000 mejor 1.12355E+00 1.08912E+00* 2.43059E-02
peor 1.13735E+00 1.13869E+00* 1.66866E+00
media 1.15070E+00 1.14641E+00 2.25134E-01
des 7.62215E-03 2.67732E-02 3.36000E-01
300000 mejor 1.12355E+00 1.10172E+00* 2.71051E-19
peor 1.18715E+00 1.13760E+00* 1.34550E-15
media 1.14651E+00 1.13759E+00 1.17682E-16
des 2.81098E-02 1.60363E-02 3.28774E-16
600000 mejor 1.09106E+00 1.10172E+00* 0.0000E+00
peor 1.16819E+00 1.18216E+00* 5.42101E-20
media 1.13389E+00 1.13887E+00 2.16840E-21
des 2.40042E-02 2.75793E-02 1.06230E-20
c17
60000 mejor 1.64384E+03 1.00127E+03 1.87412E+01
peor - 1.00127E+03 3.81573E+02
media - 1.00127E+03 7.53478E+01
des - 0 2.16572E-01
300000 mejor 1.35364E+03 1.00127E+03 2.16572E-01
peor 2.17960E+03 1.93743E+03 1.88906E+01
media 1.58594E+03 1.46935E+03 6.61210E+00
des 3.45748E+02 6.61969E+02 5.05954E+00
600000 mejor 7.96540E+02 1.00127E+03 2.16572E-01
peor 2.37008E+03 2.11968E+03 1.88906E+01
media 1.45983E+03 1.63172E+03 6.32649E+00
des 4.41921E+02 4.28228E+02 4.98669E+00
c18
60000 mejor 2.52655E+04 2.65002E+04 7.14835E+01
peor 7.39873E+04 5.95199E+04 1.41761E+03
media 4.07775E+04 4.06464E+04 5.34298E+02
des 4.63521E+03 9.62027E+03 4.30252E+02
300000 mejor 1.99672E+04 2.65002E+04 1.22605E+00
peor 5.59648E+04 5.66287E+04 7.37536E+02
media 3.39537E+04 3.63594E+04 8.75457E+01
des 7.87108E+03 6.84032E+03 1.66475E+02
600000 mejor 1.94452E+04 2.65002E+04 1.22605E+00
peor 4.34088E+04 4.34799E+04 7.37536E+02
media 2.92179E+04 3.38114E+04 8.75457E+01
des 7.10185E+03 4.23594E+03 1.66475E+02
79
.2. Gráficas de resultados