意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

【图像分割】基于混洗Shuffled Complex Evolution实现图像分割附matlab代码

来源:恒创科技 编辑:恒创科技编辑部
2023-12-27 09:15:59
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)



【图像分割】基于混洗Shuffled Complex Evolution实现图像分割附matlab代码

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 运行结果

【图像分割】基于混洗Shuffled Complex Evolution实现图像分割附matlab代码_全局优化

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模拟RANS湍流 下一篇: 【物理应用】matlab模拟分数模糊推理系统的倒立摆控制(物理在生活中的应用)