一個(gè)遺傳算法
這是一個(gè)非常簡(jiǎn)單的遺傳算法源代碼,是由Denis Cormier (North Carolina State University)開(kāi)發(fā)的,Sita S.Raghavan (University of North Carolina at Charlotte)修正。代碼保證盡可能少,實(shí)際上也不必查錯(cuò)。對(duì)一特定的應(yīng)用修正此代碼,用戶只需改變常數(shù)的定義并且定義“評(píng)價(jià)函數(shù)”即可。注意代碼 的設(shè)計(jì)是求最大值,其中的目標(biāo)函數(shù)只能取正值;且函數(shù)值和個(gè)體的適應(yīng)值之間沒(méi)有區(qū)別。該系統(tǒng)使用比率選擇、精華模型、單點(diǎn)雜交和均勻變異。如果用 Gaussian變異替換均勻變異,可能得到更好的效果。代碼沒(méi)有任何圖形,甚至也沒(méi)有屏幕輸出,主要是保證在平臺(tái)之間的高可移植性。讀者可以從ftp.uncc.edu, 目錄 coe/evol中的文件prog.c中獲得。要求輸入的文件應(yīng)該命名為‘gadata.txt’;系統(tǒng)產(chǎn)生的輸出文件為‘galog.txt’。輸入的 文件由幾行組成:數(shù)目對(duì)應(yīng)于變量數(shù)。且每一行提供次序——對(duì)應(yīng)于變量的上下界。如第一行為第一個(gè)變量提供上下界,第二行為第二個(gè)變量提供上下界,等等。
標(biāo)簽:
算法
源代碼
上傳時(shí)間:
2013-12-20
上傳用戶:myworkpost