CN109214756A - 基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端 - Google Patents
基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN109214756A CN109214756A CN201811081447.0A CN201811081447A CN109214756A CN 109214756 A CN109214756 A CN 109214756A CN 201811081447 A CN201811081447 A CN 201811081447A CN 109214756 A CN109214756 A CN 109214756A
- Authority
- CN
- China
- Prior art keywords
- ant
- transport power
- order
- data
- iteration
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Educational Administration (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端,所述方法包括:获取整车物流数据;进行外迭代,进行外迭代的过程包括:基于整车物流数据获取满足预设约束条件的M个候选分配方案;在蚁群中各只蚂蚁转移期间,从蚁群中选取目标向量最大的蚂蚁;当蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;在针对预设目标集合包括的所有目标执行外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。通过本发明提供的方案能够实现整车物流的自动化调度,且利于实现最优调度,从整体上降低货运车的动态调度成本。
Description
技术领域
本发明涉及汽车物流技术领域,具体地涉及一种基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端。
背景技术
整车物流是指整车从主机厂、各配送站点、经销商运送到最终客户的一系列活动和过程,整车物流调度需要解决物流路径规划、配载和车辆调度等一系列问题。
现有整车物流调度涉及的因素较为复杂,约束条件众多,目标多元且相互制约,其中包括主机厂及其仓库、物流公司及其中转库、承运商及其合约司机、经销商及其仓库等多个方面,归纳来讲是一个多目标优化问题。
而大多数的物流公司根据人工经验来定制调度运输方案,配载过程多采用手工操作,配载方案完全取决于调度人员的自身经验。这样的整车物流调度方式存在考虑变量因素少、调度方案非最优、运力资源使用率不高、订单反应速度慢等诸多缺点,无法达到汽车厂商及客户的预期。
发明内容
本发明解决的技术问题是如何实现整车物流的自动化调度,以更合理、全面的调度逻辑从整体上降低货运车的动态调度成本。
为解决上述技术问题,本发明实施例提供一种基于蚁群算法和分层优化的整车物流调度方法,包括:获取整车物流数据,所述整车物流数据包括订单数据及运力数据;进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述进行外迭代的过程包括:基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
可选的,所述基于所述整车物流数据获取满足预设约束条件的M个候选分配方案包括:循环迭代地随机匹配所述订单数据和运力数据,对于每次迭代,当订单分配完毕且匹配的运力最少时,或者,当运力分配完毕时,将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案;基于预设约束条件筛选历次迭代获取的候选分配方案,以获取所述M个候选分配方案。
可选的,所述循环迭代地随机匹配所述订单数据和运力数据包括:从所述运力数据中随机抽取一个运力并开始内迭代,所述内迭代的过程包括:遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单;判断所述运力是否满载;当所述运力未满载时,清空所述运力的匹配结果并重新执行所述内迭代,直至本次内迭代的结果为所述运力满载时,判断所述订单数据包括的订单是否分配完毕;当所述订单数据包括的订单分配完毕,且所述运力数据包括的运力未分配完毕时,继续从所述运力数据中随机抽取一个运力并执行所述内迭代,直至所述运力数据包括的运力分配完毕或所述订单数据包括的订单分配完毕,以完成一次循环迭代。
可选的,所述将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案包括:比较本次循环迭代确定的运力的数量与上一次循环迭代确定的运力的数量;若本次循环迭代确定的运力的数量小于上一次循环迭代确定的运力的数量,将本次循环迭代确定的运力与订单的匹配结果作为本次迭代获取的候选分配方案。
可选的,所述遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单包括:从所述订单数据中随机抽取一个订单;判断所述运力和所述订单是否满足所述装载约束;当所述运力和所述订单不满足所述装载约束时,重新从所述订单数据中随机抽取一个订单,直至本次随机抽取的订单与所述运力满足所述装载约束时,判断所述订单数据包括的订单是否遍历完毕;当所述订单数据包括的订单未遍历完毕时,继续从所述订单数据中随机抽取一个订单并判断所述运力和本次随机抽取的订单是否满足所述装载约束,直至所述订单数据包括的订单全部遍历完毕。
可选的,所述预设约束条件还包括:配载约束;意向方向约束;可拼城市数量约束。
可选的,所述蚁群中的每只蚂蚁均分配有初始化信息素矩阵和启发信息矩阵,所述初始化信息素矩阵和启发信息矩阵与目标一一对应,其中,对于每只蚂蚁,所述启发信息矩阵用于描述所述蚂蚁的订单与运力的初始匹配结果,所述初始化信息素矩阵用于描述所述蚂蚁的各订单在各运力之间的初始转移概率。
可选的,对于每只蚂蚁,所述启发信息矩阵基于如下公式表示:B=(buv);其中,B为所述蚂蚁的启发信息矩阵,buv为所述启发信息矩阵中第u行第v列的元素,u为所述订单数据中的第u个订单,1≤u≤U,U为所述订单数据包括的总订单数,v为所述运力数据中的第v个运力,1≤v≤V,V为所述运力数据包括的总运力数,当buv=1时表示在所述蚂蚁中第u个订单与第v个运力相匹配,当buv=0时表示在所述蚂蚁中第u个订单与第v个运力不相匹配。
可选的,对于每只蚂蚁,所述蚂蚁的初始化信息素矩阵A包括U×V个元素,其中,U为所述订单数据包括的总订单数,V为所述运力数据包括的总运力数,所述U×V个元素均以预设常数填充。
可选的,所述在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁包括:在所述蚁群中各只蚂蚁转移期间,基于蚁群算法计算和更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵,其中,对于每只蚂蚁,所述状态转移矩阵用于描述所述蚂蚁的订单和运力的最新匹配结果,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率;对于每只蚂蚁,根据所述状态转移矩阵计算所述蚂蚁的目标向量;选取所述目标向量最大的蚂蚁。
可选的,在所述蚁群中各只蚂蚁转移期间,更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵的更新周期是以各只蚂蚁转移时的步长为单位的。
可选的,在所述蚂蚁转移期间,对于每只蚂蚁,将更新后的信息素矩阵作为所述蚂蚁下一次转移时的初始化信息素矩阵。
可选的,当选取出目标向量最大的蚂蚁时,将该蚂蚁的信息素矩阵作为所述蚁群中各只蚂蚁下一次转移时的初始化信息素矩阵。
可选的,对于所述蚁群中的每只蚂蚁,所述蚂蚁是按照确定性概率或随机性概率进行转移的,其中,所述按照确定性概率进行转移是指按照所述蚂蚁的信息素矩阵指示的最大概率方向进行转移,所述按照随机性概率进行转移是指按照随机方向进行转移,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率。
可选的,所述蚂蚁按照确定性概率或随机性概率进行转移的过程包括:所述蚂蚁从预设区间内抽取一个随机数;当所述随机数小于预设阈值时,按照确定性概率进行转移;否则,按照随机性概率进行转移。
可选的,所述预设终止条件选自:所述蚁群中各只蚂蚁的转移次数达到预设循环次数;所述预设目标集合包括的目标遍历完毕。
可选的,所述整车物流数据是通过对原始数据进行预处理获得的,所述获取整车物流数据包括:获取所述原始数据;根据预设标准值范围筛查所述原始数据,以剔除所述原始数据中不符合对应的预设标准值范围的数据;根据筛查后的原始数据获取所述整车物流数据。
可选的,在针对所述预设目标集合包括的各个目标执行所述外迭代期间,是按照所述各个目标的预设排序按照从前到后的顺序依次执行所述外迭代的。
可选的,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量是指:将所述上一次外迭代确定的候选最优调度方案在对应目标上的目标向量的宽容集合作为下一次外迭代的预设约束条件之一,所述宽容集合为对所述目标向量进行宽容分层处理的结果。
可选的,所述预设目标集合中的目标包括:最大化装载数量;最大化装载商品车紧急程度;最大化装载大、中型商品车数量。
可选的,所述候选分配方案的数量M是根据所述订单数据确定的。
为解决上述技术问题,本发明实施例还提供一种基于蚁群算法和分层优化的整车物流调度装置,包括:获取模块,用于获取整车物流数据,所述整车物流数据包括订单数据及运力数据;外迭代模块,用于进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述外迭代模块包括:初始装载模块,用于基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;蚁群算法和分层优化模块,将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;候选选取模块,当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;选取模块,在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
为解决上述技术问题,本发明实施例还提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述方法的步骤。
为解决上述技术问题,本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明实施例提供一种基于蚁群算法和分层优化的整车物流调度方法,包括:获取整车物流数据,所述整车物流数据包括订单数据及运力数据;进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述进行外迭代的过程包括:基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
较之现有采用人工进行整车物流调度的实现方式,本发明实施例的方案以智能化的自动求解方案替代现有的人工操作方式,将获取的每一候选分配方案记为一只蚂蚁,结合蚁群算法的原理,在不断迭代期间通过每只蚂蚁的转移获取针对单个目标的最优方案(即所述候选最优方案),然后将该目标作为新的约束进入下一轮外迭代,直至预设目标集合中的所有目标均完成外迭代,从而确保最终产生的最优方案(即所述最优调度方案)在满足所有约束的情况下目标值最优。也即,本发明实施例的方案通过多目标蚁群算法来对整车物流调度进行精确描述和推演,通过利用蚁群算法的全局寻优能力和正反馈机制,结合多目标的分层优化,通过不断的循环迭代依次满足预设目标集合中的各个目标,使得最终求得的最优调度方案能够充分考虑各方面要求,避免产生失效调度,从而提高整车调度系统的系统效率,确保所述整车调度系统能够有条不紊地运行。进一步,本发明实施例的方案不仅能够提高运算效率,还能够确保最优方案的求解,降低成本,提高客户满意度。
进一步,所述基于所述整车物流数据获取满足预设约束条件的M个候选分配方案包括:循环迭代地随机匹配所述订单数据和运力数据,对于每次迭代,当订单分配完毕且匹配的运力最少时,或者,当运力分配完毕时,将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案;基于预设约束条件筛选历次迭代获取的候选分配方案,以获取所述M个候选分配方案。本领域技术人员理解,在本实施例的初始化装载过程中,采用贪心算法进行订单和运力的初步匹配,以直接计算出一个可行的调度方案,然后再通过本实施例的蚁群算法对该可行的调度方案分层进行逐优推演,以获取最优方案。
进一步,所述在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁包括:在所述蚁群中各只蚂蚁转移期间,基于蚁群算法计算和更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵,其中,对于每只蚂蚁,所述状态转移矩阵用于描述所述蚂蚁的订单和运力的最新匹配结果,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率;对于每只蚂蚁,根据所述状态转移矩阵计算所述蚂蚁的目标向量;选取所述目标向量最大的蚂蚁。本实施例的方案结合蚁群算法的原理,将分配方案所记载的订单和运力之间的匹配关系的变化情况等效为蚂蚁的转移,从而在蚁群中每只蚂蚁转移期间计算各只蚂蚁的状态转移矩阵和信息素矩阵,以从中选取出目标向量最大的蚂蚁作为候选最优方案。本领域技术人员理解,基于本实施例的方案,能够利用蚁群的正反馈机制向当前目标的最优方案逼近,产生逐步最大化当前目标的最优方案。
附图说明
图1是本发明实施例的一种基于蚁群算法和分层优化的整车物流调度方法的流程图;
图2是图1中步骤S101的一个具体实施方式的流程图;
图3是图1中步骤S1021的一个具体实施方式的流程图;
图4是图3的一个典型应用场景的流程图;
图5是图1中步骤S1022的一个具体实施方式的流程图;
图6是图5的一个典型应用场景的流程图;
图7是本发明实施例的一种基于蚁群算法和分层优化的整车物流调度装置的结构示意图。
具体实施方式
本领域技术人员理解,如背景技术所言,传统的整车物流调度模式没有对任务目标进行配载优化,也没有充分考虑输入的订单本身的约束需求,而是简单地通过人工分配订单到车辆的方式来形成调度计划(即调度方案)。正是由于现有的整车物流调度方案中人工调度存在的不足,导致存在考虑变量因素少、调度方案非最优、运力资源使用率低、订单反应速度满等诸多缺点,在实际应用中无法满足业务合同等角度提出的约束,对任务各个方面的利益关系方造成损害,更会由于忽视一些调度系统中的现实因素而产生无效方案,影响整个系统的正常运作,造成效率低下、系统混乱。
另一方面,现有的整车物流调度模式没有梳理系统目标并进行多方面的统筹优化,限制了系统能力的提升和对各方面利益的最大化,或者不能权衡调度体系的各个目标,造成顾此失彼,本末倒置,更无法从时间的角度进行全局的统筹优化。
为了实现智能化的自动求解整车调度方案,本申请发明人研究发现:
一般而言,对于典型的多目标问题的求解思路是对其进行数学建模,将其抽象为数值函数的优化问题。但在实际应用中,由于实际因素复杂,这些函数通常会显示出不同的数学特征,如目标函数和约束函数是否连续可微,是否有凸性质等,使得计算结果可能难以满足实际条件。所以,大多数情况下,需要通过数值计算的方法进行近似优化计算。也即,针对当前应用场景,需要在可接受的时间和精度范围内,求出数值函数近似最优解。而启发式算法对于目标函数和约束条件的要求较为宽松,不要求达到精确最优解,因而成为当前较为流行的解法。
作为启发式算法的一种具体解法,蚁群算法是一种用来在图中寻找优化路径的机率型算法。其灵感来源于蚂蚁觅食过程中发现最短路径的行为。具体而言,蚂蚁在路径上前进时会根据先前蚂蚁分泌的信息素浓度来选择下一步路径,其选择一条路径的概率与信息素的浓度呈正比。由此,蚁群的集体行为构成了正反馈机制,也即,某条路径走过的蚂蚁越多,后面的蚂蚁选择该路径的概率越大。蚁群算法正时根据这一现象,用人工蚂蚁模拟蚁群的行为,从而实现寻优。
而针对复杂的多目标的优化,即使采用启发式算法仍面临针对单个子目标的优化。现有的方案一般是对每个子目标采用权重分配,将多目标重新加权求和组合为单一目标。但是,这类方法由于权重分配带有极大主观性,优化过程中各个目标的优度进展不可操作,在处理高维度、多模台等复杂问题上存在明显不足。
本申请发明人进一步研究发现,整车物流调度场景中需要实现的多个目标在问题求解中实际上并不是同等重要的。例如,在整车调度中通常会倾向于先最大化装载商品车数量,其次最大化装载商品车的紧急程度等目标。因此,在约束条件下,各个目标函数可以进行不同等地优化,已被优化的目标会变成新的约束,这就是本发明实施例中分层优化的设计理念。
为解决背景技术所述的技术问题,本申请公开的方案通过将蚁群算法用于带约束的多目标分层优化以进行最优方案的求解,实现智能化、自动化的整车物流调度,能够考虑尽可能多的变量因素、利于获取最优的调度方案,极大提高运力资源使用率,改善订单反应速度。
具体而言,本发明实施例提供一种基于蚁群算法和分层优化的整车物流调度方法,包括:获取整车物流数据,所述整车物流数据包括订单数据及运力数据;进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述进行外迭代的过程包括:基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
本领域技术人员理解,本发明实施例的方案以智能化的自动求解方案替代现有的人工操作方式,将获取的每一候选分配方案记为一只蚂蚁,结合蚁群算法的原理,在不断迭代期间通过每只蚂蚁的转移获取针对单个目标的最优方案(即所述候选最优方案),然后将该目标作为新的约束进入下一轮外迭代,直至预设目标集合中的所有目标均完成外迭代,从而确保最终产生的最优方案(即所述最优调度方案)在满足所有约束的情况下目标值最优。
换言之,本发明实施例的方案通过多目标蚁群算法来对整车物流调度进行精确描述和推演,通过利用蚁群算法的全局寻优能力和正反馈机制,结合多目标的分层优化,通过不断的循环迭代依次满足预设目标集合中的各个目标,使得最终求得的最优调度方案能够充分考虑各方面要求,避免产生失效调度,从而提高整车调度系统的系统效率,确保所述整车调度系统能够有条不紊地运行。
进一步,本发明实施例的方案不仅能够提高运算效率,还能够确保最优方案的求解,降低成本,提高客户满意度。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例的一种基于蚁群算法和分层优化的整车物流调度方法的流程图。其中,所述整车物流调度可以指整车从出厂、经由配送站点和经销商到最终客户期间的物流路径规划、配载和运力调度。本发明实施例的方案可以适用于整车物流调度应用场景,以确定最优调度方案。
具体地,参考图1,本实施例所述基于蚁群算法和分层优化的整车物流调度方法可以包括如下步骤:
步骤S101,获取整车物流数据,所述整车物流数据包括订单数据及运力数据。
步骤S102,进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合。
具体而言,所述步骤S102可以包括:
步骤S1021,基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;
步骤S1022,将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量。
步骤S1023,当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案。
步骤S103,在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
更为具体地,所述订单数据可以用于描述与待调度的整车相关的信息。例如,所述订单数据可以包括待配送的车型、目的地、交付日期、订单紧急程度等。
进一步地,所述运力数据可以用于描述可用于运输所述待调度的整车的运输工具的配载信息。例如,所述运力数据可以包括所述运输工具的数量、装载容量等。优选地,所述运输工具可以包括轿运车。
进一步地,所述整车物流数据还可以包括节点数据,用于描述制定调度方案时需要经过的配送站点、经销商等。
进一步地,所述整车物流数据还可以包括场景数据(也可称为目标数据),用于描述制定调度方案时需要考虑的注意事项。例如,特定订单的优先级排序、特定车型的优先配送要求等。
优选地,对于每条订单数据,所述订单数据可以包括多个字段,所述字段可以包括经销商信息、客户信息、整车车型、整车个性化设置内容、交付期限等。类似的,对于每条运力数据,所述运力数据也可以包括多个字段,所述字段可以包括装载限额、轿运车数量、轿运车可装整车车型等。
进一步地,所述整车物流数据可以是通过对原始数据进行预处理获得的,所述原始数据同样可以包括订单数据、运力数据、节点数据、场景数据等。例如,可以从经销商处获取所述订单数据、节点数据和场景数据,从物流方获取所述运力数据。
本领域技术人员理解,所述原始数据可以整合自多数据源,而各个数据源在录入各自的数据时极有可能出现数据缺失、数据填写错误等问题。另一方面,由于传统整车物流场景大多依靠人工经验形成调度计划,调度过程中产生的数据都以非结构化的方式被记录下来,因而会产生和混入较多无关数据和错误数据。因而,在初始数据获取阶段,可以对获取的原始数据进行清洗,以排除原始数据中相互矛盾的错误数据,提取执行后续算法所需的有用信息,从而确保所述整车物流数据本身的可靠性和合理性。
作为一个非限制性实施例,参考图2,所述步骤S101可以包括如下步骤:
步骤S1011,获取所述原始数据。
步骤S1012,根据预设标准值范围筛查所述原始数据,以剔除所述原始数据中不符合对应的预设标准值范围的数据。
步骤S1013,根据筛查后的原始数据获取所述整车物流数据。
具体地,所述预设标准范围可以与所述字段一一对应。在实际应用中,可以针对所述原始数据中的每一个字段设置对应的预设标准范围,当获取的原始数据的字段不符合对应的预设标准范围时,剔除该数据,以确保最终保留下来的数据的有效性。
以所述运力数据的装载限额字段为例,可以预先设置所述装载限额只能选自固定值集合{8,10},若获取的数值不属于所述固定值集合,则判断该原始数据错误,提出该原始数据。
优选地,所述原始数据对应的所述预设标准值范围可以由提供该原始数据的数据提供方预先设定;或者,也可以由本实施例所述整车物流调度方法的提供方制定,所述数据提供方可以根据需要调整所述预设标准值范围的具体数值。
进一步地,所述候选分配方案可以用于描述初始状态下订单和运力的匹配结果,所述匹配结果即为调度方案,所述初始状态是指执行蚁群算法之初的状态。也即,在对所述原始数据进行清理后,可以基于清洗后的数据(即所述整车物流数据)进行装载,将订单分配到轿运车上,以便进行后续的蚁群算法。优选地,所述M个候选分配方案可以作为后续蚁群算法时的初始化蚁群参数。
例如,可以通过人工调度的经验制定贪心算法,先按照订单数据中车型大小以及紧急程度安排订单的优先级,然后选择在当前看来是最好的装载方案进行配载,从而直接计算出一个可行的调度方案作为所述候选分配方案。其中,所述可行的调度方案需要满足预设约束条件。
进一步地,所述候选分配方案的数量M可以是根据所述订单数据确定的。例如,针对100个订单数据可以获取10个候选分配方案。
作为一个非限制性实施例,参考图3,所述步骤S1021可以包括如下步骤:
步骤S10211,循环迭代地随机匹配所述订单数据和运力数据,对于每次迭代,当订单分配完毕且匹配的运力最少时,或者,当运力分配完毕时,将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案。
步骤S10212,基于预设约束条件筛选历次迭代获取的候选分配方案,以获取所述M个候选分配方案。
本领域技术人员理解,在本实施例的初始化装载过程中,采用贪心算法进行订单和运力的初步匹配,以直接计算出一个可行的调度方案,然后在通过本实施例的蚁群算法对该可行的调度方案分层进行逐优推演,以获取最优方案。
在一个优选例中,所述随机匹配可以指:将所述订单数据包括的订单按紧急程度排序,每次循环迭代时按照紧急程度由高到低的顺序依次抽取一个订单,并从所述运力数据中随机抽取一个运力开始匹配操作。
作为一个变化例,所述随机匹配可以指:将所述运力数据包括的轿运车按车型大小排序,每次循环迭代时按照车型由大到小的顺序依次抽取一个运力,并从所述订单数据中随机抽取一个订单开始匹配操作。
作为另一个变化例,所述随机匹配还可以指:每次循环迭代时分别从所述订单数据和运力数据中各随机抽取一个订单和一个运力开始匹配操作。
接下来以上述第三种随机匹配方式为例,结合图4对本实施例所述候选分配方案的获取流程作具体阐述。
在一个典型的应用场景中,参考图4,首先,可以执行步骤a101,以从所述运力数据中随机抽取一个运力并开始内迭代。
具体地,所述内迭代的过程包括可以包括如下步骤:步骤a102,遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单;步骤a103,判断所述运力是否满载。
优选地,所述装载约束可以指大小约束,也即,运力能否装下订单。
更为具体地,所述步骤a102可以包括如下步骤:步骤a1021,从所述订单数据中随机抽取一个订单;步骤a1022,将所述订单装载至所述运力;步骤a1023,判断所述运力和所述订单是否满足所述装载约束。
当所述步骤a1023的判断结果为否定的,也即,当所述运力和所述订单不满足所述装载约束时,重新执行所述步骤a1021,以重新从所述订单数据中随机抽取一个订单,直至本次随机抽取的订单与所述运力满足所述装载约束(也即直至所述步骤a1023的判断结果为肯定的)时,执行步骤a1024,以判断所述订单数据包括的订单是否遍历完毕。
当所述步骤a1024的判断结果为否定的,也即,当所述订单数据包括的订单未遍历完毕时,继续执行所述步骤a1021至步骤a1023,以继续从所述订单数据中随机抽取一个订单并判断所述运力和本次随机抽取的订单是否满足所述装载约束,直至所述订单数据包括的订单全部遍历完毕(也即直至所述步骤a1024的判断结果为肯定的)。
当所述步骤a1024的判断结果为肯定的时,执行所述步骤a103,以判断所述运力是否满载。
当所述步骤a103的判断结果为否定的,也即,当所述运力未满载时,执行步骤a104,以清空所述运力的匹配结果并重新执行所述内迭代(也即重新执行所述步骤a102和步骤a103),直至本次内迭代的结果为所述运力满载(即直至所述步骤s103的判断结果为肯定的)时,执行步骤a105,以判断所述订单数据包括的订单是否分配完毕。
当所述步骤a105的判断结果为否定的,也即,当所述订单数据包括的订单分配完毕,且所述运力数据包括的运力未分配完毕时,继续执行所述步骤a101至步骤a105(即继续从所述运力数据中随机抽取一个运力并执行所述内迭代)直至所述运力数据包括的运力分配完毕或所述订单数据包括的订单分配完毕,以完成一次循环迭代。
当所述步骤a105的判断结果为肯定的,也即,当所述订单数据包括的订单均分配完毕时,可以执行步骤a106,以比较本次循环迭代确定的运力的数量是否小于上一次循环迭代确定的运力的数量。
若本次循环迭代确定的运力的数量小于(可以包括等于)上一次循环迭代确定的运力的数量,也即,若所述步骤a106的判断结果为肯定的,则可以将本次循环迭代确定的运力与订单的匹配结果作为本次迭代获取的候选分配方案。
否则,若本次循环迭代确定的运力的数量大于上一次循环迭代确定的运力的数量,也即,若所述步骤a106的判断结果为否定的,则重新自所述步骤a101开始执行,以重新获取订单数据和运力数据的随机匹配结果。
作为一个变化例,在循环迭代期间,当所述运力数据包括的运力均分配完毕时,也可以执行所述步骤a106。
进一步地,所述预设约束条件还可以包括:配载约束;意向方向约束;可拼城市数量约束。其中,所述意向方向可以指意向城市,也即所述订单的目的地、可拼城市等。在实际应用中,本领域技术人员也可以根据需要调整所述预设约束条件的具体内容。
进一步地,基于整车调度问题的多变量、离散性、高维数、数据量与解空间大以及要求计算时间短等特点,本实施例的方案拟采用蚁群算法和分层优化相结合的方式进行调度方案的求解。
具体而言,对于给定的订单和运力,在满足各种约束的前提下,可以根据系统目标进行基于先验的贪心算法的订单初步装载(即执行所述步骤S1021)。在若干初步装载方案的基础上,通过蚁群算法的迭代优化,产生一次满足预设目标集合中各个目标的最优方案。其中,利用蚁群的正反馈机制向每个目标的最优方案逼近;在完成前一个目标的最优方案的选取后,将该目标作为新的约束加入预设约束条件中,继续蚁群算法以完成预设目标集合中后一个目标的最优方案的搜寻,如此迭代,直至获得满足所有目标的最优方案。
作为一个非限制性实施例,典型的多目标优化问题模型可以基于如下公式表示:
minF(X)=[f1(X),f2(X),...,fm(X)]T;
s.t.gu(X)≥0,u=1,2,...,p;
hv(X)=0,v=1,2,...,q;
其中,X表示解向量(也即,分配方案在一个目标上的目标向量),fi(X)为单目标i,gu(X)≥0与hv(X)=0均为约束条件。应用到本实施例所述整车调度场景中,多目标的优化问题可以转化为依次对各个单目标的分层优化问题。分层优化的基本思想为将多目标优化问题中的各目标按主次排序,按照该顺序逐一求解最优解,使得后一目标在前一目标最优解的集合区域内进行寻优。
进一步地,本实施例所述蚁群算法采用确定性选择和随机性选择相结合的选择策略,避免算法的停滞现象;对所有完成一次转移的蚂蚁进行局部规则更新以及对每次循环最优的蚂蚁使用全局更新避免陷入局部最优;对每代的最优蚂蚁所走路径进行信息更新,将其限制在有上下界区间内,避免收敛于局部最优解。
进一步地,基本的蚁群算法模型可以用旅行商问题(Travelling SalesmanProblem,简称TSP)描述。对于给定的n个城市节点以及连接节点的边的集合,找出一条最短的闭回路,使得该闭回路在每个节点都只经过一次。
具体而言,在基本蚁群算法中,有两个基本要素:状态转移规则和信息素更新规则。
对于状态转移规则,人工蚂蚁(可简称为蚂蚁)随机选择某个节点作为初始化节点,然后经由该节点转移到下一节点,直到完成经过所有节点的闭回路。
对应的,每只蚂蚁的状态转移规则为:
其中,第k只蚂蚁所在节点为i,转移到j的概率为pij;η(i,j)表示启发信息,一般选取为城市节点距离的倒数;是未经过的节点集合;α,β分别表示信息素和启发信息的参数因子;τ(i,j)表示路径(i,j)上的信息素总量。
所述信息素更新规则可以总结为以下公式:
τ(i,j)=(1-ρ)·τ(i,j)+Δτ(i,j);
其中,m只人工蚂蚁通过n-1次选择完成路线,在其路线上释放信息素。为第k只蚂蚁在(i,j)转移时释放的信息素,该路线总的信息素更新量为Δτ(i,j)。同时,引入信息素挥发机制,挥发系数为ρ,信息素的调整为信息素的保持量加上新增信息素释放量。
在本实施例中,将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,所述蚁群中的每只蚂蚁均可以分配有初始化信息素矩阵和启发信息矩阵,所述初始化信息素矩阵和启发信息矩阵与目标一一对应,其中,对于每只蚂蚁,所述启发信息矩阵用于描述所述蚂蚁的订单与运力的初始匹配结果,所述初始化信息素矩阵用于描述所述蚂蚁的各订单在各运力之间的初始转移概率。
具体而言,所述启发信息矩阵和初始化信息素矩阵相结合,可以决定所述蚁群中各只蚂蚁第一步转移的位置和方向。
记所述订单数据包括的订单的集合shipmentset={shipmentu},u∈U,其中,U为所述订单数据包括的总订单数。类似的,记所述运力数据包括的轿运车的集合Trailerset={Trailerv},v∈V,其中,V为所述运力数据包括的总运力数(即总轿运车数)。
进一步地,所述蚁群中的每只蚂蚁均可以分配有初始化信息素矩阵和启发信息矩阵,所述初始化信息素矩阵和启发信息矩阵与目标一一对应,其中,对于每只蚂蚁,所述启发信息矩阵用于描述所述蚂蚁的订单与运力的初始匹配结果,所述初始化信息素矩阵用于描述所述蚂蚁的各订单在各运力之间的初始转移概率。
作为一个非限制性实施例,对于每只蚂蚁,所述启发信息矩阵可以基于如下公式表示:
B=(buv);
其中,B为所述蚂蚁的启发信息矩阵,buv为所述启发信息矩阵中第u行第v列的元素,u为所述订单数据中的第u个订单,1≤u≤U,U为所述订单数据包括的总订单数,v为所述运力数据中的第v个运力,1≤v≤V,V为所述运力数据包括的总运力数,当buv=1时表示在所述蚂蚁中第u个订单与第v个运力相匹配(即第u个订单被第v个运力装载),当buv=0时表示在所述蚂蚁中第u个订单与第v个运力不相匹配(即第u个订单未被第v个运力装载)。
可选的,对于每只蚂蚁,所述蚂蚁的初始化信息素矩阵A可以包括U×V个元素,其中,U为所述订单数据包括的总订单数,V为所述运力数据包括的总运力数,所述U×V个元素均以预设常数填充。例如,所述预设常数可以为1,也即所述蚂蚁的各订单在各运力之间的初始转移概率均为1。
在本实施例中,对于一个分配方案包括的订单和运力,可以将所述订单和所述运力的匹配结果的变化即为蚂蚁的转移。本实施例正是通过蚂蚁的不断转移来不断改变装车状态,直至在当前目标(选自所述预设目标集合)的性能评价最优。
作为一个非限制性实施例,参考图5,所述步骤1022可以包括如下步骤:
步骤S10221,在所述蚁群中各只蚂蚁转移期间,基于蚁群算法计算和更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵,其中,对于每只蚂蚁,所述状态转移矩阵用于描述所述蚂蚁的订单和运力的最新匹配结果,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率。
步骤S10222,对于每只蚂蚁,根据所述状态转移矩阵计算所述蚂蚁的目标向量。
步骤S10223,选取所述目标向量最大的蚂蚁。
本实施例的方案结合蚁群算法的原理,将分配方案所记载的订单和运力之间的匹配关系的变化情况等效为蚂蚁的转移,从而在蚁群中每只蚂蚁转移期间计算各只蚂蚁的状态转移矩阵和信息素矩阵,以从中选取出目标向量最大的蚂蚁作为候选最优方案。本领域技术人员理解,基于本实施例的方案,能够利用蚁群的正反馈机制向当前目标的最优方案逼近,产生逐步最大化当前目标的最优方案。
具体而言,基于本实施例的方案,能够在满足所述预设约束条件的前提下,最大程度利用运力,由于每次外迭代时新增目标的增加顺序是根据各个目标重要程度排序的,使得基于本实施例所述算法最终获得的最优调度方案能够同时满足装载最多订单(尤其是紧急订单和大型商品车订单)、最大程度降低货运车(即所述运力)的形式里程数,从而提高调度效率,降低整车物流调度成本。
具体地,所述状态转移矩阵初始即为所述启发信息矩阵。
进一步地,可以有公式:状态转移矩阵=信息素矩阵×启发信息矩阵。
在所述步骤S10221中,M只蚂蚁并行开始随机转移,每转移一步均可以获得M个新的方案,并各自更新自己的信息素矩阵,基于本次蚂蚁的信息素和上一次转移时的信息素矩阵按照上述信息素更新规则运算获得新的信息素矩阵。也即,在所述蚂蚁中各只蚂蚁转移期间,对于每只蚂蚁,可以将更新后的信息素矩阵作为所述蚂蚁下一次转移时的初始化信息素矩阵。
作为一个可选的方案,当M只蚂蚁转移完毕(即每只蚂蚁中所有订单和所有运力均匹配过一次)后,从中选出最优蚂蚁(即在当前目标的目标向量最大的蚂蚁),并将所述最优蚂蚁的最新的信息素矩阵作为下一次循环时所有蚂蚁的初始信息素矩阵。
进一步地,在所述蚁群中各只蚂蚁转移期间,更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵的更新周期可以是以各只蚂蚁转移时的步长为单位的。也即,蚂蚁每转移一次(即每走一步),更新一次所述蚂蚁的状态转移矩阵和信息素矩阵。
进一步地,对于每只蚂蚁,可以基于上述状态转移规则和信息素更新规则计算和更新对应的状态转移矩阵和信息素矩阵。
作为一个非限制性实施例,所述步骤S102中,在针对所述预设目标集合包括的各个目标执行所述外迭代期间,可以是按照所述各个目标的预设排序按照从前到后的顺序依次执行所述外迭代的。
具体地,所述预设目标集合包括的各个目标可以是按照紧急程度(或重要程度)进行排序的。由此,在执行所述步骤S102时,每执行一次外迭代就从所述预设目标集合中按照从前到后的顺序取一个目标作为本次外迭代需要满足的目标,从而确保最重要的目标能够被最先满足。另一方面,由于上一轮外迭代时考虑的目标会作为下一轮外迭代时的约束之一,因而,本实施例所述按照重要程度依次考虑目标的设计有利于将更重要的目标尽早纳入预设约束条件,以使后续产生的最优方案是从已经较优的方案(即基于前一次更重要的目标产生的最优方案的范围内)中进一步逼近获得的。
例如,假设所述预设目标集合包括的目标按重要程度从大到小依次有:最大化装载数量、最大化装载商品车紧急程度、最大化装载大、中型商品车数量。每次执行所述步骤S102时,选取所述预设目标集合中排序最靠前的一个目标(如最大化装载数量)进行蚁群算法的寻优操作,以获取在最大化装载数量上的投影最大的蚂蚁,该蚂蚁对应的分配方案记为候选最优调度方案(可简称为候选最优方案)。
然后,将最大化装载数量加入预设约束条件,并将最大化装载商品车紧急程度作为下一轮外迭代的目标进行蚁群算法的寻优操作,以获取在最大化装载商品车紧急程度上的投影最大的蚂蚁。其中,在本轮外迭代时,所述蚁群中各只蚂蚁的信息素矩阵是根据最大化装载数量上的投影最大的蚂蚁的最新的信息素矩阵确定的。
最后,将最大化装载商品车紧急程度也加入所述预设约束条件,并将最大化装载大、中型商品车数量作为下一轮外迭代的目标进行蚁群算法的寻优操作,以获取在最大化装载大、中型商品车数量上的投影最大的蚂蚁。其中,在本轮外迭代时,所述蚁群中各只蚂蚁的信息素矩阵是根据最大化装载商品车紧急程度上的投影最大的蚂蚁的最新的信息素矩阵确定的。
由此,将在最大化装载大、中型商品车数量上的投影最大的蚂蚁对应的分配方案作为所述最优调度方案(可简称为最优方案)。
在所述步骤S10222中,由于所述状态转移矩阵实际反映的是最新的分配方案,因而,可以计算所述分配方案在当前目标上的投影(即目标向量),所述投影可以为一个量化的结果,用于衡量该分配方案在该目标上的优劣程度。
作为一个变化例,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量可以是指:将所述上一次外迭代确定的候选最优调度方案在对应目标上的目标向量的宽容集合作为下一次外迭代的预设约束条件之一,所述宽容集合为对所述目标向量进行宽容分层处理的结果。
本领域技术人员理解,在每次外迭代单目标后,后续求解过程中可能出现无解现象,使算法终端。因而,本变化例的方案采用宽容分层法取得目标的宽容集合作为新的约束。
具体而言,所述宽容分层法可以基于如下公式表示:
min f1(X)=f1*;
s.t.X∈D;
其中,f1*为第一个目标函数f1(X)的最优解集合,s.t.X∈D为预设约束条件。
在第一个目标函数的最优解集合域内,求解第二个目标函数f2(X)的最优解:
min f2(X);
所述宽容分层法给定宽容值εi>0,由此可在前一个目标的最优值附近进行优化,从而避免优化中断。
由此,基于本变化例的方案,每一轮外迭代获取的候选最优调度方案必须满足上一轮外迭代时获取的候选最优调度方案的性能评价指标,该指标为一个区间。也即,对下一个目标进行蚁群算法寻优获取的候选最优调度方案的性能评价指标需要落在基于上一轮外迭代获取的候选最优调度方案的性能评价指标确定的区间范围内。
换言之,本实施例的方案实质为一个归一化的过程,下一轮外迭代获得的候选最优调度方案的性能评价指标不能超出上一轮外迭代获取的候选最优调度方案的性能评价指标的区间范围。如此循环迭代,直至遍历所有目标后,最终收敛的获得所述最优调度方案。
进一步地,在所述蚂蚁转移期间,对于每只蚂蚁,可以将更新后的信息素矩阵作为所述蚂蚁下一次转移时的初始化信息素矩阵。
进一步地,当选取出目标向量最大的蚂蚁时,可以将该蚂蚁的信息素矩阵作为所述蚁群中各只蚂蚁下一次转移时的初始化信息素矩阵。也即,可以将上一轮外迭代获取的目标向量最大的蚂蚁的信息素矩阵作为所述蚁群中各只蚂蚁下一轮外迭代时的初始化信息素矩阵。
作为一个非限制性实施例,对于所述蚁群中的每只蚂蚁,所述蚂蚁可以是按照确定性概率或随机性概率进行转移的,其中,所述按照确定性概率进行转移是指按照所述蚂蚁的信息素矩阵指示的最大概率方向进行转移,所述按照随机性概率进行转移是指按照随机方向进行转移,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率。
在一个优选例中,所述蚂蚁按照确定性概率或随机性概率进行转移的过程可以包括:所述蚂蚁从预设区间内抽取一个随机数;当所述随机数小于预设阈值时,按照确定性概率进行转移;否则,按照随机性概率进行转移。
例如,假定所述预设区间为(0,1)且所述预设阈值为0.9,对于一只蚂蚁,本次转移时从所述预设区间中随机抽取一个数,若该数值为0.2,则本次转移按照随机性概率转移;若该数值为0.98,则本次转移按照确定性概率转移。
进一步地,对于所述蚁群中的每只蚂蚁,其在每次转移之前都可以执行上述操作,以确定是按照随机性概率还是确定性概率转移。
进一步地,所述预设终止条件可以选自:所述蚁群中各只蚂蚁的转移次数达到预设循环次数;所述预设目标集合包括的目标遍历完毕。优选地,所述预设循环次数可以是根据所述订单数据和运力数据确定的,其目的在于确保最终获取的调度方案为一个收敛的结果。
进一步地,所述预设目标集合中的目标可以包括:最大化装载数量;最大化装载商品车紧急程度;最大化装载大、中型商品车数量。在实际应用中,本领域技术人员还可根据需要调整所述目标的具体内容和数量。
在一个典型的应用场景中,参考图6,在基于上述图4所述方案获取M个候选分配方案(即M只蚂蚁)后,可以继续执行步骤b101,以从所述预设目标集合中选取一个目标。
进一步地,可以执行步骤b102,以使每只蚂蚁被分配信息素矩阵与启发信息矩阵,并分别计算每只蚂蚁的不同的状态转移矩阵。
进一步地,执行步骤b103,每只蚂蚁按照确定性或者随机性概率进行转移,每转移一步即更新各自的信息素矩阵。
进一步地,在所述蚁群中各只蚂蚁转移期间,每只蚂蚁每走一步,执行步骤b104,以对每只蚂蚁进行目标性能评价,并从中选取在当前目标的目标向量最大的蚂蚁。
然后,执行步骤b105,以判断所述预设目标集合包括的目标是否遍历完毕。
当所述步骤b105的判断结果为否定的,也即,当所述预设目标集合包括的目标尚未遍历完毕时,用本次外迭代获取的最优蚂蚁进行信息素矩阵的更新,通过信息素矩阵计算状态转移矩阵,通过状态转移矩阵更新蚁群。
然后,执行步骤b106,以将本轮外迭代使用的目标加入所述预设约束条件,并重新执行所述步骤b101至步骤b104,如此滚动迭代,直至所述预设目标集合包括的目标全部遍历完毕。
作为一个变化例,当所述步骤b105的判断结果为肯定的,也即,当所述预设目标集合包括的目标遍历完毕时,还可以执行步骤b107,判断当前是否满足结束条件。例如,所述结束条件可以指所述步骤b101至步骤b105的循环次数是否达到预设循环次数。
当所述步骤b107的判断结果为肯定的,也即,当满足所述结束条件时,结束该算法模块,输出的最近一次外迭代获得的目标向量最大的蚂蚁(即最优蚂蚁)即为最优调度方案。
否则,即当所述步骤b107的判断结果为否定的时,用本次循环获取的最优蚂蚁进行信息素矩阵的更新,通过信息素矩阵计算状态转移矩阵,通过状态转移矩阵更新蚁群,重新执行所述步骤b101至步骤b105,如此滚动迭代,直至满足所述结束条件。
由上,本发明实施例的方案以智能化的自动求解方案替代现有的人工操作方式,将获取的每一候选分配方案记为一只蚂蚁,结合蚁群算法的原理,在不断迭代期间通过每只蚂蚁的转移获取针对单个目标的最优方案(即所述候选最优方案),然后将该目标作为新的约束进入下一轮外迭代,直至预设目标集合中的所有目标均完成外迭代,从而确保最终产生的最优方案(即所述最优调度方案)在满足所有约束的情况下目标值最优。
也即,本发明实施例的方案通过多目标蚁群算法来对整车物流调度进行精确描述和推演,通过利用蚁群算法的全局寻优能力和正反馈机制,结合多目标的分层优化,通过不断的循环迭代依次满足预设目标集合中的各个目标,使得最终求得的最优调度方案能够充分考虑各方面要求,避免产生失效调度,从而提高整车调度系统的系统效率,确保所述整车调度系统能够有条不紊地运行。
进一步,本发明实施例的方案不仅能够提高运算效率,还能够确保最优方案的求解,降低成本,提高客户满意度。
图7是本发明实施例的一种基于蚁群算法和分层优化的整车物流调度装置的结构示意图。本领域技术人员理解,本实施例所述基于蚁群算法和分层优化的整车物流调度装置7(以下简称为整车物流调度装置7)用于实施上述图1至图6所示实施例中所述的方法技术方案。
具体地,在本实施例中,所述整车物流调度装置7可以包括:获取模块71,用于获取整车物流数据,所述整车物流数据包括订单数据及运力数据;外迭代模块72,用于进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述外迭代模块72可以包括:初始装载模块721,用于基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;蚁群算法和分层优化模块722,将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;候选选取模块723,当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;选取模块73,在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
更为具体地,所述初始装载模块721可以执行如下步骤:循环迭代地随机匹配所述订单数据和运力数据,对于每次迭代,当订单分配完毕且匹配的运力最少时,或者,当运力分配完毕时,将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案;基于预设约束条件筛选历次迭代获取的候选分配方案,以获取所述M个候选分配方案。
优选地,所述整车物流调度装置7还可以包括:约束模块74,用于存储和提供所述预设约束条件。
进一步地,所述循环迭代地随机匹配所述订单数据和运力数据可以包括:从所述运力数据中随机抽取一个运力并开始内迭代,所述内迭代的过程包括:遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单;判断所述运力是否满载;当所述运力未满载时,清空所述运力的匹配结果并重新执行所述内迭代,直至本次内迭代的结果为所述运力满载时,判断所述订单数据包括的订单是否分配完毕;当所述订单数据包括的订单分配完毕,且所述运力数据包括的运力未分配完毕时,继续从所述运力数据中随机抽取一个运力并执行所述内迭代,直至所述运力数据包括的运力分配完毕或所述订单数据包括的订单分配完毕,以完成一次循环迭代。
进一步地,所述将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案可以包括:比较本次循环迭代确定的运力的数量与上一次循环迭代确定的运力的数量;若本次循环迭代确定的运力的数量小于上一次循环迭代确定的运力的数量,将本次循环迭代确定的运力与订单的匹配结果作为本次迭代获取的候选分配方案。
进一步地,所述遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单可以包括:从所述订单数据中随机抽取一个订单;判断所述运力和所述订单是否满足所述装载约束;当所述运力和所述订单不满足所述装载约束时,重新从所述订单数据中随机抽取一个订单,直至本次随机抽取的订单与所述运力满足所述装载约束时,判断所述订单数据包括的订单是否遍历完毕;当所述订单数据包括的订单未遍历完毕时,继续从所述订单数据中随机抽取一个订单并判断所述运力和本次随机抽取的订单是否满足所述装载约束,直至所述订单数据包括的订单全部遍历完毕。
进一步地,所述预设约束条件还可以包括:配载约束;意向方向约束;可拼城市数量约束。
进一步地,所述蚁群中的每只蚂蚁均可以分配有初始化信息素矩阵和启发信息矩阵,所述初始化信息素矩阵和启发信息矩阵与目标一一对应,其中,对于每只蚂蚁,所述启发信息矩阵用于描述所述蚂蚁的订单与运力的初始匹配结果,所述初始化信息素矩阵用于描述所述蚂蚁的各订单在各运力之间的初始转移概率。
进一步地,对于每只蚂蚁,所述启发信息矩阵可以基于如下公式表示:B=(buv);其中,B为所述蚂蚁的启发信息矩阵,buv为所述启发信息矩阵中第u行第v列的元素,u为所述订单数据中的第u个订单,1≤u≤U,U为所述订单数据包括的总订单数,v为所述运力数据中的第v个运力,1≤v≤V,V为所述运力数据包括的总运力数,当buv=1时表示在所述蚂蚁中第u个订单与第v个运力相匹配,当buv=0时表示在所述蚂蚁中第u个订单与第v个运力不相匹配。
进一步地,对于每只蚂蚁,所述蚂蚁的初始化信息素矩阵A可以包括U×V个元素,其中,U为所述订单数据包括的总订单数,V为所述运力数据包括的总运力数,所述U×V个元素均以预设常数填充。
进一步地,所述蚁群算法和分层优化模块722可以执行如下步骤:在所述蚁群中各只蚂蚁转移期间,基于蚁群算法计算和更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵,其中,对于每只蚂蚁,所述状态转移矩阵用于描述所述蚂蚁的订单和运力的最新匹配结果,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率;对于每只蚂蚁,根据所述状态转移矩阵计算所述蚂蚁的目标向量;选取所述目标向量最大的蚂蚁。
进一步地,所述整车物流调度装置7还可以包括:目标性能评价模块75,用于在转移期间计算每只蚂蚁在当前目标上的目标向量。
进一步地,在所述蚁群中各只蚂蚁转移期间,更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵的更新周期可以是以各只蚂蚁转移时的步长为单位的。
进一步地,在所述蚂蚁转移期间,对于每只蚂蚁,可以将更新后的信息素矩阵作为所述蚂蚁下一次转移时的初始化信息素矩阵。
进一步地,当选取出目标向量最大的蚂蚁时,可以将该蚂蚁的信息素矩阵作为所述蚁群中各只蚂蚁下一次转移时的初始化信息素矩阵。
进一步地,对于所述蚁群中的每只蚂蚁,所述蚂蚁可以是按照确定性概率或随机性概率进行转移的,其中,所述按照确定性概率进行转移是指按照所述蚂蚁的信息素矩阵指示的最大概率方向进行转移,所述按照随机性概率进行转移是指按照随机方向进行转移,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率。
进一步地,所述蚂蚁按照确定性概率或随机性概率进行转移的过程可以包括:所述蚂蚁从预设区间内抽取一个随机数;当所述随机数小于预设阈值时,按照确定性概率进行转移;否则,按照随机性概率进行转移。
进一步地,所述预设终止条件可以选自:所述蚁群中各只蚂蚁的转移次数达到预设循环次数;所述预设目标集合包括的目标遍历完毕。
进一步地,所述整车物流数据是通过对原始数据进行预处理获得的,所述获取模块71可以执行如下步骤:获取所述原始数据;根据预设标准值范围筛查所述原始数据,以剔除所述原始数据中不符合对应的预设标准值范围的数据;根据筛查后的原始数据获取所述整车物流数据。
进一步地,所述外迭代模块72在针对所述预设目标集合包括的各个目标执行所述外迭代期间,可以是按照所述各个目标的预设排序按照从前到后的顺序依次执行所述外迭代的。
进一步地,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量可以是指:将所述上一次外迭代确定的候选最优调度方案在对应目标上的目标向量的宽容集合作为下一次外迭代的预设约束条件之一,所述宽容集合为对所述目标向量进行宽容分层处理的结果。
进一步地,所述预设目标集合中的目标可以包括:最大化装载数量;最大化装载商品车紧急程度;最大化装载大、中型商品车数量。
进一步地,所述候选分配方案的数量M可以是根据所述订单数据确定的。
关于所述整车物流调度装置7的工作原理、工作方式的更多内容,可以参照上述图1至图6中的相关描述,这里不再赘述。
由上,采用本实施例的方案,原始数据经过所述获取模块71清洗后,将有效可用的订单信息、运力信息、节点信息、场景描述传到初始装载模块721;初始装载模块721按照约束模块74的要求,通过先验按照特定规则进行贪心装载形成初步的装载方式(即所述M个候选分配方案);蚁群算法和分层优化模块722以初始装载结果为起点,结合目标性能评价模块75,利用蚁群算法逐步对各个目标进行迭代优化,产生依次满足各个目标的最优方案,最后在满足预设条件时由选取模块73从蚁群中选出最优调度方案(即外迭代模块72最近一次外迭代获取的候选最优调度方案)。
其中,所述蚁群算法和分层优化模块722利用蚁群的正反馈机制向每个目标的最优方案逼近,在基于所述候选选取模块723完成前一个目标的最优方案选取后,所述约束模块74将该目标作为新的约束加入所述预设约束条件中,基于所述蚁群算法和分层优化模块722继续完成后一个目标的最优方案搜寻,如此迭代,直到所述选取模块73输出的最终方案满足各个目标最优。
进一步地,本发明实施例还公开一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述图1至图6所示实施例中所述的方法技术方案。优选地,所述存储介质可以包括诸如非挥发性(non-volatile)存储器或者非瞬态(non-transitory)存储器等计算机可读存储介质。所述存储介质可以包括ROM、RAM、磁盘或光盘等。
进一步地,本发明实施例还公开一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述图1至图6所示实施例中所述的方法技术方案。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种基于蚁群算法和分层优化的整车物流调度方法,其特征在于,包括:获取整车物流数据,所述整车物流数据包括订单数据及运力数据;
进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述进行外迭代的过程包括:
基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;
将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;
当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;
在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
2.根据权利要求1所述的整车物流调度方法,其特征在于,所述基于所述整车物流数据获取满足预设约束条件的M个候选分配方案包括:
循环迭代地随机匹配所述订单数据和运力数据,对于每次迭代,当订单分配完毕且匹配的运力最少时,或者,当运力分配完毕时,将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案;
基于预设约束条件筛选历次迭代获取的候选分配方案,以获取所述M个候选分配方案。
3.根据权利要求2所述的整车物流调度方法,其特征在于,所述循环迭代地随机匹配所述订单数据和运力数据包括:
从所述运力数据中随机抽取一个运力并开始内迭代,所述内迭代的过程包括:遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单;判断所述运力是否满载;
当所述运力未满载时,清空所述运力的匹配结果并重新执行所述内迭代,直至本次内迭代的结果为所述运力满载时,判断所述订单数据包括的订单是否分配完毕;
当所述订单数据包括的订单分配完毕,且所述运力数据包括的运力未分配完毕时,继续从所述运力数据中随机抽取一个运力并执行所述内迭代,直至所述运力数据包括的运力分配完毕或所述订单数据包括的订单分配完毕,以完成一次循环迭代。
4.根据权利要求3所述的整车物流调度方法,其特征在于,所述将已分配的订单和运力的匹配结果作为本次迭代获取的候选分配方案包括:
比较本次循环迭代确定的运力的数量与上一次循环迭代确定的运力的数量;
若本次循环迭代确定的运力的数量小于上一次循环迭代确定的运力的数量,将本次循环迭代确定的运力与订单的匹配结果作为本次迭代获取的候选分配方案。
5.根据权利要求3所述的整车物流调度方法,其特征在于,所述遍历所述订单数据包括的订单,以从中筛选出与所述运力满足装载约束的所有订单包括:
从所述订单数据中随机抽取一个订单;
判断所述运力和所述订单是否满足所述装载约束;
当所述运力和所述订单不满足所述装载约束时,重新从所述订单数据中随机抽取一个订单,直至本次随机抽取的订单与所述运力满足所述装载约束时,判断所述订单数据包括的订单是否遍历完毕;
当所述订单数据包括的订单未遍历完毕时,继续从所述订单数据中随机抽取一个订单并判断所述运力和本次随机抽取的订单是否满足所述装载约束,直至所述订单数据包括的订单全部遍历完毕。
6.根据权利要求1所述的整车物流调度方法,其特征在于,所述预设约束条件还包括:
配载约束;
意向方向约束;
可拼城市数量约束。
7.根据权利要求1所述的整车物流调度方法,其特征在于,所述蚁群中的每只蚂蚁均分配有初始化信息素矩阵和启发信息矩阵,所述初始化信息素矩阵和启发信息矩阵与目标一一对应,
其中,对于每只蚂蚁,所述启发信息矩阵用于描述所述蚂蚁的订单与运力的初始匹配结果,所述初始化信息素矩阵用于描述所述蚂蚁的各订单在各运力之间的初始转移概率。
8.根据权利要求7所述的整车物流调度方法,其特征在于,对于每只蚂蚁,所述启发信息矩阵基于如下公式表示:
B=(buv);
其中,B为所述蚂蚁的启发信息矩阵,buv为所述启发信息矩阵中第u行第v列的元素,u为所述订单数据中的第u个订单,1≤u≤U,U为所述订单数据包括的总订单数,v为所述运力数据中的第v个运力,1≤v≤V,V为所述运力数据包括的总运力数,当buv=1时表示在所述蚂蚁中第u个订单与第v个运力相匹配,当buv=0时表示在所述蚂蚁中第u个订单与第v个运力不相匹配。
9.根据权利要求7所述的整车物流调度方法,其特征在于,对于每只蚂蚁,所述蚂蚁的初始化信息素矩阵A包括U×V个元素,其中,U为所述订单数据包括的总订单数,V为所述运力数据包括的总运力数,所述U×V个元素均以预设常数填充。
10.根据权利要求1所述的整车物流调度方法,其特征在于,所述在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁包括:
在所述蚁群中各只蚂蚁转移期间,基于蚁群算法计算和更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵,其中,对于每只蚂蚁,所述状态转移矩阵用于描述所述蚂蚁的订单和运力的最新匹配结果,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率;
对于每只蚂蚁,根据所述状态转移矩阵计算所述蚂蚁的目标向量;
选取所述目标向量最大的蚂蚁。
11.根据权利要求10所述的整车物流调度方法,其特征在于,在所述蚁群中各只蚂蚁转移期间,更新所述蚁群中各只蚂蚁的状态转移矩阵和信息素矩阵的更新周期是以各只蚂蚁转移时的步长为单位的。
12.根据权利要求10所述的整车物流调度方法,其特征在于,在所述蚂蚁转移期间,对于每只蚂蚁,将更新后的信息素矩阵作为所述蚂蚁下一次转移时的初始化信息素矩阵。
13.根据权利要求10所述的整车物流调度方法,其特征在于,当选取出目标向量最大的蚂蚁时,将该蚂蚁的信息素矩阵作为所述蚁群中各只蚂蚁下一次转移时的初始化信息素矩阵。
14.根据权利要求1所述的整车物流调度方法,其特征在于,对于所述蚁群中的每只蚂蚁,所述蚂蚁是按照确定性概率或随机性概率进行转移的,其中,所述按照确定性概率进行转移是指按照所述蚂蚁的信息素矩阵指示的最大概率方向进行转移,所述按照随机性概率进行转移是指按照随机方向进行转移,所述信息素矩阵用于描述所述蚂蚁的各订单在运力之间的最新转移概率。
15.根据权利要求14所述的整车物流调度方法,其特征在于,所述蚂蚁按照确定性概率或随机性概率进行转移的过程包括:
所述蚂蚁从预设区间内抽取一个随机数;
当所述随机数小于预设阈值时,按照确定性概率进行转移;否则,按照随机性概率进行转移。
16.根据权利要求1所述的整车物流调度方法,其特征在于,所述预设终止条件选自:所述蚁群中各只蚂蚁的转移次数达到预设循环次数;所述预设目标集合包括的目标遍历完毕。
17.根据权利要求1所述的整车物流调度方法,其特征在于,所述整车物流数据是通过对原始数据进行预处理获得的,所述获取整车物流数据包括:
获取所述原始数据;
根据预设标准值范围筛查所述原始数据,以剔除所述原始数据中不符合对应的预设标准值范围的数据;
根据筛查后的原始数据获取所述整车物流数据。
18.根据权利要求1所述的整车物流调度方法,其特征在于,在针对所述预设目标集合包括的各个目标执行所述外迭代期间,是按照所述各个目标的预设排序按照从前到后的顺序依次执行所述外迭代的。
19.根据权利要求1所述的整车物流调度方法,其特征在于,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量是指:将所述上一次外迭代确定的候选最优调度方案在对应目标上的目标向量的宽容集合作为下一次外迭代的预设约束条件之一,所述宽容集合为对所述目标向量进行宽容分层处理的结果。
20.根据权利要求1至19中任一项所述的整车物流调度方法,其特征在于,所述预设目标集合中的目标包括:
最大化装载数量;
最大化装载商品车紧急程度;
最大化装载大、中型商品车数量。
21.根据权利要求1至19中任一项所述的整车物流调度方法,其特征在于,所述候选分配方案的数量M是根据所述订单数据确定的。
22.一种基于蚁群算法和分层优化的整车物流调度装置,其特征在于,包括:获取模块,用于获取整车物流数据,所述整车物流数据包括订单数据及运力数据;
外迭代模块,用于进行外迭代,以确定针对一个目标的候选最优调度方案,所述目标选自预设目标集合,所述外迭代模块包括:
初始装载模块,用于基于所述整车物流数据获取满足预设约束条件的M个候选分配方案,其中,M≥1,所述预设约束条件包括上一次外迭代确定的候选最优调度方案在对应目标上的目标向量;
蚁群算法和分层优化模块,将所述候选分配方案记为蚂蚁,将M只蚂蚁构成的集合记为蚁群,在所述蚁群中各只蚂蚁转移期间,从所述蚁群中选取目标向量最大的蚂蚁,所述蚂蚁在所述目标上的投影记为对应于该蚂蚁的目标向量;
候选选取模块,当所述蚁群的转移状态满足预设终止条件时,将最近一次转移时选取的目标向量最大的蚂蚁对应的分配方案确定为本次外迭代的候选最优调度方案;
选取模块,在针对所述预设目标集合包括的所有目标执行所述外迭代后,将最后一次外迭代确定的候选最优调度方案作为最优调度方案。
23.一种存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至21中任一项所述方法的步骤。
24.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至21中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811081447.0A CN109214756B (zh) | 2018-09-17 | 2018-09-17 | 整车物流调度方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811081447.0A CN109214756B (zh) | 2018-09-17 | 2018-09-17 | 整车物流调度方法及装置、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109214756A true CN109214756A (zh) | 2019-01-15 |
CN109214756B CN109214756B (zh) | 2020-12-01 |
Family
ID=64984581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811081447.0A Active CN109214756B (zh) | 2018-09-17 | 2018-09-17 | 整车物流调度方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109214756B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001643A (zh) * | 2020-08-27 | 2020-11-27 | 上海汽车集团股份有限公司 | 一种物料组合方法、装置、存储介质及电子设备 |
CN112001549A (zh) * | 2020-08-25 | 2020-11-27 | 上海汽车集团股份有限公司 | 一种装载信息确定方法、装置、服务器及存储介质 |
WO2020248211A1 (en) * | 2019-06-14 | 2020-12-17 | Beijing Didi Infinity Technology And Development Co., Ltd. | Hierarchical coarse-coded spatiotemporal embedding for value function evaluation in online order dispatching |
CN112270135A (zh) * | 2020-11-13 | 2021-01-26 | 吉林烟草工业有限责任公司 | 一种物流发运调度智能配送方法、装置、设备及存储介质 |
CN113009821A (zh) * | 2021-02-10 | 2021-06-22 | 上海海事大学 | 一种基于信息素初始分配和动态更新的蚁群算法优化方法 |
CN113496390A (zh) * | 2021-04-28 | 2021-10-12 | 炭为互联科技有限公司 | 一种全站式煤炭供应链智慧服务方法及服务系统 |
CN114970925A (zh) * | 2021-02-26 | 2022-08-30 | 华晨宝马汽车有限公司 | 优化物流调度的方法和系统 |
CN115587742A (zh) * | 2022-11-25 | 2023-01-10 | 万联易达物流科技有限公司 | 一种物流场站的车辆出入场调度方法及装置 |
CN115879849A (zh) * | 2023-03-03 | 2023-03-31 | 青岛海天利达金属技术有限公司 | 一种物流信息的智能管理方法 |
CN117557187A (zh) * | 2024-01-10 | 2024-02-13 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
CN117557077A (zh) * | 2024-01-12 | 2024-02-13 | 宁波安得智联科技有限公司 | 运力分配方法、运力分配设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238561A (zh) * | 2011-07-20 | 2011-11-09 | 夏士雄 | 基于能量有效的分层协作覆盖模型的节点部署方法 |
KR20160104909A (ko) * | 2015-02-27 | 2016-09-06 | 고려대학교 산학협력단 | 개미 알고리즘을 이용한 물류배송용 배차 스케줄링 방법 및 시스템 |
CN106156897A (zh) * | 2016-08-22 | 2016-11-23 | 武汉轻工大学 | 物流配送中最优路径规划模拟系统 |
CN107330561A (zh) * | 2017-07-05 | 2017-11-07 | 青岛大学附属医院 | 一种基于蚁群算法的多目标岸桥‑泊位调度优化方法 |
CN107578199A (zh) * | 2017-08-21 | 2018-01-12 | 南京航空航天大学 | 一种求解二维装载约束物流车辆调度问题的方法 |
-
2018
- 2018-09-17 CN CN201811081447.0A patent/CN109214756B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238561A (zh) * | 2011-07-20 | 2011-11-09 | 夏士雄 | 基于能量有效的分层协作覆盖模型的节点部署方法 |
KR20160104909A (ko) * | 2015-02-27 | 2016-09-06 | 고려대학교 산학협력단 | 개미 알고리즘을 이용한 물류배송용 배차 스케줄링 방법 및 시스템 |
CN106156897A (zh) * | 2016-08-22 | 2016-11-23 | 武汉轻工大学 | 物流配送中最优路径规划模拟系统 |
CN107330561A (zh) * | 2017-07-05 | 2017-11-07 | 青岛大学附属医院 | 一种基于蚁群算法的多目标岸桥‑泊位调度优化方法 |
CN107578199A (zh) * | 2017-08-21 | 2018-01-12 | 南京航空航天大学 | 一种求解二维装载约束物流车辆调度问题的方法 |
Non-Patent Citations (1)
Title |
---|
王忠英等: "经过改进的求解TSP问题的蚁群算法", 《数学的实践及认识》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020248211A1 (en) * | 2019-06-14 | 2020-12-17 | Beijing Didi Infinity Technology And Development Co., Ltd. | Hierarchical coarse-coded spatiotemporal embedding for value function evaluation in online order dispatching |
CN112001549A (zh) * | 2020-08-25 | 2020-11-27 | 上海汽车集团股份有限公司 | 一种装载信息确定方法、装置、服务器及存储介质 |
CN112001643A (zh) * | 2020-08-27 | 2020-11-27 | 上海汽车集团股份有限公司 | 一种物料组合方法、装置、存储介质及电子设备 |
CN112270135B (zh) * | 2020-11-13 | 2023-02-03 | 吉林烟草工业有限责任公司 | 一种物流发运调度智能配送方法、装置、设备及存储介质 |
CN112270135A (zh) * | 2020-11-13 | 2021-01-26 | 吉林烟草工业有限责任公司 | 一种物流发运调度智能配送方法、装置、设备及存储介质 |
CN113009821A (zh) * | 2021-02-10 | 2021-06-22 | 上海海事大学 | 一种基于信息素初始分配和动态更新的蚁群算法优化方法 |
CN113009821B (zh) * | 2021-02-10 | 2022-08-19 | 上海海事大学 | 一种基于信息素初始分配和动态更新的蚁群算法优化方法 |
CN114970925A (zh) * | 2021-02-26 | 2022-08-30 | 华晨宝马汽车有限公司 | 优化物流调度的方法和系统 |
CN113496390A (zh) * | 2021-04-28 | 2021-10-12 | 炭为互联科技有限公司 | 一种全站式煤炭供应链智慧服务方法及服务系统 |
CN115587742A (zh) * | 2022-11-25 | 2023-01-10 | 万联易达物流科技有限公司 | 一种物流场站的车辆出入场调度方法及装置 |
CN115587742B (zh) * | 2022-11-25 | 2023-09-01 | 万联易达物流科技有限公司 | 一种物流场站的车辆出入场调度方法及装置 |
CN115879849A (zh) * | 2023-03-03 | 2023-03-31 | 青岛海天利达金属技术有限公司 | 一种物流信息的智能管理方法 |
CN117557187A (zh) * | 2024-01-10 | 2024-02-13 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
CN117557187B (zh) * | 2024-01-10 | 2024-03-26 | 四川宽窄智慧物流有限责任公司 | 用于多订单的智能配载控制方法 |
CN117557077A (zh) * | 2024-01-12 | 2024-02-13 | 宁波安得智联科技有限公司 | 运力分配方法、运力分配设备以及存储介质 |
CN117557077B (zh) * | 2024-01-12 | 2024-04-26 | 宁波安得智联科技有限公司 | 运力分配方法、运力分配设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109214756B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214756A (zh) | 基于蚁群算法和分层优化的整车物流调度方法及装置、存储介质、终端 | |
CN108846623A (zh) | 基于多目标蚁群算法的整车物流调度方法及装置、存储介质、终端 | |
CN109345091A (zh) | 基于蚁群算法的整车物流调度方法及装置、存储介质、终端 | |
Morabit et al. | Machine-learning–based column selection for column generation | |
US10474953B2 (en) | Systems and methods for multi-objective optimizations with decision variable perturbations | |
WO2022262469A1 (zh) | 一种基于博弈论的工业园区物流调度方法及系统 | |
Kleywegt et al. | Dynamic programming approximations for a stochastic inventory routing problem | |
Prins et al. | Order-first split-second methods for vehicle routing problems: A review | |
Liu et al. | Novel multi-objective resource allocation and activity scheduling for fourth party logistics | |
US11676038B2 (en) | Systems and methods for multi-objective optimizations with objective space mapping | |
Khmeleva et al. | Fuzzy-logic controlled genetic algorithm for the rail-freight crew-scheduling problem | |
Rostami et al. | Minimizing maximum tardiness and delivery costs with batch delivery and job release times | |
CN109934372B (zh) | 一种路径规划方法、装置及设备 | |
Navazi et al. | A new sustainable location-routing problem with simultaneous pickup and delivery by two-compartment vehicles for a perishable product considering circular economy | |
CN104008428B (zh) | 产品服务需求预测和资源优选配置方法 | |
Cai et al. | Dynamic bicycle relocation problem with broken bicycles | |
Gu et al. | Dynamic truck–drone routing problem for scheduled deliveries and on-demand pickups with time-related constraints | |
El Bouzekri El Idrissi et al. | Evolutionary algorithm for the bi-objective green vehicle routing problem | |
Kamsopa et al. | Hybrid genetic algorithm for multi-period vehicle routing problem with mixed pickup and delivery with time window, heterogeneous fleet, duration time and rest area | |
Kim et al. | Ant colony optimisation with random selection for block transportation scheduling with heterogeneous transporters in a shipyard | |
CN112232605B (zh) | 派送资源的处理方法、装置、设备及计算机可读存储介质 | |
Su et al. | A robust scheduling optimization method for flight deck operations of aircraft carrier with ternary interval durations | |
Matthews et al. | SKU arrangement on a unidirectional picking line | |
Çakır et al. | Intuitionistic fuzzy multi-objective milk-run modelling under time window constraints | |
Lam et al. | Responsive pick face replenishment strategy for stock allocation to fulfil e-commerce order |
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 |