CN115965172B - 一种成品油二次配送车辆的路径优化算法、系统、设备 - Google Patents

一种成品油二次配送车辆的路径优化算法、系统、设备 Download PDF

Info

Publication number
CN115965172B
CN115965172B CN202310250930.1A CN202310250930A CN115965172B CN 115965172 B CN115965172 B CN 115965172B CN 202310250930 A CN202310250930 A CN 202310250930A CN 115965172 B CN115965172 B CN 115965172B
Authority
CN
China
Prior art keywords
vehicle
oil
path
distribution
chromosome
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.)
Active
Application number
CN202310250930.1A
Other languages
English (en)
Other versions
CN115965172A (zh
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.)
China University of Petroleum East China
Original Assignee
China University of Petroleum East China
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 China University of Petroleum East China filed Critical China University of Petroleum East China
Priority to CN202310250930.1A priority Critical patent/CN115965172B/zh
Publication of CN115965172A publication Critical patent/CN115965172A/zh
Application granted granted Critical
Publication of CN115965172B publication Critical patent/CN115965172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及成品油车辆路径规划技术领域,具体的涉及一种成品油二次配送车辆的路径优化算法、系统、设备,路径优化算法包括如下步骤:问题分析,通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;初始数据处理,确定计划配送量;生成初始解,在随机生成的车辆顺序下,形成计划初始解;进化操作,对随机生成的车辆顺序进行选择、交叉以及变异,确定车辆的初始配送路径;路径确定,对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度。通过基于遗传算法的成品油二次配送车辆调度算法,将原来的问题等价为一个求解最佳路径的问题。

Description

