ryojitanabe / reproblems

A set of real-world multi-objective optimization problems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minor issue of RE22

linjunhe opened this issue · comments

In RE22, the lower bound of x2 is 0.
However, x2=0 makes two constraints g1 and g2 become -inf.
This happens when I use NSGA-II to solve the current matlab implementation of RE22,

It may be better to replace x2 in the denominators of two constraints by (x2+1e-6),
or to set a small number (e.g., 1e-6) as the lower bound of x2, instead of 0.

Thanks for your suggestion, but I think that this is not problematic. In RE22, the two constraint function (g1 and g2) values should be non-negative.

In the supp file, the constraint violation for gi(x)>0 is defined as max{gi(x), 0}. (e.g., Eq. S.6, S.11, S.17, S.29, S.35, ...)
It seems to me that it should be max{-gi(x), 0}.

For example,
for an MOP with a constraint g(x)>0,

  1. if a solution x=1 leads to g(1) = 10>0, then the constraint is satisfied. In this case, the constraint violation value should be max{-10, 0}=0.
  2. if a solution x=5 leads to g(5) = -2 <0, then the constraint is not satisfied. In this case, the constraint violation value should be max{-(-2), 0}=2.

Actually, your matlab implementations of RE problems are consistent with my above discussions.

In RE22, when x2=0, g1 and g2 becomes -inf.
Then the constraint violation value becomes inf, which makes the second (constraint-related) objective imcomparable.

Thanks for pointing out the typos. I have fixed them.