数学建模-印刷厂问题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模
一、印刷厂问题
(1)各车间按1,…,42的自然顺序工作时,每个任务K的完工时间。
(2)完成所有任务总工期最短的加工顺序。
(3)列出(1)和(2)两种不同加工顺序的完工时间对照表,讨论工厂按最优顺序加工时所面临的问题。
你认为是否有更合理的加工顺序?
解:
时间矩阵p=[3 10 5 2 9 11 6 4 12 8 8 6 11 7 12 10 5 12 9 6 5 8 12 7 6 13 11 15 7 15 3 8 6 11 8 14 6 4 6 10 22 16;
8 12 9 6 5 2 9 7 3 4 10 7 10 9 8 12 7 16 8 11 4 6 8 9 10 10 12 18 6 11 4 9 3 7 11 15 8 5 7 8 16 17]
1、因为任务2必须在任务1的前提下,用matlab编程实现:
ck=[]
total=0;
left=0;
for i=1:42
total=total+p(1,i);
left=left-p(1,i);
if left<0 then
left=0;
end
left=left+p(2,i);
ck=[ck,total+left];
end
ck
total=total+left
得解:
每个任务K的完工时间c[k]=
[11,25,34,40,45,47,56,63,66,74,88,95,105,114,122,136,143,159,167,178,182,188,196,205,215,225,237,255,261,27 2,276,285,288,295,306,321,329,334,341,349,369,386]
总时间total = 386
2、由两台机流水作业的排序Jhonson算法得:
Order=[4,1,31,38,8,17,3,20,7,12,25,37,39,24,14,11,32,35,16,2,27,18,36,28,42,41,40,34,33,30,29,26,23,22,21,19,1 5,13,10,9, 6,5]
总时间cost = 359
代码:
j1=[];
j2=[];
for i=1:42
if p(1,i)<=p(2,i) then
j1=[j1,[i;p(1,i)]];
else
j2=[j2,[i;p(2,i)]];
end
end
ord=[]
[s1,k1]=gsort(j1(2,:),'c','i');
for i=1:(size(j1,2))
ord=[ord,j1(1,k1(i))];
end
[s2,k2]=gsort(j2(1,:),'c','d');
for i=1:(size(j2,2))
ord=[ord,j2(1,k2(i))];
end
ord
3、如表:
由表可知,用第二种方法得到的时间中,单项任务的完成时间大于第一种分配方式的数目多。
这个是个问题。
优化方案:先将同时出厂的产品分作一类,分成n类。
每类内部采用最少总时间的算法。
然后每类之间按重要性排序,先生产重要的,然后是次要的。