印刷厂任务的最优调度问题
印刷厂任务的最优调度问题
某印刷厂有6项加工任务,各项任务对印刷车间和装订车间所需时间(单位为:天)如下表所示:任务车间印刷车间装订车间138210123594665956112注:1.不同任务不能同时共享同一车间;2.一旦某项任务进入某一车间,该任务就必须连续被执行(不允许被其它任务打断);3.每一项任务必须先经过印刷车间,等该项任务在印刷车间完成全部印刷之后才可以进入装订车间(印刷和装订之间可以间隔若干天,也可以连续依次进行)。
问题1.试设计一个加工方案使得完成这6项任务总共需要的天数尽量少。
问题2.现接到通知,除了印刷和装订之外,每一项加工任务均需要在装订车间完成该任务的全部装订之后进入打包车间打包(装订和打包之间可以间隔若干天,也可以连续依次进行)。已知这6项任务对打包车间所需时间依次为2天、15天、5天、3天、10天和1天。在考虑打包操作的情况下,试设计一个加工方案使得完成这6项任务总共需要的天数尽量少。
问题3.试用你们在求解问题2中所使用的方法、算法或模型求解下表中20个任务的情况。任务1车间23459567891011121314151617181920867111615169163222651310111515179813568532印刷车间31056装订车间81296115232632261打包车间21553101151010问题4.对于问题3中的20个任务,请设计一个加工方案使得尽量多的任务在120天内完成加工(每项任务均包括印刷、装订和打包)。
扩展阅读:印刷厂任务的最优调度问题论文
数模第四次培训论文
论文题目:印刷厂任务的最优调度问题
201*年7月19日
印刷厂任务的最优调度问题
摘要
本文主要研究印刷厂任务排序问题,以按照实际条件合理调度为目标,解决编制流水作业计划。全文中主要采用CDS算法结合Johnson算法得到给定任务的最优加工顺序,从而用时间统计法得出最少的加工天数和具体的加工方案,整个过程用Matlab软件编程实现,其中Johnson程序作为核心程序被多次调用。
对于问题一:本题建立Conway模型,即n/m/A/B模型,据题意知n为6,m为3,A为F代表流水作业,B为Fmax。首先应用CDS算法将三个车间系统地组成两组,产生2个两台机器问题的集合,然后利用Johnson的两个车间算法得到2个加工顺序,最后通过比较流程时间,选择小值对应加工顺序作为最优加工顺序,从而采用时间统计法得到最少的加工天数和具体的加工方案。代入Matlab软件编程得到所有结果:min(Fmin)=57,,最优任务加工顺序为3,5,2,4,1,6或3,5,2,1,4,6。
对于问题二:采用与问题一类似的Conway模型:20/3/F/Fmax模型。采用CDS算法结合Johnson算法得到最优加工顺序,从而应用时间统计法得到最少的加工天数和具体的加工方案。应用Matlab软件编程得到结果:min(Fmin)=157,最优任务加工顺序为:8,14,3,5,19,2,17,15,12,11,16,18,10,1,4,7,20,13,6,9。
对于问题三:本题建立循环遍历模型。采用循环法加随机取矩阵法构造任务序号和任务个数不一样的任务矩阵,然后采用上述的CDS算法结合Johnson算法得到对应不一样的任务安排方案,从每次得到的排序方案中用时间统计法得到对应的加工天数,将所得结果比较,取加工天数小于(或等于)120的天数对应的最多任务的方案。应用Matlab编程得到结果:min(Fmin)=117,最多任务个数为17,最优任务加工顺序为8,12,3,5,16,14,2,13,15,10,1,4,7,17,11,6,9。
对于问题四:采用调试法解决从第50天到第60天这个长度为11天的时间里每个车间放假2天,使得完成20项任务总共需要的天数尽量少并使对工程的影响尽量小的问题。根据问题二得到具体的加工方案,可知从第13号任务起出现在第50天到第60天,则建立循环调用第13号任务从头开始插入,依次循环,直至出现三个车间时间在第50天到第60天出现重叠的情况,放假期即为这些重叠天数,使总共需要的天数最少。应用Matlab编程得到结果:调整后的任务加工顺序为:8,14,3,5,19,10,2,17,15,12,11,16,18,1,4,7,20,13,6,9。印刷车间放假时间为第54,55天,装订车间放假时间为第55,56天,打包车间放假时间为第53,54天,完成任务时间min(Fmin)=159。
对于问题五:采用的方法与问题四相同,结果为印刷车间放假时间为第54,55,56天,装订车间放假时间为第55,56,57天,打包车间放假时间为第53,54,55天,完成任务时间min(Fmin)=160。
关键词:Conway模型;CDS算法;Johnson算法;时间统计法;Matlab软件一、问题重述
某印刷厂共有3个车间,分别为印刷车间、装订车间和打包车间。每一项任务必须依次经过印刷车间、装订车间和打包车间。由于技术原因,每一项任务必须在印刷车间完成该任务的全部印刷之后才可以进入装订车间(印刷和装订之间可以间隔若干天,也可以连续依次进行);每一项任务必须在装订车间完成该任务的全部装订之后才可以进入打包车间(装订和打包之间可以间隔若干天,也可以连续依次进行);不同的任务不能同时共享同一车间;一旦某项任务进入某一车间,该任务就必须连续被执行,不允许被其它任务或事件打断。
该印刷厂各车间目前均处于空闲状态,没有任务需要加工。印刷车间将来开工的那天记为第1天。
问题1.现接到6项加工任务,各项任务对各车间所需的时间(单位为:天)如表1所示。试设计一个加工方案(一个完整的加工方案应该包括每一项任务在各个车间中的开始加工时间和完成时间)使得完成这6项任务总共需要的天数尽量少。任务车间印刷车间装订车间打包车间13822101215359546635951061121表一第1至第6任务对应车间时间问题2.问题1中的6项任务还没有下达到车间,现又接到14项加工任务,各项任务对各车间所需的时间(单位为:天)如表2所示。试设计一个加工方案使得完成这20项任务总共需要的天数尽量少。任务车间印刷车间装订车间打包车间7562823693211011121314151617181920867111615169163222651310111561591358178151010532表二第7至第20任务对应车间时间问题3.对于问题2中所考虑的20个任务,请设计一个加工方案使得尽量多的任务在120天内(含第120天)完成加工。
问题4.为了工人的健康,印刷厂工会讨论决定从第50天到第60天这个长度为11天的时间里每个车间放假2天。为了尽量把放假对印刷厂的生产进度造成的影响降到最低,工会决定把具体的放假时间交给印刷厂调度员来决定,并要求每个车间放假的这2天必须是连续的2天,每个车间的放假起止时间可以不一样。请你们帮助印刷厂调度员来制定一个包含每个车间放假方案的任务加工方案使得完成问题2中的这20项任务总共需要的天数尽量少。
问题5.在问题4中,如果每个车间的放假天数不是2天而是连续的3天,请在问题4中其余条件和要求不变的情况下重新制定一个包含每个车间放假方案的任务加工方案使得完成问题2中的这20项任务总共需要的天数尽量少。
二、问题分析
本题所涉及的为流水作业排序问题,其基本特征是每个任务的加工路线为一致的,且不同的任务不能同时共享同一车间。加工路线一致,是指任务的车间流向一致;不能共享同一车间,即下一个任务在上一个任务完成该车间加工后方可进入。
下面将结合问题提及主要算法进行分析。2.1Conway模型与编制流水作业计划
Conway模型,即n/m/A/B模型贯穿于本文,目标函数是使加工周期时间最短:从第一个工件在第一个车间开始加工时算起,到最后一个任务在最后一个车间上完成加工时为止所经过的时间。编制流水作业计划:包括确定工件的加工顺序,而且还包括确定机器加工每个工件的开始时间和完成时间。在问题一与问题二中,本文可采用CDS算法结合Johnson算法、时间统计法求解,用Matlab软件编程得出近似解。其中编写的Johnson程序为核心程序,在问题三、四、五中需调用此程序。
2.2循环遍历模型
在问题三、问题四与问题五中,首先将20个任务对应3个车间的时间模拟成3行20列的矩阵,建立的循环遍历模型主要思想为:采用循环法加随机取矩阵法构造任务序号和任务个数不一样的任务矩阵。然后调用上述Johnson程序,代入新的任务矩阵,得出所有新的排序方案,再从中取出符合题目的结果。
三、模型假设
1、假设每一项任务依次经过印刷车间、装订车间和打包车间顺序进行;
2、假设不同的任务不能同时共享同一车间;
3、假设对于一个任务不同车间之间可以间隔若干天开始,也可以连续依次进行;
4、假设每个车间任务一旦开始就必须连续被执行,不允许被其它任务或事件打断;
5、假设每个人任务在规定的时间均能按时完成;6、车间生产时间与任务排序无关;
6、假设每个任务从第i天早上开始第j天晚上结束。
四、符号说明
符号tij含义说明第i任务对应第j车间所需时间j1,2,3分组后得到的新集合k1,2MkFmax每种顺序下最大流程时间最优加工顺序后排在第i位的加工任务任务si在车间Mk里的完工时间任务si在Mk里的加工时间sicsiktsik五、模型的建立与求解
问题一:
5.1.1建模思路
为使完成6项任务总共需要的天数尽量少,首先需找到使得总加工天数最少的最优加工顺序,然后按照最佳加工顺序求解最少的加工天数和具体的加工方案。本文将采用CDS算法结合Johnson算法、时间统计法以最少总时间为目标求解,首先应用CDS算法将三个车间系统地组成两组,产生2个两台机器问题的集合,然后利用Johnson的两个车间算法得到2个加工顺序,最后通过比较流程时间,选择小值对应加工顺序作为最优加工顺序,从而得到最少的加工天数和具体的加工方案。应用Matlab软件编程得到所有结果。
5.1.2模型建立
步骤1:将3个车间系统地组成两个工作阶段:MA和MB,MA和MB对应任务时间:
tAti1ti2,tBti2ti3;
令U{itAtB},V{itAtB}(i1,..,6)。步骤2:对U中的任务按tA非减顺序排序得到U‘。步骤3:对V中的任务按tB非增顺序排序V‘。
步骤4:将有序集U‘放到V‘之前构成工件的最优加工顺序S。步骤5:根据最优加工顺序计算最长流程时间。设6个任务的加工顺序为:
S{s1,s2,...,s6};
则csik可按如下公式计算:
cs11ts11cs1kcs1,k1ts1k,k2,...,3...........................................(1)csi1csi11tsi1,i2,...,6...............................................(2)csikmax{csi1k,csi,k1}tsik,i2,...,6;k2,...,3.........(3)由(3)式得最大流程时间为:
Fmaxcsn3;
i而且可以求得个任务在各个车间的完工时间csk,i1,2,...,6;k1,2,...,3。步骤6:代入思想应用Matlab软件编程,输出最优任务加工顺序、最少的加工天数和每个任务具体工作时间安排。
5.1.3模型求解
通过Matlab编程(见附录),运行得到结果:min(Fmin)=57,最优任务加工顺序为:3,5,2,4,1,6或3,5,2,1,4,6。
具体的加工方案:任务3时间开始时间1印刷车间1至5装订车间6至14打包车间15至19结束时间19524163434至4450至5157576156至1415至2415至1925至3620至2937至512951252125至3031至3337至4242至4952至5455至565356表三:第1至第6任务具体的加工方案一
任务3时间开始时间1印刷车间1至5装订车间6至14打包车间15至19结束时间19问题二:
5.2.1建模思路
问题二在问题一的基础上添加了任务个数,故求解方法类似于问题一,首先采用CDS算法结合Johnson算法找到使得总加工天数最少的最优加工顺序,然后应用时间统计法递推法,按照最佳加工顺序求解最少的加工天数,得到具体的加工方案。应用Matlab软件编程得到所有结果。
5.2.2模型建立
步骤1:将3个车间系统地组成两个工作阶段:MA和MB,MA和MB对应任务时间:
tAti1ti2,tBti2ti3;
令U{itAtB},V{itAtB}(i1,..,6)。
521466156至1415至2415至1925至3620至2937至51295125283425至2728至3334至4437至4445至5051至5252至5354至5657535657表四:第1至第6任务具体的加工方案二步骤2:对U中的任务按tA非减顺序排序得到U‘。步骤3:对V中的任务按tB非增顺序排序V‘。
步骤4:将有序集U‘放到V‘之前构成工件的最优加工顺序S。步骤5:根据最优加工顺序计算最长流程时间。设6个任务的加工顺序为:
S{s1,s2,...,s20};
则csik可按如下公式计算:
cs11ts11cs1kcs1,k1ts1k,k2,...,3...........................................(1)csi1csi11tsi1,i2,...,6...............................................(2)csikmax{csi1k,csi,k1}tsik,i2,...,6;k2,...,3.........(3)由(3)式得最大流程时间为:
Fmaxcsn3;
而且可以求得个任务在各个车间的完工时间csik(i1,...,20,k1,2,3)。步骤6:代入思想应用Matlab软件编程,输出最优任务加工顺序、最少的加工天数和每个任务具体工作时间安排。
5.2.3模型求解
通过Matlab编程(见附录),运行得到结果:min(Fmin)=157,最优任务加工顺序为:8,14,3,5,19,2,17,15,12,11,16,18,10,1,4,7,20,13,6,9。
具体的加工方案:任务时间开始时间81433至46至1112至1616189696至355至912至2021至252510111111至51921715121111至印刷车间23至装订车间5打包车间6至11101910至19至182421至26至253326至36至3545351119119至454122122至253525至35至344535至47至465946至62至6176617128128至76201*3133至结束时间11任务16时间开始时间8686至印刷车间9546597546至59至75至58748560至75至91至749010511077至94至至931091189310911813138138至6141141至9152152至1101181211271321371401061151201*6134140146149装订车间至至至至至至至至114119125133139145148150119127137144146149151153打包车间至至至至至至至至126136143145148150152154结束时间126136143145148150152154表五:第1至第20任务具体的加工方案安排问题三:
151152至153155155154155至1561571575.3.1建模思路
若得到任务的加工顺序,则可求得对应的加工天数。本文采用循环法加随机取矩阵法构造任务序号和任务个数不一样的任务矩阵,然后采用上述的CDS算法结合Johnson算法得到对应不一样的任务安排方案,从每次得到的排序方案中求解得到对应的加工天数,将所得结果比较,取加工天数小于(或等于)120的天数对应的最多任务的方案。
在构造新矩阵时,为方便使用随机函数组合新矩阵,将20个任务3个车间对应的3行20列矩阵简化为20列的行矩阵;根据问题二中的加工方案安排可知在120天内的尽量多的任务数大于10,所以在采用循环时取任务个数为10至19。对于10至19每个任务数,用随机矩阵从20列中取出对应的任务数,代入CDS算法得到对应的加工天数与最优加工顺序,依次循环,取出加工天数小于(或等于)120的天数对应的最多任务的方案。5.3.2模型建立
设立循环计数:k2,...,11;
用随机矩阵从20列中取出对应的任务数:brandperm(20);调用CDS算法结合Johnson算法,按照上述问题二中方法进行。
5.3.3模型求解
通过Matlab编程(见附录),运行得到结果:min(Fmin)=117,最多任务个数为17,最优任务加工顺序为:8,12,3,5,16,14,2,13,15,10,1,4,7,17,11,6,9。
具体的加工方案:任务时间开始时间81123355161919至2426至3314213151010至印刷车间1至23至45至9186至12至21至装订车间3至51120252536465625至36至46至56至3545557036至49至61至71至486069打包车间结束时间任务时间开始时间印刷车间6至1111107171至7812至161617979至8185至9221至26至2535253548278836至4545179393至9749至64至70至78至6368778763687787119898至1006101101至111112至1139112112至114115至11682至88至8792108至10910511088至95至99至108至打包车间至至1141179496101109106111结束时间9496101106109111114117表六:加工天数小于120最多任务具体加工方案79至装订车间8493至99至105至98104107问题四:
5.4.1建模思路
本文采用调试法解决从第50天到第60天这个长度为11天的时间里每个车间放假2天,使得完成20项任务总共需要的天数尽量少问题。根据问题二得到的第1至第20任务具体的加工方案,可知从第13号任务起出现在第50天到第60天,则建立循环调用第13号任务从头开始插入,依次循环,直至出现三个车间时间在第50天到第60天出现重叠的情况,放假期即为这些重叠天数,使得总共需要的天数最少。5.4.2模型建立
问题四要求的是制定一个包含每个车间放假方案的任务加工方案,使得完成问题2中的这20项任务总共需要的天数尽量少,考虑到每个车间在50到60天这个时间段连续放两天假,而各个车间的任务一旦执行就不能中断,因此,我们需要在模型一的基础上优化求解。
由表5,可以得出每个任务在各车间的结束时间,为满足放假时间段的限制,找到在49至58天完工的对应任务项。据表可知,排名在第五项任务前的各任务对应完工时间都小于49,为了尽量把放假对印刷厂的生产进度造成的影响降到最低,随机取出后15项任务中的一项排在第六名,而原方案中第五项任务之后的各项依次向后排一位。因此,得出新方案中排在第六的任务对应完成时间和新的排序方案,依次类推,得到新排名七至二十任务的对应完成时间及方案。从中筛选出在49至58天完工的对应任务项的完成时间,最后取使完成所有任务总共需要的天最少的方案即为所求。根据得到的最少天数方案将对应任务项所需时间加两天代入原方案求解(相应语句在程序中实现),得出相应各项任务的结束时间即得到所求方案。5.4.3模型求解
应用Matlab编程得到结果:调整后的任务加工顺序为:8,14,3,5,19,10,2,17,15,12,11,16,18,1,4,7,20,13,6,9。印刷车间放假时间为第54,55天,装订车间放假时间为第55,56天,打包车间放假时间为第53,54天,完成任务时间min(Fmin)=159。问题五:
5.5.1建模思路
问题五与问题四的思想一致,只是在其基础上将连续放假两天改为三天,其余条件和要求不变,制定一个包含每个车间放假方案的任务加工方案使得完成问题2中的所有任务总共需要的天数最少,根据得到的最少天数方案将对应任务项所需时间加三天代入原方案求解即可。5.5.2模型建立
问题五要求的是制定一个包含每个车间放假方案的任务加工方案,使得完成问题2中的这20项任务总共需要的天数尽量少,考虑到每个车间在50到60天这个时间段连续放两天假,而各个车间的任务一旦执行就不能中断,因此,我们需要在模型一的基础上优化求解。
由表5,可以得出每个任务在各车间的结束时间,为满足放假时间段的限制,找到在49至58天完工的对应任务项。据表可知,排名在第五项任务前的各任务对应完工时间都小于49,为了尽量把放假对印刷厂的生产进度造成的影响降到最低,随机取出后15项任务中的一项排在第六名,而原方案中第五项任务之后的各项依次向后排一位。因此,得出新方案中排在第六的任务对应完成时间和新的排序方案,依次类推,得到新排名七至二十任务的对应完成时间及方案。从中筛选出在49至58天完工的对应任务项的完成时间,最后取使完成所有任务总共需要的天最少的方案即为所求。根据得到的最少天数方案将对应任务项所需时间加两天代入原方案求解(相应语句在程序中实现),得出相应各项任务的结束时间即得到所求方案。5.5.3模型求解
应用Matlab编程得到结果:调整后的任务加工顺序为:8,14,3,5,19,10,2,17,15,12,11,16,18,1,4,7,20,13,6,9。印刷车间放假时间为第54,55,56天,装订车间放假时间为第55,56,57天,打包车间放假时间为第53,54,55天,完成任务时间min(Fmin)=160。
六、模型的优化与推广
6.1模型评价
(1)所采用的CDS算法结合Johnson算法有效地解决了多个任务对应多个车间最优加工方案。
(2)软件编程中使用循环语句遍历所有情况,所得结果真实性较高。(3)CDS算法具有自组织、自适应、自学习性与并行性而不需要求导或其他辅助知识,使问题易于处理。6.2模型改进
(1)Johnson法则只是一个充分条件,不是必要条件。不符合这个法则的加工顺序,也可能是最优顺序。
(2)本模型中使用了大量的循环语句,导致软件运算量极大,故编程语句欠妥,需要进一步讨论改进。6.3模型推广
(1)本模型准确性较高,可以推广到其它流水线工作问题上。
(2)根据实际情况,进一步加强约束条件的严谨性,使得模型更加紧密,结果会得到进一步优化。
参考文献
[1]陈桂明,戚红雨,潘伟编著,Matlab数理统计(6.X),北京:科学出版社,201*。
[2]姜启源,谢金星著,数学建模案例选集,北京:高等教育出版社,201*。[3]王沫然,MATLAB5.X与科学计算,北京:清华大学出版社,201*。
[4]李涛,贺勇军,刘志俭等编著,Matlab工具箱应用指南应用数学篇,北京:电子工业出版社,201*。
[5]王振龙主编,时间序列分析,北京:中国统计出版社,201*。
附录
问题一:
functionexampleclc
T=[31056911812965221553101]";[n,m]=size(T);txm=[];Fmax=[];TUV=[];fork=1:m-1fori=1:n
tx(i,1)=sum(T(i,1:k));tx(i,2)=sum(T(i,m+1-k:m));end
[c,fmax,uv]=myjohnson(tx,T,n,m);Fmax=[Fmax,fmax];txm=[txm,tx];TUV=[TUV,uv];end
txm,Fmax,TUV
optim_Fmax=min(Fmax)ind=find(Fmax==optim_Fmax);optim_seq=TUV(:,ind)c
%*********************************************************function[c,f,UV]=myjohnson(tx,T,n,m);U=find(tx(:,1)tx(:,2));tU=tx(U,1);tV=tx(V,2);[stU,ind1]=sort(tU);
[stV,ind2]=sort(tV,"descend");UV=[U(ind1);V(ind2)];st=T(UV,:);
c(1,:)=cumsum(st(1,:));
c(2:n,1)=c(1,1)+cumsum(st(2:n,1));fori=2:nfork=2:m
c(i,k)=max(c(i-1,k),c(i,k-1))+st(i,k);endendf=c(end);
运行结果:
optim_Fmax=57optim_seq=33552411466c=
51419141929243651274453335056445257
问题二:
functionexampleclc
T=[31056911523811163213105
812965263261516263
21553101261791625102]";
[n,m]=size(T);txm=[];Fmax=[];TUV=[];fork=1:m-1fori=1:n
tx(i,1)=sum(T(i,1:k));tx(i,2)=sum(T(i,m+1-k:m));end
[c,fmax,uv]=myjohnson(tx,T,n,m);Fmax=[Fmax,fmax];txm=[txm,tx];TUV=[TUV,uv];end
txm,Fmax,TUV
optim_Fmax=min(Fmax)ind=find(Fmax==optim_Fmax);optim_seq=TUV(:,ind)c
%*********************************************************function[c,f,UV]=myjohnson(tx,T,n,m);U=find(tx(:,1)V=find(tx(:,1)>tx(:,2));tU=tx(U,1);tV=tx(V,2);[stU,ind1]=sort(tU);
[stV,ind2]=sort(tV,"descend");UV=[U(ind1);V(ind2)];st=T(UV,:);
c(1,:)=cumsum(st(1,:));
c(2:n,1)=c(1,1)+cumsum(st(2:n,1));fori=2:nfork=2:m
c(i,k)=max(c(i-1,k),c(i,k-1))+st(i,k);endendf=c(end);
运行结果:
optim_Fmax=157optim_seq=8143519217151211161810147201*69c=
25114111692025182524334534466145597658749374901098510511895114126110119136118125143121133145127139148132145150137148152140150154151153155154156157
问题三:
functionexample[Fmax,optim_seq,T]clcT=T";
[n,m]=size(T);txm=[];Fmax=[];TUV=[];fork=1:m-1fori=1:n
tx(i,1)=sum(T(i,1:k));
tx(i,2)=sum(T(i,m+1-k:m));end
[c,fmax,uv]=myjohnson(tx,T,n,m);Fmax=[Fmax,fmax];txm=[txm,tx];TUV=[TUV,uv];end
txm,Fmax,TUV
optim_Fmax=min(Fmax)ind=find(Fmax==optim_Fmax);optim_seq=TUV(:,ind)C
%*********************************************************
function[c,f,UV]=myjohnson(tx,T,n,m);U=find(tx(:,1)tx(:,2));tU=tx(U,1);tV=tx(V,2);[stU,ind1]=sort(tU);
[stV,ind2]=sort(tV,"descend");UV=[U(ind1);V(ind2)];st=T(UV,:);
c(1,:)=cumsum(st(1,:));
c(2:n,1)=c(1,1)+cumsum(st(2:n,1));fori=2:n
fork=2:m
c(i,k)=max(c(i-1,k),c(i,k-1))+st(i,k);endendf=c(end);
%*********************************************************
clear;clc
a=[31056911523811163213101110111565
81296526326151626159135813583
2155310126179162517815101510102]fori=1:500m=0;c=0;mmax=[];cmax=[];
b=randperm(20);c=a(:,b);
fork=2:11t=c(:,k:20);
[d,f,g]=example(Fmax,optim_seq,T);if(doptim_Fmax=117
optim_seq=8123516142131510147171169c=
2511411169202518253524334535486345606855697770758778849481929687981019210410697107109100109111111113114114116117
第四问:
clc,clear
t=[31056911523811163213101115658129652632615162615913583215531012617916251781510102]"s=[8143519102171512111618147201*69]";
st=t(s,:);
[n,m]=size(st);
c(1,:)=cumsum(st(1,:));
c(2:n,1)=c(1,1)+cumsum(st(2:n,1));fori=2:n
fork=2:m
c(i,k)=max(c(i-1,k),c(i,k-1))+st(i,k);endend
ds=c"
Fmax=ds(end)
运行结果:
Fmax=157ds=
2491824324253668293103118121127132137140151154
5112025333954678298113122127135141147150152154156
11162535455269841011171261341441461491511531551561
友情提示:本文中关于《印刷厂任务的最优调度问题》给出的范例仅供您参考拓展思维使用,印刷厂任务的最优调度问题:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《印刷厂任务的最优调度问题》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/560058.html
- 上一篇:201*年农机购置补贴工作汇报
- 下一篇:印刷厂装订岗位职责