Closed caranha closed 7 years ago
Comments:
ws is just multiplying the matrixes, without subtracting the min
My mistake. I replaced W * Y
by W * (Y - minP)
in row 43 of scalarization_ws() to fix the problem.
wt is actually ws, without the Tchebycheff norm
The Tchebycheff norm is there! W * (Y - minP + eps)
does the Hadamard (i.e., element-wise) product, and applying max
by rows (with the apply(..., MARGIN = 1, FUN = max)
does the trick (since the Tchebycheff norm is equivalent to returning the largest value of the resulting row vectors).
awt is missing
Indeed
double check pbi calculations (seems to be missing a norm division in D2)
My mistake again. I replaced (Y - minP - D1 * W) ^ 2
by (Y - minP - D1 * W / NormW) ^ 2
to fix the problem.
all scalarization functions seem to be missing the min step which is included in the paper.
No. This is dealt with in the population update step. ;-)
Hmmm, I forgot to protect the AWT from div/0. Will try to sneak that in today.
HmHMmm.... The calculation of rho in AWT (page 4) requires the inverse of the weights, which means we need to deal with weights with zero values.
If we just add an epson to the zero values, the resulting Rho will be quite extreme. Example:
Weight Matrix: 0 0.25 0.25 0.25 0.25 0 0.25 0.25 0.25 0.25 0 0.5 0.125 0.25 0.125 0 0.125 0.125 0.25 0.5
Rho: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
Is this acceptable?
I believe it is. I'll consult Lucas about it, but from my understanding that should be the expected behavior - it certainly the is if we use an asymptotic argument.
Implement the missing scalarization strategies
Also, all scalarization functions seem to be missing the min step which is included in the paper.