auto-optimization / eafpy

https://auto-optimization.github.io/eafpy/
Other
1 stars 0 forks source link

3D cube graph options (maximisation/minimisation) (dominated/notdominated) #17

Open MLopez-Ibanez opened 1 year ago

MLopez-Ibanez commented 1 year ago

When plotting the 3D cube graph: https://auto-optimization.github.io/eafpy/examples/plot_datasets_examples.html#three-objective-cube-graph

There are two main options:

  1. Plot the volume that is dominated by the points
  2. Plot the volume that is NOT dominated by the points.

Imagine we are minimizing all three objectives and we have a set with a single point (.5,.5.5) and the ranges go from 0 to 1. Then:

  1. We can plot the cube with corners (.5,.5,.5) (1,1,1) and this corresponds to the volume dominated by the point.
  2. We can plot the cubes with corners (0,0,0), (1,1,.5) and (0,0,0) (.5,1,1) and (0,0,0) (1,.5,1) and this corresponds to the volume NOT dominated by the point (the complement of option 1).

Plotting the cube (0,0,0) (.5,.5,.5) is not correct as this is neither the complement nor the area dominated by the point. It seems the code in https://auto-optimization.github.io/eafpy/examples/plot_datasets_examples.html#three-objective-cube-graph is doing exactly that, thus it is not implementing option 1 nor 2.

The situation is different if the objectives are maximised. Then plotting the cube (0,0,0) (.5,.5,.5) is correct for option 1 (dominated).

Thus, I think the plot should have 2 options: maximise with default value False and dominated with default value True (option 1, while dominated=False will plot option 2).