一种成品油二次配送车辆的路径优化算法、系统、设备
技术领域
本发明涉及成品油车辆路径规划技术领域,具体的涉及一种成品油二次配送车辆的路径优化算法、系统、设备。
背景技术
随着我国经济社会的快速发展,物流作为企业经济活动中不可或缺的一环,其重要性日益增加。石油石化企业面对如此多变而竞争激烈的市场环境,为保持其多年形成的市场占有率和较高的利润率,改善自身企业管理模式、降低企业物流运作成本显得更加重要。而作为石油石化企业供应链的终端部分,成品油二次物流配送就是一个很好的突破口,通过改善这一物流环节,可以大大降低企业的物流配送成本,从根本上提高企业的核心竞争力。虽然企业现有的成品油二次物流配送各有特点,但都存在着大量短板,比如物流配送车辆配置不合理、物流调度严重滞后等,都对企业的发展造成了严重的障碍。成品油配送问题最早由Brown和Graves于1981年提出,建立了整数规划模型,用于求解油罐车运输问题。该模型以运输费用最小化为目标,每辆油罐车一次只能前往一个加油站。在后续研究中,Brown等提出了在交易运行信息系统中利用整数规划的方法,并以罚款最低为目标函数,求解430辆油罐车对120个加油站的配送问题。Uzar和Çatay研究单油库多车型成品油配送问题,针对滚动时域阈值启发式算法的两种变体——使用距离优先级和使用到期日优先级进行分析,为BP公司业务提供决策支持。
成品油物流可以根据其配送起始点的不同划分为一次配送和二次配送。其中成品油二次配送是油品配送网络的末端环节,直接为居民消费、经济运行提供能源保障。油品销售公司的配送中心需要科学预测并协调油库间的供应协作关系,确定需求节点的配送量和配送时间,在尽可能保障加油站正常运营的基础上,进行合理车辆调配和路径规划,以构建起高效有序的油品配送网络。这对保障油品销售业务正常运转、节约油品配送网络物流成本、提升单位油品盈利能力具有重要意义。
然而成品油配送的研究内容广泛,且目前的研究大多只考虑了同一车型和单一油品的配送优化,较少考虑多车型条件及多种类油品组合对配送计划的影响,而实际上客户需求的油品种类多样。
现有的成品油在二次配送过程中容易受到气候、节假日、交通情况以及油价变动等外界因素的影响,导致出现送货不及时、加油站断油等情形。虽然企业现有的成品油二次物流配送各有特点,但都存在着大量短板,比如物流配送车辆配置不合理、物流调度严重滞后等,都对企业的发展造成了严重的障碍。因此综合考虑各影响因素,制定成本更低、更合理的成品油二次配送计划十分必要。
现有研究发现,目前解决规模较大的车辆路径问题主要使用启发式算法,但是在启发式算法中,针对成品油在二次配送过程中容易受到气候、节假日、交通情况以及油价变动等外界因素的影响,导致出现送货不及时、加油站断油等情形的问题并没有有效的解决,因此,基于问题特点,本发明采用遗传算法编码,在进行路径规划的过程中,考虑了多油品的组合调度以及油库油站的时间窗约束,对大规模车辆路径问题进行求解用以解决现有的启发式算法中存在的问题,并使得遗传算法编码能够运用到实际中去,帮助企业在成品油二次调度中制定出合理的计划方案。
发明内容
针对现有技术中存在的问题,本发明的目的在于:提供一种基于遗传算法的多车型、多油站、多车仓、多油库组合等复杂条件下油品配送调度规划算法,在实际生产应用中使用提出的算法在达到一定的迭代次数后,算法收敛。
为实现上述目的,本发明采取的技术方案是:一种成品油二次配送车辆的路径优化算法,其特征在于,包括如下步骤:
步骤一:问题分析,通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;
步骤二:初始数据处理,通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量;
步骤三:生成初始解,通过使用遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解;
步骤四:进化操作,利用染色体模式对随机生成的车辆顺序进行选择、交叉以及变异,寻找到最优可行解,确定车辆的初始配送路径;
步骤五:路径确定,对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代。
上述的成品油二次配送车辆的路径优化算法,在所述步骤一中,所述业务场景包括多油库、多油站、多车仓、多车型,所述步骤一包括:
步骤1-1:明确成品油配送网络包括M个油库、N个加油站及K辆油罐车,网络节点,其中/>
步骤1-2:所述油罐车每天从始发油库出发,结束一天工作后返回始发油库,每辆油罐车拥有的车仓数不同,用代表油罐车K的车仓,用/>表示所有油品种类的集合,加油站n中装有油品P的油罐集合为/>
步骤1-3:将求解车辆最佳路径的问题等价为考虑正在配送的车辆在油库的提油时间和加油站的卸油时间、稳油时间内,在满足趟次限制的情况下的车辆调度问题,将成品油运输路径成本建模成运筹优化模型。
上述的成品油二次配送车辆的路径优化算法,所述步骤二包括:
步骤2-1:采集加油站历史销售数据和库存数据,车辆数据,油库数据,并就历史加油站的销售数据预测未来三天的加油站油品销量;
步骤2-2:计算库销比,所述库销比为库存与销量的比率,用来衡量库存水平;
步骤2-3:确定计划配送量,即求加油站需求;
步骤2-4:将需求按库销比由小到大排序,库销比越小,配送任务的优先级越高。
上述的成品油二次配送车辆的路径优化算法,所述步骤三包括:
步骤3-1:定义sizepop为种群数量,maxgen为最大迭代次数,pcross为交叉概率,pmutation为变异概率;
步骤3-2:设置上述参数,并采用自然数编码,设计层数不定的多层编码结构,生成随机排列的车辆序列;
步骤3-3:设所有车辆的最大仓数为a,最大趟次为c,车辆数为K,编码结构的长度计算公式为:
步骤3-4:按照随机车辆编码生成的车辆顺序进行配送,针对一辆车,筛选其可以配送的加油站,并寻找有配送需求的站点,将需求按照库销比排序,确定配送的优先级;
步骤3-5:车辆满载配送,将需求量与仓容比较,若需求量小于仓容则向仓容圆整,若需求量大于仓容则先整仓配送,剩余需求放回需求表,下次取出时再重复以上操作;
步骤3-6:选择能装入各仓的库销比最小的需求,其余操作同步骤3-5;
步骤3-7: 每一趟任务安排完成之后计算运行时间,如果车辆运输时间超出工作时间,则不再为该车辆分配工作任务。
上述的成品油二次配送车辆的路径优化算法,所述步骤3-4中,若车辆有多个车仓,则其余各仓根据上文选择的油库筛选可配送的加油站需求,同时保证各加油站之间可达。
上述的成品油二次配送车辆的路径优化算法:
所述选择:根据适应度值的倒数,采用轮盘赌的方式选择下一代个体,这些个体被选中的概率与它们的适应度值倒数成正比,个体的适应度值倒数越大,被选中的概率就越大;
所述交叉:选择子路径交叉方法,基本步骤是在某个父代上选择一段基因片段,在另一父代上找到这些基因的位置,保持未选中基因不变,按选中基因的出现顺序,交换两父代染色体中基因的位置,一次生成两个子代;
所述变异:选择染色体片段逆转方法,基本步骤是选择随机染色体上的随机基因片段,对此片段进行逆序处理。
上述的成品油二次配送车辆的路径优化算法,所述步骤五包括:计算子代染色体的适应度,即更新对应染色体适应度的大小,若本次迭代后最优染色体的适应度小于上代最优染色体的适应度,则更新最优染色体;反之,则保留原适应度最小的染色体。
一种成品油二次配送车辆的路径优化系统,包括:
问题分析模块:通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;
初始数据处理模块:通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量;
初始解生成模块:通过使用遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解;
进化操作模块:进化操作,利用染色体模式对随机生成的车辆顺序进行选择、交叉以及变异,寻找到最优可行解,确定车辆的初始配送路径;
路径确定模块:对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代。
一种成品油二次配送车辆的路径优化设备,包括用于通信的总线,至少一个处理器,以及使用总线与所述处理器完成通信的至少一个存储器,以及至少一个与所述处理器通信的接收端,所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的成品油二次配送车辆的路径优化算法,得到成品油二次配送车辆的路径优化结果,所述成品油二次配送车辆的路径优化结果通过处理器发送至接收端。
本发明一种成品油二次配送车辆的路径优化算法的有益效果是:通过基于遗传算法的成品油二次配送车辆调度算法,将原来的问题等价为一个求解最佳路径的问题。并使染色体在遗传进化中适应值的更新及启发式信息的指导下寻找最优的路径,那么这个最优的路径就是原问题的解。因为该算法具备正反馈和启发式的优点,所以可以使得算法可以通过相对较少的迭代次数得到一个较好的资源分配方案。仿真实验表明本发明提出的算法在达到一定的迭代次数后,算法收敛,在策略和时间上具有最优性,工程适用性强。
附图说明
图1为本发明采用的遗传算法用于解决成品油二次配送车辆调度问题的思路图;
图2为本发明所采用的遗传算法染色体的编码结构框架图;
图3为本发明在采用遗传算法前生成初始解的整体流程图;
图4为本发明所采用的遗传算法车辆可配送加油站获取示意图;
图5为本发明所采用的遗传算法后续车仓可配送加油站获取示意图;
图6为本发明所采用的遗传算法染色体交叉示意图;
图7为本发明所采用的遗传算法染色体变异示意图。
具体实施方式
为使本领域技术人员更好的理解本发明的技术方案,下面结合具体实施方式及附图对本发明的而技术方案进行说明。
在成品油配送问题中,需要优化存储在多个不同油库中的油品到加油站的配送路线,在一个工作日内,客户的需求允许多次交付,油罐车会多次返回油库进行补给。主要的挑战是在主动配送下如何确定客户需求,为每辆车确定出发的仓库和可送加油站,每个订单交付的数量以及运输时间,以尽量减少总运输成本,同时避免加油站的库存不足。
本发明的目的是提供一种基于遗传算法的成品油二次配送车辆调度算法,在实际生产应用中使用提出的算法在达到一定的迭代次数后,算法收敛。从算法结果表明,该遗传算法不仅运行时间短,而且具有较高的解质量,工程适用性强。
如图1-7所示,本发明通过以下技术方案达到上述目的:
在本技术方案中,该算法需实现输出二次配送计划方案和库存销量预测的功能。其中,二次配送计划输出项需包括油库名称、油库编码、油站名称、油站编码、车牌号、油品名称、油品编码、油罐号、仓位、配送量、趟次、预计到库时间、预计到站时间、异常时间标志。库存销量预测表输出项需包括油罐编码、一天销量、两天销量、一天销量低、两天销量低、一天销量高、两天销量高、一天库存、一天库存高、一天库存低、两天库存、两天库存高、两天库存低、未来第一天销售量预测、未来第二天销售量预测、未来第三天销售量预测、未来第四天销售量预测、未来第五天销售量预测、未来第六天销售量预测、未来第七天销售量预测,通过使用遗传算法中的染色体结构,将上述因素组合、重组,从数据库输入所需数据,并将配送计划表和预测表输出至数据库,使用常规python开发软件即可运行。
实施例1
步骤一:问题分析,过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型,具体步骤如下:
首先明确涉及多油库、多油站、多车仓、多车型等的业务场景,
成品油配送网络G由M个油库、N个加油站及K辆油罐车构成,网络节点,其中/>。油罐车每天从始发油库出发,结束一天工作后返回始发油库,每辆油罐车拥有的车仓数不同,用/>代表车K的车仓,用/>表示所有油品种类的集合,加油站n中装有油品P的油罐集合为/>
部分加油站可拟罐配送,即同一加油站同种油品的多个油罐可以合并为一个罐。考虑在配送车辆在油库的提油时间和加油站的卸油时间、稳油时间内,在满足趟次限制的情况下将车辆调度问题等价为一个求解车辆最佳路径的问题,即将最小化车辆路径成本的问题建模成一个运筹优化问题。
步骤二:初始数据处理,通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量,具体步骤如下:
2.1. 采集加油站历史销售数据和库存数据,车辆数据,油库数据,并就历史加油站的销售数据预测未来一段时间内的加油站油品销量,具体以三天时间为例;
2.2. 计算库销比,库销比为库存与销量的比率,用来衡量库存水平:具体的,库销比=(第60天的库存+第60天的在途量-第60天销量)/第61天销量;
2.3. 确定计划配送量,即求加油站需求:
2.3.1.库销比小于1时,计划配送量即为第61天的预测销量;
2.3.2.否则将空容作为计划配送量;
2.4. 将需求按库销比由小到大排序,库销比越小,配送任务的优先级越高。
染色体是在随机生成的车辆顺序下,对有成品油紧急需求的加油站进行优先配送的计划初始解,在不同的车辆顺序下,生成的配送方案不同。算法采用遗传算法的目的是在多个初始解下选择最优个体,并在选择进化变异的操作下,得到配送费用最小的可行解,从而解码染色体,确定配送方案。具体在步骤三以后对配送方案中的各要素与染色体之间的关系进行相互关联。
步骤三:遗传算法参数初始化,为下一步步骤四生成初始解提供算法基础,具体为:
首先定义如下符号:sizepop为种群数量,maxgen为最大迭代次数,pcross为交叉概率,pmutation为变异概率。设置上述参数,并采用自然数编码,设计层数不定的多层编码结构,生成随机排列的车辆序列;
设所有车辆的最大仓数为a,最大趟次为c,车辆数为K。编码结构的长度按如下公式计算:
步骤四:基于遗传算法生成初始解,通过使用步骤三中的提供算法基础的遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解:
4.1. 按照随机车辆编码生成的车辆顺序进行配送;
4.2 .针对一辆车,筛选其可以配送的加油站,并寻找有配送需求的站点。将需求按照库销比排序,确定配送的优先级;
4.3. 首先为仓1选择库销比最小的需求,并为其匹配油库;
4.4 .具体实施时,根据配送单位的要求,车辆需要满载配送,因此将需求量与仓容比较,具体分为两种情况:若需求量小于仓容则向仓容圆整,若需求量大于仓容则先整仓配送,剩余需求放回需求表,下次取出时再重复以上操作;
4.5 .若车辆有多个车仓,则其余各仓根据上文选择的油库筛选可配送的加油站需求,同时保证各加油站之间可达;
4.6 .选择能装入各仓的库销比最小的需求,其余操作同步骤4.4;
4.7. 每一趟任务安排完成之后计算运行时间,如果车辆运输时间超出工作时间,则不再为该车辆分配工作任务;
4.8 计算种群中所有染色体的适应度(成本),根据适应度最小原则选出最优染色体。
步骤五:进化操作,对进化后的染色体进行解码,确定车辆的配送路径,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代,进化操作中,都是对随机生成的车辆顺序进行选择、交叉以及变异,因为每一种车辆顺序对应一种配送方案,在车辆顺序改变的同时,寻找到最优可行解,其可行解包含这什么车辆给哪些油站送多少的什么油品,所以当可行解确定,车辆的配送路径也就确定下来了;在设定超参数下,选择个体适应度最小的染色体,也就是配送费用最低的染色体作为配送方案,进化终止。
5.1. 选择:
根据适应度值的倒数,采用轮盘赌的方式选择下一代个体,这些个体被选中的概率与它们的适应度值倒数成正比,个体的适应度值倒数越大,被选中的概率就越大;
5.2. 交叉:
选择子路径交叉(Subtour Exchange Crossover,SEC)方法,基本步骤是在某个父代上选择一段基因片段,在另一父代上找到这些基因的位置,保持未选中基因不变,按选中基因的出现顺序,交换两父代染色体中基因的位置,一次生成两个子代;
5.3 .变异:
选择染色体片段逆转方法(Invertion Mutation,IVM),基本步骤是选择随机染色体上的随机基因片段,对此片段进行逆序处理;
步骤六:重新计算适应度,判定迭代是否终止。计算子代染色体的适应度,即更新对应染色体适应度的大小。若本次迭代后最优染色体的适应度小于上代最优染色体的适应度,则更新最优染色体;反之,则保留原适应度最小的染色体。
一种成品油二次配送车辆的路径优化系统,包括:
问题分析模块:通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;
初始数据处理模块:通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量;
初始解生成模块:通过使用遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解;
进化操作模块:进化操作,利用染色体模式对随机生成的车辆顺序进行选择、交叉以及变异,寻找到最优可行解,确定车辆的初始配送路径;
路径确定模块:对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代。
一种成品油二次配送车辆的路径优化设备,包括用于通信的总线,至少一个处理器,以及使用总线与所述处理器完成通信的至少一个存储器,以及至少一个与所述处理器通信的接收端,处理器用于调用所述存储器中的程序指令,以执行上述的成品油二次配送车辆的路径优化算法,得到成品油二次配送车辆的路径优化结果,成品油二次配送车辆的路径优化结果通过处理器发送至接收端。
实施例2
结合实际问题与建模要求,对模型提出如下假设:
(1)只考虑一个工作日的派车计划安排,不考虑车辆行驶到起始油库和最终返回油库的成本和时间;
(2)成品油配送网络中有多个油库,油库对每天可供提油的车辆数有限制,且每个时间段可容纳车辆有限,超出容纳量的车辆需排队到下一时间段;
(3)油罐车初始配载类型确定,禁止汽柴油混装,同一油罐车不同车仓可分别配载同种类(汽油或柴油)不同型号的油品;
(4)加油站的每一种油品需求可以由多辆油罐车进行配送(需求可拆分);
(5)不可单仓卸多站,但单仓可以卸同站同油品的多罐。
一、参数说明:
参数表 符号与含义
二、算法设置:
采用遗传算法解决调度问题,实现配送计划表和库存销量预测表的输出。
算法框架如图1所示:
(1)开始,根据实际问题将问题信息输入至数据库,数据库读入测试实例数据(油品表、分组表、参数表、油库表、油站表、油罐表、车辆表、油仓表、运距表、销量表、约束表),同时输入算法参数至算法程序;
(2)将车辆排序编码成染色体,并随机初始化一个种群;
(3)计算个体的适应度值;
(4)设计遗传算子:
①选择:通过轮盘赌的方式,选择适应度较优的染色体;
②交叉:利用子路径交叉方法随机交叉两条染色体的部分基因;
③变异:利用染色体片段逆转方法对随机染色体的选中片段进行逆序处理;
(5)判断是否达到最大迭代次数,如果达到则停止进化,输出结果,否则就继续进化;
(6)输出最优染色体,结束。
因汽油、柴油不能混装,为方便操作,针对汽油和柴油的配送任务各自设计一套同样规则的方案,具体程序如下:
genetic.py:主程序,涵盖所有遗传算法流程,通过运行该程序可生成最优配送计划;
input.py:导入数据表,提取数据信息;
coding.py/codingcy.py:用于生成次日车辆配送计划;
Chroming.py/Chromingcy.py:生成染色体,代表车辆排序;
selecting.py:对每一代种群中的染色体进行选择,以进行后面的交叉和变异;
crossxing.py/crosscxing.py:完成交叉操作;
mutantx.py/mutantcx.py:完成变异操作;
output.py:输出配送计划时将拟罐的需求还原到每个罐,输出项包括油库名称,油库编码,油站名称,油站编码,车牌号,油品名称,油品编码,罐号,仓,趟次,配送量,到库时间,到站时间;
fun.py:计算汽油和柴油配送计划的真实成本以及惩罚成本;
Forecast.py:利用正态分布和指数平滑法完成销量预测。
三、配送计划:
(1)输入:
①共导入11个数据表,包括油品表、分组表、参数表、油库表、油站表、油罐表、车辆表、油仓表、运距表、销量表和约束表,示例如下方表1-表11所示;
表1 油品表示例
表2 分组表示例
表3 参数表示例
表4 油库表示例
表5 油站表示例
表6 油罐表示例
表7 车辆表示例
表8 油仓表示例
表9 运距表示例
表10 销量表示例
表11 约束表示例
②提取基本信息。
③计算库销比(库存与销量的比率),用来衡量库存水平:
库销比=(第60天的库存+第60天的在途量-第60天销量)/第60天销量。
④确定计划配送量,即求加油站需求:
a.库销比小于1时,计划配送量即为第61天的预测销量;
b.否则将空容作为计划配送量。
⑤将需求按库销比由小到大排序,库销比越小,配送任务的优先级越高。
(2)初始化:
随机生成车辆排序作为染色体,并以此作为主体设计编码结构。设所有车辆的最大仓数为a,最大趟次为c,车辆数为K。编码结构的长度按如下公式计算:
。/>
以两仓车为例,编码结构框架如图2所示:
①对车辆的对应信息进行提取,调用coding.py/codingcy.py,形成如上所述的编码结构。coding.py/codingcy.py的整体思路如图3所示。
a.按照生成的车辆顺序考虑配送计划;
b.如图4所示,针对一辆车,筛选其可以配送的加油站,并寻找有配送需求的站点。将需求按照库销比排序,确定配送的优先级;
c.首先为仓1选择库销比最小的需求,并为其匹配油库;
d.根据公司要求,车辆需要满载配送,因此将需求量与仓容比较,分为两种情况:若需求量小于仓容则向仓容圆整,若需求量大于仓容则先整仓配送,剩余需求放回需求表,下次取出时再重复以上操作;
e.若车辆有多个车仓,则其余各仓根据上文选择的油库筛选可配送的加油站需求,同时保证各加油站之间可达,筛选过程如图5所示;
f.选择能装入各仓的库销比最小的需求,其余操作同步骤d;
g.每一趟任务安排完成之后计算运行时间,如果车辆运输时间超出工作时间,则不再为该车辆分配工作任务。
②计算种群中所有染色体的适应度,即成本,根据适应度最小原则选出最优染色体。
(3)进化规则:
遗传算法的思想为优胜劣汰,通过轮盘赌的方式选择适应度较优的染色体进入下一代,通过交叉、变异操作获得不同的解,并循环迭代,从而不断优化问题的解。
①选择:
调用selecting.py,根据适应度值的倒数,采用轮盘赌的方式选择下一代个体,这些个体被选中的概率与它们的适应度值倒数成正比,个体的适应度值倒数越大,被选中的概率就越大。
②交叉:
调用crossxing.py/crosscxing.py,选择子路径交叉(Subtour ExchangeCrossover,SEC)方法,基本步骤是在某个父代上选择一段基因片段,在另一父代上找到这些基因的位置,保持未选中基因不变,按选中基因的出现顺序,交换两父代染色体中基因的位置,一次生成两个子代,如图6所示。
③变异:
调用mutanx.py/mutantcx.py,选择染色体片段逆转方法(Invertion Mutation,IVM),基本步骤是选择随机染色体上的随机基因片段,对此片段进行逆序处理,如图7所示。
④更新适应度:
调用fun.py和coding.py/codingcy.py计算子代染色体的适应度,即更新对应染色体适应度的大小。若本次迭代后最优染色体的适应度小于上代最优染色体的适应度,则更新最优染色体;反之,则保留原适应度最小的染色体。
⑤不断迭代,直到最大迭代次数。
(4)输出:
①输出最优配送计划,如表12所示。
表12 遗传算法配送计划表示例
②写入数据库。
四、预测算法:
调用Forecast.py,利用前60天加油站销量数据拟合正态分布图,根据平均数点确定一天销量、两天销量,并以5%的置信区间求得一天销量低、一天销量高、两天销量低、两天销量高,库存计算公式如下:
一天库存低=前一天库存-一天销量高;
一天库存高=前一天库存-一天销量低;
两天库存低=前一天库存-两天销量高;
两天库存高=前一天库存-两天销量低;
将第一天和第二天的预测销量,结合前60天销量,进行二次指数平滑,得到未来第1-7天的销售量预测数据。
将预测数据输出,如表13所示。
表13 遗传算法销量预测表示例
五、接口设置:
该算法输入输出需与数据库连接,本实验中选用MySQL数据库。
输入接口:
具体操作流程为:
(1)导入pymysql;
(2)建立数据库连接:使用pymysql的connect方法连接数据,返回连接对象;
(3)使用连接对象创建游标对象(用于操作sql);
(4)准备写sql语句(select * from xxx);
(5)使用游标对象执行sql;
(6)查询数据使用游标获取;
(7)关闭游标(先)和数据库连接(后)。
输出接口:
(1)连接数据库;
(2)新建数据库表;
(3)to_sql语句存入MySQL。
上述实施例只是为了说明本发明的发明构思和特点,其目的在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限定本发明的保护范围。凡是根据本发明内容的实质所做出的等效变化或修饰,都应该涵盖在本发明的保护范围之内。

