jMetal/jMetalPy

Can we fix the number of decimal points for the float solution while solving the algorithms?

mishras9 opened this issue · 0 comments

I have a multi-objective optimization problem with three objectives, two decision variables, and three constraints.
Objective function: two non-linear functions and one linear function
Decision variable: two integer variables (Bounded)
Constraint: three linear constraint (two bounding constraint and one relationship constraint)
Problem type: non-convex
I am trying to compare results obtained from using NSGA-II, SPEA-2, and SMPSO. I want to use indicators like Hypervolume, GD, IGD, and Epsilon to compare the performance of algorithms. However, I want a reference front for metrics like GD, IGD, and Epsilon.

I am thinking to use static values of decision variables which are of float type until three digits after decimal and use non-dominated sorting only for getting a reference pareto front. However, the reference pareto front is the best possible solution. So, when we use the algorithms in jMetalPy for obtaining float solutions the number of digits after decimal might vary. So, it may be possible that these algorithms give a front better than the reference front obtained. So, in that case values of GD, IGD, and Epsilon may be inconclusive.

@ajnebro @TimJay @Juanjdurillo @Canicio @cbarba