⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crossover.m

📁 多目标遗传算法应用于电火花机床参数优化
💻 M
字号:
function newArr=Crossover(betterArr)
nRow=size(betterArr,1);%Get the scale of the betterArr
global Pc
%act_Pc=rand(nRow,1);
%c=rand(nRow,1);
for i=1:nRow
%----------------------------
%Generate two different indexes
index1=ceil(nRow*rand);
index2=ceil(nRow*rand);
while index1==index2
    index1=ceil(nRow*rand);
    index2=ceil(nRow*rand);    
end
%---------------------------
act_Pc=rand;
if act_Pc<Pc
    c=rand;
   %[index1    index2    Pc   act_Pc Pc>act_Pc i]
    for j=1:12
    newArr(i,j)=betterArr(index1,j)*c+betterArr(index2,j)*(1-c);
    end
    newArr(i,1)=0.1*round(newArr(i,1)/0.1);
    newArr(i,7)=0.1*round(newArr(i,7)/0.1);    
    newArr(i,2)=round(newArr(i,2));
    newArr(i,3)=round(newArr(i,3));
    newArr(i,8)=round(newArr(i,8));
    newArr(i,9)=round(newArr(i,9));
    newArr(i,4)=round(newArr(i,4));
    newArr(i,5)=round(newArr(i,5));
    newArr(i,10)=round(newArr(i,10));
    newArr(i,11)=round(newArr(i,11));
    newArr(i,6)=round(newArr(i,6));
    newArr(i,12)=round(newArr(i,12));
else
    %[index1    index2    Pc   act_Pc Pc>act_Pc i]
    minIndex=min(index1,index2);
    newArr(i,:)=betterArr(minIndex,:);
end
end








⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -