91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

親測的人工免疫尋優最大值算法,,代碼可以正確運行。

資源截圖

代碼片段和文件信息

%?使用免疫算法計算這個函數h?=?@(x)?x?+?10.*sin(5.*x)?+?7.*cos(4.*x)?在[-1010]上的最大值
%?它真正的最大值在x?=?7.8568附近
%?編碼采用二進制編碼法,需要二進制生成函數和二進制解碼函數的支持
%?采用隨機選取三個位發生反轉來實現變異

bounds?=?[-1010];?%求解區間
precision?=?0.0001;?%求解精度
N?=?ceil(log2((bounds(2)-bounds(1))/precision));?%根據區間和精度求出編碼長度N
NP?=?200;?%種群數目
G?=?20;?%最大代數
Ncl?=?10;?%單次克隆個體數
Fn?=?0.5;?%種群刷新比例
f?=?@(x)?bounds(1)+x*(bounds(2)-bounds(1))/(2^N);?%解碼后十進制書到求解區間的映射函數
h?=?@(x)?x?+?10.*sin(5.*x)?+?7.*cos(4.*x);?%直接把待求函數作為親和度函數

%初始化抗體種群
pop?=?round(rand(NPN));?%每行是一個抗體,共NP個

%開始迭代
gen?=?0;
while?1
????%檢查是否達到最大代數
????gen?=?gen?+?1;
????if?gen?>?G
????????break
????end
????
????%計算種群親和度
????affinity?=?zeros(NP1);
????for?i?=?1:NP
????????affinity(i)?=?h(f(decode2to10(pop(i:))));
????end
????
????%根據親和度大小排序
????[~index]?=?sort(affinity‘descend‘);
????sortpop?=?pop(index:);
????
????%活化:對前NP*(1-Fn)個個體進行免疫操作
????for?i?=?1:round(NP*(1-Fn))
????????%克隆:
????????ca?=?repmat(sortpop(i:)?Ncl?1);
?????

評論

共有 條評論