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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

一 謝菲爾德遺傳算法工具箱的主要函數(shù)如下表所示:

二 函數(shù)介紹—創(chuàng)建種群

1. crtbase

1.1 功能

創(chuàng)建一個所有染色體中最基本的染色體**對應的向量*語法:

1.2 語法

BaseVec = crtbase(Lind,Base)

1.3 輸入參數(shù)

1 Lind:染色體長度2 Base:最基礎,最基本的基因。

1.4 用例

BaseBec:返回基礎基因組

2. crtbp:

2.1 功能

創(chuàng)建任意離散隨機種群。即多個染色體組成的種群。

2.2 語法

[Chrom,Lind,BaseV] =crtbp(Nind,Lind)
[Chrom,Lind,BaseV]=crtbp(Nind,Base)
[Chrom,Lind,BaseV]=crtbp(Nind,Lind,Base)

2.3 用例

1.樣式1:Chrom為一個Nind*Lind的染色體種群;Lind為種群中基因長度;BaseV為基因各位上的進制,并組成的Lind長的向量,默認基因進制為2.

2. 樣式2:在樣式1的基礎上,指定種群基因的進制:Base;Base的長度即Lind。

  • 樣式3:與樣式2效果相同,Lind即為Base的長度。
  • 3. crtrp

    3.1 功能

    創(chuàng)建一個指定數(shù)量的,各個位指定范圍的的種群。

    3.2 語法

    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ù)介紹-適應度計算

    1. ranking

    1.1 功能

    用戶排序的適應度分配。

    1.2 語法

    FitnV=ranking(ObjV):
    FitnV=ranking(ObjV,RFun):
    FitnV=ranking(ObjV,RFun,SUBPOP):

    1.Objv:按照個體的目標值ObjV(列向量)有小到大進行排序。
    2.RFun:(1)如果RFun是在[1,2]之間的標量,則采用線性排列,這個標量指定選擇的壓差。
    (2)如果RFun是一個具有兩個參數(shù)的向量,則RFun(2)指定排序方法:0為線性排序,1為非線性排序;RFun(1)對線性排序,標量指定的選擇壓差RFun(1)必須在[1,2]之間,對非線性排序,RFun必須在[1,length(ObjV)-2]區(qū)間,如果為NAN,則RFun(1)假設為2.
    (3)若RFun是長度為length(ObjV)的向量,則它包含對每一行的適應度值計算。
    3.SUBPOP:ObjV中子種群的數(shù)量,缺省或為NAN時,SUBPOP=1,ObjV的所有子種群大小必須相同。
    4.FitnV:返回值為個體適應度值的列向量。

    1.3 用例

    1.使用線性排序和壓差為2估算適應度。

    2. 使用非線性排序,壓差為2,在ObjV中有兩個子種群估算適應度。

    2. scaling

    稍后補充。

    四 函數(shù)介紹-選擇函數(shù)

    1. select

    1.1 功能

    從種群中選擇個體(高級函數(shù)

    1.2 語法

    SelCh=select(SKL_F,Chrom,FitnV);
    SelCh=select(SKL_F,Chrom,FitnV,GGAP);
    SelCh=select(SKL_F,Chrom,FitnV,GGAP,SUBPOP);

  • SEL_F:一個字符串,包含一個低級選擇函數(shù)名,如rws或者sus.
  • FitnV:ranking函數(shù)得到的適應度。表明了每個個體被選擇的預期概率。
  • GGAP:可選參數(shù),指出了代溝部分種群被復制。缺省或為NAN,GGAP=1.0.
  • SUBPOP:同ranking.
  • 1.3 用例

    假設Chrom由兩個子種群組成,通過輪盤賭選擇函數(shù)sus對每個子種群選擇150%的個體。

    2.reins

    2.1 功能

    重插入子代到種群。插入子代到當前種群,用子代代替父代并返回結果總群。

    2.2 語法

    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ù):表明子代或父代種群有多少個體,缺省或為NAN時,SUBPOP=1;
    4. InsOpt:最多有兩個參數(shù)的任選向量。InsOpt(1)是一個標量,表明子代代替父代的方法,0為均勻選擇(子代代替父代使用均勻隨機選自),1為適應度選擇,子代代替父代中適應度最小的個體。缺省或為NAN,則假設InsOpt(1)=0;InsOpt(2)是一個在[0,1]區(qū)間的標量,表示每個子種群中重插入的子代個體在整個子種群中個體的比率,缺省或為NAN,則假設InsOpt(2)=1.0。
    5. ObjVCh是一個可選列向量,包括Chrom中個體的目標量,對基于適應度的重插入,ObjVCh是必須的。
    6. ObjVSel是一個可選參數(shù),包含SelCh中個體的目標值。如果子代的數(shù)量大于重插入種群中子代的數(shù)量,則ObjVSel是必須的,這種情況子代將按它們的適應度大小選擇插入。

    2.3 用例

    在5個個體的父代種群中插入子代種群。

    3. rws

    日后如果用到,再行補充。

    五 函數(shù)介紹-交叉算子函數(shù)

    1. recombin

    1.1 功能

    重組個體(高級函數(shù))。
    recombin完成種群個體的重組,在新種群NewChrom中返回重組后的個體,Chrom和NewChrom中的一行對應一個個體。

    1.2 語法

    NewChrom=recombin(REC_F,Chrom);
    NewChrom=recombin(REC_F,Chrom,RecOpt);
    NewChrom=recombin(REC_F,Chrom,RecOpt,SUBPOP);

  • REC_f:包含低級重組函數(shù)名的字符串,例如:recdis或xovsp.
  • RecOpt:一個指明交叉改了的任選參數(shù),缺省或為NAN,將設為缺省。
  • SUBPOP:同上。
  • 1.3 用例

    使用recombin對5個個體的種群進行重組。

    2. 其他函數(shù)

    其他函數(shù),如果后續(xù)使用到,再行補充。

    六 函數(shù)介紹–變異算子

    1.mut

    1.1 功能

    離散變異算子。

    1.2 語法

    NewChrom=mut(OldChrom,Pm,BaseV);
    OldChrom:當前種群;Pm:變異概率,缺省時為0.7/Lind;BaseV:染色體個體元素的變異基本字符(缺省時種群為二進制編碼)。

    1.3 用例

    使用函數(shù)mut將當前種群變異為新種群。

  • 種群為二進制。
  • 種群為非二進制
  • 2. 其他函數(shù)

    日后如果用到,再行補充。

    七 函數(shù)介紹-實用函數(shù)

    1. bs2rv

    1.1 功能

    根據(jù)譯碼矩陣FieldD將二進制串矩陣Chrom轉換為實數(shù)向量,返回十進制的矩陣。

    1.2 語法

    Phen=bs2rv(Chrom,FieldD)
    FieldD=[len lb ub code scale lbin ubin]

  • len:包含在Chrom中的每個子串的長度,注意:sum(len)=size(Chrom,2).
  • lb和ub:分別是每個變量的上界和下屆。
  • code:表明子串是怎樣編碼的,1為標準編碼,0為格雷碼。
  • scale:指明每個子串使用的刻度,0為算術刻度,1為對數(shù)刻度。
  • lbin和ubin:指明表示范圍中是否包含邊界,0為不包含邊界,1為包含邊界。
  • 1.3 用例

    先創(chuàng)建[-1,10]區(qū)間的一組簡單變量,然后使用bs2rv將二進制串表示成實值表現(xiàn)型。

    2. rep

    2.1 功能

    矩陣復制。

    2.2 語法

    MatOut=rep(MatIn,REPN)

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


    本案例主要參考圖書:MATLAB智能算法30個案例分析

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。