Skip to content

Modern Fortran Edition of the Pikaia Genetic Algorithm

License

Notifications You must be signed in to change notification settings

mmz-zmm/pikaia

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pikaia GitHub release

Modern Fortran Edition of the Pikaia Genetic Algorithm

Overview

This is a refactoring of the PIKAIA unconstrained optimization code from the High Altitude Observatory. The original code is public domain and was written by Paul Charbonneau & Barry Knapp. The new code differs from the old code in the following respects:

  • The original fixed-form source (FORTRAN 77) was converted to free-form source.
  • The code is now object-oriented Fortran 2003/2008. All user interaction is now through the pikaia_class.
  • All real variables are now double precision.
  • The random number generator was replaced with calls to the intrinsic Fortran random_number function.
  • There are various new options (e.g., a convergence window with a tolerance can be specified as a stopping condition, and the user can specify a subroutine for reporting iterations).
  • Mapping the variables to be between 0 and 1 now occurs internally, rather than requiring the user to do it.
  • Can now include an initial guess in the initial population.

Compiling

A build script, build.sh is provided in the project root directory. This script uses FoBiS to build the pikaia library and an example program.

Examples

  • An example use of Pikaia can be found here.

Documentation

  • The API documentation for the current master branch can be found here. This is generated by processing the source files with FORD. Note that the shell script will also generate these files automatically in the doc folder, assuming you have FORD installed.
  • The original Pikaia documentation (for v1.2) can be found here.

See also

About

Modern Fortran Edition of the Pikaia Genetic Algorithm

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Fortran 95.3%
  • Shell 4.7%