Claims (1)

1.一种成品油二次配送车辆的路径优化系统,其特征在于,包括:
问题分析模块:通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;
初始数据处理模块:通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量;
初始解生成模块:通过使用遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解;
进化操作模块:进化操作,利用染色体模式对随机生成的车辆顺序进行选择、交叉以及变异,寻找到最优可行解,确定车辆的初始配送路径;
路径确定模块:对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代;
路径优化系统用于实现成品油二次配送车辆的路径优化算法,所述路径优化算法,包括以下步骤:
步骤一:问题分析,通过业务场景,明确成品油配送网络构成,将成品油输送调度等价转换为成品油输送最佳路径,将成品油运输路径成本建模成运筹优化模型;
步骤1-1:明确成品油配送网络包括M个油库、N个加油站及K辆油罐车,网络节点,/>
步骤1-2:所述油罐车每天从始发油库出发,结束一天工作后返回始发油库,每辆油罐车拥有的车仓数不同,用代表油罐车K的车仓,用/>表示所有油品种类的集合,加油站n中装有油品P的油罐集合为/>
步骤1-3:将求解车辆最佳路径的问题等价为考虑正在配送的车辆在油库的提油时间和加油站的卸油时间、稳油时间内,在满足趟次限制的情况下的车辆调度问题,将成品油运输路径成本建模成运筹优化模型;
步骤二:初始数据处理,通过加油站历史数据、库存数据、运输数据计算加油站的库销比,确定计划配送量;
步骤2-1:采集加油站历史销售数据和库存数据,车辆数据,油库数据,并就历史加油站的销售数据预测未来三天的加油站油品销量;
步骤2-2:计算库销比,所述库销比为库存与销量的比率,用来衡量库存水平;
步骤2-3:确定计划配送量,即求加油站需求;
步骤2-4:将需求按库销比由小到大排序,库销比越小,配送任务的优先级越高;
步骤三:生成初始解,通过使用遗传算法,在随机生成的车辆顺序下,根据库销比,对有成品油紧急需求的加油站进行优先配送,形成计划初始解;
步骤3-1:定义sizepop为种群数量,maxgen为最大迭代次数,pcross为交叉概率,pmutation为变异概率;
步骤3-2:设置上述参数,并采用自然数编码,设计层数不定的多层编码结构,生成随机排列的车辆序列;
步骤3-3:设所有车辆的最大仓数为a,最大趟次为c,车辆数为K,编码结构的长度计算公式为:
步骤四:进化操作,利用染色体模式对随机生成的车辆顺序进行选择、交叉以及变异,寻找到最优可行解,确定车辆的初始配送路径;
4.1.按照随机车辆编码生成的车辆顺序进行配送;
4.2.针对一辆车,筛选其配送的加油站,并寻找有配送需求的站点,将需求按照库销比排序,确定配送的优先级;
4.3.首先为车仓选择库销比最小的需求,并为其匹配油库;
4.4.根据配送单位的要求,车辆进行满载配送,其中,若需求量小于仓容则向仓容圆整,若需求量大于仓容则先整仓配送,剩余需求放回需求表,下次取出时再重复以上操作;
4.5.若车辆有多个车仓,则其余各仓根据上文选择的油库筛选可配送的加油站需求,同时保证各加油站之间可达;
4.6.选择装入各仓的库销比最小的需求,其余操作同步骤4.4;
4.7.每一趟任务安排完成之后计算运行时间,如果车辆运输时间超出工作时间,则不再为该车辆分配工作任务;
4.8计算种群中所有染色体的适应度,根据适应度最小原则选出最优染色体,其中,所述适应度表示成本;
步骤五:路径确定,对进化后的车辆初始配送路径进行解码,计算个体适应度,判断染色体是否具有更小的适应度,选择是否更换进化的染色体,当进化次数达到设定的超参数时,停止进化迭代,其中,计算子代染色体的适应度,即更新对应染色体适应度的大小,若本次迭代后最优染色体的适应度小于上代最优染色体的适应度,则更新最优染色体;反之,则保留原适应度最小的染色体;
所述选择:根据适应度值的倒数,采用轮盘赌的方式选择下一代个体,这些个体被选中的概率与它们的适应度值倒数成正比,个体的适应度值倒数越大,被选中的概率就越大;
所述交叉:选择子路径交叉方法,在某个父代上选择一段基因片段,在另一父代上找到这些基因的位置,保持未选中基因不变,按选中基因的出现顺序,交换两父代染色体中基因的位置,一次生成两个子代;
所述变异:选择染色体片段逆转方法,选择随机染色体上的随机基因片段,对此片段进行逆序处理。
CN202310250930.1A 2023-03-16 2023-03-16 一种成品油二次配送车辆的路径优化算法、系统、设备 Active CN115965172B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310250930.1A CN115965172B (zh) 2023-03-16 2023-03-16 一种成品油二次配送车辆的路径优化算法、系统、设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310250930.1A CN115965172B (zh) 2023-03-16 2023-03-16 一种成品油二次配送车辆的路径优化算法、系统、设备

