ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:128.36KB ,
资源ID:16202156      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16202156.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(加工顺序Word下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

加工顺序Word下载.docx

1、202825164232244036前期工件号3,45,7,85,910,113,8,93,5,74,76,7,145,121,2,6(1) 若给出一个加工顺序,则确定了每个工件的完工时间(包括等待与加工两个阶段), 试设计一个满足条件的加工顺序,使各个加工工件的完工时间之和最小。(2) 若第j号工件紧接着第i号工件完工后开工,机床需要花费的准备时间是, 试设计一个满足条件的加工顺序,使机床花费的总时间最小。(3) 假设工件的完工时间(包括等待与加工两个阶段)超过一确定时间则需要支付一定的补偿费用,其数值等于超过的时间与费用率之积(各工件的补偿率见下表):15安排一个加工顺序,使得总补偿费最小

2、。二、符号说明符号 意义 表示第号工件的加工序号 表示各个加工工件的完工时间之和 机床花费的总时间 加工时的总补偿费 表示从节点i到节点j的准备时间 0表示第i个节点到第j个节点不需要准备时间,1表示第i个节点到第j个节点需要准备时间三 模型的假设1. 每个工件都合格的完成加工,不会影响下一工件的加工。2. 没有多余时间的浪费。3. 每个工件都能按照规定时间完成。四、模型的建立与求解问题一:我们把a,b,t写进一个数组里。当b中的某一列全为0,该列(即工件号)就进行加工,其他的各列就进行等待,并且把b中的该列号变为0;当b中有某些列全为0,则该各列号下的t中哪个元素最小,此列就进行加工,其他列

3、(除已经加工的工件)就进入等待状态。依此下去,当b中元素全为0,则循环结束。就说明所有的工件加工完毕。用任何编译器按上述算法编程可得VC6.0程序见附录1:计算得总完工时间之和最小的加工次序为:4-10-9-7-11-5-3-8-6-1-2-14-12-13总时间为:2588方案二:各个加工工件的完工时间之和包括各工件的等待时间之和与各工件的加工时间之和。因为各工件的加工时间之和是一定的为345,所以此问可转化为求各工件等待时间之和最小时加工工件的次序在算总时间时,第个工件有个工件等待,加上第个工件本身的加工时间,因此,加工各个工件的时间之和为:借助lingo软件求解:目标函数:约束条件:x1

4、+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14=91;x1-x31;x1-x4x2-x5x2-x7x2-x8x3-x5x3-x9x5-x10x5-x11x6-x3x6-x8x6-x9x4-x7x8-x3x8-x5x8-x9x9-x4x11-x4x11-x7x12-x6x12-x7x12-x14x14-x1x14-x2x14-x6x13-x5x13-x12在加上由题目可知的约束条件得出了结果是加工工件的总完工时间为:问题二:要计算机床花费的总时间最小,就必须知道总时间包括哪几部分,通过分析知道,机床可以由三部分组成:机床的等待时间,机床的准备时间,机床的

5、加工时间。通过进一步的分析,可以由题意得知:机床的等待时间可以为0,机床的工作时间可以为各个工件都完成的时间。所以,我们求得最少的准备时间的路线即为总时间最小的路线。通过对表中的数据可以得到一下的图形:由题中给出的表格画出了上图。图中的圆圈为要加工的工件号,连线箭头表示了加工工件的次序,建立了目标函数,表示从节点i到节点j的准备时间,(0表示第i个节点到第j个节点不需要准备时间,1表示第i个节点到第j个节点需要准备时间。通过对上图的分析,可以得到以下的目标函数,目标函数即表示建立一个14*14的矩阵,而其中每一行每一列都只有一个元素需要等待时间为,并且求出这个等待时间的最小值。而第一工件不需要

6、等待时间,所以里边的等待时间个数一共为十三个。根据上面的分析,可以得到以下的目标函数和约束条件。s.t.通过对解的分析,我们找到了第一号加工的工件到第十四号工件的准备总时间为:85路径为:471110953862114由于我们的程序得到的是第一号工件到第十四号工件的准备的总时间,通过进一步分析,得到的总准备时间为:114最终的路径为:4711109538621141213问题三:补偿时间本来跟三个因素有关,即:工件的等待时间和加工时间、机床的准备时间。但我们得知机床的准备时间是一个定值,且值为0。所以补偿时间只跟等待时间、加工时间有关,当大于100时,之后的加工顺序与第一问的完全相同。因为大于

7、100时,我们考虑的因素可以归纳为: (其中a为等待时间,b为加工时间),其中已然是个定值,只要a的和最小,整个的补偿时间就最小。而第一问我们已经得到了a(等待时间)最小的一个顺序。所以当大于100后的顺序就相同了。当100时,算法:通过对第一问前面的六个数进行分析,至于为什么采用前边的六个顺序元素进行分析,因前边的六个元素的加工时间进行从小到大的顺序进行计算使之刚好大于100,然后在找到对应的工件号正好在前六个元素里边.所以我们只讨论第一问答案的前六个元素.前六个元素的顺序我们放在d数组中.与之对应的加工 时间放在e中.其补偿率放在f中.我们用e中的元素进行循环相加,并且当加上那个数正好大于

8、100时,对它进行减去100再乘f的操作得到一个数G.操作完成之后,并在一个数组中保存与之相对应d的顺序.依次循环.就可以得到G大小的许多值,通过比较这个值,那个最小的值就是补偿时间.与之对应的顺序就是补偿时间最小的顺序. 通过VC6.0可以得到:总的顺序为:4711105938612141213五、模型改进该问题并没有考虑机器的故障时间和休息时间。并且在工厂里也并不是一台机器单独工作,而是特别灵活地调用其他的机器协调工作。所以,在实际中,不仅要综合考虑,而且更加注意机器之间的协调工作。六、模型的优缺点及其评价优点:在第一问中,我们找到了一种解决问题的算法,通过计算机的快速循环遍历就可以得到对

9、于任意多个工件的最精确的答案。在第二问、第三问中,我们巧妙采用了这样的因子构建目标函数,在找到目标函数的所有约束条件,使得本问题迎刃而解。缺点:第一问中,算法用计算机语言表达比较难,更加使用于专业程序员解决。第二、三问中,约束条件比较难找,并且约束条件用lingo描述比较长。评价:本问题,通过两种巧妙方法的结合。得到了最准确的答案。并且此模型也适用于车辆调度问题、垃圾处理问题。七、参考文献 1刘育兴,钟剑,垃圾运输问题的模型及其求解,赣南师范学院学报2 谢金星,薛毅,优化建模与LINGO软件,北京:清华大学出版社,2005年。附录1:#include int uniform(struct gr

10、aph w);void IntiGraph(struct graph w);void dowithliennum(struct graph w,int num);struct graph int a; int b3; int t;struct TIME int waiting; int working; int total;int main() int order14; struct graph w14; struct TIME time14; int flag =0; int num = 0; int t=0; int i = 0; int j = 0; IntiGraph(w); for

11、(;i14;i+) num = uniform(w); dowithliennum(w,num); timenum.waiting = t; timenum.working = wnum.t; t = t+wnum.t; timenum.total = t; orderi = num+1; printf(加工过程为:n); i = 0; printf(工件号是:%d 该工件的等待时间:%d,orderi,timeorderi-1.waiting); 加工时间:%d 该工件完成所要的时间:%dn,timeorderi-1.working,timeorderi-1.total);*所有工件加工所需

