Algoritmos heurísticos y aplicaciones a métodos formales

122 

Loading....

Loading....

Loading....

Loading....

Loading....

Texto completo

(1)

FACULTAD DE INFORMÁTICA

Departamento de Sistemas Informáticos y Computación

ALGORITMOS HEURÍSTICOS Y APLICACIONES

A MÉTODOS FORMALES.

MEMORIA PARA OPTAR AL GRADO DE DOCTOR

PRESENTADA POR

Pablo M. Rabanal Basalo

Bajo la dirección de los doctores

Ismael Rodríguez Laguna

Fernando Rubio Diez

Madrid, 2010

ISBN: 978-84-693-9498-4

©

Pablo M. Rabanal Basalo,

2010

(2)

TESIS DOCTORAL

FEBRERO 2010

Autor: Pablo M. Rabanal Basalo

Departamentode SistemasInformátios y Computaión UniversidadComplutense de Madrid

(3)
(4)

iones tratando de onseguir una buena soluión en un tiempo razonable para minimizar o maximizar unvalorytratandode evitarquedarse estanadoen mínimosomáximosloales. Para ello parten de una soluión y lamodian apliando iertos operadores para alular soluionesveinasquemejoren laalidad delasoluióniniial.Normalmente, estasténias de búsqueda se aplian a problemas NP-duros en los que el espaio de búsqueda es muy grande y es neesario el uso de funiones heurístias para eliminar rutas de búsqueda no prometedoras.Elproblemadeestasheurístiasesquetambiénsepueden desehar rutasque lleven a buenas soluiones. Entre estos métodos abe destaar la esalada, el enfriamien-to simulado, los algoritmos genétios, los algoritmos de optimizaión basados en nubes de partíulas olos algoritmos deolonias de hormigas.

Un tema al que se han apliado métodos evolutivos de manera exitosa en los últimos añossonlosmétodosformales.Los métodosformales sonténias quetípiamentehansido apliadastantoa laespeiaión formalomoalaveriaión formaldesistemassoftware, on la idea de desarrollar espeiaiones laras, onisas y ausentes de ambigüedades. El punto de enuentro entre dosáreas tan diferentes es debido a que los métodosformales se enuentranomúnmente onunproblema enlaprátia:deben analizarsistemasenlosque elnúmerodeestadosde laespeiaiónreeexponenialmente.Esaquídondelasténias heurístias proporionan estrategias eientes que se pueden apliar para intentar busar errorespotenialesen elsistema.

EnestatesisseintrodueunanuevaténiaevolutivallamadaRiverFormationDynamis inspirada en la naturaleza y basada en el proeso geológio de la formaión de los ríos. Primerosediseñaunalgoritmobásiobasadoenestasideaspara posteriormenteapliarloa resolver problemas NP-ompletos de diferente índole. Uno de los problemas alos que seha apliadoestemétodoparaprobarsufunionamientoeselproblemadelviajantedeomerio. Además se han denido nuevos problemas NP-ompletos omo son los asos del problema del árbol reubridor mínimo y elárbol de distanias mínimasen grafos de ostes variables. Pararesolverestosproblemasesneesarioadaptar elalgoritmo básioaada aso.También se ha apliado River Formation Dynamis a esenarios típios de métodos formales donde seha utilizado esta téniapara alanzariertos estados/transiiones de una espeiaión denidapor unamáquina deestados nitos.

(5)
(6)

Enestaseiónaproveharéparadarleslasgraiasatodosaquellosquemeayudaron de-sinteresadamente.Comenzaréporagradeereltiempo,esfuerzoydediaiónamisdiretores detesis:FernandoeIsmael,yaqueeldesarrollodeestatesisnunahubiesesidoposiblesinsu ayuda ydireión. Tambiénagradeer elapoyo alos ompañerosdelgrupo deinvestigaión alquepertenezo: Grupo de TestingyEvaluaión delRendimiento.

Enestosmomentostambiénquieroaordarmedeminovia,Viky,simplementeporestar ahí ysoportar mis nes de semana de deadline; de mi madre, que desde el primer díaque empeéaesribirlatesismepreguntaba:¾hasaabadoyalatesis?,¾uándoaabaslatesis?, estástardandomuho,¾no?; y,porsupuesto, de mipadre.

Aabarlaseiónon tres itasélebres delos hermanosMarx:

Esmejorpermaneeralladoypareer tontoque hablarydespejarlasdudasdenitivamente.

¾A quién vausted a reer?,¾a mí, o a sus propiosojos?

Claro que lo entiendo.Inlusoun niñodeino años podría entenderlo. ½Qué metraiganun niñode ino años!

(7)
(8)

unonjunto de publiaionesoriginales enumeradas a ontinuaión.

1. P.Rabanal,I.Rodríguez,andF.Rubio. Usingriver formationdynamistodesign heu-risti algorithms. In UC'07: 6th international onferene on Unonventional Compu-tation,LNCS 4618,pages163177. Springer, 2007.

http://www.springerlink.om/ontent/w24 53h31 g9527 157/

2. P. Rabanal, I. Rodríguez, and F. Rubio. Finding minimum spanning/distanes trees by using River Formation Dynamis. In ANTS'08: 6th international onferene on AntColonyOptimization andSwarm Intelligene, LNCS5217,pages6071.Springer, 2008.

http://www.springerlink.om/ontent/hv7603786 24684 u3/

3. P.Rabanal,I.Rodríguez,andF.Rubio. SolvingdynamiTSPbyusingriverformation dynamis. In ICNC'08: 4th International Conferene on Natural Computation, pages 246250. IEEEComputer Soiety, 2008.

http://www.omputer.org/portal/web /sdl/do i/10. 1109/ ICNC.2008.7 60

4. P. Rabanal, I. Rodríguez, and F. Rubio. Applying river formation dynamis to solve NP-ompleteproblems. InR.Chiong, editor, Nature-Inspired Algorithms for Optimi-sation,volume 193 of Studiesin Computational Intelligene, pages333368. Springer, 2009.

http://www.springerlink.om/ontent/q2g3v4086 66q1773 /

5. P. Rabanal and I. Rodríguez. Hybridizing river formation dynamis and ant olony optimization. In ECAL'09:10th European Conferene on Artiial Life. Springer, in press.

6. P.RabanalandI.Rodríguez.TestingrestorablesystemsbyusingRFD.InIWANN'09: 10thInternationalWork-Conferene onArtiial Neural Networks,LNCS 5517,pages 351358. Springer,2009.

http://www.springerlink.om/ontent/q2j2j673182m jlw3/

(9)

resto-Computing, LNCS5684, pages292306. Springer, 2009. http://www.springerlink.om/onte nt/ qn02485 47710 52w4/

8. P.Rabanal, I. Rodríguez,and F.Rubio. ApplyingRFD to onstrutoptimal quality-investment trees. Tehnial report,2009.

http://kimba.mat.um.es/prabanal/ researh/jus09.pdf,atualmenteenproesode re-visiónen larevistaJournal of UniversalComputerSiene.

9. P.Rabanal, I.Rodríguez,andF. Rubio. Testingrestorable systems:Formaldenition andheuristi solution basedon riverformation dynamis. Tehnial report, 2010. http://kimba.mat.um.es/prabanal/ researh/stvr10.pdf,atualmenteenproesode re-visiónen larevistaSoftware Testing, Veriationand Reliability.

(10)

1. Introduión 1

2. Algoritmos de Optimizaión 5

2.1. Esalada . . . 6

2.2. Enfriamiento Simulado . . . 10

2.3. AlgoritmosGenétios . . . 13

2.4. OptimizaiónBasada enNubesde Partíulas . . . 19

2.5. Algoritmosde Colonias de Hormigas . . . 25

2.6. AlgoritmosBasadosen laFormaión de losRíos. . . 35

2.6.1. AlgoritmoBásio . . . 38

2.6.2. MejorasBásias. . . 40

3. Métodos Evolutivos y Métodos Formales 43 3.1. TestingFormal . . . 45

3.2. ModelCheking . . . 47

3.3. Apliaionesde Mét.Evolutivosa Mét.Formales . . . 49

4. Resumen de los Artíulos de la Tesis 67 4.1. UsingRFD to DesignHeuristiAlgorithms . . . 67

4.2. MinimumSpanning/Distanes Trees byusingRFD . . . 69

4.3. SolvingDynami TSPbyusingRFD . . . 70

4.4. ApplyingRFDto Solve NP-Complete Problems . . . 71

4.5. HybridizingRiverFormation Dynamisand Ant ColonyOptimization . . . . 72

4.6. TestingRestorable Systemsby usingRFD . . . 73

4.7. AFormal Approah to Heurist.TestRestorable Systems . . . 74

4.8. ApplyingRFDto Construt Optimal QoS-IETrees . . . 75

(11)

5. Conlusiones y Trabajo Futuro 79

Bibliografía 83

A.Desripión de los Algoritmos Empleados 93

A.1. UsingRFD to DesignHeuristiAlgorithms . . . 93

A.1.1. AlgoritmoRFD-TSP . . . 93

A.1.2. AlgoritmoACO-TSP . . . 97

A.2. MinimumSpanning/Distanes Trees byusingRFD . . . 98

A.2.1. AlgoritmoRFD-MDV-MSV . . . 98

A.2.2. AlgoritmoACO-MDV-MSV . . . 101

A.3. SolvingDynami TSPbyusing RFD . . . 103

A.4. ApplyingRiverFormation Dynamisto SolveNP-Complete Problems . . . . 103

