Ant Colony Optimization with Multiple Objectives
130 likes | 256 Vues
Hong Zhou Computer Systems Lab 2009-2010 Quarter 3 Period 2. Ant Colony Optimization with Multiple Objectives. Ant Colony Optimization. Based on how real ants cooperate to find food Useful method to find near optimal paths.
Ant Colony Optimization with Multiple Objectives
E N D
Presentation Transcript
Hong Zhou Computer Systems Lab 2009-2010 Quarter 3Period 2 Ant Colony Optimization with Multiple Objectives
Ant Colony Optimization • Based on how real ants cooperate to find food • Useful method to find near optimal paths. • Ants choose their individual paths based on pheromones left by other ants. • They end up all going on the near optimal path
Multiple Objectives • Many variables effect how good a path is in real life • Could be weighted differently (currently 50% each in mine) • Results in different solutions (often less optimal in one variable but better overall) • Focus of the research: weight that would give a better path overall + improving system as a whole.
Possible Application • Military path finding: Speed versus Safety • Airplane routing Left is the faster route, right the safer. Lighter means higher elevation, darker lower
Development • Java • ACO, single objective • Improve/modify Elitist ant variation (affects the pheromone update) • Multiple objective, two variables • Output file
Display Is there a way to show two weights distinctly? How to calculate an overall ‘score’ or ‘length’ Is there a need to? To Be Implemented • Two objectives • Two pheromones • Two ‘distances’ • Weighting objectives • Check against single objective
Current Code • ACO Network Nodes, Edges, Ants • Node: has an ID and a weight, has ants ‘on’ it • Edge: has a ‘length’, where pheromone is stored • Ant: chooses next node, keeps track of path
Ant deposit: edg.deposit(ws * QCONST/getTourLength()); Updated in Edge: tau = RHO * getTau() + deltaTau; deltaTau = 0.0; Important Bits of Code • Ant: picking next node double rn = rnd.nextDouble();sumPij = 0.0;for (i=0; i < nan; i++) { sumPij += pij[i]; if (rn <= sumPij) break;}
Results • Current set up: • Network: • Node weights reflected by color • Edges with length • Starts out with no ants • Output: • Displays #steps, best tour length • Prints out each ant’s result as it finishes
Results, Conclusions • Best ever tour length versus path the ants congregate to: • 1182.5 versus approximately 1300 • Average tour length to be implemented • Outputting to a file • Determining actual best possible tour • Multiple Objective: • 1252.5 and about 1550, as expected slower
Works Cited • [1] Blum, C. Ant colony optimization: Introduction and recent trends. • Barcelona, Spain 2005 • [2] Mora, A.M. Balancing Safety and Speed in the Military Path Finding • Problem: Analysis of Different ACO Algorithms. Granada, Spain 2007 • [3] Mora, A.M. CHAC. A MOACO Algorithm for Computation of Bi- • Criteria Military Unit Path in the Battlefield. Granada, Spain 2006