2025年遗传算法——君主方案代码实现

遗传算法——君主方案代码实现采用君主方案进行选择交叉操作 君主方案是父方染色体全部是本代最占优的一条 母方是按一定顺序 升序 排列的一群染色体 Emper Sortf 1 君主染色体 本代最占优的一条 NoPoint round D Pc 每次交叉点的个数 PoPoint

大家好,我是讯享网,很高兴认识大家。
​ %% 采用君主方案进行选择交叉操作 % 君主方案是父方染色体全部是本代最占优的一条,母方是按一定顺序(升序)排列的一群染色体。 Emper = Sortf(:,1); % 君主染色体---本代最占优的一条 NoPoint = round(D*Pc); % 每次交叉点的个数 PoPoint = randi([1 D],NoPoint, NP/2); % 交叉基因的位置 nf = Sortf; for i=1:NP/2 nf(:,2*i-1) = Emper; nf(:,2*i) = Sortf(:,2*i); [Emper,Sortf(:,2*i)] for k = 1:NoPoint nf(PoPoint(k,i),2*i-1) = nf(PoPoint(k,i),2*i); nf(PoPoint(k,i),2*i) = Emper(PoPoint(k,i)); end end ​

讯享网

       ​​​​​​​                

例如,当i=1

(1)PoPoint(1,1)=4, Emper与Sortf(:,2*1)的第4个基因进行交换

交换前: 图一:PoPoint    图二:Emper   图三:Sortf(:,2)

 
讯享网                 

交换后,图为:nf(:,1:2)

 

讯享网 %% 变异操作 for m=1:NP for n =1:D r = rand(1,1); [m,n,r] nf1= nf; if r<Pm % Pm=0.1; 如果r<免疫概率 nf(n,m) = rand(1,1)*(Xs - Xx)+Xx; end end end 

[m,n,r]        r=0.0414 <Pm=0.1

 ​​​​​​​

 

 

 

 

 

   ​​​​​​​

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

小讯
上一篇 2025-02-17 13:16
下一篇 2025-03-21 12:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/68248.html