📄 main.m
字号:
m=2;%m只蚂蚁n=10;%n个区间diedai=10;tao(1:n)=1;%十个区间的初始信息素delttao(1:n)=0;pos0=round(unifrnd(1,n,1,m));%生成蚂蚁初始位置X0=func(unifrnd(0,1,m,n));%列序号即分割区间序号,共10个区间%行序号即蚂蚁序号,值为区间随机位置,共9个蚂蚁FX0=f4(X0);%初始位置矩阵对应的目标函数值FX=FX0;F=max(FX);%准备循环for time=1:diedai%time=1;postojp=jump(tao,F);%若蚂蚁处于该区间(列),%对应值为跳转到的区间序列号。例如若蚂蚁处于%2区间,postojp(1,2)即为跳转到的区间值pos1=postojp(pos0);%跳转后的位置[X1,FX1]=newXandF(X0,FX0,pos1,m);%计算新的X矩阵[F,xmax,fmax]=xfmax(X1,FX1);vest(1,time)=fmax;vest(2,time)=xmax;tao=chantao(FX1,FX0,tao);%---以下为设初始值---%pos0=round(unifrnd(1,n,1,m));%生成蚂蚁初始位置X0=func(unifrnd(0,1,m,n));%列序号即分割区间序号,共10个区间%行序号即蚂蚁序号,值为区间随机位置,共9个蚂蚁FX0=f4(X0);FX=FX0;F=max(FX);%初始值设置完毕endvestiget=max(vest(1,:))% 循环有问题vest=[];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -