CN107798423A - 基于多种智能算法的车辆路径规划仿真实验平台 - Google Patents

基于多种智能算法的车辆路径规划仿真实验平台 Download PDF

Info

Publication number
CN107798423A
CN107798423A CN201710940667.3A CN201710940667A CN107798423A CN 107798423 A CN107798423 A CN 107798423A CN 201710940667 A CN201710940667 A CN 201710940667A CN 107798423 A CN107798423 A CN 107798423A
Authority
CN
China
Prior art keywords
data
path
module
algorithm
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710940667.3A
Other languages
English (en)
Inventor
薛景
陈亦清
徐畅
宋宇通
吴凡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201710940667.3A priority Critical patent/CN107798423A/zh
Publication of CN107798423A publication Critical patent/CN107798423A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于多种智能算法的车辆路径规划仿真实验平台,首先用户指定供应地的数量和拥有的物资数量、需求地的数量和需要的物资数量以及可提供的车辆总数;接着选择算法来计算车辆运送物资的最短路径;然后服务器根据指定算法计算出最短路径,并给出本次计算的最短路径的路径规划,可将具体数据发到指定邮箱;最后,前端获取服务器的计算结果,生成每辆车的路径图,可直接观看车辆路径规划的动画演示。服务器会存储所有计算结果,并将同一数据的不同计算结果以排行榜的形式展示;本发明可为用户提供一条最优路径,同时,降低了计算开销,可提高车辆调度实时性,降低了成本,提高灾后物资运输以及物流运输效率。

Description

