Other software - Systems
Sensitivity analysis
- SAFE toolbox, available in Python, R, and Matlab. In addition to the software documentation, users can refer to Pianosi et al. (2015).
- SALib, available in Python. Similarly to SAFE, it implements commonly used sensitivity analysis methods.
A good starting point to start learning sensitivity analysis is the review by Pianosi et al. (2016).
Multi-Objective Evolutionary Algorithms
MOEAs are effective tools used to solve black-box optimization problems. They are popular in the domain of environmental engineering because of the number of black-box optimization problems we solve (e.g., calibration of simulation models, simulation-based optimization). An excellent starting point to MOEAs is the introductory overview by Maier et al. (2019), while more advanced readings are the reviews by Reed et al. (2013) and Maier et al. (2016). Libraries we typically use are:
- Platypus, a framework for evolutionary computing in Python with a focus on multiobjective evolutionary algorithms (MOEAs). It differs from existing optimization libraries, including PyGMO, Inspyred, DEAP, and Scipy, by providing optimization algorithms and analysis tools for multiobjective optimization.
- MOEA Framework, an open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other metaheuristics.
- Borg, a state-of-the-art optimization algorithm developed by David Hadka and Patrick Reed.
Note that many of these tools are developed by our colleague Pat Reed, so more details can be found on the Reed Group lab manual.