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

正文內(nèi)容

遺傳算法畢業(yè)論文-遺傳算法在實(shí)際數(shù)值函數(shù)優(yōu)化問題中的應(yīng)用研究-其中以解決函數(shù)問題為例-資料下載頁

2025-01-11 05:00本頁面
  

【正文】 dechrom(pop5,1,chromlength)*10/1023。 pop=newpop。 end y(i) fplot(39。11*sin(6*x)+7*cos(5*x)39。,[0 2*pi]) grid on hold on 蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 29 plot(x,y,39。r*39。) hold off % 初始化 (編碼 ) % 函數(shù)的功能是實(shí)現(xiàn)群體的初始化, popsize 表示群體的大小, chromlength 表示染色體的長度 (二值數(shù)的長度 ), % 長度大小取決于變量的二進(jìn)制編碼的長度 (在本例中取 8 位 )。 %遺傳算法子程序 %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength))。 % rand 隨機(jī)產(chǎn)生每個(gè)單元為 {0,1} 行數(shù)為 popsize,列數(shù)為 chromlength 的矩陣, %roud 對矩陣的每個(gè)單元進(jìn)行圓整。 這樣產(chǎn)生的初始種群 % 計(jì)算目標(biāo)函數(shù)值 % 將二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù) (1) %遺傳算法子程序 %產(chǎn)生 [2^n 2^(n1) ... 1] 的行向量,然后求和,將二進(jìn)制轉(zhuǎn)化為十進(jìn)制 function pop2=decodebinary(pop) [px,py]=size(pop)。 %求 pop 行和例數(shù) for i=1:py pop1(:,i)=2.^(py1).*pop(:,i)。 %pop 的每一個(gè)行向量(二進(jìn)制表示), for 循環(huán)語句將每個(gè)二進(jìn)制行向量按位置 py=py1。 % 乘上權(quán)重 end pop2=sum(pop1,2)。 %求 pop1 的每行之和,即得到每行二進(jìn)制表示變?yōu)槭M(jìn)制表示值,實(shí)現(xiàn)二進(jìn)制到十進(jìn)制的轉(zhuǎn)變 % 將二進(jìn)制編碼轉(zhuǎn)化為十進(jìn)制數(shù) (2) %函數(shù)的功能是將染色體 (或二進(jìn)制編碼 )轉(zhuǎn)換為十進(jìn)制,參數(shù) spoint 表示待解碼的二進(jìn)制串的起始位置 蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 30 % (對于多個(gè)變量而言,如有兩個(gè)變量,采用 20 為表示,每個(gè)變量 10 為,則第 一個(gè)變量從1 開始,另一個(gè)變量從 11 開始。本例為 1), % 參數(shù) 1ength 表示所截取的長度(本例為 8)。 %遺傳算法子程序 %將二進(jìn)制編碼轉(zhuǎn)換成十進(jìn)制 function pop2=decodechrom(pop,spoint,length) pop1=pop(:,spoint:spoint+length1)。 %將從第“ spoint”位開始到第“ spoint+length1”位(這段碼位表示一個(gè)參數(shù))取出 pop2=decodebinary(pop1)。 %利用上面函數(shù)“ decodebinary(pop)”將用二進(jìn)制表示的個(gè)體基因變?yōu)槭M(jìn)制數(shù) % 計(jì)算目標(biāo)函數(shù)值 %函數(shù)的功能是實(shí)現(xiàn)目標(biāo)函數(shù)的計(jì)算,其公式采用本文示例仿真,可根據(jù)不同優(yōu)化問題予以修改。 %遺傳算法子程序 %實(shí)現(xiàn)目標(biāo)函數(shù)的計(jì)算 function [objvalue]=calobjvalue(pop) temp1=decodechrom(pop,1,8)。%將 pop 每行轉(zhuǎn)化成十進(jìn)制數(shù) x=temp1*10/1023。%將二值域 中的數(shù)轉(zhuǎn)化為變量域 的數(shù) objvalue=11*sin(6*x)+7*cos(5*x)。%計(jì)算目標(biāo)函 數(shù)值 % 計(jì)算個(gè)體的適應(yīng)值 %遺傳算法子程序 %計(jì)算個(gè)體的適應(yīng)值 function fitvalue=calfitvalue(objvalue) global Cmin。 Cmin=0。 [px,py]=size(objvalue)。 for i=1:px if objvalue(i)+Cmin0 temp=Cmin+objvalue(i)。 蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 31 else temp=。 end fitvalue(i)=temp。 end fitvalue=fitvalue39。 % 選擇復(fù)制 % 選擇 或復(fù)制操作是決定哪些個(gè)體可以進(jìn)入下一代。程序中采用賭輪盤選擇法選擇,這種方法較易實(shí)現(xiàn)。 % 根據(jù)方程 pi=fi/∑ fi=fi/fsum ,選擇步驟: % 1)在第 t 代,由( 1)式計(jì)算 fsum 和 pi % 2)產(chǎn)生 {0,1} 的隨機(jī)數(shù) rand( .),求 s=rand( .)*fsum % 3)求 ∑ fi≥ s 中最小的 k ,則第 k 個(gè)個(gè)體被選中 % 4)進(jìn)行 N 次 2)、 3)操作,得到 N 個(gè)個(gè)體,成為第 t=t+1 代種群 %遺傳算法子程序 %選擇復(fù)制 function [newpop]=selection(pop,fitvalue) totalfit=sum(fitvalue)。%求適應(yīng)值之和 fitvalue=fitvalue/totalfit。%單個(gè)個(gè)體被選擇的概率 fitvalue=cumsum(fitvalue)。 %如 fitvalue=[1 2 3 4],則 cumsum(fitvalue)=[1 3 6 10] [px,py]=size(pop)。 ms=sort(rand(px,1))。 %從小到大排列,將 rand(px,1)產(chǎn)生的一列隨機(jī)數(shù)變成輪盤賭形式的表示方法 ,由小到大排列 fitin=1。 %fivalue 是一向量, fitin 代表向量中元素位,即 fitvalue(fitin)代表第 fitin 個(gè)個(gè)體的單個(gè)個(gè)體被選擇的概率 newin=1。 %同理 while newin=px if(ms(newin))fitvalue(fitin) %ms(newin)表示的是 ms 列向量中第 newin位數(shù)值,同理 fitvalue(fitin) newpop(newin,:)=pop(fitin,:)。 %賦值 ,即將舊種群中 的第 fitin 個(gè)個(gè)體保留到下一代蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 32 (newpop) newin=newin+1。 else fitin=fitin+1。 end end % 交叉 % 交叉 (crossover),群體中的每個(gè)個(gè)體之間都以一定的概率 pc 交叉,即兩個(gè)個(gè)體從各自字符串的某一位置 % (一般是隨機(jī)確定)開始互相交換,這類似生物進(jìn)化過程中的基因分裂與重組。例如,假設(shè) 2 個(gè)父代個(gè)體 x1, x2 為: % x1=0100110 % x2=1010001 % 從每個(gè)個(gè)體的第 3 位開始交叉,交又后得到 2 個(gè)新的子代個(gè)體 y1, y2 分別為: % y1= 0100001 % y2= 1010110 % 這樣 2 個(gè)子代個(gè)體就分別具有了 2 個(gè)父代個(gè)體的某些特征。利用交又我們有可能由父代個(gè)體在子代組合成具有更高適合度的個(gè)體。 % 事實(shí)上交又是遺傳算法區(qū)別于其它傳統(tǒng)優(yōu)化方法的主要特點(diǎn)之一。 %遺傳算法子程序 %交叉 function [newpop]=crossover(pop,pc) [px,py]=size(pop)。 newpop=ones(size(pop))。 for i=1:2:px1 if(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) pop(i,cpoint+1:py)]。 else 蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 33 newpop(i,:)=pop(i,:)。 newpop(i+1,:)=pop(i+1,:)。 end end % 變異 % 變異 (mutation),基因的突變普遍存在于生物的進(jìn)化過程中。變異是指父代中的每個(gè)個(gè)體的每一位都以概率 pm 翻轉(zhuǎn),即由“ 1”變?yōu)椤?0”, % 或由“ 0”變?yōu)?“ 1”。遺傳算法的變異特性可以使求解過程隨機(jī)地搜索到解可能存在的整個(gè)空間,因此可以在一定程度上求得全局最優(yōu)解。 %遺傳算法子程序 %變異 function [newpop]=mutation(pop,pm) [px,py]=size(pop)。 newpop=ones(size(pop))。 for i=1:px if(randpm) %產(chǎn)生一隨機(jī)數(shù)與變異概率比較 mpoint=round(rand*py)。 if mpoint=0 mpoint=1。 end newpop(i,:)=pop(i,:)。 if any(newpop(i,mpoint))==0 newpop(i,mpoint)=1。 else newpop(i,mpoint)=0。 end else newpop(i,:)=pop(i,:)。 end end 蘇州大學(xué) 自學(xué) 考試 畢業(yè)論文(設(shè)計(jì)) 34 % 求出群體中最大 的 適應(yīng)值及其個(gè)體 %遺傳算法子程序 %求出群體中適應(yīng)值最大的值 function [bestindividual,bestfit]=best(pop,fitvalue) [px,py]=size(pop)。 bestindividual=pop(1,:)。 bestfit=fitvalue(1)。 for i=2:px if fitvalue(i)bestfit bestindividual=pop(i,:)。 bestfit=fitvalue(i)。 end end % 求出最佳個(gè)體的對應(yīng) X 值是多少 %遺傳算法子程序 %求出最佳個(gè)體的對應(yīng) X 值 function t=decodebinary2(pop) [px,py]=size(pop)。 for j=1:py。 pop1(:,j)=2.^(py1).*pop(:,j)。 py=py1。 end temp2=sum(pop1,2)。 t=temp2*2*pi/1023。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1