jMetal / jMetalPy

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

Integer variables and SBXCrossover #160

Closed yhamadi75 closed 1 year ago

yhamadi75 commented 1 year ago

Hello,

I have an Integer problem, which uses the SBXCrossover operator. However, I have to encode through Float variables since IntegerSBXCrossover operator is not available for import (not in jMetalPy/jmetal/operator/init.py). Is there a reason for that? Should I just hack that file to allow export?

Is there a perf/result difference in:

Using latest release to date 1.5.7, thanks for clarifying!

ajnebro commented 1 year ago

IntegerSBXCrossover operator is not available for import (not in jMetalPy/jmetal/operator/init.py). Is there a reason for that?

It seems that we forgot to include it :(

Should I just hack that file to allow export?

We are going to fix this, but in the meantime feel free to make any changes you need to make it work.

Is there a perf/result difference in:

using Floats to encode Integers and applying SBXCrossover for Floats using Integers and applying for IntegerSBXCrossover for Integers

I have not made any study comparing both approaches so I'm afraid I cannot help. In principle, using integers should made the algorithms run faster (I don't know to what extent) and I suspect that the results should be similar.

yhamadi75 commented 1 year ago

Thanks Antonio for the quick reply, and happy to help correcting a small thing :)