物流智能优化调度系统
技术领域
本发明属于物流调度技术领域,涉及一种物流调度系统,尤其涉及一种物流智能优化调度系统。
背景技术
汽车物流是物流行业中较为复杂的一个分支,涉及入厂物流、厂内物流、出厂物流三个主要环节。其中,出厂物流因长途运输引起的出厂调度装载问题备受关注。整车出厂物流调度问题是考虑运输时间、车辆装载量、目的地、运输线路、不同目的地拼车、成本控制、不同承运商运量控制等众多因素的多目标、多约束的复杂优化问题。
安吉汽车物流公司是中国汽车制造业出、入厂物流的第三方物流的龙头企业,负责上海大众、上海通用、上海斯柯达、通用五菱等公司的整车配送业务。目前,调度人员使用运输管理系统(TMS)中的调度管理模块进行调度工作。
在实际操作中,人工利用系统操作进行调度,但决策过程主要由人工的经验和直觉决定。目前调度的资源分配以合同线路为基本逻辑,即同一合同线路上的驳运车和商品车订单之间产生调度关系。
调度人员按照商品车订单的下单时间确定优先级,结合各个运输公司上报的轿运车信息根据历史经验进行组合配载。配载时,调度人员根据经验将商品车按照尺寸大致分类,如大、中、小型,再根据商品车车各类型数量将大、中、小类整车搭配装载,使得尽可能装载完所有的订单,尤其是优先装运比较紧急的订单,最后安排驳运车的仓库道位和装车时间,形成初始调度单并发送至仓库和运输公司。
但是,在目前的调度流程中不可避免地存在以下几个问题:
①业务调度压力大
实际调度中既要考虑客户需求满足、可调配资源(轿运车数量)、装载率、客户交货期,还要考虑道位时间段,装载组合、最早可利用时间、拼车的先长后短、物流分公司的运输量比例、小型车后配载等约束。其所要求的处理速度与精度给调度人员造成了很大压力,调度人员很难短期内给出调度方案。随着轿运车和商品车车型越来越多,调度配载压力也随之变大。
②基础数据不完善
整车出厂物流调度涉及订单信息、运力信息、仓库信息、客户信息等多个纬度的基础数据。在现有的调度流程中,所使用的基础信息分散在运输管理系统TMS不同的模块中,且数据未经整理使用,存在模糊不清甚至错误等现象。如订单的经销商地址数据,在采购合同中唯一标识的经销商地址在实际订单上可能存在十几种写法,这无疑给拼车调度带来了众多困扰。再如,板车的配载方案信息。对于同一个驳运车而言,运输公司每次看订单报配载方案,因此配载方案多变,每次都不一样,这无疑增加了重复劳动。
③业务流程不规范
业务流程的不规范主要体现在运输工具存在改装、超载现象,不同经销商的拼车规则模糊不清。更为严重的是,在调度业务中存在人工干涉问题,甚至存在“吃回扣”等现象,影响了公司形象和效益。
④客户满意度不高
现有订单配送点多、一次配送量少,往往需要较长时间才能满板发运,造成订单到货时间过长,影响了OTD的完成率,影响客户满意度。
由于整车调度涉及到庞大的业务规模,弹性的操作流程,独特的客户需求,其复杂性和所要求的响应速度与处理精度已经远远超出了人工处理的能力范围。只有运用先进的I T技术与数学方法,加强流程控制,提高资源利用率。在现实约束条件下,做出最优的智能配送决策,提升企业的核心竞争力。
发明内容
本发明所要解决的技术问题是:提供一种物流智能优化调度系统,可降低库存、人力和运输成本,提升准时交货率,实现盈利性运营,获得竞争优势。
为解决上述技术问题,本发明采用如下技术方案:
一种物流智能优化调度系统,所述物流智能优化调度系统包括:基础数据模块、智能调度模块及看板管理模块;
所述基础数据模块由线路管理单元、车型管理单元、地址管理单元、拼车规则单元、方案设计单元、运力管理单元、数据字典单元、区域管理单元八个部分组成;
所述线路是提取订单的基础,是整个智能调度系统非常关键的基础对象;线路管理单元挑选TMS中基础路线中部分字段信息创建生成调度系统的线路,并进行删、改、查操作,同时实现多线路合并功能;
所述车型管理单元根据系统设定的车辆类型,根据三维尺寸对待运的车辆进行定义与类型划分;
所述地址管理单元针对所有生产厂商的经销商地址进行统一管理维护,实现同一经销商使用同一地址,满足调度的要求;当从TMS中抽取订单数据时,系统自动识别经销商订单中的地址与系统中维护的地址是否一致;同时,该模块可实现经销商分组功能,将同一装卸地根据经销商地理位置,将装卸地分成小装卸地;
所述拼车规则单元按线路实现线路中所属城市的可拼城市规则和禁止拼车规则的维护管理;
所述方案设计单元主要为订单以及智能算法的引擎计算设定参数;订单参数包括不同类型订单的优先级、可拼经销商数量等;计算参数包括可接受GAP值、单点满板比例、拼车率限制;
所述运力管理单元主要针对承运商的运力进行未确认、可用、已用状态管理;未确认状态运力在经过审核确认后变成可用状态,在进行调度安排后变成已用状态;
所述数据字典单元维护智能调度的一些基本信息,包括调度异常信息及订单状态;调度异常情况主要是针对订单审核界面,用户选择不参与调度的板车时,需要下拉选择原因;订单状态即,订单池中的订单有已提取、正在处理、已结束、异常状态的管理;
所述区域管理单元定义业务中常用到的区域、省份、城市/县、乡镇、街道信息;
所述智能调度模块主要实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;
所述智能调度模块实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;按照调度流程,包括订单提取单元、批量调度单元、结果审核单元、道位安排单元、TMS上传单元;
所述订单提取单元主要用来提取TMS系统中的调度订单,抽取结果按照线路归集,显示所选的订单数据和板车数据。调度人员可以对抽取的订单数据和板车数据进行修改,并形成调度任务;
所述批量调度单元将调度任务按照订单量、紧急程度、车辆情况或者先到先服务的规则划分优先级,投入计算任务池,以备计算;系统根据负载均衡规则,将合理分配调度引擎服务器资源,对调度任务进行计算;批量调度的路线采用“先到先得”或“路线优先级”的逻辑,即谁先点击批量调度按钮,谁就可进行批量调度;
所述结果审核单元将显示调度引擎计算生成的结果,包括计算结果明细、订单完成统计以及使用的调度引擎方案;在审核页面,调度人员具有生效确定调度结果、取消部分板车的调度结果的权限;计算结果明细包括每辆板车装载哪些订单;
所述道位安排单元将完成调度的订单的车辆安排出库,只有确认审核的订单和运力才能安排道位;根据业务情况,分为单库道位安排和多库多运道位安排;
所述智能调度系统在完成订单和运力的调度计算后,需要生成调度指令,完成运力和所装运订单、出发仓库、目的地、道位信息的绑定;当出现多地拼车、多库拼车时,需进行指令的分段;
所述看板管理模块主要包括:道位查看单元、TMS上传指令查看单元;道位查看单元实现对系统内仓库实时安排情况查看的功能,看板需支持当天、第二天以及第N天的查询情况;TMS上传指令查看单元实现对上传指令的查看功能,看板需支持该账号当天所有指令的查询情况;
物流智能优化调度系统通过建立数据库系统进行数据更新、审核和维护,建立考虑各项目标、约束和算法模型并编写程序进行最优化计算来实现智能化调度优化;
将所有调度运算请求记录到调度任务表中并重新计算队列顺序,其中不包括执行队列,并返回该任务的信息,任务的信息包括ID、队列顺序,为了保障在多线程以及集群状态下不会数据脏读、冲突需要将数据表锁定;
前端接收到任务信息后启动一个定时器循环去请求该任务的最新状态,并提示用户当前排队情况,若执行完就显示结果,否则更新当前排队状态;
服务端通过配置文件配置每个节点要获取的执行队列中的任务位置,执行队列的数量为m1时,部署n1个tomcat(IT工具)节点,则每个节点分别获取执行队列中的设定位置,避免集群状态下获取到相同的任务导致数据冲突,根据需要扩展执行队列的长度,建议根据每个节点的核心数来配置每个节点要获取的数量,过度的配置会影响其他业务性能;
服务端执行完获取到的任务后将结果写入到任务结果表中等待前端获取,并在调度任务表中删除该任务、重新计算队列顺序;获取执行队列外最高优先级的任务放置到该位置,此处也需要锁表;
将对性能要求较高的调度运算平均分散到各节点运行,避免不均衡的分发导致负载不均衡,或者根据硬件的扩展来增加处理节点提高性能,具备可扩展性;
用户提交订单到数据库后重新排列队列顺序,当队列顺序正在排列时进行锁表,防止队列无限增长;队列排列后返回任务信息,显示任务排队状态到前端,接着使用js定时器获取任务状态,判断任务状态,如果符合条件则返回运算结果,如果不符合条件则重新返回任务信息,继续下个流程;
应用服务器设置定时任务,根据不同的配置文件配置的信息获取队列任务,执行任务运算后更新任务状态,如果排列队列正在重新排序,这张表将进行锁表;重新排列队列顺序后业务系统定时任务重新获取队列任务,直到执行完成;
在系统部署中,由于该调度系统采用的负载方案为硬件负载;为保证智能调度系统的速度以及稳定性,需设定单独一台引擎算法服务器;
所述系统还包括优化调度模块,用以通过建立目标函数对承运物品进行优化调度;
建立目标函数表达式:
其中,各符号含义表示如下:
所述优化调度模块进一步包括:最大化装载商品车数量获取单元、总紧急程度获取单元、优先装载物品设定单元、最小化经销商拼车数量获取单元、最小化拼车城市数量获取单元、最小化库区之间的拼库次数获取单元;
最大化装载商品车数量获取单元用以最大化装载商品车的数量;当α1取最大的时候,每次装载调度所能装载的商品车的数量直接关系到经济效益,在满足装载限制的前提下,充分利用运力资源,实现商品车数量的最大化;
总紧急程度获取单元用以最大化装载商品车的总的紧急程度;将最小化滞留时长转化为最大化商品车的紧急程度;其中,滞留时长用T+X表示,其中X为商品车滞留的天数,同样表示商品车的紧急程度;
优先装载物品设定单元用以设定优先装载大型物品;由于承运车的装载条件中,车型允许向下兼容,即大车型的装载位置可以装载中型或者小型的商品车,所以,对于大型商品车来说,装载限制更加严格,并且基于实践,在同等条件下,装载更多的大型商品车,剩下的小型车便于以后的装载调度;
最小化经销商拼车数量获取单元用以获取最小化的经销商拼车数量;商品车将被承运车运输至城市下的不同经销商;在实际情况下,同一承运车每多访问一家经销商,就会增加一个相当长的卸货时间,并且增加空载里程,所以当β1取最大时,则为尽量减少同一承运车装载不同经销商的商品车的情况;空载里程指非满载情况下行驶里程数;
最小化拼车城市数量获取单元用以最小化城市拼车数量;城市拼车将会导致更加严重的空载里程的出现,也应尽可能的避免;
最小化库区之间的拼库次数获取单元用以最小化库区之间的拼库次数;每多经过一个库区装载商品车,会增加装载时间和造成空载里程;因此要尽可能减少不同库区之间的订单拼装,同一库区内不同小仓库的订单则不做限制优化。
所述系统包括订单分组模块;不同的订单按其生效时间有不同的优先级,而不同优先级的订单在装载时,对板车配载结果的拼车城市、拼车经销商数量也会有较大区别;紧急订单进行异地多家经销商拼装,而普通订单只能在同城拼装,甚至要求单点满板;多家经销商且/或异地拼装的紧急订单先进行分组并计算,引擎放宽约束,允许异地拼车,将紧急订单尽量拼装发运出库;随后,再将剩余非紧急订单进行运算,只允许同城多家拼车;进一步地,将所有订单分为多个组;按组的紧急程度从高到低,按批进行运算;订单分组分为两大类:板车意向城市的目的装卸地订单,与无指定经销商的装卸地订单;第一类订单,对存在意向城市的板车,提取其意向城市,对该意向城市的订单自称一组;如有多辆板车存在意向城市则分为多组,以此类推;第二类订单,根据订单优先级与可拼车城市约束进行分组;首先提取某一装卸地下t+8等级的紧急订单,自称一组,并将可以与该装卸地拼装的城市的订单自动并入,重复操作直至所有t+8订单均有归组;类似地对t+5订单做类似操作;接着将非紧急订单但存在拼车惩罚地城市分为第三大类的单组;最后,将剩余的无特殊特征的订单分为第四大类组。
一种物流智能优化调度系统,所述系统包括:基础数据模块、智能调度模块及看板管理模块;
所述基础数据模块包括线路管理单元、车型管理单元、地址管理单元、拼车规则单元、方案设计单元、运力管理单元、数据字典单元、区域管理单元;
所述智能调度模块主要实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;
所述看板管理模块主要包括:道位查看单元、TMS上传指令查看单元;道位查看单元实现对系统内仓库实时安排情况查看的功能,看板需支持当天、第二天以及第N天的查询情况;TMS上传指令查看单元实现对上传指令的查看功能,看板需支持该账号当天所有指令的查询情况。
本发明的有益效果在于:本发明提出的物流智能优化调度系统,可降低库存、人力和运输成本,提升准时交货率,实现盈利性运营,获得竞争优势。
通过智能调度系统快速高效的数据处理能力,在运输计划执行期间,合理、充分利用订单、运力、道位资源,提供满足业务需求的最优方案。用户在完成既有基础信息维护工作后,将完全由系统完成调度安排,将对现有的以及可能影响的业务流程进行改造,标准化作业流程。
通过对系统参数的调整,达到变更运输策略,能够有效地满足业务中实际的需求变更,对业务覆盖区域进行快速调整。智能调度系统的实施将给安吉物流带来以下优势:
①降低成本。智能调度系统利用优化引擎,提升运输资源的高效率和协同,有效降低了拼装的距离,减少运输成本、空驶成本。在一个39辆板车、971订单的极端案例中,智能调度系统形成装载方案的时间从15分钟减少至19.675秒,平均每辆板车拼装的经销商数量从1.513家减少至1.282家。以2014.11-2015.02四个月的测试结果为例,每辆承运车平均拼装经销商数同比降低6.2%,环比降低了7.4%。
②快速响应客户需求。智能调度系统快速响应客户需求,降低送货时间,从而提升客户服务质量。在一个39辆板车、971订单的案例中,客户满意度提升2.3个百分点;以2014.11-2015.02四个月的测试结果为例,智能调度三种场景完成的T+3订单数量显著高于人工调度订单完成量,提升了客户满意度。
③更简约的用户体验。在原有的调度流程中,调度人员需要看订单让报运力,系统读取订单、运力信息后,调度人员再对应合同选取线路,人工权衡决策目标,调整拼车组合,最后确定调度方案,手动安排道位。而现在,调度人员上报运力,选择线路后直接调度引擎进行整体优化的调度方案决策,自动安排道位。这种一键式的调度流程,大大提升了用户体验。
④提升核心竞争力。智能调度系统的建立,从多方面为物流企业的调度决策提供帮助。建立了一套运输资源管理系统,实现运输生命周期内所涉及资源的实时可视性、动态调用性,包含订单、运力、仓库等;建立了一套运输流程管理系统,从订单处理、运力处理、调度决策、安排道位、指令生成,标准化作业流程;建立了一套运输基础数据系统,将散落的、模糊不清的信息、规则等整理为直观的数据模块,包括线路信息、地理信息、用户信息、方案设计等;建立了多套运输场景的算法引擎,包括提升KPI、降低拼车、均衡方案等,以满足不同的调度目标。
附图说明
图1为本发明物流智能优化调度系统的组成示意图。
图2为本发明调度系统订单分组的示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示了一种物流智能优化调度系统,所述物流智能优化调度系统包括:基础数据模块、智能调度模块及看板管理模块。
【基础数据模块】
所述基础数据模块由线路管理单元、车型管理单元、地址管理单元、拼车规则单元、方案设计单元、运力管理单元、数据字典单元、区域管理单元八个部分组成。
所述线路是提取订单的基础,是整个智能调度系统非常关键的基础对象;线路管理单元挑选TMS中基础路线中部分字段信息创建生成调度系统的线路,并进行删、改、查操作,同时实现多线路合并功能。
所述车型管理单元根据系统设定的车辆类型,根据三维尺寸对待运的车辆进行定义与类型划分。
所述地址管理单元针对所有生产厂商的经销商地址进行统一管理维护,实现同一经销商使用同一地址,满足调度的要求;当从TMS中抽取订单数据时,系统自动识别经销商订单中的地址与系统中维护的地址是否一致;同时,该模块可实现经销商分组功能,将同一装卸地根据经销商地理位置,将装卸地分成小装卸地。
所述拼车规则单元按线路实现线路中所属城市的可拼城市规则和禁止拼车规则的维护管理。
所述方案设计单元主要为订单以及智能算法的引擎计算设定参数;订单参数包括不同类型订单的优先级、可拼经销商数量等;计算参数包括可接受GAP值、单点满板比例、拼车率限制。
所述运力管理单元主要针对承运商的运力进行未确认、可用、已用状态管理;未确认状态运力在经过审核确认后变成可用状态,在进行调度安排后变成已用状态。
所述数据字典单元维护智能调度的一些基本信息,包括调度异常信息及订单状态;调度异常情况主要是针对订单审核界面,用户选择不参与调度的板车时,需要下拉选择原因;订单状态即,订单池中的订单有已提取、正在处理、已结束、异常状态的管理。
所述区域管理单元定义业务中常用到的区域、省份、城市/县、乡镇、街道信息。
【智能调度模块】
所述智能调度模块实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;按照调度流程,包括订单提取单元、批量调度单元、结果审核单元、道位安排单元、TMS上传单元。
所述订单提取单元主要用来提取TMS系统中的调度订单,抽取结果按照线路归集,显示所选的订单数据和板车数据。调度人员可以对抽取的订单数据和板车数据进行修改,并形成调度任务。
所述批量调度单元将调度任务按照订单量、紧急程度、车辆情况或者先到先服务的规则划分优先级,投入计算任务池,以备计算;系统根据负载均衡规则,将合理分配调度引擎服务器资源,对调度任务进行计算;批量调度的路线采用“先到先得”或“路线优先级”的逻辑,即谁先点击批量调度按钮,谁就可进行批量调度。
所述结果审核单元将显示调度引擎计算生成的结果,包括计算结果明细、订单完成统计以及使用的调度引擎方案;在审核页面,调度人员具有生效确定调度结果、取消部分板车的调度结果的权限;计算结果明细包括每辆板车装载哪些订单。
所述道位安排单元将完成调度的订单的车辆安排出库,只有确认审核的订单和运力才能安排道位;根据业务情况,分为单库道位安排和多库多运道位安排。
所述智能调度系统在完成订单和运力的调度计算后,需要生成调度指令,完成运力和所装运订单、出发仓库、目的地、道位信息的绑定;当出现多地拼车、多库拼车时,需进行指令的分段。
【看板管理模块】
所述看板管理模块主要包括:道位查看单元、TMS上传指令查看单元;道位查看单元实现对系统内仓库实时安排情况查看的功能,看板需支持当天、第二天以及第N天的查询情况;TMS上传指令查看单元实现对上传指令的查看功能,看板需支持该账号当天所有指令的查询情况。
物流智能优化调度系统通过建立数据库系统进行数据更新、审核和维护,建立考虑各项目标、约束和算法模型并编写程序进行最优化计算来实现智能化调度优化。
将所有调度运算请求记录到调度任务表中并重新计算队列顺序,其中不包括执行队列,并返回该任务的信息,任务的信息包括ID、队列顺序,为了保障在多线程以及集群状态下不会数据脏读、冲突需要将数据表锁定。
前端接收到任务信息后启动一个定时器循环去请求该任务的最新状态,并提示用户当前排队情况,若执行完就显示结果,否则更新当前排队状态。
服务端通过配置文件配置每个节点要获取的执行队列中的任务位置,执行队列的数量为m1时,部署n1个tomcat节点,则每个节点分别获取执行队列中的设定位置,避免集群状态下获取到相同的任务导致数据冲突,根据需要扩展执行队列的长度,建议根据每个节点的核心数来配置每个节点要获取的数量,过度的配置会影响其他业务性能。
服务端执行完获取到的任务后将结果写入到任务结果表中等待前端获取,并在调度任务表中删除该任务、重新计算队列顺序;获取执行队列外最高优先级的任务放置到该位置,此处也需要锁表。
将对性能要求较高的调度运算平均分散到各节点运行,避免不均衡的分发导致负载不均衡,或者根据硬件的扩展来增加处理节点提高性能,具备可扩展性。
用户提交订单到数据库后重新排列队列顺序,当队列顺序正在排列时进行锁表,防止队列无限增长;队列排列后返回任务信息,显示任务排队状态到前端,接着使用js定时器获取任务状态,判断任务状态,如果符合条件则返回运算结果,如果不符合条件则重新返回任务信息,继续下个流程。
应用服务器设置定时任务,根据不同的配置文件配置的信息获取队列任务,执行任务运算后更新任务状态,如果排列队列正在重新排序,这张表将进行锁表;重新排列队列顺序后业务系统定时任务重新获取队列任务,直到执行完成。
在系统部署中,由于该调度系统采用的负载方案为硬件负载;为保证智能调度系统的速度以及稳定性,需设定单独一台引擎算法服务器。
所述系统还包括优化调度模块,用以通过建立目标函数对承运物品进行优化调度。
建立目标函数表达式:
其中,各符号含义表示如下:
所述优化调度模块进一步包括:最大化装载商品车数量获取单元、总紧急程度获取单元、优先装载物品设定单元、最小化经销商拼车数量获取单元、最小化拼车城市数量获取单元、最小化库区之间的拼库次数获取单元。
最大化装载商品车数量获取单元用以最大化装载商品车的数量;当α1取最大的时候,每次装载调度所能装载的商品车的数量直接关系到经济效益,在满足装载限制的前提下,充分利用运力资源,实现商品车数量的最大化。
总紧急程度获取单元用以最大化装载商品车的总的紧急程度;将最小化滞留时长转化为最大化商品车的紧急程度;其中,滞留时长用T+X表示,其中X为商品车滞留的天数,同样表示商品车的紧急程度。
优先装载物品设定单元用以设定优先装载大型物品;由于承运车的装载条件中,车型允许向下兼容,即大车型的装载位置可以装载中型或者小型的商品车,所以,对于大型商品车来说,装载限制更加严格,并且基于实践,在同等条件下,装载更多的大型商品车,剩下的小型车便于以后的装载调度。
最小化经销商拼车数量获取单元用以获取最小化的经销商拼车数量;商品车将被承运车运输至城市下的不同经销商;在实际情况下,同一承运车每多访问一家经销商,就会增加一个相当长的卸货时间,并且增加空载里程,所以当β1取最大时,则为尽量减少同一承运车装载不同经销商的商品车的情况;空载里程指非满载情况下行驶里程数。
最小化拼车城市数量获取单元用以最小化城市拼车数量;城市拼车将会导致更加严重的空载里程的出现,也应尽可能的避免。
最小化库区之间的拼库次数获取单元用以最小化库区之间的拼库次数;每多经过一个库区装载商品车,会增加装载时间和造成空载里程;因此要尽可能减少不同库区之间的订单拼装,同一库区内不同小仓库的订单则不做限制优化。
实施例二
智能调度系统由三大模块组成,分别为基础数据、智能调度及看板管理。基础数据模块包含了线路信息、车型信息、地址信息、拼车规则、方案设计、运力信息等八个部分基础信息的配置;智能调度模块主要实现了从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;看板模块管理模块包括道位查看和TMS结果查询,其中,道位看板实现对系统内仓库实时安排情况进行查看的功能,TMS结果查询实现目前完成调度情况的订单信息。系统具体结构如图2所示。
2.1.1基础数据模块
基础数据模块由线路管理、车型管理、地址管理、拼车规则、方案设计、运力管理、数据字典、区域管理等八个部分组成。
(1)线路是提取订单的基础,是整个智能调度系统非常关键的基础对象。线路管理模块挑选TMS中基础路线中部分字段信息创建生成调度系统的线路,并进行删、改、查等操作,同时实现多线路合并功能。
(2)车型管理模块根据系统设定的车辆类型,根据三维尺寸对待运的车辆进行定义与类型划分。
(3)地址管理模块针对所有生产厂商的经销商地址进行统一管理维护,实现同一经销商使用同一地址,满足调度的要求。当从TMS中抽取订单数据时,系统自动识别经销商订单中的地址与系统中维护的地址是否一致。同时,该模块可实现经销商分组功能,将同一装卸地(范围较大)根据经销商地理位置,将装卸地分成小装卸地。
(4)拼车规则模块按线路实现线路中所属城市的可拼城市规则和禁止拼车规则的维护管理。
(5)方案设计主要为订单以及智能算法的引擎计算设定参数。订单参数包括不同类型订单的优先级、可拼经销商数量等;计算参数包括可接受GAP值、单点满板比例、拼车率限制等。
(6)运力管理模块主要针对承运商的运力进行未确认、可用、已用等状态管理。未确认状态运力在经过审核确认后变成可用状态,在进行调度安排后变成已用状态。
(7)数据字典维护智能调度的一些基本信息,包括调度异常信息及订单状态等。调度异常情况主要是针对订单审核界面,用户选择不参与调度的板车时,需要下拉选择原因。订单状态即,订单池中的订单有已提取、正在处理、已结束、异常等状态的管理。
(8)区域管理模块定义业务中常用到的区域、省份、城市/县、乡镇、街道等信息。
2.1.2智能调度模块
智能调度模块实现了从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能。按照调度流程,分为订单提取、批量调度、结果审核、道位安排、TMS上传。
(1)订单提取模块主要用来提取TMS系统中的调度订单,抽取结果按照线路归集,显示所选的订单数据和板车数据。调度人员可以对抽取的订单数据和板车数据进行修改,并形成调度任务。
(2)将调度任务按照订单量、紧急程度、车辆情况或者先到先服务的规则划分优先级,投入计算任务池,以备计算。系统根据负载均衡规则,将合理分配调度引擎服务器资源,对调度任务进行计算。一般而言,批量调度的路线采用“先到先得”或“路线优先级”的逻辑,即谁先点击批量调度按钮,谁就可进行批量调度。
(3)结果审核模块将显示调度引擎计算生成的结果,包括计算结果明细(每辆板车装载哪些订单)、订单完成统计以及使用的调度引擎方案。在审核页面,调度人员不仅可以生效确定调度结果,也可以取消部分板车的调度结果。
(4)道位安排模块将完成调度的订单的车辆安排出库,只有确认审核的订单和运力才能安排道位。根据业务情况,可分为单库道位安排和多库多运道位安排。
(5)智能调度系统在完成订单和运力的调度计算后,需要生成调度指令,完成运力和所装运订单、出发仓库、目的地、道位等信息的绑定。当出现多地拼车、多库拼车时,需进行指令的分段。
2.1.3道位看板模块
道位看板主要包括道位查看及TMS上传指令查看。道位查看模块实现对系统内仓库实时安排情况查看的功能。看板需支持当天、第二天以及第N天的查询情况。TMS上传指令查看模块实现对上传指令的查看功能。看板需支持该账号当天所有指令的查询情况。
2.2系统架构设计及部署
整车物流智能调度系统的通过先进的IT技术和数学方法,通过建立数据库系统进行数据更新、审核和维护,建立考虑各项目标、约束和算法模型并编写程序进行最优化计算来实现智能化调度优化。故在智能调度系统的架构需满足规范化、先进性、实用性、安全性、可靠性、可扩充性、可移植性、可维护性等几个技术要求。
为了满足安吉整车物流多组织、多模式、多层级、高性能的需求特点,本系统采用业界最成熟、最稳定的J2EE体系架构。
由于调度系统任务高并发执行,因此系统具体方案设计如下:
(1)将所有调度运算请求记录到调度任务表中并重新计算队列顺序(不包括执行队列),并返回该任务的信息(ID、队列顺序等),为了保障在多线程以及集群状态下不会数据脏读、冲突需要将数据表锁定。
(2)前端接收到任务信息后启动一个定时器循环去请求该任务的最新状态,并提示用户当前排队情况,若执行完就显示结果,否则更新当前排队状态。
(3)服务端通过配置文件配置每个节点要获取的执行队列中的任务位置,比如设定执行队列有5个,并部署了2个tomcat节点则每个节点分别获取执行队列中的1、2位置(方案1中计算队列的顺序标记),这样可以避免集群状态下获取到相同的任务导致数据冲突,也可以根据需要扩展执行队列的长度,建议根据每个节点的核心数来配置每个节点要获取的数量(具体看当前这个业务跟普通业务所占用的比例、当前机器的配置情况和压测的结果来伸缩控制),过度的配置会影响其他业务性能。
(4)服务端执行完获取到的任务后将结果写入到任务结果表中等待前端获取,并在调度任务表中删除该任务、重新计算队列顺序(获取执行队列外最高优先级的任务放置到该位置),此处也需要锁表。
方案主要设计目标是将对性能要求较高的调度运算平均分散到各节点运行,避免不均衡的分发导致负载不均衡,也可以根据硬件的扩展来增加处理节点提高性能,具备可扩展性。
用户提交订单到数据库后重新排列队列顺序,当队列顺序正在排列时进行锁表,防止队列无限增长。队列排列后返回任务信息,显示任务排队状态到前端,接着使用js定时器获取任务状态,判断任务状态,如果符合条件则返回运算结果,如果不符合条件则重新返回任务信息,继续下个流程。
应用服务器设置定时任务,根据不同的配置文件配置的信息获取队列任务,执行任务运算后更新任务状态,如果排列队列正在重新排序,这张表将进行锁表。重新排列队列顺序后业务系统定时任务重新获取队列任务,直到执行完成。
在系统部署中,由于该调度系统采用的负载方案为A10硬件负载。为保证智能调度系统的速度以及稳定性,需设定单独一台引擎算法服务器。
2.3系统算法引擎
针对现有调度业务场景,分析约束条件和调度目标,研究出有效的数学建模方法,并识别出简单与复杂的问题场景(参数)。对每个场景下的数学规划模型,研究出能够ILOG/CPLEX求解时的高效求解策略。最后,利用VC++开发出相应的算法引擎,设计与开发相应的数据接口。
在本项目中,采用C#语言在Visual Studio平台开发程序,使用ILOG CPLEX混合整数规划软件对模型进行精确求解。通过相应的数据接口,使得智能调度系统调用算法引擎进行计算。
所述智能调度系统包括智能优化引擎;智能调度引擎是在识别现有业务场景的多重目标和约束的基础中,选择合适的参数,建立了智能优化配载模型、智能路径优化模型、智能道位分配模型、根据道位优化配载模型等,并研究出能够ILOG/CPLEX求解时的高效求解策略。最后,利用VC++开发出相应的算法引擎,设计与开发相应的数据接口。
4.1目标分析
智能调度系统所涉及的组合装箱问题是一个多目标问题,主要有以下几个子目标:
(1)尽可能使得多装载商品车:运输工具的成本是固定的,每装载一辆商品车便能得到运输一辆商品车的运输利润,并且少装载商品车,会导致部分商品车的滞留时间增加,使得成本增加。
(2)尽可能使得装载的商品车的紧急程度高:装载紧急程度高的商品车所得到的效益要高于低紧急程度的商品车,在实际操作中,当紧急程度超过T+3的商品车可以视为高紧急程度。
(3)尽可能装载多的大型商品车数量:尽可能装载当日的大型商品车之后,剩下来比较多的是中型商品车以及小型商品车,能将装载方式限制的影响降低到最低,方便次日的装载调度。
(4)减少多个城市拼车数量:当进行异地拼车的时候,由于空驶里程,将会产生额外的成本。所以希望减少组合装箱产生的异地拼车的情况。
(5)减少客户拼车数量:由于整车装载调度实施环节中,装车、卸车都需要占用大量的时间,包括一个固定耗时以及根据装卸车的数量的额外耗时,而固定耗时根据运输工具的车型从半小时至数小时不等。
4.2约束分析
(1)满载约束:物流公司的利润来源于装载的商品车的数量,由于空位产生的成本相比拼装产生的成本以及商品车滞留的成本更加明显,所以要求所有的运输工具都必须满载。
(2)异地拼装约束:一些城市的客户,没有足量的订单能够满足运输工具的装载量,为了达到满载约束,需要进行异地拼车。但是,异地拼装除了大大增加的空驶里程,而且可能会造成绕路、超时驾驶等情况,增加了业务实施的不确定性,所以,需要对异地拼装城市数量作约束。
(3)客户拼车约束:同上,多客户拼车不仅仅对成本有一定的影响,而且还会影响实际的业务操作,导致卸车耗时增加,驾驶人员工作负担增加等等。同样,在单客户的商品车不足的情况下,为了实现目标1最大化装载商品车数量以及目标2最大化装载商品车的紧急程度,需要进行多客户拼车。不过一辆运输工具能够装载不同客户的数量有所限制。
(4)组合装载约束:对于运输工具来说,有固定的装载容量,并且对于不同类型的商品车,有不同的装载限制。一般而言,大型、中型商品车装载量要小于运输工具的对应类型的装载限制,同时考虑当大型商品车未满载的情况下,可以多装载中型商品车以及小型商品车。
(5)方向约束:物流运输覆盖全国各地,而各地的交通运输情况以及道路情况各不相同。因为,有些运输工具因为部分地区的载重量、长度、宽度、高度等因素限制,不允许进入。同时,考虑到全国地区的运力统筹,有一部分运输工具只能去往指定的一个或者几个城市。因此,运输工具装载的商品车所属的城市应与运输工具的方向相匹配。
4.3目标与约束的个性化方案
对于不同的使用者和不同的使用时间,客户对于目标的定义也是有变化的。例如一些大型运输公司更看重客户满意度,小公司更关注拼车率带来的成本变化。抑或在月初,调度人员关注整体业务的性价比,到月末,则可能基于本月整体的KPI的评估倾向于弥补提升KPI或是满足于KPI指标转向降低成本。
为此智能调度系统定义了四种业务场景,包括经济性优先的降低拼车方案两种,客户满意度优先的提升KPI方案一种,和均衡考虑两种指标的均衡方案一种。各方案的差异主要由调整目标函数的权重值和与引擎的gap参数来实现,其目标的差异见表4-1。
表4-1各方案对应主要目标
I)平衡方案
当都有意向城市的时候,类似于指标优先。当部分板车无意向城市时,考虑无意向城市的板车在拼车率上有所取舍。
ii)指标优先
优先处理紧急订单、超时订单,并且超时订单T+5、T+3相比其他超时订单优先处理,其他订单按照其超时时间依次决定优先顺序。以完成超时订单作为评价标准,减少拼车为次要目标。
iii)降低拼车率
在装载紧急订单和运输多的订单两大目标的前提下,尽可能减少拼车的数量(相比上面的方案可能出现的情况:拼3家的拼2家,拼2家的变成单点满版,但是会减少部分超时订单的装载数量。)
iv)降低拼车率2
相比较前一方案,在仅考虑装载紧急订单的情况下,优先考虑拼车率,例如:当普通订单可以装满3板,其中一板单点,2板拼车,另外一种方案是2板满点,降低拼车率2将会生成后一方案。
4.4模型建立
4.4.1模型参数
模型涉及的参数及定义如下:
表4-2数学模型的参数符号及涵义
4.4.2模型变量
模型涉及的变量及定义如下:
表4-3求解变量符号及涵义
4.4.3目标函数
根据前文所述的多目标,建立目标函数表达式:
(1)最大化装载商品车数量
目标1:最大化装载商品车的数量。当α1取最大的时候,这是本问题的主要目标,每次装载调度所能装载的商品车的数量直接关系到经济效益,在满足装载限制的前提下,充分利用运力资源,实现商品车数量的最大化。
(2)最大化装载商品车的总紧急程度
目标2:最大化装载商品车的总的紧急程度。由于承运车能力有限,往往导致一些商品车产生滞留而导致罚款,而滞留时间越长罚款越高。所以,需要将这些滞留的商品车优先处理。在本文,将最小化滞留时长转化为最大化商品车的紧急程度。其中,滞留时长用T+X表示,其中X为商品车滞留的天数,同样表示商品车的紧急程度。
(3)优先装载大型车
目标3:大型物品优先。由于承运车的装载条件中,车型允许向下兼容,即大车型的装载位置可以装载中型或者小型的商品车,所以,对于大型商品车来说,装载限制更加严格,并且基于实践,在同等条件下,装载更多的大型商品车,剩下的小型车可以便利以后的装载调度。
(4)最小化经销商拼车数量
目标4:最小化经销商拼车数量。商品车将被承运车运输至城市下的不同经销商。在实际情况下,同一承运车每多访问一家经销商,就会增加一个相当长的卸货时间,并且增加空载里程(非满载情况下行驶里程数)所以当β1取最大时,则为尽量减少同一承运车装载不同经销商的商品车的情况。
(5)最小化拼车城市数量
目标5:最小化城市拼车数量。与目标4类似,城市拼车将会导致更加严重的空载里程的出现,也应尽可能的避免。
(6)最小化库区之间的拼库次数
目标6:每多经过一个库区装载商品车,会增加装载时间和造成空载里程。因此要尽可能减少不同库区之间的订单拼装,同一库区内不同小仓库的订单则不做限制优化。
4.4.4约束条件
实施例三
本实施例与实施例一的区别在于,本实施例中,所述系统包括订单分组模块。可参阅图2,不同的订单按其生效时间有不同的优先级,而不同优先级的订单在装载时,对板车配载结果的拼车城市、拼车经销商数量也会有较大区别。例如,紧急订单可以进行异地多家经销商拼装,而普通订单只能在同城拼装,甚至要求单点满板。
根据这一特性,可以多家经销商且/或异地拼装的紧急订单(通常为t+3以上订单,参数可修改,t+3指订单等级)先进行分组并计算,引擎放宽约束,允许异地拼车,将紧急订单尽量拼装发运出库。随后,我们再将剩余非紧急订单进行运算,只允许同城多家拼车。进一步地,将所有订单分为多个组。按组的紧急程度从高到低,按批进行运算。
具体来说,订单分组分为两大类:板车意向城市的目的装卸地订单,与无指定经销商的装卸地订单。
第一类订单,对存在意向城市的板车,提取其意向城市,对该意向城市的订单自称一组;如有多辆板车存在意向城市则分为多组,以此类推。
第二类订单,根据订单优先级与可拼车城市约束进行分组;首先提取某一装卸地下t+8等级的紧急订单,自称一组,并将可以与该装卸地拼装的城市的订单自动并入,重复操作直至所有t+8订单均有归组;类似地对t+5订单做类似操作;接着将非紧急订单但存在拼车惩罚地城市分为第三大类的单组;最后,将剩余的无特殊特征的订单分为第四大类组。
通过这样的分组可以可观地降低运算次数。例如原先是(x1+x2+x3+…...+xn)个订单的指数级运算(xi为各组订单的数量),现在运算次数下降为各级订单数量的指数级的和。
按测试情况看(平均每轮测试500订单-30板车规模),该订单分组的处理方法可以大幅提高运算效率,将运算所需时间降低到原时长的5%~10%左右,但某些特定的订单场景可能会出现可行解效果较差甚至没有可行解的情况。
综上所述,本发明提出的物流智能优化调度系统,可降低库存、人力和运输成本,提升准时交货率,实现盈利性运营,获得竞争优势。
通过智能调度系统快速高效的数据处理能力,在运输计划执行期间,合理、充分利用订单、运力、道位资源,提供满足业务需求的最优方案。用户在完成既有基础信息维护工作后,将完全由系统完成调度安排,将对现有的以及可能影响的业务流程进行改造,标准化作业流程。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。