busqueda local en el algoritmo abc para optimizacion con restricciones

Upload: diego-isla

Post on 15-Oct-2015

187 views

Category:

Documents


0 download

DESCRIPTION

Avance de mi tesis

TRANSCRIPT

  • 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