基于多种智能算法的车辆路径规划仿真实验平台
技术领域
本发明涉及路径规划领域,尤其涉及基于多种智能算法的车辆路径规划仿真实验平台。
背景技术
随着经济全球化的到来,制造业、零售业和电子商务催生了现代物流的快速发展。现代物流信息技术广泛应用,管理信息系统、物流信息平台、物流配送系统的建设快速推进。车辆路径规划是城市物流配送的重要环节,也是物流配送信息系统建立的基础和重要模块。
物流配送中心往往面临着各种货运车辆资源的约束,一个实际的约束是具有有限的多种车型,每种车型的车辆数固定和每种类型的车辆的容量限制,该问题是典型的具有固定车辆数的多车型车辆路径问题(Heterogeneous Fixed Fleet Vehicle RoutingProblem,HFFVRP),而如何在物流配送中经济合理的安排车辆路径,对于发展低成本、高效率的物流产业至关重要。
蚁群算法由Marco Dorigo于1992年在他的博士论文中提出。蚁群算法是一个分布式的多agent系统,它在问题空间的多点同时开始进行独立的解搜索,不仅增加了算法的可靠性,也使得算法具有较强的全局搜索能力。该算法现已被大量应用于数据分析、机器人协作问题求解、电力、通信、水利、采矿、化工、建筑、交通等领域。但该算法收敛速度慢、易陷入局部最优。
K-Means聚类算法由J.B,MacQueen1967年提出的。K-Means聚类算法快速、简单,对大数据集有较高的效率并且是可伸缩性的,时间复杂度近于线性,而且适合挖掘大规模数据集。该算法是数据挖掘的重要分支,同时也是实际应用中最常用的聚类算法之一。但该算法对初始聚类中心的选取具有极大的依赖性使算法常陷入局部最小解,对噪声和孤立点数据敏感。
遗传算法由美国的J.Holland教授1975年首先提出。遗传算法是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力,采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。该算法已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。但该算法在适应度函数选择不当的情况下有可能收敛于局部最优,而不能达到全局最优。
退火算法由N.Metropolis等人于1953年提出。退火算法计算过程简单,通用,鲁棒性强,适用于并行处理,可用于求解复杂的非线性优化问题。该算法的应用很广泛,可以较高的效率求解最大截问题、0-1背包问题、图着色问题、调度问题等。但该算法收敛速度慢,执行时间长,算法性能与初始值有关且参数敏感。
发明内容
鉴于以上算法各有不足,本发明提供一种基于多种智能算法的车辆路径规划仿真实验平台,以解决现有技术路径规划复杂的技术问题。
一种基于多种智能算法的车辆路径规划仿真实验平台,该平台包括数据生成单元、智能算法单元、数据输出单元和仿真运行单元;所述数据生成单元确定仿真平台运行的具体输入数据;智能算法单元指定用于计算最优路径的算法;数据输出单元将智能算法计算得到的最优路径的具体数据输出,并发送到用户邮箱,同时存储每一次的计算结果;仿真运行单元将得到的输出数据进行动画演示。
所述数据生成单元包括:选择数据模块、坐标生成模块和测试数据下载模块;所述选择数据模块选择平台提供的默认数据或通过自行填写数据,然后在所述坐标生成模块生成对应的坐标图;所述测试数据下载模块供用户下载JSON格式的输入数据进行查看。
所述智能算法单元中的算法包括内置算法和自定义算法。所述内置算法包括:改进的遗传退火算法、改进的蚁群算法和基于有限状态机的聚类随机算法.
所述数据输出单元包括:计算最短路径模块、发送邮件模块和数据存储模块;所述计算最短路径模块计算出本次输入数据的最优路径;所述发送邮件模块在智能算法计算出最优路径的结果后将数据发送到用户邮箱并提供观看仿真动画演示的链接;所述数据存储模块将每一次的输入数据、所用智能算法和最优路径计算结果存储进数据库并在前端展示。
所述仿真运行单元包括动画演示模块和路径图展示模块;所述动画演示模块根据得到的输出数据进行车辆调度物资的仿真实验,显示供应地与需求地物资的减少与增加的数量,用虚线标明当前运行路径,并在演示结束时显示本次车辆路径规划的最短路径和最短路径的计算时间;所述路径图展示模块显示每一辆车的运行路径以及在动画演示过程中的当前运行路径。
所述填写数据包括:供应地数量和拥有物资数量、需求地数量和所需物资数量、车辆数量和每辆车的运载量。
所述计算最优路径包括:获取输入数据、计算最优路径和生成输出数据文件;
所述获取输入数据包括数据生成单元生成的具体数据、选择的智能算法、运行次数和用户邮箱;所述计算最优路径根据指定的算法与运行次数来计算出最优解、最短路径平均值和运行时间平均值;所述生成输出数据文件会将每辆车的路径以JSON格式生成一个文本文件,并将数据传回前端以供动画演示。
所述发送邮件包括:数据量、最短路径的平均值、最优解、最优解出现的次数、本次数据运行的次数、平均运行时间和提供动画演示的链接。
本发明可用于进行各种车辆规划路径的仿真运算,仿真程度高,成本低。
附图说明
图1为本发明实施例车辆路径规划仿真实验平台运行流程图;
图2为蚁群算法流程图;
图3为蚁群算法的蚁群觅食示意图;
图4为蚁群算法的算法示意图;
图5为蚁群算法的仿真示意图;
图6为K-means聚类算法流程图;
图7为遗传退火算法的第一条染色体示意图;
图8为遗传退火算法的不可行解的判断流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示为本发明实施例提供的车辆路径规划仿真实验平台的结构流程图,所述平台包括:数据生成单元101、智能算法单元102、数据输出单元103和仿真运行单元104。
数据生成单元101又包括选择数据模块、坐标生成模块和测试数据下载模块,所述选择数据模块提供了7种默认数据供选择,也可自定义数据,然后坐标生成模块根据选择的数据在网格图中生成相应的坐标图,所述测试数据下载模块可下载JSON格式的完整输入数据。
每一种默认数据包括供应地数量、需求地数量和车辆数量,默认数据包括3 3 2、55 3、8 8 4、10 10 5、20 20 10、25 25 15、30 30 20,自定义数据需指定供应地、需求地和车辆的数量,每个供应地的初始物资数量、每个需求地的物资需求量和每辆车的运载量可由平台自动生成,也可由用户指定。
智能算法单元102又包括选择内置算法模块和上传算法模块,所述选择内置算法模块包括遗传退火算法、蚁群算法和K-Means聚类算法三种算法,所述上传算法模块可以上传与内置算法不同的其他算法。
如图2所示为本发明实施例提供的蚁群算法流程图,所述方法包括以下步骤:
前提假设:
(1)救援物资只有一种。
(2)所有供应地的供应量之和大于等于所有需求地的需求量之和。
(3)不同卡车运载量可以不同。
(4)所有卡车速度都为1,即卡车所走路长与花费时间在数值上相等。
(5)卡车初始位置任意,救援完成后不需返回原位置。
(6)卡车可多次出发救援,任何一个供应地、需求地可被多次访问。
(7)目标为要用最少的时间来完成物资调度任务。
此外,为了叙述方便,下文中物资的装运以及物资的卸载分别用装货和卸货表示。
数学模型:
符号定义如下:物资种类数量为A,供应地数量为M,需求地数量为N,卡车数量为K,设第m个供应地的总物资量为Sm,当前物资量为sm,第n个需求地的需求量为Dn,当前需求量为dn;第k辆卡车的速度为Bk,当前运载量为Fk,最大运载量为Gk,从第m个供应地装货量为Zkm,在第n个需求地卸货量为Xkn,从开始行动到完成任务停止的时间为Tk,全部调度任务完成时间为T。
目标函数与约束条件为:
T=maxkTk (1)
A=1 (2)
Bk=1 (4)
Hk≤Fk≤Gk (5)
Zkm<min{Gk,sm) (6)
Xkn<min{Fk,dn} (7)
(1)式是目标函数,表示全部调度任务完成的标志是所有卡车都停止;
(2)式表示物资种类只有1种;
(3)式表示所有供应地的供应量之和大于等于所有需求地的需求量之和;
(4)式表示所有卡车速度均为1;
(5)式表示第k辆卡车卸货量小于等于当前运载量,当前运载量小于等于卡车的最大运载量;
(6)式表示第k辆卡车从第m个供应地装货的量应小于最大装货量和该供应地的当前物资量中的较小者;
(7)式表示第k辆卡车在第n个需求地卸货的量为卡车当前运载量和该需求地当前需求量中的较小者。
算法思想及步骤:
蚁群在觅食时,虽然个体的行动规则简单,但个体与个体通过信息素(一种自身释放的化学物质)的交流,经过一定时间就可以找到一条从蚁巢通往食物的最短路径。如图3所示,食物在右方,蚂蚁通向食物的路有2条,开始时蚂蚁会随机的选择路线1或路线2,但是当经过一段时间后,路长较短的线路1上残留的信息素浓度会高于路线2,后面的蚂蚁在选择路线时,会优先选择信息素浓度高的路线。经过一定的时间,就会出现大量蚂蚁往返于线路1的现象。本文将每辆卡车都看作一个蚁群系统,大量蚂蚁从卡车位置出发去寻找下一个目标地点,通过环境信息素的累积,经过一定时间就可以得到卡车的最优路径。所以每一辆卡车作为一个蚁群系统,拥有属于自己的“食物”,也就是自己负责的需求地,那么我们就需要找到一个合适的“食物”分配方法。
算法的核心思想可以分为如下三步:
(1)在将总问题的所有任务划分为K个单车子任务,其中每个子问题包含一辆卡车以及多个需求地,卡车可以到任意的供应地装运物资并送往由它负责的需求地,子问题被解决的标志为该卡车所负责的需求地的需求全部得到满足。
(2)是给划分好的K个单车子任务规定一个执行序列。由于各个卡车实际行动是并发的,且卡车可以到任意的供应地装运物资,所以各个卡车也就是各个蚁群系统之间存在一定的影响,对于相同的子任务划分来说,不同的计算序列会影响最终的结果。
(3)是用蚁群算法来执行每个子任务。根据问题模型,规定好蚂蚁的行动规则,设置蚂蚁的数量,以距离作为期望因子,信息素量作为启发因子,建立距离矩阵与信息素矩阵,并设置信息素矩阵的更新方式,通过蚂蚁来模拟执行任务,得到卡车完成该子任务所走的最优路径,并计算出花费时间。
其中第一步需要循环执行U次,在每一次的执行过程中判断是否需要剪枝;若第一步产生的子任务划分没有被剪枝的话,就在此基础上循环执行第二步V次,在该过程中使用禁忌表来避免重复计算;若第二步产生的序列不在禁忌表中,则在此基础上执行第三步,得到Tu,v并记录下来。最后取耗时最少的一次作为第k辆卡车所花费的时间。即:
Tk=minu,vTu,v (8)
算法核心思想如图4所示。
子任务的划分以及确定子任务的执行序列:
对于第u次子任务划分下的第v条子任务序列来说,我们需要求解出Tu,v,若Tu,v。所以本文在这里采取这样的方法:随机生成U个子任务划分,对于每个子任务划分,再随机生成V个子任务序列,然后通过蚁群算法计算出在此次子任务划分和子任务序列下的最终结果,取最优的子任务划分以及子任务执行序列最为最终的方案。
该过程的算法文字描述如下:
(1)初始化u=0,v=0,定义T为无穷大。
(2)u=u+1,随机产生第u次的子任务划分。
(3)v=v+1,在第u次的子任务划分下随机产生第v条子任务序列。
(4)用蚁群算法求解得到Tu,v
(5)若Tu,v<T,则T=Tu,v
(6)若v≤V,转(3)。
(7)若u≤U转(2)。
(8)结束。
为了提高搜索效率,我们加入了分支定界法和禁忌搜索的思想。
在进行子任务划分时,可能会出现非常差的划分方案,而本文未改进前的算法会对此次划分情况进行不同子任务序列的计算,这就造成了大量计算时间的浪费,由于子任务划分的循环需要达到一定规模才会有较好的结果,所以如果在非最优解的子任务划分上浪费时间的话,整个算法耗时会非常长。所以本文采用分支定界法的思想,在对每个子任务划分方案进行求解时,会根据剪枝函数来判断是否需要计算该次的子任务划分。先根据该方案的序列1求解,若结果明显比当前最优解差(路长为当前最优解的2倍以上),则跳过对该子任务划分方案的计算。通过加入分支定界法的思想,可以避免大量的无意义的计算,提高搜索效率。
在确定子任务的执行序列过程中,可能会重复出现某些子任务序列。本文加入禁忌搜索的思想,将已计算过的序列添加到禁忌表中来避免重复计算。
蚁群算法解决单车子问题
蚁群算法关键是根据信息素矩阵和启发信息矩阵生成可行解以及信息素矩阵的更新。由前文可知,子任务目标为满足所有所属需求地的需求并且路长最小,所以采用地点间的距离作为启发信息。对于蚁群信息素的更新,我们采用分组更新的方式,即每组蚂蚁运行后更新一次信息素。设储存最优路径的蚂蚁为BestAnt,称为最优蚂蚁。
新建一组蚂蚁模型来模拟小车在复制的城市模型上完成调度任务,并且记录这一组中的最优蚂蚁,根据最优蚂蚁的结果判断是否需要更新BestAnt。在一组蚂蚁模拟任务完成后,更新信息素矩阵。我们定义MaxPhrm为标准的信息素量,Length为蚂蚁走过的路长,Phrm为原信息素量,NewPhrm为新留下来的信息素,ρ为信息素衰减因子。由于蚂蚁走过路程越长,留下的信息素会越少,所以NewPhrm=MaxPhrm/Length,信息素矩阵的更新公式为Phrm=Phrm*ρ+NewPhrm。以下为算法流程描述:
(1)初始化蚂蚁组数q=0,蚂蚁数量p=0
(2)新建一只蚂蚁,p=p+1
(3)根据卡车初始化该蚂蚁的信息(位置,运载量)
(4)复制城市模型,让该蚂蚁在复制模型上模拟卡车完成调度任务
(5)根据该蚂蚁的路长判断是否更新BestAnt
(6)若p<P,转(3)
(7)更新信息素矩阵。
(8)若q<Q,转(2)
(9)结束
上述流程的步骤(4)即蚂蚁模拟卡车进行物资调度的过程如下:首先判断蚂蚁下一步去供应地还是需求地。若蚂蚁此时没有货物,则下一步去供应地装货;若蚂蚁此时仍有货物,则下一步去需求地卸货。选择目的地则是用轮盘赌的方法,根据信息素矩阵和启发信息矩阵,来计算去到每个地点的概率,并选出目的地,完成装货或者卸货。装货时,在子任务中应避免不必要的过量装货,即蚂蚁载货量不应超过子任务中剩余需求量,否则会影响其他子任务的计算过程。所以蚂蚁装货量应为子任务总需求量、蚂蚁最大装载量和供应量的最小值。完成装货或者卸货后,再次进行目的地的选择。重复以上过程直到所有需求地的都得到满足即可。
对于不同的数据量来说,参数的选取是不同的,但是其中又有一定的规律可循。在这里本文针对一组随机(5,5,3)数据(5个供应地,5个需求地,3辆卡车,与算例分析中的第一组(5,5,3)相同)来说明一下参数的选取方式。
对于参数P和Q,Q代表蚂蚁的组数,P代表每组蚂蚁的数量,也就是说P*Q是蚂蚁的总数量,在P*Q固定不变的情况下,Q与P的比值的变化会影响最终解的情况。由于信息素矩阵的更新是以组为单位的,即每跑完一组蚂蚁,更新一次信息素矩阵,所以Q与P的比值越大,说明信息素矩阵更新次数越多,花费时间越长,取得更好的解的概率也会变大。
下面所有表格中“结果”表示30次解中较优的15次的平均值,“时间”表示30次计算所花费的平均时间。
表1:不同Q/P值对结果和时间的影响
表2:不同Q*P值对结果和时间的影响
从表1可以看出,Q与P的比值在3左右的时候30次结果的平均值已经非常好,而且计算时间相对较少。从表2可以看出,P*Q的值为30左右的时候30次结果的平均值已经非常好,而且计算时间相对较少。
对于U和V,U代表随机子任务划分循环次数,V代表随机产生子任务序列循环次数,U*V表示总的子任务执行数。与p,q的选取规律是一样的。下面给出表格分析:
表3:不同U/V值对结果和时间的影响
表4:不同α*β值对结果和时间的影响
从表3可以看出,U和V的比值对计算时间几乎没有影响,对结果有一定的影响,比值为5的时候效果最好。从表4可以看出,U,V的比值为5左右且U,V的乘积为1600左右时,结果达到最优且计算时间较短。
从以上分析可以得出结论,这4个参数的取值都会对结果产生影响。在实际计算中,我们可以采取上面的方式来选取合适的参数。
算例分析
以下表格中“单位”表示城市或者卡车,“属性”表示某单位的信息。
单位中mi(i=1,2...M)表示供应地,nj(j=1,2...N)表示需求地,tk(k=1,2...K)表示卡车。属性中x表示单位的横坐标,y表示单位的纵坐标,num表示城市的供应量(num为正)或者城市的需求量(num为负)或者卡车的最大运载量。
运行结果中的“完成总任务所花费时间”为所有卡车中最后一个完成任务的卡车所走的路程。因为问题假设各个卡车的速度相同,所以完成总任务所花费时间和最后一个完成任务的卡车所走的路程成正比,因此我们做这样的代替。
算例运行的服务器配置为:2个64位的E5-2620v3 2.4GHz(6核)的CPU,物理内存16GB。
五个供应地五个需求地三辆卡车
表5:(5,5,3)单位信息
表6:优化前30次计算结果
表5给出了(5,5,3)的具体单位信息,表6是优化前30次计算结果的分布情况。优化前平均计算时间为:31.86s,其中最优结果的卡车路径为:
t1:m5(+2)→n4(-1)→n5(-1)→m2(+2)→n5(-2)→m2(+2)→n5(-2)
t2:m1(+1)→n3(-1)→m4(+1)→n3(-1)
t3:m4(+3)→n2(-3)→m4(+2)→n1(-2)
路径信息中供应地后的括号内的正数代表卡车在此供应地装货,需求地后的括号内的负数代表卡车在此需求地卸货,比如:卡车t1先从初始位置去了供应地m5,装了2个单位的物资,然后去了需求地n4,卸载了1个单位物资。
表7:优化后30次计算结果
表7给出了优化后的30次计算结果的分布情况。优化后平均计算时间为:12.26s,其中最优结果的卡车路径为:
t1:m5(+2)→n4(-1)→n5(-1)→m2(+2)→n5(-2)→m2(+2)→n5(-2)
t2:m1(+1)→n3(-1)→m4(+1)→n3(-1)
t3:m4(+3)→n2(-3)→m4(+2)→n1(-2)
图5中给出了最优解的仿真示意图,图中路线旁边的括号内的数对表示卡车名字以及该卡车在该路线终点处装货(正数)或卸货(负数)的数量。
通过以上算例分析可以看出,在加入分支定界法的思想后,30次计算结果的分布情况几乎无变化,但是计算过程所需的时间大大缩短,效率得到了明显的提高。
其他算例数据:
表8中的算例所给的单位信息均为计算机随机生成,这里只给出算例的信息,单位信息不再详细给出。
其中,“优化前平均计算时间”表示没有在算法中加入分支定界法前30次计算所花费的平均时间,“优化后平均计算时间”表示加入分支定界法后30次计算所花费的平均时间。
表8:算例分析
通过表8给出的算例分析可以看出,对于不同规模的数据量,算法都可以在可接受的时间范围内给出较优解,符合启发式算法的特性,并且对于各个程序随机生成的算例而言,加入分支定界法的思想后,计算效率都得到了非常明显的提高。
如图6所示为本发明实施例提供的K-means聚类算法流程图,所述方法包括以下步骤:
前提假设:
(1)任一供应点或需求点都可以被多次。访问
(2)总供应量不小于总需求量,车速完全相同,荷载均为2。
(3)车辆在规划期开始时,并不一定在某个供应点或需求点。
(4)根据需要,车辆可以前往两个供应点装货后,再去1个或2个需求点卸货。
(5)装,卸货时间不计。
(6)任意两点间的距离为欧氏距离
算法主流程:
本算法的总思路是根据用户指定的聚类参数和循环上限,进行多次“先聚类分派,后一次装货卸货,同时空闲货车弥补”的时间模拟,最后输出取最优的一次模拟的解。其中聚类参数是一个三元组。而循环上限N则是一个正整数。
“先聚类分派”,指的是先使用k-means聚类算法,将供应点,需求点和货车分别聚类为个供应点群,个需求点群和个货车点群。然后将供应点群和货车点群分派给每个需求点群,使得每个需求点群都有一个分派供应队和分派车队。其方法则是构造两个0-1随机矩阵,一个行,列;另一个行,列。两个矩阵中第i列第j行的值若为1,则视为第j个供应点群或货车点群中的供应点或货车加入第i个需求点群的分派供应队或分派车队。
“后一次装货卸货”,指的是本文认为,要最快将物资送到需求地,则每辆货车都希望只要装货,卸货一次,便能完成目标,然后进入“空闲”状态。空闲状态指的是货车被排出原来需求点群的分派车队,原地不动。
显然,“只要装货,卸货一次,便能完成目标”,是不一定能完成的,比如某个需求点群,存在供应队或货车队中供应点或货车点不足的情况。所以这种情况要用“空闲货车弥补”,即一旦出现这种情况,就寻求还有供应余量的供应点或在空闲状态的货车加入其分派供应队或分派车队。然而有可能暂时找不到空闲车辆,则关于此需求点群内的物资调度只能搁浅,等待出现空闲状态的货车。
有了上述思想,则可以进行具体的算法设计。整个算法的具体流程如下。进行N次循环,每次循环都进行“先聚类分派,后一次装货卸货,同时空闲货车弥补”的时间模拟,时间模拟即是模拟每个时间单位的推进,使得货车移动,装货,卸货,进入空闲状态,同时使得需求点群的分派车队不断排出货车,加入空闲货车,加入供应点的过程。当所有需求点满足,时间模拟结束并得到解。之所以要进行N次循环,是因为每次的聚类结果和两个0-1随机矩阵都有着随机性,从而导致分派的结果有着随机性,最终导致解的优秀性不能保证。所以多次随机取最优。
相关定义:
数据规模(sn,dn,tn):sn代表供应点个数,dn表示需求点个数,tn表示货车个数。
本文算例在拥有24个CPU,型号:E5-2620v3@2.4GHz,64位模式下,总计物理内存:15923MB,总计虚拟内存:16263MB配置的服务器下运行。
例如(8,8,4)规模的问题,程序输入信息如下。
表9供应点信息
表10需求点信息
表11货车信息
当聚类参数为(4,4,4),N为300时,程序得到的路径输出示例如下:
T1:Start-S6(1)-D5(-1)-S3(2)-D3(-2)-S7(1)-D8(-1)-S5(2)-D6(-1)
T2:Start-S1(2)-D5(-2)-S1(2)-D3(-2)-S5(2)-D7(-1)-S8(1)-D1(-1)
T3:Start-S1(2)-D5(-2)-S3(2)-D2(-2)-S2(2)-D1(-2)
T4:Start-S1(2)-D6(-2)-S3(2)-D3(-1)-S5(0)-D4(-1)-S8(2)-D4(-2)
以货车T1为例:“T1:”后面代表第一个货车的行驶路径,从Start,即此车的初始坐标(571,138),S6即第6个供应点,后面的(1)代表装货1个单位,即此车到第6个供应点装货1个单位,D5即第5个需求点,后面的(-1)代表卸货1个单位,即到D5即第5个需求点卸货1个单位,后面以此类推。
接下来,以(20,20,10)的数据规模为例,取聚类参数(7,5,5)不变,更改循环上限,从200到1400,可以观察到程序用时与单个可行解生成时间约成正比,而比例系数为循环上限。而且循环上限越大,解的优秀性与稳定性也得到提升。而在单个解中,生成用时与解的数值成正相关关系。循环上限取得越大,解的稳定性基本越好。循环上限取得越大,解的优秀性更好,计算用时更长。
表12更改循环上限
表13本算法算例结果
表14改进遗传退火算法算例结果
表15改进蚁群算法算例结果
通过与其他算法的运行数据对比,可以发现本算法在数据规模较小的情况下总体效率较差,需要相对大的循环上限与点群数较多的聚类参数才能得到最优解,相比其他算法在小规模数据下能够快速地,稳定地得到最优解,不足明显。然而在数据规模较大的情况下,本算法的聚类优势体现出来,计算时间相对大大减少,又由于其他启发式算法在后面越来越难以收敛的情况下,在相同的计算时间下,本算法的解的优秀性与计算时间都优于其他算法,体现了本算法的在大规模数据下的优秀性。
如图7所示为本发明实施例提供的遗传退火算法流程图,所述方法包括以下步骤:
符号的说明及示意图:
:第r次迭代后第i个染色体行驶的总路程
:第r次迭代后第i个染色体的适应度
:第r次迭代后第i个染色体违反了多少条约束
:第r次迭代后第i个染色体第j辆车的行驶路程总和
J:车的数量
N:种群规模
:第r次迭代后第i个染色体第j辆车的运送总趟数
M:供应地和需求地的数量之和
δm:第m个供应点或需求点的初始物资量
R:最大迭代次数
如图8为第一次迭代后第一条染色体的示意图,图中有(1,1),(2,8)两个供应点,有(2,4),(3,7),(6,7)三个需求点,并且只有一辆小车。供应点(1,1)有2个单位的供应量可记为+2,需求点(2,4)有2个单位的需求量可记为-2。代表第一条染色体的第一辆小车的第一次运送。
故当时起点为(1,1),终点为(2,4),运量为2
时起点为(2,8),终点为(3,7),运量为2
时起点为(3,7),终点为(6,7),运量为2
模型的建立:
首先设第i个染色体最晚结束的小车的行驶路长
即第r次迭代后的最少行驶路长
PR即为目标函数值
设α为随时间增长的惩罚系数(α>1)
算法思想及具体步骤:
相比较正常的遗传算法,改进的遗传退火算法在常见的遗传算法步骤上增加了不可行解判断和惩罚系数自增两步。
通过交配和变异生成的新一代的种群中很可能存在不可行解,所以需要通过不可行解的判断加以识别,并在下轮求解染色体适应度的环节中借助罚函数体现出来。不可行解判断就是对于每一条染色体依照时间顺序(即此时的行驶路程)判断每一个城市是否出现物资不足却仍往外面送物资,以及最后仍未被满足两种情况。
惩罚函数自增就是α在每次迭代后自增,体现在实际中就是程序越来越不能容忍不可行解的存在。
通过有效的判断不可行解的算法,引入罚函数的机制,可以避免过多的不可行解对后代的影响,从而解决了完全打乱实现充分交配变异的后顾之忧。具体gm的值由不可行的程度,即多少城市不满足约束条件来决定,在下一轮评估函数时调用罚函数,避免不可行解对种群的不良影响。
算例分析:
8个供应地,8个需求地,4辆小车
表16 8个供应地信息
表17 8个需求地信息
表18 4辆小车的信息
运行30次,以下为一组可行解:
卡车1路径:[571,138]->m5(-2)->m12(+1)->m15(+1)->m1(-2)->m14(+2)
即卡车1从起点开始到第5个供应地装了2个单位货物,再到第4个需求地卸下1个单位货物,再到第7个需求地卸下1个单位货物,再到第1个供应地装2个单位货物,再到第6个需求地卸下两个单位货物。
卡车2路径:
[359,239]->m1(-2)->m13(+2)->m1(-2)->m13(+2)->m1(-2)->m9(+2)
卡车3路径:
[411,363]->m8(-2)->m12(+2)->m5(-2)->m15(+2)>m2(-2)->m9(+2)->m2(-2)->m9(+2)
卡车4路径:
[584,55]->m6(-1)->m13(+1)->m3(-2)->m11(+2)->m7(-1)->m11(+1)->m3(-2)->m11(+2)->m3(-2)->m14(+2)
D=1354.1
为了验证算法的有效性和高效性,分别选取不同数量的供应地,需求地和车辆数,在同一台机器上实验20次试验取平均值,得下表数据。
表19 20次实验数据
算例运行环境为2个64位的E5-2620v3 2.40GHz(6核)CPU,物理内存16GB。本文中采用的交配率:0.8变异率:0.2.
为了研究不同的交配率对于程序结果的影响,我们针对(8,8,4)样例,采用相同的迭代次数,在同一个机器上重复30次,得下表
表20不同的交配率对于程序结果的影响
由上表可知,随着交配率的增加,程序所得的最优解是在逐渐优秀的,大概在0.8左右解就比较优秀了,但是运行所花费的时间并没有明显变化,故我们应该采用较大的交配率。
数据输出单元103又包括计算最短路径模块、发送邮件模块和数据存储模块,所述计算最短路径模块填写运行次数和用户邮箱之后,获取选择数据模块的具体输入数据,用智能算法单元102确定的算法计算,生成一个输出数据的文本文件,最后在发送邮件模块将计算结果发送到用户邮箱,邮箱内容包括数据量、最短路径的平均值、最优解、最优解出现的次数、本次数据运行的次数、平均运行时间和提供动画演示的链接,同时将计算结果在数据存储模块存储并在前端展示,存储数据包括数据量、智能算法名称、智能算法所用语言、运行时间、最短路径长度和数据存储时间。
仿真运行单元104又包括动画演示模块和路径图展示模块,所述动画演示模块根据计算最短路径模块得到的输出数据进行车辆调度物资的仿真实验,实验演示过程中显示供应地与需求地物资的减少与增加的数量,用虚线标明当前运行路径,并在演示结束时显示本次车辆路径规划的最短路径和最短路径的计算时间。
绿色实心圆表示供应地,红色空心圆表示需求地,蓝色实心小圆表示车辆,同时供应物资的数量、需求物资数量和车辆运载量也会在相应的圆下显示,并随着物资的运送动态增加与减少。
所述路径图展示模块与动画演示模块同步,显示了每一辆车的运行路径以及在动画演示过程中的当前运行路径,黄点表示出发地,绿点为供应地,红点为需求地,每辆车运送结束后对应的该辆车的路径图左侧的标记会由灰变绿。
由上述的实施例可见,本发明的这种基于多种智能算法的车辆路径规划仿真实验平台,专门用于车辆路径规划的仿真,能够方便、快捷地运用多种智能算法进行最短路径的计算,并对这些算法进行大量的测试和比较,从而提高所设计车辆路径规划仿真实验平台的质量,更好地达到仿真的目的,同时也可应用于救灾、物流等多种场景下的车辆路径规划。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。

