Skip to content

Add the DDMOP (data-driven multiobjective) benchmark problems #524

Description

@gialmisi

Background

DDMOP is a suite of data-driven multiobjective optimization problems drawn from real-world applications, used widely in surrogate-assisted / offline data-driven optimization research. The problems are defined by datasets and/or surrogate models rather than clean analytic formulas. DESDEO has no implementation currently.

Heads-up (scoping): this is dataset/surrogate-driven, so it is more about combining data + surrogate evaluation into a Problem than transcribing a formula. DESDEO already has surrogate-model support (surrogatemodels/) and a simulator/external problem interface. Build on those. Partial PRs (a single DDMOP instance) are welcome.

What to do

  • Obtain the DDMOP problem set (datasets / surrogate definitions) from the reference.
  • For each instance, train/load the surrogate (or wire the dataset) and expose it as a Problem whose objectives query the surrogate.
  • Add a constructor (e.g. ddmop(instance: int) -> Problem) registered in __init__.py.
  • Add a test for at least one instance. If data is very large, discuss.

Reference

He, C., Tian, Y., Wang, H., & Jin, Y. (2020). A repository of real-world datasets for data-driven evolutionary multiobjective optimization. Complex & Intelligent Systems, 6, 189–197. (implementation https://github.com/HandingWang/DDMOP/tree/master )

Done when

  • At least one DDMOP instance loads as a Problem, evaluates to objective values, and has a passing test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    core-logicStuff related to the core-logic part of DESDEO

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions