Decision Analytics for Complex Systems

Patrick Reed, School of Civil & Environmental Engineering


From Reed Research Group | Decision Analytics for Complex Systems



The Borg Multiobjective Evolutionary Algorithm (Borg MOEA) features auto-adaptive multi-operator search, dynamic population sizing, and epsilon-dominance archiving to solve many-objective optimization problems. See our publications for details on its design as well as studies demonstrating the effectiveness and efficiency of the Borg MOEA on a number of real-world applications. The C/C++ source code is freely available for academic and non-commercial use. Visit for more information and to request access to the source code.



DecisionVis provides commercial visualization software and services that enable efficient exploration of complex multi-dimensional spaces associated with many-objective complex engineering design problems. The technologies build from the doctoral work of former Reed Group member Josh Kollat. DecisionVis is distributed by DecisionVis, LLC, and can be obtained by registering here. Interested individuals can contact Dr. Kollat ( for licensing options.

Interactive Parallel Axis Plots

MOEA Benchmark Problems

Reed, P. et al. 2013 (Link to Paper)

Benchmark optimization problems published in "Evolutionary multiobjective optimization in water resources: The past, present, and future", an invited submission to the 35th Anniversary Issue of Advances in Water Resources. The problems are intended for use with MOEAFramework but may be modified for other algorithms or libraries.

MOEA Framework

MOEA Framework

MOEA Framework is a free, open-source Java framework for experimenting with several popular MOEAs including GDE3, MOEA/D, NSGA-II, ε-MOEA, ε-NSGA-II and random search. These MOEAs can be run on over 80 test problems, including problems from the ZDT, DTLZ and WFG test problem suites, as well as all constrained and unconstrained problems from the IEEE CEC 2009 special competition. The framework and source code can be downloaded from New users connecting their own optimization problems to MOEAFramework are encouraged to read through the MOEAFramework Setup Guide.

Interested users may also explore the in-browser MOEA Diagnostic Tool (requires Java).



Hadka, D., Keller, K., & Reed,P.(Link to Paper)

Robust Decision Making (RDM) is an analytic framework developed by Robert Lempert and his collaborators at RAND Corporation that helps identify potential robust strategies for a particular problem, characterize the vulnerabilities of such strategies, and evaluate trade-offs among them [Lempert et al. (2006)]. Multiobjective Robust Decision Making (MORDM) is an extension of RDM to explicitly include the use of multiobjective optimization to discover robust strategies and explore the tradeoffs among multiple competing performance objectives [Kasprzyk et al. (2013)].

Open-Source Models

  • Hymod and HBV rainfall-runoff models in C/C++. Written for use with MOPEX hydrologic data, but can be modified for use with other forcing and response data. Based on work from this paper but later modified for generality.


Project Platypus

A collection of libraries for optimization, data analysis, and decision making that includes that following:

  • PRIM, a Python library for the Patient Rule Induction Method, an algorithm for classifying binary data into hyper-dimensional boxes
  • Rhodium, a Python library for exploratory modeling and Robust Decision Making (RDM)
  • J3, a free desktop application for producing and sharing high-dimensional, interactive scientific visualizations
  • Platypus, a free and open source python library for multi-objective optimization
  • J3Py, a free desktop application for producing and sharing high-dimensional, interactive scientific visualizations
  • Executioner, a cross-language automation tool for running models

Sensitivity Analysis Library (SALib)

  • SALib, a Python library containing Sobol, Morris, and FAST sensitivity analysis methods. Requires Numpy. Designed for decoupled analysis, where sampling, model evaluation, and analysis steps are all performed separately.

Personal tools