基金项目论文
物流配送中多车多点路径规划算法研究
李淑飞,骆剑锋
(东莞职业技术学院 计算机工程系,广东 东莞 523808)
摘 要:物流配送中常用的Dijkstra、Floyd、A*等最短路径算法只能计算两点之间的最短路径,没有带约束条件和回程规划。多车多点路径规划算法利用神经网络对收送货地点进行分区,用百度地图API计算各点之间的最短路径,通过绕行遍历思想计算绕行贡献值,利用贪婪思想在车辆限载重、限路程的情况下组合回程,从而形成最优路径方案。该算法已用在物流企业的多车多点路径规划云平台上,大大提高了物流配送效率。
关键词:多车多点;最短路径;绕行贡献值;规划算法;物流配送
0 引言
在物流配送活动中,物流配送路径的最优化问题,是物流配送系统优化中关键的一环。随着配送路网的日趋复杂,配送成本日益增大[1],在物流配送中规划合理的配送路线,避免迂回运输与重复运输,有利于节省配送费用,降低物流成本,提高物流配送的效率和经济效益。
9月初,著名葡萄酒讲师朱利安——中文说得最溜的法国人,收到了来自葡萄酒大师协会的邮件——自己MW的盲品的考试顺利通过了!这就意味着,他离“葡萄酒大师”只差最后的“论文”(Research Paper)。但不知道为什么,他并没有想象中那样欣喜若狂。
物流配送问题是典型的组合寻优问题[2],常用的路径最优算法有Dijkstra[3]、Floyd、A*等算法[4]。Dijkstra算法是经典的广度优先算法,该算法的主要特点是以起始点为中心搜索所有与其连接的点,从中心向外层延展,直到延展到终点为止,因此能够有效解决单源最短路径问题[5]。Floyd算法是经典的深度优先算法,该算法利用动态规划思想,寻找给定的加权图中多源点之间最短路径,因此能够有效解决任意两点之间最短距离[6]。A*算法是基于启发式的最短路径算法,是一种静态路网中求解最短路径最有效的直接搜索方法,通过计算函数的慢相对最优解来筛选出发点周围的后继点[7]。这些算法都是求两顶点之间的最短路径,并且没有带约束条件,也没有规划回程。
现实物流配送中,可能有不同的收送货地点、不同的收送货重量,车辆也有限重、限程、限时等多条件的限制,如何合理安排车辆,使得车辆在限制负载、限制行程的情况下遍历所有客户,并且规划回程的路径方案最优,本文提出了多车多点路径规划算法。
1 多车多点路径规划算法思想
1.1 绕行遍历思想
多车多点路径规划算法主要是对多车辆在限制负载、限制行程的情况下遍历所有客户,而且还能规划回程的最短路径方案,其核心是绕行遍历思想。
假设由S点为起始点,现在要去A、B两个地点去收送货,两地间的距离单位为km,如图1所示,求要规划回程的最短路径。
微灌节水灌溉模式能够有效控制灌溉量,整个灌溉过程水资源消耗降低到最小程度。喷灌溉模式在使用之前需要安装相应的喷灌设备,采用这种方法可以有效提高农作物对水资源的吸收效率,达到节水灌溉的目的。低压管道灌溉模式主要把地下水泵送到地表,完成对农田的灌溉。目前,该种灌溉模式是农业生产中应用最为广泛的一种灌溉模式,它可以有效提高水资源利用效率,同时还可以改善小型农田水利工程灌溉过程中水资源浪费率较高的现状,但相对于上述两种利用方式,该种方式的节水效果较差[1]。
图1 三地点网络图
Fig.1 Three site network map
从起始点出发,要遍历所有点,并且返回起始点,路径的走法有四种:
②往返方式:S→A→B→A→S,由S点出发,经过所有点A、B,再沿路返回。
(1)在下方也放置一个相同的小球,它与圆柱侧面的公共点将也形成圆,把这两个圆记作圆C1和圆C2.圆C1与圆C2所在平面有怎样的位置关系?
在希腊哲学那里,理性的工具功能还包容于原初理性厚重的襁褓之中远未分化,科学理性与认知、伦理、审美理性缠绕在一起。到希腊晚期,统治希腊的是罗马人,罗马人属于内陆民族,具有重实用轻思辨、重法律轻哲学之特性,在这种情势之下,理性与哲学日渐式微。在欧洲中世纪,理性作为单质的论证手段破蛹而出,它屈尊于启示之下,成为宗教信仰的论证工具,但是,由于理性之论证手段与神的崇高性和神圣性相伴相随,因而中世纪理性还带有超越性的维度,其手段的意义远未被货币所侵染。
③往返方式:S→B→A→B→S,由S点出发,经过所有点B、A,再沿路返回。
众所周知,传统人物画以人物为主要题材,有工笔与写意两种表现方式,可以单纯刻画人物形象与神态,具有视觉图像意义,或以表现某个事件为主从而突出人物所处情境,展现那时那刻的人物状态,具有记录史实的效果,抑或是对美的形式的探索,通过改变表现方式和创作手段来探索人物形象背后的形式规律与观念意义。在本文中笔者将主要从民族服饰、民俗风情和民族乐器这三种符号观念入手去解析广西这一地域语境下的少数民族传统人物画,尝试去梳理并归纳少数民族人物画的艺术特色。
④绕行遍历方式:S→A→B→S,环绕一周,遍历所有点,回到起始点。
表1求出了每种走法的距离及绕行贡献值。根据三角形两边之和大于第三边,可知第四种走法(绕行遍历方式)是最短路径,是最佳走法。假设把前三种走法与第四种走法的距离差称为绕行贡献值,绕行贡献值越大,越值得绕行,这是本算法的一个核心思想。
表1 四种不同的遍历方式
Tab.1 Four different traversal methods
(4)对绕行贡献值筛选后形成降序路径队列,再出队,路径进入累加堆栈,入栈的时候,累加重量值及路程值;一旦路程累加值超过路程值和重量值就出栈,并剔除刚进栈的路径。
1.2 贪婪思想
本算法中,先要计算出最短距离矩阵SM、绕行贡献值矩阵RX。RX值根据筛选公式筛选出来后形成队列,并按降序存放到JXDL队列中,再逐条路径从JXDL堆栈中出栈,进入累加堆栈,累加路程值及重量值,一旦路程累加值超过限程值、重量累加值超过限重值就出栈,剔除刚进栈的路径,在网络图上按照贪婪思想连接已经出栈的路径,形成一条回程路径。
1.3 靠近原则
(3)利用百度地图API计算出各个地点的最短路径,再算出所有路径的绕行贡献值。
图2 组合路径
Fig.2 Combination path
2 多车多点路径规划算法的实现
2.1 多车多点路径规划算法的实现流程
多车多点路径规划算法具体的实现流程如下:
(1)先从数据库中读取各个收送货地点的经纬度、客户收送的货物重量以及车辆载重、车辆最大行程信息。
(2)利用模糊神经网络根据收货点与送货点的远近进行分区。
在组成回程时,根据收送货点是否靠近来组合回路,把相对较远的路径推后处理。是否靠近采用模糊神经网络来处理,如图2所示,假设E点与组成的回程成锐角时,可以把该地点加入回程,如果是钝角,则考虑和后面的回程组成回路。
①广播方式:S→A→S→B→S,即从S点出发到A,返回S,再从S点到B,返回S。
此外,还要根据S点的夹角K来判断采用广播方式、往返方式还是绕行遍历方式。当S点的夹角K为锐角,才采用绕行遍历,钝角则不绕行。
GMDSS终极现代化阶段将是与现代化通信技术完全吻合的阶段,充分融合数字技术、宽带技术、可移动终端等现代化通信技术。达到准现代化的目标之后并不代表GMDSS停滞不前,通信技术在发展,GMDSS也应该一直向前跟进。GMDSS停滞的30 a已造成自身极大的损失,随着GMDSS准现代化的发展,GMDSS应保持对最先进通信技术的接纳状态,也就是达到与现代通信技术相吻合,并可持续发展时才是GMDSS现代化的终极目标。
(2)计算最短距离矩阵SM
(6)把规划好后的结果存储到数据库中,并且用百度地图API显示出来。
2.2 多车多点路径规划算法的实现
以物流货车收货为例,假设现有A至J的10个收货地点是在同一组,每个地点的货物重量(kg)为网络图上的结点值,L为起始点S到每个节点的矩离,D为节点间的距离。现有两种货车,分别是载重30 kg与50 kg,且货车一次行驶路程为40公里以内,图中的边权为路程(公里)。
(1)收送货地点进行分区
根据收货点与送货点是否靠近进行分区,如果靠近,则把它们归为一类区,如果不靠近,则把收货点归成另外一类区,送货点归成第三类区。对于两点之间是否靠近的判断,则可以训练神经网络来处理。接下来对第一类的客户点进行分组,使用背包问题的解决方法进行分组:假设有n个客户点,客户点j要收货或送货的货物重量为wj(收货时wj为正值,送货时wj为负值),价格为pj(pj都为1,因为货物价格与路径规划无相关)。车辆所能承受的最大重量为W。如果限定每种货物只能选择0个或1个,用xj表示,使得。
A组患者术后1 d UCVA(P<0.001)、术后3月UCVA(P<0.001)、术后3月BCVA(P<0.001)均较术前显著提高,差异有统计学意义。B组患者术后1 d UCVA(t=4.85,P<0.001)、术后3月UCVA(P<0.001)、术后3月BCVA(P<0.001)均较术前显著提高,差异有统计学意义。两组患者间术后1 d UCVA、术后3月UCVA、术后3月BCVA、UCVA提高度、BCVA提高度的差异均无统计学意义(P>0.05,表2)。
(5)利用贪婪思想根据路径是否靠近,对路径作连接处理形成回路。
在数据库中得到这些地点的经纬度、车辆载重和行程后,利用百度地图API算出所有结点间的最短路径,现把收送货点地图(图3)抽象成网络图(图4)。结合百度地图API和Floyd 算法[8]计算出网络图中S起点到各收货点、收货点与收货点的距离,得出收货线路最短距离矩阵SM(图5)。
教材中建议的实验材料不一定是最合适的,应从实验效果、操作难易等角度进行综合考虑。当现有的实验材料不能取得预期的实验效果时,可以尝试选择其他实验材料来代用。例如,在“制作并观察植物细胞有丝分裂的临时装片”实验中,教材采用的是洋葱的根尖。但是洋葱体细胞的染色体数较多(2n=16),不易看清。这时,教师可以引导学生选择其他实验材料来代替。如大蒜、吊兰、蚕豆等的根尖都是很好的实验材料,发根量大,分裂旺盛,观察效果更加明显。
图3 收送货点地图
Fig.3 Receiving and delivering point map
图4 网络图
Fig.4 Network diagram
(3)计算绕行贡献值RX
本文侧重讨论了结构参数与活化能之间的构效关系。根据现有资料,案例利用Hyperchem8.0软件初步优化6个有机物的结构,再用Gaussian09软件进行深度优化,利用Materials Studio软件进行参数计算。选取了19个量子化学结构参数,其中16个由软件计算获得,3 个为组合参数(EGAP,E2GAP,EHOMO+ELOMO),各参数的物理意义见表3,各参数值及与Ea的相关性见表4。
计算完各结点间最短路径之后,接下来就要求出哪一条路径最适合绕行,根据绕行遍历思想,用绕行公式RX(i,j)=SM(i,0)+SM(j–1,0)–SM(i,j)求出绕行贡献值[9](图6),绕行贡献值越大,路径越短,越值得绕行。
图5 最短路径矩阵SM
Fig.5 Shortest path matrix
图6 绕行值矩阵RX
Fig.6 Round-trip matrix
(4)对绕行值RX进行筛选
求完绕行贡献值矩阵RX之后,利用贪婪思想选择贡献值最大的绕行路径,通过筛选公式进行绕行贡献值筛选,并按绕行贡献值由大到小进行降序排列,形成降序队列JXDL。
(1)
(5)组成回路
从队列JXDL中提取出绕行贡献值RX与路径信息,并按照RX的从大到小的顺序存放到RXZ堆栈中,接着逐条路径从RXZ堆栈中出栈,同时进入累加堆栈,入栈的时候,累加路程值及重量值。一旦路程累加值超过40公里或重量累加值超过50吨就出栈,剔除刚进栈的路径,在网络图上按照贪婪思想公式组成回路。
(2)
公式中SM是最短路径矩阵,Op1和Op2是刚出栈路径的两端点,CP1和CP2是代表已经出栈,并且已经形成回路的两端点,S是货运中心点。满足上式的路径(Op1至Op2)出栈后,连接已经出栈的路径形成一条回程路径。
肉味香精的成分是乙基麦芽酚,是食品添加剂的一种食用香精香料。乙基麦芽酚是我国GB2760-86规定的允许使用的食品用香料,相关情况如下表格:
(6)靠近判断
每组成一个回程,则对第二类客户点与现有的回程作是否靠近的判断,如果靠近的话,则用插入路径方法,插入经过此客户点的路径。重复此操作,直到所有结点访问完毕。这样根据绕行思想和贪婪思想,逐步组合好了规划路径,最后通过百度地图API把这些路径显示在地图上。
3 结语
本算法是针对多辆车到多个地点的最短路径问题,在算法中利用神经网络对地点按远近进行分区,利用百度地图API计算出各个地点的最短路径,根据绕行遍历思想算出所有路径的绕行贡献值,再用贪婪思想把路径组合起来,最后把规划好后的结果存储到数据库中,并且用百度地图API显示出来,使得在物流配送中能够满足车辆不超重、不超程并规划回程的路径最短。该算法已用在物流企业的多车多点智能路径规划云平台,也可以广泛应用在物流企业、公交路线规划、旅游规划、无人驾驶等各个行业。
参考文献
[1] 钮亮, 张宝友. 基于云计算求解城市物流配送最短路径研究[J]. 科技通报, 2015(5): 184-188.
[2] 李晶, 闫军. 基于Dijkstra算法和Floyd算法的物流运输最短路径研究[J]. 科技信息, 2012(2): 575-576.
[3] 王华. 基于Dijkstra算法的物流配送最短路径算法研[J]. 计算机与数字工程, 2011(3): 48-50.
[4] 高小芳. 物流配送最优路径规划[D]. 福建: 华侨大学, 2016.
[5] 叶颖诗, 魏福义, 蔡贤资. 基于并行计算的快速Dijkstra算法研究[J]. 计算机工程与应用, 2019, 7.
[6] 吴海峰. 最短路径算法——Dijkstra及Floyd算法[J]. 中国新通信, 2019, 21(02): 32-33.
[7] 魏为民, 陆致静, 叶语. 一种基于A*算法改进的最短路径搜索方法[J]. 上海电力学院学报, 2018, 34(02): 180-184.
[8] 张陈翔. 基于Floyd算法的校园导航应用程序开发[J]. 软件, 2018, 39(4): 83-85.
[9] 骆剑锋, 陈俞强, 郑东瀚. 智能交通通信同心游程路由算法[J]. 控制工程, 2016, 6(06): 975-978.
Research on Multi-vehicle Multi-point Path Planning Algorithm in Logistics Distribution
LI Shu-fei, LUO Jian-feng
(Dongguan Polytechnic, Dongguan Guangdong, 523808)
【Abstract】: The Shortest path algorithms such as Dijkstra, Floyd, and A* commonly used in logistics distribution can only calculate the shortest path between two points, without constraints and backhaul planning. The multi-vehicle multi-point path planning algorithm uses neural network to partition the receiving and delivering places, and uses Baidu Map API to calculate the shortest path between the points,and the detour contribution is calculated by detour traversal idea, and the greedy idea is used to combine the backhaul under the condition of Limited vehicle load and distance, thus forming the optimal path scheme. This algorithm has been used in multi-vehicle multi-point path planning cloud platform of logistics enterprises, which greatly improves the efficiency of logistics distribution.
【Key words】: Multi-vehicle multi-point; Shortest path; Detour contribution value; Planning algorithm; Logistics distribution
中图分类号:TP312
文献标识码:A
DOI:10.3969/j.issn.1003-6970.2019.11.008
基金项目:2018年度政校行企项目--“超智能多车多点计重程兼送取路径规划云平台”(政201804);东莞职业技术学院技艺能手项目(Y17040321)
作者简介:李淑飞(1974–),女,副教授,研究方向为计算机智能信息处理与控制、图形图像处理、职业教育研究;骆剑锋(1981–),男,教授,研究方向为系统设计与软件开发。
本文著录格式:李淑飞,骆剑锋. 物流配送中多车多点路径规划算法研究[J]. 软件,2019,40(11):34- 38
标签:多车多点论文; 最短路径论文; 绕行贡献值论文; 规划算法论文; 物流配送论文; 东莞职业技术学院计算机工程系论文;