Skip to main content

Optimization method for solving boundary-value inverse problem based on a combined simulated annealing and genetic algorithm

Project description

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.


Please cite the GitHub repository until our manuscript is accepted for publications:


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


SAGA_optimize requires the following Python libraries:

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


>>> 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.


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.


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


  • Huan Jin
  • Hunter N.B. Moseley

Project details

Download files

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

Files for SAGA-optimize, version
Filename, size File type Python version Upload date Hashes
Filename, size SAGA_optimize- (18.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page