基于多层编码遗传算法的车间调度算法

基于多层编码遗传算法的车间调度算法

ID:34008383

大小:50.91 KB

页数:3页

时间:2019-03-03

基于多层编码遗传算法的车间调度算法_第1页
基于多层编码遗传算法的车间调度算法_第2页
基于多层编码遗传算法的车间调度算法_第3页
资源描述:

《基于多层编码遗传算法的车间调度算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、基于多层编码遗传算法的车间调度算法1案例背景遗传算法具有较强的问题求解能力,能够解决非线性优化问题。对于遗传算法中的染色体表示问题中的一个潜在最优解,对于简单的问题来说,染色体可以方便的表达问题的潜在解,然而,对于较为复杂的优化问题,一个染色体难以准确表达问题的解。多层编码遗传算法,把个体编码分为多层,每层编码均表示不同的含义,多层编码共同完整表达了问题的解,从而用一个染色体准确表达出了复杂问题的解。多层编码遗传算法扩展了遗传算法的使用领域,使得遗传算法可以方便用于复杂问题的求解。2、案例目录第十一章  基于多层编码遗传算法的车间调度算法... 111.1 理论基础... 111.2 案例

2、背景... 111.2.1 问题描述... 111.2.2 模型建立... 211.2.3 算法实现... 311.3MATLAB程序实现... 411.3.1 主函数... 411.3.2 适应度值计算... 511.3.3 交叉函数... 711.3.4 变异函数... 811.3.5 仿真结果... 811.4 案例扩展... 1011.4.1 模糊目标... 1011.4.2 代码分析... 1111.4.3 仿真结果... 1211.5 参考文献... 123、主程序:%%基本参数NIND=40;%个体数目MAXGEN=50;%最大遗传代数GGAP=0.9;%代沟XOVR=0.8

3、;%交叉率MUTR=0.6;%变异率gen=0;%代计数器%PNumber工件个数MNumber工序个数[PNumberMNumber]=size(Jm);trace=zeros(2,MAXGEN);%寻优结果的初始值WNumber=PNumber*MNumber;%工序总个数%%初始化Number=zeros(1,PNumber);%PNumber工件个数fori=1:PNumberNumber(i)=MNumber;%MNumber工序个数end%代码2层,第一层工序,第二层机器Chrom=zeros(NIND,2*WNumber);forj=1:NINDWPNumberTemp=Nu

4、mber;fori=1:WNumber%随机产成工序val=unidrnd(PNumber);whileWPNumberTemp(val)==0val=unidrnd(PNumber);end%第一层代码表示工序Chrom(j,i)=val;WPNumberTemp(val)=WPNumberTemp(val)-1;%第2层代码表示机器Temp=Jm{val,MNumber-WPNumberTemp(val)};SizeTemp=length(Temp);%随机产成工序机器Chrom(j,i+WNumber)=unidrnd(SizeTemp);endend%计算目标函数值[PValObj

5、VPS]=cal(Chrom,JmNumber,T,Jm);%%循环寻找whilegen

6、l);%代计数器增加gen=gen+1;%保存最优值trace(1,gen)=min(ObjV);trace(2,gen)=mean(ObjV);%记录最佳值ifgen==1Val1=PVal;Val2=P;MinVal=min(ObjV);%最小时间STemp=S;end%记录最小的工序ifMinVal>trace(1,gen)Val1=PVal;Val2=P;MinVal=trace(1,gen);STemp=S;endend

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。