工件加工的排序优化问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
11
4
6
10
问题二三四是在问题一上的推广,因此我们运用前面算法归纳出 i 种工件,每种工 件需要 j 部机床的情况,只需在前面的程序中的工件顺序集里加入相应的属性,便能到 达目的。 对于 i 种工件,每种工件需要 j 部机床加工的情况我们建立的模型如下: 车床 M1 钻床 M2 铣床 M3 … Mj 1 2 3 … i
Baidu Nhomakorabea12
min W = ∑ sj
j =1
约束条件:
n s sj = {sjti− ++ jnj ti t≥≤ js−j 1 1 s1 = t1 + n1 1 i −
i j =1
1
ti = ∑ bj nj = ∑ yijmi
12
完成这批工件加工任务所需的总时间最少 min W = ∑ sj
j =1
其中 sj 最优排列下第 j 种工件在完成钻工序的总时间 sj
i
=
n {s t ++ n
i j j −1
j
ti ≥ sj − 1 ti ≤ sj − 1 s1 = t1 + n1
ti 为 i 工件在从最优排列下车床加工所用的总时间 ti = ∑ bj
5. 模型的建立与求解
5.1. 对于问题一
12
1)设 ti 为 i 工件实际完工时间,所以完成这批工件的总时间为 Z= ∑ti
i =1
而加工 i 工件在最优排列下所用的总时间 ti =b i −1 +b i =b i − 2 +b i −1 +b i =b 1 +b 2 +…+ bi
i
即 ti = ∑ bj
i =1
i
ti = ∑ bj
j =1
12 12
∑ yij =1 , ∑ yij = 1
i j
12
bj = ∑ yijai
i =1
对此数学模型用 lingo 编程,运行程序即得完成这批工件的总时间和加工顺序,程序见 附件-程序一
-5-
2)设 P 为工件的总价值, ej 在最优排列下第 j 种工件的价值,那么有: max P = ∑ e j
……
Max(M i,j-1,M i-1,j) + X i,j
Max(M 32 ,M 23 ) + X 33
……
……
M i -1,1 + X i1
Max(M i1 ,Mi-1,2 ) + Xi2
Max(M i2 ,M i-1,3 ) + X i3
关键词:0-1 变量、lingo、排序
-1-
1. 问题重述
计划排序问题中的车间作业问题,研究 n 个工件在 m 台机器上有序的加工问题, 每 个工件都有完工的日期(DD,Due date),加工的时间(PT,Processing time)和工件的 价值(VAL,Value if job is selected).车间作业计划研究一个工厂生产工序的计划和安 排,需要计划与合理安排各个工件在这些机器上加工的先后次序,即拟订加工工序, 通 过各个工件在各种机器上加工次序的合理安排,使得完成这批工件加工任务所需的总时 间最省(注:总时间即为各个零件的加工时间和加工其他零件时它们等待时间之和) 或 要求整个选择加工的工件价值最大。 有一个工厂现在有 12 种工件(编号为工件 1,工件 2,…,工件 12)需要在车床, 钻床,铣床几种不同的设备上加工。考虑下面的工件加工的排序问题: (一)这 12 种工件都要求在车床上加工,车床一次只能加工一种工件,这 12 种工件加 工所需时间,每个工件的完工时间和每个工件的价值如表 1 所示: 工件 1 2 3 4 5 6 7 8 9 10 11 12 加工时间(h) 2.8 3.2 1.2 4 2.7 0.9 2.5 3.3 1.7 2.5 3.6 4.7 完工时间(h) 9 7.5 15 23 10 22 17 33 7 18 25 11 表1 1、不考虑工件的完工时间和工件的价值,为该工厂安排工件加工的次序,使得完成这 批工件加工任务所需的总时间最省。建立数学模型并给出相应的算法。 2、由于工件必须在它们要求的时间内完工,按照表 1 的数据,为该工厂安排选择加工 工件的种类及加工的次序,使得整个选择加工的工件价值最大。建立数学模型并给出相 应的算法。 (二)如果这 12 种工件都要求先在车床上加工,然后再在钻床上加工(即工件在钻床 加工之前必须先在车床上加工过),每种机器一次只能加工一种工件,这 12 种工件加 工所需时间如表 2 所示: 工件价值 8 4 16 3 7 20 17 11 7 12 5 18
-2-
工件 1 2 3 4 5 6 7 8 9 10 11 12
车床加工时间(h) 2.8 3.2 1.2 4 2.7 0.9 2.5 3.3 1.7 2.5 3.6 4.7 表2
钻床加工时间(h) 4 1.3 1.8 2.2 3 4.5 1.7 2.5 4.5 2.5 3.8 1.9
为该工厂安排工件加工的次序,使得完成这批工件加工任务所需的总时间最省。 建 立数学模型并给出相应的算法。 (三)如果这 12 种工件都要求先在车床上加工,然后再在钻床上加工,最后再在铣床 上加工,每种机器一次只能加工一种工件,这 12 种工件加工所需时间如表 3 所示: 工件 1 2 3 4 5 6 7 8 9 10 11 12 车床加工时间(h) 2.8 3.2 1.2 4 2.7 0.9 2.5 3.3 1.7 2.5 3.6 4.7 钻床加工时间(h) 4 1.3 1.8 2.2 3 4.5 1.7 2.5 4.5 2.5 0.9 1.9 表3 为该工厂安排工件加工的次序,使得完成这批工件加工任务所需的总时间最省。 建 立数学模型并给出相应的算法。 (四)对于上述问题你做出的数学模型和相应的算法给出评价。并将模型推广到 n 个工 件在 m 台机器上加工的一般的工件排序问题,给出你的想法和解决问题的思路。
为 i 工件在从最优排列下加工所用的总时间需要小于完工时间,故 ti ≤ f j (i=j) 。 综上所述可得问题 2)的数学模型为 目标函数:
12
max P = ∑ e j
j =1
约束条件:
12 12
∑y
i =1
12
ij
≤ 1, ∑ yij ≤ 1
j =1
12
bj = ∑ yijai , ej = ∑ yijci
j =1
12
共 12 工件,第 i 工件加工顺序在 1 到 12 之间,即 ∑ yij =1 。
i
12
加工顺序为 j 是,一定有一个工件 i,即 ∑ yij = 1 。
j
12
最优排列下第 j 次加工的时间 bj =
∑ya
i =1
ij i
因此: 问题 1)的数学模型为
12
目标函数: 约束条件:
min Z= ∑ti
j =1
-6-
1
ni 为 i 工件在从最优排列下车床加工所用的总时间 nj =
∑y m
ij n =1
i
mi 为 i 工件的钻床加工时间,根据前面第一问可知还有如下约束
12 12 12
bj = ∑ yij ai , ∑ yij = 1 , ∑ yij = 1
i =1 i =1 j =1
因此问题二的数学模型可以表述为 目标函数:
j =1
12 12
12
因为不要求每一种工件都加工,所以 ∑ yij ≤ 1, ∑ yij ≤ 1
i =1 j =1
12 12
因为第二问是在第一问的基础上,因此需要满足第一问的约束 bj = ∑ yijai , ej = ∑ yijci
i =1 i =1
12
完工时间约束 fj = ∑ y ijd i
i =1
工件从任务开始时刻起到完成钻床工序止所需要的总时间包括该工件完成车工序的时间,等待上一 个工件加工完的时间(即从该工件在车床加工完毕时刻起到其上一个工件在钻床上加工完毕这一段 时间) ,该工件在钻床上加工的时间。建立数学模型求解。
问题三四也都是将问题一二进行推广,因此只需将相应的数据用变量代替即可。
我们的参赛报名号为:
参赛队员
(签名) :
队员 1:***
队员 2:***
队员 3:***
湖南工学院数学建模竞赛
编 号 专 用 页
参赛队伍的参赛号码:(请各个参赛队提前填写好):
竞赛统一编号(由竞赛组委会送至评委团前编号):
竞赛评阅编号(由竞赛评委团评阅前进行编号) :
湖南工学院数学建模竞赛
工件加工的排序优化问题
i =1 i =1
12
fj = ∑ y ijd i , ti ≤ f j (i=j)
i =1
对此数学模型用 lingo 编程, 运行程序即得完成这批工件的总价值以及相应的总时间和 加工顺序,程序见附录-程序二 5.2. 对于问题二 问题二要求完成任务使总时间最少,根据题意总时间为加工时间加上等待时间,所以有 如下式子
bj
mi
nj
qi
rj di
fj
sj
uj
ti
W P
在最优排列下第 j 种工件在完成钻床序的总时间 在最优排列下第 j 种工件在完成铣床序的总时间
为 i 工件在从最优排列下车床加工所用的总时间
完成这批工件加工任务所需的总时间 工件总价值
-4-
4. 模型假设
4.1. 不考虑的完工时间和工件的价值,安排工件加工的次序,使得完成这批工件加工 任务所需的总时间最省。 4.2. 工件在转换工序时所需的运输时间为零。 4.3. 机器加工完一种工件后,能及时另外一种零件。 4.4. 工件和机器在加工过程中不发生意外。
湖南工学院数学建模竞赛
承
诺
书
我们仔细阅读了第五届湖南工学院数学建模竞赛的竞赛规则。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们愿意承担由此引起的一切后果。
3. 符号说明
yij ai
为 0/1 变量 为 i 工件的车床加工时间 在最优排列下第 j 次在车床加工的时间 为 i 工件的钻床加工时间 在最优排列下第 j 次在钻床加工的时间 为 i 工件的铣床加工时间 在最优排列下第 j 次在铣床加工的时间 第 i 种工件在车床的完工时间 在最优排列下第 j 种工件在车床工件的完工时间
摘要
众所周知,对于一个加工企业而言,如何在最短时间内完成加工任务,是一个企业 提高竞争力和利润的关键。 本文就是一篇关于工件加工的排序优化问题, 即在给定的数据和做出符合实际生产 的条件下,合理的安排工件的加工顺序,使加工的效率或所获得的利润等指标达到最大 值。 问题一是在零件只加工一次, 如何合理安排加工顺序, 使得完成这批工件加工任务 所需的总时间最省或总价值最大。为此,我们引入了一个 0-1 变量表示加工工件的顺序 和工件的种类,求出该变量,即可得到在不同情况下加工顺序,然后对结果进行分析, 计算结果唯一(实际可能不唯一) 。问题一的一二问安排如下: 1)工件的加工顺序为 6-3-9-10-7-5-1-2-8-11-4-12 此时总时间最少,为 171.9 工件的加工时间为 33.1 2)在时间充足的情况下,总价值最大为 117,工件的加工顺序如下 9 1 12 3 7
0 + X 11
M11 + X12
M12 + X 13 Max(M 22 ,M13 ) + X 23
… … … … …
M i ,j -1 + x1 j
M11 + X 21
M 21 + X 31
Max(M 21,M 12 ) + X 22 Max(M 31 ,M 22 ) + X 32
……
Max(M 2,j-1 ,M1j ) + X 2j Max(M 3,j-1 ,M 2j ) + X 3j
-3-
铣床加工时间(h) 3 1 2.5 1.3 1.8 2 3.6 0.8 1 1.1 1.3 0.7
2. 问题分析
问题(一) ,第一问,题目只要求完成这批工件加工任务所需的总时间最省,不考 虑完工时间和工件价值,为此引入一个 12×12 的 0-1 变量,下标分别表示工件序号和加 工顺序序号。如:y(1,7)=1 表示工件 1 加工顺序为 7。利用约束条件和目标函数求出此 变量,就能得到题目要求的工件加工次序。第二问,题目要求考虑完工时间并使利润最 大,在第一问的基础上将目标函数中的总时间改为总利润,并加上完工时间的约束, 将 0-1 变量解出,就是需要加工的工件序号和顺序。 问题二是在问题一第一问的基础上,将加工次数增为两次,根据总时间的定义, 某