王策 董兆偉 孫立輝 姜軍強
摘 要:在燒結配礦過程當中,往往需要對產(chǎn)品質(zhì)量、原料成本等多個目標同時進行尋優(yōu)處理。面對這種約束條件復雜,變量較多,各目標分布情況復雜的多目標優(yōu)化問題,本文提出了一種新型多目標遺傳算法對其進行解決。通過改進算法中的非劣排序步驟,過濾種群中產(chǎn)生的不合理個體,并添加去重操作,降低種群中個體的重復出現(xiàn),增強種群中個體的多樣性。該算法能夠為鋼廠的燒結配礦工作提供較為合理且成本、質(zhì)量都較為優(yōu)秀的配礦方案。
關鍵詞: 燒結;遺傳算法;配礦;多目標
文章編號: 2095-2163(2019)03-0036-05?中圖分類號: TP301.6?文獻標志碼: A
0?引?言
當前的燒結配礦優(yōu)化模型,大多是以成本最優(yōu)為目標的單目標優(yōu)化模型,得到的結果只能反映成本問題,但是燒結礦中的質(zhì)量問題卻無法呈現(xiàn),其中以燒結礦中硫含量、堿金屬等有害物質(zhì)的含量問題最為突出,鋼鐵企業(yè)在降低生產(chǎn)成本的同時更加希望對有害物質(zhì)含量進行最優(yōu)化處理。
作為一個多目標尋優(yōu)問題最大的難點在于優(yōu)化的多個子目標難以同時達到最優(yōu)的狀態(tài),往往是一個子目標結果優(yōu)秀而其他子目標的性能結果降低,所以為了得到滿足實際生產(chǎn)所需的最佳配礦方案,只能在搜索范圍內(nèi)的所有較為優(yōu)秀的方案中對一些目標要求進行降低,采取一種折中的態(tài)度選擇優(yōu)秀方案中的最符合要求且子目標沖突可以接受的方案[1]。本文以每噸原料成本最低和燒結礦中硫含量最低作為尋優(yōu)目標,建立雙目標燒結配礦優(yōu)化模型,通過數(shù)據(jù)實驗解析當前問題中的難點,并對經(jīng)典的多目標遺傳算法(NSGA-Ⅱ)進行改進,尋找對鋼廠實際生產(chǎn)具有指導意義的配礦方案。
1?模型建立
在燒結配礦模型建設當中,約束條件保證了燒結礦的質(zhì)量性能,因此過程中涉及的幾種化學成分和其含量符號見表1。
研究推得其約束形式可表示為:
為了降低約束條件對計算速度的影響,采用懲罰函數(shù)形式處理化學成分和原料配比組成約束條件[2],具體處理方式可參考如下運算公式:
其中,xj為第j種原料的配比變量,W、P為約束懲罰項,為q個非線性約束條件和等式約束條件的懲罰項表達形式,每當違反約束條件后則增大約束懲罰項的值。
多目標適應度函數(shù)的定義表示如下:
其中,f1為n種原料配礦的方案成本和懲罰項共同組成的適應度函數(shù);cost為原料的噸成本;α、β為懲罰項閾值;f2為燒結礦中的硫含量。
這2個目標適應度共同組成多目標燒結配礦優(yōu)化系統(tǒng)的尋優(yōu)目標。
2?算法設計
在尋優(yōu)過程中控制整體的搜索范圍和搜索趨勢,將運用選擇機制與快速非劣性分層方法結合的方式降低計算量。然后面對試驗當中出現(xiàn)的問題調(diào)整算法改進的主要研究方向,再重點根據(jù)出現(xiàn)的問題對算法步驟做出改進,研究內(nèi)容分述如下。
2.1?快速非支配分層排序改進
NSGA-Ⅱ算法通常采取精英保留策略,將交叉變異后的新種群與舊種群結合為一個種群,組合種群經(jīng)過非支配層排序后進行選擇操作,但是進行非支配層排序時會用到大量的計算,嚴重耗損計算時間[3]?;诖?,本文就去除NSGA-Ⅱ算法中選擇操作,將其融入到非支配層排序操作中,與此同時在非支配排序過程中即可判斷、并確定被選擇出的個體數(shù),若滿足種群數(shù)時將停止非支配排序,使計算量得以減少。
通過對鋼廠的多組實際生產(chǎn)數(shù)據(jù)試驗發(fā)現(xiàn),在隨機生成的遺傳種群中具有優(yōu)秀成本的方案變量都聚集到了定義域中的一個極小的范圍內(nèi),詳見表2。表2中的數(shù)據(jù)則為實際生產(chǎn)數(shù)據(jù)進行試驗時的第一層非支配層中的部分數(shù)據(jù)。
通過試驗數(shù)據(jù)可以看到,有些個體雖然硫含量極低,但是成本很高,根本無法滿足成本與硫含量最優(yōu)的尋優(yōu)目標,而且考慮到NSGA-Ⅱ算法的尋優(yōu)過程都是通過精英保留策略進行個體選擇,所以就可能使得那些無法滿足目標的個體被保留、甚至被復制,此后又經(jīng)過交叉操作,將會產(chǎn)生更多的無用個體占據(jù)種群位置,而滿足尋優(yōu)目標的個體數(shù)量會被壓制,整個算法的搜索效率和范圍將會受到影響,無法獲得滿足要求的Pareto解集。
綜合前述分析,本文將當前得到的非支配層中的個體分別按照2個目標進行從小到大分類,選取該層所有個體中的2個目標函數(shù)的最小值,即f1,min、f2,min,對這2個最小值進行如下變換,可得數(shù)學公式為:
其中,h1、h2為大于1的2個權值,l1、l2為大于0,小于1的權值,且h1-l1、h2-l2都大于1;i為當前遺傳運行代數(shù);Maxgen為遺傳算法最大代數(shù)。
當計算得到2個值L1、L2后,將所有個體的目標適應度與L1、L2加以比較,一旦個體中的2個目標適應度大于這2個數(shù)值,該個體將被剔除。分析可知,這一方法可以去除種群中的特殊個體,保留符合要求的個體。并且隨著非支配層層數(shù)的增加來對每一層進行過濾。
接下來,研究中給出改進后的快速非支配排序的算法流程可表述如下。
Step 1?對隨機生成的初始種群S1進行排序,尋找到種群中所有不被任何其他個體支配的個體I,在種群S1中個體I可能不止一個,定義這些個體I的序號為0,將這些個體組成集合F1,F(xiàn)1中的所有個體就組成第一非支配層。選取各個目標在該層中的最小值,根據(jù)公式(3)來計算多目標值上限,再對該層中個體進行過濾,只保留符合要求的個體。而后則判斷該支配層中的個體數(shù)是否大于等于種群數(shù)n。如果是,該層個體將進行擁擠度計算,選擇擁擠度排序前n位的個體作為選擇種群,進行遺傳操作。如果否,則轉入Step2。
Step 2?剔除種群S1中所有不被任何其他個體支配的個體,也就是剔除所有屬于集合F1中的個體,將種群S1中剩余的個體組成種群S2,并在種群S2中尋找不被任何其他個體支配的個體,同時將這些個體序號定義為1,將這些不被其他個體支配的個體組成集合F2,對集合F2中的所有個體根據(jù)各個目標依次排序,選取各個目標在該層中的最小值,根據(jù)公式(3)進行計算,據(jù)此對該層中個體進行過濾,過濾后集合F2中的所有個體成為第二非支配層。判斷已被分配的非支配層中的個體總數(shù)是否大于等于種群數(shù)n。如果是,將最后一層個體進行擁擠度計算,選擇最后一層中擁擠度排序靠前的個體與除去最后一層的所有非支配層中的所有個體作為選擇種群,然后啟用遺傳操作。如果否,則重復Step2,直到滿足種群數(shù)量的所有個體都被分層為止。
Step 3?當所有個體都經(jīng)過Step1、Step2的個體過濾操作后,保留的非支配層個體數(shù)量無法滿足種群數(shù)量,則隨機在已保留的非支配層中選擇個體進行復制,再保存到非支配層中,直到非支配層中的個體數(shù)量滿足種群數(shù)量為止。
2.2?去重操作
由于使用了精英保留策略,大量的優(yōu)秀個體會被保存重復出現(xiàn)在種群中,這將直接影響算法的全局搜索性能,并將種群中的大量個體都變?yōu)橹貜蛡€體。由于交叉變異操作的隨機選擇,還會有很多重復個體無法變異而得以保留,進行變異的個體也有很大可能會處在重復個體的變量周邊范圍內(nèi),造成遺傳算法的早熟現(xiàn)象,產(chǎn)生的最佳Pareto解集相似度極高[4-5],此時的運行結果詳見表3。難以滿足求得的多組相對優(yōu)秀方案需各具差異性的要求,無法為使用者提供足夠的選擇,同時也無法體現(xiàn)算法搜索的優(yōu)越性,在變量的定義域內(nèi)可以搜索到更加優(yōu)秀的方案。
為了解決這一問題,本項目組在將父代、子代種群彼此混合后,即對混合種群中的個體展開判斷,當個體重復個數(shù)大于某個整數(shù)值Z時,刪除多于整數(shù)值的所有重復個體。為了在種群進化的后期增強種群中個體的多樣性,在算法每次執(zhí)行一定代數(shù)后緩慢降低種群內(nèi)被允許的個體重復個數(shù)Z,在種群進化的最后一代時,保證種群中個體重復個數(shù)Z不為1,使種群中存在一定的重復個體,此后再將經(jīng)過去重操作處理后的混合種群進行快速非支配分層排序。
2.3?遺傳操作
本文將某鋼廠的實際生產(chǎn)數(shù)據(jù)作為試驗應用數(shù)據(jù),在算法尋優(yōu)過程中可根據(jù)遺傳算法將種群中個體的基因變量隨機分布到整個變量定義域,再進行搜索范圍收縮的特點,經(jīng)過大量實驗,發(fā)現(xiàn)了種群中優(yōu)秀方案的2個目標適應度和個體基因變量處于定義域內(nèi)的分布規(guī)律,即優(yōu)秀成本目標值分布較為集中、而優(yōu)秀硫含量目標值分布較為均勻,為了能得到成本和硫含量雙目標都較為優(yōu)秀的個體,本次研究即在交叉操作中采用基因位直接交換的方式,變異操作所采用的自適應變異方式的數(shù)學方法可寫作如下形式:
改進后的NSGA-Ⅱ算法運行步驟如圖1所示。
3?實驗結果分析
經(jīng)過多組鋼廠的實際生產(chǎn)數(shù)據(jù)對該改進型算法進行驗證,該算法可以在用戶初始設置的原料配比和燒結礦質(zhì)量指標的約束條件下,搜索到既能降低每噸原料成本,也能降低燒結礦中硫含量的多組配礦方案供用戶根據(jù)自身需要來挑選合適的配礦方案,研究時參見表4。其中,以方案名為“三鐵燒結3.2原配比”中的配比原料信息作為算法中個體變量信息進行輸入,對質(zhì)量指標進行約束處理得到了一組優(yōu)秀配礦方案和以成本最優(yōu)為單目標的經(jīng)典遺傳算法尋優(yōu)方案、以及原廠數(shù)據(jù)方案進行對比,可以看到效果較為明顯。
同時,為了比較各個方案的差異性,研究中選擇將多目標算法模型計算出的解集方案中的1、4、8、12號方案與以成本最優(yōu)為單目標的經(jīng)典遺傳算法尋優(yōu)方案,以及鋼廠的“原數(shù)據(jù)三鐵燒結3.2原配比”方案進行對比,結果見表5。
由表4、表5中數(shù)據(jù)的對比情況分析可知,該改進的NSGA-Ⅱ算法可以在滿足用戶所需要的質(zhì)量指標的約束前提下,尋找到多組能夠為用戶使用的合理方案,解決了經(jīng)典NSGA-Ⅱ算法在研究該問題中出現(xiàn)的一些問題。
4?結束語
NSGA-Ⅱ算法是一種優(yōu)秀的多目標尋優(yōu)算法,但是由于燒結礦成本和硫含量這2個目標值在個體定義域中分布不均勻的原因?qū)o法搜索到優(yōu)秀的Pareto解集?;谶@一問題狀況,本次研究對經(jīng)典NSGA-Ⅱ算法進行改進,通過增添去重操作,緩解由精英保留策略導致的個體重復率太高的不足,增強種群個體的多樣性,通過在快速非支配層排序中增添極值過濾的操作,降低極端目標值個體對序號靠前的非支配層個體的影響,并且將截斷式的個體選擇方式融入到快速非支配層排序當中,優(yōu)化縮簡了計算量和計算時間,增強了Pareto解集在實際生產(chǎn)操作中的合理性和指導性。通過前文研究中的數(shù)據(jù)對比結果可知,該算法可以明顯改善配料方法,降低原料成本和燒結礦中的硫含量,增強燒結礦的質(zhì)量性能,減少鋼鐵的熱脆現(xiàn)象,為鋼鐵企業(yè)帶來可觀的經(jīng)濟效益,提高鋼鐵的生產(chǎn)質(zhì)量。
參考文獻
[1]肖曉偉, 肖迪, 林錦國,等. 多目標優(yōu)化問題的研究概述[J]. 計算機應用研究, 2011, 28(3):805-808,827.
[2]陳婕, 熊盛武, 林婉如. NSGA-Ⅱ算法的改進策略研究[J]. 計算機工程與應用, 2011, 47(19):42-45.
[3]鄧富民, 梁學棟, 劉愛軍,等. 多資源約束下改進NSGA-Ⅱ算法的手術調(diào)度[J]. 系統(tǒng)工程理論與實踐, 2012, 32(6):1337-1345.
[4]王廣博, 韓慶, 鐘小平. NSGA-II中重復個體的控制[J]. 科學技術與工程, 2011, 11(34):8602-8604,8623.
[5]謝炯亮, 鄭金華. NSGA-Ⅱ中重復個體產(chǎn)生原因分析及影響研究[J]. 計算機工程與應用, 2008, 44(29):69-72,145.