一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进初始解算法的医药物流车辆路径优化方法与流程

2022-06-11 05:09:34 来源:中国专利 TAG:


1.本发明属于车辆路径领域,涉及一种基于改进初始解算法的医药物流车辆路径优化方法。


背景技术:

2.在车辆路径优化领域,通常使用启发式算法解决车辆路径优化问题。对于np-hard问题,一般的经典算法求解时间过长,无法接受。因此采用一种相对较好的求解算法,去尽可能地逼近最优解,得到一个相对优解,在车辆路径优化问题的一些现实情况中也是可以接受的。启发式算法是一种技术,这种技术使得在可接受的计算成本内去搜寻最好的解,但不一定能保证所得的可行解和最优解。
3.启发式算法通常是从一个可行解开始,并重复寻找更好的解,这样可以在合理的计算时间内找到一个近似最优解,对于规模较大的np-hard问题来说,启发式算法展现出了极好的性能。然而,某些特殊情况下,启发式算法会得到很坏的答案或效率极差。中国专利申请cn110852469a公开了一种基于遗传算法的医药物流配送路径的优化设计方法,该方法包括构建医药物流配送路径问题的基于mapreduce模型的并行遗传算法框架,但该方法仍存在由于在一开始寻找的可行解可能较差导致最后得到的近似最优解较差的情况。
4.因此,本发明可以通过改进现有的算法的初始可行解,来解决最后得到的近似最优解可能较差的问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于改进初始解算法的医药物流车辆路径优化方法。可以有效为启发式算法提供一个较优的初始解并有效改善医药配送路径优化的结果。本发明可以有效降低配送成本,提高配送效率,提升客户点满意度。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于改进初始解算法的医药物流车辆路径优化方法,该方法包括以下步骤:
8.s1:利用地图api采集到医药公司的线路上包含的仓库和客户点的经纬度信息,然后计
9.s2:构建医药物流车辆路径优化模型,优化目标为总路程最小化;
10.所述总路程为车辆从仓库出发,遍历所有的客户点,最后回到仓库的路程;
11.车辆具有容量限制,无最远距离限制,并对医药物流车辆路径优化模型的目标函数设定约束条件;
12.s3:设计改进初始解的启发式算法,第一阶段使用插入法和邻点法生成初始解,第二阶段使用遗传算法,把第一阶段插入法和邻点法求得的初始解放入第二阶段遗传算法进行深度优化,以得到最优行驶路径;使用所述改进初始解的启发式算法求解医药物流车辆路径优化模型的目标函数。
13.可选的,所述s1具体为:
14.s11:利用地图api采集到医药公司的线路上包含的仓库和客户点的经纬度信息;
15.s12:利用地图api和已查询的仓库和客户点的经纬度信息,计算每两点之间的往返距离;
16.s13:将得到的往返距离储存在2
×
2的矩阵中;
17.s14:将该矩阵导出为csv文件,即为医药公司线路上包含仓库和客户点的距离矩阵。
18.可选的,所述s2中,医药物流车辆路径优化模型的总优化目标函数为:
[0019][0020]
式中仓库与所有接受服务的客户点集合n={0,1,
……
,n},包含仓库0与所有接受服务的客户点集合n'={1,2,
……
,n};仓库可用车辆集合l={1,2,
……
,k};i,j代表单个仓库或客户点,i,j∈n,i≠j;d
ij
表示车辆由点i到点j的距离;为决策0-1变量,1车从点i到点j时为1,否则为0;
[0021]
s2中,医药物流车辆路径优化模型的目标函数设定约束条件如下:
[0022][0023][0024][0025][0026][0027]
以上约束条件中:
[0028]
式(1)表示每个客户点都被服务且只被服务一次;
[0029]
式(2)表示每个客户点到达与离开的车辆保持平衡;
[0030]
式(3)表示所有从仓库出来的车辆,最终都回到该中心;
[0031]
式(4)表示车容量约束;
[0032]
式(5)表示消除子回路;
[0033]
各式中,q表示车辆最大载重。
[0034]
可选的,所述s3中,求解医药物流车辆路径优化模型的改进初始解的启发式算法的第一阶段使用插入法和邻点法生成初始解,包括以下步骤:
[0035]
s31:将s1得到的距离矩阵加入工作表中;
[0036]
s32:使用自然数对客户点进行编码,按自然数顺序依次编号;把数列顺序使用插入法和邻点法进行排列,排列好的数列称为染色体,生成的染色体也被称为初始解;
[0037]
s33:设置好种群规模,计算距离矩阵的一行的数据个数,然后减去仓库的个数,则为客户点数量,将客户点的数量赋值为种群规模的大小;
[0038]
s34:种群规模大小的50%的染色体,使用插入法生成;
[0039]
s35:剩下的染色体使用邻点法生成;
[0040]
s36:把一个完整的染色体根据约束条件分割成几个符合条件的数列;
[0041]
s37:适应度函数设为目标函数值的倒数计算每个染色体的适应度函数值;
[0042]
s38:先选出种群中适应度最优的染色体,保证此染色体进入下一代;然后再根据适应度值采用俄罗斯轮盘赌选择法选出下一代的初始种群;
[0043]
s39:据设定的交叉率与变异率,对选择出来的种群进行交叉与变异操作;
[0044]
s310:设迭代次数为n,在未达到设定的迭代次数n之前返回s36,达到设定代数n后停止迭代。
[0045]
可选的,所述s34中,插入法的步骤为:
[0046]
s341:选取距离仓库最远的客户点为起点;
[0047]
s342:从剩下的客户点中,根据插入值最小的客户点作为下一个被插入的客户点;
[0048]
s343:以节省值最大的插入位置决定该客户点应被插入的位置;
[0049]
s344:在车辆容量限制下,重复s342~s343,当无法再扩大充路径时,则再建立另一路线,直至所有客户点都被排入路径中。
[0050]
可选的,所述s35中,邻点法的步骤为:
[0051]
s351:将仓库设置为整个回路的起始节点;
[0052]
s352:找到与刚加入到回路中的上一个节点最近的一个节点,并将其加入到路径中;
[0053]
s353:重复s352,直到所有的节点都加入到路径中;
[0054]
s354:将最后加入的节点和起始节点连接起来,形成回路。
[0055]
本发明的有益效果在于:本发没发中的算法可以有效为启发式算法提供一个较优的初始解并有效改善医药配送路径优化的结果。本发明可以有效降低配送成本,提高配送效率,提升客户满意度。
[0056]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0057]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0058]
图1为本发明的医药物流车辆路径优化策略流程图。
[0059]
图2为本发明改进初始解的启发式算法中第一阶段插入法和邻点法的流程图
[0060]
图3为本发明改进初始解的启发式算法中第一阶段插入法和邻点法中插入法的流程图;
[0061]
图4为本发明改进初始解的启发式算法中第一阶段插入法和邻点法中邻点法的流程图;
[0062]
图5为本发明改进初始解的启发式算法中第二阶段遗传算法的流程图;
[0063]
图6为本发明基于改进初始解的启发式算法的医药物流车辆路径优化方法流程图。
具体实施方式
[0064]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0065]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0066]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0067]
请参阅图1~图6,为一种基于改进初始解的启发式算法的医药物流车辆路径优化的方法,包括以下步骤:
[0068]
s1:利用地图api采集到某医药公司的某条线路上包含仓库和所有客户点的经纬度信息,进而计算每条线路上各个客户点(包括仓库)之间距离矩阵。
[0069]
s11:利用地图api采集到某医药公司的某条线路上包含仓库和所有客户点的经纬度信息。
[0070]
s12:利用地图api和已查询的仓库和客户点的经纬度信息,计算每两点之间的往返距离。
[0071]
s13:将查询到的往返距离储存在一个(仓库 所有客户点)^2的矩阵中。
[0072]
s14:将该矩阵导出为csv文件,即为某医药公司的某条线路上包含仓库和所有客户点的距离矩阵。
[0073]
s2:构建医药物流车辆路径优化模型,优化目标为总路程最小化,所述总路程为车辆从仓库出发,遍历所有的客户点,最后回到仓库的总路程;车辆具有容量限制,无最远距离限制,并对医药物流车辆路径优化模型的目标函数设定约束条件。
[0074]
s21:s2中所述的医药物流车辆路径优化模型的总优化目标函数为:
[0075][0076]
式中仓库与所有接受服务的客户点集合n={0,1,
……
,n},包含仓库0与所有接受
服务的客户点集合n'={1,2,
……
,n};仓库可用车辆集合l={1,2,
……
,k};i,j代表单个仓库或客户点,i,j∈n,i≠j;d
ij
表示车辆由点i到点j的距离;为决策0-1变量,1车从点i到点j时为1,否则为0。
[0077]
s22:s2中所述的医药物流车辆路径优化模型的目标函数设定约束条件如下:
[0078][0079][0080][0081][0082][0083]
以上约束条件中:
[0084]
式(1)表示每个客户点都被服务且只被服务一次;
[0085]
式(2)表示每个客户点到达与离开的车辆保持平衡;
[0086]
式(3)表示所有从仓库出来的车辆,最终都回到该中心;
[0087]
式(4)表示车容量约束;
[0088]
式(5)表示消除子回路;
[0089]
各式中,q表示车辆最大载重。
[0090]
s3:设计改进初始解的启发式算法,第一阶段使用插入法和邻点法生成初始解,第二阶段使用遗传算法,把第一阶段插入法和邻点法求得的初始解放入第二阶段遗传算法进行深度优化,以得到最优行驶路径;使用所述改进初始解的启发式算法求解医药物流车辆路径优化模型的目标函数;
[0091]
s3所述求解医药物流车辆路径优化模型的改进初始解的启发式算法的第一阶段使用插入法和邻点法生成初始解,包括以下步骤:
[0092]
s31:将步骤1得到的距离矩阵加入工作表中。
[0093]
s32:使用自然数对客户进行编码,按自然数顺序依次编号。把数列顺序使用插入法和邻点法进行排列,这样的数列称为染色体,生成的染色体也被称为初始解;
[0094]
s33:设置好种群规模,计算距离矩阵的一行的数据个数,在此基础上减去仓库,则为客户点数量,将客户点数量赋值为种群规模的大小。
[0095]
s34:种群规模大小的50%的染色体,使用插入法生成。插入法的步骤为:
[0096]
s341:选取距离仓库最远的顾客点为起点。
[0097]
s342:从剩下的客户点中,根据插入值最小的客户点作为下一个被插入的客户点。
[0098]
s343:以节省值最大的插入位置决定该顾客点应被插入的位置。
[0099]
s344:在车辆容量限制下,重复s342~s343,当无法再扩大充路径时,则再建立另一路线,直至所有顾客都被排入路径中。
[0100]
s35:剩下的染色体使用邻点法生成。邻点法的步骤为:
[0101]
s351:将仓库设置为整个回路的起始节点;
[0102]
s352:找到与刚加入到回路中的上一个节点最近的一个节点,并将其;
[0103]
s353:重复上一步骤,直到所有的节点都加入到了路径中;
[0104]
s354:将最后加入的节点和起始节点连接起来,形成回路。
[0105]
s36:把一个完整的染色体根据约束条件分割成几个符合条件的数列;
[0106]
s37:适应度函数设为目标函数值的倒数,计算每个染色体的适应度函数值;
[0107]
s38:先选出种群中适应度最优的染色体,保证此染色体进入下一代。然后再根据适应度值采用俄罗斯轮盘赌选择法选出下一代的初始种群。
[0108]
s39:据设定的交叉率与变异率,对选择出来的种群进行交叉与变异操作。
[0109]
s310:设迭代次数为n,在未达到设定的迭代次数n之前返回s36,达到设定代数n后停止迭代。
[0110]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献