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

Wrong constraint on RWMOP50 #124

Open
TakatoKinoshita opened this issue Jan 29, 2023 · 1 comment
Open

Wrong constraint on RWMOP50 #124

TakatoKinoshita opened this issue Jan 29, 2023 · 1 comment

Comments

@TakatoKinoshita
Copy link

TakatoKinoshita commented Jan 29, 2023

In the appendix of the reference paper, $PL$ is defined as follows:
$$PL = \sum_{i=1}^{6}\sum_{j=1}^{6} x_{i}x_{j}B_{ij},$$
where, $\boldsymbol{x} = (x_1, \dots, x_6)$ is a decision vector, and $B$ is the matrix that describes the relation among the decision variables. This definition represents the square of a generalized norm in a distorted space by the matrix $B$, such as the Mahalanobis distance.

In contrast, $PL$ is calculated as the following code:

PL = zeros(size(x,1),1);
for i = 1 : size(x,2)
for j = 1 : size(x,2)
PL = PL + x(:,i) .* B(i,j) .* x(j);
end
end

where the variable x is a matrix that stores the decision vector for each solution in each row.

Although the appendix seems to contain some errata, this code is clearly wrong. It seems strange to calculate the sum of the products with the first decision variable of the first six solutions (i.e., x(j)).

This code should be modified as follows:

PL = zeros(size(x,1),1);
for i = 1 : size(x,2)
    for j = 1 : size(x,2)
        PL = PL + x(:,i) .* B(i,j) .* x(:,j);
    end
end

, or

PL = diag(x * B * x.')

I will send a PR with the former code. If there is no problem, please merge the PR.

@HanLeI187
Copy link
Contributor

Thank you very much for the insightful correction of RWMOP50, we will merge the PR asap

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