Claims (8)

1.一种基于多种智能算法的车辆路径规划仿真实验平台,其特征在于,该平台包括数据生成单元、智能算法单元、数据输出单元和仿真运行单元;
所述数据生成单元确定仿真平台运行的具体输入数据;
智能算法单元指定用于计算最优路径的算法;
数据输出单元将智能算法计算得到的最优路径的具体数据输出,并发送到用户邮箱,同时存储每一次的计算结果;
仿真运行单元将得到的输出数据进行动画演示。
2.根据权利要求1所述的车辆路径规划仿真实验平台,其特征在于,所述数据生成单元包括:选择数据模块、坐标生成模块和测试数据下载模块;
所述选择数据模块选择平台提供的默认数据或通过自行填写数据,然后在所述坐标生成模块生成对应的坐标图;
所述测试数据下载模块供用户下载JSON格式的输入数据进行查看。
3.根据权利要求1所述的车辆路径规划仿真实验平台,其特征在于,所述智能算法单元包括内置算法模块和上传算法模块;所述内置算法模块包括平台提供的三种智能算法,即改进的遗传退火算法、改进的蚁群算法和基于有限状态机的聚类随机算法;所述上传算法模块可以上传系统使用者自定义算法。
4.根据权利要求1所述的车辆路径规划仿真实验平台,其特征在于,所述数据输出单元包括:计算最短路径模块、发送邮件模块和数据存储模块;
所述计算最短路径模块计算出本次输入数据的最优路径;
所述发送邮件模块在智能算法计算出最优路径的结果后将数据发送到用户邮箱并提供观看仿真动画演示的链接;
所述数据存储模块将每一次的输入数据、所用智能算法和最优路径计算结果存储进数据库并在前端展示。
5.根据权利要求1所述的车辆路径规划仿真实验平台,其特征在于,所述仿真运行单元包括动画演示模块和路径图展示模块;
所述动画演示模块根据得到的输出数据进行车辆调度物资的仿真实验,显示供应地与需求地物资的减少与增加的数量,用虚线标明当前运行路径,并在演示结束时显示本次车辆路径规划的最短路径和最短路径的计算时间;
所述路径图展示模块显示每一辆车的运行路径以及在动画演示过程中的当前运行路径。
6.根据权利要求2所述的车辆路径规划仿真实验平台,其特征在于,所述填写数据包括:供应地数量和拥有物资数量、需求地数量和所需物资数量、车辆数量和每辆车的运载量。
7.根据权利要求4所述的车辆路径规划仿真实验平台,其特征在于,所述计算最优路径包括:获取输入数据、计算最优路径和生成输出数据文件;
所述获取输入数据包括数据生成单元生成的具体数据、选择的智能算法、运行次数和用户邮箱;
所述计算最优路径根据指定的算法与运行次数来计算出最优解、最短路径平均值和运行时间平均值;
所述生成输出数据文件会将每辆车的路径以JSON格式生成一个文本文件,并将数据传回前端以供动画演示。
8.根据权利要求4所述的车辆路径规划仿真实验平台,其特征在于,所述发送邮件包括:数据量、最短路径的平均值、最优解、最优解出现的次数、本次数据运行的次数、平均运行时间和提供动画演示的链接。
CN201710940667.3A 2017-10-11 2017-10-11 基于多种智能算法的车辆路径规划仿真实验平台 Pending CN107798423A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710940667.3A CN107798423A (zh) 2017-10-11 2017-10-11 基于多种智能算法的车辆路径规划仿真实验平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710940667.3A CN107798423A (zh) 2017-10-11 2017-10-11 基于多种智能算法的车辆路径规划仿真实验平台

