DESDEO icon indicating copy to clipboard operation
DESDEO copied to clipboard

[IDEA] Implementation of Scalarization functions

Open light-weaver opened this issue 1 year ago • 2 comments

  • What is the current behavior? The scalarization functions are implemented as Python classes. One of the methods of the classes can accept objective values (and additionally, preferences, if they have not been set) and returns the scalarized value.

  • Describe the solution you'd like A wrapper function that takes the MathJSON implementation of the MOP (as a dataclass) and the preferences and adds an additional key to the dataclass with the scalarized version of the problem.

  • What is the motivation/use case for changing the behavior? Creating a scalarized version of the problem enables optimizers (such as Gurobi) to be aware of the problem formulation. This enables a large number of optimizers to be used.

  • Describe alternatives you've considered None.

  • Additional context Based on discussion with Giovanni, it will be nice to have a generic GLIDE-II based wrapper. Wrappers for individual scalarization functions can be based on the generic wrapper.

  • Example behaviour:

Image

light-weaver avatar Dec 02 '23 16:12 light-weaver