clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
N=10;% 城市的个数
M=N-1; % 种群的个数
pos=randn(N,2);% 生成城市的坐标
global D;
D=zeros(N,N);
for i=1:N
for j=i+1:N
dis=(pos(i,1)-pos(j,1)).^2+(pos(i,2)-pos(j,2)).^2;
D(i,j)=dis^(0.5);
D(j,i)=D(i,j);
end
end
%% 中间结果保存
global TmpResult;
TmpResult = [];
global TmpResult1;
TmpResult1 = [];
%% 参数设定
[M, N] = size(D);%集群规模
pCharChange = 1;%字符换位概率
pStrChange = 0.4;%字符串移位概率
pStrReverse = 0.4;%字符串逆转概率
pCharReCompose = 0.4;%字符重组概率
MaxIterateNum = 100;%最大迭代次数
%% 数据初始化
mPopulation = zeros(N-1,N);
mRandM = randperm(N-1);%最优路径
mRandM = mRandM + 1;
for rol = 1:N-1
mPopulation(rol,:) = randperm(N);%产生初始抗体
mPopulation(rol,:) = DisplaceInit(mPopulation(rol,:));%预处理
end
%% 迭代
count = 0;
figure(2);
while count < MaxIterateNum
%产生新抗体
B = Mutation(mPopulation, [pCharChange pStrChange pStrReverse pCharReCompose]);
%计算所有抗体的亲和力和所有抗体和最优抗体的排斥力
mPopulation = SelectAntigen(mPopulation,B);
hold on
plot(count,TmpResult(end),'o');
drawnow
display(TmpResult(end));
display(TmpResult1(end));
count = count + 1;
end
hold on
plot(TmpResult,'-r');
title('最佳适应度变化趋势')
xlabel('迭代数')
ylabel('最佳适应度')
% mRandM
没有合适的资源?快使用搜索试试~ 我知道了~
matlab-基于免疫算法在旅行商TSP问题的matlab仿真-源码
共7个文件
m:7个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 58 浏览量
2021-09-30
21:24:36
上传
评论
收藏 4KB RAR 举报
温馨提示
matlab_基于免疫算法在旅行商TSP问题的matlab仿真_源码
资源推荐
资源详情
资源评论
收起资源包目录
matlab_基于免疫算法在旅行商TSP问题的matlab仿真_源码.rar (7个子文件)
matlab_基于免疫算法在旅行商TSP问题的matlab仿真_源码
1基于免疫算法在旅行商TSP问题的matlab仿真
Runme.m 1KB
func
DisplaceInit.m 260B
CharRecompose.m 450B
DisplaceStr.m 338B
InitAntigen.m 446B
SelectAntigen.m 825B
Mutation.m 1KB
共 7 条
- 1
资源评论
mYlEaVeiSmVp
- 粉丝: 1960
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功