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

📄 main.m

📁 采用遗传算法对于加工问题的排序,使其最快.
💻 M
字号:
clear all
%machine_total=input('machine_total:');
%job_total=input('job_total:');
%pop_size=input('pop_size:');
%max_generation=input('max_generation:');
%pc=input('pc:');
%pm=input('pm:');
%T=input('T:');
machine_total=4;
job_total=5;
pop_size=10;
max_generation=100;
pc=0.8;
pm=0.4;
T=[31 19 23 13 33; 41 55 42 22 5; 25 3 27 14 57; 30 34 6 13 19 ];
for k=1:pop_size
    seq_init(k,:)=randperm(job_total);
end
for i=1:max_generation
    [st,c]=matrix(machine_total,job_total,T,pop_size,seq_init);
    [C,time]=fitness(c);
    [mintime(i,:),x]=min(time(:));
    y(i,:)=seq_init(x,:);
    st_better(:,:,i)=st(:,:,x);
    c_better(:,:,i)=c(:,:,x);
    seq_copy=choose(C,pop_size,seq_init);
	seq_crossover=crossover(pc,seq_copy,job_total,pop_size);
    seq_mutation=mutation(pm,seq_crossover,job_total,pop_size);
    if i>1
       if mintime(i,:)==mintime(i-1,:)
          for k=1:pop_size-1
              seq_init(k,:)=randperm(job_total);    
          end
          seq_init(pop_size,:)=y(i,:);
       else
          seq_init=seq_mutation;
       end
    else
       seq_init=seq_mutation;
    end
end
[total_mintime,generation]=min(mintime(:))
best=y(generation,:)
st_best=st_better(:,:,generation)
c_best=c_better(:,:,generation)
picturegantchart(machine_total,job_total,total_mintime,best,st_best,c_best)
picture(mintime,max_generation,generation)

⌨️ 快捷键说明

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