日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

谢菲尔德遗传算法工具箱

發(fā)布時間:2023/12/9 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 谢菲尔德遗传算法工具箱 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

謝菲爾德遺傳算法工具箱的使用

  • 安裝工具箱
    • 下載工具箱
    • 添加路徑
    • 標(biāo)題
  • 遺傳算法函數(shù)
    • ranking()函數(shù)
    • select()函數(shù)
    • bs2rv()函數(shù)
    • 小結(jié)

安裝工具箱

謝菲爾德遺傳算法工具箱作為matlab的一個函數(shù)庫,可以簡單實現(xiàn)遺傳算法。我一開始學(xué)習(xí)了粒子群優(yōu)化算法和鯨魚優(yōu)化算法等群智能優(yōu)化算法,都是在整數(shù)域上,依靠不同的算子對種群中的每個agent進(jìn)行迭代,也有接觸過差分進(jìn)化算法這類遺傳算法的改進(jìn)算法。初步了解遺傳算法之后,便一直思考遺傳算法中二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換問題,因為涉及到十進(jìn)制的小數(shù)部分和二進(jìn)制的位數(shù)等方面。在謝菲爾德工具箱中,存在一個bs2rv()函數(shù),該內(nèi)置函數(shù)包含一個特定的算法,使得我們按照該算法需要的參數(shù)可以輕松將二進(jìn)制數(shù)組轉(zhuǎn)化為特定區(qū)間的十進(jìn)制數(shù),其中的原理也沒有特別了解。

下載工具箱

原來的下載鏈接是由官方免費提供的,但是目前是被404的,需要的話可以私信我,原來的官網(wǎng)就是下面這個。
http://codem.group.shef.ac.uk/index.php/ga-toolbox
(1)從網(wǎng)盤里面下出來,為了好記加了中文,下載下來可以把前面的中文刪了。

(2)解壓出來放在matlab管理工具的文件夾(toolbox)里。P.S我用的是matlab2012a

添加路徑

在matlab中找到下面的文件夾,把gatbx 添加到所有文件的路徑中,我的這個matlab每次啟動都需要添加一下.

標(biāo)題

遺傳算法函數(shù)

遺傳算法是一種群智能優(yōu)化算法。在種群中,通過對每個粒子進(jìn)行選擇,交叉,變異三個操作進(jìn)行迭代。下面介紹幾個稍微難理解的函數(shù),對于幾個函數(shù),我的理解也可能存在偏差。

ranking()函數(shù)

ranking()函數(shù)有三種調(diào)用格式
1.FitnV = ranking(ObjV)
2.FitnV = ranking(ObjV,RFun)
3.FitnV = ranking(ObjV,RFun,SUBPOP)

第一種格式
ObjVobject value,儲存一個向量。返回一個線性排序,壓差=2的序列,這里線性排序和壓差為2是默認(rèn)屬性。宏觀上看,返回一個**[0,2]的向量,ObjV越大對應(yīng)的返回值越小。這個返回值會在select函數(shù)**中被調(diào)用.
第二種格式
Rfun要傳入一個兩位的數(shù)組,
Rfun(1)中,對線性排序,Rfun(1)需要控制在[1,2],就我理解,壓差是一種壓縮模式,Rfun(1)=2,函數(shù)的返回值會控制在[0,2],Rfun(1)=1.5,返回值會控制在[0.5,1.5].
Rfun(2)中,Rfun(2)=1為非線性排序,Rfun(2)=0為線性排序。對于線性排序和非線性排序的了解不多,ranking()函數(shù)默認(rèn)為線性排序。
第三種格式
默認(rèn)SUBPOP = 1,SUBPOP定義了ObjV中子種群的數(shù)量,這個參數(shù)沒有過多研究。

select()函數(shù)

從種群中選擇個體
1.SelCh = select(SEL_F,Chrom,FitnV)
2.SelCh = select(SEL_F,Chrom,FitnV,GGAP)
3.SelCh = select(SEL_F,Chrom,FitnV,GGAP,SUBPOP)

第一種格式
SEL_F傳入一個字符串參數(shù)’rws’是Roulette Wheel Selection,也就是輪盤賭和’sus’是Stochastic Universal Sampling,也就是隨機通用采樣。
第二種格式
GGAP表示代溝,即留下來的概率。默認(rèn)為1.0

bs2rv()函數(shù)

二進(jìn)制轉(zhuǎn)為十進(jìn)制函數(shù)
bs2rv(Chrom,FieldD)
這個函數(shù)理解為遺傳算法工具箱里內(nèi)置的一個算法,因為遺傳算法中的選擇,交叉,變異都是在二進(jìn)制字符串中完成,所以需要這個函數(shù)轉(zhuǎn)化為十進(jìn)制。
FieldD理解為我們轉(zhuǎn)化是需要傳入的格式參數(shù)。
FieldD = [len lb ub code scale lbin ubin]
len = size(Chrom,2)
lb,ub分別為每個變量的上下限。
code傳入的是編碼模式,1表示標(biāo)準(zhǔn)的二進(jìn)制編碼,0表示格雷編碼。
scale傳入的子串的所用刻度,0表示算出刻度。1表示對數(shù)刻度。
lbin ubin分別表示轉(zhuǎn)化的范圍中是否包含邊界,0表示不包含邊界,1表示包含。

小結(jié)

本文只簡單介紹了謝菲爾德遺傳算法工具箱很少的一部分,有不正確的地方歡迎大家私信討論,希望這篇文章在幫助我記錄學(xué)習(xí)的點滴之余,也能幫助到大家。

總結(jié)

以上是生活随笔為你收集整理的谢菲尔德遗传算法工具箱的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。