Busqueda Local en el algoritmo ABC para optimizacion con restricciones
-
Upload
diego-isla -
Category
Documents
-
view
186 -
download
0
description
Transcript of Busqueda Local en el algoritmo ABC para optimizacion con restricciones
-
INSTITUTO TECNOLGICO DE VERACRUZ
FACULTAD DE INGENIERA Y CIENCIAS
IMPLEMENTACIN DE BSQUEDA LOCAL EN
EL ALGORITMO DE LA COLONIA DE ABEJAS
ARTIFICIALES PARA RESOLVER PROBLEMAS
DE OPTIMIZACIN CON RESTRICCIONES
TESIS PRESENTADA POR DIEGO DE JESS ISLA LPEZ
PARA OBTENER EL GRADO DE INGENIERO EN SISTEMAS COMPUTACIONALES
ASESORES:
M.C. RAFAEL RIVERA LPEZ
DR. EFRN MEZURA MONTES
2014
Departamento de Sistemas Computacionales
-
Agradecimientos
2
-
ndice general
Agradecimientos 2
1. Marco Metodolgico 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 especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Justificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5. Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6. Alcances y limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.1. Alcances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2. Marco Terico 14
2.1. Optimizacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2. El Problema de Optimizacon . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3. Optimizacin Numrica . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.4. Optimizacin 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. Tcnicas para resolver problemas de optimizacin . . . . . . . . . . . . . . 22
2.2.1. Clasificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2. Mtodos Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3. Mtodos No Tradicionales (Heursticas) . . . . . . . . . . . . . . . . 28
2.3. Metaheursticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1. Criterios utilizados en metaheursticas . . . . . . . . . . . . . . . . . 28
2.3.2. Principales conceptos usados en metaheursticas . . . . . . . . . . 29
2.3.3. Manejo de Restricciones en Metaheursticas . . . . . . . . . . . . . 30
2.3.4. Mtaheursticas basadas en solucin nica . . . . . . . . . . . . . . 32
2.3.5. Mtaheursticas basadas en poblacin . . . . . . . . . . . . . . . . . 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. Optimizacin por Apareamiento de Abejas (HBMO) . . . . . . . . 39
3.1.2. Recoleccin 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. Descripcin del Proyecto 49
4.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. Elementos del algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.1. Parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.2. Operador de bsqueda local . . . . . . . . . . . . . . . . . . . . . . . 50
4.3. Pasos del algoritmo MABC-CD . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.4. Comentarios Finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
-
ndice general 5
5. Implementacin y resultados 54
5.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2. Variables de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3. Seleccin de problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.4. Calibracin de parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6. Anlisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.6.1. Descripcin de los resultados . . . . . . . . . . . . . . . . . . . . . . 67
6. Conclusiones 68
Bibliografa 69
Apndices 70
.1. Tablas de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
.2. Grficas de resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
-
ndice de figuras
2.1. Representacin geomtrica de un problema de optimizacin con restric-
ciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2. Representacin grfica del mtodo de bsqueda por seccin urea . . . . 26
3.1. Representacin grfica del algoritmo ABC . . . . . . . . . . . . . . . . . . . 42
6
-
ndice de cuadros
2.1. Relaciones primal-dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1. Parmetros 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
-
Captulo 1
Marco Metodolgico
1.1. Antecedentes
En el rea de la Investigacin de Operaciones (IO) se tratan problemas tanto de inge-
niera como de otras reas que requieren ser optimizados de acuerdo a sus necesida-
des. Desde la aparicin del mtodo simplex en 1947, muchos problemas de la industria
y otras reas se han resuelto utilizando mtodos de optimizacin. Optimizacin signi-
fica, a grandes rasgos, obtener la mejor solucin posible a un problema determinado.
Para resolver un problema de optimizacin se requiere de un modelo matemtico;
de acuerdo a las caractersticas del problema los modelos pueden ser lineales o no
lineales, con restricciones o sin ellas, as como continuos o discretos. Segn las ne-
cesidades del problema, el modelo puede ser de minimizacin o maximizacin. Aun
con los avances en la tecnologa y en el desarrollo de los mtodos de optimizacin,
existen en la actualidad muchos problemas en los cuales no existen algoritmos que los
resuelvan eficientemente.
Los mtodos de optimizacin existentes en la literatura especializada pueden ser utili-
zados para ambos enfoques de maximizacin y minimizacin y son la base de mtodos
ms modernos que buscan obtener resultados mucho mejores en un tiempo considera-
blemente menor, adems de realizar clculos menos complejos. Estos algoritmos son
conocidos como no tradicionales, o heursticas, y son diseados para problemas es-
pecficos. El estudio moderno de las heursticas comienza desde las publicaciones del
8
-
Captulo 1. Marco Metodolgico 9
matemtico George Plya en la dcada de 1940, quien sent las bases del pensamiento
para disear nuevos mtodos de solucin a problemas. Las heursticas logran encon-
trar una solucin viable en un tiempo menor al que tardara un mtodo tradicional,
aunque no dan garanta de encontrar la mejor solucin de todas. A pesar de esto lti-
mo, la solucin que ofrecen las heursticas puede ser muy similar a la ptima, lo que
hace que las heursticas 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
optimizacin mediante el desarrollo de metaheursticas (heursticas ms generales y
que pueden abarcar ms tipos de problemas) que ocupan enfoques poco ortodoxos,
como es el caso de los algoritmos inspirados en la naturaleza. Estos algoritmos emulan
fenmenos que se encuentran en el medio ambiente, como el comportamiento de las
aves, los mecanismos de evolucin de las especies, o la forma en que las molculas
se reacomodan para mantener estados de energa estable. El desarrollo de algorit-
mos inspirados en la naturaleza (bio-inspirados) ha ganado auge en pocas recientes,
cada da estudindose ms fenmenos que puedan ser adaptados. Los algoritmos bio-
inspirados se pueden agrupar en aquellos basados en la teora evolutiva de Darwin,
denominados algoritmos evolutivos, y los inspirados en el comportamiento de ani-
males sociales (enjambres, o swarm en ingls), llamados algoritmos de inteligencia
colectiva. En sus dos vertientes, estos algoritmos han demostrado tener un desempe-
o favorable en la resolucin de problemas complejos, aunado a que son fciles de
implementar en cdigo y adaptar a problemas diversos. En la literatura suele denomi-
narse a estos algoritmos como de caja negra (black box), ya que para fines prcticos
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 teora de evolucin de las especies de
Darwin y la teora gentica de Mendel (seleccin natural y mutacin gentica), que
en conjunto se conoce como neodarwinismo. Uno de los ms populares es el algoritmo
gentico (AG), pero ha sido criticado por la gran cantidad de parmetros de ajuste
que utiliza. En la actualidad, una variante del AG es el algoritmo de Evolucin Dife-
-
Captulo 1. Marco Metodolgico 10
rencial, propuesto en [SP95] por Storn y Price en 2005, pues ha demostrado tener undesempeo muy bueno para diferentes tipos de problemas, adems de ser muy rpido
en comparacin a otros algoritmos evolutivos.
Por otro lado, los algoritmos de inteligencia colectiva surgen de la motivacin de re-
solver problemas de optimizacin mediante la simulacin de procesos inteligentes y
colaborativos. Los primeros algoritmos de este tipo fueron el algoritmo de optimiza-
cin por cmulos de partculas (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 ms 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 optimizacin numrica con restricciones (CNOP, por sus siglas
en ingls) son muy estudiados ya que el anlisis de problemas del mundo real fre-
cuentemente presentan restricciones en las variables propias del problema. Muchas
de las metaheursticas que se han desarrollando en aos recientes han sido enfocadas
en resolver problemas de este tipo, pero representan una complejidad computacional
muy grande al momento de ser implementadas en cdigo. Si bien los teoremas no
free lunch (NFL) nos indican que es imposible generar un mtodo que pueda tener
un desempeo favorable para todos los problemas de optimizacin, esto es, que todos
los mtodos que se desarrollen tendrn un desempeo equivalente en la mayora de
los casos, se ha buscado crear algoritmos que permitan manejar de manera adecuada
diferentes tipos de problemas para despus proponer diversos tipos de modificaciones
que logren tener un buen desempeo en tareas ms especficas. Entre estas tareas ms
especficas 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-
taheursticas usando estos tipos de problemas. Un caso muy comn en los problemas
de optimizacin es la presencia de restricciones. Para el caso de las metaheursticas, 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] elcual introduce mecanismos de seleccin novedosos (?) y el algoritmo "DEag propues-
-
Captulo 1. Marco Metodolgico 11
to por Takahama, el cual ocupa el mecanismo de restricciones " junto con mtodos de
gradiente.
1.2. Planteamiento del problema
El algoritmo ABC original fue diseado para trabajar con problemas de optimiza-
cin numrica sin restricciones, lo que lo hace limitado al tratar de resolver problemas
en espacios de bsqueda 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 mtodos de gradiente son los
que han mostrado mejores resultados en su desempeo, sin embargo estos mtodos
son difciles de implementar en cdigo y representan una complejidad computacio-
nal grande. Una alternativa para evitar el clculo del gradiente de una funcin es
utilizar los enfoques tradicionales que iteran sin usar derivadas, como el mtodo de
Rosenbrock o de coordenadas cclicas. En particular, es conocido que el mtodo de
Direcciones Conjugadas de Powell es el que ms eficiencia ha presentado, por lo que
bien se podra utilizar para considerar las restricciones de un problema. Es por esto
que se propone usar un mtodo de bsqueda local ms simple, como es el mtodo
de Direcciones Conjugadas de Powell, el cual no utiliza derivadas, para buscar lograr
un desempeo similar a los algoritmos que implementan mtodos de gradiente sin las
desventajas que estos implican.
Por lo anterior, se puede presentar el siguiente planteamiento:
Es factible utilizar el mtodo de Direcciones Conjugadas de Powell como meca-
nismo de bsqueda 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 especficos:
-
Captulo 1. Marco Metodolgico 12
1.3.1. Objetivo general
Agregar al algoritmo M-ABC el buscador local basado en el mtodo directo de las
Direcciones Conjugadas de Powell.
1.3.2. Objetivos especficos
Revisar la literatura especializada para entender el algoritmo M-ABC y el algo-
ritmo de las Direcciones Conjugadas de Powell.
Implementar la versin combinada de ambos algoritmos y probarla en un con-
junto de funciones de prueba encontrado en la literatura especializada.
1.4. Justificacin
Este proyecto basa su pertinencia desde el punto de vista cientfico 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 metaheursticos cada vez ms competitivos para resolver problemas com-
plejos del mundo real que en la gran mayora de los casos requieren en sus modelos
el planteamiento de restricciones.
Comparar el desempeo del algoritmo desarrollado en este proyecto contra el pre-
sentado por Takahama tiene su base en que este algoritmo ha demostrado tener un
desempeo muy bueno en problemas de optimizacin con restricciones usando mto-
dos de bsqueda de gradiente junto con manejo de restricciones con valor ".
1.5. Hiptesis
Es posible acercarse al desempeo obtenido por un algoritmo del estado del arte
que utiliza bsqueda basada en gradiente mediante la combinacin del algoritmo M-
ABC con el algoritmo directo de las Direcciones Conjugadas de Powell al resolver
problemas de optimizacin con restricciones.
-
Captulo 1. Marco Metodolgico 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 resolucin 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 desempeo obtenido por el algoritmo de Takahama, pero una
buena aproximacin a los resultados ser suficiente.
-
Captulo 2
Marco Terico
2.1. Optimizacin
2.1.1. Generalidades
De acuerdo a [GR12] la optimizacin se define como el proceso llevado a cabo paraencontrar los valores o caractersticas que minimicen algn otro valor que depende
de ellos. El propsito de la optimizacin es encontrar o identificar la mejor solucin
posible, entre todas las soluciones potenciales, para un problema dado, en trminos
de algn o algunos criterios de efectividad o desempeo.
En el mundo real, la optimizacin est presente en todos los campos de la ciencia
y la tecnologa; la mayora de estos problemas se encuentran sujetos a un conjunto de
restricciones que, segn el problema, pueden hacerse en trminos lineales o no linea-
les, lo que a su vez complica el proceso de bsqueda generando una gran cantidad de
clases de problemas. Por esta razn es que no existe solo un mtodo de optimizacin,
sino que es posible encontrar un gran nmero de ellos en la literatura especializa-
da. Desafortunadamente, existen problemas donde los algoritmos que emergen de un
anlisis matemtico resultan poco eficientes ya que utilizan demasiado tiempo y/o re-cursos (computacionalmente hablando). El estudio de los algoritmos alternativos de
optimizacin est enfocado a la resolucin de problemas muy complejos que tomara
mucho tiempo, o sera imposible, realizar por medio de tcnicas convencionales. Estos
algoritmos consisten en buscar, en un conjunto de soluciones posibles para el pro-
14
-
Captulo 2. Marco Terico 15
blema en cuestin, aquella que satisfaga de mejor manera una serie de condiciones
planteadas.
2.1.2. El Problema de Optimizacon
El problema de optimizacin, como se muestra en [NW99], puede representarsede la siguiente manera:
min f (x)sujeto a h(x) = 0g(x) 0
Donde:
x es el vector de variables, tambin llamadas incgnitas o parmetros.
f es la funcin 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 optimizacin con el que se desa-
rrollan los problemas es el de minimizacin.
2.1.3. Optimizacin Numrica
La optimizacin numrica se encarga de problemas representados de forma mate-
mtica, donde se utiliza una funcin objetivo, de la cual se busca maximizar o mini-
mizar el valor de esta, dependiendo del problema. Al proceso de identificar la funcin
objetivo, variables y restricciones de un problema dado es llamado modelado. La
construccin de un modelo apropiado es el primer paso en el proceso de optimiza-
cin. Si el modelo es muy simple, no proveer una visin muy til del problema; pero
si es muy complejo, puede llegar a ser muy difcil de resolver. ([NW99]) En la figura2.1 se muestra la representacin grfica de un problema de optimizacin numrica.
Es importante indicar que el mbito de los posibles valores de las variables en los
problemas de optimizacin numrica es continua, a diferencia de los problemas de
optimizacin combinatoria.
-
Captulo 2. Marco Terico 16
Figura 2.1: Representacin geomtrica de un problema de optimizacin con restric-
ciones
La formulacin de un problema de optimizacin (modelado) comienza identifi-
cando las variables de diseo. Un problema de diseo por lo regular involucra varios
parmetros de diseo, de los cuales algunos son muy sensibles en el funcionamiento
del diseo. Estos parmetros son llamados variables de diseo en el argot de optimiza-
cin. Otros parmetros de diseo (no tan importantes) suelen quedarse fijos o varan
en relacin a las otras variables.
Optimizacin Numrica Sin Restricciones
Los problemas de optimizacin sin restricciones pueden encontrarse en muchas
aplicaciones prcticas. Si hay restricciones naturales en las variables, por lo general
estas son descartadas y se supone que no tienen efecto en la solucin ptima. Estos
problemas tambin pueden resultar de la reformulacin de problemas con restriccio-
nes, las cuales se reemplazan por trminos de penalizacin en la funcin objetivo.
-
Captulo 2. Marco Terico 17
Optimizacin Numrica con Restricciones
Los problemas de optimizacin con restricciones (CNOP, por sus siglas en ingls)
surgen de modelos que incluyen restricciones explcitas en las variables. Estas res-
tricciones pueden ser lmites simples como 0 x1 100, restricciones lineales msgenerales 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 nmero de restricciones a utilizar
depende del usuario. ([Deb04])
Hay dos tipos de de restricciones que emergen de la mayora de los modelos: igual-
dad y desigualdad. Las restricciones de desigualdad indican que las relaciones funcio-
nales entre las variables de diseo son mayores a, menores a o iguales a un valor
dado. La mayora de las restricciones encontradas en problemas de ingeniera son de
este tipo. Las restricciones de igualdad indican que las relaciones funcionales debern
coincidir exactamente con un valor dado. Estas restricciones, por lo general, son ms
difciles de manejar y, por lo tanto, deben evitarse siempre que sea posible. Si las rela-
ciones de igualdad son ms simples, puede ser posible reducir el nmero de variables
de diseo usando restricciones de igualdad. En tal caso, las restricciones de igualdad
reducen la complejidad del problema.
2.1.4. Optimizacin Combinatoria
La optimizacin combinatoria se encarga de problemas donde se conoce el espacio
de soluciones (generalmente grande). De acuerdo con Lawler ([Law76]), es el estu-dio matemtico del ordenamiento, agrupamiento y seleccin de objetos discretos, por
lo general finitos en nmero. El objetivo es explorar el espacio de bsqueda y reducir-
lo, para obtener un conjunto mejor de soluciones. Entre los problemas ms conocidos
de este tipo estn los problemas de calendarizacin, 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 teora de optimizacin ya que
muchos mtodos de bsqueda de una solucin ptima basan su desempeo en las
-
Captulo 2. Marco Terico 18
propiedades convexas del problema. El trmino 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 combinacin lineal de otros dos puntos cualesquiera que tambin
pertenezcan a N . Geomtricamente significa que un conjunto es convexo si la lnea
que conecta dos puntos dentro de N se encuentra dentro de dicha regin. Por otro
lado, una funcin f (x) definida en N es convexa si, para cualquier par de puntos x yy 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 geomtrico de esta relacin indica que la grfica de la funcin est
por debajo de la lnea 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 . Sinembargo, por lo general no se tiene un panorama completo de toda la funcin
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 talque f (x ) f (x) para x N . [NW99]
-
Captulo 2. Marco Terico 19
2.1.7. Condiciones de Optimalidad
Como resultado del estudio de los problemas de optimizacin, se conocen con-
diciones que indican si una solucin es ptima. Como se indicn anteriormente, se
establece que los problemas de optimizacin pueden ser sin restricciones o con res-
tricciones. [RRR06] Debido a esta clasificacin, se pueden definir las condiciones enlas que una solucin 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 mnimo local. Estas condiciones utilizan el
concepto de direccin factible. Una direccin factible es el vector unitario d
que, asociado a un punto x N produce otro punto x + d N para un > 01. Una direccin de descenso factible es aquella que cumple:
f (x + d)< f (x)
Problemas con restricciones
En la mayora de los problemas de la vida real que se pretenden solucionar
mediante mtodos de optimizacin, existen restricciones para las diferentes va-
riables que se utilizan. La presencia de estas restricciones reduce la regin de
bsqueda. Si bien esto puede sonar a que se simplifica la tarea de encontrar una
solucin ptima, la realidad es que se vuelve ms complicada. Existen dos tipos
de restricciones:
Restricciones de igualdadEstas restricciones son las que se igualan a un valor especfico, que por lo
general es 0. Formalmente se definen de esta manera:
h(x1, ..., xN) = 0
Restricciones de desigualdad1La direccin factible de x a x se define como: d = xx||xx||
-
Captulo 2. Marco Terico 20
Estas restricciones imponen una condicin de desigualdad a un valor deter-
minado, el cual tambin suele ser 0. Formalmente se definen de la siguiente
manera:
g(x1, ..., xN) 0En el algoritmo M-ABC se utiliza un mecanismo para un mejor manejo de
restricciones de desigualdad, el cul se describe en el captulo 3.
2.1.8. Condiciones de optimalidad para problemas sin restriccio-
nes
Para problemas sin restricciones existen las siguientes condiciones de optimalidad:
1. Condicin necesaria de primer orden
f (x) = 0 (2.2)2. Condicin necesaria de segundo orden
dT2 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
tambin restricciones de desigualdad. [BSS06]
1. Condicin necesaria de primer orden
x L(x,,) = f (x)Th(x)Tg(x) = 0 (2.4)
-
Captulo 2. Marco Terico 21
2. Condicin necesaria de segundo orden
dT2x L(x,,)d 0 (2.5)donde:
x L es el lagrangiano de la funcin,x y son multiplicadores de Lagrange.
2.1.10. Dualidad
Todo problema de optimizacin (primal) tiene un problema asociado (dual) con
numerosas propiedades que los relacionan y permiten hacer un mejor anlisis de los
problemas. ([Goi]) De esta manera, para que un vector x sea ptimo debe existir otrovector tal que en conjunto satisfagan las mismas condiciones. Para encontrar el dual
de un problema lineal:
Si es problema de minimizacin, el dual ser de maximizacin 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 funcin objetivo del dual vendrn dados por los coeficien-
tes de la funcin objetivo del primal.
Los coeficientes que acompaaran a las variables en una restriccin del dual
correspondern a aquellos coeficientes que acompaan a la variable primal co-
rrespondiente a la restriccin dual.
Para saber si las restricciones duales son de , = se recurre a la tabla derelaciones primal-dual. (Tabla 2.1)
As, teniendo un problema primal
min z = cxs. a Ax b
x i 0
-
Captulo 2. Marco Terico 22
es posible reescribirlo como
max w = y bs.a At y c
yi 0
Problema de minimizacin Problema de MaximizacinRestricciones=
Variables 0Irrestricta 0
Variables 0Irrestricta 0
Restricciones 0= 0
Cuadro 2.1: Relaciones primal-dual
2.2. Tcnicas para resolver problemas de optimizacin
El rea encargada de abordar los problemas de optimizacin es conocida como
Investigacin de Operaciones (IO). Los mtodos 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 nmero de iteraciones que requieren los mismos.
Por lo general se comienza con una solucin que es el estimado inicial, para des-
pus generar una secuencia de estimaciones mejoradas hasta llegar a una solucin. La
estrategia para moverse de una iteracin a la siguiente es lo que distingue a un algo-
ritmo de otro. La mayora de las estrategias utilizan los valores de la funcin objetivo,
las restricciones y, en algunos casos, los valores de la primera y segunda derivadas de
estas funciones. Algunos algoritmos recogen informacin de iteraciones previas, mien-
tras otros usan solamente informacin local del punto actual. De acuerdo a [NW99],independientemente de estas especificaciones, los algoritmos deben tener las siguien-
tes caractersticas:
Solidez: Debern tener un buen desempeo en una amplia variedad de proble-
mas de su clase, para todas las opciones razonables de las variables iniciales.
-
Captulo 2. Marco Terico 23
Eficiencia: No deben requerir mucho tiempo computacional ni almacenamiento.
Exactitud: Debern ser capaces de identificar una solucin con precisin, sin
ser demasiado sensibles a errores en los datos o errores aritmticos cuando el
algoritmo se implementa en una computadora.
Estos objetivos pueden tener conflictos entre s. Por ejemplo, un mtodo que con-
verge de manera rpida para problemas no lineales puede requerir mucho espacio de
almacenamiento en problemas con un espacio de bsqueda muy amplio. Por otro lado,
un mtodo slido puede presentar un desempeo lento debido a su complejidad.
2.2.1. Clasificacin
De acuerdo a sus caractersticas, como se menciona en [Deb04], los algoritmos deoptimizacin se clasifican de la siguiente manera:
Mtodos tradicionales
Se les conooce tambin con el nombre de mtodos numricos.
Mtodos para optimizacin sin restricciones Mtodos de una sola variable Mtodos de delimitacin Mtodos de eliminacin de regiones Mtodos de estimacin de punto Mtodos basados en gradiente
Mtodos multivariable Bsqueda Directa Mtodos basados en gradiente
Mtodos para optimizacin con restricciones Mtodos de transformacin Bsqueda Directa para problemas con restriccioness Tcnicas de bsqueda lineales
-
Captulo 2. Marco Terico 24
Mtodos basados en gradiente Mtodos especializados Programacin Entera Programacin Geomtrica
Mtodos no tradicionales
Tambin llamados heursticas, son tcnicas las cuales no no garantizan en-
contrar la mejor solucin 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]:
Mtodos basados en solucin nica Mtodos basados en poblacin Algoritmos evolutivos Algoritmos de inteligencia colectiva
2.2.2. Mtodos Tradicionales
Mtodos de una sola variable
Los mtodos de variable simple estn diseados para trabajar con funciones de una
sola variable ( f (x)). Estos mtodos son utilizados como parte de los procedimientosde diversos mtodos multivariable. Por lo general, estn diseados para trabajar con
problemas de minimizacin, pero tambin pueden ser usados para encontrar valores
mximos. Los mtodos de variable simple estn divididos en dos tipos:
Mtodos de delimitacin
En estos mtodos, el mnimo de una funcin se encuentra en dos fases: primero,
se encuentran los lmites inferior y superior del valor mnimo mediante una tcnica de
fuerza bruta. Despus, se usa un mtodo ms sofisticado para buscar dentro de estos
lmites y encontrar la solucin ptima con la precisin deseada. Dentro de este tipo
de mtodos se encuentran el mtodo de bsqueda exhaustiva y el mtodo Bounding
-
Captulo 2. Marco Terico 25
Phase. [Deb04].
El algoritmo Bounding Phase, presentado en 4, es un mtodo de delimitacin que
garantiza delimitar el mnimo de una funcin unimodal 2. Inicia con una estimacin
inicial, para a partir de ella encontrar una direccin de bsqueda basada en dos o ms
evaluaciones en los alrededores de sta. Despus, se utiliza una estrategia de bsque-
da exponencial para alcanzar el valor ptimo.
Mtodos de eliminacin de regiones
Estos mtodos son utilizados en conjunto con los mtodos de delimitacin. Una vez
que se ha encontrado el rango donde se encuentra el punto mnimo, se necesita un
mtodo ms sofisticado para mejorar la exactitud de la solucin. Dependiendo de los
valores encontrados evaluando la funcin en dos puntos distintos y asumiendo que la
funcin es unimodal en el espacio de bsqueda elegido, se puede concluir que el valor
mnimo deseado no puede encontrarse en alguna porcin del espacio de bsqueda.
Dentro de este tipo de algoritmos se encuentran el mtodo de divisin de intervalos,
el mtodo Fibonacci y el mtodo de bsqueda por seccin urea. La regla fundamental
para los mtodos de elminacin de regiones ([Deb04]) es:Sean dos puntos x1 y x2, los cuales se encuentran en el intervalo (a, b) y satisfacen
x1 < x2. Para funciones unimodales para minimizacin, se puede concluir lo siguiente:
Si f (x1)> f (x2), entonces el mnimo no se encuentra en (a, x1).
Si f (x1)< f (x2), entonces el mnimo no se encuentra en (x2, b).
Si f (x1) = f (x2), entonces el mnimo no se encuentra en (a, x1) ni (x2, b).
El mtodo de esta categora utilizado en el proyecto es el algoritmo de bsque-
da por seccin urea. Este mtodo realiza el proceso de eliminacin de regiones
desplazndose en relacin a la proporcin urea. A pesar de que no es el algoritmo
de bsqueda ms eficiente, funciona de manera satisfactoria con funciones comple-
jas unimodales, adems de que puede ser adaptado para trabajar con funciones no
unimodales.2Que presenta slo un valor ptimo
-
Captulo 2. Marco Terico 26
Como se describe en [Deb04], el algoritmo funciona tomando el espacio de bs-queda (a, b) de manera unitaria (0,1), y as obtener dos puntos a una distancia de
cada extremo del espacio de bsqueda para que al cabo de cada iteracin la regin
eliminada sea 1.En 5 se ilustra el funcionamiento de dicho mtodo. En la figura 2.2 se muestra una
representacin grfica del mismo.
Figura 2.2: Representacin grfica del mtodo de bsqueda por seccin urea
Mtodos de variable mltiple
Direcciones Conjugadas de Powell
Este mtodo es de los ms populares y que ha generado mejores resultados en di-
versos problemas de optimizacin para ingeniera. Como se describe en [Deb04], haceuso de una memoria de soluciones previas para crear nuevas direcciones de bsqueda.
-
Captulo 2. Marco Terico 27
Est probado que puede converger en funciones cuadrticas, adems de que se han
podido resolver funciones no cuadrticas de manera exitosa utilizando este mtodo.
La idea bsica del algoritmo es crear un conjunto de direcciones de bsqueda lineal-
mente independientes N y llevar a cabo una serie de bsquedas unidireccionales a
travs de estas direcciones, empezando cada vez desde el punto ptimo anterior. Este
proceso garantiza encontrar el mnimo de una funcin cuadrtica en una pasada de
N bsquedas unidireccionales en cada direccin. En otros tipos de funciones, pueden
necesitarse ms pasadas.
Este mtodo cuenta con la propiedad de subespacios paralelos, la cual estipula que,
teniendo dos puntos x1 y x2 y una direccin d, al hacer dos bsquedas unidirecciona-
les desde cada punto en esa direccin, se crearn dos puntos y1 y y2. En el caso de
una funcin cuadrtica, se dice que el mnimo de la funcin se encuentra en la lnea
que une estos dos ltimos puntos. El vector (y2 y1) forma una direccin conjugadacon el vector original d.
Este mtodo utiliza los mtodos Bounding Phase y Golden Section Search descritos
con anterioridad para llevar a cabo las bsquedas unidireccionales.
Algoritmo 1: Direcciones Conjugadas de Powell
1 Escoger un punto inicial x0 y un conjunto N de direcciones linearmente independientes.
2 Minimizar a lo largo de N usando el punto mnimo previo para iniciar la siguiente bsqueda.
Iniciar con la direccin de bsqueda s1 y terminar con sN . Despus, realizar otra bsqueda
unidireccional en s1.
3 Formar una nueva direccin conjugada d usando la propiedad de subespacios paralelos.
4 if ||d|| es pequea o las direcciones son linearmente dependientes then5 teminar
6 else
7 Reemplazar s j = s j1 para toda j = N , N 1, ..., 28 s1 = d||d|| y regresar al paso 2.9 end
-
Captulo 2. Marco Terico 28
Mtodos para optimizacin con Restricciones
2.2.3. Mtodos No Tradicionales (Heursticas)
Se les llama heursticas a las tcnicas que no siguen un mtodo estudiado y pro-
bado con anterioridad. Con frecuencia las heursticas estn basadas en mtodos tra-
dicionales, aunque la implementacin de estos no es ortodoxa. Las heursticas no ga-
rantizan encontrar la solucin factible a un problema determinado; a pesar de esto,
s son capaces de hallar una solucin muy cercana a la factible en un tiempo mucho
menor al que un mtodo tradicional tardara. Por esta razn el campo de estudio de
las heursticas ha ganado popularidad y existen diversas investigaciones que han arro-
jado resultados interesantes. Una heurstica se basa en las caractersticas del problema
a resolver. Por otro lado, existen heursticas generales, de nominadas metaheursticas,
que por sus caractersticas se pueden aplicar a diversos tipos de problemas.
2.3. Metaheursticas
Si las heursticas son mtodos para resolver un problema determinado, las me-
taheursticas sirven para resolver problemas de manera ms general. Las metaheu-
rsticas estn diseadas para atacar problemas complejos de optimizacin donde las
heursticas y mtodos clsicos para optimizacin han fracasado en ser efectivas y efi-
cientes.
Osman ([OL96]) las define como un proceso de generacin iterativo que gua auna heurstica subordinada combinando inteligentemente diferentes conceptos para
explorar y explotar el espacio de bsqueda, utilizndose estrategias de aprendizaje
para estructurar la informacin en pos de encontrar soluciones cuasi-ptimas.
2.3.1. Criterios utilizados en metaheursticas
En el diseo de una metaheurstica deben tomarse en cuenta dos criterios con-
tradictorios entre s: la exploracin del espacio de bsqueda (diversificacin) y la ex-
plotacin de las mejores soluciones halladas (intensificacin). Las regiones promete-
doras en el espacio de bsqueda se determinan por el nmero de soluciones buenas
-
Captulo 2. Marco Terico 29
obtenidas. En intensificacin, las regiones prometedoras se exploran con mayor ex-
haustividad con la esperanza de encontrar mejores soluciones. En diversificacin, las
regiones no exploradas deben ser visitadas para asegurarse de que todas las regiones
del espacio de bsqueda han sido recorridas de igual manera y que la bsqueda no
est confinada a un nmero reducido de regiones. [Tal09]
2.3.2. Principales conceptos usados en metaheursticas
Existen dos aspectos de diseo relacionados a todas las metaheursticas: la repre-
sentacin de las soluciones manejadas por los algoritmos y la definicin de la funcin
objetivo que guiar la bsqueda.
Representacin de soluciones
Este es un aspecto fundamental en el desarrollo de metaheursticas. La codificacin
de las soluciones tiene un rol importante en la eficiencia y efectividad de cualquier me-
taheurstica. Esta debe ser adecuada y relevante al problema de optimizacin a atacar.
Adems, la eficiencia de una representacin tambin se relaciona con los operadores
de bsqueda aplicados en esta representacin (vecindad, recombinacin, etc). Una
representacin debe tener las siguientes caractersticas:
Integridad: todas las soluciones asociadas con el problema deben ser represen-
tadas.
Conectividad: Debe existir un camino de bsqueda entre cualquier par de solu-
ciones. Cualquier solucin, especialmente el ptimo global, puede ser alcanzada.
Eficiencia: la representacin debe ser fcil de manipular para los operadores de
bsqueda.
Funcin objetivo
La funcin objetivo asocia un valor real a cada solucin en el espacio de bsqueda
que describa la calidad o la aptitud de la solucin. Adems, gua la bsqueda hacia
soluciones viables.
-
Captulo 2. Marco Terico 30
2.3.3. Manejo de Restricciones en Metaheursticas
Tratar con restricciones es otro punto importante para el diseo eficiente de una
metaheurstica. 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, penalizacin, reparacin, decodificacin y
preservacin.
Estrategias de rechazo
Representan un punto de vista simple, donde solo se mantienen las soluciones
factibles durante la bsqueda. Este tipo de estrategias se concibe si la porcin de
soluciones no factibles en el espacio de bsqueda es muy pequea. Adems, no se
explotan las soluciones no factibles. Al poder existir soluciones ptimas en el lmite
entre soluciones factibles y no factibles, podra ser satisfactorio utilizar informacin
de las soluciones no factibles para poder llegar a estas soluciones, especialmente en
problemas con espacios de bsqueda no continuos.
Estrategias de penalizacin
En estas estrategias, las soluciones no factibles se consideran durante el proceso
de bsqueda. La funcin objetivo no restringida se extiende con una funcin de pena-
lizacin que discriminar a las soluciones no factibles. Este tipo de estrategias es muy
popular. Segn a la diferencia entre soluciones factibles y no factibles, pueden usarse
diferentes funciones de penalizacin:
Restricciones violadas: Una funcin que cuenta el nmero de restricciones vio-
ladas.
Cantidad de infactiblidad o costo de reparacin: se toma en cuenta la informa-
cin en qu tan cerca est una solucin de la regin no factible.
Estrategias de reparacin
Estas estrategias consisten en transformar una solucin no factible en una factible.
Se aplican estas estrategias cuando los operadores de bsqueda generan soluciones
-
Captulo 2. Marco Terico 31
no factibles. Estas estrategias son especficas al problema de optimizacin que se est
atacando.
Estrategias de decodificacin
Estas estrategias asocian una solucin factible en el espacio de bsqueda a cada
representacin. Coello lo describe, en trminos de computacin evolutiva, como un
cromosoma que da instrucciones de cmo crear soluciones factibles. [CC99] Consis-te en en usar codificaciones indirectas; de esta manera la topologa del espacio de
bsqueda se transforma usando una funcin de decodificacin.
Estrategias de preservacin
Estas estrategias incorporan conocimiento especfico al problema a la representa-
cin y operadores de bsqueda 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 especficos.
Condiciones de Deb
En [Deb00], Deb describe un conjunto de reglas para manejo de restricciones enalgoritmos genticos. Dichas reglas son las siguientes:
De entre dos soluciones factibles, se elige la que tenga el menor valor de funcin
objetivo.
Entre una solucin factible y una no factible, se elige la factible.
Entre dos funciones no factibles, se elige la que tenga menor suma de violacin
de restricciones.
Estas condiciones son las utilizadas por el algoritmo M-ABC y por la modificacin
propuesta en este trabajo de tesis. La suma de violacin de restricciones se obtiene al
sumar el error de las soluciones cuando se alejan por ms de 1.0, 0.01 y 0.0001 de las
restricciones. Esta informacin es til para el algoritmo puesto que
-
Captulo 2. Marco Terico 32
2.3.4. Mtaheursticas basadas en solucin nica
Estas metaheursticas (tambin conocidas como S-metaheursticas) pueden verse
como caminatas a travs de una vecindad o trayectorias de bsqueda sobre el espa-
cio de bsqueda del problema. Estas trayectorias se llevan a cabo mediante procedi-
mientos iterativos que se mueven de una solucin a otra en el espacio de bsqueda.
Bsqueda Local
El mtodo de bsqueda local es tal vez el mtodo ms antiguo y simple de me-
taheur
istica. Iniciando en una solucin inicial, este mtodo reemplaza la solucin actual por
alguna solucin vecina que mejore la funcin objetivo en cada iteracin. La bsqueda
se detiene cuando todos los vecinos candidatos son peores que la solucin actual, sig-
nificando que se alvanz un ptimo local.
Pueden aplicarse diversas estrategias en la seleccin del mejor vecino:
Descenso mximo: En esta estrategia, se selecciona el mejor vecino. Se evala el
vecindario de manera determinista. Por lo tanto, la exploracin del vecindario
es exhaustiva, y todos los movimientos posibles se prueban para poder seleccio-
nar el mejor vecino. Este tipo de exploracin puede consumir mucho tiempo en
vecindarios grandes.
Primer mejora: Consiste en elegir el primer vecino que mejore la solucin actual.
Esto involucra una evaluacin parcial del vecindario. En el peor de los casos, se
realiza una evaluacin completa del vecindario.
Seleccin aleatoria: Se selecciona un vecino al azar como mejora de la solucn
actual.
Recocido Simulado
El algoritmo de Recocido Simulado (SA, por sus siglas en ingls) fue propuesto por
Kirkpatrick et al en 1983 [KGV83] y es uno de los mtodos ms representativos de las
-
Captulo 2. Marco Terico 33
metaheursticas, ya que result ser muy eficiente en la resolucin de problemas de op-
timizacin combinatoria, por lo que tambin se ha utilizado en problemas continuos.
([Tal09])
El algoritmo est basado en los principios de mecnica estadstica donde el proceso
de recocido requiere un calentamiento y sucesivamente un enfriamiento lento de una
sustancia para eventualmente obtener una estructura cristalina fuerte.
Bsqueda Tab
Fue propuesto por Glover y Laguna en [GL99]. Se comporta como un algoritmode bsqueda local de descenso mximo, pero acepta soluciones que no mejoran la
solucin 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 bsqueda local, cuando se encuentra un mejor vecino, se
reemplaza la solucin actual. Cuando se llega a un ptimo local, la bsqueda contina
seleccionando un candidato peor que la solucin actual. La mejor solucin del vecin-
dario se selecciona como la mejor solucin actual, incluso si no la mejora.
Para evitar ciclos, el algoritmo descarta vecinos que ya han sido visitados previamen-
te. Memoriza la trayectoria de bsqueda reciente, aplicando la llamada lista tab,
donde guarda dichas trayectorias y soluciones ya visitadas.
2.3.5. Mtaheursticas basadas en poblacin
Las metaheursticas basadas en poblacin simulan sistemas donde varios indivi-
duos llamados agentes interactan entre ellos. Dentro de estos mtodos hay dos
corrientes que han ganado popularidad: los algoritmos basados en la naturaleza y
algoritmos basados en la fsica. En los algoritmos basados en la naturaleza, o bio-
inspirados, se utiliza el concepto de inteligencia colectiva (swarm intelligence en
ingls) como base de la interaccin entre estos agentes. Dicho concepto se explica
ms adelante.
-
Captulo 2. Marco Terico 34
Algoritmos Bio-Inspirados
Dentro de las metaheursticas, los algoritmos bio-inspirados han recibido especial
atencin en aos recientes, adems de que se han desarrollado diversas tcnicas di-
ferentes a travs del tiempo. Estos algoritmos estn basados en fenmenos presentes
en la naturaleza; especficamente, en el comportamiento de grupos de una especie
(inteligencia colectiva) y en el proceso de evolucin.
2.3.6. Algoritmos Evolutivos
Los algoritmos evolutivos estn basados en la teora moderna de la evolucin de
las especies, tambien llamada neo-darwinismo ya que combina la teora de selec-
cin natural de Darwin con la teora gentica de Mendel. Estos algoritmos utilizan los
conceptos de poblacin, reproduccin, mutacin y seleccn natural. [? ]
Evolucin Diferencial
El algoritmo de Evolucin Diferencial (DE, por sus siglas en ingls) es uno de
los ms populares hoy en da, ya que es fcil de implementar, adems de que ha
demostrado tener un desempeo satisfactorio al ser aplicado a diversos problemas.
Fue propuesto por Storn y Price en [SP95] y hoy en da cuenta con diversas variantesque han extendido su funcionalidad.
2.3.7. Algoritmos de Inteligencia Colectiva (Swarm Intelligence)
Se define inteligencia colectiva como la conducta que emerge de la interaccin de
diversas especies animales sociales trabajando bajo muy pocas reglas. Estas especies
forman grupos en los cules no existe un lder (contrario a otras especies donde el
macho o hembra alfa son los que dirigen la manada), adems de que los miembros
del grupo no estn conscientes de estar llevando a cabo un proceso ms complejo. La
interaccin 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 caractersticas como ventajas de los sistemas de inteligenciacolectiva:
-
Captulo 2. Marco Terico 35
Flexibilidad: La colonia se puede adaptar a un entorno cambiante.
Robustez: Aun cuando algn individuo falla, el grupo puede llevar a cabo su
tarea.
Auto-organizacin: Las actividades no son controladas central ni localmente. Ya
que el comportamiento del grupo emerge de las interacciones entre los indivi-
duos, el cmulo trabaja bien en situaciones complejas e impredecibles.
Formalmente, se define a una colonia como un grupo de agentes, generalmen-
te mviles, 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 interaccin 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 bsicas de la colonia deben ser capaces
de clculos simples relacionados a su entorno. En este mbito, un clculo se
refiere a una respuesta conductual a una variacin 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 regin angosta. La distribucin debe estar diseada 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) rpidamente, ya que
esto representa un gasto de energa.
El objetivo de los modelos computacionales de inteligencia colectiva es representar
las conductas bsicas de los individuos y la interaccin local con el medio ambiente e
-
Captulo 2. Marco Terico 36
individuos vecinos, de manera que se pueden obtener conductas ms complejas que
se puedan utilizar para resolver problemas de optimizacin.
El proceso principal en el cul estn basados estos algoritmos es en la bsqueda de
alimento por estas especies.
Optimizacin por Colonia de Hormigas
En el algoritmo de Optimizacin 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 aqul que tenga el rastro ms fuerte. El rastro de feromonas
permite a las hormigas encontrar el camino de vuelta a la fuente de comida. Tambin
puede ser usado por otras hormigas para encontrar la ubicacin de otras fuentes de
comida encontradas por otras hormigas del nido. [DC99]
Este algoritmo ha sido utilizado para problemas de optimizacin discreta y combi-
natoria, especialmente con el problema TSP.
Optimizacin por Cmulo de Partculas
En el algoritmo de Optimizacin por Colonia de Partculas (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 captulo anterior, a este tipo de algoritmos se les considera
de caja negra ya que trabajan usando informacin limitada acerca de los problemas
que reciben como entrada y al final lo que importa es el desempeo 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
-
Captulo 2. Marco Terico 37
muy similares, incluso indistinguibles. En 1997 Wolpert y Macready ([WM97]) estu-diaron la relacin entre los algoritmos y las funciones de diversos tipos con las que
trabajaban. Hicieron dos tipos de anlisis: el primero se enfocaba en el desempeo
de un algoritmo determinado frente a todos los tipos de problemas de optimizacin;
el segundo, tomaba un problema en particular y era evaluado por los diferentes al-
goritmos existentes. El resultado de su investigacin 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 desempeo degradado (pagar, en sentido
figurado) al enfrentarse a problemas de otros tipos.
2.4. Comentarios Finales
Lo tratado en este captulo es la base terica del proyecto raz de este trabajo de
tesis. En el siguiente captulo se habla acerca de los algoritmos basados en colonias de
abejas, de los cuales se desprende el algoritmo propuesto en esta tesis, MABC-CD.
-
Captulo 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 desempean diferentes funciones lo-
gran un proceso muy eficaz. sto, aunado a que es fcil 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
recoleccin de comida por parte de las abejas y cabe hacer mencin que existen otras
estrategias basadas en abejas, como optimizacin por apareamiento.
Las colonias de abejas por lo general consisten en una reina de vida larga, de cero a
muchas abejas zngano (dependiendo de la estacin), y entre 10,000 y 60,000 abejas
obreras ([HAM06]). La colonia puede fundarse de de dos maneras. En la fundacinindependiente, la colonia inicia con dos o ms hembras reproductivas que construyen
el nido, ponen los huevos y alimentan a las larvas. El primer grupo de camadas se cran
solas hasta que toman responsabilidad del trabajo de la colonia. Subsecuentemente,
se realiza la divisin de labores, la reina se especializa en poner huevos y las obreras
en el cuidado de las larvas. Otro mtodo de fundacin es el llamado enjambre, en el
cual una nueva colonia es fundada por una o ms reinas junto a un grupo de obreras
de la colonia original.
38
-
Captulo 3. Algoritmo ABC 39
3.1.1. Optimizacin 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 calendarizacin, minera de datos y optimizacin
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 zngano (machos) son los padres en la
colonia. Estas son haploides (que slo contienen un grupo cromosomtico) y actan
para amplificar el genoma de sus madres sin alterar su composicin gentica, excepto
a travs de mutacin.
El proceso de apareamiento ocurre durante el vuelo nupcial lejos del nido. Un
vuelo nupcial inicia con una danza donde los znganos siguen a la reina y copulan con
ella en el aire. En un vuelo nupcial tpico, cada reina copula con entre siete y veinte
znganos. En cada fecundacin, la abeja guarda el esperma de todos los znganos
con los que se cruz. El zngano muere al final de la fecundacin, 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 solucin) seleccio-
na a los znganos de manera probabilstica para formar la espermateca (lista de
znganos). Entonces se selecciona un zngano aleatoriamente para la creacin
de camadas.
Creacin de nuevas camadas (soluciones de prueba) mediante la cruza del ge-
notipo de los znganos con el de la reina.
Uso de las obreras (heursticas) para realizar una bsqueda local en las camadas.
Adaptacin de la aptitud de las obreras basado en la cantidad de mejora obteni-
da en las camadas.
Reemplazo de las reinas ms dbiles por las camadas ms aptas.
-
Captulo 3. Algoritmo ABC 40
3.1.2. Recoleccin de alimento
El proceso de recoleccin 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 cercana a la colmena, la concentracin de comida y
qu tan fcil es recolectarla. Por simplicidad, se representa la viabilidad de una
fuente mediante un valor numrico de aptitud.
Abejas empleadas: Estas abejas estn asociadas a una fuente de alimento en
particular, la cul estn explotando en ese momento. Estas abejas comparten
informacin acerca de su fuente de alimento, como ubicacin y aptitud, a otras
abejas empleadas.
Abejas desempleadas: Estas abejas estn 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 cercanas de la colmena; y abejas
observadoras, que esperan en la colmena y escogen una fuente de alimento ba-
sndose en la informacin compartida por alguna abeja empleada.
La informacin sobre las fuentes de alimento se comparte mediante una danza de
meneo cuya duracin indica la viabilidad de la fuente, el ngulo respecto al sol indica
la ubicacin y el nmero de movimientos en zig-zag indica la distancia. Ya que las
danzas indicando las mejores fuentes tienen una mayor duracin, es ms 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 ubicacin de su fuente de comida con la
posicin actual del sol antes de comunicar su informacin 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.
-
Captulo 3. Algoritmo ABC 41
3.2. Algoritmo ABC
Este algoritmo fue presentado por Karaboga en [Kar05]; presenta un modelo di-seado para resolver problemas de optimizacin numrica 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
funcin objetivo del problema.
El algoritmo ABC est compuesto de los tres tipos de abejas descritos anterior-
mente. El nmero de abejas empleadas es igual al nmero 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 solucin (vuela a otra fuente cercana) a partir de ella y
retiene la mejor solucin mediante una seleccin voraz (greedy). El nmero 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 solucin a partir de su fuente de alimento. Cuando una fuente no mejora des-
pus de un nmero determinado de iteraciones, esta es abandonada y reemplazada
por alguna encontrada por una abeja exploradora, que implica calcular una nueva so-
lucin de manera aleatoria. En la figura 3.1 se muestra una representacin grfica de
este proceso.
-
Captulo 3. Algoritmo ABC 42
Figura 3.1: Representacin grfica del algoritmo ABC
Una de las ventajas de este algoritmo es el nmero reducido de parmetros que
necesita: el parmetro SN es el nmero de soluciones (fuentes de alimento), as como
de abejas empleadas y observadoras; MCN es el nmero total de ciclos (iteraciones)
del algoritmo; l imit es el nmero de ciclos que una solucin puede permanecer sin ser
mejorada antes de ser reemplazada. En 2 se muestra el pseudocdigo del algoritmo
ABC.
3.2.1. Elementos de ABC
Representacin 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 nmero de variables
del problema). Una solucin i en el ciclo g se representa de la siguiente manera:
-
Captulo 3. Algoritmo ABC 43
x i,g , i = 1, ..., SN , g = 1, ..., MCN (3.1)
Cada una de las variables en la solucin est asociada a un rango (Li x i Ui),el cual debe ser considerado cuando se generan las soluciones iniciales de manera
aleatoria.
Mecanismo de seleccin
El mecanismo de seleccin de la mejor solucin es a travs de la comunicacin
entre abejas empleadas y observadoras, para lograr que aquellas fuentes de mejor ca-
lidad sean visitadas ms frecuentemente.
Operadores de variacin (abejas)
En ABC las abejas son vistas como operadores de variacin ya que cuando una
abeja llega a una fuente de alimento, genera una nueva solucin candidata vi, j usando
la frmula... Donde x i,g representa la solucin en la que la abeja se encuentra en ese
momento, xk,g es una solucin existente escogida de manera aleatoria, g es el nmero
de la iteracin actual y es un nmero real aleatorio en el rango [-1, 1]:
v gi, j = xgi, j + j (x gi, j x gk, 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 nmero determinado de ciclos generando nuevas fuentes de alimento de manera
totalmente aleatoria con distribucin uniforme.
-
Captulo 3. Algoritmo ABC 44
Algoritmo 2: Algoritmo ABC
1 Iniciar la poblacin de soluciones x0i , i = 1, ..., SN2 Evaluar cada x0i , i = 1, ..., SN // Paso 13 g = 14 repeat
5 for i = 1,SN do6 Generar v gi con x
g1i usando 3.2
7 Evaluar v gi8 if v gi es mejor que x
g1i then
9 x gi = vgi
10 else
11 x gi = xg1i
12 end
13 end
14 for i = 1,SN do15 Escoger, segn la aptitud, una fuente de alimento x gl16 Generar v gl con x
gl usando 3.2
17 Evaluar v gl18 if v gl es mejor que x
gl then
19 x gl = vgl
20 end
21 end
22 Generar nuevas fuentes de alimento de manera aleatoria para aquellas que hayan pasado el
lmite.
23 Guardar la mejor solucin hasta el momento.
24 g = g + 1
25 until g = MCN ;
3.2.2. Algoritmo ABC Modificado (M-ABC)
La versin modificada de ABC propuesta por Mezura y Cetina en [? ] presenta unaadaptacin para este algoritmo de manera que sea capaz de trabajar con problemas
de optimizacin numrica con restricciones (CNOP).
El enfoque para trabajar en un espacio de bsqueda con restricciones se centr en
la seleccin voraz entre fuentes de alimento, implementando un nuevo parmetro MR
-
Captulo 3. Algoritmo ABC 45
en el rango [0,1]:
v gi, j =
x gi, j + j (x gi, j x gk, j) si rand(0,1)< MRx gi, j de otro modo (3.3)Asimismo, se agregaron cuatro mecanismos ms a ABC, los cules se explican a
continuacin:
Seleccin por torneo: Este mecanismo incluye el uso de las reglas de factibili-
dad de Deb descritas en el captulo 2.
Tolerancia dinmica para restricciones de igualdad: Al ser difciles 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 pequeo).
Una manera de manejar el valor de " es mantenerlo fijo durante la duracin
de la bsqueda. Por otro lado, usar un mecanismo para variar el valor de este
trmino puede llevar a mejores resultados. Esta ltima es la opcin utilizada
para este algoritmo, por medio de un parmetro de control dinmico, 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 regin factible ms amplia que la original, lo que
hace que las restricciones de igualdad puedan satisfacerse ms fcilmente. A
medida que avanzan los ciclos, la tolerancia se reduce para disminuir la violacin
de restricciones.
-
Captulo 3. Algoritmo ABC 46
Operador de vuelo inteligente: Basados en el hecho de que en un CNOP la
regin factible es muy pequea con respecto al espacio de bsqueda, es compli-
cado generar de manera aleatoria tanto una solucin factible como una solucin
no factible cerca de la regin factible. Por lo tanto, se adapt un mecanismo ori-
ginalmente propuesto para PSO de esta manera: se genera una nueva solucin
v gi por la abeja exploradora con ayuda de la fuente a ser reemplazada xgi , que
se utiliza como base para rear una direccin de bsqueda definida por la mejor
solucin en la poblacin actual x gB y una solucin escogida aleatoriamente xgk :
v gi, j = xgi, j + (x gk, j x gi, j) + (1)(x gB, j x gi, j) (3.6)
Manejo de restricciones en los lmites: El manejo de operadores de variacin
puede generar valores fuera del espacio de bsqueda definido por los lmites
inferior y superior de las variables del problema. Por lo tanto, se aadi un
mecanismo para reparar estos valores invlidos a todas las abejas, descrito de la
siguiente manera:
vi, j =
2 L j v gi, j si v gi, j < L j2 U j v gi, j si v gi, j > U jv gi, j de otro modo
(3.7)
El pseudocdigo de M-ABC se muestra en 3.
-
Captulo 3. Algoritmo ABC 47
Algoritmo 3: Algoritmo M-ABC
1 Iniciar la poblacin de soluciones x0i , i = 1, ..., SN ;2 Evaluar la poblacin; // Paso 13 g = 1 if Existen restricciones de igualdad then // Paso 24 Inicializar " = 1.0;5 end
6 repeat
7 if Existen restricciones de igualdad then
8 Evaluar la poblacin con "g
9 end
10 for i = 1,SN do11 Generar v gi con x
g1i usando 3.3
12 Evaluar v gi13 if v gi es mejor que x
g1i (basado en las reglas de Deb) then
14 x gi = vgi
15 else
16 x gi = xg1i
17 end
18 end
19 for i = 1,SN do20 Escoger una fuente de alimento x gl segn las reglas de Deb.
21 Generar v gl con xgl usando 3.3
22 Evaluar v gl23 if v gl es mejor que x
g1l (basado en las reglas de Deb) then
24 x gl = vgl
25 end
26 Aplicar vuelo inteligente con las abejas exploradoras (3.6) para aquellas soluciones que
hayan llegado al lmite.
27 Guardar la mejor solucin hasta el momento.
28 g = ciclos+ 1;29 if Existen restricciones de igualdar then
30 Actualizar "(g) usando 3.531 end
32 until g = MCN ;
-
Captulo 3. Algoritmo ABC 48
3.3. Comentarios Finales
El algoritmo M-ABC demostr ser ms consistente en obtener soluciones factibles
ms rpidamente 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 adicin de bsqueda local para intentar mejorar los
resultados obtenidos.
-
Captulo 4
Descripcin del Proyecto
4.1. Introduccin
La modificacin presentada a M-ABC en este proyecto sigue la sugerencia de (Ce-
tina) de agregar un mtodo de bsqueda local en el algoritmo para mejorar los resul-
tados obtenidos. El mtodo de bsqueda local elegido es el de Direcciones Conjugadas
de Powell, el cual a su vez utiliza los mtodos Bounding Phase y Bsqueda por Seccin
urea descritos en el captulo 2 para generar los vectores de direccin que utiliza en
su funcionamiento.
4.2. Elementos del algoritmo
4.2.1. Parmetros
Los parmetros en MABC-CD son los mismos que en ABC y M-ABC (SN , MCN ,
MR, l imit,dec). En el captulo 5 se detalla el uso de estos parmetros en el proceso
de calibracin de los mismos mediante el uso de los paquetes SPOT e irace para R.
49
-
Captulo 4. Descripcin del Proyecto 50
4.2.2. Operador de bsqueda local
Mtdodo de Powell
El mtodo de direcciones conjugadas de Powell, descrito en el captulo 2, es el
mecanismo elegido como operador de bsqueda local en el algoritmo propuesto. Al
aplicar este mtodo tomando como punto inicial una solucin ptima encontrada con
el funcionamiento base del algoritmo, es posible encontrar una solucin que mejore
la inicial. El mtodo de Powell se apoya de mtodos de bsqueda lineal para lograr su
cometido, uno de delimitacin y otro de eliminacin de regiones. De esta manera, se
eligi el mtodo Bounding Phase (Algoritmo 4)y el mtodo de bsqueda por seccin
urea (Algoritmo 5) respectivamente.
Algoritmo 4: Algoritmo Bounding Phase
1 Escoger una estimacin inicial x (0) y un incremento ; // Paso 12 Iniciar k = 0;3 if f (x0 |x |) f (x0 + |x |) then // Paso 24 Volver a positivo5 else if f (x0 |x |) f (x0 + |x |) then6 Volver a negativo7 else
8 Volver al paso 1;
9 end
10 Asignar x (k+1) = x (k) + 2k ; // Paso 311 if f (x (k+1))< f (x (k)) then // Paso 412 k = k+ 1;13 Ir al paso 3;
14 else
15 El mnimo est en el intervalo (x (k1), x (k+1));16 end
Algoritmo 5: Algoritmo de Bsqueda por Seccin urea
1 Escoger un lmite inferior a y un lmite superior b
2 Escoger un valor " como tolerancia
-
Captulo 4. Descripcin del Proyecto 51
Bsqueda cuadrada
En el algoritmo se aadi una bsqueda ms al final de cada iteracin, llamada
Bsqueda cuadrada (debido a que se limita la bsqueda a un espacio dentro de cuatro
puntos), la cual pretende encontrar puntos ptimos que en direcciones que pudieron
no haber sido recorridas por el Mtodo de Powell. Para esto, se obtienen los vectores
de direccin 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 despus
de aplicar el mtodo de Direcciones Conjugadas.
Algoritmo 6: Bsqueda cuadrada
1 Obtener las cuatro mejores soluciones hasta el momento.
2 Obtener los vectores de direccin entre la mejor solucin y las tres siguientes.
3 Evaluar cada una de las direcciones.
4 if La nueva direccin supera a la mejor solucin hasta el momento then
5 Reemplazar la solucin
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.
-
Captulo 4. Descripcin del Proyecto 52
Algoritmo 7: Algoritmo MABC-CD
1 Inicializar la poblacin de soluciones x i,0, i = 1, ..., SN ;2 Evaluar cada solucin incial. g = 1;3 if Existen restricciones de igualdad then
4 Iniciar "(g)5 end
6 while g MCN do7 if existen restricciones de desigualdad then
8 Evaluar cada x0i , i = 1, ..., SN con "(g)9 end
10 for i = 1 SN do11 Producir nuevas soluciones vi,g para las abejas empleadas usando Ec. 1 y evaluarlas;
12 if v gi es mejor que xg1i (seleccin por torneo) then
13 x gi = vgi
14 else
15 x gi = xg1i
16 end
17 end
18 for i = 1 SN do19 Seleccionar las soluciones segn su aptitud (seleccin por torneo).
20 Producir nuevas soluciones vi,g para las abejas observadoras usando Ec. 1 y evaluarlas.
21 if v gi es mejor que xg1i (seleccin por torneo) then
22 x gi = vgi
23 end
24 end
25 Aplicar el operador de vuelo inteligente con las abejas exploradoras a las soluciones que
han pasado del lmite de generaciones;
26 Aplicar el mtodo de Powell;
27 Realizar bsqueda delimitada por las mejores cuatro soluciones;
28 Almacenar la mejor solucin hasta el momento.
29 g = g + 1;30 if existen restricciones de igualdad then
31 Actualizar "(g)32 end
33 end
-
Captulo 4. Descripcin del Proyecto 53
4.4. Comentarios Finales
-
Captulo 5
Implementacin y resultados
5.1. Introduccin
La implementacin y pruebas del algoritmo se llevaron a cabo utilizando el con-
junto de problemas del CEC 2010. Se utilizaron herramientas para calibracin de pa-
rmetros (SPOT, irace), las cuales se describen ms 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: Parmetros del algoritmo MABC-CDParmetro Descripcin
dec Valor de decremento para "l imit Lmite de ciclos que una fuente (solucin) puede pasar sin ser mejoradaMR Parmetro para el mecanismo de recombinacin
MCN Nmero mximo de ciclos a evaluar
54
-
Captulo 5. Implementacin y resultados 55
5.3. Seleccin 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 evalan para 10 y
30 dimensiones (10D y 30D, respectivamente), utilizando un conjunto establecido de
datos. Los problemas se describen a continuacin:
C01
mn f (x) =
D
i=1cos4(zi) 2
Di=1
cos2(zi)D
i=1iz2i
z= x o
g1(x) = 0.75D
i=1
zi 0
g2(x) =D
i=1
zi 7.5D 0x [0, 10]D
-
Captulo 5. Implementacin y resultados 56
C02
mn f (x) =max(z) z= x o, y = z 0.5g1(x) = 10 1D
Di=1
[z2i 10cos(2pizi) + 10] 0
g2(x) =1
D
Di=1
[z2i 10cos(2pizi)] + 10] 15 0
h(x) =1
D
Di=1
[y2i 10cos(2piyi) + 10] 20= 0x [5.12,5.12]D
C03
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2) z= x o
h(x) =D1i=1
(zi zi+1)2 = 0x [1000,1000]D
-
Captulo 5. Implementacin y resultados 57
C04
mn f (x) =max(z) z= x oh1(x) =
1
D
Di=1
(zi cos(p|zi|) = 0
h2(x) =(D/2)1
i=1
(zi zi+1)2 = 0
h3(x) =D1
i=(D/2)+1
(z2i zi+1)2 = 0
h4(x) =D
i=1
z = 0
x [50, 50]D
C05
mn f (x) =max(z) z= x oh1(x) =
1
D
Di=1
(zi sin(p|zi|) = 0
h2(x) =1
D
Di=1
(zi cos(0.5p|zi|) = 0
x [600,600]D
-
Captulo 5. Implementacin y resultados 58
C06
mn f (x) =max(z)
z= x o, y = (x + 483.6106156535 o)M 483.6106156535h1(x) =
1
D
Di=1
(y sin(p|yi|)) = 0h2(x) =
1
D
Di=1
(y cos(p|yi|)) = 0x [600, 600]D
C07
mn f (x) =
i = 1D1(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = x o
g(x) = 0.5 exp(0.1s
1
D
Di=1
y2i ) 3exp( 1DD
i=1
cos(0.1y)) + exp(1) 0x [140,140]D
C08
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = (x o)M
g(x) = 0.5 exp(0.1s
1
D
Di=1
y2i ) 3exp( 1DD
i=1
cos(0.1y)) + exp(1) 0x [140, 140]D
-
Captulo 5. Implementacin y resultados 59
C09
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = x oh(x) =
Di=1
(y sin(p|yi|)) = 0
x [500,500]D
C10
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = (x o)Mh(x) =
Di=1
(y sin(p|yi|)) = 0
x [500,500]D
-
Captulo 5. Implementacin y resultados 60
C11
mn f (x) =1
D
Di=1
(zi cos(2p|zi))
z= (x o)M , y = x + 1 oh(x) =
D1i
(100(y2i yi+i)2+ (yi 1)2)x [100, 100]D
C12
mn f (x) =D
i=1
(zi sin(p|zi|)) z= x o
h(x) =D1i=1
(z2i zi+i)2
g(x) =D
i=1
(z 100cos(0.1z) + 10) 0x [1000,1000]D
-
Captulo 5. Implementacin y resultados 61
C13
mn f (x) =1
D
Di=1
(z sin(p|zi|)) z= x og1(x) =50+ 1100D
Di
z2i 0
g2(x) =50
D
Di=1
sin(1
50piz) 0
g3(x) = 75 50(D
i=1
z2i4000
D
i=1
cos(zip
i) + 1) 0
x [500,500]D
C14
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = x og1(x) =
Di=1
(yi cos(p|yi|)) D 0
g2(x) =D
i=1
(yi cos(p|yi|)) D 0
g3(x) =D
i=1
(yi sin(p|yi|)) 10D 0
x [1000,1000]D
-
Captulo 5. Implementacin y resultados 62
C15
mn f (x) =D1i=1
(100(z2i zi+1)2+ (zi 1)2)z= x + 1 o, y = (x o)Mg1(x) =
Di=1
(yi cos(p|yi|)) D 0
g2(x) =D
i=1
(yi cos(p|yi|)) D 0
g3(x) =D
i=1
(yi sin(p|yi|)) 10D 0
x [1000,1000]D
C16
mn f (x) =D
i=1
z2i4000
D
i=1
cos(zip
i) + 1
z= x og1(x) =
Di=1
[z2i 100 cos(pizi) + 10] 0
g2(x) =D
i=1
zi 0
h1(x) =D
i=1
(zi sin(p|zi|)) = 0
h2(x) =D
i=1
(zi sin(p|zi|)) = 0
x [10,10]D
-
Captulo 5. Implementacin y resultados 63
C17
mn f (x) =D1i=1
(zi zi+1)2 z= x o
g1(x) =D
i=1
zi 0
g2(x) =D
i=1
zi 7.5D 0
h(x) =D
i=1
(zi sin(4p|zi|)) = 0
x [10, 10]D
C18
mn f (x) =D1i=1
(zi zi+1)2 z= x o
g(x) =1
D
Di=1
(zi sin(p|zi|)) 0
h(x) =1
D
Di=1
(zi sin(p|zi|)) 0
x [50, 50]D
La siguiente tabla muestra las caractersticas de los problemas:
-
Captulo 5. Implementacin y resultados 64
Rango de Bs-
quedaTipo de objetivo
Nmero de restricciones Regin factible
E I 10D 30D
C01
[0,10]DNo Separable 0 2
No separa-
bles
0.997689 1.000000
C02
[5.12,5.12]DSeparable 1
Separables
2
No separa-
bles
0.000000 0.000000
C03
[1000,1000]DNo Separable 1
Separables
0 0.000000 0.000000
C04
[50,50]DSeparable 2 No Sepa-
rables,
2 Separa-
bles
0 0.000000 0.000000
C05
[600,600]DSeparable 2
Separables
0 0.000000 0.000000
C06
[600,600]DSeparable 2
Rotadas
0 0.000000 0.000000
-
Captulo 5. Implementacin y resultados 65
C07
[140,140]DNo Separable 0 1
Separable
0.505123 0.503725
C08
[140,140]DNo Separable 0 1
Rotada
0.379512 0.375278
C09
[500,500]DNo Separable 1
Separables
0 0.000000 0.000000
C10
[500,500]DNo Separable 1
Rotada
0 0.000000 0.000000
C11
[100,100]DRotada 1
No Separa-
ble
0 0.000000 0.000000
C12
[1000,1000]DSeparable 1
No Separa-
ble
1
Separable
0.000000 0.000000
C13
[500,500]DSeparable 0 2 Separa-
bles,
1 No Sepa-
rable
0.000000 0.000000
C14
[1000,1000]DNo Separable 0 3
Separables
0.003112 0.006123
C15
[1000,1000]DNo Separable 0 3
Rotadas
0.003210 0.006023
C16
[10,10]DNo Separable 2
Separables
1 Separa-
ble,
2 No Sepa-
rable
0.000000 0.000000
C17
[10,10]DNo Separable 1
Separable
2
No separa-
bles
0.000000 0.000000
C18
[50,50]DNo Separable 1
Separable
1 Separa-
ble
0.000010 0.000000
-
Captulo 5. Implementacin y resultados 66
5.4. Calibracin de parmetros
Para fines de uniformidad y apego a los trminos del concurso CEC 2010 para la
evaluacin de algoritmos, se decidi calibrar los parmetros utilizados por el algorit-
mo y as tener un conjunto nico de valores de estos que seran utilizados para todos
los problemas a evaluar.
La biblioteca SPOT (mostrado en la figura x) para el paquete estadstico R1 realiza
una serie de evaluaciones en un algoritmo dado, aunque su limitante reside en que
slo obtiene los valores ptimos de los parmetros para un problema en particular. El
paquete SPOT fue utilizado en un principio para calibrar los parmetros 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 parmetros para
diferentes instancias de un problema.
Si bien el algoritmo MABC-CD se prob con un conjunto de 18 problemas, para
poder lograr la calibracin con irace se utiliz un parmetro ms, que indica el pro-
blema a utilizar en la ejecucin del algoritmo. Adems, se normaliz la salida de datos
(que es la informacin que irace usa para realizar la calibracin) utilizando el valor
de la diferencia entre el resultado obtenido por "DEag y MABC-CD.
La configuracin encontrada por irace y que fue utilizada para la ejecucin del
cdigo es la siguiente:
Parmetro Valor
SN 19
l imit 307
MR 0.415642
dec 1.375443
1disponible en http://cran.r-project.org/web/packages/SPOT/index.html2disponible en http://cran.r-project.org/web/packages/irace/index.html
-
Captulo 5. Implementacin y resultados 67
5.5. Resultados
A continuacin se presentan las tablas de resultados obtenidos por el algoritmo
MABC-CD, comparndolos con M-ABC y "DEag. Las cifras en negrita son los valores
ptimos.
5.6. Anlisis
5.6.1. Descripcin de los resultados
En las tablas de la seccin 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 solucin 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
-
Captulo 6
Conclusiones
68
-
Bibliografa
[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 withevolutionary algorithms. Technical report, Laboratorio Nacional de Infor-
mtica Avanzada, 1999.
[CDMM12] O. Cetina-Domnguez 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