Flexible implementation of genetic algorithms on FPGAs

Genetic algorithms (GAs) are useful since they can find near optimal solutions for combinatorial optimization problems quickly. Although there are many mobile/home applications of GAs such as navigation systems, QoS routing and video encoding systems, it was difficult to apply GAs to those applications due to low computational power of mobile/home appliances. In this paper, we propose a technique to flexibly implement genetic algorithms for various problems on FPGAs. For the purpose, we propose a basic architecture which consists of several modules for GA operations to compose a GA pipeline, and a parallel architecture consisting of multiple concurrent pipelines. The proposed architectures are simple enough to be implemented on FPGAs, applicable to various problems, and easy to estimate the size of the resulting circuit. We also propose a model for predicting the size of resulting circuit from given parameters consisting of the problem size, the number of concurrent pipelines and the number of candidate solutions for GA. Based on the proposed method, we have implemented a tool to facilitate GA circuit design and development. This tool allows designers to find appropriate parameter values so that the resulting circuit can be accommodated in the target FPGA device, and to automatically obtain RTL VHDL description. Through experiments using Knapsack Problem and TSP, we show that the FPGA circuits synthesized based on the proposed method run much faster and consume much lower power than software implementation on a PC and that our model can predict the size of the resulting circuit accurately enough.

[1]  Brent E. Nelson,et al.  A Hardware Genetic Algorithm for the Travelling Salesman Problem on SPLASH 2 , 1995, FPL.

[2]  Shin'ichi Wakabayashi,et al.  Genetic algorithm accelerator GAA-II , 2000, ASP-DAC '00.

[3]  Hajime Kita,et al.  A Method for the Traveling Salesman Problem Based on the Genetic Algorithm , 1995 .

[4]  Shin'ichi Wakabayashi,et al.  Genetic algorithm accelerator GAA-II , 2000, Proceedings 2000. Design Automation Conference. (IEEE Cat. No.00CH37106).

[5]  John J. Grefenstette,et al.  Genetic Algorithms for the Traveling Salesman Problem , 1985, ICGA.

[6]  Teruo Higashino,et al.  A flexible and high-reliable HW/SW codesign method for real-time embedded systems , 2004, 25th IEEE International Real-Time Systems Symposium.

[7]  Hiroto Yasuura,et al.  High-performance hardware design and implementation of genetic algorithms , 2001 .

[8]  Keiichi Yasumoto,et al.  P-TOUR: A PERSONAL NAVIGATION SYSTEM FOR TOURISM , 2004 .

[9]  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).

[10]  Layuan Li,et al.  Genetic Algorithm-Based QoS Multicast Routing for Uncertainty in Network Parameters , 2003, APWeb.

[11]  Sadiq M. Sait,et al.  Iterative computer algorithms with applications in engineering - solving combinatorial optimization problems , 2000 .

[12]  Hiroaki Satoh,et al.  Minimal generation gap model for GAs considering both exploration and exploitation , 1996 .

[13]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .