luinardi / hypermapper

Black-box Optimizer based on Bayesian Optimization
MIT License
155 stars 26 forks source link

compute_pareto #66

Closed aliirmak closed 3 years ago

aliirmak commented 3 years ago

steps: 1- compute_pareto computes the paretofront. 2- i use plot_pareto to plot it (red). 3- I manually import the pareto.csv file that is generated by hypermapper to a numpy array and plot it (blue).

the plots do not match. what am I missing here? the csv file generates a smooth curve compared to plot_pareto. this may be an intended behavior?

image

arturluis commented 3 years ago

Hi @aliirmak ,

The short answer is yes, that is the intended behavior.

The Pareto front plot has that step-wise shape. Put briefly, the step-wise pareto plot lets us state with certainty that any point above the Pareto front is not Pareto efficient. We cannot say the same for the line plot generated by NumPy because the interpolation done by the plotting library may not reflect points that actually exist.

I hope that's clear, if not, I can expand a bit on the explanation.

aliirmak commented 3 years ago

got it, thanks!

arturluis commented 3 years ago

No problem!