生产计划与控制实践大作业2

生产计划与控制实践大作业2

ID:22210876

大小:286.13 KB

页数:10页

时间:2018-10-27

生产计划与控制实践大作业2_第1页
生产计划与控制实践大作业2_第2页
生产计划与控制实践大作业2_第3页
生产计划与控制实践大作业2_第4页
生产计划与控制实践大作业2_第5页
资源描述:

《生产计划与控制实践大作业2》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、生产计划与控制实践大作业遗传算法求解车间作业调度问题课程名称:生产计划与控制实践报告题目:遗传算法求解车间作业调度问题指导老师:局杰组员姓名:王佳昀、姚泽坤、方正所在组号:第十二组二0—四年12月22曰1、问题车间作业调度问题(1)PPT中例子(如下图所示)的求解SimpleExampleofJSP□Forshowingafeasibleschedule,therearetwoGanttcharts:machineGanttchartandjobGanttchartExampleofa3-Job3-

2、machineProblemProcessinqTimeMachineSequenceOperations她Operations1?5JobJ'332J'▲MM2MJ、153乂7323J,MMM编写MATLAB遗传算法GAJSP函数M文件代码(源代码较长)见附录之后在命令窗口调用GAJSP函数求解的文件主程序编写如下:%%文件主体部分clc,clear%清除命令窗口,清除工作空间NIND=40;%种群所包含个体数目MAXGEN=50;%最大遗传代数GGAP=0.9;%代沟P_Cross=0.8;%交

3、叉率P_Mutation=0.6;%变异率Jm={123;132;213};%工序机器矩阵T={332;153;323};%加工时间矩阵MakeSpan=GA_JSP(NIND/MAXGEN/GGAP/P_Cross/P_MutationzJm/T);fprintfC最小加工流程时间为:’)disp(MakeSpan)程序运行结果如下:CommandWindow最小加工流程时间为:11最小加工流程时间为11,比课件图中给出的两种方案用时少,此方案更优FileEditViewInsertTools

4、DesktopWindowHelpDG妥S暴0®^45I□回B0I回工件加工的甘特图lure2022up2-021-O302310120蹤忘H-g024681012加工时间(时间单位)L图中201表示第二个工件的第一道工序,其余类推(2)公邮中TXT文本FisherandThompson6x6instance的求解采用与(1)相同的方法,输入工序机器矩阵」m和加工时间矩阵T即可求解其中:Jm={312465;235614;346125;213456;325614;246153};%工序机器矩阵T={

5、136736;851010104;548917;555389;935431;3391041};%加工时间矩阵运行结果截CommandWindow?X最小加工流程时间为:60»工件加工的芒特图6603

6、303

7、406204j;丨

8、q405203306

9、60SS03

10、j■106104206301I4031202501401201103I40210102030460410;20530405060加工时间(时间里位)7080附录1MATLAB遗传算法GAJSP函数M文件的部分主要代码(由于代码较长,此处仅保

11、留了主函数代码):functionMakeSpan=GAJSP(NIND,MAXGENzGGAP,P_Cross,P_Mutation,Jm,T)%%程序功能说明%基于遗传算法的作业车叫调度问题的求解程序(GAJSP)%====输入变量====%NIND:种群所包含个体的数R%MAXGEN:最大遗传代数%GGAP:代沟%P_Cross:交叉概率%P_Mutation:变异概率%Jm:各工序的可选机器集合,为mXn的元胞矩阵,m为机器数(工序),n为工件数%T:加工时间矩阵%====输出变量====%

12、MakeSpan:最小的最人完丁时I'uJ%%主函数程序部分gen=0;%迭代汁数器JmNumber=Max_Cell(Jm);%调用Max_Cell了•函数求机器的数S[PNumber,MNumber]=size(Jm);%PNumber力丁•件个数,MNumber为T序个数trace=zeros(2,MAXGEN);%寻优结果的初始值,一行存放各代的最优解,一行存放各代解的均值TotalOP_Number=PNumber*MNumber;%丨:序总个数%(1)初始化Number=zeros(l,

13、PNumber);%Number存放母个工件的工序数,PNumber工件个数fori=l:PNumberNumber(i)=MNumber;%MNumber工序个数end%染色体个体编码:代码分为两层,第一层表示工序,第二层表示机器Chrom=zeros(NIND,2*TotalOP_Number);%染色体的长度为2*TotalOP_Numberforj=1:NIND%逐代寻优WPNumberTemp=Number;fori=1:Tota10P_Number%随机产

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

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

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