Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect implementation of Spanish Sustainability Problem #189

Open
light-weaver opened this issue Nov 10, 2024 · 2 comments
Open

Incorrect implementation of Spanish Sustainability Problem #189

light-weaver opened this issue Nov 10, 2024 · 2 comments
Assignees

Comments

@light-weaver
Copy link
Member

f1 = Objective(

The objectives of the problem are supposed to be maximized with the value of 4 being the theoretical best (though it may not be the ideal point of the objective). A slide explaining the problem is shown below.

As the provided ideal and nadir values are positive, I don't think you have converted the problem into minimization. If that is the case, ideal should be larger than the nadir. I do not know if there are any other issues with the implemented objectives/constants/constraints as I do not know the actual problem implementation. Please check the implementation and make sure that it is alright.

sus

@light-weaver
Copy link
Member Author

Update:

I simply swapped the ideal and nadir values and changed the objective to maximization and the implementation "seems" correct now.

Here's what the Pareto front of the problem is supposed to look like:
true

Here's what it looks like with the modified problem:
implemented

The shapes are similar-ish, so that's good. But the currently implemented EAs are very bad at handling constraints (and this problem has a huge number of those). So this may entirely be an issue for the EAs now, rather than a wrongly implemented problem.

But just in case, check the implementation. I will leave this issue open.

@gialmisi
Copy link
Contributor

Thanks for noticing this! I had indeed the ideal and nadir values the wrong way (they should be swapped) and the argument maximize for the objectives should be set to True. I double checked the the problem definition, and it should be correct now (fixed in commit 2c0fbc6).

The implementation follows a matlab file that was forwarded to be by the creators of the original problem. To me, our front looks better, but it is also true that there is a huge number of constraints. I also notices small numerical differences between the results of the matlab implementation and the DESDEO2 implementation in Python, which might be due to floating point arithmetics (we have quadratic and log terms, which propagate even small errors very quickly...).

I have forwarded to you some email correspondences detailing the issue. This is good enough for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants