Skip to main content

Implementation of standard, diffusion and migration models of genetic algorithms.

Project description

geneticalgs

Implementation of standard, migration and diffusion models of genetic algorithms (GA) in python 3.5.

Benchmarking was conducted by COCO platform v15.03.

The project summary may be found in project_summary.pdf.

Link to GitHub

Link to PyPI.

Link to Read The Docs.

Implemented features

  • standard, diffusion and migration models
    • with real values (searching for global minimum or maximum of the specified function)
    • with binary encoding combination of some input data
  • old population is completely replaced with a new computed one at the end of each generation (generational population model)
  • two types of fitness value optimalization
    • minimization
    • maximization
  • three parent selection types
    • roulette wheel selection
    • rank wheel selection
    • tournament
  • may be specified mutation probability
  • may be specified any amount of random bits to be mutated
  • may be specified crossover probability
  • different types of crossover
    • single-point
    • two-point
    • multiple point up to uniform crossover
  • elitism may be turned on/off (the best individual may migrate to the next generation)

Content description

  • /geneticalgs/ contains source codes
  • /docs/ contains sphinx source codes
  • /2.7/ contains files converted from python 3.5 to python 2.7 using 3to2 module as COCO platform used in benchmarking supports only this version of python. These files (not installed package geneticalgs) are used in benchmarking. Must be copied in the directory with my_experiment.py or my_timing.py.
  • /2.7/benchmark/ contains the following files:
    • my_experiment.py is used for running benchmarking. Read more here.
    • my_timing.py is used for time complexity measurements. It has the same run conditions as the previous file.
    • pproc.py is a modified file from COCO platform distribution that must be copied to bbob.v15.03/python/bbob_pproc/ in order to post-process measured data of migration GA (other models don’t need it). It is necessary due to unexpected format of records in case of migration GA.
  • /benchmarking/ contains measured results and the appropriate plots of benchmarking.
  • /time_complexity/ contains time results measured using my_timing.py.
  • /examples/ contains examples of using the implemented genetic algorithms.
  • /tests/ contains pytest tests

Requirements

Installation

Install package by typing the command

python -m pip install geneticalgs

If you have problems installing NumPy it is strongly recommended to use Anaconda.

Running tests

You may run tests by typing from the package directory

python setup.py test

Documentation

Go to the package directory and then to docs/ and type

pip install -r requirements.txt

Then type the following command in order to generate documentation in HTML

make html

And run doctest

make doctest

License

Licensed under Apache License Version 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
geneticalgs-1.0.1.tar.gz (33.1 MB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page