金雨佳
(渤海大學(xué) 信息科學(xué)與技術(shù)學(xué)院,遼寧 錦州121013)
經(jīng)濟(jì)在發(fā)展,時(shí)代在進(jìn)步,人們對(duì)食品的安全要求也逐年提高.人們開始把關(guān)注的重心放在營(yíng)養(yǎng)均衡上,作為一個(gè)農(nóng)業(yè)為主的大國(guó),國(guó)民經(jīng)濟(jì)和社會(huì)發(fā)展的基礎(chǔ)就是農(nóng)業(yè),能夠?yàn)槿藗兲峁└嗟臓I(yíng)養(yǎng)成分.由于產(chǎn)品對(duì)運(yùn)輸?shù)臅r(shí)效性、保鮮性要求比較高,其對(duì)冷鏈物流的各個(gè)環(huán)節(jié)的共同作用要求更高,所以水產(chǎn)品的運(yùn)輸與成本消耗密切相關(guān),有效控制運(yùn)輸成本,成為水產(chǎn)品運(yùn)輸?shù)闹匾獑栴}.在國(guó)民經(jīng)濟(jì)的發(fā)展中,現(xiàn)在物流的進(jìn)步是非常重要的一部分,在企業(yè)的生產(chǎn)生活中,物流則是降低成本提高生產(chǎn)率的“第三利潤(rùn)源泉”[1].人們的消費(fèi)觀念也逐漸轉(zhuǎn)化為更新鮮的產(chǎn)品.但是由于國(guó)內(nèi)水產(chǎn)品的活體運(yùn)輸技術(shù)存在著信息化、智能化程度低、監(jiān)控因素單一等問題[2],導(dǎo)致產(chǎn)品忽高忽低,對(duì)食品安全來講,冷鏈物流的作用非常大,冷鏈物流貫穿水產(chǎn)品從捕撈到生產(chǎn)再到銷售的整個(gè)過程,冷鏈物流的運(yùn)作情況影響行業(yè)的發(fā)展,企業(yè)的利益.但是在現(xiàn)在的水產(chǎn)品冷鏈物流中主要是針對(duì)水產(chǎn)品進(jìn)行保鮮,很少有針對(duì)運(yùn)輸過程中突發(fā)意外情況進(jìn)行的報(bào)警.冷鏈物流要實(shí)施溫度的全程管理,必須依靠信息技術(shù).為了增加我國(guó)農(nóng)業(yè)的競(jìng)爭(zhēng)力,水產(chǎn)品冷藏保鮮技術(shù)的物聯(lián)網(wǎng)開發(fā)應(yīng)用刻不容緩.
目前,消費(fèi)者對(duì)水產(chǎn)品的新鮮程度要求增高,在冷鏈方面的要求也隨之增高,冷鏈設(shè)備在進(jìn)行水產(chǎn)品運(yùn)輸中可以保證食品長(zhǎng)期處在一個(gè)比較適宜的溫度,從而達(dá)到保鮮的效果,所以物流中產(chǎn)生了一個(gè)新的更有效的分支——冷鏈物流[3],冷鏈物流是以低溫環(huán)境為核心的,以冷凍工藝學(xué)為基礎(chǔ)的低溫物流過程[4].
冷鏈物流主要有以下節(jié)點(diǎn):在冷鏈物流的上游中包含養(yǎng)殖基地、冷藏倉庫、生產(chǎn)加工基地等;冷鏈物流的中間環(huán)節(jié)有冷藏倉庫、物流、配送中心等[5];冷鏈物流的下游中含有農(nóng)貿(mào)市場(chǎng),超市等.本文主要針對(duì)的是冷鏈物流運(yùn)輸中的中間環(huán)節(jié)的物流過程.
對(duì)冷鏈物流監(jiān)測(cè)與預(yù)警的研究中,傳統(tǒng)的方法有集成無線傳感網(wǎng)絡(luò)、人工智能技術(shù)的智能化冷鏈物流模型[6];基于無線溫濕度傳感網(wǎng)絡(luò)和GPS系統(tǒng)的智能冷鏈物流跟蹤監(jiān)測(cè)系統(tǒng)[7];基于云服務(wù)及組件集成技術(shù)的云服務(wù)系統(tǒng)方法[8],這些系統(tǒng)通常存在對(duì)車內(nèi)冷藏產(chǎn)品進(jìn)行實(shí)施監(jiān)測(cè)但無法對(duì)突發(fā)情況進(jìn)行預(yù)警.為了解決這一問題,本文研究了一種基于GA的水產(chǎn)品冷鏈智能監(jiān)測(cè)與預(yù)警模型.
本文考慮了水產(chǎn)品在腐壞時(shí)釋放氣體的成分,對(duì)濃度進(jìn)行了計(jì)算,利用遺傳算法進(jìn)行了監(jiān)測(cè)及預(yù)警,一定程度上降低了因特殊情況下的腐壞導(dǎo)致水產(chǎn)品的浪費(fèi).
本算法旨在克服現(xiàn)有技術(shù)不足,而提供一種可對(duì)水產(chǎn)品在運(yùn)輸途中的腐化程度實(shí)時(shí)監(jiān)測(cè),避免在長(zhǎng)時(shí)間不間斷的冷鏈運(yùn)輸途中,容易產(chǎn)生疏漏的情況.
遺傳算法(genetic algorithm,GA)是一種在全局中進(jìn)行優(yōu)化的算法,結(jié)合了遺傳學(xué)中的進(jìn)化原理和隨機(jī)優(yōu)化原理[9],遺傳算法起源于上世紀(jì)六十年代中期,這是一種以生物進(jìn)化為思想建立的一種人工系統(tǒng),是一種仿生的生物模型.遺傳算法是以達(dá)爾文進(jìn)化論中的“適者生存”原則為基礎(chǔ)[10],模擬生物體之間優(yōu)勝劣汰,勝者生存的原則,對(duì)種群進(jìn)行反復(fù)的遺傳,直至最優(yōu)的個(gè)體出現(xiàn),使種群進(jìn)化的過程,是計(jì)算智能的重要組成部分[11].簡(jiǎn)單地來說,遺傳算法就是在所有的可能中尋找最符合該問題的一個(gè)最優(yōu)解.
在生物學(xué)上,小生境技術(shù)是指在特定環(huán)境下的一種組織結(jié)構(gòu).在自然界中,特征相似的物種相聚在一起,繁衍后代.由于其匹配時(shí)是隨機(jī)的,在后期的進(jìn)化過程中,大量的個(gè)體聚集在某一極值點(diǎn)處,單純的利用遺傳算法求解多峰問題時(shí),經(jīng)常找到局部最優(yōu)解,利用小生境技術(shù)我們可以找到全部的最優(yōu)解[12].
小生境技術(shù)就是將一代種群劃分成若干個(gè)子種群,每個(gè)子種群中選出若干適應(yīng)度較大的個(gè)體作為一類優(yōu)秀的代表種群,在優(yōu)秀的代表種群中進(jìn)行雜交、變異產(chǎn)生新一代子種群[13].這種融合小生境技術(shù)的遺傳算法可以更好地保持最優(yōu)解的多樣性,同時(shí)具有較高的全局尋優(yōu)能力和收斂速度[14].
隨機(jī)本次算法結(jié)合動(dòng)態(tài)小生境共享算法進(jìn)行遺傳算法的改進(jìn),具體步驟如下:
步驟一處理訓(xùn)練數(shù)據(jù),根據(jù)構(gòu)建的模擬方程格式構(gòu)建殘差.
步驟二適應(yīng)度值計(jì)算并降序排列.
步驟三小生境選擇,將降序排列的第一個(gè)個(gè)體作為第一個(gè)小生境中心,分別計(jì)算其余個(gè)體與小生境中心的歐幾里得距離,若大于給定值L,且存在的小生境中心小于給定值K,則該個(gè)體成為新的小生境中心;若個(gè)體與小生境中心的距離小于定值L,則個(gè)體作為該小生境個(gè)體;若個(gè)體與小生境之間的距離大于L,且小生境中心個(gè)數(shù)大于等于K,則該個(gè)體成為獨(dú)立個(gè)體.
步驟四小生境處理,若處于某小生境的個(gè)體,其小生境數(shù)就是他所在的小生境擁有的個(gè)體的數(shù)量,小生境中心及獨(dú)立個(gè)體的小生境數(shù)規(guī)定為1.
步驟五計(jì)算共享后的適應(yīng)度值.
步驟六進(jìn)行種群自適應(yīng)交叉操作.
步驟七進(jìn)行種群自適應(yīng)變異操作.
步驟八若滿足終止判斷條件,則輸出,不滿足終止條件跳轉(zhuǎn)到步驟二,循環(huán)運(yùn)算,直至算法終止.
其中步驟一中的構(gòu)造差值是在模擬的隨機(jī)數(shù)x,y后,根據(jù)定義的多項(xiàng)式
將模擬好的隨機(jī)數(shù)x代入模擬的y中
構(gòu)造差值為:
式(1)中g(shù)為模擬出的函數(shù),f為模擬函數(shù)的模板,a,b,...分別為模擬函數(shù)的系數(shù).
其中步驟三中的歐幾里得距離計(jì)算公式如下:
步驟五中重新計(jì)算適應(yīng)度值的公式如下:
其中S(x)為共享函數(shù),Ω(x i)為數(shù)據(jù)與數(shù)據(jù)之間的歐幾里得距離,在本算法中就是小生境數(shù).由于實(shí)驗(yàn)中存在很多相似的數(shù)據(jù),所以通過計(jì)算數(shù)據(jù)與數(shù)據(jù)之間的歐幾里得距離,找相似的數(shù)據(jù),在對(duì)數(shù)據(jù)重新計(jì)算適應(yīng)度值后,可對(duì)相似的數(shù)據(jù)進(jìn)行適應(yīng)度值縮小處理,可以減少數(shù)據(jù)中的相似數(shù)據(jù),從而增加數(shù)據(jù)的多樣性,避免陷入局部最優(yōu)解[15].
在步驟六及步驟七中,傳統(tǒng)的遺傳算法為固定值,自適應(yīng)遺傳算法交叉及變異的概率如下:
其中pc、pm分別為進(jìn)行交叉、變異操作的概率;fmax為群體中最大的適應(yīng)度值;f avg為群體的平均適應(yīng)度值;f為要進(jìn)行交叉操作個(gè)體的適應(yīng)度值;f'為要進(jìn)行變異操作的適應(yīng)度值;k1、k2、k3、k4為常數(shù),在結(jié)合sigmoid函數(shù)改進(jìn)后的交叉及變異的概率如下:
以自適應(yīng)遺傳算法進(jìn)行交叉的概率為例,當(dāng)個(gè)體適應(yīng)度值小于種群平均的適應(yīng)值時(shí),交叉的概率為定值,在改進(jìn)的自適應(yīng)遺傳算法中,種群個(gè)體的交叉概率會(huì)根據(jù)種群個(gè)體的適應(yīng)度值進(jìn)行改變,種群個(gè)體的適應(yīng)度值越小,進(jìn)行交叉的概率越大.
當(dāng)種群個(gè)體的適應(yīng)度值大于平均適應(yīng)度值時(shí)
而改進(jìn)的算法進(jìn)行交叉的概率為:
因?yàn)镕(x)≤0,所以在改進(jìn)的自適應(yīng)遺傳算法中,當(dāng)個(gè)體的適應(yīng)度值大于平均適應(yīng)度值時(shí),改進(jìn)的自適應(yīng)遺傳算法較傳統(tǒng)的自適應(yīng)遺傳算法相比可以降低交叉變異的概率,從而保存?zhèn)€體的完整性,并個(gè)體的適應(yīng)度值大于平均適應(yīng)度值根據(jù)適應(yīng)度值變化而改變變異概率,增加種群收斂速度.
傳統(tǒng)的遺傳算法存在搜索能力較弱,容易陷入局部最優(yōu)解的特點(diǎn),在改進(jìn)的自適應(yīng)遺傳算法采用sigmoid函數(shù)進(jìn)行創(chuàng)新,根據(jù)個(gè)體的適應(yīng)度值計(jì)算交叉變異的概率,使交叉及變異概率具有較高的收斂速度,從而加快算法全局尋優(yōu)的能力.
通過產(chǎn)生的差值進(jìn)行遺傳算法的尋優(yōu)處理,再利用遺傳算法進(jìn)行選優(yōu)處理,在遺傳算法中選取種群大小(size_pop)為50,最大迭代次數(shù)(max_iter)為200,交叉概率常數(shù)取值為1.0,變異概率常數(shù)為0.01.
為了實(shí)現(xiàn)上述過程,本算法按如下步驟進(jìn)行:
第一階段:
步驟1采集一組水產(chǎn)品腐化參考數(shù)據(jù);
步驟2對(duì)步驟2所得水產(chǎn)品腐化參考數(shù)據(jù)進(jìn)行圖像模擬;
步驟3使用遺傳算法對(duì)腐化參考數(shù)據(jù)進(jìn)行多項(xiàng)式擬合,形成模擬腐化函數(shù);
第二階段:
步驟4實(shí)時(shí)采集一組水產(chǎn)品腐化環(huán)境數(shù)據(jù);
步驟5將采集時(shí)間代入模擬腐化方程;
步驟6將步驟4所得環(huán)境數(shù)據(jù)與模擬腐化函數(shù)值進(jìn)行對(duì)比,若差距達(dá)到設(shè)定閥值,則啟動(dòng)報(bào)警器,進(jìn)行報(bào)警.
在步驟2中已經(jīng)模擬出的腐化函數(shù),將時(shí)間代入,得出理想的腐化函數(shù)值,將理想的腐化函數(shù)值與新測(cè)量的實(shí)際腐化值,結(jié)合水產(chǎn)品的腐化實(shí)驗(yàn)參考濃度進(jìn)行對(duì)比設(shè)定報(bào)警值,表1為報(bào)警參考程度表
表1 報(bào)警參考程度表
實(shí)驗(yàn)環(huán)境:Inter(R)Core(TM)i7 CPU@1.80GHz 2.00 GHz,操作系統(tǒng)為:Windows10,硬盤位256 G+1 T,算法在pycharm 2019.1.3 x64開發(fā)環(huán)境下運(yùn)行.
本文在使用pycharm對(duì)算法進(jìn)行實(shí)現(xiàn),采用UCI數(shù)據(jù)集官網(wǎng)中的數(shù)據(jù)集Gas Turbine CO and NOx Emission數(shù)據(jù)集對(duì)改進(jìn)的遺傳算法進(jìn)行曲線擬合進(jìn)行驗(yàn)證,選用數(shù)據(jù)集中屬性信息AT(溫度),CO(一氧化碳濃度)進(jìn)行實(shí)驗(yàn)?zāi)M.在實(shí)驗(yàn)第一階段,由于魚類腐化的特性,分別對(duì)溫度、氣體濃度進(jìn)行降序排列,利用AT分別和CO利用改進(jìn)的遺傳算法進(jìn)行三次多項(xiàng)式的模擬,多項(xiàng)式結(jié)構(gòu)如下,模擬結(jié)果如圖所示.
圖1 溫度-CO模擬函數(shù)圖像
在對(duì)遺傳算法應(yīng)用在水產(chǎn)品冷鏈物流自動(dòng)監(jiān)測(cè)與預(yù)警系統(tǒng)模擬中,第一階段中初始環(huán)境數(shù)據(jù)選取一組不定量增長(zhǎng)的隨機(jī)數(shù),本文中選取的隨機(jī)數(shù)為增長(zhǎng)范圍在0到0.5之間一組增長(zhǎng)的數(shù)值,本文數(shù)據(jù)集定量100個(gè)數(shù)值,每個(gè)數(shù)值精確到小數(shù)點(diǎn)后3位,遺傳算法中選取種群大?。╯ize_pop)為50,最大迭代次數(shù)(max_iter)為200,變異概率(prob_mut)為0.001.利用擬合算法遺傳算法將時(shí)間作為自變量(x=1,2,3,...,100),將模擬出的初始環(huán)境數(shù)據(jù)作為因變量y模擬出水產(chǎn)品腐化參考函數(shù),圖2為模擬腐化函數(shù)圖像,其中包含環(huán)境數(shù)據(jù)y值,時(shí)間數(shù)據(jù)x值以及模擬腐化函數(shù)方程函數(shù)圖像.
圖2 第一階段模擬腐化函數(shù)圖像
圖3 第二階段新的數(shù)據(jù)點(diǎn)圖與腐化函數(shù)的擬合情況
第一階段的模擬腐化函數(shù)的方程如下:
在第二階段中重新生成一組增長(zhǎng)范圍為0至0.5之間的隨機(jī)數(shù)作為水產(chǎn)品實(shí)時(shí)參考環(huán)境數(shù)據(jù),精度為0.001,數(shù)據(jù)集同樣是100個(gè)數(shù)據(jù),并對(duì)其中部分?jǐn)?shù)據(jù)進(jìn)行放大處理,模擬特殊情況下的腐壞值,將采集時(shí)間代入階段一中模擬出的腐化函數(shù)方程,得出實(shí)時(shí)的理想腐化函數(shù)值,將理想腐化函數(shù)值與實(shí)時(shí)腐化函數(shù)值進(jìn)行對(duì)比,在到達(dá)閥值時(shí)進(jìn)行報(bào)警,函數(shù)圖形模擬如圖3所示,在控制臺(tái)中13分鐘進(jìn)行中度報(bào)警,在第73分鐘進(jìn)行高度報(bào)警.
通過預(yù)測(cè)值與模擬函數(shù)的模擬值進(jìn)行實(shí)時(shí)監(jiān)測(cè)可以很好地對(duì)數(shù)據(jù)進(jìn)行控制,在數(shù)據(jù)超出預(yù)計(jì)范圍時(shí),可以很好地進(jìn)行預(yù)警.該模型在水產(chǎn)品運(yùn)輸中,可以先將溫度分別于氨氣、二氧化碳的濃度進(jìn)行函數(shù)的模擬,作為參考值,在實(shí)時(shí)運(yùn)輸中,將模擬的氣體濃度值與實(shí)際的濃度值進(jìn)行實(shí)時(shí)對(duì)比,在預(yù)測(cè)超出正常范圍時(shí),及時(shí)進(jìn)行報(bào)警,以防止產(chǎn)品的加速損壞.
水產(chǎn)品自動(dòng)冷鏈運(yùn)輸條件下,易存在突發(fā)狀況導(dǎo)致水產(chǎn)品新鮮程度嚴(yán)重受損,本文綜合水產(chǎn)品在運(yùn)輸途中實(shí)施監(jiān)測(cè)和預(yù)警的方法,通過對(duì)已有的數(shù)據(jù)進(jìn)行分析并對(duì)傳統(tǒng)的遺傳算法進(jìn)行改進(jìn),采用改進(jìn)的遺傳算法進(jìn)行曲線擬合的方法,對(duì)水產(chǎn)品腐壞進(jìn)行了模擬,得出腐化方程,并在實(shí)時(shí)監(jiān)測(cè)中進(jìn)行自動(dòng)監(jiān)測(cè)和突發(fā)狀況預(yù)警.通過實(shí)驗(yàn),分析水產(chǎn)品的腐化過程,并在突發(fā)狀況進(jìn)行了預(yù)警,驗(yàn)證了算法的有效性.
渤海大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年1期