DESDEO is an open source software framework for interactive multiobjective optimization methods. It contains both scalarization based and evolutionary methods.
The framework is meant for both simulation-based and data-driven problems. It contains different surrogate models and is currently being extended for various data-driven problems including uncertainty considerations. Among others, machine learning tools are utilized in different phases of solution processes. In addition, elements of graphical user interfaces and visualizations are under construction.
The framework is divided into modular packages, implemented in
python, with well-defined purposes. The modularity makes it easier to add new methods, while ensuring cross-compatibility between methods.
The packages currently under development within the DESDEO framework are:
desdeo: This is the user-facing package that provides UI support and enables easy cross-compatibility between methods. This is the only package that needs to be installed manually if a user only wants to use the framework for solving optimization problems.
code documentation (start here!)
desdeo-tools: This package contains general purpose tools that are used by one or more of the other packages in the framework. Examples include scalarization functions, single objective optimizers, non-dominated sorting and multi-objective optimization metrics.
desdeo-problem: This package contains methods which are used to define the multiobjective problem to be solved. The objects created by this package can be used by all the packages "above" it. This package also supports surrogate modelling and uncertainity handling.
desdeo-mcdm: This package contains the traditional optimization techniques from the field of Multiple-criteria decision-making. Methods such as belonging to NIMBUS- or Nautilus-family can be found here.
desdeo-emo: This package provides support for multiobjective optimization via Evolutionary Algorithms. Interactive versions of popular algorithms such as RVEA and NSGA-III can be found here.
desdeo-mix: This package is meant for optimization methods that use aspects of both, MDCM and evolutionary techniques.
desdeo-components: This is the desdeo visualization packages and provides support for two and multidimensional visualizations.
desdeo-brb: This package contains tools to implements belief-rule based systems.
Any of these packages can be installed using poetry or pip:
pip install <package name>
poetry install <pacakge name>
- O-NAUTILUS: Extends the NAUTILUS Navigator algorithm to data-driven optimization. code