Conclusion
Producing the GGAT has been a
good learning experience. As the research in genetic algorithms was done,
the author became so fascinated with them that further study in this field
was considers.
During the course of
implementation certain issues came to light that would have enabled a
radical re-design of the system. If the project had to be done again, less
time would have been wasted on programming language choice, since that
took a reasonable time of this project. LISP was initially considered as
implementation language, but the learning curve proved to be too steep for
the time provided.
Because of lack in time some
features were not implemented that would have made the GGAT a better tool.
The lack of error recovery during the execution of genetic algorithms, for
example, should have been considered at earlier stages so that enough time
was provided for its implementation. However these features can be easily
added to the system, as well as some other features mentioned previously
later on.
The main drawback of the
system is the limited number of example problems implemented with it.
Genetic algorithms are used it many area and mathematical function
optimisation is just one of them.
Overall the aim of the
project was accomplished and a general enough, genetic algorithm tool that
can be reused for a variety of genetic algorithm implementations was
developed. A reasonably easy to use GUI provided the front end of the
system and an API provided for reuse of the genetic algorithm engine.
However all the work done for
this project hardly scratch the surface of the genetic algorithms field,
and much further work can be done on this project.