遗传算法交叉操作Pc = 0.90;for i = 1 :2 :Size-1temp = rand;if Pc > tempalfa = rand;TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);endendTempE(Size,:) = BestS;E = TempE;谁能告诉我这是什么交
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/13 04:07:10
遗传算法交叉操作Pc = 0.90;for i = 1 :2 :Size-1temp = rand;if Pc > tempalfa = rand;TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);endendTempE(Size,:) = BestS;E = TempE;谁能告诉我这是什么交
遗传算法交叉操作
Pc = 0.90;
for i = 1 :2 :Size-1
temp = rand;
if Pc > temp
alfa = rand;
TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);
TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);
end
end
TempE(Size,:) = BestS;
E = TempE;
谁能告诉我这是什么交叉方法.
遗传算法交叉操作Pc = 0.90;for i = 1 :2 :Size-1temp = rand;if Pc > tempalfa = rand;TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);endendTempE(Size,:) = BestS;E = TempE;谁能告诉我这是什么交
for i = 1 :2 :Size-1%个体两两交叉,不重复
temp = rand;%随机交叉概率值
if Pc > temp%%若随机交叉概率值满足交叉概率,则进行交叉
alfa = rand;%交叉算子
TempE(i,:) = alfa*E(i+1,:) + (1-alfa)*E(i,:);%无条件交叉
TempE(i+1,:) = alfa*E(i,:) + (1-alfa)*E(i+1,:);%无条件交叉
end
end
从程序可以看出,当两个个体满足交叉概率后每个基因即进行无条件交叉,应属于多点交叉的范畴.