用matlab编写的人工
免疫算法
clc
clear all
close all
tic;
global n ww
m=100;% m--抗体规模
n=22;% n--每个抗体二进制字符串长度
ww=1;%参数个数
mn=100;%从抗体集合里选择n个具有较高亲和度的最佳个体进行克隆操作
xmin=[0 0];
xmax=[9 9];
tnum=100;% tnum--迭代代数
pMutate=0.1;% pMutate--高频变异概率
cfactor=0.2;% cfactor--克隆(复制)因子
A=InitializeFun(m,n); %生成抗体集合A,抗体数目为m,每个抗体基因长度为n
F='X+10*sin(X.*5)+7*cos(X.*4)'; %目标函数
%F='sin(10*X)'
FM=[]; %存放各代最优值的集合
FMN=[]; %存放各代平均值的集合
t=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
while t
2021-05-19 11:11:26
2KB
人工免疫
1