本發(fā)明涉及水體溶解氧濃度預測領域,尤其是涉及一種多策略人工蜂群優(yōu)化的水體溶解氧濃度預測方法。
背景技術(shù):
水體溶解氧是養(yǎng)殖水產(chǎn)品賴以生存的必要物質(zhì)。水體中溶解氧的濃度直接反映了養(yǎng)殖水體的質(zhì)量。溶解氧濃度的預測有助于促進水產(chǎn)品的健康養(yǎng)殖,提高養(yǎng)殖的生產(chǎn)效率。由此可見,實時動態(tài)地把握溶解氧的濃度在水產(chǎn)養(yǎng)殖產(chǎn)業(yè)中具有重要的實際意義。然而養(yǎng)殖池中溶解氧的濃度變化是一個非常復雜的物理、化學和生物過程。傳統(tǒng)的溶解氧濃度預測方法往往存在著預測精度不高、預測誤差較大的問題。
近年來,許多研究人員利用智能計算的方法來預測溶解氧的濃度,并取得了一定的效果。例如,郭連喜等利用模糊神經(jīng)網(wǎng)絡來預測池塘溶解氧的濃度(郭連喜,鄧長輝.基于模糊神經(jīng)網(wǎng)絡的池塘溶解氧預測模型[J].水產(chǎn)學報,2006,30(2):225-229.)??娦路f采用遺傳算法來優(yōu)化設計神經(jīng)網(wǎng)絡,并利用優(yōu)化設計后的神經(jīng)網(wǎng)絡來預測池塘溶解氧的濃度(繆新穎,葛廷友,高輝,等.基于神經(jīng)網(wǎng)絡和遺傳算法的池塘溶解氧預測模型[J].大連海洋大學學報,2011,26(3):264-267.)。李道亮等發(fā)明了一種基于最小二乘支持向量機的水產(chǎn)養(yǎng)殖溶解氧濃度在線預測方法(專利號:201110047876.8)。韓紅桂等發(fā)明了一種基于自組織徑向基神經(jīng)網(wǎng)絡的溶解氧模型預測控制方法(專利號:201310000516.1)。
眾多的研究成果表明基于智能計算的水體溶解氧濃度預測方法是一項很有潛力的技術(shù)。近年來,人工蜂群算法已成為了智能計算中的一個研究熱點,它已經(jīng)應用到了溶解氧的濃度預測中,并取得了一定的預測精度(蘇彩紅,向娜,林梅金.基于ABC優(yōu)化算法的神經(jīng)網(wǎng)絡水溶解氧預測[J].計算機仿真,2013,30(11):325-329.)。然而,傳統(tǒng)人工蜂群算法在水體溶解氧濃度預測中容易出現(xiàn)收斂速度慢,預測精度不高的缺點。
技術(shù)實現(xiàn)要素:
本發(fā)明針對傳統(tǒng)人工蜂群算法在水體溶解氧濃度預測中容易出現(xiàn)收斂速度慢,預測精度不高的缺點,提出一種多策略人工蜂群優(yōu)化的水體溶解氧濃度預測方法。本發(fā)明能夠提高水體溶解氧濃度的預測精度。
本發(fā)明的技術(shù)方案:一種多策略人工蜂群優(yōu)化的水體溶解氧濃度預測方法,包括以下步驟:
步驟1,在需要預測區(qū)域內(nèi)連續(xù)LD天采集水樣,然后檢測采集水樣的水質(zhì)指標:溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧,并將采集到的水質(zhì)指標數(shù)據(jù)作為樣本數(shù)據(jù)集;然后歸一化處理所采集到的水質(zhì)指標樣本數(shù)據(jù)集,并將前70%設置為支持向量機的訓練數(shù)據(jù)集,后30%設置為測試數(shù)據(jù)集;
步驟2,用戶初始化預測跨度天數(shù)ND,種群規(guī)模Popsize,個體最大未改善次數(shù)Limit,最大評價次數(shù)MAX_FEs;
步驟3,當前演化代數(shù)t=0,當前評價次數(shù)FEs=0,并令支持向量機的優(yōu)化設計參數(shù)個數(shù)D=3;
步驟4,隨機產(chǎn)生初始種群其中:個體下標i=1,2,...,Popsize,并且表示種群Pt中的第i個個體,其隨機產(chǎn)生公式為:
其中維數(shù)下標j=1,2,3;表示了支持向量機的3個優(yōu)化設計參數(shù)的值,即是支持向量機的懲罰因子C,是支持向量機的徑向基核參數(shù)g,是支持向量機的不敏感損失函數(shù)中參數(shù)ε;rand(0,1)是在[0,1]之間產(chǎn)生隨機實數(shù)的函數(shù),LOj和UPj分別為支持向量機的第j個優(yōu)化設計參數(shù)的搜索區(qū)間的下界和上界;
步驟5,計算種群Pt中每個個體的適應值其中個體下標i=1,2,...,Popsize,個體的適應值的計算方法為:利用個體作為支持向量機的訓練參數(shù),并用訓練數(shù)據(jù)集訓練支持向量機,其中支持向量機的輸入變量為歸一化的一天的水質(zhì)指標數(shù)據(jù):溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧;支持向量機的輸出為歸一化的ND天后的水體溶解氧濃度值;然后計算訓練好的支持向量機在測試數(shù)據(jù)集上的均方誤差NEi,再令個體的適應值
步驟6,令種群Pt中所有個體的未改善次數(shù)其中個體下標i=1,2,...,Popsize,并令當前評價次數(shù)FEs=FEs+Popsize;
步驟7,保存種群Pt中的最優(yōu)個體Bestt;
步驟8,令策略因子STU=0.6;
步驟9,雇傭蜂執(zhí)行其搜索操作;
步驟10,根據(jù)種群Pt中個體的適應值計算每個個體的選擇概率;
步驟11,觀察蜂根據(jù)種群Pt中每個個體的選擇概率選擇出個體執(zhí)行適應性多策略搜索操作生成新個體,然后執(zhí)行選擇操作并更新個體的未改善次數(shù),具體步驟如下:
步驟11.1,令計數(shù)器i=1,令策略因子列表UList為空;
步驟11.2,根據(jù)種群Pt中每個個體的選擇概率采用輪盤賭策略選擇出個體并令新個體
步驟11.3,在[1,D]之間隨機產(chǎn)生一個正整數(shù)RJ;
步驟11.4,產(chǎn)生一個高斯隨機數(shù)GU=normrnd(STU,0.2),如果GU的值超出了[0,1]之間的范圍,則采用同樣的方法重新產(chǎn)生高斯隨機實數(shù)GU,直到GU的值不超出[0,1]之間的范圍,其中normrnd(STU,0.2)表示為以STU為均值,0.2為標準差的高斯隨機數(shù)產(chǎn)生函數(shù);
步驟11.5,令策略序號STI=floor(GU×3)%3,其中floor為向下取整函數(shù),%為取余運算符號;
步驟11.6,如果STI等于0則轉(zhuǎn)到步驟11.7;否則判斷STI是否等于1,如果STI等于1,則轉(zhuǎn)到步驟11.12,否則轉(zhuǎn)到步驟11.15;
步驟11.7,在[1,Popsize]之間隨機產(chǎn)生一個整數(shù)RI1,并令隨機權(quán)值RK=rand(0,1);
步驟11.8,令均值
步驟11.9,令標準差
步驟11.10,以MeanU為均值,STDV為標準差產(chǎn)生一個高斯隨機實數(shù)Val,如果Val的值超出了[LORJ,UPRJ]之間的范圍,則采用同樣的方法重新產(chǎn)生高斯隨機實數(shù)Val,直到Val的值不超出[LORJ,UPRJ]之間的范圍,然后令
步驟11.11,轉(zhuǎn)到步驟11.16;
步驟11.12,在[1,Popsize]之間隨機產(chǎn)生兩個不相等的整數(shù)RI2和RI3;
步驟11.13,令
步驟11.14,轉(zhuǎn)到步驟11.16;
步驟11.15,令
步驟11.16,計算新個體Ut的適應值Fit(Ut);
步驟11.17,如果新個體Ut比個體更優(yōu),則將GU添加到策略因子列表UList中;
步驟11.18,在個體與新個體Ut之間執(zhí)行選擇操作并更新個體的未改善次數(shù)
步驟11.19,令計數(shù)器i=i+1;
步驟11.20,如果計數(shù)器i小于或等于Popsize,則轉(zhuǎn)到步驟11.2,否則轉(zhuǎn)到步驟11.21;
步驟11.21,計算策略因子列表UList中數(shù)據(jù)的平均值MeanLU;
步驟11.22,令STU=0.9×STU+0.1×MeanLU,然后轉(zhuǎn)到步驟12;
步驟12,令當前評價次數(shù)FEs=FEs+Popsize×2;
步驟13,偵察蜂執(zhí)行其搜索操作;
步驟14,保存種群Pt中的最優(yōu)個體Bestt;
步驟15,當前演化代數(shù)t=t+1;
步驟16,重復步驟9至步驟15直至當前評價次數(shù)FEs達到MAX_FEs后結(jié)束,將執(zhí)行過程中得到的最優(yōu)個體Bestt作為支持向量機的訓練參數(shù),并用訓練數(shù)據(jù)集來訓練支持向量機,然后將歸一化的一天的水質(zhì)指標數(shù)據(jù):溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧輸入到訓練好的支持向量機,計算支持向量機的輸出即可預測ND天后的水體溶解氧濃度值。
本發(fā)明采用支持向量機作為水體溶解氧濃度的預測模型,利用多策略人工蜂群算法對支持向量機的懲罰因子C、徑向基核參數(shù)g和不敏感損失函數(shù)中參數(shù)ε進行優(yōu)化設計。在多策略人工蜂群算法中,融合了多種搜索策略,并在優(yōu)化過程中根據(jù)當前的演化狀態(tài)適應性地選擇出搜索策略來進行尋優(yōu),從而提高算法的優(yōu)化能力。與同類方法相比,本發(fā)明能夠提高水體溶解氧濃度的預測精度。
附圖說明
圖1為本發(fā)明的流程圖。
具體實施方式
下面通過實施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步具體的說明。
實施例:
步驟1,確定需要預測水體溶解氧濃度的區(qū)域,并連續(xù)LD=55天采集所確定區(qū)域內(nèi)的水樣,然后檢測采集水樣的水質(zhì)指標:溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧,并將采集到的水質(zhì)指標數(shù)據(jù)作為樣本數(shù)據(jù)集;然后歸一化處理所采集到的水質(zhì)指標樣本數(shù)據(jù)集,并將前70%設置為支持向量機的訓練數(shù)據(jù)集,后30%設置為測試數(shù)據(jù)集;
步驟2,用戶初始化預測跨度天數(shù)ND=2,種群規(guī)模Popsize=50,個體最大未改善次數(shù)Limit=100,最大評價次數(shù)MAX_FEs=300000;
步驟3,當前演化代數(shù)t=0,當前評價次數(shù)FEs=0,并令支持向量機的優(yōu)化設計參數(shù)個數(shù)D=3;
步驟4,隨機產(chǎn)生初始種群其中:個體下標i=1,2,...,Popsize,并且表示種群Pt中的第i個個體,其隨機產(chǎn)生公式為:
其中維數(shù)下標j=1,2,3;表示了支持向量機的3個優(yōu)化設計參數(shù)的值,即是支持向量機的懲罰因子C,是支持向量機的徑向基核參數(shù)g,是支持向量機的不敏感損失函數(shù)中參數(shù)ε;rand(0,1)是在[0,1]之間產(chǎn)生隨機實數(shù)的函數(shù),其中LO=[0 0 0],UP=[10000 1 1],LOj和UPj分別為支持向量機的第j個優(yōu)化設計參數(shù)的搜索區(qū)間的下界和上界;
步驟5,計算種群Pt中每個個體的適應值其中個體下標i=1,2,...,Popsize,個體的適應值的計算方法為:利用個體作為支持向量機的訓練參數(shù),并用訓練數(shù)據(jù)集訓練支持向量機,其中支持向量機的輸入變量為歸一化的一天的水質(zhì)指標數(shù)據(jù):溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧;支持向量機的輸出為歸一化的2天后的水體溶解氧濃度值;然后計算訓練好的支持向量機在測試數(shù)據(jù)集上的均方誤差NEi,再令個體的適應值
步驟6,令種群Pt中所有個體的未改善次數(shù)其中個體下標i=1,2,...,Popsize,并令當前評價次數(shù)FEs=FEs+Popsize;
步驟7,保存種群Pt中的最優(yōu)個體Bestt;
步驟8,令策略因子STU=0.6;
步驟9,雇傭蜂執(zhí)行其搜索操作;
步驟10,根據(jù)種群Pt中個體的適應值計算每個個體的選擇概率;
步驟11,觀察蜂根據(jù)種群Pt中每個個體的選擇概率選擇出個體執(zhí)行適應性多策略搜索操作生成新個體,然后執(zhí)行選擇操作并更新個體的未改善次數(shù),具體步驟如下:
步驟11.1,令計數(shù)器i=1,令策略因子列表UList為空;
步驟11.2,根據(jù)種群Pt中每個個體的選擇概率采用輪盤賭策略選擇出個體并令新個體
步驟11.3,在[1,D]之間隨機產(chǎn)生一個正整數(shù)RJ;
步驟11.4,產(chǎn)生一個高斯隨機數(shù)GU=normrnd(STU,0.2),如果GU的值超出了[0,1]之間的范圍,則采用同樣的方法重新產(chǎn)生高斯隨機實數(shù)GU,直到GU的值不超出[0,1]之間的范圍,其中normrnd(STU,0.2)表示為以STU為均值,0.2為標準差的高斯隨機數(shù)產(chǎn)生函數(shù);
步驟11.5,令策略序號STI=floor(GU×3)%3,其中floor為向下取整函數(shù),%為取余運算符號;
步驟11.6,如果STI等于0則轉(zhuǎn)到步驟11.7;否則判斷STI是否等于1,如果STI等于1,則轉(zhuǎn)到步驟11.12,否則轉(zhuǎn)到步驟11.15;
步驟11.7,在[1,Popsize]之間隨機產(chǎn)生一個整數(shù)RI1,并令隨機權(quán)值RK=rand(0,1);
步驟11.8,令均值
步驟11.9,令標準差
步驟11.10,以MeanU為均值,STDV為標準差產(chǎn)生一個高斯隨機實數(shù)Val,如果Val的值超出了[LORJ,UPRJ]之間的范圍,則采用同樣的方法重新產(chǎn)生高斯隨機實數(shù)Val,直到Val的值不超出[LORJ,UPRJ]之間的范圍,然后令
步驟11.11,轉(zhuǎn)到步驟11.16;
步驟11.12,在[1,Popsize]之間隨機產(chǎn)生兩個不相等的整數(shù)RI2和RI3;
步驟11.13,令
步驟11.14,轉(zhuǎn)到步驟11.16;
步驟11.15,令
步驟11.16,計算新個體Ut的適應值Fit(Ut);
步驟11.17,如果新個體Ut比個體更優(yōu),則將GU添加到策略因子列表UList中;
步驟11.18,在個體與新個體Ut之間執(zhí)行選擇操作并更新個體的未改善次數(shù)
步驟11.19,令計數(shù)器i=i+1;
步驟11.20,如果計數(shù)器i小于或等于Popsize,則轉(zhuǎn)到步驟11.2,否則轉(zhuǎn)到步驟11.21;
步驟11.21,計算策略因子列表UList中數(shù)據(jù)的平均值MeanLU;
步驟11.22,令STU=0.9×STU+0.1×MeanLU,然后轉(zhuǎn)到步驟12;
步驟12,令當前評價次數(shù)FEs=FEs+Popsize×2;
步驟13,偵察蜂執(zhí)行其搜索操作;
步驟14,保存種群Pt中的最優(yōu)個體Bestt;
步驟15,當前演化代數(shù)t=t+1;
步驟16,重復步驟9至步驟15直至當前評價次數(shù)FEs達到MAX_FEs后結(jié)束,將執(zhí)行過程中得到的最優(yōu)個體Bestt作為支持向量機的訓練參數(shù),并用訓練數(shù)據(jù)集來訓練支持向量機,然后將歸一化的一天的水質(zhì)指標數(shù)據(jù):溫度、亞硝酸鹽、氨氮、總氮、硝酸鹽、溶解氧輸入到訓練好的支持向量機,計算支持向量機的輸出即可預測2天后的水體溶解氧濃度值。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。