发明名称 物流智能优化调度系统
摘要 本发明揭示了一种物流智能优化调度系统,包括基础数据模块、智能调度模块及看板管理模块;基础数据模块包括线路管理单元、车型管理单元、地址管理单元、拼车规则单元、方案设计单元、运力管理单元、数据字典单元、区域管理单元;智能调度模块主要实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;所述看板管理模块主要包括道位查看单元、TMS上传指令查看单元;道位查看单元实现对系统内仓库实时安排情况查看的功能;TMS上传指令查看单元实现对上传指令的查看功能。本发明提出的物流智能优化调度系统,可降低库存、人力和运输成本,提升准时交货率,实现盈利性运营,获得竞争优势。
申请公布号 CN105512747A 申请公布日期 2016.04.20
申请号 CN201510831288.1 申请日期 2015.11.25
申请人 安吉汽车物流有限公司 发明人 汪祖能;林颖乐;朱杰;范峰
分类号 G06Q10/04(2012.01)I;G06Q10/08(2012.01)I;G06Q50/28(2012.01)I 主分类号 G06Q10/04(2012.01)I
代理机构 上海金盛协力知识产权代理有限公司 31242 代理人 王松
主权项 一种物流智能优化调度系统,其特征在于,所述物流智能优化调度系统包括:基础数据模块、智能调度模块及看板管理模块;所述基础数据模块由线路管理单元、车型管理单元、地址管理单元、拼车规则单元、方案设计单元、运力管理单元、数据字典单元、区域管理单元八个部分组成;所述线路是提取订单的基础,是整个智能调度系统非常关键的基础对象;线路管理单元挑选TMS中基础路线中部分字段信息创建生成调度系统的线路,并进行删、改、查操作,同时实现多线路合并功能;所述车型管理单元根据系统设定的车辆类型,根据三维尺寸对待运的车辆进行定义与类型划分;所述地址管理单元针对所有生产厂商的经销商地址进行统一管理维护,实现同一经销商使用同一地址,满足调度的要求;当从TMS中抽取订单数据时,系统自动识别经销商订单中的地址与系统中维护的地址是否一致;同时,该模块可实现经销商分组功能,将同一装卸地根据经销商地理位置,将装卸地分成小装卸地;所述拼车规则单元按线路实现线路中所属城市的可拼城市规则和禁止拼车规则的维护管理;所述方案设计单元主要为订单以及智能算法的引擎计算设定参数;订单参数包括不同类型订单的优先级、可拼经销商数量等;计算参数包括可接受GAP值、单点满板比例、拼车率限制;所述运力管理单元主要针对承运商的运力进行未确认、可用、已用状态管理;未确认状态运力在经过审核确认后变成可用状态,在进行调度安排后变成已用状态;所述数据字典单元维护智能调度的一些基本信息,包括调度异常信息及订单状态;调度异常情况主要是针对订单审核界面,用户选择不参与调度的板车时,需要下拉选择原因;订单状态即,订单池中的订单有已提取、正在处理、已结束、异常状态的管理;所述区域管理单元定义业务中常用到的区域、省份、城市/县、乡镇、街道信息;所述智能调度模块主要实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回运输管理系统TMS这一完整的智能调度功能;所述智能调度模块实现从订单抽取到调度计算,根据计算结果进行审核,成功后安排道位,最后写回TMS这一完整的智能调度功能;按照调度流程,包括订单提取单元、批量调度单元、结果审核单元、道位安排单元、TMS上传单元;所述订单提取单元主要用来提取TMS系统中的调度订单,抽取结果按照线路归集,显示所选的订单数据和板车数据。调度人员可以对抽取的订单数据和板车数据进行修改,并形成调度任务;所述批量调度单元将调度任务按照订单量、紧急程度、车辆情况或者先到先服务的规则划分优先级,投入计算任务池,以备计算;系统根据负载均衡规则,将合理分配调度引擎服务器资源,对调度任务进行计算;批量调度的路线采用“先到先得”或“路线优先级”的逻辑,即谁先点击批量调度按钮,谁就可进行批量调度;所述结果审核单元将显示调度引擎计算生成的结果,包括计算结果明细、订单完成统计以及使用的调度引擎方案;在审核页面,调度人员具有生效确定调度结果、取消部分板车的调度结果的权限;计算结果明细包括每辆板车装载哪些订单;所述道位安排单元将完成调度的订单的车辆安排出库,只有确认审核的订单和运力才能安排道位;根据业务情况,分为单库道位安排和多库多运道位安排;所述智能调度系统在完成订单和运力的调度计算后,需要生成调度指令,完成运力和所装运订单、出发仓库、目的地、道位信息的绑定;当出现多地拼车、多库拼车时,需进行指令的分段;所述看板管理模块主要包括:道位查看单元、TMS上传指令查看单元;道位查看单元实现对系统内仓库实时安排情况查看的功能,看板需支持当天、第二天以及第N天的查询情况;TMS上传指令查看单元实现对上传指令的查看功能,看板需支持该账号当天所有指令的查询情况;物流智能优化调度系统通过建立数据库系统进行数据更新、审核和维护,建立考虑各项目标、约束和算法模型并编写程序进行最优化计算来实现智能化调度优化;将所有调度运算请求记录到调度任务表中并重新计算队列顺序,其中不包括执行队列,并返回该任务的信息,任务的信息包括ID、队列顺序,为了保障在多线程以及集群状态下不会数据脏读、冲突需要将数据表锁定;前端接收到任务信息后启动一个定时器循环去请求该任务的最新状态,并提示用户当前排队情况,若执行完就显示结果,否则更新当前排队状态;服务端通过配置文件配置每个节点要获取的执行队列中的任务位置,执行队列的数量为m1时,部署n1个tomcat节点,则每个节点分别获取执行队列中的设定位置,避免集群状态下获取到相同的任务导致数据冲突,根据需要扩展执行队列的长度,建议根据每个节点的核心数来配置每个节点要获取的数量,过度的配置会影响其他业务性能;服务端执行完获取到的任务后将结果写入到任务结果表中等待前端获取,并在调度任务表中删除该任务、重新计算队列顺序;获取执行队列外最高优先级的任务放置到该位置,此处也需要锁表;将对性能要求较高的调度运算平均分散到各节点运行,避免不均衡的分发导致负载不均衡,或者根据硬件的扩展来增加处理节点提高性能,具备可扩展性;用户提交订单到数据库后重新排列队列顺序,当队列顺序正在排列时进行锁表,防止队列无限增长;队列排列后返回任务信息,显示任务排队状态到前端,接着使用js定时器获取任务状态,判断任务状态,如果符合条件则返回运算结果,如果不符合条件则重新返回任务信息,继续下个流程;应用服务器设置定时任务,根据不同的配置文件配置的信息获取队列任务,执行任务运算后更新任务状态,如果排列队列正在重新排序,这张表将进行锁表;重新排列队列顺序后业务系统定时任务重新获取队列任务,直到执行完成;在系统部署中,由于该调度系统采用的负载方案为硬件负载;为保证智能调度系统的速度以及稳定性,需设定单独一台引擎算法服务器;所述系统还包括优化调度模块,用以通过建立目标函数对承运物品进行优化调度;建立目标函数表达式:<math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mi>f</mi><mo>=</mo><mi>max</mi><mo>&lsqb;</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>+</mo><msub><mi>&alpha;</mi><mn>2</mn></msub><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>E</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&alpha;</mi><mn>3</mn></msub><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></msubsup><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>b</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&beta;</mi><mn>1</mn></msub><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>j</mi></msub></msubsup><msub><mi>y</mi><mrow><mi>i</mi><mi>j</mi><mi>k</mi></mrow></msub><mo>-</mo></mrow></mtd></mtr><mtr><mtd><mrow><mn>1</mn><mo>)</mo><mo>-</mo><msub><mi>&beta;</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></msubsup><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>&beta;</mi><mn>3</mn></msub><mrow><mo>(</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>s</mi></msubsup><msub><mi>t</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&rsqb;</mo></mrow></mtd></mtr></mtable><mo>;</mo></mrow>]]></math><img file="FDA0000857526160000031.GIF" wi="2056" he="224" /></maths>其中,各符号含义表示如下:<img file="FDA0000857526160000032.GIF" wi="1709" he="935" /><img file="FDA0000857526160000041.GIF" wi="1709" he="2879" /><img file="FDA0000857526160000051.GIF" wi="1709" he="1039" />所述优化调度模块进一步包括:最大化装载商品车数量获取单元、总紧急程度获取单元、优先装载物品设定单元、最小化经销商拼车数量获取单元、最小化拼车城市数量获取单元、最小化库区之间的拼库次数获取单元;最大化装载商品车数量获取单元用以最大化装载商品车的数量;<img file="FDA0000857526160000052.GIF" wi="375" he="77" />当α<sub>1</sub>取最大的时候,每次装载调度所能装载的商品车的数量直接关系到经济效益,在满足装载限制的前提下,充分利用运力资源,实现商品车数量的最大化;总紧急程度获取单元用以最大化装载商品车的总的紧急程度;<img file="FDA0000857526160000053.GIF" wi="423" he="79" />将最小化滞留时长转化为最大化商品车的紧急程度;其中,滞留时长用T+X表示,其中X为商品车滞留的天数,同样表示商品车的紧急程度;优先装载物品设定单元用以设定优先装载大型物品;<img file="FDA0000857526160000054.GIF" wi="421" he="76" />由于承运车的装载条件中,车型允许向下兼容,即大车型的装载位置可以装载中型或者小型的商品车,所以,对于大型商品车来说,装载限制更加严格,并且基于实践,在同等条件下,装载更多的大型商品车,剩下的小型车便于以后的装载调度;最小化经销商拼车数量获取单元用以获取最小化的经销商拼车数量;<img file="FDA0000857526160000055.GIF" wi="627" he="95" />商品车将被承运车运输至城市下的不同经销商;在实际情况下,同一承运车每多访问一家经销商,就会增加一个相当长的卸货时间,并且增加空载里程,所以当β<sub>1</sub>取最大时,则为尽量减少同一承运车装载不同经销商的商品车的情况;空载里程指非满载情况下行驶里程数;最小化拼车城市数量获取单元用以最小化城市拼车数量;<img file="FDA0000857526160000061.GIF" wi="482" he="86" />城市拼车将会导致更加严重的空载里程的出现,也应尽可能的避免;最小化库区之间的拼库次数获取单元用以最小化库区之间的拼库次数;<img file="FDA0000857526160000062.GIF" wi="503" he="87" />每多经过一个库区装载商品车,会增加装载时间和造成空载里程;因此要尽可能减少不同库区之间的订单拼装,同一库区内不同小仓库的订单则不做限制优化;所述系统包括订单分组模块;不同的订单按其生效时间有不同的优先级,而不同优先级的订单在装载时,对板车配载结果的拼车城市、拼车经销商数量也会有较大区别;紧急订单进行异地多家经销商拼装,而普通订单只能在同城拼装,甚至要求单点满板;多家经销商且/或异地拼装的紧急订单先进行分组并计算,引擎放宽约束,允许异地拼车,将紧急订单尽量拼装发运出库;随后,再将剩余非紧急订单进行运算,只允许同城多家拼车;进一步地,将所有订单分为多个组;按组的紧急程度从高到低,按批进行运算;订单分组分为两大类:板车意向城市的目的装卸地订单,与无指定经销商的装卸地订单;第一类订单,对存在意向城市的板车,提取其意向城市,对该意向城市的订单自称一组;如有多辆板车存在意向城市则分为多组,以此类推;第二类订单,根据订单优先级与可拼车城市约束进行分组;首先提取某一装卸地下t+8等级的紧急订单,自称一组,并将可以与该装卸地拼装的城市的订单自动并入,重复操作直至所有t+8订单均有归组;类似地对t+5订单做类似操作;接着将非紧急订单但存在拼车惩罚地城市分为第三大类的单组;最后,将剩余的无特殊特征的订单分为第四大类组。
地址 201805 上海市嘉定区安亭镇米泉路258号