jMetal / jMetalPy

A framework for single/multi-objective optimization with metaheuristics
https://jmetal.github.io/jMetalPy/index.html
MIT License
498 stars 150 forks source link

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

Closed mishras9 closed 2 years ago

mishras9 commented 2 years ago

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