ant colony optimization with multiple objectives hong zhou computer systems lab 2009-2010 quarter 3...

12
Ant Colony Optimization with Multiple Objectives Hong Zhou Computer Systems Lab 2009- 2010 Quarter 3 Period 2

Upload: dustin-wilkins

Post on 02-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Ant Colony Optimization with Multiple Objectives

Hong ZhouComputer Systems Lab 2009-2010

Quarter 3Period 2

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

To Be Implemented

• Two objectives– Two pheromones– Two ‘distances’

• Weighting objectives• Check against single

objective

• Display– Is there a way to show

two weights distinctly?

• How to calculate an overall ‘score’ or ‘length’– Is there a need to?

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

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;}

• Ant deposit:

edg.deposit(ws * QCONST/getTourLength());

• Updated in Edge:

tau = RHO * getTau() + deltaTau; deltaTau = 0.0;

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

As Program Runs

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