Giter VIP home page Giter VIP logo

platemo's Introduction


Evolutionary multi-objective optimization platform

Developed by BIMK (Institute of Bioinspired Intelligence and Mining Knowledge) of Anhui University
  • 200+ open source evolutionary algorithms
  • 400+ open source benchmark problems
  • Powerful GUI for performing experiments in parallel
  • Generating results in the format of Excel or LaTeX table by one-click operation
  • State-of-the-art algorithms will be included continuously

Thank you very much for using PlatEMO. The copyright of PlatEMO belongs to the BIMK Group. This tool is mainly for research and educational purposes. The codes were implemented based on our understanding of the algorithms published in the papers. You should not rely upon the material or information on the website as a basis for making any business, legal or any other decisions. We assume no responsibilities for any consequences of your using any algorithms in the tool. All publications using the platform should acknowledge the use of “PlatEMO” and reference the following literature:

Copyright

The Copyright of the PlatEMO belongs to the BIMK group. You are free to use the PlatEMO for research purposes. All publications which use this platform or any code in the platform should acknowledge the use of "PlatEMO" and reference "Ye Tian, Ran Cheng, Xingyi Zhang, and Yaochu Jin, PlatEMO: A MATLAB Platform for Evolutionary Multi-Objective Optimization [Educational Forum], IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87".

@article{PlatEMO,
  title={{PlatEMO}: A {MATLAB} platform for evolutionary multi-objective optimization},
  author={Tian, Ye and Cheng, Ran and Zhang, Xingyi and Jin, Yaochu},
  journal={IEEE Computational Intelligence Magazine},
  volume={12},
  number={4},
  pages={73--87},
  year={2017},
}

Release Highlights of PlatEMO 4.7

Release Note can be found here

  • Add two large-scale binary optimization algorithms NNDREA-MO and NNDREA-SO, two single-objective particle swarm optimization algorithm ECPO and MVPA, a surrogate-assisted multi-objective evolutionary algorithm AVG-SAEA, five constrained multi-objective evolutionary algorithms CMaDPPs, CMOES, DRLOS-EMCMO, MOEA/D-CMT, tDEA-CPBI, and a multimodal multi-objective evolutionary algorithm MMEAPSL. Delete a duplicated algorithm TriP. There are currently 270 algorithms in the platform.

  • Add the max-cut problem. Convert MOKP into a constrained multi-objective optimization problem. There are currently 509 problems in the platform.

Features of PlatEMO

  • Totally Developed in MATLAB
    PlatEMO consists of a number of MATLAB functions without using any other libraries. Any machines able to run MATLAB can use PlatEMO regardless of the operating system.

  • Includes Many Popular Algorithms
    PlatEMO includes more than ninety existing popular MOEAs, including genetic algorithm, differential evolution, particle swarm optimization, memetic algorithm, estimation of distribution algorithm, and surrogate model based algorithm. Most of them are representative algorithms published in top journals after 2010.

  • Various Figure Demonstrations
    Users can select various figures to be displayed, including the Pareto front of the result, the Pareto set of the result, the true Pareto front, and the evolutionary trajectories of any performance indicator values.

  • Powerful and Friendly GUI
    PlatEMO provides a powerful and friendly GUI, where users can configure all the settings and perform experiments in parallel via the GUI without writing any code.

  • Generates Data in the Format of Excel or LaTeX
    Users can save the statistical experimental results generated by PlatEMO as an Excel table or LaTeX table, which can be directly used in academic writings.

Star History

Star History Chart

Support

  • [recommend] You can ask any question in issues block and upload your contribution by pulling request(PR).
  • If you want to add your MOEA, MOP, operator or performance indicator to PlatEMO, please send the MATLAB code (able to be used in PlatEMO) and the relevant literature to [email protected].
  • If you have any question, comment or suggestion to PlatEMO or the algorithms in PlatEMO, please contact Ye Tian ([email protected]) or join the QQ Group(NO. 865356970).

platemo's People

Contributors

anonymone avatar apanichella avatar destinymy avatar fantasy-dzx avatar fantasystarlight avatar hanlei187 avatar iskcal avatar kiadimundi avatar tomtkg avatar wjsong365 avatar zhandawei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

platemo's Issues

single objective GA/ES

It will be great to have some basic implementation of single objective GA/ES as then PlatEMO can be a one stop solution for evolutionary optimization!

a small question about IBEA

如图所示:IBEA的CalFitness的23-24行 可能应该改为 28-29行。
图片

理由:
在CalFitness中为了得到fitness,I矩阵的每一列除了一个相同的数,而在EnvironmentalSelection中,更新fitness是I矩阵的某一行除了一个相同的数,两者不一致。因此CalFitness中归一化时应该对列进行操作。
图片

更改后的结果:
图片

Dealing with empirical Pareto Fronts

Hello,

First thanks for providing this great tool to EMO researches and practitioners.

I'm using PlatEMO to benchmark algorithms on a real-world many-objective problem (and may submit a pull request soon if you'd like to see this added to the problems library).

This issue is about the PF function, which aims at "sampling reference points on the true Pareto Front". This is not possible here as we don't know the true PF, but still I could compare results from a single algorithm with an empirical reference set from union of optimal populations from many algorithms, runs ...

My question is: what would be the best practice to make this functional with existing code ? Having a reference_set.mat file in the problem folder that I load at Initialization and return it in the PF function ? I'm asking as I looked for an example in the existing problems, and it seems most of them (at least the one I checked) build a Pareto Front from analytical formulas.

Thanks in advance

No metrics running withou GUI

Hi, I am having some issues while running experiments with PlatEMO without GUI. After finishing running it only returns the values: metric and result, but metric contains only runtime.
Is there a way to specify the metric without GUI?

Thanks in advance.

Question about parallel parameter tuning best practice in PlatEMO

Hi BIMK PlatEMO team, first of all my deepest gratitude for the awesome framework.
I'd like to know if there's any example to do parameter tuning, especially in parallel just like in the GUI? Because in the manual, vectorized parameters are only for MOP not for MOEA, so parameter tuning must be done manually for each parameter setting (CMIIW?) I've tried to read the manual and the GUI modules but I still can't wrap my head around how to do it, especially I'm afraid that the GLOBAL class might be shared among parallel worker and mess up the results.

in short: i want to do a parfor loop to tune parameters and write its result to a file, is there any example on how to do it?

Thank you so much

Variation of average metric value bug

In the experiment module, the option variation of average metric doesn't give us a chart only shows a point; in the test module, this option shows a chart with the variation in terms of function evaluations. is this a bug?

thanks for reading me.

image

Is it an evaluation a generation in NSGA-III?

Dear community,

I want to compare the NSGA-III performance using PlatEMO and the results of author's paper. However, I have the doubt whether the evaluation is. Evaluation=generation?

Best regards,

Felipe

Error in IMMOEA_F*

Describe the bug
Implementation of constraint function g in IMMOEA_F* is wrong

To Reproduce
Steps to reproduce the behavior:
For example, in IMMOEA_F1.m:
https://github.com/BIMK/PlatEMO/blob/b7be97a7a49dbeb1f799e101e84dd45935a56de3/PlatEMO/Problems/MOPs%20in%20IM-MOEA/IMMOEA_F1.m#L32-33
t = (1+5*repmat(2:D,size(X,1),1)/D).X(:,2:D) - repmat(X(:,1),1,D-1);
g = 1 + 9
mean(t.^2,2);

Expected behavior
t should be ((1+5)*repmat...)
according to the paper:
A Multiobjective Evolutionary Algorithm using Gaussian Process-based Inverse Modeling

MOEAD有严重BUG。

下载最新版platemo,MOEAD在很多问题的求解上都出现问题。例如下图,求解C3-DTLZ4,一个解都没有搜索到。试过jMetal、pymoo、deap等都是能收敛的,因此认为这是一个比较严重的BUG。希望尽快给出答复。谢谢!
image

Individuals out of range

Dear PlatEMO team,

First of all, thank you for providing such a powerful tool for free. PlatEMO seems a very useful piece of software.

I am new to MO in general and to this framework in particular. I am facing a problem of bounds with MOEAD and my custom problem. Namely, PlatEMO tries to evaluate an individual that is definitely out of range and makes my cost function to fail. This is the command that I run:

main('-algorithm', @MOEAD, '-problem', @NC_MO_GRC_BL, '-N', 300, '-evaluation', 50000, '-save', 1);

The referred problem defines its own bounds as follows in its constructor:

