CN109978245B - 一种基于预估的以用时最短为指标的导弹车调度方法 - Google Patents
一种基于预估的以用时最短为指标的导弹车调度方法 Download PDFInfo
- Publication number
- CN109978245B CN109978245B CN201910198564.3A CN201910198564A CN109978245B CN 109978245 B CN109978245 B CN 109978245B CN 201910198564 A CN201910198564 A CN 201910198564A CN 109978245 B CN109978245 B CN 109978245B
- Authority
- CN
- China
- Prior art keywords
- current
- node
- task
- estimated
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman 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
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于预估的以用时最短为指标的导弹车调度方法,(1)输入当前场景和初始需求任务;(2)将初始需求任务和当前场景包装成为一个状态结点,置入一个空的有序队列;(3)当满足结束条件时,转到步骤(9);否则取出当前有序队列的首结点;(4)对当前任务进行原子任务分解,分解成为一发导弹的发射任务,即称之为原子任务和剩余的发射任务;(5)进行原子任务的执行:分支搜索所有能够的完成该原子任务的执行的可能性,得到一系列子结点;(6)若子结点无剩余任务,进行最优性判断;否则进行最终用时的预估;(7)将完成预估的所有子结点分别插入有序队列之中;(8)返回步骤(3);(9)输出当前最优解。本发明有效地提升了搜索和剪枝的效率。
Description
技术领域
本发明涉及一种基于预估的以用时最短为指标的导弹车调度方法,属于物流和车辆调度技术领域。
背景技术
物流车辆调度是交通运输的一个重要内容。如何在较低的成本代价下实现运输调度问题成了一个重要的议题,车辆路径问题(VRP)在当今社会背景下也成为了学界一个重要的研究内容。VRP问题到了各个领域,衍生出了众多的分支。
1959年,Dantzig和Ramser提出了VRP问题后,给出了相关的数学模型及其相关解法[1]Dantzig G B,Ramser J H.The Truck Dispatching Problem[J].ManagementScience,1959,6(1):80-91.]。之后,Clarke和Wright提出了对前述两人的解法的改进方法,后人称为Clarke-Wright节约算法[2Clarke G,Wright J W.Scheduling of Vehiclesfrom a Central Depot to a Number of Delivery Points[J].Operations Research,1964,12(4):568-581.]。此后,相关算法犹如雨后春笋般涌现。1995年,Fisher将车辆路径问题的求解方法的演进划分成了三个阶段:第一阶段是1960年至1970年,主要是简单启发式方法,包括了各种局部改善启发式算法和贪婪算法等;第二阶段是1970至1980年,出现了以数学规划为主的启发式算法,包括了指派法、集合涵盖法和集合分割法;第三阶段是1980年至今的各类较新的方法,包括严谨启发式方法、人工智能方法等。
到了新世纪,随着城市大规模物流配送的兴起,两层级车辆路径问题(2E-VRP)逐渐成为讨论的热点之一。在2E-VRP问题中,有两种车队负责将货物从仓库运送到客户点:第一层级车队负责将货物从仓库运送到若干个转运点(文献称卫星点,satellite),而第二层级车辆负责将货物从转运点运送到客户点。
还有一类问题是带卫星点同步的两层级车辆路径问题(Two-Echelon VehicleRouting Problem with Satellite Synchronization,2E-VRP-SS)。在这类问题中,或是卫星点被选定为一些没有库存能力的临时停靠点,或是受制于车辆的功能性而只允许货物在两级车辆间互相装卸,要求在货物转运的过程中,两种车辆必须都在场。
在军事领域,VRP问题也有重大的应用前景。当某部执行发射导弹任务时,需要面临如何调度发射车和备弹车执行任务的问题。这不同于其他的车辆路径规划问题:所执行的实际上是2E-VRP-SS问题——调度发射车前往发射阵地以及调度备弹车为发射车装填导弹;且在执行任务的过程中涉及到发射车和备弹车的互等,需要考虑补给所耗费的时间;由于军事任务的迫切性和调度计算的实时性,对计算时间的要求更加严苛,要求在尽可能短的时间内(往往要在数分钟的时间内)得到一个较好的调度结果。
除此之外,由于安全方面的考虑,发射车发射导弹之后阵地暴露,故规定一个发射阵地在一次发射中只使用一次。即在一个阵地上发射导弹时,所有发射车同时发射,而在发射之后阵地弃用,禁止车辆到达这一阵地。
Perboli G,Tadei R,Vigo D.The Two-Echelon Capacitated Vehicle RoutingProblem:Models and Math-Based Heuristics[J].Transportation Science,2011,45(3):364-380.中提出了2E-VRP-SS并将问题进行数学建模,并首次提供了求解方法;
Perboli G,Tadei R,Tadei R.New Families of Valid Inequalities for theTwo-Echelon Vehicle Routing Problem[J].Electronic Notes in DiscreteMathematics,2010,36(none):639-646.中为此提供了一些适用的不等式,一定程度上加速了计算。但是两文中用到了精确的数学计算,虽然能够得到精确解,但是由于其复杂度过高,求解时间往往过长,在面对较复杂调度问题时难以在短时间内得到较优解,在一些实时调度上难以得到应用。
Grangier P,Gendreau M,Lehuédé,Fabien,et al.An adaptive largeneighborhood search for the two-echelon multiple-trip vehicle routing problemwith satellite synchronization[J].European Journal of Operational Research,2016,254(1):80-91.将2E-VRP-SS问题转化成了带转运的拾取-配送问题(Pickup andDelivery Problem with Transfer,PDPT),并采用自适应大邻域搜索方法(AdaptiveLarge Neighborhood Search)求解了这一问题。然而,这一方法面对当前的导弹调度运输问题,还是有其不足之处:当前问题是开路的路径问题,即车辆的起始点不固定;且往往由于导弹发射车的装载数量有限,当前问题还允许了多辆导弹发射车在同一个阵地发射的情况,但是一般的物流论文中往往认为负责配送车辆的装载远多于任务点的需求而没有考虑这样的操作。因此,论文中采用的方法仍难以直接应用于本问题。
Laporte G,Hélène M,Nobert Y.An exact algorithm for the asymmetricalcapacitated vehicle routing problem[J].Networks,1986,16(1):33-46.采用了分支定界法(branch-and-bound)进行VRP问题的求解。之后涌现了对2E-VRP的相关衍生算法,如分支切割法(branch-and-cut)[Jepsen M,Spoorendonk S,Ropke S.A branch-and-cutalgorithm for the symmetric two-echelon capacitated vehicle routing problem[M].INFORMS,2013.],分支定价法(branch-and-price)[Santos F A,Cunha A S D,MateusG R.Branch-and-price algorithms for the Two-Echelon Capacitated VehicleRouting Problem[J].Optimization Letters,2013,7(7):1537-1547.]等。这类方法的优点是扩展性较好,能够较好地结合实际问题进行求解。但是,据了解,这类方法还尚未投入到2E-VRP-SS的研究中。
所列举的针对2E-VRP的文章中,很少有针对最终用时最短的性能指标的解法。在这类问题中,最终用时是取所有车辆的活动时间的最长者,相比于其他性能指标的问题,例如总路程最短的车辆调度,具有一定的特殊性。
当前现有的技术存在计算复杂度大,计算时间较长的问题,短时间内难以得到较优解,故而难以在实时调度系统中使用。且现有研究常研究带时间窗的车辆路径问题,而较少针对最终用时的性能指标进行求解。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于预估的以用时最短为指标的导弹车调度方法,采用任务分解和预估的方法,得到适用的车辆调度方案。对于最终用时预估,采用了随机预估搜索的方法,以有效地提升搜索和剪枝的效率。
在本发明中,要求调度算法输入当前的场景内容(包括各点的坐标、车辆的分布、当前载重等)、任务数,输出车队的调度结果。在满足约束条件的前提下,使得调度结果的最终用时最短。
本发明技术解决方案:一种基于预估的以用时最短为指标的导弹车调度方法,步骤如下:
(1)输入当前场景和初始需求任务;
(2)将初始需求任务和当前场景包装成为一个状态结点,置入一个空的有序队列,得到一个初始的当前的有序队列;
(3)检查设定的结束条件,当满足结束条件时,转到步骤(9);否则对于当前有序队列取出其首结点,用于之后的扩展;
(4)步骤(3)得到的队列结点包含了一个调度过程中的状态和发射任务,一个调度过程中的状态包含了当前的车辆位置和车辆载重等信息,对当前发射任务进行原子任务分解,得到一发导弹的发射任务,即称之为原子任务和剩余的发射任务;
(5)进行步骤(4)所得原子任务的执行:分支搜索所有能够的完成该原子任务的执行的可能性,得到一系列子状态,将子状态和当前剩余发射任务一起,封装成为一系列队列子结点;
(6)步骤(5)得到的一系列队列子结点中,若有子结点内无剩余发射任务,对这一队列结点进行最优性判断,并进行当前最优解的更新;否则对这一队列结点进行最终用时性能的预估;
(7)将步骤(6)中完成最终用时预估的所有队列子结点,依据该队列子结点的最终用时的预估值分别插入有序队列之中;
(8)返回步骤(3);
(9)输出当前最优解。
所述步骤(3)中,设定的结束条件为:检查当前的有序队列长度是否达到上限,当优先队列长度达到上限,则判断进行最优性判断的次数是否达到一个下限,当最优性判断的次数达到了一个下限,则满足设定的结束条件。
所述步骤(6)中,预估的方法为随机预估方法步骤如下:
(11)输入待预估结点并置其初始的预估值为无穷大,置随机预估计数值;
(12)复制待预估结点,生成预估过程结构体,所述预估过程结构体包括一个当前状态和发射任务,对当前发射任务进行原子任务分解,分解得到一发导弹的发射任务,即称之为原子任务和剩余的发射任务;
(13)执行所得原子任务,随机搜索一次完成该次原子任务的执行的可能性,得到一个子状态,将子状态和当前剩余发射任务一起,封装成为一个子预估过程结构体;
(14)若得到的子预估过程结构体有剩余发射任务,返回步骤(12),否则,转到步骤(15);
(15)随机预估计数值减1,若步骤(13)中得到的子预估过程结构体的最终用时优于待预估结点的预估值,更新待预估结点的预估值;
(16)将步骤(13)中得到的子预估过程结构体进行最优性判断,并进行当前最优解的更新;
(17)检查随机预估的结束条件,若随机预估计数值为非0,转到步骤(12),否则,转到步骤(18);
(18)输出待预估结点。
这一系列的操作有效地降低了预估的复杂度。
所述步骤(4)中原子任务分解的过程如下:
以如下的方式表示当前任务:
r=[r1,r2,…,rk,…,rn]T
其中,rk表示待分解原子任务的阵地k所需要发射的导弹数,n表示发射阵地数,该任务进行如下分解:
r=[r1,r2,…,rk-1,…,rn]T+[0,…,1,…,0]T
表示当前的任务分解成为发射阵地k上的一个原子任务和剩余的发射任务。
所述步骤(6)中最优性判断的过程如下:
比较当前无剩余发射任务的队列子结点的最终用时tc与当前搜索的最优用时to进行比较,若tc<to,将当前队列子结点下的已有历史操作进行解码,得到更新的当前最优解;若tc=to,再比较当前无剩余发射任务的子结点的最终路程dc与当前搜索的最优解的路程do进行比较,当dc<do,将当前队列子结点下的已有历史操作进行解码,得到当前队列结点对应的可行解,并将当前最优解的更新为解码得到的可行解。
上述对当前队列子结点下的已有历史操作进行解码实现如下:
在搜索过程中维护一个历史操作树,树中的每一个结点包含一个历史操作,可能是发射车的发射动作,也可能是备弹车的补弹动作;
从当前队列子结点读取一个指向历史操作树的指针,得到一个历史操作树结点。之后每次从树结点读取指向其父结点的指针,直至读取到历史操作树的根结点;将读取过的历史操作树结点中包含的历史操作进行倒序,得到当前队列结点所代表的所有历史操作,当前队列结点中无剩余发射任务时,得到的一系列历史操作即是其对应的一个可行解。
所述步骤(16)中,预估过程结构体的最优性判断过程如下:
比较当前无剩余发射任务的预估过程结构体的最终用时tc与当前搜索的最优用时进行比较,若/>将当前队列子结点下的已有历史操作进行解码,得到更新的当前最优解;若/>进一步比较当前无剩余发射任务的预估过程结构体的最终路程/>与当前搜索的最优解的路程do进行比较,当/>将当前预估过程结构体下的已有历史操作进行解码,得到一个可行解,并进行当前最优解的更新,将当前最优解更新为这一个可行解。
上述对当前预估过程下的已有历史操作进行解码步骤如下:
(1)从当前预估过程结构体读取一个指向历史操作队列的指针,得到一个历史操作队列结点。之后每次从历史操作队列结点读取指向其上一个结点的指针,直至读取到一个终止结点,将读取过的历史操作队列中包含的历史操作进行倒序,得到当前预估结构体所代表的随机预估过程中历经的所有历史操作,记为操作序列1;
(2)对于待预估队列结点,进行已有历史操作的解码,得到操作序列2;
(3)将操作序列1拼接于操作序列2之后,得到最终的操作序列3;当前预估过程结构体中无剩余任务时,操作序列3构成一个可行解。
本发明与现有技术相比的优点在于:
(1)本发明能够在短时间内得到较好的调度结果
通过原子任务分解和预估的方法,本发明对于搜索有了把握性:原子任务分解将搜索解分成一系列的动作的有序结合,而预估方法有助于计算对于搜索方向的掌控,即每次都朝着算法认为的最有利的方向进行搜索。如此使得算法能够在较短时间内得到好的调度结果,这将有利于算法投入到实时调度中。
(2)本发明能够以较低的复杂度实现预估
在任务复杂的情况下,实现状态的较精确预估可能会复出一定的时间成本。而每次扩展出子状态后都将为其预估,这将花费众多的时间,这对实时调度是极其不利的。采用了随机预估方法,使得预估的复杂度为O(n),n为剩余任务量。随机预估的方法虽然没有得到很精确的结果,但是整体上的趋势把握明显。
(3)本发明预估过程中实现当前最优解的替换
不同于数学计算确定预估值的上、下界,采用随机预估的方法,在预估过程中同样实现了随机搜索可行解。当搜索到优于当前最优解时,能够及时更新当前最优解。
附图说明
图1为本发明方法实现流程图;
图2为本发明的实际动作分解示意图;
图3为本发明的最终用时预估和有序队列的扩展示意图;
图4为本发明的随机预估方法的流程图;
图5为本发明的历史操作树的示意图;
图6为本发明的历史操作队列的示意图,左图是写入,右图是读取。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
如图1所示,本发明具体实现如下:
1.原子任务分解
以如下的方式表示当前任务:
r=[r1,r2,…,rk,…,rn]T
其中,rk表示阵地k所需要发射的导弹数,n表示发射阵地数。而该任务可进行如下分解:
r=[r1,r2,…,rk-1,…,rn]T+[0,…,1,…,0]T
表示当前的任务可分解成为一个原子任务和剩余的任务。如此,重复地进行原子任务分解,便可将一个复杂的任务分解成为一系列原子任务的有序组合,而一个复杂任务的执行也分解成了一系列原子任务的执行。
2.2基于原子任务分解的动作分解
藉由原子任务分解可进一步讨论执行原子任务的实际意义。在一个当前状态下,不光要考虑原子任务的选择,还要考虑原子任务的具体执行。面对一个当前状态下,需要考虑如下问题:
a)原子任务的选择;
b)执行该任务的发射车的选择;
c)是否需要备弹车、执行补弹的备弹车的选择;
d)其他相关细节,例如,备弹车是否先到补给站装填导弹、在哪给发射车补弹、补多少弹等。
实际动作分解的讨论如图2所示:在有4辆发射车,4辆备弹车,2个补给站,车辆限载5枚导弹的情况下,一个原子任务的执行最多将会扩展出4×4×2×2×4=256个子结点,当场景更复杂时更多。一个原子任务的执行有众多可能的情况,一个状态结点经过一个原子任务的执行将会扩展出众多的子任务,而一系列原子任务的叠加执行,将其完全扩展的计算复杂度是惊人的。
3.同一状态的历史操作顺序探讨
由前述,一个状态在经过一次扩展之后得到一系列子状态。由此,这些子状态则可认为是一个原始状态和一次动作执行之后得到的。而同样的,原始状态也可由上一步的状态和动作得到。如此迭代地看,可以将任何一个当前状态看作原始状态经过一系列有序的动作之后得到的结果。
然而这些动作并非必须按照一个严格的顺序得到。实际上,在一定程度上交换动作的次序,不会改变最终解。这些动作序列并非按照时序进行的。
4.基于动作分解的时间结算
在一系列原子任务分解的过程中会出现动作非时序进行的情况,因而,在动作分解的调度算法下,需要记录一个当前状态下每一辆的最后动作时间。需要动作分解的基础上,更加详细地进行时间的结算。
4.1一次动作后的初步时间结算
进行一次动作的时间结算时,设定当前车辆的原始时刻为t0,车辆从初始位置前往任务位置的用时为Δt,车辆初步时间结算后的时刻为t′。以下是一辆车在一次动作之后的初次时间结算,之后由于其他约束,可能会有调整。
a)当出现转载时,t′=max{t0+Δt,tr},其中tr是相关车辆的到达时间。
b)当出现转载时,t′=t0+Δt。
4.2同一阵地上发射车齐射的时间调整
实际作战中,由于导弹发射后暴露发射阵地,在这一阵地上的后续发射十分危险,所以规定一个阵地上的所有发射任务一次完成,允许多辆发射车同时在一个发射阵地上发射导弹。之后,弃用这一阵地。
由于有同一阵地上发射车齐射的规定,需要对发射车的后续动作进行重新讨论。为避此麻烦,在实行发射车发射动作时,先将发射车锁定,待到该阵地上的所有任务被执行完后,解除车辆在阵地上的锁定,并将这些解锁的车辆的动作时间改为该阵地上任务最终被执行完的时刻。这个操作实际上是把相关发射车的后续动作延后讨论。这样,保证了同一个阵地下的所有发射车的动作时间一致。
5.最终用时预估和有序队列
由于单一原子任务的执行可能性繁多,导致直接穷举算法的复杂度将会很大,故而需要采用一些有效的方法,使得计算朝着算法自身认为的有意义的方向搜索,而不是盲目搜索。
采用有序队列的方法,能够将所有的状态按其扩展价值进行排序,每次选取队列中扩展价值最大的状态结点进行扩展,以此保证每次扩展的都是最有意义的结点。
至于扩展价值,本发明采用的是最终用时预估的方法,将每个结点进行一个最终代价的评估。一个结点的最终用时预估最小,意味着扩展价值最大,该结点最有可能扩展得到最优解。
最终用时预估和有序队列的扩展将交替进行。将所有状态结点按照最终用时预估从小到大排列,每次扩展队列首结点。得到的子结点再分别进行预估并插入有序队列,其中,无剩余任务的结点不插入。如此不断地进行结点的扩展、预估、插入,最终一定可以清空队列。图3展示了最终用时预估和有序队列扩展的一次交替进行。有序队列中有4个结点,所有结点依据最终用时预估值进行排序。随后扩展了队列首结点,得到了3个新的子结点。对这3个子结点分别进行最终用时预估,之后依据最终用时预估值,插入有序队列。
在最终用时预估时,采用的是随机预估方法从当前结点出发,依概率选择下一步所采取的动作。进行若干个孤立的随机搜索后得到了一组可行解,取这些可行解的性能最优者作为原状态的最终用时预估;当性能最优者优于当前最优解时,更新当前最优解。
随机预估搜索的流程如图4所示。设置合理的随机预估计数值,能够高效地实现状态的较准确进行最终用时预估时。随机预估的具体步骤如下:
(1)输入待预估结点并置其初始的预估值为无穷大,置随机预估计数值;
(2)复制待预估结点,生成预估过程结构体,所述预估过程结构体包括一个当前状态和发射任务,对当前发射任务进行原子任务分解,分解得到一发导弹的发射任务,即称之为原子任务和剩余的发射任务;
(3)执行所得原子任务,随机搜索一次完成该次原子任务的执行的可能性,得到一个子状态,将子状态和当前剩余发射任务一起,封装成为一个子预估过程结构体;
(4)若得到的子预估过程结构体有剩余发射任务,返回步骤(2),否则,转到步骤(5);
(5)随机预估计数值减1,若步骤(3)中得到的子预估过程结构体的最终用时优于待预估结点的预估值,更新待预估结点的预估值;
(6)将步骤(3)中得到的子预估过程结构体进行最优性判断,并进行当前最优解的更新;
(7)检查随机预估的结束条件,若随机预估计数值为非0,转到步骤(2),否则,转到步骤(8);
(8)输出待预估结点。
6.随机搜索中的概率选择
由于本发明针对最终用时最短的调度,故尽可能减小车辆在中间过程的耗时。在随机搜索的一个动作(包括发射车前往阵地发射、备弹车前往装填点给发射车补弹)的执行中,选择车辆i的概率pi为:
其中,wi′为车辆i前来执行这一动作的用时。
7.减少计算内存的占用
由于内存可能是调度计算中的瓶颈变量,故调度计算中将避免使用长数组,而改用单元结构体,以减少内存占用。搜索中两大占用内存的因素在于有序队列和搜索树,控制二者的对于内存占用的影响能够提升计算的性能。
7.1优化有序队列结构体的内存占用
有序队列的结点内容为调度的中间状态,包含当前时刻的车辆位置、剩余任务量等。在能够满足计算需求的情况下,应尽可能选择位数少的变量,如将int类型换为char类型,double类型换为float类型等。
7.2历史操作树和历史操作队列的引入
搜索树中,观察到子状态结点比父结点实际上只多了若干的车辆操作。故而建立历史操作树,树中的每个结点只记录从原状态到新状态增加的历史操作。为每个状态对应的有序队列结点赋予一个指向历史操作树的结点。从历史操作树的叶子结点上溯,得到这个状态的所有历史操作。
图5展示了历史操作树的写入和读取过程,其中实箭头表示写入过程,虚箭头表示读取过程。当某个有序队列结点对应指向结点8的历史操作树,则其历史操作为1→3→6→8。表明这一队列结点对应的历史操作依次为结点1,3,6,8包含的动作。
在随机预估方面,由于随机预估结点的短期记忆性,建立随机预估的历史操作队列,随机预估的历史操作队列采用循环队列的形式,在搜索算法中将被循环写入。结束一次随机预估一段时间后,其对应的历史操作队列结点将在之后的某一次随机预估过程中重新写入,有效减少了内存的占用。
图6展示了随机预估过程中历史操作队列的写入和读取过程。当写入历史操作队列时,对于一个新的预估过程,首先设置一个解码终点结点,之后随着随机预估的进行写入对应的每一步历史操作。当读取历史操作队列时,从最后一次写入内容的队列结点起,依次读取其前驱队列结点,直至读取了终点结点,将读取过的队列结点进行倒序,得到所代表的随机预估过程中历经的所有历史操作。图6中,写入时,从历史操作队列结点3起,开始写入操作;读取时,从读取操作的起点,即结点8起,依次上溯读取队列结点,直至读取了读取操作的终点,即结点3,最终读取的操作序列为结点3,4,5,6,7,8所包含的动作。
对于一个预估过程中的预估过程结构体,其所对应的历史操作包含对应待预估队列结点的历史操作和预估时搜索得到的历史操作。于是,求取这个预估过程结构体对应的历史操作时,需要如下步骤:
(1)从当前预估过程结构体读取一个指向历史操作队列的指针,得到一个历史操作队列结点。之后每次从历史操作队列结点读取指向其上一个结点的指针,直至读取到一个终止结点,将读取过的历史操作队列中包含的历史操作进行倒序,得到当前预估结构体所代表的随机预估过程中历经的所有历史操作,记为操作序列1;
(2)对于待预估队列结点,进行已有历史操作的解码,得到操作序列2;
(3)将操作序列1拼接于操作序列2之后,得到最终的操作序列3;当前预估过程结构体中无剩余任务时,这一操作序列3构成一个可行解。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (8)
1.一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于,步骤如下:
(1)输入当前场景和初始需求任务;
(2)将初始需求任务和当前场景包装成为一个状态结点,置入一个空的有序队列,得到一个初始的当前的有序队列;
(3)检查设定的结束条件,当满足结束条件时,转到步骤(9);否则对于当前有序队列取出其首结点,用于之后的扩展;
(4)步骤(3)得到的队列结点包含了一个调度过程中的状态和发射任务,一个调度过程中的状态包含了当前的车辆位置和车辆载重信息,对当前发射任务进行原子任务分解,得到一发导弹的发射任务,即称之为原子任务和剩余的发射任务;
(5)进行步骤(4)所得原子任务的执行:分支搜索所有能够的完成该原子任务的执行的可能性,得到一系列子状态,将子状态和当前剩余发射任务一起,封装成为一系列队列子结点;
(6)步骤(5)得到的一系列队列子结点中,若有子结点内无剩余发射任务,对这一队列结点进行最优性判断,并进行当前最优解的更新;否则对这一队列结点进行最终用时性能的预估;
(7)将步骤(6)中完成最终用时预估的所有队列子结点,依据该队列子结点的最终用时的预估值分别插入有序队列之中;
(8)返回步骤(3);
(9)输出当前最优解。
2.根据权利要求1所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:所述步骤(3)中,设定的结束条件为:检查当前的有序队列长度是否达到上限,当优先队列长度达到上限,则判断进行最优性判断的次数是否达到一个下限,当最优性判断的次数达到了一个下限,则满足设定的结束条件。
3.根据权利要求1所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:所述步骤(6)中,预估的方法为随机预估方法步骤如下:
(11)输入待预估结点并置其初始的预估值为无穷大,置随机预估计数值;
(12)复制待预估结点,生成预估过程结构体,所述预估过程结构体包括一个当前状态和发射任务,对当前发射任务进行分解得到一发导弹的发射任务,即称之为原子任务和剩余的发射任务;
(13)执行所得原子任务,随机搜索一次完成该次原子任务的执行的可能性,得到一个子状态,将子状态和当前剩余发射任务一起,封装成为一个子预估过程结构体;
(14)若得到的子预估过程结构体有剩余发射任务,返回步骤(12),否则,转到步骤(15);
(15)随机预估计数值减1,若步骤(13)中得到的子预估过程结构体的最终用时优于待预估结点的预估值,更新待预估结点的预估值;
(16)将步骤(13)中得到的子预估过程结构体进行最优性判断,并进行当前最优解的更新;
(17)检查随机预估的结束条件,若随机预估计数值为非0,转到步骤(12),否则,转到步骤(18);
(18)输出待预估结点;
这一系列的操作有效地降低了预估的复杂度。
4.根据权利要求1所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:所述步骤(4)中原子任务分解的过程如下:
以如下的方式表示当前任务:
r=[r1,r2,…,rk,…,rn]T
其中,rk表示待分解原子任务的阵地k所需要发射的导弹数,n表示发射阵地数,该任务进行如下分解:
r=[r1,r2,…,rk-1,…,rn]T+[0,…,1,…,0]T
表示当前的任务分解成为发射阵地k上的一个原子任务和剩余的发射任务。
5.根据权利要求1所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:所述步骤(6)中最优性判断的过程如下:
比较当前无剩余发射任务的队列子结点的最终用时tc与当前搜索的最优用时to进行比较,若tc<to,将当前队列子结点下的已有历史操作进行解码,得到更新的当前最优解;若tc=to,再比较当前无剩余发射任务的子结点的最终路程dc与当前搜索的最优解的路程do进行比较,当dc<do,将当前队列子结点下的已有历史操作进行解码,得到当前队列结点对应的可行解,并将当前最优解的更新为解码得到的可行解。
6.根据权利要求5所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:对当前队列子结点下的已有历史操作进行解码实现如下:
在搜索过程中维护一个历史操作树,树中的每一个结点包含一个历史操作,是发射车的发射动作,或是备弹车的补弹动作;
从当前队列子结点读取一个指向历史操作树的指针,得到一个历史操作树结点,之后每次从树结点读取指向其父结点的指针,直至读取到历史操作树的根结点;将读取过的历史操作树结点中包含的历史操作进行倒序,得到当前队列结点所代表的所有历史操作,当前队列结点中无剩余发射任务时,得到的一系列历史操作即是其对应的一个可行解。
8.根据权利要求7所述的一种基于预估的以用时最短为指标的导弹车调度方法,其特征在于:对当前预估过程下的已有历史操作进行解码步骤如下:
(1)从当前预估过程结构体读取一个指向历史操作队列的指针,得到一个历史操作队列结点;之后每次从历史操作队列结点读取指向其上一个结点的指针,直至读取到一个终止结点,将读取过的历史操作队列中包含的历史操作进行倒序,得到当前预估结构体所代表的随机预估过程中历经的所有历史操作,记为操作序列1;
(2)对于待预估队列结点,进行已有历史操作的解码,得到操作序列2;
(3)将操作序列1拼接于操作序列2之后,得到最终的操作序列3;当前预估过程结构体中无剩余任务时,操作序列3构成一个可行解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198564.3A CN109978245B (zh) | 2019-03-15 | 2019-03-15 | 一种基于预估的以用时最短为指标的导弹车调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198564.3A CN109978245B (zh) | 2019-03-15 | 2019-03-15 | 一种基于预估的以用时最短为指标的导弹车调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109978245A CN109978245A (zh) | 2019-07-05 |
CN109978245B true CN109978245B (zh) | 2023-06-20 |
Family
ID=67079116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910198564.3A Active CN109978245B (zh) | 2019-03-15 | 2019-03-15 | 一种基于预估的以用时最短为指标的导弹车调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109978245B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115371685B (zh) * | 2022-10-24 | 2023-03-24 | 成都市以太节点科技有限公司 | 工控场景下无人设备优势路径规划方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274297A (ja) * | 1992-03-27 | 1993-10-22 | Osaka Gas Co Ltd | 最適経路探索装置 |
JP2010111452A (ja) * | 2008-11-04 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 複数車両の配送経路を求めるための方法、装置及びプログラム |
CN106156505A (zh) * | 2016-07-05 | 2016-11-23 | 中国科学技术大学 | 一种基于正交匹配追踪算法的核磁共振t2谱反演方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4896580A (en) * | 1988-12-21 | 1990-01-30 | Rockwell International Corporation | Railroad missile garrison system |
US6236357B1 (en) * | 1999-10-25 | 2001-05-22 | Lucent Technologies Inc. | Automatic vehicle location system and method with reduced bandwidth requirement |
CN105652833B (zh) * | 2015-12-30 | 2018-01-23 | 南京理工大学 | 基于双向智能搜索的制造企业车间调度优化方法 |
CN105678054B (zh) * | 2015-12-30 | 2020-06-30 | 深圳大学 | 一种基于a星策略的最优多会合点路径搜索方法及装置 |
US20170270448A1 (en) * | 2016-03-18 | 2017-09-21 | Jusda International Logistics (TAIWAN) CO.,LTD | Vehicle scheduling device and method for transportation systems |
CN108133290B (zh) * | 2017-12-21 | 2021-06-25 | 北京优挂信息科技有限公司 | 一种时效优先的调度方法及系统 |
CN108446814B (zh) * | 2018-01-23 | 2020-12-01 | 中国科学院自动化研究所 | 同顺序流水线车间调度问题的树搜索方法及装置 |
CN109029447B (zh) * | 2018-06-25 | 2022-05-10 | 陕西科技大学 | 一种多波次导弹发射车路径规划方法 |
-
2019
- 2019-03-15 CN CN201910198564.3A patent/CN109978245B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05274297A (ja) * | 1992-03-27 | 1993-10-22 | Osaka Gas Co Ltd | 最適経路探索装置 |
JP2010111452A (ja) * | 2008-11-04 | 2010-05-20 | Internatl Business Mach Corp <Ibm> | 複数車両の配送経路を求めるための方法、装置及びプログラム |
CN106156505A (zh) * | 2016-07-05 | 2016-11-23 | 中国科学技术大学 | 一种基于正交匹配追踪算法的核磁共振t2谱反演方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109978245A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Duman et al. | Branch-and-price-and-cut methods for the electric vehicle routing problem with time windows | |
CN112418497B (zh) | 一种面向制造物联的物料配送路径优化方法 | |
CN111325409A (zh) | 一种换电站选址与混合车队路径规划方法及系统 | |
CN113852405B (zh) | 多波束中继卫星任务调度模型的构建方法及装置 | |
CN108921468A (zh) | 一种物流配送车辆智能排线方法 | |
CN113848970B (zh) | 一种车辆-无人机多目标协同路径规划方法 | |
Elhassania et al. | Solving the dynamic vehicle routing problem using genetic algorithms | |
CN109978245B (zh) | 一种基于预估的以用时最短为指标的导弹车调度方法 | |
CN106447266A (zh) | 一种物流领域多车型多次配送的智能优化调度方法 | |
Ou et al. | Deep reinforcement learning method for satellite range scheduling problem | |
CN111860957B (zh) | 一种考虑二次配送和平衡用时的多车型车辆路径规划方法 | |
Zhao et al. | Robust traveling salesman problem with multiple drones: Parcel delivery under uncertain navigation environments | |
Wang et al. | Multi-trip multi-trailer drop-and-pull container drayage problem | |
CN116090742A (zh) | 一种考虑时间窗约束的无人集群分布式任务分配算法 | |
CN115981264A (zh) | 一种考虑冲突的agv调度与数量联合优化方法 | |
CN109711702B (zh) | 面向多管理平台的对地观测任务分布式协同规划方法 | |
CN109978357B (zh) | 一种基于预估的以总路程最短为指标的导弹车调度方法 | |
CN116579513A (zh) | 基于改进鲸鱼优化算法的物资配送路径优化方法和系统 | |
CN113852406A (zh) | 多波束中继卫星任务调度方法和装置 | |
CN113743788A (zh) | 一种基于改进遗传算法的工业车辆调度方法 | |
KR101213469B1 (ko) | 임무 스케쥴링 방법 | |
Wendong et al. | Design of public bicycle scheduling model based on data mining algorithm | |
WO2021252683A1 (en) | Systems and methods for controlling automated systems using integer programming and column generation techniques | |
Stodola et al. | Multi-Depot Vehicle Routing Problem with Drones: Mathematical formulation, solution algorithm and experiments | |
Asokan et al. | Parallel large-neighborhood search techniques for LNG inventory routing |
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 |