A.5. HybridizingRiverFormation Dynamisand AntColonyOptimization . . . . 103

A.6. TestingRestorable Systemsbyusing RFD . . . 105

A.6.1. AlgoritmoRFD-MLS. . . 105

A.6.2. AlgoritmoB&B-MLS. . . 107

A.7. AFormal Approah to Heurist.Test RestorableSystems . . . 108

A.8. ApplyingRFD toConstrut Optimal Quality-Investment Trees . . . 108

A.8.1. AlgoritmoRFD-QIT . . . 108

A.8.2. AlgoritmoACO-QIT . . . 109

A.9. TestingRestorable Sys:Denition &RFDSolution . . . 109

A.9.1. AlgoritmoRFD-MLS+ . . . 109

A.9.2. AlgoritmoB&B-MLS+. . . 109

(12)

Introduión

Elprinipal objetivodeestatesiseslaapliaióndemétodosheurístiosinspirados enla naturalezapararesolverproblemasdeoptimizaiónNP-ompletosengeneraly,enpartiular, algunosrelaionadosonlosmétodosformalesdetesting.Máspreisamente,utilizaremos mé-todosdeoptimizaiónbasadosenoloniasdehormigasypresentaremosunanuevaheurístia basadaenlaformaión dinámiade losríos. Aunquelosalgoritmos lásioshanonseguido resolvermultitud deproblemas eientemente, hayunaseriede problemasomplejos,omo eselaso delos problemas NP-ompletos,quelos métodos onvenionales no onsiguen so-luionaren laprátia.Dadoquese reequelosproblemas NP-ompletos neesitantiempo exponenialenelasopeorparapoderalularunasoluiónóptima,optamosporutilizar al-goritmosheurístiosquepermitanalularunasoluiónsubóptimalosuientementebuena entiempopolinómio.Paraomprobarlaalidad delassoluionesdelnuevométodo heurís-tiobasadoenlaformaióndelosríos,loapliamos adiferentesproblemasyloomparamos onlassoluionesobtenidaspor losmétodosbasados enoloniasdehormigas.Comenzamos resolviendo un problema lásio omo el Problema del Viajante de Comerio, tanto en su versiónestándaromoensuversióndinámia(enlaquepuedenapareer/desapareernodos y/oaristasa lolargode laejeuión).Mástarde busamossoluionesaproblemas útilesen elentornodeunmétodoformalomoeseltesting desoftware.Asídenimoselproblemadel Árbol de Distanias Mínimo yel problema del Árbol Reubridor Mínimo para un grafo de ostevariable, enelqueeloste de unaaristadepende delamino reorridoantesde tomar estaarista. Asímismo denimosel problemadelaSeuenia deCargaMínima donde dada una espeiaión denidapor una máquinade estados nitos queremos enontrar un plan que interatúe on el sistema y permita alanzar un onjunto de estados y/o transiiones en el mínimo tiempo posible donde se permite guardar/restaurar onguraiones previas,

(13)

asumiendoun oste predeterminado.

Esta tesis se estrutura de la siguiente manera. En el apítulo 2, realizaremos una in-troduión a los prinipales esquemas de optimizaión basados en búsquedas loales omo la esalada, el enfriamiento simulado, los algoritmos genétios, la optimizaión basada en nubesdepartíulasolosalgoritmosdeoloniasdehormigas.Dihaintroduiónservirápara familiarizarnosonlasprinipalesaraterístiasdeestosmétodosyomprobarelestadodel arte. Estos algoritmostratan de mejoraruna soluióniniial apliando distintos operadores o funiones. Es por ello que paraada soluión enontrada esneesario estimar su alidad utilizando una funión. Estos métodosse aplian en los asos en los queelespaio de solu-iones aonsideraresmuygrandeynosepuederealizar unestudiosistemátiode todaslas soluionesporqueonllevaríauntiempoimpratiable.Enpartiularutilizan unasfuniones para limitar la búsqueda a iertas regiones en las que se espera obtener la mejor soluión posible. Para errar el apítulo desribimos de forma detallada nuestro método heurístio basadoen laformaiónde los ríos.

Tras este estudio, en el apítulo 3 analizaremos apliaiones de los métodos evolutivos presentadosalosMétodosFormales,másespeíamentealTestingFormalyalModel Che-king. Losmétodosformales proveen métodossistemátios para analizarlaorreión delos sistemas.Aunque los métodos formales sehan apliado de manera satisfatoria a multitud de problemas industriales, estosmétodos típiamente se enuentran on un problema en la prátia, pues el número de estados a analizar de modo sistemátio ree de forma expo-nenial on el tamaño del sistema a analizar. Es por ello que las ténias exhaustivas para enontrar errores en los sistemas sesustituyen por estrategias heurístias que permitan fo-alizar la búsqueda de errores poteniales en alguna araterístia rítia o sospehosa. De estemodo,ilustraremos onnumerososejemplossigniativosómolos métodosheurístios ylosmétodosformales pueden trabajar de formaonjunta eneste medio.Enpartiular,los métodos evolutivos proveen estrategias eientes para busar buenas soluiones en el tipo de problemas queapareen en los métodos formalesomo sonel Testing Formal yelModel Cheking.

En el apítulo 4 esquematizaremos y mostraremos las ideas generales de los artíulos presentadosenlatesis.Finalmente,enelapítulo5sepresentan lasonlusionesyeltrabajo futuroquequedapordelante,mientrasqueenelapéndieAsedesribentodoslosalgoritmos

(14)

A ontinuaiónexponemoslos índiesde alidadde losartíulos queonforman latesis:

