assimilatecolonies.m
来自「Colonial Competitive Algorithm」· M 代码 · 共 21 行
M
21 行
function TheEmpire = AssimilateColonies(TheEmpire,AlgorithmParams,ProblemParams)
% for i = 1:numel(Imperialists)
% Imperialists{i}.Number_of_Colonies_matrix = [Imperialists{i}.Number_of_Colonies_matrix Imperialists{i}.Number_of_Colonies];
%
% Imperialists_cost_matrix (i) = Imperialists{i}.cost_just_by_itself;
%
% Imperialists_position_matrix(i,:) = Imperialists{i}.position;
NumOfColonies = size(TheEmpire.ColoniesPosition,1);
Vector = repmat(TheEmpire.ImperialistPosition,NumOfColonies,1)-TheEmpire.ColoniesPosition;
TheEmpire.ColoniesPosition = TheEmpire.ColoniesPosition + 2 * AlgorithmParams.AssimilationCoefficient * rand(size(Vector)) .* Vector;
MinVarMatrix = repmat(ProblemParams.VarMin,NumOfColonies,1);
MaxVarMatrix = repmat(ProblemParams.VarMax,NumOfColonies,1);
TheEmpire.ColoniesPosition=max(TheEmpire.ColoniesPosition,MinVarMatrix);
TheEmpire.ColoniesPosition=min(TheEmpire.ColoniesPosition,MaxVarMatrix);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?