bounds = zeros(10, 2);
bounds(1,:) = [-0.000000001 0.000000001]; % a
bounds(2,:) = [-0.02 0.02]; % V_Peak (espike)
bounds(3,:) = [-0.06 -0.02]; % V_T (eth)
bounds(4,:) = [-0.000000001 0.000000001]; % b
bounds(5,:) = [0.0000000000001 0.000000000005]; % C_m (cm)
bounds(6,:) = [-0.08 -0.04]; % E_L (erest)
bounds(7,:) = [0.000000000001 0.00000001]; % g_L (grest)
bounds(8,:) = [0.001, 1]; % Delta_T (delta_t)
bounds(9,:) = [0.001, 1]; % T_w (tw)
bounds(10,:) = [-0.08 -0.04]; % V_r (vreset)
            
obj.Global.lower = bounds(:,1)'; % From column to row vector
obj.Global.upper = bounds(:,2)';

And everything starts running fine, but at certain point, it seems that PlatEMO's MOEAD generates and tries to evaluate some individuals that are out of range. I added this code to the problem file (CalObj method) to catch the error:

try
    v = NC_MO_ObjFunc(Pop(i, :), obj.pyContext); % My external cost function
catch ME
    disp('Bad individual:');
    format hex;
    disp(Pop(i, :));
    format short;
    rethrow(ME);
end
PopObj(i,:) = [v(1), v(2)];

And the individual is:

Bad individual:
  Columns 1 through 9

   be0ea6fe14510cc1   3f8f19ea69bed28d   bfae165eab635fb0   3e059d71343b3773   3d92bceaf3850f88   bfad29916ac09a9c   3dfde2294d57b250   3f8f6ea8673f4ae0   3fec637b3018db68

  Column 10

   bfb3086046e6e2e8

After converting it to decimal we have:

>> BadBoy = [ hex2dec('be0ea6fe14510cc1'), ...
	hex2dec('3f8f19ea69bed28d'), ...
	hex2dec('bfae165eab635fb0'), ...
	hex2dec('3e059d71343b3773'), ...
	hex2dec('3d92bceaf3850f88'), ...
	hex2dec('bfad29916ac09a9c'), ...
	hex2dec('3dfde2294d57b250'), ...
	hex2dec('3f8f6ea8673f4ae0'), ...
	hex2dec('3fec637b3018db68'), ...
	hex2dec('bfb3086046e6e2e8')];
>> BadBoy

BadBoy =

   1.0e+19 *

    1.3695    0.4580    1.3812    0.4469    0.4437    1.3812    0.4467    0.4580    0.4606    1.3813

As you can see, the decision vector is out of bounds (upper), and it causes my cost function to fail.

Am I missing anything? According to the PlatEMO manual on page 16:

(...) Firstly, for continuous MOPs, it may be greater than the upper bound GLOBAL.upper or less
than the lower bound GLOBAL.lower, in this case it will be set to the boundary value
by INDIVIDUAL class, while MOP classes need not handle this case. (...)

So my MOP class, i.e., NC_MO_GRC_BL, does not handle the out of bounds case. In fact, I have manually tried to build an individual from the previous out of bounds case, and , as expected, the INDIVIDUAL's constructor seems to filter properly:

>> my_ind = INDIVIDUAL(BadBoy);
63                  obj(1,size(Decs,1)) = INDIVIDUAL;
K>> isequal(Decs, Global.upper)

ans =

  logical

   1

Thus, I suppose that decision variables are moved far away at a different point within MOEAD.

Do you have any suggestion? Am I doing anything wrong?

Thank you very much for your help in advance

problems definition is wrong

when i make experiments on zdt problem, i found zdt1,2,3,4,6 is definited wrongly, but don't know if other problem is also wrong

from https://sop.tik.ee.ethz.ch/download/supplementary/testproblems/zdt1/index.php
In zdt1
false
function PopObj = CalObj(obj,PopDec) PopObj(:,1) = PopDec(:,1); g = 1 + 9 * sum(PopDec(:,2:end),2); h = 1 - (PopObj(:,1)./g).^0.5; PopObj(:,2) = g.*h; end

true
function PopObj = CalObj(obj,PopDec) PopObj(:,1) = PopDec(:,1); g = 1 + 9 / (size(PopDec,2)-1) * sum(PopDec(:,2:end),2); h = 1 - (PopObj(:,1)./g).^0.5; PopObj(:,2) = g.*h; end

