Skip to content

Implemented methods and features

This page gives an overview of what is currently implemented in DESDEO's core-logic, so you can quickly find the interactive methods, algorithms, and tools that are available and jump to the relevant guide and API reference.

Each entry links to a how-to guide (where one exists) and to the corresponding section of the API reference.

Keeping this page current

This page is maintained by hand. When adding a new interactive method, algorithm, operator, solver, or test problem to the core-logic, please add a row here as part of the same contribution.

Interactive methods

Scalarization-based (MCDM) methods

Method Description Reference Guide API
Reference Point Method Projects a reference point onto the Pareto front using an achievement scalarizing function. Wierzbicki, A. P. (1982). A mathematical basis for satisficing decision making. Mathematical Modelling, 3(5), 391-405. MCDM methods mcdm
Synchronous NIMBUS Classification-based method where the decision maker improves/relaxes objectives. Miettinen, K., & Mäkelä, M. M. (2006). Synchronous approach in interactive multiobjective optimization. European Journal of Operational Research, 170(3), 909-922. MCDM methods mcdm
G-NIMBUS Group decision making variant of NIMBUS with a voting procedure. No dedicated publication yet; group extension of NIMBUS (see the NIMBUS reference above). MCDM methods mcdm
NAUTILUS Approaches the Pareto front from the nadir point without trading off. Miettinen, K., Eskelinen, P., Ruiz, F., & Luque, M. (2010). NAUTILUS method: An interactive technique in multiobjective optimization based on the nadir point. European Journal of Operational Research, 206(2), 426-434. MCDM methods mcdm
NAUTILUS Navigator Interactive navigation toward the Pareto front without trading off. Ruiz, A. B., et al. (2019). NAUTILUS Navigator: free search interactive multiobjective optimization without trading-off. Journal of Global Optimization, 74(2), 213-231. NAUTILUS Navigator mcdm
NAUTILI Group decision making variant of the NAUTILUS family. Pajasmaa, J., Saini, B. S., Shavazipour, B., Ruiz, F., Podkopaev, D., & Miettinen, K. (2026). NAUTILI: A trade-off-free interactive multiobjective optimization method for group decision making. Journal of Global Optimization. https://doi.org/10.1007/s10898-026-01617-6 NAUTILI mcdm
E-NAUTILUS Computationally light NAUTILUS variant working from a precomputed set. Ruiz, A. B., Sindhya, K., Miettinen, K., Ruiz, F., & Luque, M. (2015). E-NAUTILUS: A decision support system for complex multiobjective optimization problems based on the NAUTILUS method. European Journal of Operational Research, 246(1), 218-231. MCDM methods mcdm
Pareto Navigator Interactive navigation over a polyhedral approximation of the Pareto front. Eskelinen, P., et al. (2010). Pareto navigator for interactive nonlinear multiobjective optimization. OR Spectrum, 32, 211-227. Pareto Navigator mcdm

Evolutionary (EMO) methods

Evolutionary methods are configured through option helpers in desdeo.emo.options.algorithms and run with the templates in desdeo.emo.methods.templates. Mixed-integer variants are available for RVEA, NSGA-III, and IBEA.

Algorithm Description Reference Guide API
RVEA Reference Vector Guided Evolutionary Algorithm. Cheng, R., Jin, Y., Olhofer, M., & Sendhoff, B. (2016). A reference vector guided evolutionary algorithm for many-objective optimization. IEEE Transactions on Evolutionary Computation, 20(5), 773-791. Evolutionary algorithms emo
NSGA-II Non-dominated sorting genetic algorithm with crowding distance. Deb, K., Pratap, A., Agarwal, S., & Meyarivan, T. (2002). A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation, 6(2), 182-197. Evolutionary algorithms emo
NSGA-III Reference-point based many-objective genetic algorithm. Deb, K., & Jain, H. (2014). An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach, part I: solving problems with box constraints. IEEE Transactions on Evolutionary Computation, 18(4), 577-601. Evolutionary algorithms emo
IBEA Indicator-based evolutionary algorithm. Zitzler, E., & Künzli, S. (2004). Indicator-based selection in multiobjective search. In Parallel Problem Solving from Nature (PPSN VIII), LNCS 3242, 832-842. Springer. Evolutionary algorithms emo

