calp.m

来自「介绍遗传算得原理及应用」· M 代码 · 共 44 行

M
44
字号
function P=calp(S,PNumber,WPNumber)

% S=[1 3 4 5 6 7  8 9 2];
% PNumber=3; %零件 个数 3
% WPNumber=[3 3 3]; %工序个数

%初始化
temp=zeros(1,PNumber);
val=max(WPNumber);
PS=zeros(PNumber,val);

%转化成 二维 数组
val=0;
for i=1: PNumber
    for j=1: WPNumber(1,i)       
       PS(i,j)=S(1,val+j);
    end   
    val=val+WPNumber(1,i);
end

%工序个数
WNumber=0;
for i=1:PNumber
 WNumber=WNumber+WPNumber(1,i); 
end

for i=1: WNumber  
    
%计算工序    
[val,pos]=max(PS);

P(1,i)=pos(1,1)*10+temp(1,pos(1,1));
temp(1,pos(1,1))=temp(1,pos(1,1))+1;

%移动PS的位置
 for j=1: WPNumber(1,pos(1,1))-1    
     PS(pos(1,1),j)=PS(pos(1,1),j+1);
 end
    PS(pos(1,1),WPNumber(1,pos(1,1)))=0;    
     
end


⌨️ 快捷键说明

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