熊正云 劉祥偉
摘 ?要:構(gòu)建監(jiān)管機構(gòu)食品檢測流程模型并進行優(yōu)化分析.構(gòu)建流程模型,通過關(guān)聯(lián)矩陣分析說明Petri網(wǎng)模型的結(jié)構(gòu)性質(zhì),結(jié)合實際情況增加相關(guān)的控制結(jié)構(gòu)并優(yōu)化模型.PIPE軟件和PM4PY平臺仿真模擬實驗結(jié)果表明,優(yōu)化后的模型有較好的穩(wěn)定性,是有界、安全和無死鎖的,可以應(yīng)用在模型食品檢測流程中.
關(guān)鍵詞:食品安全;模型分析;行為輪廓
[ ? 中圖分類號 ? ?]TP391.9 [ ? ?文獻標志碼 ? ] ?A
Modeling and Optimization Analysis of Food Inspection
Process based on Petri Net
XIONG Zhengyun,LIU Xiangwei
(School of Mathematics and Big Data,Anhui University of Science and Technology,Huainan 232063,China)
Abstract:For the food inspection process of the regulatory agency,this paper conducts modeling analysis based on Petri nets. Firstly,the process is modeled,and the structural properties of the established Petri net model are explained through the correlation analysis of the incidence matrix,and then the relevant control structure is added to optimize the model according to the actual situation. Finally,the simulation experiment is carried out using PIPE software and PM4PY platform,and the results show the feasibility of the optimized model.
Key words:food safety; model analysis; behavioural profiles
食品安全與人民健康息息相關(guān),食品檢測是至關(guān)重要的一環(huán).業(yè)務(wù)流程模型管理在各行各業(yè)有著舉足輕重的作用[1],網(wǎng)絡(luò)建模是分析解決業(yè)務(wù)流程問題的主流方法[2],Petri網(wǎng)是分布式系統(tǒng)建模和分析工具,它可以清楚地描述系統(tǒng)中各類情況的交互行為,發(fā)現(xiàn)其中存在的問題.[3]本文構(gòu)建了一款食品檢測流程模型,結(jié)合Petri 網(wǎng)中庫所和變遷的行為關(guān)系,優(yōu)化食品檢測工作流程模型,使模型更好地應(yīng)用于食品檢測.
1 基本概念
定義1[4] (原型Petri網(wǎng)) 已知一個網(wǎng)為六元組[ =S,T;F,K,W,M],則滿足以下條件:
(1)[ S∪T≠?].
(2)[ S∩T=?].
(3)[ F?(S×T)∪(T×S)].
(4)[ domF∪codF=S∪T],
其中:
[domF={x∈S∪T | ?y∈S∪T:(x,y)∈F}],
[codF={x∈S∪T | ?y∈S∪T:(y,x)∈F}].
(5) [K:S→]{1,2,3…}稱為容量函數(shù),滿足條件[ ?s∈S:Ks=∞].
(6) [W:S→]{1,2,3…}稱為權(quán)函數(shù),滿足條件[ ?f∈F:Wf= ]1.
(7) 映射[M:S→]{0,1,2,…}是一個標識,滿足條件[ ?s∈S:Ms≤Ks].
定義2[4] (變遷發(fā)生規(guī)則) 一個原型Petri網(wǎng),滿足以下變遷發(fā)生規(guī)則:
(1) 對于變遷[t∈T],如果[?s∈S:s∈t→Ms≥]1,則說變遷 [t] 在標識[M]有發(fā)生權(quán),記為[M[t>].
(2) 若[M[t>],則在標識[M]下,變遷[t]可以發(fā)生,從標識[M]發(fā)生變遷[t],得到一個新的標識[M'],即為[M[t>][M'],對于[?s∈S],
[M's=Ms?1,若 s∈ t?tMs+1,若 s∈ t?tMs,其他].
定義3[5] (行為輪廓) 設(shè)[N,M0為]一個Petri網(wǎng),其初始標識為[M0],且對任意的[(t1,t2)∈(T×T)],該Petri網(wǎng)滿足以下關(guān)系:
(1) 若[t1?t2]且[t2?t1],則稱和為嚴格序關(guān)系,記作[t1→t2];
(2) 若[t1?t2]且[t2?t1],則稱和為嚴格逆序關(guān)系,記作[t1→?1t2];
(3) 若[t1?t2]且[t2?t1],則稱和為排他序關(guān)系,記作[t1+t2];
(4) 若[t1?t2]且[t2?t1],則稱和為交叉序關(guān)系,記作[t1||t2];
(5) 將所有關(guān)系的集合稱為行為輪廓,記作[BP=→,→?1,+,||].
定義4[5] (關(guān)聯(lián)矩陣) 設(shè) [=S,T;F,M0]為一個Petri網(wǎng),其初始標識為[M0],則Petri網(wǎng)的結(jié)構(gòu)可以用一個n行m列矩陣[A=[aij]n×m]來表示,其中:
[aij=aij+?aij?, ? aij+=1,若(ti,sj)∈F0,其他],[ ? aij?=1,若(sj,ti)∈F0,其他],
[i∈ ]{1,2,3…n},[j∈ ]{1,2,3…m},稱[A]為[∑]的關(guān)聯(lián)矩陣.
2 基于Petri網(wǎng)食品檢測流程分析
2.1 檢測流程的建模分析
利用 Petri 網(wǎng)對食品檢測流程建模,見圖1.圖1模擬了食品樣品采集、樣品的登記、快速檢測、復(fù)檢、相關(guān)部分采取的措施、整理上傳文件及信息公布等整個流程.
監(jiān)管機構(gòu)在檢測之前進行食品樣品采集(t1發(fā)生)[→]對樣品進行登記(t2發(fā)生)[→]進行快速檢測(t3發(fā)生)[→]s3產(chǎn)生一個token.若 t4 發(fā)生則 t6 也隨之發(fā)生,即樣品要進行兩次檢測,初次檢測不合格之后要進行復(fù)檢.若t5發(fā)生,即初次檢測合格之后t15發(fā)生,即可以進行數(shù)據(jù)上傳以及文件整理.t6發(fā)生之后,s5產(chǎn)生一個token,此時可選擇t7和t8發(fā)生,t7發(fā)生即復(fù)檢不合格,t8發(fā)生即復(fù)檢合格.復(fù)檢合格之后,t15發(fā)生,進行數(shù)據(jù)上傳以及文件整理.不合格之后,t9發(fā)生,即食品單位停售并上報食品轄區(qū)監(jiān)管所,t9發(fā)生s7產(chǎn)生一個token,此時可選擇變遷t10和t11發(fā)生,t10發(fā)生即被采樣單位有異議,t11發(fā)生即被采樣單位無異議.t10發(fā)生之后t12隨之發(fā)生,即在4小時內(nèi)申請復(fù)檢,然后變遷t14發(fā)生,即確認結(jié)果依法處置,最后t15發(fā)生,進行數(shù)據(jù)上傳以及文件整理.t15發(fā)生之后,t16發(fā)生,即可進行信息公布,流程結(jié)束.
定理1[6] 設(shè)[N=S,T;F]為一個網(wǎng),[A]是[N]的關(guān)聯(lián)矩陣,[N]為守恒網(wǎng)的充分必要條件是:存在[m(m=S)]維正整數(shù)向量[Y],使得[AY=0].
對Petri網(wǎng)進一步分析.選取圖1虛線部分的庫所s5,s6,s7,s8,s9,s10,s11,變遷t7,t9,t10,t11,t12,t13以及它們之間流關(guān)系構(gòu)成圖2所示的網(wǎng),記為[N1].
網(wǎng)[N1]的關(guān)聯(lián)矩陣為:
[A= ?1 1 0 0 0 0 00?1 1 0 0 0 00 0?1 1 0 0 00 0?1 0 1 0 00 0 0?1 0 1 00 0 0 0?1 0 1 ].
由圖2可知,初始標識為[M01,0,0,0,0,0,0],由定理1的[AY=0]求解[Y],[rank(A)=6],所以,方程組有非零解.解得Y[=1,1,1,1,1,1,1],所以,[N1]為守恒網(wǎng).
對圖1模型行為分析驗證:
(1) 該模型只有一個源庫所i [: ·i=?] ;
(2) 該模型只有一個終止庫所o[ :o·=?];
(3) 增加一個變遷 t 到源庫所 i 和終止庫所 o 之間,[即 ·t=i]且[t·=o],這時Petri網(wǎng)是強連通的.因此,該模型是工作流網(wǎng).
2.2 檢測流程建模的優(yōu)化
本文在優(yōu)化模型中加入了三種樣品獲取的途徑,針對不同的獲取途徑,分別進行分析,使建模的流程更加詳盡、完備.在食品樣品采集之前,初步對供貨商的經(jīng)營資格進行審驗;對檢測方法以及內(nèi)容進行細化分類并具體描述;檢測不合格樣本申請復(fù)檢,優(yōu)化樣品復(fù)檢的部分.在原模型上增添超時未做出回饋的部分,使模型更加完備.優(yōu)化后的服務(wù)流程模型如圖3所示.
(1) 加入食品檢測獲取樣品的途徑,包括:t1計劃抽檢;t2食品出現(xiàn)安全問題,消費者送檢;t3食品流入銷售市場,經(jīng)營者送檢.在抽檢部分,增加了一個排他結(jié)構(gòu),若驗收的樣品殘缺(t13)或者不符合要求需要重新抽取樣品,若樣本完整(t14)即可進行樣品登記(t17).
(2) 增加變遷t4,t5,t6,t7,t8,t9和t10,對供貨商的經(jīng)營資格進行審驗.增加一個交叉序結(jié)構(gòu),即t5審驗產(chǎn)品合格證明文件(出廠合格證等)和t6驗明產(chǎn)品標識(生產(chǎn)日期保質(zhì)期等),若檢測不合格,則取消商家經(jīng)營資格(t23),并匯總向上級相關(guān)部門報告(t24),最后公布信息(t25).這個部分合理地縮小了檢測的樣本,使檢測效率大幅提升.
(3) 細化檢測的步驟,增加變遷 t19,t20,t21和t22,它們之間是交叉序,從非法食品添加劑檢測、農(nóng)藥殘留檢測、微生物檢測和化學(xué)污染物檢測四個方面進行檢測,使檢測流程更加詳細清楚.
(4) 復(fù)檢首先要判斷是什么原因?qū)е聵悠窓z測不合格,增加變遷 t29,t30,t31和t32,它們之間是排他關(guān)系.若屬于微生物指標不合格(t29)和復(fù)驗備份樣本超過保質(zhì)期(t30),即可重新進行復(fù)驗,復(fù)驗要重新準備復(fù)驗樣品(t33),準備包括協(xié)商復(fù)驗樣本傳遞方式(t35)和傳遞復(fù)驗樣本及相關(guān)資料(t34),復(fù)驗準備完成(t36).若屬于違反法律法規(guī)其他不予復(fù)檢的情形(t32),取消商家經(jīng)營資格(t23).若符合復(fù)驗要求,可進行復(fù)驗.在復(fù)驗過程中,增加復(fù)驗報告審核未過的部分.審核未過,需要重新進行復(fù)驗(t37),審核通過即可進行下一步操作.
(5) 針對于復(fù)驗超時的現(xiàn)象進行優(yōu)化,在原模型上增加變遷 t47.若被采樣單位對檢測結(jié)果有異議,但在四小時內(nèi)沒有申請復(fù)檢,變遷t47發(fā)生,默認其已經(jīng)沒有意見,然后匯總上報,并公布信息.
圖3中變遷符號的含義:t1,計劃抽檢;t2,食品安全問題,消費者送檢;t3,食品流入銷售市場,經(jīng)營者送檢;t4,審驗供貨商經(jīng)營資格;t5,審驗產(chǎn)品合格證明文件;t6,驗明產(chǎn)品標識;t7,沒有合格證明文件;t8,有合格證明文件;t9,產(chǎn)品標識合格;t10,產(chǎn)品標識不合格;t11,抽取樣品;t12,食品樣品驗收;t13,樣品殘缺;t14,完整驗收;t15,重新取樣;t16,食品樣品采集;t17,樣品登記;t18,快速檢測;t19,農(nóng)藥殘留檢測;t20,微生物樣品檢測;t21,化學(xué)污染物檢測;t22,非法食品添加劑檢測;t23,取消商家經(jīng)營資格;t24,匯總向監(jiān)管部門上報;t25,向抽檢單位公布結(jié)果;t26檢測結(jié)果;t27,檢測不合格;t28,檢測合格;t29,微生物指標不合格;t30,復(fù)驗備份樣品超過保質(zhì)期;t31,符合復(fù)檢要求;t32,違反法律法規(guī)其他不予復(fù)檢的情形;t33,準備復(fù)檢樣品;t34,傳遞復(fù)檢樣品及相關(guān)資料;t35,協(xié)商復(fù)檢樣品傳遞方式;t36,復(fù)檢準備完成;t37,復(fù)檢;t38,復(fù)檢合格;t39,復(fù)檢不合格;t40,給出檢驗報告;t41,審核通過,停售并報轄區(qū)市場監(jiān)管所;t42,被采樣單位無異議;t43,被采樣單位有異議;t44,召回、無害化等措施;t45,4小時內(nèi)申請復(fù)檢;t46,確認結(jié)果依法處置;t47,申請超時;t48,文件整理,上傳數(shù)據(jù);t49,信息公布.
3 仿真模擬分析
為了驗證圖3所示優(yōu)化后模型的性質(zhì),利用PM4PY建模,利用仿真軟件PIPE驗證模型的穩(wěn)定性.代碼如下.
from pm4py.objects.petri_net.obj import PetriNet,Marking
from pm4py.objects.petri_net.utils import check_soundness
from pm4py.objects.petri_net.utils import petri_utils
from pm4py.visualization.petri_net import visualizer as pn_visualizer
net = PetriNet() # creating an empty Petri
p_0=PetriNet.Place("p_0")[ ……]p_25=PetriNet.Place("p_42")
net.places.add(p_0)[ …… ]net.places.add(p_25)
t_1=PetriNet.Transition("t_1","t1")[ …… ]t_27=PetriNet.Transition("t_50","t50")
net.transitions.add(t_1)[ …… ]net.transitions.add(t_27)
petri_utils.add_arc_from_to(p_0,t_1,net)[……]petri_utils.add_arc_from_to(t_27,p_25,net)
im=Marking()
im[p_0]=1
fm=Marking()
fm[p_16]=1
fm[p_42]=1
gviz=pn_visualizer.apply(net,initial_marking=im,final_marking=fm)
pn_visualizer.view(gviz)
check_result=check_soundness.check_wfnet(net)
print(check_result)
利用仿真軟件PIPE對優(yōu)化后的 Petri 網(wǎng)流程模型進行分析,繪制優(yōu)化后的流程模型,然后使用“state space analysis”分析工具對模型行分析.分析結(jié)果顯示,優(yōu)化后的模型有界、安全、無死鎖,說明優(yōu)化后的模型是合理可行的.
4 結(jié)語
本文構(gòu)建并優(yōu)化食品檢測流程模型,通過增加相關(guān)控制結(jié)構(gòu),使優(yōu)化模型能提高檢測的效率,能對復(fù)檢超時的情況進行處理.仿真實驗表明,優(yōu)化后的模型有較好的穩(wěn)定性,是有界、安全和無死鎖的,可以應(yīng)用在模型食品檢測流程中.
參考文獻
[1] 段瑞,方歡.基于Petri網(wǎng)的電梯控制系統(tǒng)建模與分析[J].牡丹江師范學(xué)院學(xué)報:自然科學(xué)版,2018(03):24-28.
[2]何路路,方歡.基于Petri網(wǎng)的保險工作流系統(tǒng)建模及驗證[J].牡丹江師范學(xué)院學(xué)報:自然科學(xué)版,2017(01):5-8.
[3]毛古寶.基于Petri網(wǎng)的機動車保險業(yè)務(wù)流程優(yōu)化分析[J].哈爾濱商業(yè)大學(xué)學(xué)報:自然科學(xué)版,2021(02):238-243.
[4]吳哲輝. Petri網(wǎng)理論[M]. 北京:機械工業(yè)出版社,2006.77-78.
[5]Revathi B S,Mahalingam P, Gonzalez-Longatt F . Interleaved high gain DC-DC converter for integrating solar PV source to DC bus[J]. Solar Energy,2019,188(AUG.):924-934.
[6]周福明,吳斌,顧慶,等. 基于Petri網(wǎng)的工作流建模與正確性分析[J]. 計算機科學(xué),2005,32(2):121-124.
編輯:琳莉