two questions about K-RVEA

问题1:
图片
KrigingSelect的MSE好像没有和PopObj对应上, PopObj在[PopObj(i,j),~,MSE(i,j)] = predictor(PopDec(i,:),Model{j});还有一次更新的步骤,但是MSE就没有。
问题2
图片
在UpdateArchive那里,Next(i)在循环中被赋值以后好像没有对A1进行更新

Metrics:

It could be possible to use the variables in Search Space on metrics functions instead of Pareto Front only.

Question: How to add new problems with GUI?

I would like to use PlatEMO for my own problem. I put my problem m.file in the Problems folder, but I cannot find it in the problem list in GUI.

Below is a simple example:
test

Could anyone tell me where the problems are?

Using Nasseh method to visualize the high-dimensional points (n>3)

I'm always frustrated when I try to see the plot of high-dimensional points using parallel coordinates. I wish you could use Nasseh method (https://doi.org/10.1016/j.asoc.2019.105722). Despite the parallel coordinates' popularity, it might not be the best choice as it is not compatible with our previous understanding of up-to-three dimensional points as dots. Using Nasseh method is a proper alternative to parallel coordinates in such cases as it visualizes high-dimensional points as tailed dots.

Problem about adding new problems

I want to calculate real-world-like optimization problems below.
(1)the two‐objective welded beam design problem
(2) the car side impact problem

Do these source codes exist ?

Error using PlatEMO with GUI

When I execute PlatEMO with GUI using the new version, I always obtain the following message:
"The algorithm terminates unexpectedly, please refer to the command windows for details"

Can anyone help me?

Thank you very much in advance.

MOEA/D-GR

function MOEADGR(Global)
%

% Wang, Z., Zhang, Q., Gong, M., & Zhou, A. (2014, July).
% A Replacement Strategy for Balancing Convergence and Diversity in MOEA/D
% In 2014 IEEE Congress on Evolutionary Computation (CEC) (pp. 2132-2139). IEEE.

% delta --- 0.8 --- The probability of choosing parents locally
% operator --- DE
%--------------------------------------------------------------------------
% Copyright (c) 2016-2017 BIMK Group. You are free to use the PlatEMO for
% research purposes. All publications which use this platform or any code
% in the platform should acknowledge the use of "PlatEMO" and reference "Ye
% Tian, Ran Cheng, Xingyi Zhang, and Yaochu Jin, PlatEMO: A MATLAB Platform
% for Evolutionary Multi-Objective Optimization [Educational Forum], IEEE
% Computational Intelligence Magazine, 2017, 12(4): 73-87".
%--------------------------------------------------------------------------
`
% Written by Lucas Farias

 %% Parameter setting
[delta] = Global.ParameterSet(0.8);

%% Generate the weight vectors
[W,Global.N] = UniformPoint(Global.N,Global.M);

% Size of neighborhood
T = ceil(Global.N/10);

%% Detect the neighbours of each solution
B 	  = pdist2(W,W);
[~,B] = sort(B,2);
B     = B(:,1:T);

%% Generate random population
Population = Global.Initialization();
Z          = min(Population.objs,[],1);

%% Optimization	
while Global.NotTermination(Population)	
	for i = 1 : Global.N
		% Choose the parents
		if rand < delta
			P = B(i,randperm(size(B,2)));
		else
			P = randperm(Global.N);
		end

		% Generate an offspring
		Offspring = Global.Variation(Population([i,P(1:2)]),1,@DE);

		% Update the ideal point
		Z = min(Z,Offspring.obj);
		
		% Global Replacement
		all_g_TCH=max(abs((Offspring.obj-repmat(Z,Global.N,1)).*W),[],2);
		best_g_TCH=min(all_g_TCH);
		Chosen_one = find(all_g_TCH(:,1)==best_g_TCH);
		P = B(Chosen_one(1),randperm(size(B,2)));
		
		% Update the solutions in P by Tchebycheff approach
		g_old = max(abs(Population(P).objs-repmat(Z,length(P),1)).*W(P,:),[],2);
		g_new = max(repmat(abs(Offspring.obj-Z),length(P),1).*W(P,:),[],2);
		Population(P(find(g_old>=g_new,T))) = Offspring;			
	end
    end

end`

DAS-CMOPs

Hi,

