SimGALib:
Simple GA Library

...SimPSOLib: Simple PSO Library

.......SimTstLib: Simple Test Function Library

SimGALib is a small and simple C++ implementation of a GA

for use in optimizing a function. It is that way on purpose to make the code

as easy to understand as possible.

SimGALib now includes SimPSOLib which is a small

and simple C++ implementation of PSO also for use in optimizing a function.

SimGALib also includes SimTstLib which encapsulates available test functions and

random number generator functions. It is easily expandable.

Q1: Why SimGALib?

Because we felt that a simple implementation of a GA in C++ should be

done so that anyone could understand it.

...SimPSOLib: Simple PSO Library

.......SimTstLib: Simple Test Function Library

SimGALib is a small and simple C++ implementation of a GA

for use in optimizing a function. It is that way on purpose to make the code

as easy to understand as possible.

SimGALib now includes SimPSOLib which is a small

and simple C++ implementation of PSO also for use in optimizing a function.

SimGALib also includes SimTstLib which encapsulates available test functions and

random number generator functions. It is easily expandable.

Q1: Why SimGALib?

Because we felt that a simple implementation of a GA in C++ should be

done so that anyone could understand it.

Q2: I want to learn about Genetic Algorithms

Checkout: http://en.wikipedia.org/wiki/Genetic_algorithm

After all this reading... Do you still want SimGALib? Here it is

Last updated: 4/28/14

Warning:

Please note that some (optional) random number functions in SimTstLib are from

Numerical Recipes. Numerical Recipes (NR) is copyrighted software

and is included here for academic completeness only.

If NR software is used by you in any commercial application then must contact

NR to obtain a license.

Numerical Recipes Software

P.O. Box 243,

Cambridge, MA 02238

http://www.nr.com/

Revision history:

v.1.7.1 - 4/28/14 |
Bounded the
the accepting function prob in simulated annealing code to be between
0->1.0. Should not be necessary but if the difference in
energy were negative the prob. could have been > 1.0. Also,
fixed the calc of the energy delta to consider the restarts, otherwise
the Temp would not drop fast enough and the algorithm Temp would stay
w/ acceptance prob too high. |

v.1.7.0 - 4/14/14 | Corrected
an Organism( ) initialization problem when no params were passed, it
would default to 32 bits. Now it prints an error and does not
proceed. |

v.1.1.6 -
3/18/11 |
Added
particle swarm optimization (in SimPSOLib), encapsulated test functions
into SimTstLib, added printing of function evaluations, added an
optional random number generator from NR in C. |

v.1.1.5 -
6/23/10 |
Added
simulated annealing, corrected variance calculation. |

v.1.1.4 - 5/28/10 | Added
stochastic hillclimbing. |

v.1.1.3
- 3/11/10 |
Added ranking, tournament and several new evaluation functions. |

v.1.1.0 - 8/23/08 | Made the code a bit more object oriented. |

v.1.0.0 - 6/1/08 | Initial version. |