本發(fā)明屬于遺傳算法技術領域,尤其涉及一種基于快速匹配機制面向復雜計算的改進遺傳方法。
背景技術:
目前,遺傳算法(Genetic algorithm, GA)是一種借鑒自然界的生物生存竟爭選擇規(guī)律機制演化形成的隨機優(yōu)化搜索方法。當前,GA在各類系統(tǒng)工程優(yōu)化問題中已經(jīng)得到廣泛應用(Liang Y, Leung K S. Genetic algorithm with adaptive elitist-population strategies for multimodal function optimization. Applied Soft Computing, 2011, 11 (2): 2017-2034)。然而,這種基于種群的隨機優(yōu)化方法應用于大規(guī)模復雜系統(tǒng)優(yōu)化問題(如,高維多目標優(yōu)化問題,動態(tài)優(yōu)化問題)時,為獲得較好的精確解往往會付出較昂貴的的時間代價,使得GA在解的質量與時間兩者之間始終難以達到一個較好的平衡點,GA的應用遇到了“時間”頸瓶問題。盡管現(xiàn)有的軟硬件技術的快速發(fā)展,在某種程度可暫時緩解因時間成本而導致解的精度不高等問題。但透過GA外部的宏觀執(zhí)行模式,由染色體間微觀行徑來來研究GA自身的內部運行機制,從而在昂貴的時間成本和解的質量兩者之間達到一個較好的折衷狀態(tài),有效提高算法的實時效率。是值得廣大GA學者深入思考的問題。GA外部的執(zhí)行時間集中在進化過程和染色體的評價過程。就進化過程而言,已經(jīng)提出了不少改進策。2001年 Kim 提出了一種基于聚類技術的混合遺傳算法,遺傳算法的初始種群通過模糊C均值算法劃分成幾類,每一類只有一個代表個體使用適應度函數(shù)進行評價,同一類的其他個體,通過計算自身到代表性個體的歐式距離來評價其適應度值,因此,這種評價方法能以較少的評價次數(shù)維持較大的種群,能夠在較短的時間內獲得所求問題的近似解。由于個體適應度值的局部信息完全被忽略了,求得解的精確度往往達到理想的效果,評價機制顯得較為粗糙(Kim H S, Cho S B. (2001). An Efficient Genetic Algorithm with Less Fitness Evaluation by Clustering, Proceedings of the 2001 Congress on Evolutionary Computation, IEEE, May 27-30, 2001, pp. 887-894)。2006年中國的李軍華對個體間的匹配性進行分析,通過計算對象在特征空間中的距離獲得對象間的匹配性值。相似性用各個特征分量組成的特征向量(f1, f2,…, fn)來描述,兩個對象間的匹配性是各個特征分量的相似性加權求和。因此,遺傳算法中個體的匹配度計算時可以認為每個基因就是一個特征分量,一條染色體就是其特征向量,通過計算兩個個體的海明距離來計算個體的相似度。在執(zhí)行個體間交叉操作時,通過個體間的相似度值自適應地確定交叉率,相似度值大(小)的交叉?zhèn)€體以較小(大)的概率進行交叉。通過這種方法,可以提高遺傳尋優(yōu)計算的效率,加快遺傳算法的收斂速度 (李軍華, 黎明, 袁麗華. 基于個體相似度交叉率自適應的遺傳算法. 系統(tǒng)工程, 2006,24(9):108-110)。 提出一種改進的遺傳算法,種群初始化時采用成員分組策略縮減問題的規(guī)模,同時針對懲罰函數(shù),變異和交叉的自適應方法被融入改進的遺傳算法,在避免陷入最優(yōu)解的同時獲得了全局最優(yōu)解。該方法能夠在解空間內縮減搜索的次數(shù),提高遺傳算法的收斂性能(To an V, Dalo lu. An improved genetic algorithm with initial population strategy and self-adaptive member grouping, Computers and Structures,2008,86:1204–1218)。上述方法分別從遺傳算法模型中的存儲過程、進化過程和評價過程三個部份進行了改進,從搜索最優(yōu)解的效率方面有了一定的提高。但由于遺傳算法借鑒的生物學基礎就是生物的進化和遺傳,生物進化過程本質上是一種優(yōu)化過程,如何從遺傳學角度,對物種間的匹配性給予定性的度量準則,根據(jù)準則縮減目標函數(shù)的評價次數(shù),加快算法對最優(yōu)解的搜索速度并提高解的精確度在計算機科學工程應用領域中具有直接的現(xiàn)實意義。例如:企業(yè)動態(tài)聯(lián)盟中的伙伴挑選問題是敏捷制造和供應鏈管理中的一個熱點問題,伙伴挑選的成功與否直接關系到研發(fā)聯(lián)盟的合作效果和成敗。2002年中國科學院的汪定偉將伙伴問題表達為帶有非解析目標函數(shù)的0-1整數(shù)規(guī)劃模型,通過定義無效候選人縮小搜索空間,從而形成一個模糊決策與遺傳算法結合的計算方法,和傳統(tǒng)的優(yōu)化方法對比,嵌入模糊規(guī)則的遺傳算法能夠以很大的概率快速找到最優(yōu)解(汪定偉,容啟亮,葉偉雄. 企業(yè)動態(tài)結盟中的伙伴挑選模型及其軟計算方法. 中國科學E輯:技術科學,2001,32(6):824-830)。電力系統(tǒng)的無功優(yōu)化問題是一個多目標,多約束的混合非線性規(guī)劃問題,其優(yōu)化變量即有連續(xù)變量節(jié)點電壓,又有離散型變量如變壓器擋位,無功補償裝置組等,使得整個優(yōu)化過程十分復雜。傳統(tǒng)的數(shù)學優(yōu)化方法如:線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃、二次規(guī)劃、動態(tài)規(guī)劃等方法不能實現(xiàn)全局最優(yōu),只能找到局部最優(yōu)解。對此,2008年中國北京航空航天大學的李運華將模擬退火算法與普通遺傳算法結合,同時引入分布式MPI技術,實現(xiàn)了分布式的多種群算法,該算法用個體遷移策略來協(xié)調優(yōu)化各個種群,最優(yōu)優(yōu)值恢復策略來穩(wěn)定方向,通過分布式計算的應用,有效地縮短了計算時間,通過運用IEEE14節(jié)點標準數(shù)據(jù)運算,證明了這種混合遺合算法在電力系統(tǒng)無功優(yōu)化計算中具有很高的穩(wěn)定性和快速求解能力(李運華,吳宏昺,盛萬興,劉科研. 分布式并行混合遺傳算法在無功優(yōu)化中的應用. 2008,20(2):36-41)。
傳統(tǒng)數(shù)學方法面向復雜優(yōu)化問題的求解時,常常遇到可微、可導等嚴格的約束條件限制而無法求解復雜優(yōu)化問題。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于快速匹配機制面向復雜計算的改進遺傳方法,旨在解決傳統(tǒng)數(shù)學方法面向復雜優(yōu)化問題的求解時,常常遇到可微、可導等嚴格的約束條件限制而無法求解復雜優(yōu)化的問題。
本發(fā)明是這樣實現(xiàn)的,一種基于快速匹配機制面向復雜計算的改進遺傳方法,所述基于快速匹配機制面向復雜計算的改進遺傳方法包括以下步驟:
首先基于反學向學習理論生成初始種群,并對染色體的特征進行提取,主要包括個體編碼、適應度值、個體的置信度值;
然后通過特征提取得到一個三維的特征向量,在種群進化過程中,使用建立的相似性匹配評價機制對每個染色體的適應度值和置信度值進行計算,通過單形變異算子對每個染體作單形變異操作;
最后在進化到后期階段,根據(jù)設定的停止條件生成最優(yōu)解或近似最優(yōu)解。
進一步,首先基于反學向學習理論生成初始種群,并對染色體的特征進行提取,按以下步驟進行:
首先生成半個初始種群,種群中的每個個體表示為:ci=(ci1,ci2,...,cid)
在d維空間按反向數(shù)生成方法,得到每個個體的反向點ri,即,若且,則其反方向數(shù)x*為:x*=a+b-x;
對每個染色體構建其對應的特征向量v(ci)=(a,f,r);
生成初始化種群結束。
進一步,通過特征提取得到一個三維的特征向量,在種群進化過程中,使用建立的相似性匹配評價機制對每個染色體的適應度值和可信度值進行計算,按以下步驟進行:
Step1, 通過反向學習理論得到初始種群,將初始種群作為新一代種群;
Step2,從新一代種群中隨機挑選兩個個體p1,p2;
Step3,個體p1,p2進行交叉操作,得到兩個子代個體c1,c2;
Step4,對子代個體c1,c2按單形變異操作實施變異過程;
Step5,子個體變異后得到對應的變異個體;
Step6,對算法的停止條件進行判斷,若算法的迭達次數(shù)達到指定次數(shù)T或解的精度滿足指定的要求,則轉Step11; 否則,轉到Step7;
Step7, 對子代個體c1, 分別比較其與父代個體p1,p2的匹配性;
Step8,按照公式(3)和(4)分別計算個體c1的適應度值和置信度值r;
Step9, 比較個體的置信度r和閾值T,若r < T,轉Step10; 否則轉Step2;
Step10,重新使用真實的適應度函數(shù)評價個體c1的適應度值,并使置信度值r=1;轉Step2;
Step11, 輸出最終的結果。
進一步,所述染色體的特征提取采用二進制字符串編碼形式;在串匹配機制中,首先給染色體中每一基因位設定對應的權重系數(shù),從而區(qū)分不同位置基因位對適應度的影響程度;其次,將子代染色體與父代染色體進行兩兩匹配驗證,分別得到一個匹配值,驗證兩個配值是否在合理相似區(qū)間內,得到一個置信度;最后,由置信度并結合兩個染色體的適應度值得到子代染色體的值。
進一步,所述染色體的匹配機制實現(xiàn)方法如下:
根據(jù)GA中特定交叉與單形變異算子的運算結果,分別計算子個體與雙親個體之間的匹配性,并根據(jù)給定公式快速計算染色體的適應度及其置信度;
個體與雙親和間的差異程度,按公式系數(shù)差分方法計算:
,
;
其中,權重系數(shù)wi用于調節(jié)對應每個基因位在染個體中受重視的程度,n是基因位的個數(shù),子個體c1和雙親個體(p1, p2)的差分值一個介于0至1之間的數(shù)字,子個體與雙親個體的匹配性按如下公式計算:
;
;
雙親染色體(p1, p2)對應的適應度值分別是f1,f2 ,則染個體ci適應度f(ci)和其對應的置信度按如下式計算:
;
;
在種群中設定閾值T,當種群的平均置信度的高于T時,保留每一個體的適應度值和置信度;若種群的小于T時,則在真實環(huán)境中使用目標函數(shù)重新評價個體的適應度;
將一個染色體的基因串按順序形成歐氏空間中的一個單形,單形向空間各方向按比例擴張,然后再順時針方向旋轉,在設定的時刻到達后,按原方向反向取出變異后的個體。
本發(fā)明的另一目的在于提供一種應用所述基于快速匹配機制面向復雜計算的改進遺傳方法的資本預算方法。
本發(fā)明的另一目的在于提供一種應用所述基于快速匹配機制面向復雜計算的改進遺傳方法的貨物裝載方法。
本發(fā)明的另一目的在于提供一種應用所述基于快速匹配機制面向復雜計算的改進遺傳方法的存儲分配方法。
本發(fā)明提供的基于快速匹配機制面向復雜計算的改進遺傳方法,針對傳統(tǒng)數(shù)學方法面向復雜優(yōu)化問題的求解時,常常遇到可微、可導等嚴格的約束條件限制而無法求解復雜優(yōu)化問題的特點,提供基于個體相似性匹配評價機制的快速遺傳算法,可從個體相似性匹配評價機制出發(fā),減少進化過程中個體的評價次數(shù),加快算法最優(yōu)解的搜索速度,使搜索得到的最優(yōu)解位于全局最優(yōu)解位置或其鄰近位置。與傳統(tǒng)的遺傳算法求解復雜優(yōu)化問題相比較,本發(fā)明方法具有直觀簡明、普適性等特點;首先本方法基于反向學習理論,得到一組二進制編碼的染色體集合并提取出每個染色體的特征向量;在算法尋優(yōu)過程中,傳統(tǒng)的遺傳算法僅僅根據(jù)待求解的優(yōu)化問題計算個體的適應度值,而本發(fā)明中基于個體區(qū)配性評價策略,每個子個體根據(jù)其與父個體的相似度和置信度來確定個體的適應度值,僅當置信度值低于某個閾值時,個體才做真實的適應度計算;顯然,本發(fā)明的評價個體適應度的方法能夠大大降低算法尋優(yōu)的時間(如圖3和圖4)。
此外,本發(fā)明的單形變異算子的引入在一定程度上增強了種群的多樣性,避免算法在執(zhí)行早期階段陷入了局部最優(yōu)解;通過對不同標準測試案例得到的結果分析,說明這種方法具有較強的魯棒性。
附圖說明
圖1是本發(fā)明實施例提供的基于快速匹配機制面向復雜計算的改進遺傳方法流程圖;
圖2是本發(fā)明實施例提供的三維單形變異算子示意圖;
圖3是本發(fā)明實施例提供的函數(shù)尋優(yōu)進化曲線示意圖;
圖4是本發(fā)明實施例提供的FGA和SGA對3個函數(shù)的測試結果示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結合附圖對本發(fā)明的應用原理作詳細的描述。
如圖1所示,本發(fā)明實施例的基于快速匹配機制面向復雜計算的改進遺傳方法包括以下步驟:
S101:首先基于反學向學習理論生成初始種群,并對染色體的特征進行提取,主要包括個體編碼、適應度值、個體的可信度值;
S102:通過特征提取得到一個三維的特征向量,在種群進化過程中,使用建立的相似性匹配評價機制對每個染色體的適應度值和可信度值進行計算;
S103:通過單形變異算子對每個染色體作單形變異操作,在進化到后期階段,根據(jù)設定的停止條件生成最優(yōu)解或近似最優(yōu)解。
本發(fā)明提供的基于快速匹配機制面向復雜計算的改進遺傳方法的具體步驟詳細描述如下:
S101:首先基于反學向學習理論生成初始種群,并對染色體的特征進行提取,主要包括個體編碼、適應度值、個體的可信度值;
反向學習理論生成的初始終種群,在搜索的過程中,同時搜索當前解和反向解,選擇較好的解作為猜測解,能極大提高算法的效率。該過程按以下步驟進行。
Step1. 首先生成半個初始種群,種群中的每個個體表示為:ci=(ci1,ci2,...,cid)。
Step2. 在d維空間按反向數(shù)生成方法,得到每個個體的反向點ri,即,若且,則其反方向數(shù)x*為:x*=a+b-x。
Step3. 對每個染色體構建其對應的特征向量v(ci)=(a,f,r)。
Step4. 生成初始化種群結束。
S102:通過特征提取得到一個三維的特征向量,在種群進化過程中,使用建立的相似性匹配評價機制對每個染色體的適應度值和可信度值進行計算;該過程按以下步驟進行。
Step1. 通過反向學習理論得到初始種群,將初始種群作為新一代種群。
Step2. 從新一代種群中隨機挑選兩個個體p1,p2。
Step3. 個體p1,p2進行交叉操作,得到兩個子代個體c1,c2。
Step4. 對子代個體c1,c2按單形變異操作實施變異過程。
Step5. 子個體變異后得到對應的變異個體。
Step6. 對算法的停止條件進行判斷,若算法的迭達次數(shù)達到指定次數(shù)T或解的精度滿足指定的要求,則轉Step11. 否則,轉到Step7。
Step7. 對子代個體c1, 分別比較其與父代個體p1,p2的匹配性。
Step8. 按照公式(3)和(4)分別計算個體c1的適應度值和置信度值r。
Step9. 比較個體的置信度r和閾值T,若r < T,轉Step10. 否則轉Step2。
Step10.重新使用真實的適應度函數(shù)評價個體c1的適應度值,并使置信度值r=1;轉Step2。
Step11. 輸出最終的結果。
S103:通過單形變異算子對每個染色體作單形變異操作,在進化到后期階段,根據(jù)設定的停止條件生成最優(yōu)解或近似最優(yōu)解。
該過程詳細描述了單形變異算子的實施過程。單形變異算子基本思想:將一個染色體的基因串按一定順序形成歐氏空間中的一個單形。將單形向空間各方向按一定比例擴張,然后再順時針方向旋轉,在設定的時刻到達后,按原方向反向取出變異后的個體。具體見圖2所示。
例如,, 該子個體p1執(zhí)行三維單形變異算子的步驟描述如下:
Step1. 首先將p1按從左至右順序將分別均分成三個子向量xi=[xi1,xi2,xi3], i=1,2,3,不足三位的補0, x1=[1 0 0], x2=[1 1 0], x3=[1 1 0]。
Step2. 分別將三個子串按順時針方向置于三個頂點,形成一個三維單形,將這個單形以比例(1+ε)擴張至新的三個頂點xi’=[xi1’, xi2’, xi3’],形成一個新的單形。其中,ε是一個介于0和1之間的隨機數(shù)。假定對應x1生成的隨機數(shù)分別是r1=(0.5,0.6,0.3),則x1’= x1+ r1=[1.5, 0.6,0.3]。
Step3. 將x1’, x2’, x3’按原方向取出,根據(jù)設定的變異閾值上限m1和下限m2, 從而決定x1, x2 ,x3對應的基因位是否發(fā)生變異,如,m1=0.1, m2=1.9, 若某個基因位的值x1i’<0.1 或者x1i’>1.9, 則此時基因發(fā)生異變,即x1i由1變0,或由0變1。
下面結合具體實施例對本發(fā)明的應用原理作進一步的描述。
本發(fā)明主要包括初始種群的生成,染色體的特征提取,個體相似性評價機制和旋轉交叉算子;首先基于反學向學習理論生成初始種群,并對染色體的特征進行提取,主要包括個體編碼、適應度值、個體的置信度值;通過特征提取得到一個三維的特征向量,在種群進化過程中,使用建立的相似性匹配評價機制對每個染色體的適應度值和置信度值進行計算,通過單形變異算子對染色體作單形變異操作。在進化到后期階段,根據(jù)設定的停止條件生成最優(yōu)解或近似最優(yōu)解。
在此,設定待求解的優(yōu)化問題如下所示:
(-100 ≤ x ≤ 100)
本發(fā)明方法按如下具體步驟進行:
1) 染色體的特征提取
在求解不同復雜優(yōu)化問題時,染色體的特征提取中有多種不同的編碼方法。在此模型中,采用二進制字符串編碼形式,其優(yōu)點在于它借鑒了物種進化的思想將欲求解問題的可行解表示成字符串形式。每個字符串都代表問題的一個潛在可行解,稱為“染色體”。而初始種群中的染色體采用真實的適應度值計算,并且其可信度值設為1。
本發(fā)明中初始種群的生成基于改進的反向學習理論生成(Shahryar Rahnamayan, Hamid R.Tizhoosh, Magdy M.A.Salama. A novel population initialization method for accelerating evolutionary algorithms, Computers and Mathematics with Application, 2007,53:1605-1614),如下所示生成的染色體及其特征向量描述如下。
表1 染色體的特征描述
表1中最后一列是每個染色體對應的實數(shù)值,通過上述反學向學理論生成的染色體初始種群,每一個染色體都有對應的特征向量。
2) 染個體匹配機制
從遺傳學角度來說,物種內部之間不存在著一定的相似性,物種遺傳物質中最基本的單元是“細胞”,細胞之間存在著一定的匹配性,如何度量這種匹配性,可從細胞的最基本成分“染色體”分析和比較。為此,由于染色體實質上是一組二制位的基因序列,因此,可從比較染色體對應的二進制基因串,分析兩者的匹配性,從而在應用GA解決復雜系統(tǒng)優(yōu)化問題時,根據(jù)父代染色代間接推測出子代染色體對應的適應度值。顯然,這將有利于大量減少染色體的計算復雜度,快速完成子代染色體向問題最終解對應染色體的趨近過程。當然,僅僅使用這種比較機制還是不夠完善的,這是因為很多時候子代也有與父代染色體完全脫形的現(xiàn)象,從生物學角度說,盡管這種概率出現(xiàn)的較少,但實際過程中仍有特例情況發(fā)生。
在串匹配機制中,首先,給染色體中每一基因位設定對應的權重系數(shù),從而區(qū)分不同位置基因位對適應度的影響程度;其次,將子代染色體與父代染色體進行兩兩匹配驗證,分別得到一個匹配值,驗證兩個匹配值是否在合理相似區(qū)間內,得到一個置信度;最后,由置信度并結合兩個染色體的適應度值得到子代染色體的值。染色體匹配機制描述如下:
(1) 根據(jù)GA中特定交叉與變異算子的運算結果,分別計算子個體與雙親個體之間的匹配性,并計算給定公式快速計算染色體的適應度及其置信度,以表2所示為例。
表2 個體及子個體示例表
個體與雙親和間的差異程度,可按下述公式系數(shù)差分方法計算:
,
(1)
其中,權重系數(shù)wi用于調節(jié)對應每個基因位在染個體中受重視的程度,n是基因位的個數(shù),子個體c1和雙親個體(p1, p2)的差分值一個介于0至1之間的數(shù)字,子個體與雙親個體的匹配性按如下公式計算:
;
(2)
由公式(2)可見,子個體與雙親個體的匹配性取決于其差異性的大小,差異性越大,則匹配性越小,反之亦然。若,表明子個體與父個體存在完全匹配性,這種情況下,子個體與父個體基因完全一致,無差異性。反之,若,則表明子個體與父個體完全不匹配性。這兩種情況都屬性極端性匹配情況,微觀世界中出現(xiàn)得較少,但仍有可能發(fā)生,個體c2和雙親個體的差異性也可按公式(1)計算, 并由公式(2)推導出其匹配性。在此,假定雙親染色體(p1, p2)對應的適應度值分別是f1,f2 ,則染個體ci適應度f(ci)和其對應的置信度按如下公式(3)和(4)計算:
(3)
(4)
上述公式表明:對每一個染個體,其基因位共同作用的匹配性在個體繼承雙親染色體遺傳物質特性過程中得到了反饋。每一個體對應的r(ci)反映了其適應度相比真實環(huán)境計算得到的適應度的可信程度,其值介于0和1區(qū)間范圍之內。而對于一個種群而言,所有r(ci)的平均值則體現(xiàn)了整個種群適應環(huán)境的能力與其真實適應能力之間的差別,越接近于1,則整個種群的繼承性越強,對外界的適應能力幾乎沒有任何變何,反之,越近似于0,則整個種群的繼承性呈減緩趨勢,自身在不斷調整對外界的適應能力。后繼的仿真實驗顯示:上述這種計算及分析方法能夠在種群規(guī)模較大時,快速計算種群每一個體對外界的適應度有力,減少目標函數(shù)的評價次數(shù),有利于整個種群快速收斂到問題的最終解區(qū)域內部。
(2) 當然,僅僅按上述計算方法計算每個染色體對外界的適應度,還不夠完善。這是因為,當由繼承性得到的適應度與由真實環(huán)境評價得到的適應度發(fā)生嚴重“失真”時,將難以持繼選擇過程的進行。為此在種群中設定了一個閾值T,當種群的的高于T時,保留每一個體的和適應度值和置信度;若種群的小于T時,則在真實環(huán)境中使用目標函數(shù)重新評價個體的適應度。在實驗中,T的值可以設定為固定或動態(tài)兩種方式。
(3)單形變異算子
單形變異算子基本思想:將一個染色體的基因串按一定順序形成歐氏空間中的一個單形。將單形向空間各方向按一定比例擴張,然后再順時針方向旋轉,在設定的時刻到達后,按原方向反向取出變異后的個體。具體見圖2所示。
例如,, 該子個體p1執(zhí)行三維單形變異算子的步驟描述如下:
Step1. 首先將p1按從左至右順序將分別均分成三個子向量xi=[xi1,xi2,xi3], i=1,2,3,不足三位的補0, x1=[1 0 0], x2=[1 1 0], x3=[1 1 0]。
Step2. 分別將三個子串按順時針方向置于三個頂點,形成一個三維單形,將這個單形以比例(1+ε)擴張至新的三個頂點xi’=[xi1’, xi2’, xi3’],形成一個新的單形。其中,ε是一個介于0和1之間的隨機數(shù)。假定對應x1生成的隨機數(shù)分別是r1=(0.5,0.6,0.3),則x1’= x1+ r1=[1.5, 0.6,0.3]。
Step3. 將x1’, x2’, x3’按原方向取出,根據(jù)設定的變異閾值上限m1和下限m2, 從而決定x1, x2 ,x3對應的基因位是否發(fā)生變異,如,m1=0.1, m2=1.9, 若某個基因位的值x1i’<0.1 或者x1i’>1.9, 則此時基因發(fā)生異變,即x1i由1變0,或由0變1。
下面結合對比試驗對本發(fā)明的應用效果作詳細的描述。
圖3為FGA和SGA性能差異的比較方式。圖4為FGA 和SGA在不同測試函數(shù)上的進化曲線。
具體實施方式
本發(fā)明中提出的快速匹配遺傳算法簡稱為FGA,用于比較的標準遺傳算法簡稱為SGA, 測試函數(shù)描述如下:
表3 測試函數(shù)
每個染色體使用8位二進制0-1編碼方式,因此,每位基因的權重系數(shù)wi根據(jù)對應基因位在染色體中的位置編碼做歸一化處理,見表4所示:
表4 權重系數(shù)表
FGA和SGA兩種算法在兩個測試函數(shù)中使用的參數(shù)設置見表5。
表5 FGA和SGA在不同測試函數(shù)中的參數(shù)設置
為了比較FGA和SGA兩種算法間的性能差異,本發(fā)明方法考察整個算法尋優(yōu)過程中出現(xiàn)的三個重要時刻來評價各算法間的性能優(yōu)劣。根據(jù)總的函數(shù)評價次數(shù)E(t),這三個位置時刻分別設定在TP1=1/3 E(t)、TP2=2/3 E(t) 和TP3=E(t)位置。每一個位置都有一個對應的評價點,見圖3所示:圖3中實線和虛線分別描述了SGA和FGA在整個尋優(yōu)進化過程中的適應度變化趨勢,為比較不同進化方法在不同時刻的適應度差異,如上述描述,可設定進化過程中的三個典型時刻,如,E1=1/3圖3中的兩個菱形和一個對應圓點被用于比較FGA和SGA的性能差異,其性能測試準則定義如下:
(5)
其中,介于0和1之間,若E2為某一固定值,越小,則由FGA相比SGA進化到相同適應度時所需要的評價次數(shù)較少,而SGA所需要的評價次數(shù)則較多。而越大,在相同的評價次數(shù)下,由FGA獲得的適應度相比SGA獲得的適應度較優(yōu)。
圖4分別顯示出FGA 和SGA在三個測試函數(shù)上的進化曲線過程,虛線描述了SGA在求解各函數(shù)過程中的適應度值變化曲線過程;實線描述FGA求解函數(shù)最優(yōu)適應度值的曲線變化過程;三個函數(shù)測試過程中,其動態(tài)閾值T都設置為0.7??梢杂^察到這樣一種現(xiàn)象,所提出的算法都能在三個測試函數(shù)上獲得最優(yōu)解解,圖4(a)中FGA相比SGA使用了較少的評價次數(shù)達到全局最優(yōu)解,而在圖4(b)中,F(xiàn)GA仍然可以在指定的評價次數(shù)內達到全局最優(yōu)解,但SGA卻未能達到全局最優(yōu)解。最函數(shù)Sphere測試中,兩種比較算法均能達到全局最優(yōu)解。但FGA相比SGA用了較少的迭大次數(shù)達到全局最優(yōu)解。
表6 FGA 和SGA在函數(shù)三個測試函數(shù)F1,F2,F3 上的性能比較
表6描述了FGA 和SGA在兩個函數(shù)尋優(yōu)過程中,在三個測試點上都表現(xiàn)出了較好的性能效果。可以看出:通過FGA獲得與SGA相同的適應度值,F(xiàn)GA所需要的評價次數(shù)明顯少于SGA所需要的評價次數(shù)。而在相同的評價次數(shù)被執(zhí)行時,F(xiàn)GA相對于SGA也能夠在較快時間內獲得較優(yōu)的適應度值。比如,對函數(shù)F1 而言:在測試點TP1上,說明FGA需要的評價次數(shù)相對于TGA要少12.53%, 而在相同的評價次數(shù)下,F(xiàn)GA獲得的真實適應度比通過SGA獲得的適應度要多10.27%。 雖然在三個測試點上的性能都能計算出來,但在最終測試點TP3,由于FGA很難實現(xiàn)與SGA相同的最優(yōu)適應度值,故無法執(zhí)行計算。表格中的數(shù)據(jù)顯示:FGA在相同閾值T設置中實現(xiàn)的效果較好。
綜上所述,本發(fā)明在GA中引融入染色體匹配評價機制,并通過引入單形變異算子,提出一種快速的FGA,在FGA執(zhí)行過程中,子個體能夠較好的根據(jù)與父個體的相似性及可性度r計算個體的“評價性適應度值”,從而減少真實個體適應度的計算次數(shù),有利于縮短總的尋優(yōu)時間,測試準則上的數(shù)據(jù)也較好的說明FGA提出的“匹配評價機制”能夠確保種群在接近真實適應度值的同時,縮短評價次數(shù),同時,由于單形變異算子的引入,增強了染色體的多樣性,從而使得所提出的算法最終能快速地獲得理想的最優(yōu)適應度值結果。
本發(fā)明可以應用于許多工業(yè)場合,如:資本預算,貨物裝載和存儲分配等實踐問題。從理論上說,這些問題可以轉化為具有NP難度的背包問題,適合于用本發(fā)明提出的方法來求解。背包問題可以采用數(shù)學模型描述為:
上面的模型中采用二進制編碼方法,定義如下:
表7仿真結果
表7顯示了本發(fā)明方法與其他求解背包問題常用的算法對比的結果,表中數(shù)據(jù)顯示出使用本發(fā)明方法(FGA)求解不同物品數(shù)的0-1背包問題,所求解與最優(yōu)解之間的平均誤差在1%~3%, 最大沒并沒有超過3%,所以本發(fā)明方法優(yōu)于單純的貪心算法和混合遺傳算法。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。