I'm looking for the DAS-CMOPs (Difficulty Adjustable and Scalable Constrained Multi-objective Test Problems) toolkit implementation (https://arxiv.org/abs/1612.07603).

While there are many benchmarking of multi and many objective problems, there are few options for working with many constraint problems. So, including these problems in PlatEMO would be a good contribution to cover this gap in the framwork.

I take this opportunity to thank all the project staff!

Thank you in advance.

Arthur,

I cannot browse algorithms and problems

Hi,

I'm trying to choose other problems or algorithms but the slider doesn't work
I can choose one of the shown ones only

image

Matlab version : (2018a)
OS: Windows

Can not add custom algorithm in the GUI

So i want to use PlatEMO for research and i am trying to add a custom algorithm based on NSGAII. I created a new folder (Boris) and copy pasted the contents of NSGAII into it. I also changed the name of the main file from NSGAII to Boris. I then tried to use it with the GUI but it is not in the list of algorithms.I can however run it outside the GUI by using the main method. How can i add this algorithm so it shows up in the GUI?

Thank you for your time.

DAS-CMaOP request

**CMaOPs are needed **
At present, most of the constraint problems on platEMO are CMOP. As DAS-CMOP has been updated, I sincerely hope that platEMO can update DAS-CMaOPs.

Original Paper of PlatEMO constrained NDS

Hi,

I'm writing a paper and I need to reference the non-dominated sorting strategy used by PlatEMO in constrained problems.

Does someone know about it (In addition to the PlatEMO paper itself...)?

Thanks in advance!

Averaged Hausdorff Distance

function Score = Hausdorff(PopObj,PF)
%
% Averaged Hausdorff Distance

%O. Schutze, X. Esquivel, A. Lara, and C. A. C. Coello,
%“Using the averaged hausdorff distance as a performance
%measure in evolutionary multiobjective optimization,”
%IEEE Trans. Evol. Comp, vol. 16, pp. 504–522, Aug. 2012.
%--------------------------------------------------------------------------
% Copyright (c) 2016-2017 BIMK Group. You are free to use the PlatEMO for
% research purposes. All publications which use this platform or any code
% in the platform should acknowledge the use of "PlatEMO" and reference "Ye
% Tian, Ran Cheng, Xingyi Zhang, and Yaochu Jin, PlatEMO: A MATLAB Platform
% for Evolutionary Multi-Objective Optimization [Educational Forum], IEEE
% Computational Intelligence Magazine, 2017, 12(4): 73-87".
%--------------------------------------------------------------------------

% Written by Thiago Santos professor.ufop.br/santostf

cGD  = GD(PopObj,PF);
cIGD = IGD(PopObj,PF);

Score    = max(cGD,cIGD);

end

platemo function doesn't work for additional arguments

Hi, the platemo report "too many args error" when using the command "platemo('algorithm',@NSGAII, 'problem',@Imop1, 'maxFE', 100000)". I found the construction function of Problem and Algorithm don't work well, see line:74 and 79 in platemo.m.

receive parameter settings from users for metrics

receive parameter settings from users for metrics function.
For preference-based evolutionary multiobjective optimization, it is necessary to receive parameter settings from users for metric calculation, like R-HV, R-IGD from [1]. While, this is not feasible in present PlatEMO.
[1] R-Metric: Evaluating the Performance of Preference-Based Evolutionary Multiobjective Optimization Using Reference Points

Termination criteria other that number of f-evaluations

Hello,

Is there a recommended way to implement other termination criteria ?

The Global method NotTermination only account for number of function evaluations, which is not desirable in many cases, as, for a given budget, an EMO practitioner may want to restart the algorithm once it has reached a "stationary" state.

Thanks for your advices

A bug in ParEGO algorithm

Describe the bug
In the ParEGO algorithm, the selected updating point should have the highest EI value, but has the lowest EI value in current implementation.

original code
EvolALG.m file, Line 29 : [~,index] = sort(EI,'descend');

corrected code
EvolALG.m file, Line 29 : [~,index] = sort(EI,'ascend');

The performance of ParEGO improves significantly after the correction.

How to add problems linking with other MATLAB files?

Is your feature request related to a problem? Please describe.
I want to add a problem having external inputs besides the global ones. And I have done some work previously, but it did not work. Therefore, I want some help, or could you please give me an example?

