CN101159048A - 油品配送槽车调度***及其方法 - Google Patents
油品配送槽车调度***及其方法 Download PDFInfo
- Publication number
- CN101159048A CN101159048A CNA2007101768386A CN200710176838A CN101159048A CN 101159048 A CN101159048 A CN 101159048A CN A2007101768386 A CNA2007101768386 A CN A2007101768386A CN 200710176838 A CN200710176838 A CN 200710176838A CN 101159048 A CN101159048 A CN 101159048A
- Authority
- CN
- China
- Prior art keywords
- tank car
- order
- scheduling scheme
- oil
- replenishes
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明油品配送槽车调度的方法,针对油品资源和运输资源,包括分派槽车、分配舱位、指定发油油库和编排槽车行车路径,应用Socket通讯方式,通过物流信息***采集基本数据,并采用建立数学模型、用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案,进行整体优化和集中调度。其优点是:该方法综合考虑多车场、多车型、多油库、多油品、多舱位、行车约束、配载约束及工作量均衡各因素,显著降低了配送成本,提高了调度决策的效率,提升了管理的快速反应水平,可将加油站提交补货订单的截止时间推迟2个小时。这一集中优化决策显著提高了石油销售公司的扁平化集中式管理水平。
Description
技术领域
本发明涉及信息技术应用领域,特别涉及一种油品配送槽车调度***及其方法。
背景技术
油品配送槽车调度,是石油销售公司在获取加油站的补货需求后,根据当时的运输资源和储油量,调度槽车完成从油库到加油站的油品补给配送任务,包括:将补货订单分配给槽车并指定其发油油库,以及编排槽车的行车路径。其计划编制质量直接决定了油品配送运输成本、槽车舱位利用率和加油站安全库存补货率。
目前,在我国成为世贸组织(WTO)成员国的背景下,国内石油公司为了加强油品的统一配送和槽车的统一调度管理,将原地市销售公司的配送和储运业务剥离出来,组建省(区)范围内的物流配送中心,直接对成百上千座加油站进行油品储量资源和运输资源的集中调度,其中涉及到上百辆槽车、多座油库和多个销售品种。这种更加集中的管理方式,使公司管理决策的整体优化能力得以加强,但也使决策的复杂度大大增加,因而更加依赖信息技术和科学方法的技术支持。
鉴于危险品运输的事故风险分散与专业化管理要求,国内石油销售公司主要将油品配送的运输任务分包给第三方承运商来完成。传统的调度方式是:公司在当天的某个截止时间把次日的补货订单汇总,同时指定补货订单的发油油库;然后,公司将补货订单的配送运输任务交给承运商,由承运商把补货订单分派给槽车,而槽车行车路径由槽车司机自行决定。在这种方式下,槽车调度由承运商负责,石油销售公司不能直接控制运输成本,缺乏对槽车配送运输的过程监管能力,以及对紧急调油等情况的快速反应能力。
为了保障油品运输资源的稳定供应,我国石油销售公司与承运商建立了长期的战略联盟关系。这种情形下,不论槽车运输成本是高还是低,都将转移给石油销售公司。因此,采用传统的调度方式,承运商缺乏成本控制的直接动机,这使得槽车运输成本居高不下,在油品物流成本中占有较大的比例。加强油品资源和运输资源的集中管理和统一调度,是日前石油销售公司降低物流配送成本的重要手段之一。
在GPS、GIS、液位仪、电子封签、RFID、Internet、数字视频等现代物流信息技术的支撑下,一部分石油销售公司采用集中资源调度的管理方式,但由于整体性决策的复杂度非常高,在寻求调度方案的方法上采用了将分派槽车、指定发油油库和编排槽车行车路径分离开来的决策方式,达不到整体优化的决策效果。
油品配送槽车调度路径优化决策的基本问题是车辆路径问题(VRP,Vehicle RoutingProblem),即槽车从始发车场发车,遵循先到油库装油后到加油站卸油的前序约束,沿着以加油站和油库为节点所构成的行车路径(满足成本最小的优化目标),按补货订单要求完成补货配送任务,最后返回车场。其复杂性特征主要表现在以下五个方面:①多车场、多车型、多油库、多油品;②大量的行车约束(如道路通行限制、跨区交通管制、路桥费等);③多舱位槽车(这使得槽车可同时执行多个补货订单的配送任务,也可交错安排补货订单的装油和卸油时间);④配载约束(如要求槽车与加油站匹配、槽车舱位与油品匹配、槽车舱容与补货订单匹配等);⑤槽车工作量均衡约束。
已经证明,车辆路径问题是NP难题,大量的有关研究是侧重于关于求解这类问题的启发式算法(Heuristics)研究。如文献《Vehicle Routing Problem with Time Windows,Part I:RouteConstruction and Local Search Algorithms》(Transportation Science,Vol.39,No.1,2005,104-118)、《Vehicle Routing Problem with Time Windows,Part II:Metaheuristics》(TransportationScience,Vol.39,No.1,2005,119-139)、《Local Search for Vehicle Routing and SchedulingProblems:Review and Conceptual Integration》(Journal of Heuristics,No.11,2005,267-306)、《车辆路径问题的模型及算法研究综述》(管理工程学报,Vol.19,No.1,2005,124-130)等,综述了求解VRP的启发式算法。在这些启发式算法中所使用的经验规则和约束限制,往往只能满足在正常情况下决策问题的求解要求,难以直接应用于复杂多变的现实决策情景。
现代物流信息技术的集成应用对油品配送管理中实现集中资源调度提供极大的机会。由于诸如GPS、GIS、液位仪、Internet等信息技术的应用推广历史较短,针对油品配送的集中资源调度问题,其整体优化方法的研究与应用显得很缺乏。据目前了解,国内还没有一个将分派槽车、指定发油油库和编排槽车行车路径整合为一个问题的油品和槽车资源调度的优化软件或方法。在国外提供相关软件的公司中,AspenTech公司推出一个具有资源调度优化功能的Retail软件,仅侧重于补货订单的处理。对于分派槽车和指定油库,采用分离决策的方式寻找可行方案,没有基于复杂道路网络的行车路径优化功能,未能实现槽车调度方案的整体优化。
发明内容
本发明油品配送槽车调度的方法的目的在于克服上述缺陷,提供一种集槽车分派、舱位分配、发油油库指定以及槽车行车路径编排的整体优化的调度方案,达到直接控制并降低运输成本,提高对槽车配送运输的过程进行监管的能力和对紧急调油快速反应的能力,实现油品配送槽车调度计划编制的自动化,提高槽车舱位利用率和加油站安全库存补货率的油品配送槽车调度***及其方法。
为达到上述目的,本发明提供的油品配送槽车调度的方法,该方法对油品配送***实施油品配送槽车的低成本调度,所述油品配送***包括若干油库、加油站、承运车队的槽车和利用GPS、GIS、液位仪、Internet的物流信息***,该方法执行如下步骤:
第1步,设置配送槽车调度区域,进入第2步;
第2步,应用Socket通讯方式,通过物流信息***采集用于槽车调度的基本数据并将所采集的数据保存于本地数据库,进入第3步;
第3步,进行本地数据库参数表的参数设置,然后依次进入第4步和第5步,执行用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案;
第4步,执行所述第一调度方案,完成满足约束要求的槽车调度方案,执行如下步骤:
(1)将已被列入槽车行车路径的补货订单标记为“已编排”,在剩下的补货订单中,将最高配送优先级的补货订单标记为“待编排”,其余补货订单标记为“暂不编排”;将所有槽车标记为“未饱和”,进入步骤(2);
(2)如果所有补货订单的标记均为“已编排”,则进入第5步,执行第一调度方案结束;否则,进入步骤(3);
(3)如果不存在标记为“待编排”的补货订单,则清除所有补货订单的标记,返回步骤(1);否则,进入步骤(4);
(4)如果所有槽车均已标记为“已饱和”,则添加一辆虚拟槽车,并将其标记为“未饱和”,进入步骤(5);
(5)在“未饱和”槽车集合中,根据槽车分派优先级选择槽车,记为k,进入步骤(6);
(6)从“待编排”补货订单集合中筛选出一个子集作为种子订单集,进入步骤(7);
(7)如果种子订单集为空集,则将槽车k标记为“已饱和”,返回步骤(4);否则,进入步骤(8);
(8)对种子订单集中的每个补货订单,以槽车k的始发车场坐标为原点,向补货订单的收货加油站坐标发出的射线为极轴,在沿逆时针扫描α弧度所形成的扇形区域内,统计其覆盖的“待编排”补货订单个数作为该补货订单的覆盖数,然后进入步骤(9);
(9)在种子订单集中,选择覆盖数最大的补货订单作为种子订单,进入步骤(10);
(10)以槽车k的始发车场坐标为原点,向种子订单的收货加油站坐标发出的射线为极轴,在由此构成的极坐标系中,按照补货订单的收货加油站地理坐标的极角从小到大的顺序,逐个考察“待编排”补货订单集合中的每个补货订单,更新槽车k的行车路径并返回步骤(3);
第5步,执行所述第二调度方案,完成对上述满足约束要求的槽车调度方案的优化,执行如下步骤:
(1)将Completed的值设置为1;
(2)应用2-替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(3);
(3)应用跨路径边替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(4);
(4)应用订单重新分配法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(5);
(5)如果Completed的值为1,则进入第6步,执行第二调度方案结束;否则,返回步骤(1);
第6步,对优化的槽车调度方案进行人工确认,如果确认不通过,则进入第7步;否则,进入第8步;
第7步,对槽车调度方案进行人工修改,完成槽车调度方案的修改之后,返回第4步;
第8步,输出槽车调度方案,将槽车调度方案保存于本地数据库,最后,程序终止。
本发明油品配送槽车调度的方法,其中在所述第2步中,由所述物流信息***采集的数据如下:
(1)有关油品和配送区域内的加油站、油库及槽车的基本数据;
(2)加油站和油库的经纬度坐标、道路里程、槽车可通行道路、槽车行车区域、槽车返回车场、道路路桥费;
(3)加油站、油库和车辆的实时数据,包括:油库储油量、油品密度、补货订单、车况信息。
本发明油品配送槽车调度的方法,其中在所述第5步(3)中,所述应用跨路径边替换法进行搜索,执行如下步骤:
(3)用满足约束的边对选出被替换的边进行替换,并对在替换形成的行车路径中所包含的补货订单,重新分配槽车舱位和确定计划配送量,重新指定发油油库和选择槽车的返回车场。
本发明油品配送槽车调度的方法,其中在所述第5步(4)中,所述应用订单重新分配法进行搜索,执行如下步骤:
(3)应用最小成本***法对选出被重新分配的点进行重新分配和路径***,并对在替换形成的行车路径中所包含的补货订单,重新分配槽车舱位和确定计划配送量,重新指定发油油库和选择槽车的返回车场。
本发明油品配送槽车调度的方法,其中所述第7步,对槽车调度方案进行人工修改包括:
(1)对作业点进行修改,即订单的装/卸油作业在车辆配送路径中进行重新定位,即:将一条路径中的作业点移出,再移入另一条路径或同一路径的其它位置,由于修改必是可行,因此还需做可行性检验和处理之后,再应用第一调度方案和第二调度方案做进一步的改进;而对于前序约束、订单与车辆舱位的匹配条件这些简单约束的可行性检验,可放在修改过程中进行;
(2)对车辆或作业点施加“加锁”标记。
本发明油品配送槽车调度的方法,其中所述第8步,所述输出槽车调度方案,将槽车调度方案保存于本地数据库,所更新的数据项分别是:
(1)补货订单数据表中的数据项:计划配送量,分派槽车编号,装载舱位编号,发油油库编号;
(2)槽车行车路径数据表中的数据项:槽车编号,油库或加油站的结点类型,结点编号,到达结点的次序序号,执行订单编号。
为达到上述目的,本发明提供的油品配送***,包括若干油库、加油站、承运车队的槽车和利用GPS、GIS、液位仪、Internet的物流信息***,以及一计算机,所述物流信息***采集的数据输入到计算机,计算机输出对油库、加油站和槽车的调度信息,计算机的油品配送方法执行如下步骤:
第1步,设置配送槽车调度区域,进入第2步;
第2步,应用Socket通讯方式,通过物流信息***采集用于槽车调度的基本数据并将所采集的数据保存于本地数据库,进入第3步;
第3步,进行本地数据库参数表的参数设置,然后依次进入第4步和第5步,执行用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案;
第4步,执行所述第一调度方案,完成满足约束要求的槽车调度方案,执行如下步骤:
(1)将已被列入槽车行车路径的补货订单标记为“已编排”,在剩下的补货订单中,将最高配送优先级的补货订单标记为“待编排”,其余补货订单标记为“暂不编排”;将所有槽车标记为“未饱和”,进入步骤(2);
(2)如果所有补货订单的标记均为“已编排”,则输出调度方案,本算法结束;否则,进入步骤(3);
(3)如果不存在标记为“待编排”的补货订单,则清除所有补货订单的标记,返回步骤(1);否则,进入步骤(4);
(4)如果所有槽车均已标记为“已饱和”,则添加一辆虚拟槽车,并将其标记为“未饱和”,进入步骤(5);
(5)在“未饱和”槽车集合中,根据槽车分派优先级选择槽车,记为k,进入步骤(6);
(6) 从“待编排”补货订单集合中筛选出一个子集作为种子订单集,进入步骤(7);
(7)如果种子订单集为空集,则将槽车k标记为“已饱和”,返回步骤(4);否则,进入步骤(8);
(8)对种子订单集中的每个补货订单,以槽车k的始发车场坐标为原点,向补货订单的收货加油站坐标发出的射线为极轴,在沿逆时针扫描α弧度所形成的扇形区域内,统计其覆盖的“待编排”补货订单个数作为该补货订单的覆盖数,然后进入步骤(9);
(9)在种子订单集中,选择覆盖数最大的补货订单作为种子订单,进入步骤(10);
(10)以槽车k的始发车场坐标为原点,向种子订单的收货加油站坐标发出的射线为极轴,在由此构成的极坐标系中,按照补货订单的收货加油站地理坐标的极角从小到大的顺序,逐个考察“待编排”补货订单集合中的每个补货订单,更新槽车k的行车路径并返回步骤(3);
第5步,执行所述第二调度方案,完成对上述满足约束要求的槽车调度方案的优化,执行如下步骤:
(1)将Completed的值设置为1;
(2)应用2-替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(3);
(3)应用跨路径边替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(4);
(4)应用订单重新分配法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(5);
(5)如果Completed的值为1,则输出槽车调度方案,进入第6步;否则,返回步骤(1);
第6步,对优化的槽车调度方案进行人工确认,如果确认不通过,则进入第7步;否则,进入第8步;
第7步,对槽车调度方案进行人工修改,完成槽车调度方案的修改之后,返回第4步;
第8步,输出槽车调度方案,将槽车调度方案保存于本地数据库,最后,程序终止。
本发明油品配送***,其中在所述第2步中,由所述物流信息***采集的数据如下:
(1)有关油品和配送区域内的加油站、油库及槽车的基本数据;
(2)加油站和油库的经纬度坐标、道路里程、槽车可通行道路、槽车行车区域、槽车返回车场、道路路桥费;
(3)加油站、油库和车辆的实时数据,包括:油库储油量、油品密度、补货订单、车况信息。
本发明油品配送***,其中在所述第5步(3)中,所述应用跨路径边替换法进行搜索,执行如下步骤:
(3)用满足约束的边对选出被替换的边进行替换,并对在替换形成的行车路径中所包含的补货订单,重新分配槽车舱位和确定计划配送量,重新指定发油油库和选择槽车的返回车场。
本发明油品配送***,其中在所述第5步(4)中,所述应用订单重新分配法进行搜索,执行如下步骤:
(2)自集合中选取重新分配的点,且它们所在的行车路径不多于_2条,每条行车路径中被重新分配的点不多于_3个;
(3)应用最小成本***法对选出被重新分配的点进行重新分配和路径***,并对在替换形成的行车路径中所包含的补货订单,重新分配槽车舱位和确定计划配送量,重新指定发油油库和选择槽车的返回车场。
本发明油品配送***,其中所述第7步,对槽车调度方案进行人工修改包括:
(1)对作业点进行修改,即订单的装/卸油作业在车辆配送路径中进行重新定位,即:将一条路径中的作业点移出,再移入另一条路径或同一路径的其它位置,由于修改必是可行,因此还需做可行性检验和处理之后,再应用第一调度方案和第二调度方案做进一步的改进;而对于前序约束、订单与车辆舱位的匹配条件这些简单约束的可行性检验,可放在修改过程中进行;
(2)对车辆或作业点施加“加锁”标记。
本发明油品配送***,其中所述第8步,所述输出槽车调度方案,将槽车调度方案保存于本地数据库,所更新的数据项分别是:
(1)补货订单数据表中的数据项:计划配送量,分派槽车编号,装载舱位编号,发油油库编号;
(2)槽车行车路径数据表中的数据项:槽车编号,油库或加油站的结点类型,结点编号,到达结点的次序序号,执行订单编号。
发明油品配送槽车调度的方法油品配送槽车调度的方法,由于应用Socket通讯方式,通过物流信息***采集用于槽车调度的基本数据,并采用了用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案,其优点是:首先,可显著降低配送成本;其次,提高油品配送槽车调度决策的效率,提升油品配送管理的快速反应水平,可将加油站提交补货订单的截止时间推迟2个小时左右;最后,通过对油品配送槽车调度的集中优化决策,有助于提高石油销售公司的扁平化集中式管理水平。
附图说明
下面结合图对本发明油品配送槽车调度的方法进行进一步的描述。
图1是本发明油品配送槽车调度的方法中调度业务流程图;
图2是本发明油品配送槽车调度的方法的***框图;
图3是本发明油品配送槽车调度的方法的数学模型结构图;
图4是本发明油品配送槽车调度的方法中第一调度方案和第二调度方案的二阶段启发式调度流程图;
图5是图4中第一调度方案的流程图;
图6是图4中第二调度方案的流程图;
图7是配送调度区域设置界面图;
图8是本地数据库更新操作界面图;
图9是槽车调度计划编制界面图;
图10是交互式计划编制操作界面图。
具体实施方式
本发明油品配送槽车调度的方法是寻求资源的低成本调度方案来满足需求供给的一种方法。其中,需求来自加油站,为各型号油品的日补货要求;资源则包括油库储油资源和槽车运能资源。
首先介绍一下需求供给各方。
加油站,为油品需求方,遍布油品配送区域的各个角落。一般情况下,加油站销售多个型号油品,每一型号油品的补货要求以补货订单的形式上传至石油销售公司。在集成了现代信息技术的物流管理信息***中,利用基于历史销售数据的需求预测和液位仪实时提供的油罐储存数据,可自动生成补货订单。一个补货订单规定了单个槽车舱位的一次配送量,以及配送量的可调整区间。因此,加油站同一型号油品的补货要求可能包含多个补货订单,一个配送任务要调用多个舱位来完成。补货订单还规定了配送优先级,当发生油品或运能资源不足时,对配送优先级高的补货订单进行优先安排。在配送时间要求方面,补货订单给出的时间窗一般较为宽泛,通常仅提出上午到货或下午到货的时间要求。
油库,为油品供给方,分布在配送区域的铁道线或河道沿线。一座油库通常提供多种型号油品的供应,每一型号油品储存于一个或多个储油罐中。对于一些小型油库,其储存的油品型号不全,只能满足加油站部分型号油品供给。
槽车,为油品运输方,分属一家或多家承运公司。槽车的货厢由一个或多个舱位构成,可在同一车次装载多个型号油品。每个舱位容积通常是固定的,并限制只装载某大类油品,如柴油类或汽油类。槽车具有各种吨位的车型,如穿梭于中心市区的4吨位车型、承载长途运输的40吨位车型,以满足不同路段的道路通行要求。
本发明油品配送槽车调度的方法的基础是一个油品配送***,参见图1和图2,该***包括上述的若干油库、加油站、承运车队的槽车和利用GPS、GIS、液位仪、Internet的物流信息***,以及一计算机,所述物流信息***采集的数据输入到计算机,该计算机输出对油库、加油站和槽车的调度信息,完成油品配送的资源调度。
在本发明油品配送槽车调度的方法中,油品配送的资源调度问题,是关于加油站、油库、槽车之间如何组合的一个决策问题,包括决策:①分派槽车完成补货订单的配送运输任务,②分配补货订单的油品装载舱位,③指定补货订单的发油油库,④制定补货订单的计划配送量,⑤编排槽车的行车路径。其关键在于如何充分利用槽车运载能力和降低槽车在运输途中发生的费用。结合我国具体情况,国内石油销售公司对油品配送的资源集中调度管理提出如下要求:
●统一分派槽车,优化利用槽车运载能力;
●优化槽车的行车路径,降低槽车在运输途中发生的费用;
●优化油品资源的集中调度,使油库的油品补给范围在合理经济半径内;
●在油品资源紧缺或运载能力不足的情况下,优先保障对配送优先级较高的补货订单安排配送;
●优化分配补货订单的装载舱位,提高舱位满载率;
●遵循现行的道路通行规则和石油产品安全运输规定;
●在短时间内(如10分钟)完成油品配送槽车调度方案的生成及优化过程。
在本发明油品配送槽车调度的方法中,油品配送调度的业务流程为:首先,加油站通过电话、传真或计算机网络等途径向石油销售公司提交次日的补货订单;然后,公司配送中心根据承运商和油库的可用资源,编制油品配送调度计划,生成派给槽车的提油单和各油库的发油单;最后,执行计划。具体内容是:槽车拿到提油单后,前往油库;油库将提油单与发油单相比对,确认一致后发油;槽车运油至加油站,加油站在提油单上签收,并向配送中心做到货确认。如果在业务流程中集成了GPS、GIS、液位仪、Internet等现代物流信息技术,不但可实现数字化、精准化的集成式可视化管理,进行全程跟踪监视,还可实现智能化配送。例如公司通过液位仪监控加油站的库存水平,并在计算机***中自动生成补货订单,进行主动配送。
现在对本发明油品配送槽车调度的方法进一步描述如下。
首先说明油品配送槽车调度的数学模型。
本发明油品配送槽车调度的方法把油品配送槽车调度路径优化问题归结为这样一个数学模型,即在满足一定约束条件下,以费用最小为优化目标,寻找配送调度方案。其中,方案内容包括:补货订单的槽车舱位分配、指定补货订单的发油油库、编排槽车行车路径。
参见图3的数学模型的结构,在约束限制中,配载约束主要指补货订单与槽车及其舱位之间进行分配的约束,行车约束主要指行车道路和区域划分方面的约束,规则约束则主要指管理方面的约束或要求,如槽车配载量平衡和按理想配送量配载的要求。
下面给出有关符号说明:
N——一天内补货订单的集合
S——所有加油站构成的集合
R——所有油库(含车场)构成的集合
K——所有槽车构成的集合
O——所有油品构成的集合
n——补货订单下标
k——槽车下标
r——油库下标
o——油品下标
H(k)——槽车k∈K的所有舱位构成的集合
z——槽车的舱位下标
Rn——可以给补货订单n发油的油库子集,Rn_R(如针对油品预售合同中要求事先指定相关补货订单的发油油库)
Rk——槽车k可以前往提油的油库子集,Rk_R(如在跨区调度下,针对交通管理部门对外地牌照槽车的进入管制、槽车的限定配送区域)
Sk——槽车k可以前往配送的加油站子集,Sk_S(如在跨区调度下,针对交通管理部门对外地牌照槽车的进入管制、槽车的限定配送区域)
Gk——槽车k的返回车场子集,Gk_R
D——运输网络D=(V,A),其中,V=S∪R,A为网络的有向边(从一个点到达另一个点的直达道路)集,即A={(v1,v2)|v1∈V,v2∈V,v1≠v2},为叙述简便起见,本文所述的边均指有向边
e——表示运输网络D中的边e=(v1,v2),e∈A,其中,v1和v2分别为边e的起始端点和终止端点
tk,e——槽车k在边e上的行车时间(计量单位:小时)
tr——槽车在油库r的装油速率(计量单位:小时/吨)
ts——槽车在加油站s的卸油速率(计量单位:小时/吨)
Tr——槽车在油库r装油的平均等待时间(计量单位:小时)
Ts——槽车在加油站s卸油的平均等待时间(计量单位:小时)
fk——槽车k的固定费用(计量单位:元)
fk,e——槽车k的在边e上的路桥费(计量单位:元)
ck,e——槽车k的在边e上的吨运费(计量单位:元/吨)
cr——油库r的吨物流附加费(计量单位:元/吨)
Uo,r——油库r中油品o的可发油量(计量单位:吨)
Q(k)——槽车k的载重上限(计量单位:吨)
Q(z)——舱位z的载容量(计量单位:千升)
Nk——分派给槽车k的补货订单子集,Nk_N
P(k)——槽车k的配送行车路径 其中,mk+1为P(k)中
包含的点数(注:P(k)中包含的点要么是加油站要么是油库,且同一加油站或油库可在P(k)中重复出现),v0 (k)和vmk (k)分别为槽车k的始发车场和返回车场(决策变量)
l(vi (k))——槽车在点Vi (k)处装油或卸油后的载量(计量单位:吨)
t(vi (k))——槽车在点vi (k)处开始装油或卸油的最早时刻
π(vi (k))——槽车k在点vi (k)处装油或卸油所对应的补货订单下标
sn——补货订单n的收货加油站,sn∈S
on——补货订单n的油品品号,on∈O
ρ(on)——油品on的密度(单位:吨/千升)
dn——补货订单n的理想配送量
ln——补货订单n的最小配送量
un——补货订单n的最大配送量
[an,bn]——补货订单n的到货时间窗(指完成加油站卸油作业的时间)
[ak,bk]——槽车k的运营时间窗
xn——补货订单n的计划配送量(决策变量)
yn——补货订单n的发油油库,yn∈R(决策变量)
zn——补货订单n的配载舱位,zn∈H(k)(决策变量)
gn——补货订单n的油库装油完成时刻(决策变量)
hn——补货订单n的加油站卸油完成时刻(决策变量)
λ——补货订单的计划配送量偏离理想配送量的惩罚乘子
η——槽车的计划配送量偏离平均配送量的惩罚乘子
油品配送槽车调度的数学模型可概述为:在同时满足所有约束条件下,确定决策变量(xn,yn,zn,gn,hn)n∈N和P(k)(k∈K)的取值,使目标函数值达到最小。
数学模型如下:
(1-1)
s.t.
Nk_{n|sn∈Sk,n∈N},k∈K (1-2)
Nk∩Nj=φ,k≠j,k∈K,j∈K (1-4)
xn=min{int[un],int[ρ(on)·Q(zn)]},n∈N,int[α]表示取整
(1-5)
zn∈{z|ln≤ρ(on)·Q(z),且δ(on,z)=1,z∈H(k),k∈K},n∈N (1-6)
yn∈Rn∩Rk,其中n∈Nk (1-7)
(v1 (k),v2 (k),...,vmk-1 (k))为{(n,yn)|n∈Nk}∪{(n,sn)|n∈Nk}的一个排列 (1-9)
(1-10)
(1-12)
an≤hn≤bn,n∈N (1-17)
gn<hn,n∈N (1-18)
(1-19)
(1-21)
v0 (k)初始给定,且 k∈K (1-22)
对上述模型说明如下:
式(1-1)为最小化目标函数,它由以下6个方面的成本函数组成:
①槽车的固定费用,即槽车被分派后的固定运行费用,包括槽车的管理费和租赁费。
②槽车运输途中的路桥费。
③油库的物流附加费。设油库A和油库B均可向加油站发油,且油库B的储油量是从油库A调拨过来的,则在选择从哪个油库发油时,需考虑调拨运输费的因素。我们把相关的费用称为油库的物流附加费。用cAB表示从A向B的吨调拨运输费,用cA和cB分别表示油库A和B的物流附加费,则可得到cB的计算式cB:=cA+cAB。
④按吨数和不同行车道路核算的槽车工作量报酬。
⑤关于补货订单理想配送量的惩罚函数。为了接近或达到补货订单理想配送量的要求,我们把补货订单的计划配送量与理想配送量之间存在的绝对偏差进行惩罚,作为一种广义的成本来考虑。
⑥关于槽车运量平衡的惩罚函数。为了接近或达到槽车运量平衡的要求,我们把槽车的计划配送量与平均配送量之间存在的绝对偏差进行惩罚,同样也作为一种广义的成本来考虑。
约束式(1-2)-(1-6)为配载约束。其中,约束式(1-2)-(1-4)要求完成对所有补货订单的配送,并且每个补货订单只能分派给一辆槽车;式(1-5)在不超过补货订单最大配送量的情况下,按照满舱装载的要求进行配载;式(1-6)为补货订单配载舱位的分配约束。
约束式(1-7)-(1-22)为行车约束。其中,式(1-7)限定了补货订单的发油油库的指定范围;式(1-8)限定了槽车行车路径的返回车场的选择范围;式(1-9)给出了槽车行车路径中在油库装油或在加油站卸油的作业次序,是槽车行车路径的具体表示形式;式(1-10)-(1-11)进一步要求式(1-9)所给出的行车路径必须是该槽车可以行驶的道路;式(1-12)为槽车沿行车路径执行补货订单配送装卸作业的时间计算式;式(1-13)-(1-14)为槽车运营时间窗要求;式(1-15)-(1-17)为补货订单的到货时间窗要求;式(1-18)为补货订单必须遵循先装油后卸油的前序关系约束;式(1-19)-(1-20)要求槽车在任何时刻都不能超载;式(1-21)为油库发油量限制;约束式(1-22)为初始取值条件。
规则约束包括:接近或达到补货订单理想配送量和槽车运量平衡的要求。模型中采用了施加惩罚的形式形成一种广义成本,并放在目标函数中加以考虑。
对本地数据库说明如下。
本地数据库为模型构造模块与计划编制模块提供数据支持。其主要包括三种数据:第一种是由物流信息***提供有关油品、加油站、油库和槽车的实时数据;第二种是由GIS***提供有关地物坐标、道路交通信息和配送区域信息等空间数据;第三种是算法及模型的一些参数设置数据。其中的数据表如下:
●油品数据表,其内容包括:油品编号,油品名称,油品密度。
●油库(车场)数据表,其内容包括:油库编号,油库名称,地理经度,地理纬度。
●油库储油量数据表,其内容包括:油库编号,油品编号,储油量。
●加油站数据表,其内容包括:加油站名称,地理经度,地理纬度。
●补货订单数据表,其内容包括:订单编号,加油站编号,油品编号,理想配送量,最小配送量,最大配送量,最早配送时间,最晚配送时间,计划配送量,分派槽车编号,装载舱位编号,发油油库编号。
●槽车数据表,其内容包括:槽车编号,车牌号,始发车场编号,吨位,最大载重量,固定起用费,吨公里运费,分派优先级。
●槽车舱位数据表,其内容包括:舱位编号,槽车编号,舱位名称,容量。
●槽车舱位可装油品数据表,其内容包括:舱位编号,可装油品编号。
●道路里程数据表,其内容包括:起点类型(油库或加油站),起点编号,终点类型(油库或加油站),终点编号,里程数。
●槽车可通行道路数据表,其内容包括:槽车编号,起点类型(油库或加油站),起点编号,终点类型(油库或加油站),终点编号。
●槽车行车区域数据表,其内容包括:槽车编号,结点类型(油库或加油站),结点编号。
●槽车返回车场数据表,其内容包括:槽车编号,可返回油库编号。
●收路桥费的道路数据表,其内容包括:路桥编号,起点类型(油库或加油站),起点编号,终点类型(油库或加油站),终点编号。
●路桥费数据表,其内容包括:路桥编号,起收吨位,止收吨位,路桥费。
●参数表,其内容包括:参数名称,数据类型,参数值。其中的数据项有:扫除法中的扫描弧度、关于运量平衡的惩罚乘子、关于理想配送量的惩罚乘子、虚拟槽车吨公里运费、虚拟槽车最大载重量、虚拟槽车最大载容量、跨路径边替换参数(ψ1、ψ2和ψ3)、订单重新分配参数(_1、_2和_3)。
●槽车行车路径数据表,其内容包括:槽车编号,结点类型(油库或加油站),结点编号,到达结点的次序序号,执行订单编号。
本发明油品配送槽车调度的方法针对以上问题和要求,采用图2所示的***框架,实现在油品配送槽车调度的计划编制过程中,综合考虑分派槽车、分配舱位、指定发油油库以及编排槽车行车路径的方案构造及优化,包括:设计本地数据库、建立数学模型、以及由第一调度方案和第二调度方案组成的二阶段启发式调度。
参见图4,下面说明本发明油品配送槽车调度的方法,该方法执行的步骤如下:
第1步,参见图7,设置配送槽车调度区域。
第2步,应用Socket通讯方式,由物流信息***采集下列数据:
(1)有关油品和配送区域内的加油站、油库及槽车的基本数据;
(2)加油站和油库的经纬度坐标、道路里程、槽车可通行道路、槽车行车区域、槽车返回车场、道路路桥费;
(3)加油站、油库和车辆的实时数据,包括:油库储油量、油品密度、补货订单、车况信息;
将所采集的数据保存于本地数据库。
第3步,进行本地数据库参数表的参数设置,然后,采用二阶段启发式高度,即在第一阶段执行用于满足约束要求的第一调度方案,给出一个满足约束要求的调度方案,然后在第二阶段执行用于完成对该调度方案进行优化的第二调度方案,完成对该调度方案的优化。
第4步,执行第一调度方案,参见图4、图5和图9,完成满足约束要求的槽车调度方案:
(1)将已被列入槽车行车路径的补货订单标记为“已编排”,在剩下的补货订单中,将最高配送优先级的补货订单标记为“待编排”,其余补货订单标记为“暂不编排”;将所有槽车标记为“未饱和”,进入步骤(2);
(2)如果所有补货订单的标记均为“已编排”,则进入第5步,执行第一调度方案结束;否则,进入步骤(3);
(3)如果不存在标记为“待编排”的补货订单,则清除所有补货订单的标记(注:此时,在当前订单配送优先级中的全部补货订单都已被分派给槽车,并编入槽车的行车路径之中),返回步骤(1);否则,进入步骤(4);
(4)如果所有槽车均已标记为“已饱和”(注:此时,已无法将“待编排”补货订单分派给现有的槽车),则添加一辆虚拟槽车,并将其标记为“未饱和”,进入步骤(5);
(5)在“未饱和”槽车集合中,根据槽车分派优先级选择槽车,记为k,进入步骤(6);
(6)从“待编排”补货订单集合中筛选出一个子集作为种子订单集,其中的补货订单在单独***槽车k的行车路径后能满足数学模型中的约束式(1-2)-(1-22),进入步骤(7);
(7)如果种子订单集为空集,则将槽车k标记为“已饱和”(注:此时,在当前的订单配送优先级下,无法再给槽车k分派补货订单),返回步骤(4);否则,进入步骤(8);
(8)对种子订单集中的每个补货订单,以槽车k的始发车场坐标为原点,向补货订单的收货加油站坐标发出的射线为极轴,在沿逆时针扫描α弧度所形成的扇形区域内,统计其覆盖的“待编排”补货订单个数作为该补货订单的覆盖数,然后进入步骤(9);
(9)在种子订单集中,选择覆盖数最大的补货订单作为种子订单,进入步骤(10);
(10)以槽车k的始发车场坐标为原点,向种子订单的收货加油站坐标发出的射线为极轴,在由此构成的极坐标系中,按照补货订单的收货加油站地理坐标的极角从小到大的顺序,逐个考察“待编排”补货订单集合中的每个补货订单:如果将其***槽车k的行车路径后满足数学模型中的约束式(1-2)-(1-22),则采用最小成本***法将其***其中,其中按照约束式(1-5)和(1-6)的要求分配舱位和确定计划配送量,在约束式(1-7)规定的范围内指定一个发油油库,在约束式(1-8)规定的范围内指定槽车k的返回车场,并将该补货订单标记为“已编排”,从而更新槽车k的行车路径并返回步骤(3)。
下面做出具体解释。
本发明油品配送槽车调度的方法中第一调度方案的基本原理是:应用扫除法(SweepingAlgorithm)原理选择补货订单,采用最小成本***法对槽车行车路径进行扩充。包括:
(1)扫除算法中,按照固定大小区域中覆盖的补货订单数最多的准则选择种子点。
(2)根据事先设置的槽车分派优先级与补货订单配送优先级,按照优先级从高到低的顺序,实施补货订单的槽车分派。
(3)引入虚拟槽车,当运力不足时,对补货订单实施虚拟槽车分派。
先介绍一下扫除算法和最小成本***法。
扫除法的基本思想是使一辆车的配送范围所覆盖的任务点集中分布在一个方位。其原理是:针对一辆车,首先从任务点中选取一个点,称为种子点(Seed Node),并以该车辆的始发车场为原点,从始发车场向种子点发出的射线为极轴,将任务点的直角地理坐标转换为极坐标;然后,按极角从小到大(或从大到小)的顺序逐个选点***车辆的行车路径中,直到超过该车辆的运力极限或其他限制时,便完成该车辆行车路径的构造。
最小成本***法实际上是给出一种准则,确定一个任务点在车辆行车路径中的***位置。现考察将任务点u***车辆行车路径所包含的任务点i和j之间(注:该行车路径中,i和j之间没有其他任务点),记diu、duj、dij分别表示i和u之间、u和j之间、i和j之间的行车成本,则diu+duj-dij便是将点u***点i和j之间后所增加的行车成本,称为***成本(如果将点u***点i和j之间造成行车路径不可行,则定义该***成本为无穷大)。最小成本***法的准则是:选择***成本最小的***位置。
上述第一调度方案将完成所有补货订单的槽车分派、舱位分配、油库指定和确定计划配送量,不仅可从一个所有槽车均无任务分派的初始状态开始,也可从一个只分派了部分补货订单的非完整调度方案(这种情形主要发生于:经人工修改后,破坏了调度方案的可行性,进而一些补货订单从槽车行车路径中被剥离了出来)开始,最后给出一个调度方案。
在第一调度方案中,一个关键问题是如何选择种子点。扫除法采用了固定大小区域中覆盖的补货订单数最多的准则选择种子点,使得在补货订单分布最密集的方位区域,能够集中将补货订单的配送任务分派给槽车。
补货订单的配送优先级是补货订单的一种配送要求,即当发生槽车总运力不足时,优先编排级别高的补货订单。步骤(1)根据这一规则对即将在本轮循环中编排的补货订单进行了筛选。而槽车的分派优先级是对槽车分派的一种偏好倾斜,即当发生槽车总运力剩余时,优先考虑级别高的槽车。步骤(5)根据这一规则选择即将分派的槽车。扫除法满足了这两个方面的要求。
在第一调度方案中,当出现槽车运力不足时,引入了虚拟槽车来填补运力缺口。实质上,这是通过对模型约束条件加以松弛后进行求解的一种方法。在第二调度方案中,这些松弛将逐渐被消除。添加虚拟槽车在步骤(4)中进行,其中有关虚拟槽车属性的设置规则如下:
①在现有油库中任选一个油库作为其始发车场;
②任何油库均可作为其返回车场;
③可到达任何油库或加油站,进行装油或卸油;
④可执行任何补货订单的配送运输任务;
⑤仅有一个舱位,该舱位可装载任何型号的油品;
⑥可在道路交通网络中任意通行;
⑦在所有道路中通行的路桥费为零;
⑧运营时间窗充分大;
⑨关于运量平衡的惩罚乘子为零;
另外需指出的是,第一调度方案采取一个假定,即:对每种油品,油库的总储油量大于补货订单的总需求量。即,不考虑油库总供油量不足的问题。实际中配送中心是根据油库的储油情况来考虑是否接受补货订单,因而这一假定是可以得到保证的。
第5步,执行第二调度方案,参见图4和图6,完成对上述满足约束要求的槽车调度方案的优化:
(1)将Completed的值设置为1(在解的局部邻域内如果搜索不到更优的解,则Completed的值始终为1,此时,本算法就可结束了);
(2)应用2-替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(3);
(3)应用跨路径边替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(4);
(4)应用订单重新分配法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(5);
(5)如果Completed的值为1,则进入第6步,执行第二调度方案结束;否则,返回步骤(1)。
下面做出具体解释。
本发明采用局部搜索法对第一调度方案实施优化改进。首先,对解的局部邻域做出说明:在某种修改操作规则下,对原有调度方案进行每一种可能的修改,将得到各个新的调度方案,称由它们组成的集合为解的局部邻域(这里,解即为调度方案)。局部搜索法的一般原理是:在解的局部邻域中搜索,如果搜索到更优的解,则用其替换原来的解,然后在此解的局部邻域中接着搜索,如此继续,直到搜索不到更优的解时为止。
本发明采用的修改操作方法包括:2-替换法、跨路径边替换法、订单重新分配法。分述如下:
1.2-替换法
如果将一条行车路线中的k条边用另外k条边替换,则这样的替换称为k-替换(k-exchange,最早在1965年提出)。特别地,当k=2时,称为2-替换。
现用p(k)表示槽车k的行车路径,其中的点要么是加油站要么是油库。则2-替换方法如下:
①从p(k)中删除两条终止端点为加油站的边,分别记为(i1,i2)和(i3,i4);
②改变p(k)中从点i2到i3的路段行车方向;
③将边(i1,i3)和边(i2,i4)添入p(k);
④对p(k)中包含的所有补货订单,按照约束式(1-5)和(1-6)的要求重新分配槽车舱位和确定计划配送量,并在约束式(1-7)规定的范围内重新指定发油油库;
⑤在约束式(1-8)规定的范围内重新指定槽车k的返回车场;
⑥更新后的p(k)满足数学模型中的约束式(1-2)-(1-22)。
2.跨路径边替换法
如果考虑多条行车路线之间的边替换,则称这样的替换为跨路径边替换。为了能在算法的运算时间和求解质量之间进行权衡,本发明引入了ψ1、ψ2和ψ3这三个参数来加以调节。方法如下:
(3)用另外的边将选出被替换的边进行替换后,所形成的行车路径满足数学模型中的约束式(1-2)-(1-22),其中,对于在替换形成的行车路径中所包含的补货订单,按照约束式(1-5)和(1-6)的要求重新分配槽车舱位和确定计划配送量,在约束式(1-7)规定的范围内重新指定发油油库,并在约束式(1-8)规定的范围内重新选择槽车的返回车场。
3.订单重新分配法
订单重新分配(Relocation),是通过重新考虑补货订单的槽车分派及***位置,以改善槽车舱位利用率和行车路径。与第4.3部分相类似,为了能在算法的运算时间和求解质量之间进行权衡,本发明引入了_1、_2和_3这三个参数来加以调节。方法如下:
(1)从原调度方案的行车路径内表示加油站的点(注:这些点与补货订单相对应)中,按照点的节约成本从大到小的顺序,选出_1个点;当行车路径内表示加油站的点数小于_1时,则将这些点全选。由选出的这些点所构成的集合记为
关于点的节约成本的定义:设点vi是行车路径内表示加油站的点,在该行车路径中与点vi相关联的两条边分别是(vi-1,vi)和(vi,vi+1),则定义ci-1,i+ci,i+1-ci-1,i+1为点vi的节约成本。
(3)应用最小成本***法将选出被重新分配的点进行重新分配和路径***后,所形成的行车路径满足数学模型中的约束式(1-2)-(1-22),其中,对于在重新分配后所形成的行车路径中包含的补货订单,按照约束式(1-5)和(1-6)的要求重新分配槽车舱位和确定计划配送量,在约束式(1-7)规定的范围内重新指定发油油库,并在约束式(1-8)规定的范围内重新选择槽车的返回车场。
第6步,对优化的槽车调度方案进行人工确认,如果确认不通过,则进入第7步;否则,进入第8步。
参见图4,第一调度方案和第二调度方案后,设有一个人工确认的环节,即对调度方案是否很好地满足实际中的各项具体要求进行人工确认,若确认未通过,则直接对调度方案进行人工修改,然后再次实施调度方案的构造和优化。由于在油品配送管理的真实情景中,存在许多情形还未能用算法来完全表达,例如,对前一计划日遗留下来的未配送补货订单的特殊处理,加油站、油库和承运车队之间存在复杂的合同关系,以及配送管理中的潜规则等等,所以在算法中增加了这一环节。当然,根据要求,也可将该环节关闭,达到编制调度方案的自动化。
第7步,对槽车调度方案进行人工修改(参见图10的交互式计划编制操作界面),包括:
(1)对作业点进行修改,即订单的装/卸油作业在车辆配送路径中进行重新定位,即:将一条路径中的作业点移出,再移入另一条路径或同一路径的其它位置,由于修改必是可行,因此还需做可行性检验和处理之后,再应用第一调度方案和第二调度方案做进一步的改进;而对于前序约束、订单与车辆舱位的匹配条件这些简单约束的可行性检验,可放在修改过程中进行;
(2)对车辆或作业点施加“加锁”标记,“加锁”的意思是禁止在修改解的操作中和应用启发式算法的路径改进中做修改.如果车辆被“加锁”,表示该车的配送路径不允许被修改;如果是作业点被“加锁”,表示不允许被重新定位,以及在路径改进算法中不允许将其对应订单改派到其他车辆。通过“加锁”的方式将解的一部分固定下来,直接缩小了路径改进算法中的局部搜索邻域,可提高算法的搜索效率。
完成调度方案的人工修改之后,返回第4步。
第8步,输出调度方案,将槽车调度方案保存于本地数据库(参见下表和图8的数据库更新操作界面),所更新的数据项分别是:
沪A-95118 | |||||
行车顺序 | 到达地点 | 装/卸 | 舱位号 | 油品型号 | 装/卸量(吨) |
1 | 车库 | ||||
2 | 916油库 | 装 | 1# | 90号汽油 | 5 |
2# | 90号汽油 | 8 | |||
3# | 0号柴油 | 5 | |||
3 | 上海浦东昕鑫加油站 | 卸 | 1# | 90号汽油 | 5 |
3# | 0号柴油 | 5 | |||
4 | 中油云峰油库 | 装 | 3# | 0号柴油 | 6 |
5 | 力胜加油站卸油 | 卸 | 3# | 0号柴油 | 6 |
2# | 90号汽油 | 8 | |||
6 | 中油云峰油库 | 装 | 1# | 90号汽油 | 8 |
2# | 90号汽油 | 8 | |||
3# | 0号柴油 | 5 | |||
7 | 普陀第一加油站 | 卸 | 1# | 90号汽油 | 8 |
8 | 长鑫加油站卸油 | 卸 | 2# | 90号汽油 | 8 |
9 | 上海市华迪加油站 | 卸 | 3# | 0号柴油 | 5 |
10 | 华江油库 |
(1)补货订单数据表中的数据项:计划配送量,分派槽车编号,装载舱位编号,发油油库编号;
(2)槽车行车路径数据表中的数据项:槽车编号,油库或加油站的结点类型,结点编号,到达结点的次序序号,执行订单编号;最后,程序终止。
上表是槽车调度方案输出的表格形式。表中:第一行是槽车牌号;第一列是槽车行车次序序号;第二列是槽车到达地点名称;第三列是槽车在各个地点的装/卸标记;第四列是槽车的舱位号;第五列是油品名称;第六列是装/卸量。
在本发明油品配送槽车调度的方法中,上述第一调度方案和第二调度方案表现为一种人机交互式求解过程:应用二阶段启发式算法得到调度方案后,根据经验知识和实际要求,人工修改调度方案,然后,再应用二阶段启发式调度方案,如此重复进行,最后人工确认通过后终止。
对于所参照的附图做如下说明:
图1是油品配送调度业务流程图。其中:1承运车队;2油库;3现代物流信息技术;4油品配送槽车调度计划;5加油站。
图2是***框图。其中:1计算机;2处理器;3存储器;4本地数据库;5模型构造模块;6调度计划编制模块;7方案构造模块;8方案改进模块。
图3是油品配送槽车调度的数学模型结构图。其中:1配载约束;2油品配送槽车调度问题的数学模型;3行车约束;4约束限制;5规则约束;6最小费用目标;7对象变量;8油品;9油库;10加油站;11槽车;12补货订单。
图4是油品配送槽车调度中第一调度方案和第二调度方案的二阶段启发式调度流程图。其中:1开始;2收集数据和设置算法参数;3第一调度方案;4第二调度方案;5确认通过;6人工修改调度方案;7输出调度方案;8结束。
图5是油品配送槽车调度中第一调度方案的流程图。其中:1对补货订单和槽车进行初始标记;2编排了所有补货订单;3清除所有补货订单和槽车的标记;4有“未饱和”槽车;5根据槽车优先级选择一辆“未饱和”槽车,并确定种子订单集;6将选中的槽车标记为“已饱和”;7按订单的覆盖数最大的准则选择种子订单;8应用扫除法和最小成本***法,在满足模型约束的条件,将订单分派给槽车,对槽车行车路径进行扩充;9本算法结束;10输出槽车调度方案;11有待编排订单,12增添一辆虚拟槽车,并标记为“未饱和”,13种子订单集合为空集。
图6是油品配送槽车调度第二调度方案的流程图。其中:1初始调度方案;2设置Completed的值为1;3应用2-替换法进行搜索;4搜索到更优调度方案;5应用跨路径边替换法进行搜索;6搜索到更优调度方案;7应用订单重新分配法进行搜索;8搜索到更优调度方案;9Completed的值是否为1;10输出槽车调度方案;11本算法结束;12修改Completed的值为0;13替换原调度方案;14修改Completed的值为0;15替换原调度方案;16修改Completed的值为0;17替换原调度方案。
图7是配送调度区域设置界面。其中:1全选,2列入被选框,3配送调度区域侯选列表框,4保存后退出,5配送调度区域被选列表框,6列入候选框,7全不选,8放弃保存后退出。
图8是本地数据库更新操作界面。其中:1通讯端口,2更新本地数据库的数据表选项,3更新命令按钮,4从本地数据库上传至物流信息***的数据选项,5上传命令按钮。
图9是槽车调度计划编制界面。其中:1加油站信息栏,2槽车信息栏,3一辆槽车的调度方案,4未编排订单信息栏,5舱位信息栏,6调度方案评价指标。
图10是交互式计划编制操作界面。其中:1调度方案的链表结构表示,2备注信息栏,3油库列表,4被移出的订单,5加油站的油品供应油库设置,6调度方案的矢量图表示。
在实际应用中,采用本发明油品配送槽车调度的方法,达到了以下效果:
●对于我国省(市)石油销售公司的一般配送规模(约500个加油站、100辆车、10座油库),应用该软件可在10分钟以内给出一个较优的油品配送槽车调度方案(而采用人工决策,一般需要3小时左右的时间)。
●该方法所给出的调度方案主要表现在槽车行车路径的优化设计,使得油品配送运输成本(含路桥费)显著降低,相关费用可节省10%左右。
●在正常环境或运力不足的情况下,该方法可自动给出油品配送槽车调度方案;在临时出现一些特殊约束和要求的情况下,也可进行人机交互优化的求解过程。
本发明油品配送槽车调度的方法带来的益处有:首先,该方法综合考虑多车场、多车型、多油库、多油品、多舱位、行车约束、配载约束及工作量均衡各因素,显著降低了配送成本;其次,提高了油品配送槽车调度决策的效率,提升了油品配送管理的快速反应水平,可将加油站提交补货订单的截止时间推迟2个小时左右;最后,通过对油品配送槽车调度的集中优化决策,显著提高了石油销售公司的扁平化集中式管理水平。
Claims (12)
1.一种油品配送槽车调度的方法,该方法对油品配送***实施油品配送槽车的低成本调度,所述油品配送***包括若干油库、加油站、承运车队的槽车和利用GPS、GIS、液位仪、Internet的物流信息***,其特征在于,该方法执行如下步骤:
第1步,设置配送槽车调度区域,进入第2步;
第2步,应用Socket通讯方式,通过物流信息***采集用于槽车调度的基本数据并将所采集的数据保存于本地数据库,进入第3步;
第3步,进行本地数据库参数表的参数设置,然后依次进入第4步和第5步,执行用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案;
第4步,执行所述第一调度方案,完成满足约束要求的槽车调度方案,执行如下步骤:
(1)将已被列入槽车行车路径的补货订单标记为“已编排”,在剩下的补货订单中,将最高配送优先级的补货订单标记为“待编排”,其余补货订单标记为“暂不编排”;将所有槽车标记为“未饱和”,进入步骤(2);
(2)如果所有补货订单的标记均为“已编排”,则输出调度方案,本算法结束;否则,进入步骤(3);
(3)如果不存在标记为“待编排”的补货订单,则清除所有补货订单的标记,返回步骤(1);否则,进入步骤(4);
(4)如果所有槽车均已标记为“已饱和”,则添加一辆虚拟槽车,并将其标记为“未饱和”,进入步骤(5);
(5)在“未饱和”槽车集合中,根据槽车分派优先级选择槽车,记为k,进入步骤(6);
(6)从“待编排”补货订单集合中筛选出一个子集作为种子订单集,进入步骤(7);
(7)如果种子订单集为空集,则将槽车k标记为“已饱和”,返回步骤(4);否则,进入步骤(8);
(8)对种子订单集中的每个补货订单,以槽车k的始发车场坐标为原点,向补货订单的收货加油站坐标发出的射线为极轴,在沿逆时针扫描α弧度所形成的扇形区域内,统计其覆盖的“待编排”补货订单个数作为该补货订单的覆盖数,然后进入步骤(9);
(9)在种子订单集中,选择覆盖数最大的补货订单作为种子订单,进入步骤(10);
(10)以槽车k的始发车场坐标为原点,向种子订单的收货加油站坐标发出的射线为极轴,在由此构成的极坐标系中,按照补货订单的收货加油站地理坐标的极角从小到大的顺序,逐个考察“待编排”补货订单集合中的每个补货订单,更新槽车k的行车路径并返回步骤(3);
第5步,执行所述第二调度方案,完成对上述满足约束要求的槽车调度方案的优化,执行如下步骤:
(1)将Completed的值设置为1;
(2)应用2-替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(3);
(3)应用跨路径边替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(4);
(4)应用订单重新分配法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(5);
(5)如果Completed的值为1,则输出槽车调度方案,进入第6步;否则,返回步骤(1);
第6步,对优化的槽车调度方案进行人工确认,如果确认不通过,则进入第7步;否则,进入第8步;
第7步,对槽车调度方案进行人工修改,完成槽车调度方案的修改之后,返回第4步;
第8步,输出槽车调度方案,将槽车调度方案保存于本地数据库,最后,程序终止。
2.根据权利要求1所述的方法,其特征在于,其中在所述第2步中,由所述物流信息***采集的数据如下:
(1)有关油品和配送区域内的加油站、油库及槽车的基本数据;
(2)加油站和油库的经纬度坐标、道路里程、槽车可通行道路、槽车行车区域、槽车返回车场、道路路桥费;
(3)加油站、油库和车辆的实时数据,包括:油库储油量、油品密度、补货订单、车况信息。
5.根据权利要求4所述的方法,其特征在于,其中所述第7步,对槽车调度方案进行人工修改包括:
(1)对作业点进行修改,即订单的装/卸油作业在车辆配送路径中进行重新定位,即:将一条路径中的作业点移出,再移入另一条路径或同一路径的其它位置,由于修改必是可行,因此还需做可行性检验和处理之后,再应用第一调度方案和第二调度方案做进一步的改进;而对于前序约束、订单与车辆舱位的匹配条件这些简单约束的可行性检验,可放在修改过程中进行;
(2)对车辆或作业点施加“加锁”标记。
6.根据权利要求5所述的方法,其特征在于,其中所述第8步,所述输出槽车调度方案,将槽车调度方案保存于本地数据库,所更新的数据项分别是:
(1)补货订单数据表中的数据项:计划配送量,分派槽车编号,装载舱位编号,发油油库编号;
(2)槽车行车路径数据表中的数据项:槽车编号,油库或加油站的结点类型,结点编号,到达结点的次序序号,执行订单编号。
7.一种油品配送***,其特征在于,包括若干油库、加油站、承运车队的槽车和利用GPS、GIS、液位仪、Internet的物流信息***,以及一计算机,所述物流信息***采集的数据输入到计算机,计算机输出对油库、加油站和槽车的调度信息,计算机的油品配送方法执行如下步骤:
第1步,设置配送槽车调度区域,进入第2步;
第2步,应用Socket通讯方式,通过物流信息***采集用于槽车调度的基本数据并将所采集的数据保存于本地数据库,进入第3步;
第3步,进行本地数据库参数表的参数设置,然后依次进入第4步和第5步,执行用于满足约束要求的第一调度方案和用于完成对该调度方案进行优化的第二调度方案;
第4步,执行所述第一调度方案,完成满足约束要求的槽车调度方案,执行如下步骤:
(1)将已被列入槽车行车路径的补货订单标记为“已编排”,在剩下的补货订单中,将最高配送优先级的补货订单标记为“待编排”,其余补货订单标记为“暂不编排”;将所有槽车标记为“未饱和”,进入步骤(2);
(2)如果所有补货订单的标记均为“已编排”,则输出调度方案,本算法结束;否则,进入步骤(3);
(3)如果不存在标记为“待编排”的补货订单,则清除所有补货订单的标记,返回步骤(1);否则,进入步骤(4);
(4)如果所有槽车均已标记为“已饱和”,则添加一辆虚拟槽车,并将其标记为“未饱和”,进入步骤(5);
(5)在“未饱和”槽车集合中,根据槽车分派优先级选择槽车,记为k,进入步骤(6);
(6)从“待编排”补货订单集合中筛选出一个子集作为种子订单集,进入步骤(7);
(7)如果种子订单集为空集,则将槽车k标记为“已饱和”,返回步骤(4);否则,进入步骤(8);
(8)对种子订单集中的每个补货订单,以槽车k的始发车场坐标为原点,向补货订单的收货加油站坐标发出的射线为极轴,在沿逆时针扫描α弧度所形成的扇形区域内,统计其覆盖的“待编排”补货订单个数作为该补货订单的覆盖数,然后进入步骤(9);
(9)在种子订单集中,选择覆盖数最大的补货订单作为种子订单,进入步骤(10);
(10)以槽车k的始发车场坐标为原点,向种子订单的收货加油站坐标发出的射线为极轴,在由此构成的极坐标系中,按照补货订单的收货加油站地理坐标的极角从小到大的顺序,逐个考察“待编排”补货订单集合中的每个补货订单,更新槽车k的行车路径并返回步骤(3);
第5步,执行所述第二调度方案,完成对上述满足约束要求的槽车调度方案的优化,执行如下步骤:
(1)将Completed的值设置为1;
(2)应用2-替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(3);
(3)应用跨路径边替换法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(4);
(4)应用订单重新分配法进行搜索,如果搜索到更优调度方案,则用其替换原槽车调度方案,并将Completed的值置为0;否则,进入步骤(5);
(5)如果Completed的值为1,则输出槽车调度方案,进入第6步;否则,返回步骤(1);
第6步,对优化的槽车调度方案进行人工确认,如果确认不通过,则进入第7步;否则,进入第8步;
第7步,对槽车调度方案进行人工修改,完成槽车调度方案的修改之后,返回第4步;
第8步,输出槽车调度方案,将槽车调度方案保存于本地数据库,最后,程序终止。
8.根据权利要求7所述的***,其特征在于,其中在所述第2步中,由所述物流信息***采集的数据如下:
(1)有关油品和配送区域内的加油站、油库及槽车的基本数据;
(2)加油站和油库的经纬度坐标、道路里程、槽车可通行道路、槽车行车区域、槽车返回车场、道路路桥费;
(3)加油站、油库和车辆的实时数据,包括:油库储油量、油品密度、补货订单、车况信息。
10.根据权利要求9所述的***,其特征在于,其中在所述第5步(4)中,所述应用订单重新分配法进行搜索,执行如下步骤:
(2)自集合中选取重新分配的点,且它们所在的行车路径不多于_2条,每条行车路径中被重新分配的点不多于_3个;
(3)应用最小成本***法对选出被重新分配的点进行重新分配和路径***,并对在替换形成的行车路径中所包含的补货订单,重新分配槽车舱位和确定计划配送量,重新指定发油油库和选择槽车的返回车场。
11.根据权利要求10所述的方法,其特征在于,其中所述第7步,对槽车调度方案进行人工修改包括:
(1)对作业点进行修改,即订单的装/卸油作业在车辆配送路径中进行重新定位,即:将一条路径中的作业点移出,再移入另一条路径或同一路径的其它位置,由于修改必是可行,因此还需做可行性检验和处理之后,再应用第一调度方案和第二调度方案做进一步的改进;而对于前序约束、订单与车辆舱位的匹配条件这些简单约束的可行性检验,可放在修改过程中进行;
(2)对车辆或作业点施加“加锁”标记。
12.根据权利要求11所述的***,其特征在于,其中所述第8步,所述输出槽车调度方案,将槽车调度方案保存于本地数据库,所更新的数据项分别是:
(1)补货订单数据表中的数据项:计划配送量,分派槽车编号,装载舱位编号,发油油库编号;
(2)槽车行车路径数据表中的数据项:槽车编号,油库或加油站的结点类型,结点编号,到达结点的次序序号,执行订单编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101768386A CN101159048A (zh) | 2007-11-05 | 2007-11-05 | 油品配送槽车调度***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101768386A CN101159048A (zh) | 2007-11-05 | 2007-11-05 | 油品配送槽车调度***及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101159048A true CN101159048A (zh) | 2008-04-09 |
Family
ID=39307133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101768386A Pending CN101159048A (zh) | 2007-11-05 | 2007-11-05 | 油品配送槽车调度***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101159048A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020792A (zh) * | 2012-11-20 | 2013-04-03 | 上海海事大学 | 自动化集装箱码头低架桥电动小车调度方法及其*** |
CN103218745A (zh) * | 2013-03-15 | 2013-07-24 | 浙江工商大学 | 加油站班结计算方法 |
CN104537508A (zh) * | 2014-12-17 | 2015-04-22 | 武汉飞恩微电子有限公司 | 移动加油网络***及方法 |
CN104881769A (zh) * | 2015-05-27 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种订单处理方法和装置 |
CN105631530A (zh) * | 2014-11-24 | 2016-06-01 | Sap欧洲公司 | 时间可划分资源的多顺序规划和分配 |
CN105701634A (zh) * | 2016-03-15 | 2016-06-22 | 江阴中科今朝科技有限公司 | 基于移动终端的物流监控及调度*** |
CN103632234B (zh) * | 2013-12-05 | 2017-12-15 | 中国海洋石油总公司 | 一种网络型lng产业链综合预测调度方法 |
CN107578197A (zh) * | 2017-07-10 | 2018-01-12 | 同济大学 | 需求不确定的混流生产线物流车辆调度区域优化方法 |
CN108053164A (zh) * | 2017-12-29 | 2018-05-18 | 北京市天元网络技术股份有限公司 | 一种成品油配送***及方法 |
CN109074620A (zh) * | 2016-04-25 | 2018-12-21 | 株式会社日立物流 | 配送计划制定***和配送计划制定方法 |
CN109870980A (zh) * | 2017-12-01 | 2019-06-11 | 萨博能源物联网科技(苏州)有限公司 | 一种供能运营调度方法及设备 |
CN109919348A (zh) * | 2017-12-12 | 2019-06-21 | 顺丰科技有限公司 | 一种路径优化方法、装置、设备、存储介质 |
CN110610289A (zh) * | 2019-08-05 | 2019-12-24 | 石化盈科信息技术有限责任公司 | 加油站成品油补货量预测方法、计算机存储介质及计算机设备 |
CN111091329A (zh) * | 2019-12-18 | 2020-05-01 | 北京化工大学 | 一种危化品多车型运输的半开放式车辆路径优化方法 |
CN112990628A (zh) * | 2019-12-16 | 2021-06-18 | 顺丰科技有限公司 | 分拣设备调度方法、装置及计算机可读存储介质 |
CN116883013A (zh) * | 2023-06-09 | 2023-10-13 | 上海朗晖慧科技术有限公司 | 一种基于大数据的售后服务智能监管***及方法 |
-
2007
- 2007-11-05 CN CNA2007101768386A patent/CN101159048A/zh active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020792A (zh) * | 2012-11-20 | 2013-04-03 | 上海海事大学 | 自动化集装箱码头低架桥电动小车调度方法及其*** |
CN103020792B (zh) * | 2012-11-20 | 2016-12-21 | 上海海事大学 | 自动化集装箱码头低架桥电动小车调度方法及其*** |
CN103218745A (zh) * | 2013-03-15 | 2013-07-24 | 浙江工商大学 | 加油站班结计算方法 |
CN103632234B (zh) * | 2013-12-05 | 2017-12-15 | 中国海洋石油总公司 | 一种网络型lng产业链综合预测调度方法 |
CN105631530A (zh) * | 2014-11-24 | 2016-06-01 | Sap欧洲公司 | 时间可划分资源的多顺序规划和分配 |
CN104537508A (zh) * | 2014-12-17 | 2015-04-22 | 武汉飞恩微电子有限公司 | 移动加油网络***及方法 |
CN104881769A (zh) * | 2015-05-27 | 2015-09-02 | 北京京东尚科信息技术有限公司 | 一种订单处理方法和装置 |
CN105701634A (zh) * | 2016-03-15 | 2016-06-22 | 江阴中科今朝科技有限公司 | 基于移动终端的物流监控及调度*** |
CN109074620A (zh) * | 2016-04-25 | 2018-12-21 | 株式会社日立物流 | 配送计划制定***和配送计划制定方法 |
CN109074620B (zh) * | 2016-04-25 | 2021-11-19 | 株式会社日立物流 | 配送计划制定***和配送计划制定方法 |
CN107578197A (zh) * | 2017-07-10 | 2018-01-12 | 同济大学 | 需求不确定的混流生产线物流车辆调度区域优化方法 |
CN107578197B (zh) * | 2017-07-10 | 2021-02-02 | 同济大学 | 需求不确定的混流生产线物流车辆调度区域优化方法 |
CN109870980A (zh) * | 2017-12-01 | 2019-06-11 | 萨博能源物联网科技(苏州)有限公司 | 一种供能运营调度方法及设备 |
CN109919348A (zh) * | 2017-12-12 | 2019-06-21 | 顺丰科技有限公司 | 一种路径优化方法、装置、设备、存储介质 |
CN108053164A (zh) * | 2017-12-29 | 2018-05-18 | 北京市天元网络技术股份有限公司 | 一种成品油配送***及方法 |
CN110610289A (zh) * | 2019-08-05 | 2019-12-24 | 石化盈科信息技术有限责任公司 | 加油站成品油补货量预测方法、计算机存储介质及计算机设备 |
CN110610289B (zh) * | 2019-08-05 | 2023-11-07 | 石化盈科信息技术有限责任公司 | 加油站成品油补货量预测方法、计算机存储介质及计算机设备 |
CN112990628A (zh) * | 2019-12-16 | 2021-06-18 | 顺丰科技有限公司 | 分拣设备调度方法、装置及计算机可读存储介质 |
CN111091329A (zh) * | 2019-12-18 | 2020-05-01 | 北京化工大学 | 一种危化品多车型运输的半开放式车辆路径优化方法 |
CN116883013A (zh) * | 2023-06-09 | 2023-10-13 | 上海朗晖慧科技术有限公司 | 一种基于大数据的售后服务智能监管***及方法 |
CN116883013B (zh) * | 2023-06-09 | 2024-04-19 | 上海朗晖慧科技术有限公司 | 一种基于大数据的售后服务智能监管***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101159048A (zh) | 油品配送槽车调度***及其方法 | |
CN105512747B (zh) | 物流智能优化调度*** | |
CN112270135B (zh) | 一种物流发运调度智能配送方法、装置、设备及存储介质 | |
CN102542395B (zh) | 一种应急物资调度***及计算方法 | |
CN109141398B (zh) | 一种用于物流的无人机路径规划方法及装置 | |
Lee et al. | A hybrid hub-and-spoke postal logistics network with realistic restrictions: A case study of Korea Post | |
US20130159208A1 (en) | Shipper-oriented logistics base optimization system | |
CN108960519B (zh) | 基于大数据分析的时间最短运输路径选择方法 | |
CN106651231B (zh) | 路径规划方法和路径规划装置 | |
CN113379102B (zh) | 一种多网干线运输优化方法、计算机设备及存储介质 | |
CN102136104A (zh) | 基于负载均衡和lk算法的车辆路径规划方法 | |
CN101814174A (zh) | 农资连锁经营物流配送中心选址优化方法 | |
CN108197761A (zh) | 融合循环取货与甩挂式配送的入厂物流调度方法和*** | |
Trentini et al. | A shared" passengers & goods" city logistics system | |
Yaghini et al. | A hybrid metaheuristic algorithm for dynamic rail car fleet sizing problem | |
CN104504459A (zh) | 物流运输优化方法及*** | |
CN107844935A (zh) | 一种基于环保和成本节约的车辆调度和路径规划方法 | |
Saukenova et al. | Optimization of schedules for early garbage collection and disposal in the megapolis | |
CN114529241A (zh) | 一种基于运筹学理论的公路零担货运物流路径规划算法 | |
Supattananon et al. | Modified differential evolution algorithm for a transportation software application | |
CN108985510B (zh) | 基于人工智能的大规模智能物流路径判定*** | |
Fazi et al. | The multi-trip container drayage problem with synchronization for efficient empty containers re-usage | |
Stopka | Modelling distribution routes in city logistics by applying operations research methods | |
Lin et al. | Zone pricing for time-definite LTL freight transportation with elastic demand | |
CN110516980A (zh) | 一种商品车仓储智能调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |