基于时延Petri网与代价函数的柔性制造系统优化调度
doi: 10.7641/CTA.2024.40211
李鑫1 , 黎良1,2 , 何舟3
1. 武汉科技大学信息科学与工程学院, 湖北 武汉 430081
2. 武汉科技大学冶金自动化与检测技术教育部工程研究中心, 湖北 武汉 430081
3. 陕西科技大学电气与控制工程学院, 陕西 西安 710021
基金项目: 国家自然科学基金项目(62303359, 62373234)资助.
Optimal scheduling of flexible manufacturing systems based on timed Petri nets and cost function
LI Xin1 , LI Liang1,2 , HE Zhou3
1. School of Information Science and Engineering, Wuhan University of Science and Technology,Wuhan Hubei 430081 , China
2. Engineering Research Center for Metallurgical Automation and Measurement Technology of Ministry of Education, Wuhan University of Science and Technology, Wuhan Hubei 430081 , China
3. School of Electrical and Control Engineering, Shaanxi University of Science and Technology, Xi’an Shaanxi 710021 , China
Funds: Supported by the National Natural Science Foundation of China (62303359, 62373234).
摘要
针对柔性制造系统最小完工时间的调度问题, 本文提出一种基于时延Petri网和代价函数的调度算法. 首先, 对现有基于时延Petri网的调度算法进行分析, 引入一种考虑当前标识和后继标识到目标标识的变迁发射向量的代价函数; 其次, 通过遍历部分可达图的标识代价函数值选取下一步发射的变迁, 并利用回溯法避免系统的死锁标识和不满足系统规格的标识; 从而, 获得时延Petri网系统的逻辑变迁序列. 通过将逻辑变迁序列转为时延变迁序列, 找到最小时间的变迁序列; 进而, 获得系统最小完工时间的调度方案; 最后, 利用实例验证本文方法的可行性和有效性.
Abstract
To solve the problem of scheduling for the minimum completion time of tasks in a flexible manufacturing system, this paper proposes a scheduling algorithm based on timed Petri nets (TdPN) and cost function. Firstly, by analyzing the existing TdPN-based scheduling algorithms, we introduce a novel cost function taking into account the transition firing vectors from the current marking and subsequent markings to the target one. Then, through traversing the cost functions of markings in the partial reachable graph, the firing of next transition is selected. Meanwhile, the employment of backtracking method prevents deadlock markings and those markings that do not meet the system specifications, thereby obtaining logical transition sequences of the TdPN system. By transforming the logical transition sequences into timed ones, the minimum time transition sequences are computed, and then the scheduling scheme for the minimum completion time of the system can be obtained. Finally, the feasibility and effectiveness of the approach presented in this paper are validated through practical instances.
1 引言
离散事件系统(discrete event systems,DES)是一类状态空间离散且状态演化由事件驱动的动态系统 [1],例如柔性制造系统(flexible manufacturing system,FMS)和项目管理系统等一系列复杂工业系统都可以抽象为DES来研究. 这些系统需要某些操作的多个作业/阶段来完成给定任务,在作业的每个处理阶段,分配不同资源来执行其操作,如机器、机器人和行进区域. 这就面临一个具有挑战性的资源受限调度问题 [2] : 给定系统的初始状态和目标状态,在固定资源条件下,如何合理地将不同资源分配给操作使得系统能在最小时间到达目标状态完成工作,从而获得高效率的调度方案. 然而,这类调度问题通常是(non-deterministic polynomial-time hard,NP)困难的 [3] .
Petri网作为一种图形工具,已广泛用于DES建模、调度和控制 [4-5] . 与图论、自动机等工具相比,Petri网能很好地刻画系统结构特征,如序列、选择、并发和同步,并分析系统行为特征 [6] . 此外,Petri网通常提供底层系统更紧凑的结构表示,特别是对于具有较大状态空间的系统. 更重要的是,Petri网的可达图(reachability graph,RG)有助于可视化可达标识和找到系统从当前状态到目标状态运行轨迹的变迁发射路径 [7],充分揭示底层系统的行为.
在具有时间约束的系统中,调度问题的关键之一是满足任务的时间要求. 因此,国内外学者试图在Petri网模型中引入时间信息来研究这一问题. 根据引入确定时间的对象不同分为库所赋时Petri网、变迁赋时 Petri网和弧赋时Petri 网 [8] . 两种主要的变迁赋时Petri 网模型是时间Petri网和时延Petri网. 时延Petri网的变迁与固定发射延时相关联. 在解决调度问题时,相比时间Petri网,时延Petri网提供了对任务执行时间的确定性,使得任务排序和安排更为直观. 因此,时延Petri网被广泛用于解决赋时DES的调度问题 [9-10] .
利用时延Petri网解决调度问题已有大量方法,例如: 基因遗传算法 [11]、粒子群算法 [12],这类结合人工智能的搜索方法需要进行编码与解码等操作的可达性判断,增加了问题处理的复杂度. Lee等 [13] 首次基于时延Petri网的RG提出了一种A搜索算法. 该方法不需要搜索完整RG来获得调度方案. 然而,对于大型的复杂系统,很难在合理时间内找到最优或近优调度策略. 为提高搜索效率,研究人员提出了不同的改进方法. 其中,大多数方法通过修改A算法来加速搜索过程,但都以牺牲解的质量为代价,比如具有动态移动窗口的A搜索 [14] 和无死锁动态搜索 [15] . 有希望解决该问题的方法是基于RG的A搜索设计更为智能的启发式函数 [16],但是许多启发式函数是从不同方面制定的,往往只适用特定场合. 此外,所考虑的系统可能存在死锁,而大多数基于RG的A搜索算法难以解决系统死锁问题和状态爆炸问题.
受模型预测控制(model predictive control,MPC)思想的启发,Lefebvre [17-18] 提出了基于时延Petri网和 MPC的方法对含禁止标识的系统状态空间进行部分搜索来获得逻辑变迁序列,再将该变迁序列转换为时延变迁序列. 这种方法在一定程度上有效避免了系统的状态爆炸问题. 文献 [19] 在文献 [18] 的基础上提出了一种将逻辑变迁序列转换为时延变迁序列的优化方法,并且证明了该方法的有效性.
众所周知,MPC的基本思想是预测系统状态演化以实现控制目标. 在某些约束条件下,每个步骤的性能标准都被最小化,从而获得一系列控制动作 [20] . 文献 [17-18] 选择代价函数值最小的标识,获取相应变迁序列. 该策略主要是通过选择变迁序列中第1个使能变迁,由系统新标识的代价函数再次预测,继而计算出最小时间的时延变迁序列. 研究人员已经证明文献 [17] 的欧式距离代价函数并不能明确描述两个标识之间的距离关系,使得每次预测不一定准确. 文献 [18] 在文献 [17] 基础上,将发射向量作为代价函数,无论是准确性还是搜索效率都得到明显提升.
综上,本文在文献[18]的基础上,通过优化预测后继标识的方法,提出一种最小时间调度算法. 具体而言,本文提出新的代价函数,优化了文献 [18] 近似最小时间的调度算法,有效降低计算复杂度并且提高了算法搜索的准确性. 同时,通过文献 [19] 将逻辑变迁序列转换为时延变迁序列. 最终,提出一种计算系统所有调度方案的时延变迁序方法,以获得最小时间调度方案.
2 时延Petri网
Petri网为四元组Net = ⟨PTWPRWPO[6],其中: P = { p1p2,· · ·,pn}表示n个库所的有限集合,T ={t1t2,· · ·,tq}表示q个变迁的有限集合,WPONn×qWPRNn×q分别是Net的后置关联矩阵和前置关联矩阵,其中N代表非负整数集. Petri网的关联矩阵为A = WPOWPR.
Petri网的标识表示为MNn含义是为网中每个库所分配非负整数个 token. 在标识 M 中,库所 p中的token数记为 Mp). 变迁 tj M 下的使能度为nj M)= min{⌊Mpk)/WPRkj)⌋ : pk ∈ °tj},其中: °tjtj的前置输入库所集,WPRkj)为矩阵WPR 的第k行第j列的参数值,⌊ ⌋为向下取整数. 当MWPR(:,tj )时,变迁tj T在标识M下是使能的,表示为M[tj ⟩,其中: WPR(:,tj)表示WPR对应tj的列向量. M下所有使能变迁集表示为 BnM)= {tj T|M [tj ⟩}. 使能变迁tjBnM)发射后会产生一个新标识(也称M的后继标识)M′ = M + A ·tj其中tj是变迁tj的发射向量,该过程用M[tjM′表示.
时延Petri网(timed Petri nets,TdPN)是一类行为受时间约束的Petri网,其每个变迁具有一个确定性的发射延时. 本文用⟨Net, M0D⟩表示一个TdPN系统,其中: M0是系统的初始标识,DR+q续时间参数的向量(R+是非负实数集),则Dtj )表示变迁tj使能持续时间. 本文所考虑的TdPN具有无限服务器语义、竞争策略以及使能记忆策略 [18] . 因此,每个使能变迁tj最早在Dtj)个时间单位之后发射. 用dtjR+表示变迁tj的剩余使能持续时间,每个变迁tj在使能τ0时间后最早还需dtj )时间单位发射,其中dtj )= Dtj )− τ .
TdPN系统的一个时延变迁序列为στ=tj1η1tj2η2tjhηhT×R+*στ=h表示στ的长度为 h,其中 η1,· · ·,ηh表示变迁发射时间且满足0η1η2ηhστ的全局发射时间记为 τστ)= ηh. 在忽视变迁发射时间时,用σ=tj1tj2tjhT*表示στ的逻辑变迁序列(σ = ε表示空序列),并用σ表示σ的变迁发射向量,则σti)表示σti出现的次数.σ1σ 中所有变迁出现的次数和,其中σ1=[1]1×qσ[1]q为全1的行向量. 对于两个序列σσ′σσ代表其串联.
对于M0使能的变迁序列στ下的路径可表示为 TR(στM0)= M0[(tj1 η1)⟩M1 · · · Mh−1[(tjhηh)⟩ Mh,其中M1,· · ·,Mh−1是中间标识,Mh是最终标识. 为方便起见,M ∈ TR(στM0)代表M存在于路径TR(στ M0)中,t ∈ TR(στM0)表示变迁t在序列 σ 中至少出现一次. 如果存在满足 M0[σMσ,则称M从初始标识M0可达. TdPN系统中所有可从M0 到达的标识构成的集合表示为R(Net, M0). 当不存在其他时延变迁序列στ'到达Mh,或者当存在其他满足τσττστ'的时延变迁序列στ'到达Mh时,στ为最小时间的时延变迁序列.
3 调度问题陈述
3.1 调度问题及相关定义
一般情况下,实际系统的状态并不都符合要求,因此,本文在研究过程中考虑了系统存在一些非法标识. 如果标识M满足以下至少一个条件,则为非法标识: 1)M不满足系统规格; 2)M是死锁标识. 非法标识均为禁止标识.
给定一个TdPN系统⟨Net,M0D⟩,为了找到系统从初始状态到目标状态的最小时间调度方案,1)需要寻找从初始标识M0到目标标识Mtar可行的最小时间的时延变迁序列,其中该时延变迁序列下的路径标识都合法,并且全局发射时间相同的两个时延变迁序列属于同一调度方案; 2)为减少搜索工作量,在系统初始标识下检查是否存在可行变迁序列是必要的.
定义 1 给定一个TdPN系统⟨Net,M0D⟩和两个变迁发射向量相同,但变迁发射顺序不同的时延变迁序列 στστ'若其满足M0στMtarM0στ'Mtarτστ=τστ'στστ'为从初始标识M0到目标标识Mtar同一调度方案的两个时延变迁序列.
定义 2 给定一个TdPN系统⟨Net, M0D⟩,若可达标识M下的变迁都不能发射,则M为死锁标识 [21] .
定义 3 给定一个TdPN系统⟨Net,M0D⟩和目标标识Mtar,则满足M0[σMtar的任意变迁序列σ都存在一个非负整数的 n 维发射向量σ使得Mtar = M0 + A ·σ [22] .
定义 4 给定一个从M0发射变迁序列στ可达的标识Mtar(即σ满足Mtar=M0+Aσ),则满足M ∈ TR(στM0)的标识称为预选标识,否则为禁止标识. 其中: 禁止标识集用ΓM0Mtar)表示,预选标识集合表示为Pre(M0Mtar)= {M ∈TR(στ M0)|στ : M0 [στMtar}.
定义 5 给定一个TdPN系统⟨Net,M0D⟩和目标标识Mtar,则满足M0[σMtar的逻辑变迁序列集合可表示为EM0Mtar={σ T|M0[σMtar},满足 M0[στMtar的时延变迁序列集合为EτM0Mtar)= {στ ∈(T × R +|M0[στMtar}.
定义 6 给定一个TdPN系统⟨Net,M0D⟩及其目标标识 Mtar,对于所有满足M0[στMtar 的时延变迁序列,若στ'Eτ M0Mtar)满足τ στ')≤τ στ),其中στEτ M0Mtar)\ {στ'},则称στ'M0Mtar的最小时间时延变迁序列.
性质 1 给定一个TdPN系统⟨Net,M0D⟩和变迁序列σσ ′ . 若M[σ ′M′M′ [σMtar成立,则存在一个非负整数的n 维向量 σ''=σ'+σ 使得M[σ ′′Mtar.
M[σ ′M′M′ [σMtar成立,由关联矩阵可知M′ = M +A.σ'Mtar = M′+A·σ,联立两式可得Mtar = M + A ·σ'+σ. 假设使M[σ ′′Mtar成立的一个变迁序列为σ ′′ ,即Mtar = M + A ·σ'' . 因此,可证得σ''=σ'+σ. 证毕.
3.2 基于MPC思想的搜索策略与代价函数设定
MPC是一种滚动优化的控制方法. 在文献 [18] 中,作者将系统可达图标识作为预测模型,并且利用回溯法矫正禁止标识的干扰,其滚动优化策略是将DES中的离散事件发展过程抽象为Petri网可达图的生成过程. 在可达图生成的过程中,计算当前标识变迁发射长度为H内所有可达标识代价函数值,并从中选取代价函数值最小的标识,以获取最优的下一发射变迁. 在多次迭代到达Mtar后获得最优的逻辑变迁序列. 如图1所示,本文基于 MPC 思想的搜索策略是在文献 [18] 基础上提出新的代价函数并设定H恒为1. 每次只计算可达图中当前标识的后继标识代价函数值,并基于当前标识以及后继标识的代价函数值选取下一变迁. 与此同时,通过回溯法避免不合法标识.
1基于MPC思想的搜索策略流程图
Fig.1Flow chart of search strategy based on MPC
在文献 [18] 中,作者将变迁发射向量作为代价函数,但仅考虑当前标识到Mtar变迁发射向量的关系. 受文献 [18] 的启发,本文提出一种考虑当前标识和后继标识到Mtar 变迁发射向量的代价函数.
由定义3可知,若不存在σ0,则在M0下没有可行的逻辑变迁序列σ0,即由M0下的变迁发射向量可初步判断系统是否存在可行的逻辑变迁序列. 因此,本文将M0代价函数设为JM0=σ0*,且σ0*满足下式:
Dσ0*=argminDσ0σ0Rσ0,
(1)
其中:Rσ0=σ0Nq×1Aσ0=Mtar-M0σ0表示M0Mtar的变迁发射向量,σ0MtarM0可达的变迁序列,σ0*为集合Rσ0Dσ0值最小的变迁发射向量.
式(1)确定了M0Mtar可用的变迁发射向量,从而可以预测M0Mtar近似最小时间的逻辑变迁序列. 假设MiMi−1为逻辑变迁序列下路径中的中间标识,其中Mi-1ti-1MiMiσi*MtarMi-1σi'Mtar由性质1可知,标识MiMtar的发射向量σi*满足下式:
σi*=σi'-ti-1
(2)
其中:σi*σiNq×1Aσi=Mtar-MiiN+N+为正整数集),σi'表示标识Mi−1Mtar的发射向量; ti-1为变迁ti−1的发射向量.
由式(2)得到了逻辑变迁序列下路径的中间标识发射向量,使得后继标识的选择更加准确. 因此,本文设定标识Mi到Mtar的代价函数为JMi=σi*.注意发射向量σ的求解方法如下: 由Mtar=M+Aσ可得非线性齐次方程组Aσ=Mtar-M再由消元法与矩阵初等变换求σ,其中σ中的每个值都为非负整数.
由式(1)可知,JM0)的确定利用了M0Mtar变迁发射向量的关系; 由式(2)可知, JMi)的确定利用了当前标识和后继标识两者到Mtar的变迁发射向量之间的关系. 当JM0ε由于系统可能存在死锁标识,通过JM0)不能直接确定存在逻辑变迁序列,需要进一步判断,但是当JM0=ε可知不存在逻辑变迁序列; 当JMi=εMiΓM0Mtar.只有JMiε成立时,才能确定Mi为新标识,并得到逻辑变迁序列中的下一个使能变迁的发射. 具体的搜索算法将在下一节展示.
4 近似最小时间调度算法优化
4.1 近似最小时间的逻辑变迁序列
本文通过算法1(见表1)中的代价函数值确定下一个标识,从而确定下一个变迁 t的发射. t的确定在变迁集BnM=tjTMtj中选择. 由于标识 M下可能存在同时使能的变迁tj1tj2,且它们都在所选的逻辑变迁序列中,则tj1tj2都可作为下一个变迁. 然而,tj1tj2M下的逻辑变迁序列中具有先后顺序,因此,本文通过设置相关集合储存这类变迁和后继标识,以及指定的代价函数值,并确定逻辑变迁序列中下一个变迁. 其中: SM)为储存后继标识的集合, T t)为储存变迁的集合,QMMtar JM))表示储存代价函数值的集合,其具体表达式如下:
S (M) PreM0, Mtar; T (t) =tTM[tM', M, M'PreM0, Mtar; QM, Mtar, J (M) =J (M) Nq×1Mtar=M+AJ (M) , MS (M) }.
为了确定下一个标识及变迁,步骤3–5计算出M′JM′). 步骤6–12将满足条件的变迁以及对应标识和代价函数值储存在相应集合中. 当JM′)= ε,表示标识M′∈/ Pre(M0Mtar),因此,令ΓΓ ∪{M′},防止回溯后再次访问该标识. 考虑到JMtar)≡ ε,可通过判断式(JM1=1M'=Mtar)找到Mtar. 值得注意的是,代价函数值不能排除死锁的影响. 若 JM)存在,但是BnM)= ,则M为死锁标识,因此,将此标识加入Γ,防止下一次访问. 同时,设置回溯标志位backtracking=1,使得回溯到逻辑变迁序列下路径的上一标识(见步骤15–17). 当SM)存在多个标识时,表示存在多条符合条件的逻辑变迁序列. 为了获取其中一条逻辑变迁序列,可选取SM)中任意标识作为下一标识. 由于算法1每次运算只确定逻辑变迁序列中的一个变迁,为了减少算法计算复杂度,本文选取集合SM)中储存的第一个标识M作为下一标识. 同理, t为集合Tt)中储存的第1个变迁,JM)为集合QMMtarJM))中储存的第1个代价函数(见步骤19–21).M[tMtar则当JM1=1成立时,由M[tMM′ = Mtar可确定σ最后的变迁为t.
1计算TdPN系统下一个变迁t
Table1Computation of the next transition t for TdPN systems
证由定义3可知,若JM1=1则存在一个非负整数的 n 维向量t满足等式M'=M+AtMtar=M+At.M[tMtar可知变迁t 在标识M 下能发射; 又因为标识M是从M0发射逻辑变迁序列σ获得,因此,可确定σ最后的变迁为t. 证毕.
算法1每次确定逻辑变迁序列的一个变迁,为了获得逻辑变迁序列,将通过算法2(见表2)对算法1迭代来解决.
在算法2中,若M不满足系统规格(即非法),初始化时可将该标识加入Γ,即将Γ 改为Γ ← {M}. 算法2对算法1每次迭代都会排除Γ中的标识为下一个标识. 若M是死锁标识,通过算法1将返回条件backtracking=1,回溯到σ下路径的上一标识,从而避开死锁标识的选择. 步骤2通过式(1)计算σ0*σ0*存在并且MtarM0可达,则可确定存在σ. 步骤3–5确定 JM0). 步骤9–10当M0为死锁标识或不满足系统规格,令success= −1,表示不存在满足条件的σ. 在步骤11–16中,若backtracking=0,即可确定下一标识和变迁; 若backtracking=1,表示当前标识是死锁标识,需要回溯到上一标识. 为此,本文利用集合SM)记录所选σ下路径的标识,通过去除SM)最后所选标识MENDσ中最后选择的变迁tEND回溯到上一标识,转而搜索其他符合条件的标识. 步骤18–20中的 M = Mtar 表示搜索到的 σ 中最后一个变迁,可得 success=1.
2计算TdPN系统的逻辑变迁序列σ
Table2Computation of the logical transition sequence σ for TdPN systems
定理 2 给定一个初始标识为M0的TdPN系统及其目标标识MtarR(Net,M0),通过算法 2对算法1迭代可避免死锁标识并得到逻辑变迁序列σEM0Mtar).
假设σ=tj1tj1tjh由式(1)得JM0=σJM01=h.算法2通过算法1确定下一个发射的变迁. 具体而言,算法1由MWPR:tjh确定变迁tjh可以发射,并通过JMh+1=JMh-tjh确定tjhσ 中的变迁. 当系统不存在死锁标识时,算法2 通过多次迭代后可知JM01=hJM11=h-1JMh-11=1为严格单调递减. 当JMh-11=1由定理1可确定σ最后的变迁. 当 M0为死锁标识,可得success= −1并返回σ = ε. 若当前标识Mk的后继标识Mk+1为死锁标识,则backtraking=1,回溯到Mk SM)的上一个标识Mk−1,然后,继续通过算法1计算标识Mk−1下的变迁. 若backtraking=0,则可确定新的变迁tjk-1'此时有σ=σtjk-1'.再通过算法1将Mk'=Mk-1+Atjk-1作为当前标识,并确定其后继标识Mk+1'和变迁tjk'.综上,算法2 对算法1迭代可获得σ并且可以避免死锁标识. 证毕.
4.2 近似最小时间的时延变迁序列
给定一个逻辑变迁序列σ,在不改变σ变迁发射顺序下,通过算法3(见表3)可将σ转为时延变迁序列στ . 其核心是利用CAL,CAL表示在当前标识M下处于使能状态的变迁及其剩余使能持续时间的集合,迭代计算στ中变迁的发射时间,并更新M处已发射变迁的剩余使能持续时间 [19] . 其中: 对于步骤3–20中通过变迁序列σ得到的每一个标识M,将其对应的使能变迁及剩余使能持续时间由CALnew进行保存,并添加至集合CAL=tjkdtjktjkBnM 进而得到变迁tjk的全局发射时间(见步骤3–4); 步骤5–12 找与变迁tjk能够同时使能的变迁t ′及其剩余使能持续时间; 步骤14–19找到tjk发射后生成的变迁t ′′ 及其剩余使能持续时间,dtjkDtjk表示σ中所有的变迁剩余使能持续时间. dtjk初始状态等于Dtjk. 其中: 算法3应用变迁最早发射策略,将变迁发射向量相同而变迁发射顺序不同的逻辑变迁序列σσ ′转为时延变迁序列后,τστ=τστ'
为了详细介绍上述算法实现时延变迁序列的计算过程,如图2所示的具有变迁使能持续时间参数向量 D = [1 2 1 3 1 4 2]的TdPN,下面分两种情况讨论.
1)给定初始标识M0 = [1 0 0 0 0]T,目标标识 Mtar = [0 0 0 0 1]T. 根据算法1–2,该TdPN的逻辑变迁序列搜索如图3所示. 首先,计算出JM0)= [1 0 1 0 2 1 2]T,即存在逻辑变迁序列且JM01 = 7. 继而计算出 M0 后继标识M1M2M3 及其代价函数JM1),JM2),JM3)和变迁t1t2t5. 其中只有 JM1)≠ ε,挑选M1为下一标识并确定下一变迁为 t1. 算法 2对算法1迭代6次后,可得σ=t1t3t5t5t6t7当前标识M = [0 0 0 1 1]T及其代价函数JM)= [0 0 0 0 0 0 1]T. 由此可知JM1 = 1,算法2再通过对算法1迭代后得到标识M = Mtar,因此,success←1表示搜索到逻辑变迁序列中最后一个变迁,即得到σ=t1t3t5t5t6t7t7. 最后,通过算法 3将σ 转为στ=t11t32t53t53t67t79t79.
图3蓝色箭头和变迁为所选逻辑变迁序列下的路径,黑色箭头为不可选路径. 算法2在整个计算过程,共访问18个节点(标识),即平均每次访问2.57个节点. 在求得相同逻辑变迁序列情况下,文献 [18] 则需至少访问27个节点,平均每次访问3.38个节点.
3σ转换为时延变迁序列στ
Table3Transtormation of σ into στ
2)给定M0 =[0 0 0 3 0]TMtar =[0 0 0 0 1]T,可得JM0)= [0 0 0 0 0 2 3]T. 如图4所示,算法2 对算法 1第1次迭代可得JM1)和JM2)都不为空,此时,SM)= {M1M2},T t)= {t6t7},QMMtarJM))= {JM1),JM2)},即M0下的变迁t6 t7都可被选为下一变迁. 本文选择SM)中第1个标识M1作为下一个标识以及对应Tt)中第1个变迁 t6作为下一变迁. 算法 2对算法 1多次迭代后得出σ=t6t6t7t7t7. 具体情况如图4所示(图中忽略了部分可达图中不可选标识),其中存在3条逻辑变迁序列: t6t6t7t7t7t6t7t6t7t7t7t6t6t7t7 其时延变迁序列分别为t64t64t74t76t76t64t74t6 4)t76t76 t72t64t64t76t76.
由定义1可知,通过算法3将变迁发射向量相同而变迁发射顺序不同的σ转为στ后,3条时延变迁序列为同一调度方案. 其中序列t6t6t7t7t7是选择SM)和 Tt)中第1个值的结果. 若要找到所有符合要求的逻辑变迁序列,则需进一步优化对SM),Tt),QMMtarJM))中各个参数的选择. 结合图2图4可以发现变迁t6t7同时使能使得t6t7都可以被选择,导致出现多条符合条件的逻辑变迁序列.
2一个TdPN [18]
Fig.2A TdPN [18]
3部分搜索的可达图
Fig.3Partial searching reachable graph
4.3 TdPN系统最小时间调度
给定一个TdPN系统,可能会存在多个从M0到达 Mtarστ,基于文献[18]的优化算法只能得到一条近似最小时间的στ . 由定义3可知,当M0Mtar的逻辑变迁序列存在时,必然存在一个σ0Rσ0.通过合理的选取σ0(即JM0)),利用算法2可快速算出符合条件的σ0,再由算法3转为στ . 由于不同JM0)对应不同逻辑变迁序列,通过不断标记已经选取的JM0),再计算出未被标记JM0)对应的逻辑变迁序列并转为时延变迁序列,可将所有调度方案计算出来. 详细流程如图5所示.
4逻辑变迁序列搜索图
Fig.4Graph for searching logical transition sequences
5时延变迁序列求解流程图
Fig.5Flow chart for solving timed transition sequences
定理 3 给定一个TdPN系统⟨Net, M0D⟩,通过算法2–3可以得到系统所有调度方案的时延变迁序列στEτM0Mtar),进而得到最小时间时延变迁序列στ' EτM0Mtar).
由定理2可知,算法2对算法1迭代可得逻辑变迁序列σEM0Mtar). 算法3将σ转换为时延变迁序列στ,同时,将变迁发射向量相同而变迁发射顺序不同的逻辑变迁序列σσ ′转为时延变迁序列后,可得τστ)= τστ'). 通过将已访问的JM0)标记,由算法 2–3计算出所有σ 对应的时延变迁序列 στEτM0Mtar). 由定义1可知,相同σ下变迁发射顺序不同的时延变迁序列的τ στ)相等属于同一调度方案,因此,通过该方法可以计算出系统所有方案的时延变迁序列στEτM0Mtar). 由定义6,对于所有满足 M0[στMtar的时延变迁序列,στ'EτM0Mtar)满足τστ'τστ 从而可得最小时间的时延变迁序列στ' . 证毕.
4.4 复杂度分析
目前,相关工作都未考虑优化代价函数提高计算效率,而是在文献 [18] 代价函数基础上引入其他智能搜索算法,以获取更好的调度方案. 例如文献 [19] 将文献 [18] 的代价函数与混合滤波波束搜索算法结合,尽管提高了搜索的准确性,但面对复杂系统时,会消耗大量时间求解所需参数,并且由于受代价函数的约束,难以得到系统的最小时间调度方案. 因此,下面结合图2所示例子将本文与文献 [18] 中的方法进行对比.
表4所示,本文算法2在计算逻辑变迁序列在效率上比文献 [18] 方法有较大提升. 其中: Ql为所需的逻辑变迁序列下的路径访问节点(标识),Qsp为非所选路径访问的节点. 相比文献 [18],本文(JM))方法只有当访问节点为死锁标识才有几率访问Qsp,即Qsp ≈ 0,而文献 [18] 由于仅考虑当前标识到目标标识代价函数值,其中访问节点存在大量不可忽略的伪解标识,因此需要大量回溯才能解决这个问题. 实际对比情况如表5所示,其结果是图2所示的TdPN在获得相同逻辑变迁序列下测试多次后的平均访问节点数.
4σ的算法复杂度对比
Table4Comparison of algorithmic complexity of σ
5σ访问节点对比
Table5Comparison of access nodes for σ
5 FMS最小时间调度分析与对比
为验证本文方法的有效性,考虑一个可以处理两种类型零件 b1b2 的FMS,如图6所示. 其中: b1型零件有两条加工路线:w1=p1t1p2t2p3t3p4t4p5t5p6w2=p1t1p2t6p7t7p8t8p5t5p6b2型零件只有1条加工路线w3=p9t9p10t10p11t11p12t12p13.目标需求是得到零件b1b2所有调度方案,并从中选择最优调度方案. 库所和变迁的含义见表6.
6某FMS的TdPN模型
Fig.6The TdPN model of an FMS
6库所和变迁的含义
Table6Implication of places and transitions
表6可知D = [2 5 8 1 4 3 6 4 2 6 3 4](工序时间均设为单位时间),零件1库和零件2库加入2个未加工零件,初始标识以及目标标识如下:
M0=200000002000012112T, Mtar=00000200000021211T.
由式(1)可知Rσ0= {[2 2 2 2 2 0 0 0 2 2 2 2]T,[2 1 1 1 2 1 1 1 2 2 2 2]T,[2 0 0 0 2 2 2 2 2 2 2 2]T},即系统有3 个调度方案. 其中: 方案1: 2个 b1型零件选用路线w1,2个b2型零件选用路线w3; 方案2: 2个b1 型零件分别选用路线w1w2,2个b2型零件选用路线w3; 方案3: 2个b1型零件选用路线w2,2 个 b2型零件选用路线w3.3个方案中Dσ0值分别为70,69和68. 因此,上述调度方案分别记为: 1)w1w3,70; 2)w1w2w3,69; 3)w2w3,68. 由此可知,p1b1型零件可选择路线w1w2加工,b2型零件则只可选择路线w3. 当p9b2型零件不为空时,调度方案的数量仅与库所p1中的资源数量相关. 若b1型零件有xN个,则图6所示的TdPN系统必然有x + 1个调度方案.
根据图5,由式(1),首先,选择Dσ0值最小的方案 3并标记JM0),通过算2–3计算出该方案的时延变迁序列,即
στ=t1, 2t9, 2t6, 5t1, 7t10, 8t6, 10t9, 10t7, 11t11, 14t7, 17t12, 18t10, 20t11, 23t8, 24t12, 27t5, 28t8, 32t5, 36.
再选取计算Rσ0Dσ0值最小且未被标记的方案2的时延变迁序列,即
στ=t1, 2t9, 2t6, 5t2, 7t1, 7t10, 8t9, 10t7, 11t11, 11t3, 15t12, 15t10, 17t4, 18t11, 20t8, 21t5, 22t12, 24t5, 26,
最后计算方案1的时延变迁序列,即
στ=t1, 2t9, 2t2, 7t10, 8t11, 9t1, 10t9, 11t2, 14t3, 15t10, 16t4, 17t12, 18t5, 21t11, 21t3, 23t4, 24t12, 25t5, 28.
通过本文方法可计算出所有方案的时延变迁序列,其中方案 3“w2w3,68”的Dσ0值最小,与文献 [18] 方法计算的方案时间相同,但显然其不是最小时间的调度方案. 表7是通过图6所示TdPN模型与文献 [18] 计算的στ调度方案对比结果,其中文献 [18] 只能计算出一条近似最小时间的调度方案,而本文计算的方案数等于系统存在的方案数. 结合表7和上述分析可知,本文可以计算出所有的时延变迁序列方案,并最终获得最小时间的调度方案.
6 结论
为获取柔性制造系统最小完工时间的调度方案,在现有基于时延Petri网的近似最小时间时延变迁序列搜索算法的基础上,提出了一种基于时延Petri网与代价函数的优化调度算法. 首先,通过改进的代价函数搜索可行的逻辑变迁序列. 其次,将逻辑变迁序列转为时延变迁序列,并通过初始标识代价函数标记已经找到的时延变迁序列,来计算所有可能的时延变迁序列,最终,找到系统最小完工时间的调度方案. 相比现有近似最小时间的调度算法,本文提出的优化调度算法能有效降低计算复杂度并提高算法搜索的准确性. 然而,当时延Petri网系统存在大量可行时延变迁序列时,找出所有变迁序列的计算量会增大. 下一步工作将通过设置更优的代价函数以快速找到最小时间的时延变迁序列. 此外,在本文方法的基础上研究含不可控或不可观变迁的Petri网系统优化调度也将是一项挑战性的工作.
7与文献 [18] 所得στ方案对比
Table7Scheduling methods compared with στ in [18]
注 1 p = p14 + 2p15 +p16 +p17 + 2p18,多集形式的初始标识M0 = 2p1 + 2p9 +p14 + 2p15 +p16 +p17 + 2p18等价于M0 = [2 0 0 0 0 0 0 0 2 0 0 0 0 1 2 1 1 2]T,其代表零件1库和2库中各有两个待加工的零件. 访问节点数是所计算方案总体节点数的平均值,例如上述案例计算的方案 1,2,3 访问节点数测试结果分别为49,39,50,则该案例访问节点数定为46.
1基于MPC思想的搜索策略流程图
Fig.1Flow chart of search strategy based on MPC
2一个TdPN [18]
Fig.2A TdPN [18]
3部分搜索的可达图
Fig.3Partial searching reachable graph
4逻辑变迁序列搜索图
Fig.4Graph for searching logical transition sequences
5时延变迁序列求解流程图
Fig.5Flow chart for solving timed transition sequences
6某FMS的TdPN模型
Fig.6The TdPN model of an FMS
1计算TdPN系统下一个变迁t
Table1Computation of the next transition t for TdPN systems
2计算TdPN系统的逻辑变迁序列σ
Table2Computation of the logical transition sequence σ for TdPN systems
3σ转换为时延变迁序列στ
Table3Transtormation of σ into στ
4σ的算法复杂度对比
Table4Comparison of algorithmic complexity of σ
5σ访问节点对比
Table5Comparison of access nodes for σ
6库所和变迁的含义
Table6Implication of places and transitions
7与文献 [18] 所得στ方案对比
Table7Scheduling methods compared with στ in [18]
SILVA M. On the history of discrete event systems. Annual Reviews in Control,2018,45:213-222.
HUANG B, ZHOU M, LU X S,et al. Scheduling of resource allocation systems with timed Petri nets: A survey. ACM Computing Surveys,2023,55(11):1-27.
WU Naiqi, QIAO Yan. A novel production scheduling methodology by using discrete event system control theories. Control Theory & Applications,2021,38(11):1809-1818.(伍乃骐, 乔岩. 应用离散事件系统控制理论求解生产调度的新方法. 控制理论与应用,2021,38(11):1809-1818.)
LI Dacheng, LUO Jiliang, SUN Shasha,et al. The integrated method of scheduling and control for manufacturing systems based on parallel Petri nets. Acta Automatica Sinica,2023,49(4):845-856.(李大成, 罗继亮, 孙莎莎, 等. 基于平行Petri网的制造系统调度与控制一体化方法. 自动化学报,2023,49(4):845-856.)
UZAM M, LI Z W, GELEN G,et al. A divide-and-conquer-method for the synthesis of liveness enforcing supervisors for flexible manufacturing systems. Journal of Intelligent Manufacturing,2016,27:1111-1129.
GIUA A, SILVA M. Petri nets and automatic control: A historical perspective. Annual Reviews in Control,2018,45:223-239.
CASALINO A, ZANCHETTIN A M, PIRODDI L,et al. Optimal scheduling of human-robot collaborative assembly operations with time Petri nets. IEEE Transactions on Automation Science and Engineering,2019,18(1):70-84.
WANG Chen, LI Liang, LIU Bin. Initial resource allocation of realtime systems based on minimum initial states of labeled time Petri nets. Control Theory & Applications,2024,41(11):2103-2111.(王琛, 黎良, 刘斌. 基于标签时间Petri网最小初始状态的实时系统初始资源配置. 控制理论与应用,2024,41(11):2103-2111.)
LI Yong, LI Kuncheng, SUN Baiqing,et al. Multi-robot-multi-task coordination framework based on the integration of intelligent agent and Petri net. Acta Automatica Sinica,2021,47(8):2029-2049.(李勇, 李坤成, 孙柏青, 等. 智能体Petri网融合的多机器人-多任务协调框架. 自动化学报,2021,47(8):2029-2049.)
LI Wenhong, ZHENG Jianzhi. Research on automatic scheduling strategy for downhole dispatching transportation. Control Theory & Applications,2021,38(6):757-765.(李文宏, 郑建志. 井下调度运输的自动调度策略研究. 控制理论与应用,2021,38(6):757-765.)
MEJIA G, PEREIRA J. Multi-objective scheduling algorithm for flexible manufacturing systems with Petri nets. Journal of Manufacturing Systems,2020,54:272-284.
WU Yali, HE Shuting, YANG Yanxi,et al. Scheduling optimization of aluminum extrusion production line based on timed Petri net and BSO algorithm. Journal of System Simulation,2023,35(1):178-189.(吴亚丽, 何淑婷, 杨延西, 等. 基于时延Petri网与BSO的铝挤压线排产调度优化. 系统仿真学报,2023,35(1):178-189.)
LEE D Y, DICESARE F. Scheduling flexible manufacturing systems using Petri nets and heuristic search. IEEE Transactions on Robotics and Automation,1994,10(2):123-132.
LUO J C, XING K Y, ZHOU M C,et al. Deadlock-free scheduling of automated manufacturing systems using Petri nets and hybrid heuristic search. IEEE Transactions on Systems, Man,and Cybernetics: Systems,2014,45(3):530-541.
WANG X, XING K, FENG Y,et al. Scheduling of flexible manufacturing systems subject to no-wait constraints via Petri nets and heuristic search. IEEE Transactions on Systems, Man,and Cybernetics: Systems,2019,51(10):6122-6133.
HUANG B, ZHOU M C. Symbolic scheduling of robotic cellular manufacturing systems with timed Petri nets. IEEE Transactions on Control Systems Technology,2022,30(5):1876-1887.
LEFEBVRE D. Approaching minimal time control sequences for timed Petri nets. IEEE Transactions on Automation Science and Engineering,2015,13(2):1215-1221.
LEFEBVRE D. Near-optimal scheduling for Petri net models with forbidden markings. IEEE Transactions on Automatic Control,2018,63(8):2550-2557.
LEFEBVRE D, BASILE F. An approach based on timed Petri nets and tree encoding to implement search algorithms for a class of scheduling problems. Information Sciences,2021,559:314-335.
CAMACHO E F, BORDONS C, CAMACHO E F,et al. Model Predictive Controllers. Switzorland: Springer,2007.
XING K, WANG F, ZHOU M C,et al. Deadlock characterization and control of flexible assembly systems with Petri nets. Automatica,2018,87:358-364.
DU Y Y, NING Y H, QI L. Reachability analysis of logic Petri nets using incidence matrix. Enterprise Information Systems,2014,8(6):630-647.