资源简介
各种智能算法程序以求函数最值为例-蚁群算法.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
相关资源
- 永磁同步电机直接转矩控制仿真-矩阵
- 模糊PI控制器回馈好朋友的帮助帮助其
- 希尔伯特变换求瞬时幅度相位和频率
- 两级倒立摆仿真模型的GUI控制界面-
- 永磁同步电机模糊PID控制-sl10.slx
- 我收集到得一些人脸识别的程序和大
- 基于遗传算法的小波神经网络交通流
- 初学写的第一个gui学生成绩查询系统
- 图像识别程序土豆形貌识别-土豆形貌
- 异步直接转矩控制建模圆形六边形都
- 异步直接转矩控制建模圆形六边形都
- 源码图像去噪-lee filter.rar
- 输入多幅图像实现帧间差分实现运动
- 混沌神经网络的混沌动力系统密码学
- 基于SVPWM控制的三相光伏并网逆变器模
- CDMA扩频通信系统仿真实验包括实验原
- 各种滤波方法代码
- jerk模型算法
- mexopts.rar
- 肺实质边界检测
- 基于卡尔曼滤波的行人检测
- 动态聚类算法合集
- 各类反褶积函数汇总
- 图像GaussLaplacian金字塔+图像融合
- 现代信号处理练习-古典功率谱、现代
- 基于帧间差分
- IEEE30节点数据268694
- 七个RBF神经网络的源程序
- voicebox工具箱
- UWB system
评论
共有 条评论