Publications (1)

Publication Number Publication Date
CN107798423A true CN107798423A (zh) 2018-03-13

Family

ID=61532688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710940667.3A Pending CN107798423A (zh) 2017-10-11 2017-10-11 基于多种智能算法的车辆路径规划仿真实验平台

Country Status (1)

Country Link
CN (1) CN107798423A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164810A (zh) * 2018-09-28 2019-01-08 昆明理工大学 一种基于蚁群-聚类算法的机器人自适应动态路径规划方法
CN110059996A (zh) * 2019-03-06 2019-07-26 青岛日日顺物流有限公司 一种基于语音引导系统的场区车辆装载方法
CN110264019A (zh) * 2019-07-19 2019-09-20 江西理工大学 一种基于蚁群算法的拥堵路段路径优化方法
CN110619431A (zh) * 2019-09-17 2019-12-27 浙江树人学院(浙江树人大学) 一种救灾中防汛救援物资的车辆运输调度方法
CN110941263A (zh) * 2019-10-25 2020-03-31 华南理工大学 一种自主水下航行器路径规划方法和装置
CN110969389A (zh) * 2019-11-29 2020-04-07 拉货宝网络科技有限责任公司 一种基于车辆载重的工程车辆运载趟数统计方法及系统
CN111915078A (zh) * 2020-07-29 2020-11-10 中国烟草总公司湖北省公司 一种基于数据驱动的柔性化卷烟配送线路规划方法及系统
CN113077106A (zh) * 2021-04-16 2021-07-06 北京京东振世信息技术有限公司 一种基于时间窗的物品运输方法和装置
CN114462764A (zh) * 2021-12-22 2022-05-10 上海新时达电气股份有限公司 多层多口提升机的调度方法
WO2022116225A1 (zh) * 2020-12-02 2022-06-09 中国科学院深圳先进技术研究院 多车任务分配与路径优化仿真平台及其实现方法
WO2022188388A1 (zh) * 2021-03-11 2022-09-15 华南理工大学 基于蚁群优化算法的智慧城市动态冷链物流调度方法
WO2022245311A1 (en) * 2021-05-21 2022-11-24 Basarsoft Bilgi Teknolojileri Anonim Sirketi Vehicle routing and optimization system and a method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116825A (zh) * 2013-01-29 2013-05-22 江苏省邮电规划设计院有限责任公司 智慧城市管理系统
US8510241B2 (en) * 2008-08-29 2013-08-13 Empire Technology Development Llc Approach for solving global optimization problem
KR101416916B1 (ko) * 2013-12-13 2014-07-09 국방과학연구소 에이전트 기반의 군사 시뮬레이션 환경에서 물자의 최적 분배 시스템 및 그것의 제어방법
CN104584016A (zh) * 2012-08-14 2015-04-29 皇家飞利浦有限公司 用于算法指南的可视化的方法和系统
CN106156897A (zh) * 2016-08-22 2016-11-23 武汉轻工大学 物流配送中最优路径规划模拟系统
CN107220731A (zh) * 2017-05-23 2017-09-29 南京邮电大学 一种物流配送路径规划方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510241B2 (en) * 2008-08-29 2013-08-13 Empire Technology Development Llc Approach for solving global optimization problem
CN104584016A (zh) * 2012-08-14 2015-04-29 皇家飞利浦有限公司 用于算法指南的可视化的方法和系统
CN103116825A (zh) * 2013-01-29 2013-05-22 江苏省邮电规划设计院有限责任公司 智慧城市管理系统
KR101416916B1 (ko) * 2013-12-13 2014-07-09 국방과학연구소 에이전트 기반의 군사 시뮬레이션 환경에서 물자의 최적 분배 시스템 및 그것의 제어방법
CN106156897A (zh) * 2016-08-22 2016-11-23 武汉轻工大学 物流配送中最优路径规划模拟系统
CN107220731A (zh) * 2017-05-23 2017-09-29 南京邮电大学 一种物流配送路径规划方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐新黎 等: ""智能搜索算法在线教学实验平台的设计与实现"", 《实验技术与管理》 *
徐畅: ""大规模路网下基于蚁群微正则退火算法的路径优化方法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164810B (zh) * 2018-09-28 2021-08-10 昆明理工大学 一种基于蚁群-聚类算法的机器人自适应动态路径规划方法
CN109164810A (zh) * 2018-09-28 2019-01-08 昆明理工大学 一种基于蚁群-聚类算法的机器人自适应动态路径规划方法
CN110059996A (zh) * 2019-03-06 2019-07-26 青岛日日顺物流有限公司 一种基于语音引导系统的场区车辆装载方法
CN110059996B (zh) * 2019-03-06 2022-04-26 日日顺供应链科技股份有限公司 一种基于语音引导系统的场区车辆装载方法
CN110264019A (zh) * 2019-07-19 2019-09-20 江西理工大学 一种基于蚁群算法的拥堵路段路径优化方法
CN110264019B (zh) * 2019-07-19 2022-11-01 江西理工大学 一种基于蚁群算法的拥堵路段路径优化方法
CN110619431A (zh) * 2019-09-17 2019-12-27 浙江树人学院(浙江树人大学) 一种救灾中防汛救援物资的车辆运输调度方法
CN110619431B (zh) * 2019-09-17 2022-03-25 浙江树人学院(浙江树人大学) 一种救灾中防汛救援物资的车辆运输调度方法
CN110941263A (zh) * 2019-10-25 2020-03-31 华南理工大学 一种自主水下航行器路径规划方法和装置
CN110969389A (zh) * 2019-11-29 2020-04-07 拉货宝网络科技有限责任公司 一种基于车辆载重的工程车辆运载趟数统计方法及系统
CN111915078A (zh) * 2020-07-29 2020-11-10 中国烟草总公司湖北省公司 一种基于数据驱动的柔性化卷烟配送线路规划方法及系统
CN111915078B (zh) * 2020-07-29 2023-09-26 中国烟草总公司湖北省公司 一种基于数据驱动的柔性化卷烟配送线路规划方法及系统
WO2022116225A1 (zh) * 2020-12-02 2022-06-09 中国科学院深圳先进技术研究院 多车任务分配与路径优化仿真平台及其实现方法
WO2022188388A1 (zh) * 2021-03-11 2022-09-15 华南理工大学 基于蚁群优化算法的智慧城市动态冷链物流调度方法
CN113077106A (zh) * 2021-04-16 2021-07-06 北京京东振世信息技术有限公司 一种基于时间窗的物品运输方法和装置
WO2022245311A1 (en) * 2021-05-21 2022-11-24 Basarsoft Bilgi Teknolojileri Anonim Sirketi Vehicle routing and optimization system and a method thereof
CN114462764A (zh) * 2021-12-22 2022-05-10 上海新时达电气股份有限公司 多层多口提升机的调度方法