Publications (2)

Publication Number Publication Date
CN115965172A CN115965172A (zh) 2023-04-14
CN115965172B true CN115965172B (zh) 2024-01-30

Family

ID=87363593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310250930.1A Active CN115965172B (zh) 2023-03-16 2023-03-16 一种成品油二次配送车辆的路径优化算法、系统、设备

Country Status (1)

Country Link
CN (1) CN115965172B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117010670B (zh) * 2023-10-07 2024-06-07 普迪智能装备有限公司 一种智能物流配送系统及方法
CN117829713B (zh) * 2024-03-05 2024-05-10 深圳市久通物联科技股份有限公司 一种基于混合整数线性规划的成品油智慧运输方法
CN117973809B (zh) * 2024-03-29 2024-06-25 陕西黑石绿能能源科技有限公司 面向加氢车的多目标调配与协同优化方法及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108053164A (zh) * 2017-12-29 2018-05-18 北京市天元网络技术股份有限公司 一种成品油配送系统及方法
CN111768084A (zh) * 2020-06-04 2020-10-13 珠海世纪鼎利科技股份有限公司 成品油二次配送调度优化方法、装置、设备和存储介质
CN114022014A (zh) * 2021-11-15 2022-02-08 北京京东乾石科技有限公司 一种车辆智能调度方法、装置、电子设备及存储介质
CN114936690A (zh) * 2022-05-16 2022-08-23 北京交通大学 仓店一体模式下前置仓选址与路径联合优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220036310A1 (en) * 2018-10-09 2022-02-03 Starship Technologies Oü Method and system for planning item deliveries

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108053164A (zh) * 2017-12-29 2018-05-18 北京市天元网络技术股份有限公司 一种成品油配送系统及方法
CN111768084A (zh) * 2020-06-04 2020-10-13 珠海世纪鼎利科技股份有限公司 成品油二次配送调度优化方法、装置、设备和存储介质
CN114022014A (zh) * 2021-11-15 2022-02-08 北京京东乾石科技有限公司 一种车辆智能调度方法、装置、电子设备及存储介质
CN114936690A (zh) * 2022-05-16 2022-08-23 北京交通大学 仓店一体模式下前置仓选址与路径联合优化方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Fuzzy Optimal Allocation Model for Task–Resource Assignment Problem in a Collaborative Logistics Network;Xiaofeng Xu 等;《IEEE Transactions on Fuzzy Systems》;第27卷(第5期);第1112-1125页 *
基于遗传算法的成品油二次配送车辆路径问题研究;李珍萍 等;数学的实践与认识(第09期);第191-200页 *
多油品供给受限下多油库被动配送车辆路径问题研究;徐小峰 等;《中国管理科学》;第29卷(第05期);第157-165页 *
成品油不确定配送的库存与运输联合优化研究;刘玺;《中国优秀硕士学位论文全文数据库 基础科学辑》(第09期);第A002-295页 *
考虑多车型软时间窗的成品油二次配送库存-路径问题;李珍萍 等;《科学技术与工程》;第22卷(第18期);第8043-8049页 *

