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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

谢菲尔德遗传算法工具箱函数简介

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

一 謝菲爾德遺傳算法工具箱的主要函數(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:與樣式2效果相同,Lind即為Base的長(zhǎng)度。
  • 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);

  • SEL_F:一個(gè)字符串,包含一個(gè)低級(jí)選擇函數(shù)名,如rws或者sus.
  • FitnV:ranking函數(shù)得到的適應(yīng)度。表明了每個(gè)個(gè)體被選擇的預(yù)期概率。
  • GGAP:可選參數(shù),指出了代溝部分種群被復(fù)制。缺省或?yàn)镹AN,GGAP=1.0.
  • SUBPOP:同ranking.
  • 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);

  • REC_f:包含低級(jí)重組函數(shù)名的字符串,例如:recdis或xovsp.
  • RecOpt:一個(gè)指明交叉改了的任選參數(shù),缺省或?yàn)镹AN,將設(shè)為缺省。
  • 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)前種群變異為新種群。

  • 種群為二進(jìn)制。
  • 種群為非二進(jìn)制
  • 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]

  • len:包含在Chrom中的每個(gè)子串的長(zhǎng)度,注意:sum(len)=size(Chrom,2).
  • lb和ub:分別是每個(gè)變量的上界和下屆。
  • code:表明子串是怎樣編碼的,1為標(biāo)準(zhǔn)編碼,0為格雷碼。
  • scale:指明每個(gè)子串使用的刻度,0為算術(shù)刻度,1為對(duì)數(shù)刻度。
  • lbin和ubin:指明表示范圍中是否包含邊界,0為不包含邊界,1為包含邊界。
  • 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)

  • MatIn:要復(fù)制的矩陣
  • REPN:復(fù)制的次數(shù),包含每個(gè)方向復(fù)制的次數(shù)。REPN(1)表示縱向復(fù)制次數(shù),REPN(2)表示水平方向復(fù)制次數(shù)。
  • 2.3 用例


    本案例主要參考圖書(shū):MATLAB智能算法30個(gè)案例分析

    總結(jié)

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

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