结合邻域连接法的蚁群优化(NACO)求解TSP问题(Matlab代码实现)
创始人
2024-01-28 12:33:38

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

旅行推销员问题(TSP)是运筹学、数学优化和理论计算领域的经典算法问题。推销员必须绕过最短路线并返回起点,访问一定数量的地方。精确算法和启发式算法都用于求解 TSP.
旨在获得具有因子复杂性的精确解的精确算法被归类为 NP-Complete。启发式方法的解决方案要么基于优化问题。这些算法的复杂性小于确切的算法。因此,它在更少的时间和空间内给出解决方案,并在近似解决方案足以解决问题的情况下使用,特别是在达到确切解决方案非常困难的情况下。
本文的第一个目的是强调每种TSP方法的要求,局限性和功能,以指导科学家和研究人员选择最适合其特定需求的方法。它对最有效和广泛使用的TSP方法进行了全面调查,通过研究旨在发现其优势和劣势的方法来澄清其主要差异。
蚁群优化 (ACO) 考虑一种启发式方法,该方法具有达到最佳 TSP 解决方案的强大能力。它来源于蚂蚁在自然界中的自然行为——基于分析真正的蚂蚁思考在蚁群中寻找和储存食物。本论文的第二个目的是提出一种新的混合算法来解决TSP。它将由ACO与邻居加入(NJ)组合而成的结构,并称之为(NACO)。新算法高度关注所有可能影响解决方案的标准并将其应用于 TSP,并且通过将它们与蚁群的原始算法进行比较,特别是在减少计算和时间方面,它对解决方案进行了许多改进。
此外,本文还介绍了并行NACO作为高性能TSP的高效并行程序。建议在单独的执行线程中并行运行 Ant,以受益于每个 ant 的独立操作,并使用多核系统实现并行算法。提出的程序由MATLAB® R2017a(版本9.2)编程,并在具有8GB RAM和Intel Core i7-8565U CPU,64位Windows操作系统的HP计算机上实施。结果表明,相对于NACO,复杂度降低到O(n^2(n-ω))。至PNACO,复杂性从O(n(n⁄p)(n-ω))降低,此外加速度高达10。

📚2 运行结果

部分代码:

%% The Parameters

Iteration=1;                          % No. of Iterations
no_ant=1;                             % Population Size (No. of Ants)
Q=100;
%t0=1;
t0=10*Q/(no_Var*mean(D_Set.D(:)));      % Initial Phromone
alpha=1;                                % Phromone Exponential Weight
beta=5;                                 % Heuristic Exponential Weight
rate=0.7;                              % Evaporation Rate

%% Initialization

eta=1./D_Set.D;                         % Heuristic Information Matrix
t=t0*ones(no_Var,no_Var);               % Phromone Matrix
BC=zeros(Iteration,1);                  % Array to Hold Best Cost Values

% Empty Ant
empty_ant.Tour=[];
empty_ant.Cost=[];

% Ant Colony Matrix
ant=repmat(empty_ant,no_ant,1);

% Best Ant
BS.Cost=inf;

% the Level_one of NJ
Leaf=Leaf_1(D_Set.D);

% Runtime
T_1 = cputime;

%% NEW_ACO Main Program

for it=1:Iteration    
    for k=1:no_ant                      % Move Ants
        Leaf1=Leaf;
        ant(k).Tour=randi([1 no_Var]);  %% {choose a random non visited city}
        city=ant(k).Tour;
        for l =2:no_Var
            ant_tour=ant(k).Tour(end);          
            [row,col] = find(Leaf1==city);
            
            if isempty(row)
                P=t(ant_tour,:).^alpha.*eta(ant_tour,:).^beta;           
                P(ant(k).Tour)=0;
                P=P/sum(P);
                city=RouletteSelection(P);
                ant(k).Tour=[ant(k).Tour city];
            else
                l=l+1;                  % Pass the joining cities 
                if col==2
                    city=Leaf1(row,1);
               else
                    city=Leaf1(row,2);
                end
                ant(k).Tour=[ant(k).Tour city];
                Leaf1(row,1)=0;
                Leaf1(row,2)=0;
            end
          %  ant(k).Tour=[ant(k).Tour city];
        end
        ant(k).Cost=CostFunction(ant(k).Tour);
        
        if ant(k).Cost             BS=ant(k);
        end
    end
     
    % Update Phromones
    for k=1:no_ant
        tour=ant(k).Tour;
        tour=[tour tour(1)]; 
        for ll=1:no_Var
            ant_tour=tour(ll);
            city=tour(ll+1);
            t(ant_tour,city)=t(ant_tour,city)+Q/ant(k).Cost;
        end
        
    end
    
    % Evaporation
    t=(1-rate)*t;
    
    % Store Best Cost
    BC(it)=BS.Cost;

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]A HYBRID OPTIMIZATION ALGORITHM OF ANT COLONY SEARCH AND NEIGHBOUR-JOINING METHOD TO SOLVE THE TRAVELLING SALESMAN PROBLEM"‏, Advanced Mathematical Models & Applications Vol.5, No.1, 2020, pp.95-110

🌈4 Matlab代码实现

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
不用电脑怎么设置苹果铃声 ip... 需要一个app,加上苹果自带的app即可1、手机下载爱思极速版。因为之前换手机搬移数据时店员帮忙整理...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
才高八斗的主人公 三顾茅庐的主... 古代君王在建立自己的政治体系之时,大多会采取一些礼贤下士的手段,对于一些有卓越才能的人放低姿态。因为...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...