JEO: Java Evolving Objects

In this paper we introduce an Evolutionary Computation (EC) software system which addresses many of the current needs of the EC research and development community. Java Evolving Objects library (JEO) provides a exible and powerful framework for developing EC experiments. The package makes extensive use of the objectoriented paradigm, so that new experiments can be easily implemented by reusing or extending various ready-made EC paradigms: Genetic Algorithms (GA), Genetic Programming (GP), and others. Furthermore, JEO is fully integrated into a distributed computing package and coded in platform-independent Java, enabling distributed use of computing resources, even in heteregenous networks. After discussing previous work in the area of EC object oriented software design, we present JEO design, architecture, and implementation. We also present two sample EC problems the Travelling Salesperson Problem (solved using a linear chromosome representation), and the Symbolic Regression Problem (represented in GP). Despite their di erent genomic representations, the problems share a good amount of code demonstrating JEO's lack of a need for many problem-speci c data structures. Furthermore, JEO is able to solve these problems seamlessly in a distributed computing environment.

[1]  FreeUniversityof Amsterdam DeBoelelaan,et al.  Maintaining Connectivity in a Scalable and Robust Distributed Environment , 2002 .

[2]  John J. Grefenstette,et al.  A Parallel Genetic Algorithm , 1987, ICGA.

[3]  Lawrence Davis,et al.  Applying Adaptive Algorithms to Epistatic Domains , 1985, IJCAI.

[4]  Chong Fuey Sian A Java based Distributed Approach to Genetic Programming on the Internet , 1998 .

[5]  G. Reinelt The traveling salesman: computational solutions for TSP applications , 1994 .

[6]  Erick Cantú-Paz,et al.  Modeling Idealized Bounding Cases of Parallel Genetic Algorithms , 1996 .

[7]  Raffaele Perego,et al.  Parallel Genetic Algorithms for Hypercube Machines , 1998, VECPAR.

[8]  Maarten Keijzer,et al.  Evolving Objects: A General Purpose Evolutionary Computation Library , 2001, Artificial Evolution.

[9]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[10]  Bernd Freisleben,et al.  A genetic local search algorithm for solving symmetric and asymmetric traveling salesman problems , 1996, Proceedings of IEEE International Conference on Evolutionary Computation.

[11]  Ben Paechter,et al.  A distributed resource evolutionary algorithm machine. , 2000 .

[12]  Natalio Krasnogor,et al.  MAFRA: A java memetic algorithms framework , 2000 .

[13]  Ben Paechter,et al.  A scalable and robust framework for distributed applications , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[14]  M. C. Sinclair Minimum cost wavelength-path routing and wavelength allocation using a genetic-algorithm/heuristic hybrid approach , 1999 .