See Configuring evolutionary algorithms and the EMO Pydantic interface for the available options.

Building blocks and components

Scalarization functions

Available in desdeo.tools.scalarization (single decision maker) and desdeo.tools.group_scalarization (group decision making). Most come in both differentiable (_diff) and non-differentiable (_nondiff) forms.

Family Single DM Group
Achievement scalarizing function (ASF) yes (incl. generic forms) yes (incl. aggregated)
NIMBUS yes yes (incl. compromise)
STOM yes yes (incl. aggregated)
GUESS yes yes (incl. aggregated)
Weighted sums yes
Epsilon-constraint yes
Objective as scalarization yes
Desirability functions yes
IOPIS yes
Scenario-based yes

Guides: Scalarization, Scalarization methods. API: tools.

Evolutionary operators

Component Examples API
Generators random, Latin hypercube, binary/integer/mixed-integer, archive, seeded hybrid emo
Crossover simulated binary, single-point binary, blend-alpha, exponential, mixed-integer emo
Mutation bounded polynomial, binary flip, integer/mixed-integer, power, non-uniform, self-adaptive Gaussian emo
Selection RVEA, NSGA-II, NSGA-III, IBEA selectors emo
Scalar selection tournament, roulette wheel emo
Termination max generations, max evaluations emo
Archivers non-dominated and feasibility archives emo

Guide: Implementing evolutionary algorithms.

Solvers and interfaces

DESDEO interfaces with several optimizers; desdeo.tools.guess_best_solver selects a suitable one automatically based on the problem.

Solver Type Notes
Gurobi (GurobipySolver, PersistentGurobipySolver) LP / MIP Commercial; license required
Pyomo (PyomoGurobiSolver, PyomoIpoptSolver, PyomoBonminSolver, PyomoCBCSolver) LP / NLP / MINLP / MIP Via the Pyomo interface
SciPy (ScipyMinimizeSolver, ScipyDeSolver) NLP / global scipy.optimize
CVXPY (CVXPYSolver) Convex Requires a convex formulation
Nevergrad (NevergradGenericSolver) Derivative-free Black-box optimization
Proximal (ProximalSolver) Data-based For discrete, data-based problems

Guide: Solvers. API: tools.

Quality indicators

Available in desdeo.tools.indicators_unary and desdeo.tools.indicators_binary: hypervolume, IGD+, R2, R-metric, additive epsilon (unary and binary), and related batch variants. API: tools.

Decision-support utilities

Feature Description Guide API
Artificial decision makers (ADMs) Automated decision makers for benchmarking interactive methods (Chen et al. and Afsar et al. variants). Using ADMs adm
Group decision making (GDM) Voting rules (majority, plurality), preference aggregation, and SCORE bands. GDM with SCORE bands gdm
Explanations SHAP-based explanations of solutions and Lagrange multiplier utilities. explanations
Representative solution sets Generate a representative subset of solutions (iterative Pareto representer). Representative sets tools

Problem modeling and test problems

Problem types

DESDEO's problem format supports analytical, data-based, simulation-based, and surrogate-based problems, with continuous and (mixed-)integer variables, as well as scenario-based problems.

Guides: How to define a problem, Problems with surrogates, Simulator support. API: problem.

Built-in test problems

Available in desdeo.problem.testproblems.

Category Problems
Benchmark suites DTLZ (1, 2, 4), ZDT (1-4, 6), RE (21-24)
Engineering design multiobjective welded beam (6 variants), rocket injector design
Real-world river pollution, forest management, Spanish sustainability, summer cabin battery
Combinatorial / mixed-integer knapsack, MOMIP
Pedagogical / synthetic various simple_* problems, the cake problem

Guide: Test problems. API: problem.