Describe the solution you'd like
My aim is to integrate the optimization into other MATLAB codes, and some known parameters should be delivered to the problem to implement the optimization.

Describe alternatives you've considered
I know the combinatorial MOPs have some parameters which should be read before the optimization, but it may cost much time to save and load the data to obtain the wanted results. Therefore, I want to define those external parameters in other m file. The definitions I have done a re follows:

This is a classdef function to define and get the parameters:

classdef REParameters < handle  
    properties(SetAccess = private)
        Pb; 
        cjgl;   
        T;  
        C;  
        singlepaths;   
        V; 
        Pes;    
        RLES;   
    end
    
    methods
        function obj = GetObj(obj)
            
            persistent ReParameters;
            if nargin > 0
                ReParameters = obj;
            else
                obj = ReParameters;
            end
        end
    end
end

To integrate these parameters into the problem, I modified the PROBLEM.m file as follows:

    properties(SetAccess = private)
        Global; % The current GLOBAL object
        ReParameters;
    end
    methods(Access = protected)
        %% Constructor
        function obj = PROBLEM()
            obj.Global = GLOBAL.GetObj();
            obj.ReParameters = PEParameters.GetObj();
        end
        ...

However, it did not work with errors (No static function GetObj exists in REParameters). Could you help me to improve the work?

NSLS函数

Offspring = Operator(Population,{5555,5555});
{5555,5555}换成{0,1}会不会更合理

Error in GUI/readList2

Hi, I was trying to run PlatEMO in GUI mode by invoking main() with no arguments and then I got error:

>> main()
Index exceeds matrix dimensions.

Error in GUI/readList2

Error in GUI/readList

Error in GUI

Error in main (line 43)
            GUI();

However running in command mode is ok. The version of MATLAB I used is R2017a and I wonder if PlatEMO is compatible with this version of MATLAB?

MPSO/D, not cosine value for sub region ?

MPSOD C. Dai, Y. Wang, and M. Ye, A new multi-objective particle swarm optimization algorithm based on decomposition, Information Sciences, 2015, 325: 541-557.

% Note that here the value of each solution on each vector is not the
% cosine value which is proposed in the paper
PopObj = Population.objs - repmat(Z,length(Population),1);
Value  = PopObj*W';

[~,P]  = max(Value,[],2);

there are not calculate the cosine value, will affect the sub-region as the original paper?
Are the results are same as cosine value?

updatepbest ?

why the method for updatepbest for mopso-cd and smpso is different?

I CAN'T RUN NSGA-III ,BUT NSGA-II IS OK.

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Desktop (please complete the following information):

  • OS: [e.g. iOS]windows
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.
MATLAB 2019

NaNs in Hypervolume Calculation for M>3

The hyper volume calculation for test problem with M>3 yields NaNs. This probably has to do with Monte Carlo computation for the HV? I tried it with Two_Arch2 and RVEA on WFG1-9 and DTLZ1-4 problems with M=3,5,8,10,15. HV calculations with M=3 are fine but M>3 always give NaNs.

image

Crash in WOF-SMPSO - Global.Variation does not exist any more

Problem:
Since the method Global.Variation does not exist any more, the call in the WOF-SMPSO algorithm produces an error as follows:

No appropriate method, property, or field 'Variation' for class 'GLOBAL'.
Error in WOFSMPSO>fillPopulation (line 172)
Offspring = Global.Variation(input(MatingPool),amountToFill);

Simply changing the call to GA() does not solve the issue entirely, because then only even numbers of offspring are produced, which sometimes does not fill the population with the desired amount of solutions.

Proposed solution:
I think this error can be fixed by changing lines 171, 172 and 173 in the file "WOF-SMPSO" as following:

line 171: MatingPool      = TournamentSelection(2,amountToFill+1,FrontNo,-CrowdDis); 
line 172: Offspring       = GA(input(MatingPool));
line 173: Population      = [Population,Offspring(1:amountToFill)]; 

Compatibility problem

PlatEMO v3.0 does not support matlab lower than 2020b. It would be nice to have a version that support older matlab with latest algorithms and problems.

Application not responding on Matlab 2019a Mac OSX 64bit

Describe the bug
Open application and type main in the command line, the GUI will hang and application not responding.

Expected behavior
GUI should start regularly.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Mac OS X 10.14
  • Browser Chrome
  • Version 22

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.