• 单目标应用:求解旅行商问题(TSP)的猎豹优化算法(The Cheetah Optimizer,CO)提供MATLAB代码


    一、猎豹优化算法

    猎豹优化算法(The Cheetah Optimizer,CO)由MohammadAminAkbari等人于2022年提出,该算法性能高效,思路新颖。

    参考文献: Akbari, M.A., Zare, M., Azizipanah-abarghooee, R. et al. The cheetah optimizer: a nature-inspired metaheuristic algorithm for large-scale optimization problems. Sci Rep 12, 10953 (2022). https://doi.org/10.1038/s41598-022-14338-z
    在这里插入图片描述

    CO算法描述:

    在这里插入图片描述

    二、旅行商问题

    旅行商问题(Traveling salesman problem, TSP)是一个经典的组合优化问题,它可以描述为一个商品推销员去若干城市推销商品,要求遍历所有城市后回到出发地,目的是选择一个最短的路线。当城市数目较少时,可以使用穷举法求解。而随着城市数增多,求解空间比较复杂,无法使用穷举法求解,因此需要使用优化算法来解决TSP问题。
    一般地,TSP问题可描述为:一个旅行商需要拜访n个城市,城市之间的距离是已知的,若旅行商对每个城市必须拜访且只拜访一次,求旅行商从某个城市出发并最终回到起点的一条最短路径。
    记n个城市序号构成集合为N={1,2,…,n},旅行商拜访完n个城市所经过的回路记为:
    P = { p 1 → p 2 → ⋯ → p n → p 1 } P=\left\{p_{1} \rightarrow p_{2} \rightarrow \cdots \rightarrow p_{n} \rightarrow p_{1}\right\} P={p1p2pnp1}
    其中, p i ∈ N , p i ≠ p j ( i ≠ j ) , i = 1 , 2 , ⋯   , n p_{i} \in N, p_{i} \neq p_{j}(i \neq j), i=1,2, \cdots, n piN,pi=pj(i=j),i=1,2,,n
    若城市之间的距离矩阵为 D = ∣ d i j ∣ n × n D=\left|d_{i j}\right|_{n \times n} D=dijn×n,则TSP问题的数学模型可表示为:
    min ⁡ f ( P ) = ∑ i = 1 n − 1 d p i , p i + 1 + d p n , p 1 \min f(P)=\sum_{i=1}^{n-1} d_{p_{i}, p_{i+1}}+d_{p_{n}, p_{1}} minf(P)=i=1n1dpi,pi+1+dpn,p1
    其中, f ( P ) f(P) f(P)表示旅行商行走路线的总路径长度。

    三、CO求解TSP

    本文选取国际通用的TSP实例库TSPLIB中的测试集bayg29,bayg29中城市分布如下图所示:
    在这里插入图片描述

    本文采用猎豹优化算法求解bayg29:

    close all
    clear
    clc
    %数据集参考文献  REINELT G.TSPLIB-a traveling salesman problem[J].ORSA Journal on Computing,1991,3(4):267-384.
    global data
    % TSP数据集bayg29
    Dim=size(data,1)-1;%维度
    lb=-10;%下界
    ub=10;%上界
    fobj=@Fun;%目标函数是总距离
    SearchAgents_no=100; % 种群大小(可以修改)
    Max_iteration=5000; % 最大迭代次数(可以修改)
    [bestX,fMin,curve]=CO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj);  %猎豹优化算法
    figure
    plot(curve)
    xlabel('迭代次数')
    ylabel('总距离')
    legend('CO')
    
    
    链接:https://pan.baidu.com/s/11I6eMyMU3k-UHfUu1O_mIA 
    提取码:1234
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    部分结果如下:

    3.1第1次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    3.2第2次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    3.3第3次路径规划结果及算法收敛曲线

    在这里插入图片描述

    在这里插入图片描述

    3.4第4次路径规划结果及算法收敛曲线

    在这里插入图片描述

    在这里插入图片描述

    3.5第5次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    3.6第6次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    3.7第7次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    3.8第8次路径规划结果及算法收敛曲线

    在这里插入图片描述
    在这里插入图片描述

    四、参考代码

    文件夹内包含猎豹优化算法CO求解旅行商问题bayg29的完整Matlab代码,点击main.m即可运行,可以更改数据集。
    在这里插入图片描述

  • 相关阅读:
    弘辽科技:淘宝的各个级别的店铺有多少自然流量?具体解答
    CTFshow web66 67 68 69 70 71 72
    034-第三代软件开发-自定义Slider(一)
    直播带货系统源码,居家“神器”不出门就能购物
    数据结构 - 数组 - 青岛大学(王卓)
    Next.js 热更新 Markdown 文件变更
    安科瑞ANet通信管理机在电力监控系统中的应用-Susie 周
    jmeter常用线程组设置策略
    Rider 2023:打造高效.NET项目的智能IDE,让开发更简单mac/win版
    对个人来说,最好的记账方法是什么?
  • 原文地址:https://blog.csdn.net/weixin_46204734/article/details/127894622