1 主要内容
混沌映射算法是我们在智能算法改进中常用到的方法,本程序充分考虑改进算法应用的便捷性,集成了11种混合映射算法,包括Singer、tent、Logistic、Cubic、chebyshev、Piecewise、sinusoidal、Sine、ICMIC、Circle、Bernoulli,基本涵盖了常用到的全部混合映射算法,并采用两种智能算法——鲸鱼WOA和灰狼GWO算法进行改进示范,得到优化前和优化后的对比结果,该程序可方便更换不同映射算法,通过两种算法示范方便新手学习,改进算法可轻松嫁接于其他智能算法中,是不可多得的学习资料!
- 收敛速度:算法的收敛速度是衡量其优化效果的重要指标之一。可以通过观察算法在迭代过程中适应度值的变化情况,以及达到收敛所需的迭代次数来评估其收敛速度,较快的收敛速度意味着算法能够更快地找到优化问题的解。
- 解的质量:优化算法的目标是找到问题的最优解或近似最优解。因此,解的质量是评估算法优化效果的另一个重要方面。可以通过比较不同算法找到的解的目标函数值、解的精度以及解的稳定性等指标来评估解的质量。
- 适应性:智能算法通常具有一定的自适应性,能够在不同问题和环境下进行自我调整和优化。因此,评估算法的适应性也是对比其优化效果的一个重要方面。可以通过观察算法在不同类型的问题、不同的初始条件以及不同的参数设置下的表现来评估其适应性。
- 鲁棒性:鲁棒性是指算法在面对噪声、干扰和不确定性时的稳定性和可靠性。评估算法的鲁棒性可以帮助了解其在实际应用中的表现。可以通过在算法中加入噪声、改变问题的约束条件或引入不确定性来观察算法的鲁棒性。
1.为了验证智能算法优劣,需要消除随机性的影响,因此一般考量智能算法的平均值和方差等统计指标,因此大家不要拿单一运行结果作为算法优劣的判据,当然在结果整理中可取效果较好的某次结果作为效果图。
2.混沌映射算法有具体的参数限制,在应用过程中可能需要修正参数才能达到较好的效果,使用过程中建议和其他改进算法结合,如非线性惯性权重、柯西变异等,综合改进算法效果一般要优于单一方法。
2 部分代码
% initialize position vector and score for the leader
Leader_pos=zeros(1,dim);
Leader_score=inf; %change this to -inf for maximization problems
%Initialize the positions of search agents
% Positions=initialization(SearchAgents_no,dim,ub,lb);
Positions = repmat(lb, SearchAgents_no, 1)+ialgo(numm,SearchAgents_no,dim) .* repmat((ub-lb), SearchAgents_no, 1);
Convergence_curve=zeros(1,Max_iter);
t=0;% Loop counter
% Main loop
while tfor i=1:size(Positions,1)
% Return back the search agents that go beyond the boundaries of the search space
Flag4ub=Positions(i,:)>ub;
Flag4lb=Positions(i,:)function for each search agent
fitness=fobj(Positions(i,:));
% Update the leader
if fitnessthis to > for maximization problem
Leader_score=fitness; % Update alpha
Leader_pos=Positions(i,:);
end
end
3 程序结果
4 下载链接