熊正云 劉祥偉
摘 ?要:構(gòu)建監(jiān)管機(jī)構(gòu)食品檢測(cè)流程模型并進(jìn)行優(yōu)化分析.構(gòu)建流程模型,通過(guò)關(guān)聯(lián)矩陣分析說(shuō)明Petri網(wǎng)模型的結(jié)構(gòu)性質(zhì),結(jié)合實(shí)際情況增加相關(guān)的控制結(jié)構(gòu)并優(yōu)化模型.PIPE軟件和PM4PY平臺(tái)仿真模擬實(shí)驗(yàn)結(jié)果表明,優(yōu)化后的模型有較好的穩(wěn)定性,是有界、安全和無(wú)死鎖的,可以應(yīng)用在模型食品檢測(cè)流程中.
關(guān)鍵詞:食品安全;模型分析;行為輪廓
[ ? 中圖分類號(hào) ? ?]TP391.9 [ ? ?文獻(xiàn)標(biāo)志碼 ? ] ?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),食品檢測(cè)是至關(guān)重要的一環(huán).業(yè)務(wù)流程模型管理在各行各業(yè)有著舉足輕重的作用[1],網(wǎng)絡(luò)建模是分析解決業(yè)務(wù)流程問(wèn)題的主流方法[2],Petri網(wǎng)是分布式系統(tǒng)建模和分析工具,它可以清楚地描述系統(tǒng)中各類情況的交互行為,發(fā)現(xiàn)其中存在的問(wèn)題.[3]本文構(gòu)建了一款食品檢測(cè)流程模型,結(jié)合Petri 網(wǎng)中庫(kù)所和變遷的行為關(guān)系,優(yōu)化食品檢測(cè)工作流程模型,使模型更好地應(yīng)用于食品檢測(cè).
1 基本概念
定義1[4] (原型Petri網(wǎng)) 已知一個(gè)網(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,…}是一個(gè)標(biāo)識(shí),滿足條件[ ?s∈S:Ms≤Ks].
定義2[4] (變遷發(fā)生規(guī)則) 一個(gè)原型Petri網(wǎng),滿足以下變遷發(fā)生規(guī)則:
(1) 對(duì)于變遷[t∈T],如果[?s∈S:s∈t→Ms≥]1,則說(shuō)變遷 [t] 在標(biāo)識(shí)[M]有發(fā)生權(quán),記為[M[t>].
(2) 若[M[t>],則在標(biāo)識(shí)[M]下,變遷[t]可以發(fā)生,從標(biāo)識(shí)[M]發(fā)生變遷[t],得到一個(gè)新的標(biāo)識(shí)[M'],即為[M[t>][M'],對(duì)于[?s∈S],
[M's=Ms?1,若 s∈ t?tMs+1,若 s∈ t?tMs,其他].
定義3[5] (行為輪廓) 設(shè)[N,M0為]一個(gè)Petri網(wǎng),其初始標(biāo)識(shí)為[M0],且對(duì)任意的[(t1,t2)∈(T×T)],該P(yáng)etri網(wǎng)滿足以下關(guān)系:
(1) 若[t1?t2]且[t2?t1],則稱和為嚴(yán)格序關(guān)系,記作[t1→t2];
(2) 若[t1?t2]且[t2?t1],則稱和為嚴(yán)格逆序關(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]為一個(gè)Petri網(wǎng),其初始標(biāo)識(shí)為[M0],則Petri網(wǎng)的結(jié)構(gòu)可以用一個(gè)n行m列矩陣[A=[aij]n×m]來(lái)表示,其中:
[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)食品檢測(cè)流程分析
2.1 檢測(cè)流程的建模分析
利用 Petri 網(wǎng)對(duì)食品檢測(cè)流程建模,見(jiàn)圖1.圖1模擬了食品樣品采集、樣品的登記、快速檢測(cè)、復(fù)檢、相關(guān)部分采取的措施、整理上傳文件及信息公布等整個(gè)流程.
監(jiān)管機(jī)構(gòu)在檢測(cè)之前進(jìn)行食品樣品采集(t1發(fā)生)[→]對(duì)樣品進(jìn)行登記(t2發(fā)生)[→]進(jìn)行快速檢測(cè)(t3發(fā)生)[→]s3產(chǎn)生一個(gè)token.若 t4 發(fā)生則 t6 也隨之發(fā)生,即樣品要進(jìn)行兩次檢測(cè),初次檢測(cè)不合格之后要進(jìn)行復(fù)檢.若t5發(fā)生,即初次檢測(cè)合格之后t15發(fā)生,即可以進(jìn)行數(shù)據(jù)上傳以及文件整理.t6發(fā)生之后,s5產(chǎn)生一個(gè)token,此時(shí)可選擇t7和t8發(fā)生,t7發(fā)生即復(fù)檢不合格,t8發(fā)生即復(fù)檢合格.復(fù)檢合格之后,t15發(fā)生,進(jìn)行數(shù)據(jù)上傳以及文件整理.不合格之后,t9發(fā)生,即食品單位停售并上報(bào)食品轄區(qū)監(jiān)管所,t9發(fā)生s7產(chǎn)生一個(gè)token,此時(shí)可選擇變遷t10和t11發(fā)生,t10發(fā)生即被采樣單位有異議,t11發(fā)生即被采樣單位無(wú)異議.t10發(fā)生之后t12隨之發(fā)生,即在4小時(shí)內(nèi)申請(qǐng)復(fù)檢,然后變遷t14發(fā)生,即確認(rèn)結(jié)果依法處置,最后t15發(fā)生,進(jìn)行數(shù)據(jù)上傳以及文件整理.t15發(fā)生之后,t16發(fā)生,即可進(jìn)行信息公布,流程結(jié)束.
定理1[6] 設(shè)[N=S,T;F]為一個(gè)網(wǎng),[A]是[N]的關(guān)聯(lián)矩陣,[N]為守恒網(wǎng)的充分必要條件是:存在[m(m=S)]維正整數(shù)向量[Y],使得[AY=0].
對(duì)Petri網(wǎng)進(jìn)一步分析.選取圖1虛線部分的庫(kù)所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可知,初始標(biāo)識(shí)為[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).
對(duì)圖1模型行為分析驗(yàn)證:
(1) 該模型只有一個(gè)源庫(kù)所i [: ·i=?] ;
(2) 該模型只有一個(gè)終止庫(kù)所o[ :o·=?];
(3) 增加一個(gè)變遷 t 到源庫(kù)所 i 和終止庫(kù)所 o 之間,[即 ·t=i]且[t·=o],這時(shí)Petri網(wǎng)是強(qiáng)連通的.因此,該模型是工作流網(wǎng).
2.2 檢測(cè)流程建模的優(yōu)化
本文在優(yōu)化模型中加入了三種樣品獲取的途徑,針對(duì)不同的獲取途徑,分別進(jìn)行分析,使建模的流程更加詳盡、完備.在食品樣品采集之前,初步對(duì)供貨商的經(jīng)營(yíng)資格進(jìn)行審驗(yàn);對(duì)檢測(cè)方法以及內(nèi)容進(jìn)行細(xì)化分類并具體描述;檢測(cè)不合格樣本申請(qǐng)復(fù)檢,優(yōu)化樣品復(fù)檢的部分.在原模型上增添超時(shí)未做出回饋的部分,使模型更加完備.優(yōu)化后的服務(wù)流程模型如圖3所示.
(1) 加入食品檢測(cè)獲取樣品的途徑,包括:t1計(jì)劃抽檢;t2食品出現(xiàn)安全問(wèn)題,消費(fèi)者送檢;t3食品流入銷(xiāo)售市場(chǎng),經(jīng)營(yíng)者送檢.在抽檢部分,增加了一個(gè)排他結(jié)構(gòu),若驗(yàn)收的樣品殘缺(t13)或者不符合要求需要重新抽取樣品,若樣本完整(t14)即可進(jìn)行樣品登記(t17).
(2) 增加變遷t4,t5,t6,t7,t8,t9和t10,對(duì)供貨商的經(jīng)營(yíng)資格進(jìn)行審驗(yàn).增加一個(gè)交叉序結(jié)構(gòu),即t5審驗(yàn)產(chǎn)品合格證明文件(出廠合格證等)和t6驗(yàn)明產(chǎn)品標(biāo)識(shí)(生產(chǎn)日期保質(zhì)期等),若檢測(cè)不合格,則取消商家經(jīng)營(yíng)資格(t23),并匯總向上級(jí)相關(guān)部門(mén)報(bào)告(t24),最后公布信息(t25).這個(gè)部分合理地縮小了檢測(cè)的樣本,使檢測(cè)效率大幅提升.
(3) 細(xì)化檢測(cè)的步驟,增加變遷 t19,t20,t21和t22,它們之間是交叉序,從非法食品添加劑檢測(cè)、農(nóng)藥殘留檢測(cè)、微生物檢測(cè)和化學(xué)污染物檢測(cè)四個(gè)方面進(jìn)行檢測(cè),使檢測(cè)流程更加詳細(xì)清楚.
(4) 復(fù)檢首先要判斷是什么原因?qū)е聵悠窓z測(cè)不合格,增加變遷 t29,t30,t31和t32,它們之間是排他關(guān)系.若屬于微生物指標(biāo)不合格(t29)和復(fù)驗(yàn)備份樣本超過(guò)保質(zhì)期(t30),即可重新進(jìn)行復(fù)驗(yàn),復(fù)驗(yàn)要重新準(zhǔn)備復(fù)驗(yàn)樣品(t33),準(zhǔn)備包括協(xié)商復(fù)驗(yàn)樣本傳遞方式(t35)和傳遞復(fù)驗(yàn)樣本及相關(guān)資料(t34),復(fù)驗(yàn)準(zhǔn)備完成(t36).若屬于違反法律法規(guī)其他不予復(fù)檢的情形(t32),取消商家經(jīng)營(yíng)資格(t23).若符合復(fù)驗(yàn)要求,可進(jìn)行復(fù)驗(yàn).在復(fù)驗(yàn)過(guò)程中,增加復(fù)驗(yàn)報(bào)告審核未過(guò)的部分.審核未過(guò),需要重新進(jìn)行復(fù)驗(yàn)(t37),審核通過(guò)即可進(jìn)行下一步操作.
(5) 針對(duì)于復(fù)驗(yàn)超時(shí)的現(xiàn)象進(jìn)行優(yōu)化,在原模型上增加變遷 t47.若被采樣單位對(duì)檢測(cè)結(jié)果有異議,但在四小時(shí)內(nèi)沒(méi)有申請(qǐng)復(fù)檢,變遷t47發(fā)生,默認(rèn)其已經(jīng)沒(méi)有意見(jiàn),然后匯總上報(bào),并公布信息.
圖3中變遷符號(hào)的含義:t1,計(jì)劃抽檢;t2,食品安全問(wèn)題,消費(fèi)者送檢;t3,食品流入銷(xiāo)售市場(chǎng),經(jīng)營(yíng)者送檢;t4,審驗(yàn)供貨商經(jīng)營(yíng)資格;t5,審驗(yàn)產(chǎn)品合格證明文件;t6,驗(yàn)明產(chǎn)品標(biāo)識(shí);t7,沒(méi)有合格證明文件;t8,有合格證明文件;t9,產(chǎn)品標(biāo)識(shí)合格;t10,產(chǎn)品標(biāo)識(shí)不合格;t11,抽取樣品;t12,食品樣品驗(yàn)收;t13,樣品殘缺;t14,完整驗(yàn)收;t15,重新取樣;t16,食品樣品采集;t17,樣品登記;t18,快速檢測(cè);t19,農(nóng)藥殘留檢測(cè);t20,微生物樣品檢測(cè);t21,化學(xué)污染物檢測(cè);t22,非法食品添加劑檢測(cè);t23,取消商家經(jīng)營(yíng)資格;t24,匯總向監(jiān)管部門(mén)上報(bào);t25,向抽檢單位公布結(jié)果;t26檢測(cè)結(jié)果;t27,檢測(cè)不合格;t28,檢測(cè)合格;t29,微生物指標(biāo)不合格;t30,復(fù)驗(yàn)備份樣品超過(guò)保質(zhì)期;t31,符合復(fù)檢要求;t32,違反法律法規(guī)其他不予復(fù)檢的情形;t33,準(zhǔn)備復(fù)檢樣品;t34,傳遞復(fù)檢樣品及相關(guān)資料;t35,協(xié)商復(fù)檢樣品傳遞方式;t36,復(fù)檢準(zhǔn)備完成;t37,復(fù)檢;t38,復(fù)檢合格;t39,復(fù)檢不合格;t40,給出檢驗(yàn)報(bào)告;t41,審核通過(guò),停售并報(bào)轄區(qū)市場(chǎng)監(jiān)管所;t42,被采樣單位無(wú)異議;t43,被采樣單位有異議;t44,召回、無(wú)害化等措施;t45,4小時(shí)內(nèi)申請(qǐng)復(fù)檢;t46,確認(rèn)結(jié)果依法處置;t47,申請(qǐng)超時(shí);t48,文件整理,上傳數(shù)據(jù);t49,信息公布.
3 仿真模擬分析
為了驗(yàn)證圖3所示優(yōu)化后模型的性質(zhì),利用PM4PY建模,利用仿真軟件PIPE驗(yàn)證模型的穩(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對(duì)優(yōu)化后的 Petri 網(wǎng)流程模型進(jìn)行分析,繪制優(yōu)化后的流程模型,然后使用“state space analysis”分析工具對(duì)模型行分析.分析結(jié)果顯示,優(yōu)化后的模型有界、安全、無(wú)死鎖,說(shuō)明優(yōu)化后的模型是合理可行的.
4 結(jié)語(yǔ)
本文構(gòu)建并優(yōu)化食品檢測(cè)流程模型,通過(guò)增加相關(guān)控制結(jié)構(gòu),使優(yōu)化模型能提高檢測(cè)的效率,能對(duì)復(fù)檢超時(shí)的情況進(jìn)行處理.仿真實(shí)驗(yàn)表明,優(yōu)化后的模型有較好的穩(wěn)定性,是有界、安全和無(wú)死鎖的,可以應(yīng)用在模型食品檢測(cè)流程中.
參考文獻(xiàn)
[1] 段瑞,方歡.基于Petri網(wǎng)的電梯控制系統(tǒng)建模與分析[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2018(03):24-28.
[2]何路路,方歡.基于Petri網(wǎng)的保險(xiǎn)工作流系統(tǒng)建模及驗(yàn)證[J].牡丹江師范學(xué)院學(xué)報(bào):自然科學(xué)版,2017(01):5-8.
[3]毛古寶.基于Petri網(wǎng)的機(jī)動(dòng)車(chē)保險(xiǎn)業(yè)務(wù)流程優(yōu)化分析[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2021(02):238-243.
[4]吳哲輝. Petri網(wǎng)理論[M]. 北京:機(jī)械工業(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]. 計(jì)算機(jī)科學(xué),2005,32(2):121-124.
編輯:琳莉