Skip to content

Combined simulated annealing and genetic algorithm (SAGA) for model parameter optimization

License

Notifications You must be signed in to change notification settings

MoseleyBioinformaticsLab/SAGA_optimize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAGA_optimize

License information Current library version Supported Python versions Travis CI status

SAGA_optimize is a novel type of combined simulated annealing and genetic algorithm used to find the optimal solutions to a set of parameters based on a given energy function calculated using the set of parameters.

Citation

Please cite the GitHub repository until our manuscript is accepted for publications: https://github.com/MoseleyBioinformaticsLab/SAGA_optimize.git

Installation

SAGA_optimize runs under Python 3.6+ and is available through python3-pip. Install via pip or clone the git repo and install the following dependencies and you are ready to go!

Install on Linux

Pip installation

python3 -m pip install SAGA-optimize

GitHub Package installation

Make sure you have git installed:

git clone https://github.com/MoseleyBioinformaticsLab/SAGA_optimize.git

Dependecies

SAGA_optimize requires the following Python libraries:

  • JSONPickle for saving Python objects in a JSON serializable form and outputting to a file.

Quickstart

>>> import SAGA_optimize
>>> saga = SAGA_optimize.SAGA(stepNumber=100000, temperatureStepSize=100, startTemperature=0.5,
                              alpha=1, direction=-1, energyCalculation=energyCalculation, crossoverRate=0.5,
                              mutationRate=3, annealMutationRate=1, populationSize=20)                  # SAGA instance creation.
>>> saga.addElementDescriptions(SAGA_optimize.ElementDescription(low=0, high=10),
                                SAGA_optimize.ElementDescription(low=0, high=10),
                                SAGA_optimize.ElementDescription(low=0, high=10),
                                SAGA_optimize.ElementDescription(low=0, high=10),
                                SAGA_optimize.ElementDescription(low=0, high=10))        # Add optimized parameters.
>>> optimized_population = saga.optimize()              # the population returned after the opitimization.

Note

Read the User Guide and the SAGA_optimize Tutorial on ReadTheDocs to learn more and to see code examples on using the SAGA_optimize as a library.

License

Made available under the terms of The Clear BSD License. See full license in LICENSE.

Authors

  • Huan Jin
  • Hunter N.B. Moseley

About

Combined simulated annealing and genetic algorithm (SAGA) for model parameter optimization

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages