谢菲尔德遗传算法工具箱函数简介
一 謝菲爾德遺傳算法工具箱的主要函數(shù)如下表所示:
二 函數(shù)介紹—?jiǎng)?chuàng)建種群
1. crtbase
1.1 功能
創(chuàng)建一個(gè)所有染色體中最基本的染色體**對(duì)應(yīng)的向量*語(yǔ)法:
1.2 語(yǔ)法
BaseVec = crtbase(Lind,Base)
1.3 輸入?yún)?shù)
1 Lind:染色體長(zhǎng)度2 Base:最基礎(chǔ),最基本的基因。1.4 用例
BaseBec:返回基礎(chǔ)基因組2. crtbp:
2.1 功能
創(chuàng)建任意離散隨機(jī)種群。即多個(gè)染色體組成的種群。
2.2 語(yǔ)法
[Chrom,Lind,BaseV] =crtbp(Nind,Lind)
[Chrom,Lind,BaseV]=crtbp(Nind,Base)
[Chrom,Lind,BaseV]=crtbp(Nind,Lind,Base)
2.3 用例
1.樣式1:Chrom為一個(gè)Nind*Lind的染色體種群;Lind為種群中基因長(zhǎng)度;BaseV為基因各位上的進(jìn)制,并組成的Lind長(zhǎng)的向量,默認(rèn)基因進(jìn)制為2.
2. 樣式2:在樣式1的基礎(chǔ)上,指定種群基因的進(jìn)制:Base;Base的長(zhǎng)度即Lind。
3. crtrp
3.1 功能
創(chuàng)建一個(gè)指定數(shù)量的,各個(gè)位指定范圍的的種群。
3.2 語(yǔ)法
Chrom = crtrp(Nind,FieldDR)
Nind:種群數(shù)量;FieldDR:例如:
FieldDR = [-100 -50 -30 -20; % lower bound
100 50 30 20] % upper bound
種群中基因的位數(shù)=FieldDR的位數(shù)。
3.3 用例
三 函數(shù)介紹-適應(yīng)度計(jì)算
1. ranking
1.1 功能
用戶(hù)排序的適應(yīng)度分配。
1.2 語(yǔ)法
FitnV=ranking(ObjV):
FitnV=ranking(ObjV,RFun):
FitnV=ranking(ObjV,RFun,SUBPOP):
1.Objv:按照個(gè)體的目標(biāo)值ObjV(列向量)有小到大進(jìn)行排序。
2.RFun:(1)如果RFun是在[1,2]之間的標(biāo)量,則采用線性排列,這個(gè)標(biāo)量指定選擇的壓差。
(2)如果RFun是一個(gè)具有兩個(gè)參數(shù)的向量,則RFun(2)指定排序方法:0為線性排序,1為非線性排序;RFun(1)對(duì)線性排序,標(biāo)量指定的選擇壓差RFun(1)必須在[1,2]之間,對(duì)非線性排序,RFun必須在[1,length(ObjV)-2]區(qū)間,如果為NAN,則RFun(1)假設(shè)為2.
(3)若RFun是長(zhǎng)度為length(ObjV)的向量,則它包含對(duì)每一行的適應(yīng)度值計(jì)算。
3.SUBPOP:ObjV中子種群的數(shù)量,缺省或?yàn)镹AN時(shí),SUBPOP=1,ObjV的所有子種群大小必須相同。
4.FitnV:返回值為個(gè)體適應(yīng)度值的列向量。
1.3 用例
1.使用線性排序和壓差為2估算適應(yīng)度。
2. 使用非線性排序,壓差為2,在ObjV中有兩個(gè)子種群估算適應(yīng)度。
2. scaling
稍后補(bǔ)充。
四 函數(shù)介紹-選擇函數(shù)
1. select
1.1 功能
從種群中選擇個(gè)體(高級(jí)函數(shù))
1.2 語(yǔ)法
SelCh=select(SKL_F,Chrom,FitnV);
SelCh=select(SKL_F,Chrom,FitnV,GGAP);
SelCh=select(SKL_F,Chrom,FitnV,GGAP,SUBPOP);
1.3 用例
假設(shè)Chrom由兩個(gè)子種群組成,通過(guò)輪盤(pán)賭選擇函數(shù)sus對(duì)每個(gè)子種群選擇150%的個(gè)體。
2.reins
2.1 功能
重插入子代到種群。插入子代到當(dāng)前種群,用子代代替父代并返回結(jié)果總?cè)骸?/p>
2.2 語(yǔ)法
Chrom=reins(Chrom,SelCh);
Chrom=reins(Chrom,SelCh,SUBPOP);
Chrom=reins(Chrom,SelCh,SUBPOP,InsOpt,ObjVCh);
[Chrom,ObjVCh]=reins(Chrom,SelCh,SUBPOP,InsOpt,ObjVCh,ObjVSel);
1.Chrom:父代種群。
2. SelCh:子代
3. SUBPOP:可選參數(shù):表明子代或父代種群有多少個(gè)體,缺省或?yàn)镹AN時(shí),SUBPOP=1;
4. InsOpt:最多有兩個(gè)參數(shù)的任選向量。InsOpt(1)是一個(gè)標(biāo)量,表明子代代替父代的方法,0為均勻選擇(子代代替父代使用均勻隨機(jī)選自),1為適應(yīng)度選擇,子代代替父代中適應(yīng)度最小的個(gè)體。缺省或?yàn)镹AN,則假設(shè)InsOpt(1)=0;InsOpt(2)是一個(gè)在[0,1]區(qū)間的標(biāo)量,表示每個(gè)子種群中重插入的子代個(gè)體在整個(gè)子種群中個(gè)體的比率,缺省或?yàn)镹AN,則假設(shè)InsOpt(2)=1.0。
5. ObjVCh是一個(gè)可選列向量,包括Chrom中個(gè)體的目標(biāo)量,對(duì)基于適應(yīng)度的重插入,ObjVCh是必須的。
6. ObjVSel是一個(gè)可選參數(shù),包含SelCh中個(gè)體的目標(biāo)值。如果子代的數(shù)量大于重插入種群中子代的數(shù)量,則ObjVSel是必須的,這種情況子代將按它們的適應(yīng)度大小選擇插入。
2.3 用例
在5個(gè)個(gè)體的父代種群中插入子代種群。
3. rws
日后如果用到,再行補(bǔ)充。
五 函數(shù)介紹-交叉算子函數(shù)
1. recombin
1.1 功能
重組個(gè)體(高級(jí)函數(shù))。
recombin完成種群個(gè)體的重組,在新種群NewChrom中返回重組后的個(gè)體,Chrom和NewChrom中的一行對(duì)應(yīng)一個(gè)個(gè)體。
1.2 語(yǔ)法
NewChrom=recombin(REC_F,Chrom);
NewChrom=recombin(REC_F,Chrom,RecOpt);
NewChrom=recombin(REC_F,Chrom,RecOpt,SUBPOP);
1.3 用例
使用recombin對(duì)5個(gè)個(gè)體的種群進(jìn)行重組。
2. 其他函數(shù)
其他函數(shù),如果后續(xù)使用到,再行補(bǔ)充。
六 函數(shù)介紹–變異算子
1.mut
1.1 功能
離散變異算子。
1.2 語(yǔ)法
NewChrom=mut(OldChrom,Pm,BaseV);
OldChrom:當(dāng)前種群;Pm:變異概率,缺省時(shí)為0.7/Lind;BaseV:染色體個(gè)體元素的變異基本字符(缺省時(shí)種群為二進(jìn)制編碼)。
1.3 用例
使用函數(shù)mut將當(dāng)前種群變異為新種群。
2. 其他函數(shù)
日后如果用到,再行補(bǔ)充。
七 函數(shù)介紹-實(shí)用函數(shù)
1. bs2rv
1.1 功能
根據(jù)譯碼矩陣FieldD將二進(jìn)制串矩陣Chrom轉(zhuǎn)換為實(shí)數(shù)向量,返回十進(jìn)制的矩陣。
1.2 語(yǔ)法
Phen=bs2rv(Chrom,FieldD)
FieldD=[len lb ub code scale lbin ubin]
1.3 用例
先創(chuàng)建[-1,10]區(qū)間的一組簡(jiǎn)單變量,然后使用bs2rv將二進(jìn)制串表示成實(shí)值表現(xiàn)型。
2. rep
2.1 功能
矩陣復(fù)制。
2.2 語(yǔ)法
MatOut=rep(MatIn,REPN)
2.3 用例
本案例主要參考圖書(shū):MATLAB智能算法30個(gè)案例分析
總結(jié)
以上是生活随笔為你收集整理的谢菲尔德遗传算法工具箱函数简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [css] 移动端的布局用过媒体查询吗
- 下一篇: 如何在Excel 2007中创建数据透视