freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

matlab-的遺傳算法實例-文庫吧

2025-07-20 22:52 本頁面


【正文】 me:%計算個體的適應(yīng)值function fitvalue=calfitvalue(objvalue)global Cmin。Cmin=0。[px,py]=size(objvalue)。for i=1:pxif objvalue(i)+Cmin0temp=Cmin+objvalue(i)。elsetemp=。endfitvalue(i)=temp。endfitvalue=fitvalue39。% 選擇復(fù)制% 選擇或復(fù)制操作是決定哪些個體可以進入下一代。程序中采用賭輪盤選擇法選擇,這種方法較易實現(xiàn)。% 根據(jù)方程 pi=fi/∑fi=fi/fsum ,選擇步驟:% 1) 在第 t 代,由(1)式計算 fsum 和 pi % 2) 產(chǎn)生 {0,1} 的隨機數(shù) rand( .),求 s=rand( .)*fsum% 3) 求 ∑fi≥s 中最小的 k ,則第 k 個個體被選中% 4) 進行 N 次2)、3)操作,得到 N 個個體,成為第 t=t+1 代種群%遺傳算法子程序%Name: %選擇復(fù)制function [newpop]=selection(pop,fitvalue)totalfit=sum(fitvalue)。 %求適應(yīng)值之和fitvalue=fitvalue/totalfit。 %單個個體被選擇的概率fitvalue=cumsum(fitvalue)。 %如 fitvalue=[1 2 3 4],則 cumsum(fitvalue)=[1 3 6 10] [px,py]=size(pop)。ms=sort(rand(px,1))。 %從小到大排列fitin=1。newin=1。while newin=pxif(ms(newin))fitvalue(fitin)newpop(newin)=pop(fitin)。newin=newin+1。elsefitin=fitin+1。endend% 交叉% 交叉(crossover),群體中的每個個體之間都以一定的概率 pc 交叉,即兩個個體從各自字符串的某一位置% (一般是隨機確定)開始互相交換,這類似生物進化過程中的基因分裂與重組。例如,假設(shè)2個父代個體x1,x2為:% x1=0100110% x2=1010001% 從每個個體的第3位開始交叉,交又后得到2個新的子代個體y1,y2分別為:% y1=0100001% y2=1010110% 這樣2個子代個體就分別具有了2個父代個體的某些特征。利用交又我們有可能由父代個體在子代組合成具有更高適合度的個體。% 事實上交又是遺傳算法區(qū)別于其它傳統(tǒng)優(yōu)化方法的主要特點之一。%遺傳算法子程序%Name: %交叉function [newpop]=crossover(pop,pc)[px,py]=size(pop)。newpop=ones(size(pop))。for i=1:2:px1if(randpc)cpoint=round(rand*py)。newpop(i,:)=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)]。newpop(i+1,:)=[pop(i+1,1:cpoint),po
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1