BIMK / PlatEMO

Evolutionary multi-objective optimization platform
1.58k stars 462 forks source link

Expected Improvement. #91

Open XunzhaoYu opened 3 years ago

XunzhaoYu commented 3 years ago

In ParEGO, EvolALG.m, Expected improvement is computed by: EI(i) = -(Gbest-y)*normcdf((Gbest-y/s))-s*normpdf((Gbest-y)/s); The parameter for normcdf() should be '(Gbest-y)/s', which is consistent with the parameter of normpdf().

A similar issue happens in MOEA/D-EGO, EGOSelect.m: EI = (Gbest-y)*normcdf((Gbest-y/sqrt(x))) + sqrt(x)*normpdf((Gbest-y)/sqrt(x));

Reference: Equation (15) in Jones, D.R., Schonlau, M., and Welch, W.J., 1998. Efficient global optimization of expensive black-box functions. Journal of Global Optimization, 13(4), pp.455-492.

Screen Shot 2021-06-11 at 4 11 10 PM
DestinyMy commented 3 years ago

Thank you for your correction. We will revise it as soon as possible.

XunzhaoYu commented 3 years ago

Also, can u check the following issues: In MOEA/D-EGO, the Tchebycheff aggregation of multiple objectives: 1.The sigma2_hat predicted by Kriging model: E[X^2]:

Screen Shot 2021-06-16 at 3 00 26 AM

y_hat = E[X]:

Screen Shot 2021-06-16 at 3 03 13 AM

sigma2_hat = Var[X] = E[X^2] - (E[X])^2

Screen Shot 2021-06-16 at 3 01 27 AM

However, the sigma2_hat in EGOSelect.m is computed by lambda, not mu. Besides, '-(E[X])^2' is missing: x = (lamda(1)^2 + sig2(1))*normcdf(alpha) + (lamda(2)^2 + sig2(2))*normcdf(-alpha) + sum(lamda)*normpdf(alpha)

2.The computation of tau: Considering the sigma2 has been weighted by weight vector lambda:

Screen Shot 2021-06-16 at 3 09 43 AM

Thus the computation of tau should be (assuming r = 0)

Screen Shot 2021-06-16 at 3 11 35 AM

But the tau in EGOSelect.m seems to be weighted twice: First time: sigma2 = lamda.^2.*MSE; Second time: tao = sqrt(lamda(1)^2*sig2(1) + lamda(2)^2*sig2(2))

All formulas are available in the MOEA/D-EGO paper: Q. Zhang, W. Liu, E. Tsang, and B. Virginas, Expensive multiobjective optimization by MOEA/D with Gaussian process model, IEEE Transactions on Evolutionary Computation, 2010, 14(3): 456-474.

DestinyMy commented 3 years ago

We'll check it as soon as we can.

DestinyMy commented 3 years ago

Thank you very much for your contribution.