资源简介
蚁群算法求函数最大值的程序
function [F]=F(x1,x2) %目标函数
F=-(x1.^2+2*x2.^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7);
End?
代码片段和文件信息
function [F]=F(x1x2) %目标函数
F=-(x1.^2+2*x2.^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7);
End?
function [maxxmaxymaxvalue]=antcolony%?蚁群算法求函数最大值的程序
ant=200;%蚂蚁数量
times=50;%蚂蚁移动次数
rou=0.8;%信息素挥发系数
p0=0.2;%转移概率常数
lower_1=-1;%设置搜索范围
upper_1=1;%
lower_2=-1;%
upper_2=1;%
for i=1:ant??
X(i1)=(lower_1+(upper_1-lower_1)*rand);%随机设置蚂蚁的初值位置
X(i2)=(lower_2+(upper_2-lower_2)*rand);
tau(i)=F(X(i1)X(i2));%第i只蚂蚁的信息量?end?%随机初始每只蚂蚁的位置
step=0.05;%网格划分单位
f=‘-(x.^2+2*y.^2-0.3*cos(3*pi*x)-0.4*cos(4*pi*y)+0.7)‘;
[xy]=meshgrid(lower_1:step:upper_1lower_2:step:upper_2);
z=eval(f);%eval函数,将字符串内的内容执行再赋给对象
figure(1);
mesh(xyz);%网格图?
hold on;
plot3(X(:1)X(:2)tau‘k*‘)%蚂蚁初始位置
hold on;
text(0.10.8-0.1‘蚂蚁的初始分部位置‘)
xlabel(‘x‘);
ylabel(‘y‘);
zlabel(‘f(xy)‘);
for t=1:times %第t次移动
lamda=1/t;?%步长系数,随移动次数增大而减少?
????[tau_best(t)bestindex]=max(tau);%第t次移动的最优值及其位置
for i=1:ant %第i只蚂蚁
p(ti)=(tau(bestindex)-tau(i))/tau(bestindex);%最优值与第i只蚂蚁的值的差比
%计算状态转移概率
end??
for?i=1:ant
if p(ti) temp1=X(i1)+(2*rand-1)*lamda;%移动
相关资源
- 拉曼光谱特征峰提取的蚁群算法的M
- matlab解决旅行者问题的三种算法遗传
- MATLAB基于蚁群算法的二维路径规划算
- 连续域蚁群算法的matlab实现
- Matlab 蚁群算法
- 蚁群算法实现TSP问题
- 蚁群算法优化PID参数
- 自己写的蚁群算法实验带GUI matlab写的
- 蚁群算法最短路径通用Matlab程序
- 基于蚁群算法的图像边缘检测
- 蚁群算法解决01背包问题
- 基于Matlab的QoS组播路由问题的蚁群算
- 图像边缘检测
- 蚁群算法动态寻路算法
- text-edge-detection 蚁群算法
- CVRP 一个用蚁群算法做OCVRP的代码。不
- 基于蚁群算法的机器人路径规划(避
- matlab蚁群算法工具箱matlab蚁群算法工
- MATLAB——基于蚁群算法的三维路
- 蚁群算法matlab代码
- 智能优化算法及其MATLAB第2版源代码
- 基于matlab编写的利用蚁群算法的小车
- 蚁群算法解决旅行商问题(Matlab版)
- 蚁群算法解决 TSP问题 matlab 2017a 编
- 蚁群算法连续函数优化问题
- 协作通信的中继选择和功率控制(r
- 用蚁群算法解决CVRP
- MOACO 多目标蚁群算法
- 蚁群算法三维路径规划
- evacuation
评论
共有 条评论