1. Using River Formation Dynamis to Design Heuristi Algorithms [80 ℄ fue publiado en Unonventional Computation(UC) en el año 2007 por Springer. Este ongreso es elsuesor del desapareido Unonventional Models of Computationque aparee en el ConfereneRankingevaluadoon

0

,

82

(puesto 101de788enlaategoríaAppliations /Eduation/Software/Theory/ Communiations/ Graphis/Bioinformatis).En elíndie CORE apareeevaluado omoC.

2. FindingMinimumSpanning/Distanes TreesbyusingRiverFormationDynamis[81℄ fue publiado en AntColony Optimization andSwarm Intelligene (ANTS) en elaño 2008 por Springer.Esteongreso aparee enelConferene Rankingevaluado on

0

,

51

(puesto66de701 enlaategoríaArtiialIntelligene/MahineLearning/Robotis /Human Computer Interation) yen elíndie CORE evaluadoomo B.

3. Solving Dynami TSP by Using RiverFormation Dynamis [86 ℄ fue publiado en In-ternational Conferene on Natural Computation (ICNC) en el año 2008 por IEEE ComputerSoiety.Este ongreso apareeen elíndie CORE evaluado omoC.

4. Applying RiverFormation Dynamisto Solve NP-Complete Problems [83℄ fue publi-adoomounapítulodellibro Nature-Inspired Algorithms forOptimisationenelaño 2009 por Springer.

5. HybridizingRiverFormationDynamisandAntColonyOptimization[85 ℄fueaeptado enelEuropean Confereneon ArtiialLife(ECAL)enelaño2009.Springer,inpress. EsteongresoapareeenelConfereneRankingevaluadoon

0

,

53

(puesto64de701en laategoríaArtiialIntelligene /MahineLearning /Robotis/ HumanComputer Interation) yen elíndie CORE evaluadoomo B.

6. Testing Restorable SystemsbyUsing RFD [79℄ fue publiado en International Work-Conferene on Artiial Neural Networks (IWANN)enelaño 2009 por Springer.Este ongreso aparee en el Conferene Ranking evaluado on

0

,

55

(puesto 55 de 701 en laategoríaArtiialIntelligene /MahineLearning /Robotis/ HumanComputer Interation) yen elíndie CORE evaluadoomo B.

7. A Formal Approah to Heuristially Test Restorable Systems [87℄ fue publiado en International Colloquium on Theoretial Aspets of Computing (ICTAC) en el año

(15)

8. Applying RFD to Construt Optimal Quality-Investment Trees [82 ℄ se enuentra a-tualmente enproesoderevisiónenlarevistaJournalof UniversalComputer Siene.

9. TestingRestorable Systems: Formal Denitionand Heuristi Solution based onRiver FormationDynamis[84℄seenuentraatualmenteenproesoderevisiónenlarevista Software Testing, Veriation and Reliability.

(16)

Algoritmos de Optimizaión Basados

en Búsquedas Loales

En estas primeras páginas se realizará un estudio de distintos métodos de optimizaión basados en búsquedas loales. Estas búsquedas reorren el espaio de soluiones e intentan alanzarlamejorsoluiónposibleenuntiemporazonable,yaseaparaminimizarlasoluión, ya sea para maximizarla. Para ello, una funión evalúa la alidad de la soluión atual en ada momento [14 ℄.

Estos métodos toman omo punto de partida una soluión iniial dada que intentarán mejorarapliando iertosoperadores ofuniones denidos por elusuario. Estos operadores se apliarán a la soluión atual para alular otras soluiones similares (veinas) por las queontinuar labúsqueda. Se supone puesque, modiandouna soluión delproblema, se pueden alular soluiones mejores a una enontrada anteriormente, es deir, se pretende mejorardiha soluiónpasoa paso.

Estetipodemétodosseaplianuandoeltamañodelespaiodesoluionesesmuygrande yno sepuede realizarunaexploraiónsistemátiaqueloreorraompletamentepara hallar lamejorsoluión,puessetardaríauntiempoinaeptable.Parareduirelespaiodebúsqueda se utilizarán funiones heurístias on el n de podarlo, es deir, que ayudarán a eliminar aminosquellevenasoluionesdepeoralidadquelasoluiónatual.Dihasfunionestienen losinonvenientesdequesepueden podaraminosqueonduzanasoluionesbuenasoque se enuentren máximos loales, y no globales, omo se verá más adelante. Así pues, estas téniassonpropensas a enontrar máximos loales queno sonlamejorsoluión posible.

Los problemas que intentan resolverse on estas ténias suelen ser NP-duros. Dado que dihos problemas requieren (probablemente) al menos un tiempo exponenial paraser

(17)

resueltosde manera óptima, ualquier intento prátiode resolverlos pasapor onformarse on la búsqueda de soluiones subóptimas razonablemente buenas. Tal es el aso de los algoritmos deoptimizaión basados enbúsqueda loal.

Enlositadosalgoritmos,normalmenteelaminoquesesiguehastahallar lasoluiónno esimportante,razónpor laualnoesneesariomantener unaestruturaquealmaenetoda la búsqueda realizada hasta el momento (típiamente, un árbol). Otras araterístias de estosmétodosson:todos losestadosson unasoluión; normalmente nose esperaenontrar la mejor soluión, sino una soluión que sea lo suientemente buena; y la tarea de las búsquedas loales es enontrar el mínimo o el máximo de una funión, omo se adelantó anteriormente.

La representaión general de unproblema de optimizaión en elque seaplia búsqueda loalpasapor denir:

Una representaión para los estados, es deir, laestrutura de datos quesoportará el estado.Losestadossonlas soluionesposibles delproblema.

Una funiónobjetivo,que serálafunión uyo valor setrata deoptimizar.

Una funión que genere el estado iniial. Si en el problema el estado iniial no está laramente denido, entones éstesepodrágenerarbienaleatoriamenteobienusando algunaténiaheurístia.

Una funión que genere suesores a partir de un estado dado, es deir, las soluiones quesononsideradas similares.Denelanoióndeveindadparaelproblemaonreto ynormalmente existe iertaomponente aleatoria en ella.

A ontinuaión veremos las prinipalesaraterístias de los métodosmás relevantes en este área: la esalada, el enfriamiento simulado, los algoritmos genétios, la optimizaión basadaennubesdepartíulas ylosalgoritmosdeoloniasdehormigas.Aabamoslaseión introduiendo nuestro método heurístiobasadoen laformaiónde los ríos.

2.1. Esalada

Este método de búsqueda loal se onoe en inglés on el nombre de hill limbing. La esalada[74 ,89,92℄onsisteenapliarténiasdemejoraiterativaparasoluionarproblemas

(18)

denida, pues seesoge en ada paso elsuesor on mejor valor bajo diha heurístia. Uno de los problemas de este método esque no permite reuperarse de un estado erróneo, pues no se mantiene elárbol de búsqueda; además, dependiendo del estado iniial seleionado, puede quedaratasadoen unmáximo loal.

Existendostiposdealgoritmosdeesalada:laesaladasimpleylaesaladapormáxima pendiente.

Enlaesaladasimple,sebusaapliaralasoluiónatualunoperadorquemejoreaésta. En uanto enuentre entre los operadores disponibles un operador que mejore la soluión, éstese apliaráysedeseharálasoluiónanterior, onservando lanueva.

Enlaesaladapormáximapendiente,seaplianalasoluiónatualtodoslosoperadores posibles yse atualizará lasoluión on elmovimiento quemejore más a lasoluión atual (soluión padre). Entones se estudia el resultado obtenido on todos los operadores para seleionarlamejorsoluión obtenidatras apliarlos.Estodiere delmétodode laesalada simple,en elqueuando seenuentraun operadorque mejorala soluiónatual sedeja de probaron elresto.

A ontinuaión sepuede verelesquema básio de esalada:

algoritmo HillClimbing

soluionAtual = estadoIniial fin = falso

mientras no fin haer

hijos = generarSuesores(soluionAtual)

hijos = ordenarYEliminarPeores(hijos, soluionAtual) si no vaio(hijos) entones soluionAtual = esogerMejor(hijos) sino fin = ierto fin si fin mientras fin algoritmo

Como sepuedeobservar,este algoritmo representa elalgoritmo de esaladapor máxima pendiente, pues esoge el mejor de los hijos de la soluión atual (esogerMejor(hijos)).

(19)

Figura2.1: Problemas enel espaiodesoluiones

estimaiónsea mejorque ladelpadre(ordenarYEliminarPeores(hijos, soluionAtual)).

Lasprinipales ventajasde estemétodo sonlassiguientes:

Es muyeiente entiempo.

Nomantiene unárbolde búsqueda,on elonsiguienteahorro dememoria.

Sedebetenerenuentaqueesposiblequeestealgoritmonoenuentresiemprelasoluión óptima.Enestehehovaainuirengranmedidalaalidaddelafuniónheurístiadenida, quedeterminaráeléxito ylaveloidad delalgoritmo.Ahora bien,este algoritmo enuentra sus prinipales problemas en los máximos loales (donde no hay ningún veino on mejor oste), en las mesetas (donde los veinos son soluiones de igual oste y uando dejan de serlo tienen peores ostes) y en los hombros o restas (donde los veinos sonsoluiones de igualoste yuando dejan deserlotienen porun ladoostespeores, peroporelotro ostes mejores) -Figura 2.1.

Al enontrarseen alguno de estosasos e intentar moverse a una soluión veina, gene-ralmente seempeorará lasoluión o omo muho no se onseguirá mejorarla. Por tanto, el algoritmodevolveráelestado atual sinseréste elmáximo globaldel espaiodesoluiones.

(20)

Figura2.2: Soluión alproblemade las4 reinas

Haerbaktrakingo vueltaatrás.Estasoluiónesprohibitivaen espaio,pueshabría que guardar multitud de estados. Al ser un espaio de soluiones tan grande, habría tanto problemas dememoria omo detiempo.

Reiniiar la búsqueda en otro punto. Esta soluión es senilla de implementar y on-sistiríaenempezarlaesaladadesdeotroestadoiniial yomprobarsisealanzauna soluiónmejor.

Apliardos o más operadores antes de deidir el siguientepaso en elamino a seguir (estamedida sóloesapliable alaesaladasimple,puesestatátiaya seaplia en la esaladapormáxima pendiente).

Haerhilllimbingenparalelo,explorandolasregionesmásprometedorasy onsiguien-doasívariassoluionesquepodránseromparadasentreellasparaseleionarlamejor. Seexplorana lavez

N

regionesdistintas, omparando así los

N

resultados alulados (adifereniadereiniiarlabúsqueda enotropunto,enlaquesóloseomparalanueva soluiónhallada on elresultado obtenido enlaanterioresalada).

Permitir algunosmalosmovimientos para asípoderesapar de máximosloales (es lo quesehaeen elenfriamiento simulado, omoseverá enlaseiónposterior).

Un ejemplolásioalquesehaapliadolaesaladaeselproblema delas

N

reinas.Este problema onsiste en oloar

N

reinas en un tablero de ajedrez de

N

×

N

asillas de tal formaqueno seataquen entre sí- Figura2.2-.Eneste problemaelespaiode búsqueda es de

N

N

ombinaiones.Dosreinasnose ataan entre sísinohaydosreinasenlamismala, olumna odiagonal.

La funión heurístia puede denirse, por ejemplo, omo el número de reinas que se ataanentresí. Enelaso delaFigura2.3(a)lafunión heurístiavaldría

1

,pues hayuna úniapareja de reinasqueseataan entre sí (lareina de lauarta olumna ylareina de la séptimaolumna). En elasode laFigura2.3 (b)lafuniónheurístiavaldría

17

.

(21)

Figura2.3: Estados en elproblema delas 8reinas

Algunos ejemplos de los operadores que se podrían denir en este problema para la generaióndesuesores serían:moverlareina ensuolumna, loquegeneraría

(

N

×

N

)

N

suesores,omoverlareinaaunaasillaontiguadesuolumna,loquegeneraríaunmáximo de

2

×

N

suesores. Por último, el estado iniial del que partiría la esalada podría ser ualquiera. Deestemodo,quedaría denidoelproblema de las

N

reinasparapoderapliar laesalada.

2.2. Enfriamiento Simulado

Estemétododebúsqueda loalseonoe eningléson elnombredesimulated annealing [60 , 5, 37, 16℄. Consiste en realizar una esalada estoástia, inspirada en el enfriamiento ontrolado demetales,enlaualsealientaun metala altatemperatura yseenfría progre-sivamentedemaneraontrolada,loqueseonoeonelnombrederistalizaiónotemplado demetales.Enesteproeso,sielenfriamientohasidoeladeuado,sealanzaunaestrutura de menorenergía que laoriginal,quetoma elnombrede mínimo global.

En este método se elige un suesor de entre todos los posibles según una distribuión de probabilidad.En diha eleión sepermite empeorar lasoluión atual,esdeir, pueden esogerse (probabilístiamente) estados peores. De este modo, se dan pasos parialmente aleatoriosporelespaiodesoluionesbusandolamejorsoluión.Otradelasaraterístias de este método esque laprobabilidad de que unestado peorseaaeptado varía en funión del inremento produido en la funión objetivo. Esto permite al algoritmo poder salir de óptimosloales.

(22)

La temperatura se va a emplear omo parámetro de ontrol. Al prinipio, la tempe-ratura será elevada para que haya mayor probabilidad de aeptaión de soluiones andidatas, loque se onoe on el nombre de diversiaión. Alnal delproeso, la temperaturaserábaja,puesseaeptaránpoassoluionesandidatas,loqueseonoe onel nombre de intensiaión.

La energía vaa ser lafunión heurístiaque ontrole laalidad de lasoluión (

f

(

so

-lucion

)

).

Lafuniónquedeterminaelsuesordependedelatemperaturaydeladifereniaentre laalidad de losnodososoluiones

(

F

(∆

f

, T

))

.

Uno de los objetivos que se deben onseguir es que, a menor temperatura, haya menor probabilidad de elegir suesores peores. Para ello, en la estrategia de enfriamiento se debe determinarexperimentalmenteelnúmerodeiteraionesdelabúsqueda,ladisminuióndela temperaturayelnúmerodepasosquesedebendarparaadatemperatura.Habráqueajustar estosparámetrosparaunbuenfunionamiento delalgoritmo deenfriamientosimulado.Sila temperaturadereelosuientementedespaio,delmodoadeuado,entonesseobtendrála estruturade menorenergíaonsiguiendo unóptimo global.Así,elriterio deparadapuede venir dado por haber onseguido un valor suientemente bueno de la funión objetivo, o porhaberdadounnúmerodeterminadomáximodeiteraionessinonseguirningunamejora enlasoluión, oporhaberalanzado elnúmero deiteraiones totales.

A ontinuaión sepuede verelesquema básio delenfriamiento simulado:

algoritmo SimulatedAnnealing soluionAtual = estadoIniial t = 1

fin = false

mientras (t <= numeroDeVueltas) y (no fin) haer temperatura = planifiarValor(t) si temperatura = 0 entones fin = true sino nodoSiguiente = elegirSuesorAleatorio(soluionAtual) inrementoEnergia =

(23)

si inrementoEnergia

>

0 entones soluionAtual = nodoSiguiente sino p = valorAleatorioEntre0y1() si p <= iertaProbabilidad entones soluionAtual = nodoSiguiente fin si fin si fin si fin mientras devolver soluionAtual fin algoritmo

Un ejemplo de búsqueda on enfriamiento simuladopuede verse en la Figura2.4, en la queseilustraómoen iertospuntosdelabúsquedaseeligeuna soluiónpeorquelaatual para poderhuir de los máximos loales y poderenontrar el máximo global (estado nal). En el gráo, las regiones oloreadas más osurasrepresentan soluiones mejores, mientras quelas regionesoloreadas máslaras representan soluionespeores.

Estaténiaestáindiadaparaproblemasgrandesdondeelóptimoglobalestárodeadode óptimosloales yparaproblemasenlosqueesdifíilenontrarunaheurístiadisriminante (esdeir,una heurístiaque onduzaeientemente ala soluión).

El prinipalproblemadelenfriamientosimuladoesdeterminar losvaloresdelos paráme-tros,loquerequiere de unproeso de experimentaión.

Veamos ómo se podría apliar el enfriamiento simulado al problema de el viajante de omerio(enadelante TSP,delinglésTravelingSalesmanProblem[42 ,8℄).Muybrevemente, el TSP onsiste en que, dado un número de iudades ylos ostes de viajar de una iudad a otra, debe alularseel reorridomás barato quevisitaada iudad exatamenteuna vez ynaliza elreorrido en laiudad iniial.A ontinuaión veremosómo sepuede apliar el enfriamiento simuladoalaresoluión deesteproblema. El espaiode búsqueda eneste pro-blemaes

N

!

yomooperadoressepodríandenirlatraslaiónyelinterambio.Latraslaión onsiste en que a partir de una soluión, por ejemplo

A

-

B

-

C

-

D

-

E

-

A

, se genera una nueva trasladando unaiudad visitadaa otraposiión. En elejemplo, sisetraslada laiudadBa serlauartaiudadvisitada, resultaría

A

-

C

-

D

-

B

-

E

-

A

.El operadorde interambio onsiste

(24)

Figura2.4:Búsqueda en elespaiode soluiones

enambiar deposiiónauna iudadvisitadapor otra.En elejemplo,siseinterambianlas iudades

B

y

D

seobtiene

A

-

D

-

C

-

B

-

E

-

A

.La funióndeenergía quesedenepararesolver elproblemaeslasumadeladistaniaentrelasiudadessegúnelordendelasoluión.Denir latemperatura iniial depende de laexperimentaión,al igualque elnúmerode iteraiones paraada unade las temperaturas yómodebedisminuirla temperatura.

2.3. Algoritmos Genétios

Estetipode métodosde búsquedaloal[41 ,25,72 ,44℄onsiste enrealizar unaesalada enparalelo inspirada enlos siguientes meanismosde seleión natural:

Laadaptaión de los seresvivosalentornoen elque viven.

La supervivenia yreproduión ysus posibilidades según las araterístias de ada individuo.

(25)

Lasposiblessoluionesserepresentanomolosseresvivos,esdeir,omolosindividuos queseadaptanal medio.

La funiónque evalúa laalidad de ada soluión alula laadaptaión de ada indi-viduo.

Basándose en la reproduión de los individuos, se supone que ombinando buenas soluionessepueden obtener soluionesmejores.

Apoyándose en elmeanismode evoluión, seseleionan las mejoressoluiones sue-sivamente.

El esquema a seguir para resolver un problema utilizando algoritmos genétios es el siguiente:

El primer paso onsiste en odiar las araterístias de las soluiones, por ejemplo mediante unaadena binaria.

A ontinuaión se debe denir una funión de alidad de la soluión, que en inglés reibe elnombre defunión detness.

Paragenerarlasnuevassoluionessedenendosoperadores:elruzamiento(rossover) ylamutaión (mutation).

El siguiente pasoonsiste en deidirelnúmero deindividuos iniiales.

Por último, queda deidirlaestrategiaa seguirparalaombinaión de individuos.

Respeto a la odiaión de individuos, habitualmente se realiza usando una adena binaria.Deestemodo,en elproblemadelas

N

reinaspodríandenirselosindividuosomo aparee en la Figura 2.5. Esta odiaión

[00

,

10

,

01

,

11]

dene laposiión de las

4

reinas deltablero. Así,lareina de lala

1

estáen laolumna

1

(representadapor

00

);lareina de lala

2

estáen laolumna

3

(representadapor

10

);lareinadelala

3

estáenlaolumna

2

(representada por

01

); ylareina de lala

4

estáen laolumna

4

(representadapor

11

).Se utiliza esta representaión ya que, en una soluión delproblema de las

N

reinas, no puede haber dos reinas en la misma la (o olumna). La odiaión utilizada para representar a los individuos determina el tamaño del espaio de búsqueda y el tipo de operadores de

(26)

Figura 2.5:Codiaiónde individuosen elproblemade las4 reinas

Figura2.6: Funionamiento deloperadorde rue

Un operadorbásio en losalgoritmos genétios eselrue por un punto. Enelsiguiente ejemplo- Figura2.6- sepuede observarómofunionaesteoperador. Esteoperadormezla o ruzados individuoso progenitores paraobtener un nuevo individuo, el desendiente. En esteejemplo eldesendiente estáformado por la parteizquierda del progenitor

1

ylaparte dereha del progenitor

2

. Igualmente, sepodría rear otro desendiente mezlando laparte dereha del progenitor

1

on la parte izquierda delprogenitor

2

. Lalínea negramás gruesa queatraviesaeltablerodeajedrezdelejemplovertialmenteeselpuntoderue.Estepunto derue seeligede formaaleatoria.

Otras posibilidades para denir el rue son el rue en dos puntos - en el ual existen dospuntos derue - yelinterambio aleatorio debits.

(27)

rimentalmente.

En estosalgoritmos, en ada paso de la búsqueda el estado queda determinado por un onjunto de

N

individuos (una generaión), siendo

N

onstante. Para pasar a lasiguiente generaión(siguiente paso) sedeben elegirlos individuosque sevan aombinar.

Pararealizarlaeleióndelosindividuosquevanaserprogenitores,seasoiauna proba-bilidadproporionalalaalidaddelindividuo;aontinuaiónserealizan

N

enfrentamientos aleatorios entre parejas de individuos y se eligen a los que ganan; por último, se dene un ranking de individuos según su alidad. Es posibleque haya individuos que aparezan más de unavez, mientras que habráotrosindividuos queno aparezan.

A ontinuaión sepuede verelesquema básio de losalgoritmos genétios:

algoritmo GenetiAlgorithm i = 0

poblaionIniial = rearPoblaionIniial() generaionFinal = poblaionIniial

mientras (no onverge(generaionFinal)) y (i

<

numIteraiones) haer generaionIntermedia = esogerNIndividuos(poblaionIniial) generaionCrue = apliarCrue(generaionIntermedia, probabilidadCrue) generaionMutaion = apliarMutaion(generaionCrue, probabilidadMutaion) generaionFinal = esogerMejores(generaionFinal, generaionMutaion) i = i + 1 fin mientras fin algoritmo

Losparámetros del algoritmogenétioson:

El número total de individuosde lapoblaión (que esonstanteen ada generaión).

(28)

Figura2.7: Pasos deun algoritmo genétio(1)

Laproporióndeltotaldelospadresqueseesogendeentrelosmejoresindividuosde lapoblaión, esdeir, laproporión de padres quese eligenpor su ranking dentro de lapoblaión.

La probabilidad de que ourra una mutaión, que generalmente es un número muy bajo.

Enlaseleióndelospadres,unnúmerojodeellosseobtienenseleionandolosmejores de la poblaión, es deir, aquellos que son más prometedores. Los restantes se eligen alea-toriamente de entre los demás, para mantener así la diversidad. A la hora de realizar los rues, las parejas se obtienen reordenando aleatoriamente a los padres y ruzándolos de dos en dos. Una vez realizados los rues, ada araterístia (es deir, ada gen) de ada individuoresultantesemutarásegúnlaprobabilidaddada.Porúltimo,paraobtenerlanueva generaión,seunenlageneraiónanteriorylanuevaparaseleionaralosmejoresindividuos (enigual número que lageneraión iniial). En laFigura 2.7se puede observar ómovaría lapoblaiónen ada uno de lospasos delalgoritmo.

Se debe tener en uenta que existen otras posibles implementaiones de los algoritmos genétios,perotodasse basanen las mismasideas de reproduión, mutaión, seleión de losmejores ymantenimiento deladiversidad.

EnlaFigura2.8,sepuedeverómoseríanlospasosdelesquemadeunalgoritmogenétio enunejemployómounindividuo puedeserseleionadodosvees mientras otropuedeno

(29)

Figura2.8: Pasos de unalgoritmo genétio (2)

En este aso, hay una varianteen la seleión de los individuos paraser padres, ya que ada individuo

i

esseleionadoparaser padreon probabilidad proporionala su valorde lafuniónobjetivo

F

obj

(

i

)

,loque seonoe onel nombrederuleta probabilístia:

P

(

i

) =

P

N

F

obj

(

i

)

j

=1

F

obj

(

j

)

Los rues, las mutaiones y la diversidad tratan de evitar el problema de los óptimos loales, aunquelas mayores ventajas asoiadas a este tipo de algoritmos sonque sepueden apliar a ualquier tipo de problema (optimizaión, aprendizaje automátio, planiaión, et.)yquepermiteabordarproblemasparalosquenosedisponedeunaheurístiaadeuada, aunqueen general serán peores queun algoritmo lásio onuna heurístiabien denida.

Sinembargo,tambiénpresentanvariosproblemas,omoquelaodiaióndelosestados noesnifáilniintuitivayqueesompliadodenirlosparámetrosdelalgoritmo demanera adeuada(eltamañode lapoblaión,elnúmerode iteraionesylasprobabilidadesderue ydemutaión).

Los algoritmos genétios se pueden apliar al problema de las

N

reinas del siguiente modo: ada posible soluión se puede odiar omo una adena binaria, en la que ada individuoserepresentaporlaonatenaióndelalaylaolumnaenlaqueseenuentrala reinadedihala,esdeir,

Concat

(

i

= 1

..N

;

Binario

(

Columna

(

reina

i

)))

.Por otrolado,la funión de tness podríadenirse omo elnúmero de parejas de reinasque seataan entre sí. Además,omo operador de rue podríautilizarse el rue en unpunto de forma que la seleión de lageneraión intermedia fueseproporional alafunión de tness.Por último, laprobabilidad derue, laprobabilidad demutaión yeltamaño delapoblaión iniial,se

(30)

2.4. Optimizaión Basada en Nubes de Partíulas

Estemétodoseonoeeninglésonelnombredepartile swarmoptimization(en adelan-tePSO).PSO[58,21 ,76 ℄esunametaheurístiapoblaionalinspiradaenelomportamiento soial del vuelo de las bandadas de aves y el movimiento de los banos de pees. En estos sistemas, la poblaión se ompone de varias partíulas (de ahí su nombre) que se mueven (o vuelan en elaso de las bandadas de aves o de enjambres de insetos) por elespaio de búsquedadurantelaejeuióndelalgoritmo.Estasentidadessonmuysimplesytienen inter-aionesloales (inluyendo interaiones on el ambiente). El resultado de laombinaión de omportamientos simples es la apariión de omportamientos omplejos y la apaidad deonseguir buenosresultados omo unequipo.

Una disiplina del PSO esla tenología basada en nubes de partíulas inteligentes, que estábasadaenlatenología denubesdepartíulas. Alosmiembros individuales del enjam-bre selesañadeinteligeniaomoseresindependientes. Conestosenjambresinteligentes,los miembrospueden serhomogéneosoheterogéneos. Inlusosilosmiembros omienzansiendo homogéneos,puedenaprenderosasdiferentes,debidoalasdifereniasdelmedio,desarrollar diferentes objetivosy entones onvertirse en un grupo heterogéneo. Lasténias de nubes departíulas on inteligeniasonmétodosestoástiosbasados enpoblaión usadosen pro-blemasde optimizaión ombinatoria, donde el omportamiento oletivo delos individuos surge de sus interaionesloales on el medio para alzar la apariiónde patrones globales funionales.Tambiénsehan utilizadolas nubesdepartíulas donde losagentes son disposi-tivosrobotsfísios.

El movimiento de ada una delas partíulas p va a depender de:

Sumejor posiión desdequeomenzó el algoritmo,pBest.

Lamejorposiióndelaspartíulasdesuentorno,IBest,odetodalanubedepartíulas, gBest,desdeque omenzó elalgoritmo.

La veloidadde pseambiaráaleatoriamente en adaiteraión delalgoritmo para aer-arlaa las posiionespBest e IBest/gBest.

Este método se aplia típiamente en problemas de optimizaión numéria y se le atri-buyen lassiguientes araterístias:

(31)

La idea básia esutilizar la informaión del mejor resultado propio de ada partíula ylainformaión delmejor resultadoglobal.

Laimplementaión esmuysenilla ya quesemanejanpoosparámetros.

Laonvergenia delalgoritmoesrápida yseenuentran buenassoluiones.

Veamoselfunionamientobásio delPSO.Como sehavistoanteriormente, unanubede partíulas simula elomportamiento de las bandadasde aves. En partiular,se supone que una de estas bandadasbusa omida en un áreay quesolamentehay una pieza de omida endihaárea. Seasume quelospájaros delabandada nosaben dónde estálaomida,pero síonoen sudistania alamisma,por loquelaestrategiamáseazparahallarlaomida seráseguiral ave queseenuentre más erade ella.

El PSO emula este esenario para resolver problemas de optimizaión. Cada soluión o partíula es un ave en el espaio de búsqueda que está siempre en ontinuo movimiento y quenuna muere.

De heho, se puede onsiderar que la nube de partíulas es un sistema multiagente en el que las partíulas son agentes simples que se mueven por el espaio de búsqueda y que guardan(y posiblementeomunian)la mejorsoluión quehanenontrado.

Cadapartíulatieneunvalordetness,unaposiiónyunvetorveloidadquedirigesu vuelo.Elmovimientodelaspartíulasporelespaiodebúsquedaesguiadoporlaspartíulas óptimasen elmomento atual. Unapartíula está ompuestapor:

Tres vetores:

El vetor X, que almaena laposiión atual (la loalizaión) de la partíula en

elespaiode búsqueda.

Elvetor pBest,quealmaenalaloalizaión delamejorsoluiónenontradapor

lapartíula hastaelmomento.

El vetor V,que almaena el gradiente (la direión) según el ual se moverá la

partíula.

Dosvaloresde tness:

El x_tness,quealmaena eltness de lasoluiónatual (vetor X).

(32)

Figura2.9: Posiionesyveloidades iniiales de laspartíulas

Paralainiializaión dela nubede partíulas, setienen quegenerar las posiionesylas veloidades iniiales de las partíulas. Las posiiones se pueden generar aleatoriamente en el espaio de búsqueda, de forma regular, o por medio de una ombinaión de ambas. Las veloidades se generan aleatoriamente on ada omponente en elintervalo

[

V

max

, V

max

]

-Figura2.9-,aunquenoesonveniente jarlasaero,puesnoseobtienenbuenosresultados.

V

max

serálaveloidadmáxima quepueda tomar una partíulaen ada movimiento.

Ahora se verá ómo se mueve una partíula de una posiión del espaio de búsqueda a otra. Para ello, simplemente se añade el vetor veloidad

V

i

al vetor posiión

X

i

, para obtener asíunnuevo vetor posiión:

X

i

X

i

+

V

i

.

Una vez seha alulado la nueva posiión seevaluará ésta y si el nuevo tness resulta sermejor queelque lapartíulatenía hasta ahora,pBest_tness, entones:

pBest

i

X

i

;

pBest

_

f itness

x

f itness

.

Enadapaso,lasfórmulasutilizadaspara atualizarelvetorveloidaddeunapartíula

p

i

ysu posiiónsonlas siguientes, donde

d

esla

d

-ésimadimensión de los vetores:

v

i,d

=

ω

·

v

i,d

+

ϕ

1

·

rnd

()

·

(

pBest

i,d

x

i,d

) +

ϕ

2

·

rnd

()

·

(

g

i,d

x

i,d

)

(33)

ω

representaunaonstantedeineria.Normalmentetomavaloresligeramentemenores

que

1

.

ϕ

1

y

ϕ

2

son ratios de aprendizaje (pesos) que ontrolan los omponentes ognitivo y

soial. Se onoe on el nombre de omponente ognitivo a la expresión:

ϕ

1

·

rnd

()

·

(

pBest

i,d

x

i,d

)

;yonelnombredeomponentesoialalaexpresión:

ϕ

2

·

rnd

()

·

(

g

i,d

x

i,d

)

g representa el índie de la partíula on el mejor pBest_tness del entorno de

p

i

(IBest)o detoda lanube (gBest).

rnd()generaun número aleatorio en elintervalo [0,1).

Kennedy [58 ℄ identia tres tipos de algoritmos de PSO en funión de los valores

ϕ

1

y

ϕ

2

:

El modelo ompleto,en elque

ϕ

1

,

ϕ

2

>

0.

El modelo sólo ognitivo, enelque

ϕ

1

>

0 y

ϕ

2

=0.

El modelo sólo soial, enel que

ϕ

1

=0 y

ϕ

2

>

0.

EnlaFigura2.10sepuedeverlarepresentaióngráadelmovimiento delaspartíulas.

A ontinuaión sepuede verelpseudoódigo delPSO:

algoritmo PSO t = 0

desde i = 1 a numeroDePartiulas haer iniializar

X

i

y

V

i

fin desde

mientras no riterioDeParada() haer t = t + 1

desde i = 1 a numeroDePartiulas haer evaluar

X

i

si

F

(

X

i

)

es mejor que F(pBest) entones

(34)

Figura 2.10:Representaión gráa delmovimiento de unapartíula

fin desde

desde i = 1 a numeroDePartiulas haer

Esoger

IBest

i

, la partíula on mejor fitness del entorno de

X

i

Calular

V

i

, la veloidad de

X

i

, de auerdo a

pBest

i

y

IBest

i

Calular la nueva posiión

X

i

, de auerdo a

X

i

y

V

i

fin desde fin mientras

Devolver la mejor soluión enontrada fin algoritmo

Otra versión del algoritmo es el PSO global, muy similar al anterior, que se muestra a ontinuaión:

algoritmo PSOGlobal t = 0

desde i = 1 a numeroDePartiulas haer iniializar

X

i

y

V

i

fin desde

(35)

desde i = 1 a numeroDePartiulas haer evaluar

X

i

si

F

(

X

i

)

es mejor que F(pBest) entones

pBest

i

=

X

i

(

F

(

pBest

i

) =

F

(

X

i

)

)

fin si

si

F

(

pBest

)

es mejor que F(gBest) entones

gBest

=

pBest

i

(

F

(

gBest

i

) =

F

(

pBest

i

)

)

fin si fin desde

desde i = 1 a numeroDePartiulas haer

Calular

V

i

, la veloidad de

X

i

, de auerdo a

pBest

i

y

gBest

i

Calular la nueva posiión

X

i

, de auerdo a

X

i

y

V

i

fin desde fin mientras

Devolver la mejor soluión enontrada fin algoritmo

Sise ompara elPSOglobal yelanterioralgoritmo delPSO, laversiónglobal onverge másrápidamente, perotieneelinonveniente dequeaemás fáilmenteen óptimosloales.

Las nubes de partíulas pueden formar distintas topologías. Estas topologías denen el entorno de ada partíula individual (se asume que ada partíula siempre pertenee a su propioentorno). Estosentornos - Figura2.11- pueden ser dedostipos:

Geográos: enlosquesealulaladistaniadelapartíulaatual alrestoysetoman lasmás eranasparaomponer suentorno.

Soiales: en los que se dene a priori una lista de veinas para ada partíula, inde-pendientemente desu posiiónen elespaio.

Generalmente, losentornos soiales sonlos más empleados. Una vez deididoel tipo de entorno,esneesariodenirsutamaño.Lohabitual esdenireltamañoentre

3

y

5

puesdan unbuen omportamiento,sibienel algoritmo noesmuysensiblea esteparámetro. Cuando eltamañoestodalanubedepartíulas,elentornoesalavezgeográoysoial,ysetendría elPSOglobal.

(36)

Figura2.11: Tiposde entornos

on estos números y se dene el entorno de una partíula on sus veinas en el írulo -Figura2.12-.

El uso de tenologías basadas en nubes de partíulas se ha onvertido en algo omún en una variedad de dominios de apliaión: mediina,bioinformátia, apliaiones militares y de defensa, vigilania, inluso en la transmisión de televisión e internet. La idea de que estosmétodossepuedenusarpararesolverproblemasomplejoshasidoutilizadaenmuhas áreasdiferentes dela informátia. Deestemodo, elPSOha sidoapliado anumerosos pro-blemasomolaoptimizaión de funionesnumérias, elentrenamiento de redes neuronales, elaprendizaje de sistemasdifusos, elproblemadel viajantede omerio,et.

2.5. Algoritmos de Colonias de Hormigas

Este método se onoe en inglés on elnombre de ant olony optimization (ACO) y es unaténiaprobabilístiapararesolverproblemasomputaionales quesepuedenreduir al problemadeenontrar buenosaminosatravésdegrafos[34 ,33 ,30 ,31 ,65 ℄.Seinspiraen el omportamientodelashormigas,quesoninsetossoialesquevivenenoloniasyquetienen unomportamientodirigidoaldesarrollodelaoloniaomountodomásqueaundesarrollo individual.Estemétodoseentraenunaraterístiainteresantedelomportamientodelas hormigas:la manera en queenuentran los aminos másortos desdeel nidou hormiguero

(37)

Figura2.12: Topología en anillo

En elmundo real,las hormigasdesubren elamino másorto hasta laomida dejando rastrosdeferomonasquetodaspuedenoler.Además,esterastropermitealashormigasvolver asu hormiguero desdelaomida.El omportamiento básio delashormigas eselsiguiente: alprinipio ada hormiga semueve de manera aleatoria; depositan feromonas enel amino que reorren; las hormigas detetan el amino prinipal (el que tiene más feromonas) y se inlinanaseguirlo,yaqueuantasmásferomonastieneunamino,másprobableesqueuna hormigasiga eseamino.

En la Figura 2.13 sepuede observar ómo todas las hormigas de una olonia tienden a seguirelmismoamino parairdesdesunidohastalaomida.Silashormigasseenuentran unobstáuloensuamino,éstasbusaránpordondeevitarlomásrápidamenteynalmente todasseguiránla rutamásorta hasta laomida parapoderllevarla a su nidomás rápida-mente.Estoesdebidoaqueporelaminomásortopasaránlashormigasmásrápidoymás vees,por loquesealimenta máselrastrodeferomonasporelamino másorto quepor el máslargo, haiendoasí que, posteriormente,más hormigas elijan elamino másorto.

A ontinuaión sepuede verelalgoritmo básio ACO:

algoritmo AntColonyOptimization iniializarRastros()

(38)

Figura2.13: Comportamiento de las hormigasanteunobstáulo haerReorridos() analizarRutas() atualizarRastro() fin mientras fin algoritmo

Las diultades que plantea el método son que el algoritmo se basa en una serie de deisiones aleatorias guiadas por hormigas artiiales y que las probabilidades para tomar lasdeisionesambianen ada iteraión.

El método ACO se basa en última instania en las pruebas realizadas por Deneubourg [27 ℄ y su equipo, quienes realizaron un experimento de laboratorio on un tipo onreto de hormigas que depositan feromonas al ir del hormiguero a la omida y al volver. En su experimento, usaron dos tipos de iruitos para las hormigas, donde en el primero las dos ramas del iruito que onduían del nido a la omida tenían la misma longitud y donde en el segundo una rama era eldoble de larga que la otra. Se realizó un terer experimento

(39)

Figura2.14: Primeriruito delexperimento de Deneubourg

hormigas.

En elprimer iruito - Figura2.14 -,las hormigas terminaban por onverger auna sola rama,ualquierade las dos. Deneubourg observóque en elsegundo iruito - Figura2.15-, lashormigas onvergían rápidamente ala ramamás orta. Finalmente, en elterer iruito -Figura2.16-,on doszonasomolas delanteriorexperimentoonatenadas, lashormigas tambiénonsiguenenontrarelaminomás orto.Estoesdebidoaque,dadoqueelamino orto se reorre antes, este será reorrido más vees por las hormigas que el amino más largo,depositandode estamanera una mayor antidadde feromonas.

Como resultado de estos experimentos, Deneubourg y su equipo diseñaron un modelo estoástio delproeso dedeisión delas hormigas naturales:

p

i,a

=

[

k

+

τ

i,a

]

α

[

k

+

τ

i,a

]

α

+[

k

+

τ

i,a

]

α

donde

p

i,a

esla probabilidad de esogerla rama

a

estando en elpunto de deisión

i

,

τ

i,a

es laonentraión deferomona en larama

a

,

a

esotra ramay

k

y

α

sononstantes.

Losalgoritmosdeoptimizaiónbasadosenoloniasdehormigasseusantípiamentepara resolverproblemasdeminimizaióndelostedeaminosengrafos.Enadelantesupondremos un grafo de

N

nodos on

A

aros no dirigidos. Existen dos modos de trabajo para las hormigas:haiadelanteyhaiaatrás.En elmodohaia delante sereorreelgrafoevitando losilos yen elmodohaia atrás sólosedepositan las feromonas.

(40)

Figura2.15: Segundo iruito delexperimento de Deneubourg

(41)

problema(unagentequeimitaalahormiganatural).Lashormigasdisponendeunamemoria quelespermitereordarelaminoquehanseguidomientrasbusabanelnododedestinopara deshaerlo posteriormente. Antes de volverhaia atrás en su amino memorizado, eliminan ualquier bule del amino memorizado y uando vuelven haia atrás dejan las feromonas en los aros que atraviesan. Esa memoria no esmás que una listade losnodosvisitados, y alnalizaresta listaontiene lasoluiónonstruida porla hormiga.

Las hormigas son apaes de evaluar el oste de los aminos que han atravesado, para así poderdepositar una mayor antidad de feromonasen los aminos más ortos. Es deir, se depositará una mayor antidad de feromonas en aquellas soluiones uyo oste sea más bajo. También se ha de apliar una regla de evaporaión de las feromonas, que reduirá progresivamente laprobabilidad de elegirsoluionesde baja alidad.

Al prinipio del proesode búsqueda,se asigna una antidad onstantede feromonas a todoslosaros delgrafo. Cuando unahormiga

k

seenuentra en elnodo

i

,usaelrastrode feromonas paraalular laprobabilidad de elegira

j

omo elpróximo nodo de su ruta. De estamanera, laprobabilidad de quela hormiga

k

vaya delnodo

i

alnodo

j

viene dadapor laexpresión:

p

k

ij

=

ω

ij

P

l

N k

i

ω

il

si j

N

k

i

0

si j

6∈

N

k

i

donde

N

k

i

es el onjunto de veinos de la hormiga

k

uando está en el nodo

i

y

ω

ij

es la antidadde feromonaspresentes enlaarista quevadelnodo

i

alnodo

j

.

Cuando el aro

(

i, j

)

es atravesado, laantidad de feromonas de esearo seinrementa en laantidad de feromonasqueha dejado lahormiga

k

alpasarpor él.

ω

ij

ω

ij

+

f eromonas

k

ij

Usandoestaregla,seonsigueaumentarlaprobabilidaddequelashormigasquevengan detrás useneste aro. Una vez quetodaslas hormigas sehan movido al siguientenodo,las feromonasseevaporande losaros segúnlasiguiente euaión:

ω

ij

(1

p

)

×

ω

ij

(

i, j

)

A

donde

A

eselonjuntodearistasdelgrafoy

p

(0

,

1]

esunparámetro.Seusalaevaporaión delaferomonaparaevitaruninrementoilimitadodelosrastrosdeferomonayparapermitir

(42)

natural,loqueevitalaperduraióndelosrastrosdeferomonay,portanto,elestanamiento enóptimos loales.

Una iteraión esun ilo ompleto en elque seinluye:el movimiento de lashormigas, laevaporaión de feromonasyel depósito de feromonas.

LospasosquesedebenseguirpararesolverunproblemautilizandoACOsonlos siguien-tes:

Representarel problemaomo ungrafo valorado enel quelas hormigas podrán ons-truir soluiones.

Denir elsigniado delos rastrosde feromonas.

Denir laheurístiaqueva apermitiralahormiga onstruir unasoluión.

Si es posible, implementar un algoritmo de búsqueda loal eiente para resolver el problema(parapoderompararlosresultadosquesevanobteniendo onunasoluión iniial).

Elegirunalgoritmo ACO espeío yapliarlo alproblema aresolver.

Ajustar losparámetros delalgoritmo ACO.

Existen muhas extensiones al algoritmo básio reado iniialmente por Dorigo,donde, porejemplo,enlaregladetransiiónseestableeunequilibrioentrelaexploraióndenuevos arosyla explotaiónde lainformaión aumulada; o donde paralaatualizaión global de feromona sólo se onsidera la hormiga que generó la mejor soluión hasta el momento; o donde se añade una nueva atualizaión loal de feromona basada en que ada hormiga modiaautomátiamente laferomona de ada aroparadiversiar labúsqueda.

Otro de los algoritmos de este tipo esel Sistema de Hormigas Max-Min[96, 97℄, que es una nueva extensión on una mayor explotaión de las mejoressoluiones y unmeanismo adiionalpara evitarelestanamiento delabúsqueda.

Este sistema mantiene las reglas de transiión del algoritmo básio pero realiza las si-guientesmodiaiones:

(43)

Deneunoslímitesmáximosymínimospara losrastrosdeferomonas

τ

min

τ

τ

max

quesealulandeforma heurístia.Iniializatodoslosrastrosdeferomona almáximo valor

τ

max

, en lugar de a un valor pequeño

τ

0

. De esta forma, al apliar la regla de atualizaión, los aros delas buenassoluiones mantienen valoresaltos mientras que los de las malas los reduen. Además, da lugar a una mayor exploraión alomienzo delaejeuión delalgoritmo.

Reiniialabúsquedauandoseestana,volviendoaponertodoslosrastrosdeferomona a

τ

max

.

La ombinaión detodasestasreglasestablee un buen balaneexploraión-explotaión yreduelaposibilidaddeestanamiento de labúsqueda,loqueonvierte aeste meanismo en unalgoritmomuyompetitivo.

Una nuevaextensión de lossistemasdehormigas,basadaen lainorporaión de ompo-nentes de Computaión Evolutiva para mejorar el equilibrio intensiaión-diversiaión, es el Sistema de Hormigas Mejor-Peor [23 , 22℄. La nueva extensión mantiene la regla de transiión delsistemade hormigas originalymodialossiguientesaspetos:

El meanismo de atualizaión de rastros de feromona evapora éstasde todos los a-minos, reforzando positivamente sólo los de lamejor soluión global ynegativamente losdelapeorsoluiónatual.Esdeir,además delaevaporaión global,seapliauna evaporaión adiional de los rastros de feromona de la peor soluión de la iteraión atual quenoestén ontenidosen lamejor soluiónglobal.

Aplia una mutaión de los rastros de feromona para diversiar. La mutaión se apliaen adarastrodeferomona oniertaprobabilidad,aumentandolafuerzade la mutaión onlas iteraiones.

Reiniia la búsqueda uando se estana, omo se hae en el Sistema de Hormigas Max-Min. Este sistema onsidera la búsqueda estanada uando durante un número onseutivo de iteraiones no se onsigue mejorar la mejor soluión global obtenida. Eneste aso, seestableen todoslosrastros deferomonas a

τ

0

.

Sedebetenerenuentaqueesposiblehibridarlosalgoritmosdehormigasonténiasde búsqueda loalparamejorarsu eaia.Estahibridaiónonsistiríaen apliarunabúsqueda

(44)

atualizar laferomona,esdeir, seejeutaría elalgoritmo omo sisólo existiesenlasaristas que han sido reorridas por alguna de las hormigas que han enontrado una soluión. El aumento deeaiaonllevaunadisminuiónenlaeienia, porloqueeshabitualemplear labúsqueda loal junto on las llamadas listas de andidatos, que onsiste en estudiar sólo lospasos másprometedores enada paso delahormiga.

El algoritmo básio de sistemasde hormigason búsqueda loal es:

algoritmo HormigasConBusquedaLoal

mientras no ondiión de parada haer

Construión probabilístia de las soluiones preliminares mediante la olonia de hormigas

Refinamiento de dihas soluiones mediante búsqueda loal Atualizaión global de la feromona

fin mientras fin algoritmo

Deestemodo,losalgoritmosdehormigasonbúsquedaloalsonalgoritmoshíbridoson unageneraiónprobabilístiadesoluionesiniialesbasadaenunaténialásiade búsque-daloal.Así,podríaenuadrarsedentrodelosalgoritmosdeBúsqueda Loal Multiarranque, aunqueéstosúltimos generanaleatoriamente lassoluionesiniiales sinutilizar informaión heurístia. La prinipal diferenia es que el uso de las hormigas da lugar a un meanismo deooperaión global entrelassoluionesgeneradas, loquehaequelasejeuiones nosean independientes entresí.

A posteriori, uando la mayoría de los algoritmos de hormigas estaban ya propuestos, Dorigo y Di Caro propusieron un maro de trabajo general que dene la metaheurístia de hormigas [32 ℄. Instanian el algoritmo general on omponentes onretas, omo las reglas detransiión, las atualizaiones de losrastros deferomonas, et. pudiendo asíobtener dis-tintasvariantesde algoritmosde hormigas.Losdistintos algoritmossepueden implementar de forma seuenial o paralela para ser apliados respetivamente a problemas estátios o dinámios.

En general, paraapliar los algoritmos de hormigas a un problema, esneesario que el problema sepueda representar en forma de grafoon pesos.Cada arodel grafoontendrá

(45)

Informaión heurístia: que muestra la preferenia de las hormigas por esoger un aro en el amino y depende del aso onreto del problema. Esta informaión no es modiada por las hormigas durante la ejeuión del algoritmo, aunque puede variar alolargo deltiempo en problemas dinámios.

Informaiónmemorístia:queesuna medidade ladeseabilidaddelaro,representada por laantidad deferomona depositadaen élymodiada duranteelalgoritmo.

A modo de ejemplo, los algoritmos de optimizaión basados en olonias de hormigas se han apliado al enrutamiento de paquetes en redes de teleomuniaiones [20 , 93 ℄. El enrutamiento es la tarea onsistente en determinar elamino que seguirán los paquetes en una red de teleomuniaiones uando llegan a un nodo, de forma quepuedan alanzar su nododestinodelaformamásrápidaposible.UnejemplodeestetipodealgoritmoesAntNet, queesunalgoritmodehormigasadaptativoydistribuidoparaenrutamiento depaquetesen redes.

Las redes sepueden modelar mediante un grafo dirigido on

N

nodos de proesamien-to/destino,dondelosarosdelgrafoestánaraterizados porelanhodebanda(en bits/se-gundo)y el retardo de transmisión (ensegundos) del enlae físio. Se onsideran dostipos depaquetes: los deenrutamiento ylosde datos, teniendo unamayor prioridadlospaquetes de enrutamiento.

Las hormigas se onsideran equivalentes a los paquetes de enrutamiento, lanzándose asínronamente a la redhaia nodos destino aleatorios. Cada una de las hormigas busará un amino de oste mínimo entre su nodo de partida y su nodo de destino. Para ello, se moverápasoapasopor lared(representadaporelgrafo)yenada nodo intermediotendrá quedeidiraquénodosedirigemediante unaregla detransiión. Paratomar estadeisión, lahormigadebeonsiderarlaantidaddeferomonaylaprefereniaheurístiadelosenlaes de lared.

Comoesdeesperar,elestadodelaredvaríaoneltiempoporlaposibleaídadeenlaes, laongestión, et.Ahora bien,el algoritmo manejaadeuadamenteesta diultadgraiasa su naturalezadistribuida ysu apaidadde adaptaión.

Cuando unahormiga llega asu nodode destino, vuelve sobresus pasosatualizando en elamino las tablas de enrutamiento de losnodosde auerdo altiempo quetardó enhaer elamino, reforzando lasrutas positivamente o negativamente.

(46)

oloreado degrafos ola seueniaión de tareas, presentando iertas ventajas ydesventajas frenteaotrosmétodos.Porejemplo,enelproblemadelviajantedeomerioesrelativamente eiente,puesACOtieneunmejoromportamientoqueotrasténiasdeoptimizaiónglobal paraelproblemaTSP,omoporejemploquelasredes neuronales, losalgoritmosgenétioso elenfriamientosimulado.Comparadoonlosalgoritmosgenétios,elmétodoACOretieneen memorialosdatosdelaoloniadehormigasentera,mientrasqueenlosalgoritmosgenétios sólo se mantiene la informaión de la anterior generaión. Sin embargo, al método de las hormigas leafeta menos laeleión de malas soluionesiniiales, graias a laombinaión delaeleiónaleatoria delaminoylamemoriade lashormigas.Además,enlosalgoritmos ACO laonvergenia estágarantizada aunqueeltiempo deonvergenia sedesonoe.

2.6. Algoritmos Basados en la Formaión Dinámia de losRíos

En esta seión se onsidera otro maro de trabajo. Este maro de trabajo alternativo es un diseño original de esta tesis y también está basado en la naturaleza, en partiular en la formaión dinámia de los ríos. Imaginemos que se deposita una masa de agua en algún punto a ierta altura. La gravedad hará que esa masa de agua siga algún amino haia abajo hasta que no pueda bajar más. En términos de Geología, uando llueve en las montañas - Figura 2.17 -, se depositan masas de agua en dihas montañas - Figura 2.18 -y el agua trata de enontrar su propio amino haia abajo para llegar al mar. A lo largo del amino, el agua erosiona la tierra - Figura 2.19 - y transforma el paisaje reando un aue.Cuandoelaguaatraviesaunafuertependiente,erosionasedimentosdelatierraensu amino - Figura2.20 -. Estos sedimentos serán depositados más tarde uando la pendiente sea menor - Figura 2.21 -. Los ríos afetan al medio reduiendo (es deir, erosionando) o aumentando(es deir,sedimentando) laaltitud delterreno - Figura2.22-.

Resaltemos que, si el agua se deposita en todos los puntos del terreno (por ejemplo, llueve), entones la forma del río tiende a optimizar la tarea de reoger todo el agua y llevarla hasta el mar, lo que no implia oger el amino más orto hasta el mar desde un punto deorigen dado.Destaquemosquehaymuhospuntosde origenaonsiderar (unopor ada punto en elqueaeuna gota).Deheho, eneste asosereará unaespeiede amino másortoombinado.Sinembargo, sielagua uyedesdeunpuntoúnio yno seonsideran otras fuentes de agua, entones el amino del agua tiende a seguir la forma más eiente parareduirlaaltura (esdeir, tratade enontrar elamino más orto).

(47)

Figura2.17: Llueve en lasmontañas Figura2.18: Seforma una masade agua

Figura2.19:Elaguaavanzayprodue ero-sión

Figura 2.20: Elagua arrastra sedimentos

Figura2.21: El agua alanzael mar Figura 2.22: Se produen pendientes de bajada

(48)

métodofunionadelasiguientemanera.Envezdeasoiarvaloresdeferomonasalasaristas omoen losalgoritmos deolonias de hormigas,seasoianvaloresde altura alos nodosdel grafo. Cuando semueven las gotas, obien erosionan elterreno (reduiendo laaltura de los nodos), obiendepositanelsedimento (aumentando laaltura delosnodos). Laprobabilidad de que una gota elija una arista dada en lugar de otra es proporional a la pendiente de bajada de la arista y, por tanto, depende de la diferenia de alturas entre los nodos y la distania (es deir, eloste de la arista).Al omienzo delalgoritmo, separte de un mundo plano,estoes, todoslosnodostienen lamismaaltura. Laexepiónesel nodo destino,que esunagujero.Lasgotas sedepositanenelnododeorigenyseextiendenportodoelterreno llano hasta que algunas de las gotas aen en el nodo destino. Este heho erosionará a los nodosadyaentes, loquereará nuevaspendientesde bajada y,de este modo,sepropagará elproesodeerosión.Despuésseinsertaránnuevasgotasenelnodoorigenparatransformar losaminosyreforzarlaerosióndelos aminosprometedores. Despuésdealgunos pasos,se enontraránbuenosaminosdesdeelorigenhastaeldestino.Estosaminosvienendadosen formade seuenias de aristasdereientesdesde elorigen hastaeldestino.

Estenuevométodo,quedenominamosRFD(delinglésRiverFormationDynamis), pro-porionalassiguientesventajasrespetoalACO.Porunlado,losilosloalesnoserearán nireforzaránporqueestoimpliaría unilosiempre dereiente, loqueesontraditorio. Si bien las hormigas tienen en uenta elamino ya realizado para poder evitar repetir nodos, no pueden evitar ser onduidas por rastros de feromonas a través de algunas aristas de talmanera que seainevitable repetir algún nodoen el siguientepaso

1

.Por elontrario, las alturasnopueden guiaralasgotasaestassituaiones.Porotrolado,uandoRFDenuentra unaminomásorto,elposteriorrefuerzodelamino esrápido: sisetienenelmismoorigen yelmismo destinotanto enelamino nuevoomoenelamino viejo,entonesladiferenia dealtura esobviamentelamisma peroladistania esdiferente. Por lotanto,las aristas del amino más orto tienen neesariamente mayores pendientes de bajada (en media) y son preferidas inmediatamente (en media) por las gotas que vengan a ontinuaión. Además, nótese que elproeso de erosión proporiona un método paraevitar soluionesineientes: si un amino ondue a un nodo queestá a menor altura que elresto de nodos adyaentes (esdeir,esunallejón sinsalida)entones lagotadepositarásusedimento,inrementando laalturadelnodo.Antesodespués,laalturadeestenodoalanzarálaalturadesusveinos, onloqueseevitaráqueotrasgotasquedenatrapadas enestenodo.Esmás,antesde llegar aesepunto lasgotas podríanaumularseen elnodohastaquelamasa deagua alanzasela

1

(49)

altura de los nodos veinos (se forma un lago). Siel agua alanzara este nivel, otras gotas serían apaes de ruzar este nodo desde un nodo adyaente a otro. De esta manera, los aminosquedaráninterrumpidoshastaquelossedimentosnorellenen elhueo.Estaténia proporiona unmétodo implíitopara evitaromportamientos ineientesde las gotas.

2.6.1. Algoritmo Básio

El esquema básio delalgoritmoeselsiguiente:

iniializarGotas() iniializarNodos()

mientras (no todasGotasSiguenMismoCamino()) y (no otraCondiionFin()) moverGotas()

erosionarCaminos() depositarSedimentos() analizarCaminos() fin mientras

Esteesquemamuestralaideaprinipaldelalgoritmopropuesto.Aontinuaiónseanaliza el omportamiento de ada uno de los pasos. Primero, se iniializan las gotas (iniiali-zarGotas()),esdeir,sesitúantodaslasgotasen elnodoiniial. Elsiguientepasoonsiste eniniializar todoslos nodosdel grafo(iniializarNodos()).En estepasoserealizan dos operaiones. Enlaprimera operaión,seja laaltura delnodo destinoa

0

.En términos de la analogía de la formaión dinámia de los ríos, este nodo representa el mar, es deir, el objetivo nalde todaslas gotas.En lasegundaoperaión, seasigna elmismo valorpara la altura delresto de losnodos.

Elbulemientrasdelalgoritmoseejeutahastaquetodaslasgotasenuentranlamisma soluión (todasGotasSiguenMismoCamino()), esdeir, todas lasgotas atraviesan lamisma seueniadenodos,osesatisfaeotraondiióndenalizaión(otraCondiionFin()).Esta ondiiónsepuedeutilizarpara,porejemplo,limitarelnúmerodeiteraionesoeltiempode ejeuión. Otra posibilidad es la de nalizar el bule si la mejor soluión enontrada hasta elmomento no hasido mejorada enlas últimas

N

iteraiones.

El primer pasodel uerpo del buleonsiste en irmoviendo las gotas por losnodos del grafo(moverGotas()) de maneraparialmente aleatoria.En lasiguienteregla de transiión se dene la probabilidad de que una gota

k

que se enuentra en el nodo

i

elija al nodo

j

Figure

Actualización...

Referencias

Actualización...

Related subjects :