本發(fā)明涉及工業(yè)參數(shù)優(yōu)化
技術(shù)領(lǐng)域:
,特別是指一種多參數(shù)優(yōu)化方法。
背景技術(shù):
:近年來,越來越多的工業(yè)、企業(yè)開始重視大數(shù)據(jù)在優(yōu)化產(chǎn)品性能上的重要之處,例如,使用大數(shù)據(jù)技術(shù)對工業(yè)生產(chǎn)中的工業(yè)參數(shù)進(jìn)行設(shè)置,并進(jìn)行相應(yīng)的優(yōu)化改進(jìn)。然而,由于工業(yè)參數(shù)都存在著數(shù)據(jù)量大,目標(biāo)參數(shù)維度高等問題,決定了工業(yè)參數(shù)優(yōu)化是一個(gè)運(yùn)算時(shí)間和空間都極高的機(jī)器學(xué)習(xí)問題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題是提供一種多參數(shù)優(yōu)化方法,以解決現(xiàn)有技術(shù)所存在的時(shí)間復(fù)雜度和空間復(fù)雜度高的問題。為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種多參數(shù)優(yōu)化方法,包括:s1,初始化種群中每個(gè)粒子的位置和迭代次數(shù),所述粒子處于多維空間中,粒子每個(gè)維度對應(yīng)一個(gè)待求解的參數(shù);s2,計(jì)算每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,根據(jù)計(jì)算得到的每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,更新每個(gè)粒子的歷史最優(yōu)位置和種群的最優(yōu)位置,利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量,并根據(jù)每個(gè)粒子的位置及學(xué)習(xí)向量確定下一代粒子的位置,迭代次數(shù)加1;s3,判斷是否進(jìn)行反向?qū)W習(xí),若進(jìn)行反向?qū)W習(xí),則將每個(gè)粒子反向得到反向粒子,判斷反向粒子對目標(biāo)函數(shù)的適應(yīng)度值是否大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,若大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子;s4,檢查是否滿足預(yù)設(shè)的迭代結(jié)束條件,若滿足預(yù)設(shè)的迭代結(jié)束條件,則輸出結(jié)果;否則,則返回s2繼續(xù)執(zhí)行。進(jìn)一步地,所述s1包括:s11,對待求解的多參數(shù)進(jìn)行預(yù)處理,根據(jù)預(yù)處理結(jié)果,創(chuàng)建數(shù)學(xué)模型,并根據(jù)創(chuàng)建的數(shù)學(xué)模型,確定目標(biāo)函數(shù);其中,所述預(yù)處理包括:歸一化處理,所述目標(biāo)函數(shù)用于計(jì)算適應(yīng)度值;s12,在搜索空間中隨機(jī)產(chǎn)生均勻分布的種群,記錄種群中每個(gè)粒子的坐標(biāo)向量,得到種群中每個(gè)粒子的位置;s13,設(shè)置種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù),迭代次數(shù)初始值;s14,設(shè)置迭代結(jié)束條件。進(jìn)一步地,所述s2包括:s21,根據(jù)目標(biāo)函數(shù)計(jì)算每個(gè)粒子的適應(yīng)度值,將計(jì)算得到的適應(yīng)度值與所述粒子的歷史最優(yōu)適應(yīng)度值進(jìn)行比較,若計(jì)算得到的適應(yīng)度值優(yōu)于歷史最優(yōu)適應(yīng)度值,則用所述粒子的位置更新所述粒子的歷史最優(yōu)位置,并用所述粒子的適應(yīng)度值更新所述粒子的歷史最優(yōu)適應(yīng)度值;s22,根據(jù)更新后的每個(gè)粒子的歷史最優(yōu)適應(yīng)度值,獲取適應(yīng)度值最優(yōu)的粒子的位置作為種群的最優(yōu)位置;s23,利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量;s24,根據(jù)種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù)、每個(gè)粒子的當(dāng)前位置及學(xué)習(xí)向量確定下一代粒子的位置;s25,將迭代次數(shù)加1。進(jìn)一步地,所述s23包括:s231,根據(jù)第一公式,計(jì)算當(dāng)前迭代得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值,所示第一公式表示為:其中,n表示第n個(gè)參數(shù),q表示第q個(gè)取值,m表示第q個(gè)取值出現(xiàn)了m次,fm表示當(dāng)前迭代得到的粒子的對應(yīng)于所述取值的適應(yīng)度值,zmnq表示第q個(gè)取值的數(shù)值;s232,根據(jù)得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值,從每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置的每個(gè)維度取值中選取值較優(yōu)的作為相應(yīng)粒子的學(xué)習(xí)向量在相應(yīng)維度的值。進(jìn)一步地,所述s24包括:通過第二公式,確定下一代粒子的位置,所述第二公式表示為:xi+1=α*xi+β*xlearni其中,α表示種群粒子的慣性系數(shù),β表示學(xué)習(xí)向量的學(xué)習(xí)系數(shù),xi表示第i次迭代中粒子的位置,xlearni表示第i個(gè)粒子的學(xué)習(xí)向量,xi+1表示第i+1次迭代中粒子的位置。進(jìn)一步地,所述s3包括:s31,生成一個(gè)隨機(jī)數(shù),若隨機(jī)數(shù)小于預(yù)設(shè)的第一閾值,則跳過s32,否則,則執(zhí)行s32;s32,將每個(gè)粒子反向得到反向粒子,計(jì)算反向粒子對目標(biāo)函數(shù)的適應(yīng)度值,判斷反向粒子對目標(biāo)函數(shù)的適應(yīng)度值是否大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,若大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子;若不大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則丟棄反向粒子。進(jìn)一步地,所述位置為向量;所述將每個(gè)粒子反向得到反向粒子包括:對粒子位置向量的每一個(gè)維度,取搜索空間在相應(yīng)維度的中點(diǎn)為對稱中心,則反向值為粒子原位置向量在相應(yīng)維度關(guān)于對稱中心的對稱值;將粒子位置向量的每個(gè)維度都取相應(yīng)的對稱值,得到所述粒子位置向量的反向向量;根據(jù)所述粒子位置向量的反向向量,得到反向粒子。進(jìn)一步地,所述方法還包括:若不進(jìn)行反向?qū)W習(xí),則執(zhí)行s4。進(jìn)一步地,所述s4包括:判斷當(dāng)前次迭代和上一次迭代得到的種群最優(yōu)位置之間的差值是否小于預(yù)設(shè)的第二閾值;若小于預(yù)設(shè)的第二閾值,則輸出當(dāng)前種群最優(yōu)位置作為待求解的多參數(shù)的最優(yōu)解,算法結(jié)束;若不小于預(yù)設(shè)的第二閾值,則返回s2繼續(xù)執(zhí)行。進(jìn)一步地,所述s4還包括:判斷迭代次數(shù)是否達(dá)到預(yù)設(shè)的最大迭代次數(shù);若達(dá)到預(yù)設(shè)的最大迭代次數(shù),則算法結(jié)束,求解失敗;若沒有達(dá)到預(yù)設(shè)的最大迭代次數(shù),則返回s2繼續(xù)執(zhí)行。本發(fā)明的上述技術(shù)方案的有益效果如下:上述方案中,通過正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量,并根據(jù)每個(gè)粒子的位置及學(xué)習(xí)向量確定下一代粒子的位置;并通過反向?qū)W習(xí)將每個(gè)粒子反向得到反向粒子,若反向粒子對目標(biāo)函數(shù)的適應(yīng)度值大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子。這樣,通過正交算法可以加快進(jìn)化速度及提高收斂速度,減少迭代的次數(shù),而反向?qū)W習(xí)可以使迭代不容易陷入局部最優(yōu)解,同時(shí)使用正交算法和反向?qū)W習(xí)能夠加快學(xué)習(xí)效率,降低時(shí)間復(fù)雜度、空間復(fù)雜度。附圖說明圖1為本發(fā)明實(shí)施例提供的多參數(shù)優(yōu)化方法的流程示意圖。具體實(shí)施方式為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例進(jìn)行詳細(xì)描述。本發(fā)明針對現(xiàn)有的時(shí)間復(fù)雜度和空間復(fù)雜度高的問題,提供一種多參數(shù)優(yōu)化方法。如圖1所示,本發(fā)明實(shí)施例提供的多參數(shù)優(yōu)化方法,包括:s1,初始化種群中每個(gè)粒子的位置和迭代次數(shù),所述粒子處于多維空間中,粒子每個(gè)維度對應(yīng)一個(gè)待求解的參數(shù);s2,計(jì)算每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,根據(jù)計(jì)算得到的每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,更新每個(gè)粒子的歷史最優(yōu)位置和種群的最優(yōu)位置,利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量,并根據(jù)每個(gè)粒子的位置及學(xué)習(xí)向量確定下一代粒子的位置,迭代次數(shù)加1;s3,判斷是否進(jìn)行反向?qū)W習(xí),若進(jìn)行反向?qū)W習(xí),則將每個(gè)粒子反向得到反向粒子,判斷反向粒子對目標(biāo)函數(shù)的適應(yīng)度值是否大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,若大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子;s4,檢查是否滿足預(yù)設(shè)的迭代結(jié)束條件,若滿足預(yù)設(shè)的迭代結(jié)束條件,則輸出結(jié)果;否則,則返回s2繼續(xù)執(zhí)行。本發(fā)明實(shí)施例所述的多參數(shù)優(yōu)化方法,通過正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量,并根據(jù)每個(gè)粒子的位置及學(xué)習(xí)向量確定下一代粒子的位置;并通過反向?qū)W習(xí)將每個(gè)粒子反向得到反向粒子,若反向粒子對目標(biāo)函數(shù)的適應(yīng)度值大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子。這樣,通過正交算法可以加快進(jìn)化速度及提高收斂速度,減少迭代的次數(shù),而反向?qū)W習(xí)可以使迭代不容易陷入局部最優(yōu)解,同時(shí)使用正交算法和反向?qū)W習(xí)能夠加快學(xué)習(xí)效率,降低時(shí)間復(fù)雜度、空間復(fù)雜度。本實(shí)施例中,種群中的每個(gè)粒子處于多維空間中,每個(gè)粒子有多個(gè)維度/多維坐標(biāo),每個(gè)維度/每維坐標(biāo)代表一個(gè)參數(shù),因此,每個(gè)粒子的位置可以用于表示待求解的多個(gè)參數(shù)。粒子在搜索空間中運(yùn)動(dòng),在每個(gè)位置都計(jì)算一個(gè)目標(biāo)函數(shù)值,當(dāng)目標(biāo)函數(shù)值達(dá)到最小時(shí),就是粒子的位置為最優(yōu)解,粒子的多維坐標(biāo)就是待求解的多個(gè)參數(shù)的最優(yōu)解。本實(shí)施例中,搜索空間是指求解過程中粒子的運(yùn)動(dòng)空間,也就是帶求解參數(shù)的可能空間。搜索空間是一個(gè)多維空間,也是最開始粒子初始化時(shí)隨機(jī)分布的空間。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述初始化種群中每個(gè)粒子的位置和迭代次數(shù)(s1)包括:s11,對待求解的多參數(shù)進(jìn)行預(yù)處理,根據(jù)預(yù)處理結(jié)果,創(chuàng)建數(shù)學(xué)模型,并根據(jù)創(chuàng)建的數(shù)學(xué)模型,確定目標(biāo)函數(shù);其中,所述預(yù)處理包括:歸一化處理,所述目標(biāo)函數(shù)用于計(jì)算適應(yīng)度值;s12,在搜索空間中隨機(jī)產(chǎn)生均勻分布的種群,記錄種群中每個(gè)粒子的坐標(biāo)向量,得到種群中每個(gè)粒子的位置;s13,設(shè)置種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù),迭代次數(shù)初始值;s14,設(shè)置迭代結(jié)束條件。本實(shí)施例中,第一次迭代時(shí),需對待求解的多個(gè)參數(shù)進(jìn)行歸一化等預(yù)處理操作,并根據(jù)預(yù)處理后的結(jié)果創(chuàng)建數(shù)學(xué)模型,根據(jù)創(chuàng)建的數(shù)學(xué)模型,找到目標(biāo)函數(shù)f,所述目標(biāo)函數(shù)f用于計(jì)算適應(yīng)度值;進(jìn)而,在搜索空間中隨機(jī)產(chǎn)生均勻分布的種群,所述種群也可稱為粒子群,記錄粒子群中每個(gè)粒子的坐標(biāo)向量,得到粒子群中每個(gè)粒子的位置xi,其中,粒子的位置是向量,向量的維度等于待求解的參數(shù)的數(shù)目,粒子群規(guī)模根據(jù)所求參數(shù)的復(fù)雜程度設(shè)置,例如,粒子群規(guī)??梢栽?0~1000之間;在第一次迭代時(shí),還需設(shè)置種群粒子的慣性系數(shù)α、學(xué)習(xí)向量的學(xué)習(xí)系數(shù)β,迭代次數(shù)iter初始值(iter=0)及迭代結(jié)束條件。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述計(jì)算每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,根據(jù)計(jì)算得到的每個(gè)粒子對目標(biāo)函數(shù)的適應(yīng)度值,更新每個(gè)粒子的歷史最優(yōu)位置和種群的最優(yōu)位置,利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量,并根據(jù)每個(gè)粒子的位置及學(xué)習(xí)向量確定下一代粒子的位置,迭代次數(shù)加1(s2)包括:s21,根據(jù)目標(biāo)函數(shù)計(jì)算每個(gè)粒子的適應(yīng)度值,將計(jì)算得到的適應(yīng)度值與所述粒子的歷史最優(yōu)適應(yīng)度值進(jìn)行比較,若計(jì)算得到的適應(yīng)度值優(yōu)于歷史最優(yōu)適應(yīng)度值,則用所述粒子的位置更新所述粒子的歷史最優(yōu)位置,并用所述粒子的適應(yīng)度值更新所述粒子的歷史最優(yōu)適應(yīng)度值;s22,根據(jù)更新后的每個(gè)粒子的歷史最優(yōu)適應(yīng)度值,獲取適應(yīng)度值最優(yōu)的粒子的位置作為種群的最優(yōu)位置;s23,利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量;s24,根據(jù)種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù)、每個(gè)粒子的當(dāng)前位置及學(xué)習(xí)向量確定下一代粒子的位置;s25,將迭代次數(shù)加1。本實(shí)施例中,在第g次迭代時(shí),首選根據(jù)目標(biāo)函數(shù)f計(jì)算每個(gè)粒子的適應(yīng)度值pfit,將計(jì)算得到的當(dāng)前適應(yīng)度值pfit與所述粒子的歷史最優(yōu)適應(yīng)度值進(jìn)行比較,若所述粒子的當(dāng)前適應(yīng)度值pfit優(yōu)于歷史最優(yōu)適應(yīng)度值,則用所述粒子的當(dāng)前位置更新所述粒子的歷史最優(yōu)位置pbest,并用所述粒子的當(dāng)前適應(yīng)度值pfit更新所述粒子的歷史最優(yōu)適應(yīng)度值;按照更新后的每個(gè)粒子的歷史最優(yōu)適應(yīng)度值對所有粒子的歷史最優(yōu)位置進(jìn)行排序,獲取適應(yīng)度值最優(yōu)的粒子的位置作為種群的最優(yōu)位置gbest,其中,適應(yīng)度值越小越優(yōu);利用正交算法對每個(gè)粒子的歷史最優(yōu)位置pbest與種群的最優(yōu)位置gbest進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量xlearni;根據(jù)種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù)、每個(gè)粒子的當(dāng)前位置及學(xué)習(xí)向量確定下一代粒子的位置,每次更新子代都會(huì)替換原來的粒子;并將迭代次數(shù)iter加1。本實(shí)施例中,歷史最優(yōu)位置pbest與種群的最優(yōu)位置gbest都是向量,每個(gè)向量都有多個(gè)維度,每個(gè)維度表示一個(gè)參數(shù),且每個(gè)維度上有多個(gè)取值。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述利用正交算法對每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置進(jìn)行正交計(jì)算,得到每個(gè)粒子的學(xué)習(xí)向量(s23)包括:s231,因?yàn)槊總€(gè)維度上有多個(gè)取值,可以根據(jù)第一公式,計(jì)算當(dāng)前迭代得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值,所示第一公式表示為:其中,n表示第n個(gè)參數(shù),q表示第q個(gè)取值,m表示第q個(gè)取值出現(xiàn)了m次,fm表示當(dāng)前迭代得到的粒子的對應(yīng)于所述取值的適應(yīng)度值,zmnq表示第q個(gè)取值的數(shù)值;s232,根據(jù)得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值,從每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置的每個(gè)維度取值中選取值較優(yōu)的作為相應(yīng)粒子的學(xué)習(xí)向量在相應(yīng)維度的值。本實(shí)施例中,帶求解的參數(shù)以鋼鐵軋制的控制參數(shù)為例,對正交算法進(jìn)行舉例說明:假設(shè),鋼鐵軋制的控制參數(shù)包括:溫度和壓力,其中,溫度和壓力的數(shù)值組成一個(gè)二維向量,就是粒子的位置坐標(biāo);例如:溫度可以有100℃,200℃,300℃;壓力有100n,200n。這樣兩兩有6種組合,并根據(jù)目標(biāo)函數(shù)計(jì)算每個(gè)粒子的適應(yīng)度值,得到6個(gè)適應(yīng)度值,如表1所示:表1適應(yīng)度值溫度壓力適應(yīng)度值(越小越優(yōu))100℃100n10100℃200n14200℃100n16200℃200n26300℃100n22300℃200n24計(jì)算正交時(shí),對溫度這個(gè)參數(shù),需要分別計(jì)算100℃,200℃,300℃的適應(yīng)度平均值。100℃平均適應(yīng)度值為(10+14)/2=12;200℃平均適應(yīng)度值為(16+26)/2=21;300℃平均適應(yīng)度值為(22+24)/2=23;100n平均適應(yīng)度值為(10+16+22)/3=16;200n平均適應(yīng)度值為(14+26+24)/3=18;接著,對得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值進(jìn)行排序,平均適應(yīng)度值越小越優(yōu),則可知對溫度參數(shù)而言,溫度值越小越優(yōu);對壓力而言,壓力值越小越優(yōu);根據(jù)得到的每個(gè)粒子的每一種取值的平均適應(yīng)度值,從每個(gè)粒子的歷史最優(yōu)位置與種群的最優(yōu)位置的每個(gè)維度取值中選取值較優(yōu)的作為相應(yīng)粒子的學(xué)習(xí)向量在相應(yīng)維度的值,從而得到當(dāng)前迭代每個(gè)粒子的學(xué)習(xí)向量,進(jìn)而可以根據(jù)得到的每個(gè)粒子的學(xué)習(xí)向量指導(dǎo)相應(yīng)粒子的下一次飛行;本實(shí)施例中,假設(shè)粒子1的歷史最優(yōu)位置是(300℃,100n);粒子2的歷史最優(yōu)位置是(100℃,300n);種群的最優(yōu)位置是(200℃,200n);則選擇學(xué)習(xí)向量時(shí),溫度上粒子1選擇全局的,壓力選自身歷史的,組成的粒子1的學(xué)習(xí)向量就是(200℃,100n);同理,粒子2的學(xué)習(xí)向量就是(100℃,200n)。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述根據(jù)種群粒子的慣性系數(shù)、學(xué)習(xí)向量的學(xué)習(xí)系數(shù)、每個(gè)粒子的當(dāng)前位置及學(xué)習(xí)向量確定下一代粒子的位置(s24)包括:通過第二公式,確定下一代粒子的位置,所述第二公式表示為:xi+1=α*xi+β*xlearni其中,α表示種群粒子的慣性系數(shù),β表示學(xué)習(xí)向量的學(xué)習(xí)系數(shù),xi表示第i次迭代中粒子的位置,xlearni表示第i個(gè)粒子的學(xué)習(xí)向量,xi+1表示第i+1次迭代中粒子的位置。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述判斷是否進(jìn)行反向?qū)W習(xí),若進(jìn)行反向?qū)W習(xí),則將每個(gè)粒子反向得到反向粒子,判斷反向粒子對目標(biāo)函數(shù)的適應(yīng)度值是否大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,若大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子(s3)包括:s31,生成一個(gè)隨機(jī)數(shù),若隨機(jī)數(shù)小于預(yù)設(shè)的第一閾值,則跳過s32,否則,則執(zhí)行s32;s32,將每個(gè)粒子反向得到反向粒子,計(jì)算反向粒子對目標(biāo)函數(shù)的適應(yīng)度值,判斷反向粒子對目標(biāo)函數(shù)的適應(yīng)度值是否大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,若大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則利用反向粒子替換原粒子;若不大于原粒子對目標(biāo)函數(shù)的適應(yīng)度值,則丟棄反向粒子。本實(shí)施例中,例如,可以生成一個(gè)隨機(jī)取值為(0,1)的隨機(jī)數(shù)randiter,并假設(shè)所述預(yù)設(shè)的第一閾值為0.3,即:若隨機(jī)數(shù)randiter<0.3,則跳過步驟32,否則執(zhí)行步驟32。本實(shí)施例中,在執(zhí)行步驟32時(shí),每個(gè)粒子反向得到反向粒子preverse,計(jì)算反向粒子preverse對目標(biāo)函數(shù)f的適應(yīng)度值p′fit,判斷反向粒子preverse對目標(biāo)函數(shù)f的適應(yīng)度值p′fit是否大于原粒子(反向之前的該粒子)對目標(biāo)函數(shù)f的適應(yīng)度值pfit,若大于原粒子對目標(biāo)函數(shù)f的適應(yīng)度值pfit,則利用反向粒子preverse替換原粒子;若不大于原粒子對目標(biāo)函數(shù)f的適應(yīng)度值pfit,則丟棄反向粒子preverse。本實(shí)施例中,粒子的屬性有空間位置和速度矢量,所以替換粒子就是更新這兩個(gè)屬性的值。由于反向?qū)W習(xí)不是一次獨(dú)立的迭代(因?yàn)椋翰皇敲總€(gè)粒子都會(huì)進(jìn)行反向?qū)W習(xí),只有當(dāng)生成的隨機(jī)數(shù)小于預(yù)設(shè)的第一閾值時(shí),相應(yīng)的粒子才會(huì)進(jìn)行反向?qū)W習(xí)),所以粒子的下標(biāo)不變,就相當(dāng)于是把原粒子替換掉了,原粒子被替換后:位置就是反向后的反向粒子preverse的位置,速度變成0。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述位置為向量;所述將每個(gè)粒子反向得到反向粒子包括:對粒子位置向量的每一個(gè)維度,取搜索空間在相應(yīng)維度的中點(diǎn)為對稱中心,則反向值為粒子原位置向量在相應(yīng)維度關(guān)于對稱中心的對稱值;將粒子位置向量的每個(gè)維度都取相應(yīng)的對稱值,得到所述粒子位置向量的反向向量;根據(jù)所述粒子位置向量的反向向量,得到反向粒子。本實(shí)施例中,用xi表示第i個(gè)粒子的位置,粒子位置xi是向量,對第i個(gè)粒子位置向量xi的每一個(gè)維度,取搜索空間在相應(yīng)維度的中點(diǎn)為對稱中心,則反向值為粒子原位置向量xi在相應(yīng)維度關(guān)于對稱中心的對稱值,將粒子的位置向量xi每個(gè)維度都取相應(yīng)的對稱值,則得到所述粒子的位置向量xi的反向向量xireverse;根據(jù)反向向量xireverse,得到反向粒子preverse。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述方法還包括:若不進(jìn)行反向?qū)W習(xí),則執(zhí)行s4。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述檢查是否滿足預(yù)設(shè)的迭代結(jié)束條件,若滿足預(yù)設(shè)的迭代結(jié)束條件,則輸出結(jié)果;否則,則返回s2繼續(xù)執(zhí)行(s4)包括:判斷當(dāng)前次迭代和上一次迭代得到的種群最優(yōu)位置之間的差值是否小于預(yù)設(shè)的第二閾值;若小于預(yù)設(shè)的第二閾值,則輸出當(dāng)前種群最優(yōu)位置作為待求解的多參數(shù)的最優(yōu)解,算法結(jié)束;若不小于預(yù)設(shè)的第二閾值,則返回s2繼續(xù)執(zhí)行。本實(shí)施例中,檢查最后兩次(當(dāng)前次迭代和上一次迭代)迭代得到的種群最優(yōu)位置gbest之間的差值,若差值小于預(yù)設(shè)的第二閾值,例如,所述預(yù)設(shè)的第二閾值為10-6,則停止迭代,輸出當(dāng)前種群最優(yōu)位置gbest作為待求解的多參數(shù)的最優(yōu)解,算法結(jié)束;若差值不小于預(yù)設(shè)的第二閾值,則返回s2繼續(xù)執(zhí)行。在前述多參數(shù)優(yōu)化方法的具體實(shí)施方式中,進(jìn)一步地,所述檢查是否滿足預(yù)設(shè)的迭代結(jié)束條件,若滿足預(yù)設(shè)的迭代結(jié)束條件,則輸出結(jié)果;否則,則返回s2繼續(xù)執(zhí)行(s4)還包括:判斷迭代次數(shù)是否達(dá)到預(yù)設(shè)的最大迭代次數(shù);若達(dá)到預(yù)設(shè)的最大迭代次數(shù),則算法結(jié)束,求解失??;若沒有達(dá)到預(yù)設(shè)的最大迭代次數(shù),則返回s2繼續(xù)執(zhí)行。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明所述原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。當(dāng)前第1頁12