1 内容介绍
解决全局优化问题的难度一般取决于问题的维数和目标函数的某些特征。本文讨论了其中五个特征,并提出了一种称为 shuffled complex evolution (SCE) 方法的函数优化策略,该方法有望为广泛的问题提供稳健、有效和高效的方法。SCE 方法基于对已证明对全局优化成功的四个概念的综合: (a) 概率和确定性方法的组合;(b) 聚类;(c) 跨越空间的复杂点的系统演变,朝着全球改进的方向发展;(d) 竞争演变。提出了两种基于 SCE 方法的算法。这些算法通过对八个不同难度的测试问题运行 100 次随机启动的试验来进行测试。这两种算法的性能与 Price (1983, 1987) 提出的受控随机搜索 CRS2 方法以及 Nelder 和 Mead (1965) 提出的基于单纯形法的多启动算法的性能进行了比较。
2 部分代码
function [BestCost,x,f] = ShuffledComplexEvolution(img_gray, NS, itr, popl)
CostFunction=@(x,img_gray) imagethresh(x,img_gray); % Cost Function
nVar=NS; % Number of Decision Variables
VarSize = [1 nVar]; % Decision Variables Matrix Size
VarMin = 0; % Decision Variables Lower Bound
VarMax = 254; % Decision Variables Upper Bound
%% SCE-UA Parameters
MaxIt = itr; % Maximum Number of Iterations
nPopComplex = popl; % Complex Size
nPopComplex = max(nPopComplex, nVar+1); % Nelder-Mead Standard
nComplex = 5; % Number of Complexes
nPop = nComplex*nPopComplex; % Population Size
I = reshape(1:nPop, nComplex, []);
% CCE Parameters
cce_params.q = max(round(0.5*nPopComplex), 2); % Number of Parents
cce_params.alpha = 3; % Number of Offsprings
cce_params.beta = 5; % Maximum Number of Iterations
cce_params.CostFunction = CostFunction;
cce_params.VarMin = VarMin;
cce_params.VarMax = VarMax;
empty_individual.Position = [];
empty_individual.Cost = [];
pop = repmat(empty_individual, nPop, 1);
% Initialize Population Members
for i = 1:nPop
pop(i).Position = unifrnd(VarMin, VarMax, VarSize);
pop(i).Cost = CostFunction(pop(i).Position,img_gray);
end
% Sort
pop = SortPopulation(pop);
% Update
BestSol = pop(1);
BestCost = nan(MaxIt, 1);
%% Body
for it = 1:MaxIt
Complex = cell(nComplex, 1);
% Form Complexes and Run CCE
for j = 1:nComplex
% Complex Formation
Complex{j} = pop(I(j, :));
Complex{j} = CCE(Complex{j}, cce_params, img_gray);
% Insert Updated Complex into Population
pop(I(j, :)) = Complex{j};
end
% Sort
pop = SortPopulation(pop);
% Update
BestSol = pop(1);
% Store
BestCost(it) = BestSol.Cost;
end
f= BestCost(end);
x= BestSol.Position;
end
3 运行结果
4 参考文献
[1] Majeed K , Qyyum M A , Nawaz A , et al. Shuffled Complex Evolution-Based Performance Enhancement and Analysis of Cascade Liquefaction Process for Large-Scale LNG Production[J]. Energies, 2020, 13(10):2511.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机、雷达通信、无线传感器等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。