资源简介
各种智能算法程序以求函数最值为例-蚁群算法.rar
首先声明,程序部分为原创,部分网络下载,部分为根据他人成果做细微改动。
这是本人智能控制的小作业,主要是用多种智能算法进行函数优化,包括遗传算法,蚁群算法和鱼群算法。另外,有的算法用几个版本的程序,分别为原创和修改,仅供大家参考。另外由于时间有限,程序写的不是很有调理,读起来可能会稍微费劲。另外由于本人学习智能算法时间比较短,同时用多种算法纯属学习,因此不排除程序和报告中有不足和错误,希望大家指正和讨论。
附件中包括程序和截图,同时还有自己最后的报告,由于是小作业,因此时间较短,相对粗糙,勿怪。
首先声明,程序部分为原创,部分网络下载,部分为根据他人成果做细微改动。
这是本人智能控制的小作业,主要是用多种智能算法进行函数优化,包括遗传算法,蚁群算法和鱼群算法。另外,有的算法用几个版本的程序,分别为原创和修改,仅供大家参考。另外由于时间有限,程序写的不是很有调理,读起来可能会稍微费劲。另外由于本人学习智能算法时间比较短,同时用多种算法纯属学习,因此不排除程序和报告中有不足和错误,希望大家指正和讨论。
附件中包括程序和截图,同时还有自己最后的报告,由于是小作业,因此时间较短,相对粗糙,勿怪。

代码片段和文件信息
%蚁群算法函数优化
%沈杰109101342 南京理工大学自动化学院
%aco_1.m
%本例解决schaffer函数最大值问题
clear
clf
%%初始化及蚂蚁初始位置绘图
Ant=100;%蚁群规模
ECHO=50;%迭代次数
start1=-50;end1=50;start2=-50;end2=50;tcl=0.1;%边界条件和步长
%schaffer函数
f=‘0.5-((sin(sqrt(x.^2+y.^2))).^2-0.5)./(1+0.001*(x.^2+y.^2)).^2;‘;
[xy]=meshgrid(start1:tcl:end1start2:tcl:end2);
vxp=x;
vyp=y;
vzp=eval(f);
%设置蚂蚁初始位置
for i=1:Ant
X(i1)=(start1+(end1-start1)*rand(1));
X(i2)=(start2+(end2-start2)*rand(1));
T0(i)=0.5-((sin(sqrt(X(i1).^2+X(i2).^2))).^2-0.5)./(1+0.001*(X(i1).^2+X(i2).^2)).^2;
end;
%绘图
figure(1);%蚂蚁初始位置
mesh(vxpvypvzp);hold on;
plot3(X(:1)X(:2)T0‘k*‘)
hold on;
grid on;
title(‘蚂蚁初始位置‘);
xlabel(‘x‘);
ylabel(‘y‘);
zlabel(‘f(xy)‘);
%%开始迭代,迭代次数为ECHO
for Echo=1:ECHO
P0=0.2;%伪随机选择概率
P=0.8;%[0 1]上常数,用于信息素更新
lamda=1/Echo;%蚂蚁爬行速度
[T_Best(Echo)BestIndex]=max(T0);
%类似轮盘赌随机选择,计算概率
for j_g=1:Ant
r=T0(BestIndex)-T0(j_g);
Prob(Echoj_g)=r/T0(BestIndex);
end;
for j_g_tr=1:Ant
if Prob(Echoj_g_tr) temp1=X(j_g_tr1)+(2*rand(1)-1)*lamda;
temp2=X(j_g_tr2)+(2*rand(1)-1)*lamda;
else
temp1=X(j_g_tr1)+(end1-start1)*(rand(1)-0.5);
temp2=X(j_g_tr2)+(end2-start2)*(rand(1)-0.5);
end
if temp1 temp1=start1;
end;
if temp1>end1
temp1=end1;
end;
if temp2 temp2=start2;
end;
if temp2>end2
temp2=end2;
end;
if 0.5-((sin(sqrt(temp1.^2+temp2.^2))).^2-0.5)./(1+0.001*(temp1.^2+temp2.^2)).^2>0.5-((sin(sqrt(X(j_g_tr1).^2+X(j_g_tr2).^2))).^2-0.5)./(1+0.001*(X(j_g_tr1).^2+X(j_g_tr2).^2)).^2;
X(j_g_tr1)=temp1;X(j_g_tr2)=temp2;
end;
end;
%更新残留信息素
for t_t=1:Ant
T0(t_t)=(1-P)*T0(t_t)+0.5-((sin(sqrt(X(t_t1).^2+X(t_t2).^2))).^2-0.5)./(1+0.001*(X(t_t1).^2+X(t_t2).^2)).^2;
end;
%储存最优
[c_iteri_iter]=max(T0);
maxpiont_iter=[X(i_iter1)X(i_iter2)];
maxvalue_iter=0.5-((sin(sqrt(X(i_iter1).^2+X(i_iter2).^2))).^2-0.5)./(1+0.001*(X(i_iter1).^2+X(i_iter2).^2)).^2;
max_local(Echo)=maxvalue_iter;
if Echo>=2
if max_local(Echo)>max_global(Echo-1)
max_global(Echo)=max_local(Echo);
else
max_global(Echo)=max_global(Echo-1);
end
else
max_global(Echo)=maxvalue_iter;
end;
end;%ECHO循环结束
%%绘图
figure(2);%蚂蚁最终分布位置图
mesh(vxpvypvzp);
hold on;
x=X(:1);y=X(:2);
plot3(xyeval(f)‘k*‘)
hold on;grid on;title(‘蚂蚁的最终分布位置‘);xlabel(‘x‘);ylabel(‘y‘);zlabel(‘f(xy)‘);
figure(3);%
max_global= max_global‘;
i=1:ECHO;
plot(imax_global(:1)‘-r*‘)
title(‘最优函数值变化趋势‘);
xlabel(‘iteration‘);
ylabel(‘f(x)‘);
grid on;
[c_maxi_max]=max(T0);
maxpiont=[X(i_max1)X(i_max2)];
maxvalue= 0.5-((sin(sqrt(X(i_max1).^2+X(i_max2).^2))).^2-0.5)./(1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 943208 2010-06-01 19:24 蚁群算法\1.emf
文件 51788 2010-06-01 19:24 蚁群算法\3.emf
文件 3310 2010-06-05 22:02 蚁群算法\aco_1.m
文件 2361 2010-06-22 10:25 蚁群算法\aco_2\aco_2.m
文件 146 2010-05-26 08:34 蚁群算法\aco_2\fitx.m
文件 1774924 2010-06-22 10:34 蚁群算法\aco_2\xx.emf
文件 37580 2010-06-22 10:07 蚁群算法\aco_2\收敛.emf
文件 1773340 2010-06-22 09:53 蚁群算法\chushi.emf
文件 1773732 2010-06-22 09:57 蚁群算法\final.emf
文件 943208 2010-06-01 19:24 蚁群算法\unti
文件 55288 2010-06-22 10:01 蚁群算法\函数值.emf
目录 0 2010-06-22 10:34 蚁群算法\aco_2
目录 0 2010-06-22 09:57 蚁群算法
----------- --------- ---------- ----- ----
7358885 13
相关资源
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 简单二阶互联系统的非线性动力学分
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
- 画跟踪精确度图的程序.zip
- 重力场大地水准面及重力异常阶次误
- prtools5.2.3工具包
- 脉冲耦合神经网络工具箱PCNN-toolbox
- SVM算法-回归拟合程序.zip
- Kriging代理模型EGO算法.zip
- Matalb实现停车场完整系统
评论
共有 条评论