遺傳演算法的收斂性
『壹』 遺傳演算法問題:群體大小N,染色體長度M,為了收斂可能性較大,那麼N 和M 是不是有一定關系啊,講講收斂吧
N和M沒有關系的,收不收斂跟你採取的運算元策略(選擇、交叉、變異)有關系,跟種群大小也有點關系,但跟染色體長度沒關系。
『貳』 遺傳演算法有收斂性分析嗎有的話怎麼分析呢
神經網路的設計要用到遺傳演算法,遺傳演算法在神經網路中的應用主要反映在3個方面:網路的學習,網路的結構設計,網路的分析。 1.遺傳演算法在網路學習中的應用 在神經網路中,遺傳演算法可用於網路的學習。這時,它在...
『叄』 基本遺傳演算法和改進的遺傳演算法以概率多少收斂
這個沒有確定的數值,對不同的問題概率也不一樣,只能定性地說「以接近於1的概率全局收斂」。
『肆』 關於MATLAB遺傳演算法的問題
不知道你這個遺傳演算法得出的結果與你已知的最小值差距多大?其實遺傳演算法作為優化演算法,得到的只是優化解,不一定是最優解,此其一,其二,基本遺傳演算法可調整的參數太多,例如選擇,交叉的方法,而這些對結果影響還是比較大的,如果你用輪盤賭方法效果不怎樣,可以選擇用其他方法試試。
最後,matlab是有遺傳工具箱的,你可以直接使用工具箱得到結果,如果你不確定你的程序有沒有寫錯的話。也可以作為一個參考。
『伍』 遺傳演算法的作用
與傳統的優化相比,在求取符合運行要求的全局最優解時,遺傳演算法作為一種搜索的方法,已經成為成熟的具有良好收斂性、極高魯棒性和廣泛適用性的優化方法,很好的解決了電力系統的多變數、非線性、不連續、多約束的優化控制問題。
『陸』 遺傳演算法具體應用
1、函數優化
函數優化是遺傳演算法的經典應用領域,也是遺傳演算法進行性能評價的常用算例,許多人構造出了各種各樣復雜形式的測試函數:連續函數和離散函數、凸函數和凹函數、低維函數和高維函數、單峰函數和多峰函數等。
2、組合優化
隨著問題規模的增大,組合優化問題的搜索空間也急劇增大,有時在目前的計算上用枚舉法很難求出最優解。對這類復雜的問題,人們已經意識到應把主要精力放在尋求滿意解上,而遺傳演算法是尋求這種滿意解的最佳工具之一。
此外,GA也在生產調度問題、自動控制、機器人學、圖象處理、人工生命、遺傳編碼和機器學習等方面獲得了廣泛的運用。
3、車間調度
車間調度問題是一個典型的NP-Hard問題,遺傳演算法作為一種經典的智能演算法廣泛用於車間調度中,很多學者都致力於用遺傳演算法解決車間調度問題,現今也取得了十分豐碩的成果。
從最初的傳統車間調度(JSP)問題到柔性作業車間調度問題(FJSP),遺傳演算法都有優異的表現,在很多算例中都得到了最優或近優解。
(6)遺傳演算法的收斂性擴展閱讀:
遺傳演算法的缺點
1、編碼不規范及編碼存在表示的不準確性。
2、單一的遺傳演算法編碼不能全面地將優化問題的約束表示出來。考慮約束的一個方法就是對不可行解採用閾值,這樣,計算的時間必然增加。
3、遺傳演算法通常的效率比其他傳統的優化方法低。
4、遺傳演算法容易過早收斂。
5、遺傳演算法對演算法的精度、可行度、計算復雜性等方面,還沒有有效的定量分析方法。
『柒』 遺傳演算法的優缺點
優點:
1、遺傳演算法是以決策變數的編碼作為運算對象,可以直接對集合、序列、矩陣、樹、圖等結構對象進行操作。這樣的方式一方面有助於模擬生物的基因、染色體和遺傳進化的過程,方便遺傳操作運算元的運用。
另一方面也使得遺傳演算法具有廣泛的應用領域,如函數優化、生產調度、自動控制、圖像處理、機器學習、數據挖掘等領域。
2、遺傳演算法直接以目標函數值作為搜索信息。它僅僅使用適應度函數值來度量個體的優良程度,不涉及目標函數值求導求微分的過程。因為在現實中很多目標函數是很難求導的,甚至是不存在導數的,所以這一點也使得遺傳演算法顯示出高度的優越性。
3、遺傳演算法具有群體搜索的特性。它的搜索過程是從一個具有多個個體的初始群體P(0)開始的,一方面可以有效地避免搜索一些不必搜索的點。
另一方面由於傳統的單點搜索方法在對多峰分布的搜索空間進行搜索時很容易陷入局部某個單峰的極值點,而遺傳演算法的群體搜索特性卻可以避免這樣的問題,因而可以體現出遺傳演算法的並行化和較好的全局搜索性。
4、遺傳演算法基於概率規則,而不是確定性規則。這使得搜索更為靈活,參數對其搜索效果的影響也盡可能的小。
5、遺傳演算法具有可擴展性,易於與其他技術混合使用。以上幾點便是遺傳演算法作為優化演算法所具備的優點。
缺點:
1、遺傳演算法在進行編碼時容易出現不規范不準確的問題。
2、由於單一的遺傳演算法編碼不能全面將優化問題的約束表示出來,因此需要考慮對不可行解採用閾值,進而增加了工作量和求解時間。
3、遺傳演算法效率通常低於其他傳統的優化方法。
4、遺傳演算法容易出現過早收斂的問題。
(7)遺傳演算法的收斂性擴展閱讀
遺傳演算法的機理相對復雜,在Matlab中已經由封裝好的工具箱命令,通過調用就能夠十分方便的使用遺傳演算法。
函數ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最優解,fval是最優值,@fitnessness是目標函數,nvars是自變數個數,options是其他屬性設置。系統默認求最小值,所以在求最大值時應在寫函數文檔時加負號。
為了設置options,需要用到下面這個函數:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通過這個函數就能夠實現對部分遺傳演算法的參數的設置。
『捌』 遺傳演算法中,當我設置最大進化代數maxgen不同時,收斂圖的最小值總是不一致,總是不斷的下降
是收斂性不好,交叉率小了點,設置為0.9~0.97;
另外,不要用輪盤賭法,換一種有效一點的選擇方法,例如排序法。
『玖』 遺傳演算法的收斂性問題
是運算元有問題,交叉的方法都是比較簡單的,但對於某些情況可能並不好用,也就是說演算法本身無法體現出優勝劣汰的規則,可能因此導致無法收斂。
收斂數列令為一個數列,且A為一個固定的實數,如果對於任意給出的b>0,存在一個正整數N,使得對於任意n>N,有|an-A|<b,則數列存在極限A,數列被稱為收斂。非收斂的數列被稱作「發散」(divergence)數列。
可見收斂不是指數值越來越小,而是指與極限值的距離(即差的絕對值)越來越小,只要你的目標函數是壓縮映射,那麼使用遺傳演算法就一定可以計算出全局收斂的近似值。
(9)遺傳演算法的收斂性擴展閱讀:
由於遺傳演算法不能直接處理問題空間的參數,因此必須通過編碼將要求解的問題表示成遺傳空間的染色體或者個體。這一轉換操作就叫做編碼,也可以稱作(問題的)表示(representation)。
遺傳演算法在搜索進化過程中一般不需要其他外部信息,僅用評估函數來評估個體或解的優劣,並作為以後遺傳操作的依據。由於遺傳演算法中,適應度函數要比較排序並在此基礎上計算選擇概率,所以適應度函數的值要取正值。由此可見,在不少場合,將目標函數映射成求最大值形式且函數值非負的適應度函數是必要的。