Also Published As

Publication number Publication date
CN115965172A (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
CN115965172B (zh) 一种成品油二次配送车辆的路径优化算法、系统、设备
CN109002902B (zh) 分区域多阶段生鲜农产品动态车辆路径优化方法
Surekha et al. Solution to multi-depot vehicle routing problem using genetic algorithms
CN109919541A (zh) 一种多级定位库存路径问题的建模求解方法
Rabbani et al. A sustainable transportation-location-routing problem with soft time windows for distribution systems
Yan et al. The Optimization of Transportation Costs in Logistics Enterprises with Time‐Window Constraints
CN113780676B (zh) 一种瓶装液化气车辆配送路径优化方法
CN115689247A (zh) 一种基于改进遗传算法的整车物流调度优化方法
CN114897217A (zh) 一种生鲜电商前置仓选址-路径规划方法
CN113469416A (zh) 一种派件任务规划方法及设备
CN116402309A (zh) 港口集疏运车辆调度匹配方法及系统
CN108267954A (zh) 一种带硬时间窗的刀具准时配送路径规划算法
CN113361073A (zh) 一种基于改进拉格朗日松弛算法的库存路径联合优化方法
Wang et al. Research of oil product secondary distribution optimization based on collaborative distribution
Duan et al. Combined configuration of container terminal berth and quay crane considering carbon cost
Liu et al. A construction-and-repair based method for vehicle scheduling of bus line with branch lines
Shi et al. Operational planning of international freight trains considering the dynamic demands and capacities of border ports
Choi et al. Dispatching of container trucks using genetic algorithm
Gholami-Zanjani et al. An integrated approach for robust inventory routing problem in a three-echelon distribution system
Hwang et al. An integrated inventory and distribution problem for alternative fuel: a matheuristic approach
Polat et al. Modelling and solving the milk collection problem with realistic constraints
Li et al. Optimization of simultaneous delivery and pickup wagon scheme on hybrid siding network of railway terminal
Rizkiani et al. A Genetic Algorithm Based Approach for the Maritime Inventory Routing Problem
CN111581580A (zh) 一种基于可变邻域下降混合算法的轮渡服务网络优化方法
Zhao et al. The research on two phase pickup vehicle routing based on the K-means++ and genetic algorithms

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
GR01 Patent grant
GR01 Patent grant