资源简介
NIND=40; %个体数目
MAXGEN=50; %最大遗传代数
GGAP=0.9; %代沟
XOVR=0.8; %交叉率
MUTR=0.6; %变异率
gen=0; %代计数器
%PNumber 工件个数 MNumber 工序个数
[PNumber MNumber]=size(Jm);
trace=zeros(2, MAXGEN); %寻优结果的初始值
WNumber=PNumber*MNumber; %工序总个数
代码片段和文件信息
function ChromNew=aberranceJm(ChromMUTRJmT)
%初始化
[NINDWNumber]=size(Chrom);
WNumber=WNumber/2;
ChromNew=Chrom;
[PNumber MNumber]=size(Jm);
Number=zeros(1PNumber);
for i=1:PNumber
Number(i)=1;
end
for i=1:NIND
%取一个个体
S=Chrom(i:);
%是否变异
if MUTR>rand;
%工件交换
Pos1=unidrnd(WNumber);
Pos2=unidrnd(WNumber);
while Pos2==Pos1
Pos2=unidrnd(WNumber);
end
temp=S(Pos1);
S(Pos1)=S(Pos2);
S(Pos2)=temp;
%加工机器调整
temp=S(Pos1+WNumber);
S(Pos1+WNumber)=S(Pos2+WNumber);
S(Pos2+WNumber)=temp;
%判断个体加工工序是否符合要求
WPNumberTemp=Number; %代表工序数
for j=1:WNumber
JMTemp=Jm{S(j) WPNumberTemp(S(j))};
SizeTemp=length(JMTemp);
% 不符合调整
if SizeTemp %选择机器( 加工时间少的选择几率大)
S(j+WNumber)=selectJm(S(j+WNumber)T{S(j)WPNumberTemp(S(j))});
end
WPNumberTemp(S(j))=WPNumberTemp(S(j))+1;
end
end
%数据放入新群
ChromNew(i:)=S;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1372 2015-01-08 15:41 遗传1\aberranceJm.m
文件 2236 2015-01-08 15:41 遗传1\across.m
文件 1473 2015-01-06 21:53 遗传1\cal.m
文件 1276 2015-01-03 14:20 遗传1\caltime.m
文件 178 2015-01-03 14:20 遗传1\Find.m
文件 2970 2015-01-08 14:56 遗传1\main.m
文件 562 2015-01-08 14:34 遗传1\plotRec.m
文件 4708 2015-01-03 14:20 遗传1\ranking.M
文件 5574 2015-01-03 14:20 遗传1\REINS.M
文件 1090 2015-01-03 14:20 遗传1\RWS.M
文件 527 2015-01-03 14:20 遗传1\scheduleData.mat
文件 2401 2015-01-03 14:20 遗传1\SELECT.M
文件 398 2015-01-03 14:20 遗传1\selectJm.m
文件 2977 2015-01-08 14:40 遗传1\main.asv
文件 596 2015-01-06 21:50 遗传1\calP.asv
文件 1372 2015-01-08 15:40 遗传1\aberranceJm.asv
文件 2236 2015-01-08 15:40 遗传1\across.asv
文件 596 2015-01-06 21:53 遗传1\calp.m
目录 0 2015-01-03 14:22 遗传1
----------- --------- ---------- ----- ----
32542 19
评论
共有 条评论