FPGA implementation of population-based ant colony optimization

Abstract We present a hardware implementation of population-based ant colony optimization (P-ACO) on field-programmable gate arrays (FPGAs). The ant colony optimization meta-heuristic is adopted from the natural foraging behavior of real ants and has been used to find good solutions to a wide spectrum of combinatorial optimization problems. We describe the P-ACO algorithm and present a circuit architecture that facilitates efficient FPGA implementations. The proposed design shows modest space requirements but leads to a significant reduction in runtime over software-based solutions. Several modifications and extensions of the basic algorithm are also presented, including the approximation of the heuristic function by a small, dynamically changing set of favorable decisions.

[1]  Daniel Merkle,et al.  Fast Ant Colony Optimization on Runtime Reconfigurable Processor Arrays , 2002, Genetic Programming and Evolvable Machines.

[2]  R. Steele Optimization , 2005 .

[3]  Hartmut Schmeck,et al.  Multi Colony Ant Algorithms , 2002, J. Heuristics.

[4]  Wayne Luk,et al.  Static and Dynamic Reconfigurable Designs for a 2D Shape-Adaptive DCT , 2000, FPL.

[5]  Demessie Girma,et al.  Artificial Neural Network Implementation on a Fine-Grained FPGA , 1994, FPL.

[6]  J. Deneubourg,et al.  Probabilistic behaviour in ants: A strategy of errors? , 1983 .

[7]  Joseph Y.-T. Leung,et al.  Minimizing Total Tardiness on One Machine is NP-Hard , 1990, Math. Oper. Res..

[8]  Malek Rahoual,et al.  Parallel Ant System for the Set Covering Problem , 2002, Ant Algorithms.

[9]  M Dorigo,et al.  Ant colonies for the quadratic assignment problem , 1999, J. Oper. Res. Soc..

[10]  Marco Dorigo,et al.  The ant colony optimization meta-heuristic , 1999 .

[11]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[12]  Daniel Merkle,et al.  Bi-Criterion Optimization with Multi Colony Ant Algorithms , 2001, EMO.

[13]  Andrew Lewis,et al.  A Parallel Implementation of Ant Colony Optimization , 2002, J. Parallel Distributed Comput..

[14]  J. McCaskill,et al.  Parallel random number generator for inexpensive configurable hardware cells , 2001 .

[15]  Philip Heng Wai Leong,et al.  Implementation of an FPGA based accelerator for virtual private networks , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[16]  Marco Dorigo,et al.  Optimization, Learning and Natural Algorithms , 1992 .

[17]  Francisco José Ballester-Merelo,et al.  Artificial neural network implementation on a single FPGA of a pipelined on-line backpropagation , 2000, Proceedings 13th International Symposium on System Synthesis.

[18]  Luca Maria Gambardella,et al.  MACS-VRPTW: a multiple ant colony system for vehicle routing problems with time windows , 1999 .

[19]  John D. Villasenor,et al.  Video communications using rapidly reconfigurable hardware , 1995, IEEE Trans. Circuits Syst. Video Technol..

[20]  Brad Hutchings,et al.  FPGA-based stochastic neural networks-implementation , 1994, Proceedings of IEEE Workshop on FPGA's for Custom Computing Machines.

[21]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[22]  Bernd Scheuermann,et al.  Population based ant colony optimization on FPGA , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[23]  Martin Middendorf,et al.  A Population Based Approach for ACO , 2002, EvoWorkshops.

[24]  Dionysios I. Reisis,et al.  Parallel Computations on Reconfigurable Meshes , 1993, IEEE Trans. Computers.

[25]  Antti Hämäläinen,et al.  8 Gigabits per Second Implementation of the IDEA Cryptographic Algorithm , 2002, FPL.

[26]  Hartmut Schmeck,et al.  Ant colony optimization for resource-constrained project scheduling , 2000, IEEE Trans. Evol. Comput..

[27]  Gabriele Kotsis,et al.  Parallelization strategies for the ant system , 1998 .

[28]  Cyril Fonlupt,et al.  Parallel Ant Colonies for Combinatorial Optimization Problems , 1999, IPPS/SPDP Workshops.

[29]  Luca Maria Gambardella,et al.  Ant Algorithms for Discrete Optimization , 1999, Artificial Life.

[30]  Graham M. Megson,et al.  The systolic array genetic algorithm, an example of systolic arrays as a reconfigurable design methodology , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[31]  M. Dorigo,et al.  1 Positive Feedback as a Search Strategy , 1991 .

[32]  Michael Guntsch,et al.  Applying Population Based ACO to Dynamic Optimization Problems , 2002, Ant Algorithms.

[33]  J. Deneubourg,et al.  Trails and U-turns in the Selection of a Path by the Ant Lasius niger , 1992 .

[34]  Prabhas Chongstitvatana,et al.  A hardware implementation of the Compact Genetic Algorithm , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[35]  Brent E. Nelson,et al.  Genetic algorithms in software and in hardware-a performance analysis of workstation and custom computing machine implementations , 1996, 1996 Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[36]  Christine Solnon,et al.  Ants can solve constraint satisfaction problems , 2002, IEEE Trans. Evol. Comput..