12、时间之和:,t); getchar(); return 1;/*int uniform(struct graph w) int tempnum10; int num = 50;/只要为一个比各个工件加工时间都大即可 int position = 1; tempnum0 = 0; j = 0; for(;jwtempnumi+1.t) num = tempnumi+1; return num;*/int uniform(struct graph w) int num1 = 0; num = wtempnumi+1.t; num1 = tempnumi+1; return num1;void In

13、tiGraph(struct graph w) int i=0; wi.a = i+1; w0.b0 = 3,w0.b1 = 4,w0.b2 = 0,w0.t = 20; w1.b0 = 5,w1.b1 = 7,w1.b2 = 8,w1.t = 28; w2.b0 = 5,w2.b1 = 9,w2.b2 = 0,w2.t = 25; w3.b0 = 0,w3.b1 = 0,w3.b2 = 0,w3.t = 16; w4.b0 =10,w4.b1 = 11,w4.b2 = 0,w4.t = 42; w5.b0 = 3,w5.b1 = 8,w5.b2 = 9,w5.t = 12; w6.b0 =

14、4,w6.b1 = 0,w6.b2 = 0,w6.t = 32; w7.b0 = 3,w7.b1 = 5,w7.b2 = 7,w7.t = 10; w8.b0 = 4,w8.b1 = 0,w8.b2 = 0,w8.t = 24; w9.b0 = 0,w9.b1 = 0,w9.b2 = 0,w9.t = 20; w10.b0 = 4,w10.b1 = 7,w10.b2 = 0,w10.t = 40; w11.b0 = 6,w11.b1 = 7,w11.b2 = 14,w11.t = 24; w12.b0 = 5,w12.b1 = 12,w12.b2 = 0,w12.t = 36; w13.b0

15、= 1,w13.b1 = 2,w13.b2 = 6,w13.t = 16;void dowithliennum(struct graph w,int num) int temp = num+1; int j=0; wnum.a = 0; for (; if (wi.bj=temp) wi.bj = 0; min=4*x31+11*x38+9*x18+3*x12+7*x16+15*x114+14*x81+12*x82+4*x86+2*x21+8*x26+16*x214+10*x61+8*x62+20*x614+11*x47+13*x49+14*x410+12*x93+8*x95+4*x97+19

16、*x910+20*x911+12*x104+10*x105+6*x107+2*x109+21*x1011+18*x711+16*x79+17*x710+12*x115+4*x119+2*x1110+4*x53+14*x59;x18+x16+x12+x114=1; x86+x82+x81=1;x62+x614+x61=1;x38+x31=1;x26+x214+x21=1;x31+x81+x21+x61=1;x38+x18=1;x12+x82+x62=1;x16+x86+x26=1;x114+x214+x614=1;x31+x38+x18+x12+x16+x114+x81+x82+x86+x21+

17、x26+x214+x61+x62+x614=5;bin(x31);bin(x38);bin(x18);bin(x12);bin(x16);bin(x114);bin(x81);bin(x82);bin(x86);bin(x21);bin(x26);bin(x214);bin(x61);bin(x62);bin(x614);x47+x49+x410=1;x93+x95+x97+x910+x911=1;x105+x107+x109+x1011=1;x711+x79+x710=1;x115+x119+x1110=1;x53+x59=1;x104=0;x410+x1110+x910+x710=1;x4

18、9+x109+x79+x119+x59=1;x47+x97+x107=1;x911+x1011+x711=1;x95+x105+x115=1;x93+x53=1;x47+x49+x410+x93+x95+x97+x910+x911+x104+x105+x107+x109+x1011+x711+x79+x710+x115+x119+x1110+x53+x59=6;bin(x53);bin(x59);bin(x910);bin(x97);bin(x1110);bin(x109);bin(x911);bin(x107);bin(x105);bin(x104);bin(x1011);bin(x711);bin(x79);bin(x710);bin(x115);bin(x119);bin(x47);bin(x49);bin(x93);bin(x95);bin(x410);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1