【TSP】基于matlab免疫算法求解31城市旅行商问题【含Matlab源码 1149期】

2021-07-26 06:56

阅读:745

标签:版本   water   tmp   长度   shadow   src   过程   人工   log   

一、简介

任何一个优化问题可以转化为一个函数问题,因此生物智能算法广泛应用,同样生物免疫算法(AIA)也是一种模拟达尔文生物进化的一个新型智能算法,生物免疫算法(AIA)根据生物系统抗体处理抗原机制,抗体进化以及最终消灭抗原,这一过程为生物免疫算法(AIA)全局寻优解的过程。
考虑到函数优化问题的普遍性,近些年来,很多学者应用新型算法对不同函数进行测试,例如算法的稳定性、泛华能力、有效性以及全局、局部寻优能力等,因此最优化函数问题(单目标和多目标函数优化问题)一直成为广大科研人员的研究热点。根据测试函数得到的可能解,智能算法得到不断的改进,理论基础逐渐深入,使得散发本身更加稳健,能够快速为工程所用。
人工免疫系统正引起人们的极大重视,基于免疫系统原理开发了各类算法,遗传算法GA、差分进化算法DE、蜂群算法ABC、鱼群算法FSA等,在工程实际问题中,应用越来越广泛,也取得越来越多的成果。
技术图片
技术图片
技术图片

三、源代码

%%%%%%%%%%%%%%%%%%%%%%%免疫算法求解决TSP问题%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;                        %清除所有变量
close all;                        %清图
clc;                              %清屏
C=[1304 2312;3639 1315;4177 2244;3712 1399;3488 1535;3326 1556;...
    3238 1229;4196 1044;4312  790;4386  570;3007 1970;2562 1756;...
    2788 1491;2381 1676;1332  695;3715 1678;3918 2179;4061 2370;...
    3780 2212;3676 2578;4029 2838;4263 2931;3429 1908;3507 2376;...
    3394 2643;3439 3201;2935 3240;3140 3550;2545 2357;2778 2826;...
    2370 2975];                  %31个省会城市坐标
N=size(C,1);                     %TSP问题的规模,即城市数目
D=zeros(N);                      %任意两个城市距离间隔矩阵
%%%%%%%%%%%%%%%%%%%%%求任意两个城市距离间隔矩阵%%%%%%%%%%%%%%%%%%%%%
for i=1:N
    for j=1:N
        D(i,j)=((C(i,1)-C(j,1))^2+(C(i,2)-C(j,2))^2)^0.5;
    end
end
NP=200;                           %免疫个体数目
G=1000;                           %最大免疫代数
f=zeros(N,NP);                    %用于存储种群
for i=1:NP
    f(:,i)=randperm(N);           %随机生成初始种群
end
len=zeros(NP,1);                  %存储路径长度
for i=1:NP
    len(i)=func3(D,f(:,i),N);     %计算路径长度
end
[Sortlen,Index]=sort(len);
Sortf=f(:,Index);                 %种群个体排序
gen=0;                            %免疫代数
Ncl=10;                            %克隆个数
%%%%%%%%%%%%%%%%%%%%%%%%%%%免疫循环%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
while gen

三、运行结果

技术图片
技术图片

四、备注

版本:2014a

【TSP】基于matlab免疫算法求解31城市旅行商问题【含Matlab源码 1149期】

标签:版本   water   tmp   长度   shadow   src   过程   人工   log   

原文地址:https://www.cnblogs.com/homeofmatlab/p/15048463.html

上一篇:k8s 部署启动java应用

下一篇:HTTP请求


评论


亲,登录后才可以留言!