Similar Documents

Publication Publication Date Title
CN107798423A (zh) 基于多种智能算法的车辆路径规划仿真实验平台
Shavarani et al. A congested capacitated multi-level fuzzy facility location problem: An efficient drone delivery system
CN103413209B (zh) 多客户多仓库物流配送路径选择方法
CN104567905B (zh) 一种车辆规划路径的生成方法、装置
Surekha et al. Solution to multi-depot vehicle routing problem using genetic algorithms
CN104598979B (zh) 基于时间和位置的递送最优化
CN110782086B (zh) 一种用于救援的带无人机车辆配送路径优化方法及系统
KR101924729B1 (ko) 드론을 활용한 통합 물류 운용 시스템 및 그 방법
Ting et al. Multi-vehicle selective pickup and delivery using metaheuristic algorithms
Wang et al. Ant colony optimization with an improved pheromone model for solving MTSP with capacity and time window constraint
CN109345091A (zh) 基于蚁群算法的整车物流调度方法及装置、存储介质、终端
Khmeleva et al. Fuzzy-logic controlled genetic algorithm for the rail-freight crew-scheduling problem
CN110619441A (zh) 基于领导者的ga-pso的软时间窗车辆路径优化方法
CN106250650A (zh) 高通量仿真中模型的资源分配与优化方法
Liu et al. A scheduling decision support model for minimizing the number of drones with dynamic package arrivals and personalized deadlines
Wu et al. Autonomous Last‐Mile Delivery Based on the Cooperation of Multiple Heterogeneous Unmanned Ground Vehicles
CN109359771A (zh) 一种基于大数据的干线运输车货匹配算法
CN110210666A (zh) 基于车货匹配的智能推荐方法、系统和存储介质
Hani et al. Simulation based optimization of a train maintenance facility
El Bouzekri El Idrissi et al. Evolutionary algorithm for the bi-objective green vehicle routing problem
Li et al. Parcel consolidation approach and routing algorithm for last-mile delivery by unmanned aerial vehicles
CN117113608A (zh) 一种冷链物流网络节点布局方法和设备
CN112016750A (zh) 一种改进的解决带约束车辆路径问题的方法
CN114239931A (zh) 基于改进蚁群算法实现物流仓储装车调度的方法及装置
CN112862135B (zh) 快件运输线路规划方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180313