工件加工的排序数学建模论文
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
M 1i ;i 工件完成在车床 M 1 加工的总时间为 M 1i ;(i-1)工件完成在钻床 M 2 加工的总时
间为 M 2(i 1) , ( i 2 ) 。 这里要分两种情况进行分析: (1)当 M 1i M 2(i 1) 时,即 i 工件完成车床工序的总时间大于或等于(i-1)工件完 成钻工序的总时间,此时 i 工件不需要等待(i-1)工件而立即就进入钻工序,因此 i 工 件完成钻床工序的总时间表达式为 M 2 i = M 1i + X 2 i (2).当 M 1i M 2( i 1) 时,即 i 工件完成车工序的总时间小于或等于(i-1)零件完成 钻工序的总时间,此时 i 工件需要等待(i-1)工件完成钻床工序才能进入钻床加工。因 此 i 工件完成钻床工序的总时间表达式为 M 2 i = M 2( i 1) + X 2 i 。 综合以上两种情况,得到 i 工件完成钻床工序的总时间计算公式为
( m) 化模型的目标函数: min{(T1( m ) (max(Ti ( m1) , Ti 1 ) ci , m ))}, n
关键字:工件加工排序
0-1变量
i 2
总时间最省
最大的工件价值
3
一、问题重述
有一个工厂现在有 12 种工件(编号为工件 1,工件 2,„,工件 12)需要在车 床,钻床,铣床几种不同的设备上加工。考虑如下问题的工件加工的排序问题: 问题一:不考虑工件的完工时间和工件的价值,为该工厂安排工件加工的次序, 应按照怎样的顺序来安排 12 个工件的加工顺序,使得完成这批工件加工任务所需的总 时间最省?(注:总时间即为各个工件的加工时间和加工其他工件时它们等待时间之 和) 问题二:工件有完工时间要求,完工时间如表一所示,为该工厂安排选择加工工 件的种类及加工的次序,使得整个选择加工的工件价值最大? 问题三:12 种工件都要求先在车床上加工,然后再在钻床上加工(即工件在钻床 加工之前必须先在车床上加工过) ,每种机器一次只能加工一种工件,应按照怎样的顺 序来安排 12 个工件的加工顺序,才能使完成这批工件加工任务所需的总时间最省? 问题四:12 种工件都要求先在车床上加工,然后再在钻床上加工,最后再在铣床 上加工,每种机器一次只能加工一种工件建立数学模型,应按照怎样的顺序来安排 12 个工件的加工顺序,才能使完成这批工件加工任务所需的总时间最省? 问题五:对于上述问题你做出的数学模型和相应的算法给出评价。并将模型推广 到 n 个工件在 m 台机器上加工的一般的工件排序问题,给出你的想法和解决问题的思 路。
( m) min{(T1( m ) (max(Ti ( m1) , Ti 1 ) ci , m ))}, i 2 n
三、模型假设
1、每个工件加工在上班时连续的,不中途不插入其它工件。 2、忽略工件在转换工序时的运输时间。即每个工件在上道工序加工完毕之后,立 即转移到下道工序继续加工。 3、每个工件在每台机床上加工的时间不变,且不受偶然事件的干扰。
Ri p1 p2 p3 ... pi 1 pi pi R总 Ti np1 (n 1) p2 (n 2) p3 ... pn
i 1 n i 1
(1) (2)
7
由(2)式可得,只要系数越大,配上加工时间越少的,加工时间越少的工件排在越前 面,加工时间越多的零件排在越后面,即能达到使得时间最小。 ②
湖南工学院数学建模竞赛
承 诺 书
我们仔细阅读了第五届湖南工学院数学建模竞赛的竞赛规则。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们愿意承担由此引起的一切后果。
(3) 时间最省,目标函数: min{(T1(3) (max(Ti (2) , Ti 1 ) ci ,3 ))}, 12 i 2
问题五:我们需从问题三和问题四中抽象出一般化 n 个工件在 m 台机器上加工的 工件排序问题的模型,即实现目标函数和约束条件(主要指顺序位约束和工件约束) 的一般化。对于一般化的模型只需在程序中的工件、顺序集里加入相应的属性;在程 序段中加入对应的算法和约束条件就可以完全替换从而解决问题了。 目标函数:
xij 0或1且 n, m 1, 2...
本题有两个目标:总时间最短和工件价值最大,建立如下排序时间优化模型和排序价 值优化模型。 排序时间优化模型: 目标函数为: min M j .
i 1 j 1 n i
M1 x11t1 x12t2 ... x1mtm
6
M 2 x21t1 x22t2 ... x2 mtm
x11 x21 xn1 1, x12 x22 xn 2 1,
„„
x1m x2m xnm 1.
2、计算实现
第一步:定义所需变量,对排序前后加工、完工时间,以及停留时间用相应的符号表 示;
第二步:用@for(links:@bin(order));语句定义 0/1 变量,并对其加以每个顺序位只能有一
二、问题分析
本题涉及的总时间可以理解为各个工件在工厂的停留时间之和,工件价值为 工件的利润(题目表1已经给出) ,对于本题中的五个问题现作如下分析: 问题一:不考虑工件的完工时间和工件的价值,使得完成这批工件加工任务所需 的总时间最省,属于没有时间限制,所以工件不存在冲突而不能排上。依据贪心算法 思想先满足容易满足的先考虑容易实现的,即先排加工时间短的工件依次排序,目标 函数: T总 Ti 问题二:在问题一的基础上,12 个工件都出现完工时间限制,同时目标函数转变 为加工工件的总价值最大。由于每个工件都有完工时间的限制,工件之间的加工时间 有可能冲突,因此,12 种工件不一定都可以入选到最优加工序列中(即目标排序中可 能出现工件空缺) ,目标函数: Maxv yi vi
个零件每个零件只能排在一个顺序位上的约束条件,实现 n!种排序,检验每种排序是 否符合时间约束条件。判断出符合目标函数最小的最优排序; 第三步:输入需要的原始数据各加工和完工时间,经程序运行输出结果各零件加工顺 序和总停留时间;
① 、问题一:
约翰逊法排序思想: (1)在全部给出的工时中找出 t min ; (2)若 t min 在前工序,则该 t min 对应的工件应尽量往前排;若 t min 在后续工序,则对应 的工件往后排; (3)除去已经排了的工件,对余下工件继续按步骤(1) 、 (2)处理,直至全部排完。 如果我们用 pi 表示安排在第i位加工的零件所需的时间,用 Ti 表示安排在第i位加工的 工件在车间里总的停留时间,则有
摘要
本题根据已知数据,结合问题中的具体要求,我们引入 0-1 变量建立工件排序的 数学规划模型。借助 lingo 软件进行求解运算,得出其中的最优排序方案。使完成这 批工件加工任务所需要的总时间最省或要求整个选择加工的工件价值最大。我们通过 对各个工件(排序后)完成某项特定工序所需总时间进行求和得到整个加工任务所需 要的总时间,而各工件的总时间包括其车床加工时间和加工其他零件时的等待时间。 整个工件加工过程简化为一个连续的过程,只考虑车床在加工工件时其他工件的等待 时间。运用 lingo 软件编程解决给出的 12 个工件加工排序问题: 问题一,简单运用了约翰逊法算法和贪心算法思想,先考虑最容易满足最容易 实现的部分,解答出了最优加工方案,其总时间为 178.9 小时,最优加工排序为 6 →3→9→7→10→5→1→2→8→11→4→12 或者 6→3→9→10→17→5→1→2→8→11 →4→12; 问题二:由于工件必须在它们要求的时间内完工是属于有时间限制,因此不可 能全部进行加工,采用“0-1 规划”得出最大的工件价值为 117 元,最优方案是选 择工件 9→1→12→3→7→10→6→4→11→8; 问题三:调整两台机器参与加工,并且必须先在车床上加工再在在钻床上加 工,最终得到了优化加工顺序及对应的工件在车间停留的时间,完成这批工件加工 任务所需的最省总时间为 219.2 元,最优的工件排序为 3→6→2→7→10→5→9→4 →8→1→11→12; 问题四:在问题三的基础上将机器转变为 3 台,依旧规定三种机器的加工顺序(先 车床再钻床后铣床) ,完成这批工件加工任务所需的最省总时间为 242.5 元,最优的工 件排序为 3→6→11→10→7→5→2→5→8→1→4→12; 问题五:将该模型一般化为n个工件在m台机器上加工的一般的工件排序问题,一般
i 1 n i 1 12
4
问题三:两台机器加工排序求总时间最省问题,并且机器的加工有先后顺序(工 件在钻床加工之前必须先在车床上加工过) ,根据总时间的定义,某工件从任务开始时 刻起到完成钻床工序止所需要的总时间包括该工件完成车床工序的时间,等待上一个 工件加工完的时间(即从该工件在车床加工完毕时刻起到其上一个工件在钻床上加工 完毕这一段时间) ,该工件在钻床上加工的时间。 我们假设 i 工件在车床 M 2 i 加工所需时间为 M 1i ,在钻床上 X 2 i 加工所需时间为
„„
M n xn1t1 xn 2t2 ... xnmtm
限制约束 1,每个顺序位最多只有一个工件:
x11 x12 x1n 1, x21 x22 x2 n 1,
„„
xm1 xm 2 xmn 1.
限制约束 2:每个工件最多只排在一个顺序位上:
5
4、n 个工件在 m 台机器上加工排序问题,不考虑工件完工时间限制,对应的目标 函数为“短时间”(即最终完工时间最短)。
四、符号说明
符号 说明 表示安排在第i位加工的工件所需的时间 从小到大排序后,第i种工件在第j中机器上停留的时间 表示安排在第i位加工的工件在车间里总的停留时间 按完工时间从大到小排序后第i种工件的完工时间 按完工时间从大到小排序后第i种工件的加工时间 按完工时间从大到小排序后第i种工件的工件价值 0-1变量(取0或1) 最大的价值总量 第 i 种工件件在车床 M 1 加工所需时间 在达到时间最小的总目标的情况下进行排序后,i零件的加工时间 第i种工件在第j种零件上的加工时间 第i种工件在第j种机器上停留的时间 第 i 种工件在第j中机器上的加工状态,为0-1变量
M 2 i =Max( M 2 i , M 2( i 1) )+ X 2 i
12 i 2
(i 1)
(2) 故有目标函数: min{(T1(2) (max(Ti (1) , Ti 1 ) ci 2 ))},
问题四:在问题三的基础上增加机器总台数为 3 台,其他条件不变的情况下求总
问题二:根据问题分析和前面的建模分析,若使得在要求的时间内完工,则所有
我们的参赛报名号为:
参赛队员 (签名) :
队员 1:李文华
队员 2:周宇
来自百度文库
队员 3:余光祥
湖南工学院数学建模竞赛
编号专用页
参赛队伍的参赛号码:(请各个参赛队提前填写好):
竞赛统一编号(由竞赛组委会送至评委团前编号):
竞赛评阅编号(由竞赛评委团评阅前进行编号):
2
湖南工学院数学建模竞赛
题 目 工件加工排序
pi Ri Fi
fi
hi
vi
yi
Maxv
cij
Mi
ti( j )
Ti ( j )
xij
五、模型建立
1、模型建立
引入 0-1 变量,表示在 m 个机器上 n 个工件的加工状况矩阵
x11 x Ph 21 x n1 x12 x1n x22 x2 n xn 2 xnn
间为 M 2(i 1) , ( i 2 ) 。 这里要分两种情况进行分析: (1)当 M 1i M 2(i 1) 时,即 i 工件完成车床工序的总时间大于或等于(i-1)工件完 成钻工序的总时间,此时 i 工件不需要等待(i-1)工件而立即就进入钻工序,因此 i 工 件完成钻床工序的总时间表达式为 M 2 i = M 1i + X 2 i (2).当 M 1i M 2( i 1) 时,即 i 工件完成车工序的总时间小于或等于(i-1)零件完成 钻工序的总时间,此时 i 工件需要等待(i-1)工件完成钻床工序才能进入钻床加工。因 此 i 工件完成钻床工序的总时间表达式为 M 2 i = M 2( i 1) + X 2 i 。 综合以上两种情况,得到 i 工件完成钻床工序的总时间计算公式为
( m) 化模型的目标函数: min{(T1( m ) (max(Ti ( m1) , Ti 1 ) ci , m ))}, n
关键字:工件加工排序
0-1变量
i 2
总时间最省
最大的工件价值
3
一、问题重述
有一个工厂现在有 12 种工件(编号为工件 1,工件 2,„,工件 12)需要在车 床,钻床,铣床几种不同的设备上加工。考虑如下问题的工件加工的排序问题: 问题一:不考虑工件的完工时间和工件的价值,为该工厂安排工件加工的次序, 应按照怎样的顺序来安排 12 个工件的加工顺序,使得完成这批工件加工任务所需的总 时间最省?(注:总时间即为各个工件的加工时间和加工其他工件时它们等待时间之 和) 问题二:工件有完工时间要求,完工时间如表一所示,为该工厂安排选择加工工 件的种类及加工的次序,使得整个选择加工的工件价值最大? 问题三:12 种工件都要求先在车床上加工,然后再在钻床上加工(即工件在钻床 加工之前必须先在车床上加工过) ,每种机器一次只能加工一种工件,应按照怎样的顺 序来安排 12 个工件的加工顺序,才能使完成这批工件加工任务所需的总时间最省? 问题四:12 种工件都要求先在车床上加工,然后再在钻床上加工,最后再在铣床 上加工,每种机器一次只能加工一种工件建立数学模型,应按照怎样的顺序来安排 12 个工件的加工顺序,才能使完成这批工件加工任务所需的总时间最省? 问题五:对于上述问题你做出的数学模型和相应的算法给出评价。并将模型推广 到 n 个工件在 m 台机器上加工的一般的工件排序问题,给出你的想法和解决问题的思 路。
( m) min{(T1( m ) (max(Ti ( m1) , Ti 1 ) ci , m ))}, i 2 n
三、模型假设
1、每个工件加工在上班时连续的,不中途不插入其它工件。 2、忽略工件在转换工序时的运输时间。即每个工件在上道工序加工完毕之后,立 即转移到下道工序继续加工。 3、每个工件在每台机床上加工的时间不变,且不受偶然事件的干扰。
Ri p1 p2 p3 ... pi 1 pi pi R总 Ti np1 (n 1) p2 (n 2) p3 ... pn
i 1 n i 1
(1) (2)
7
由(2)式可得,只要系数越大,配上加工时间越少的,加工时间越少的工件排在越前 面,加工时间越多的零件排在越后面,即能达到使得时间最小。 ②
湖南工学院数学建模竞赛
承 诺 书
我们仔细阅读了第五届湖南工学院数学建模竞赛的竞赛规则。 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料) ,必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们愿意承担由此引起的一切后果。
(3) 时间最省,目标函数: min{(T1(3) (max(Ti (2) , Ti 1 ) ci ,3 ))}, 12 i 2
问题五:我们需从问题三和问题四中抽象出一般化 n 个工件在 m 台机器上加工的 工件排序问题的模型,即实现目标函数和约束条件(主要指顺序位约束和工件约束) 的一般化。对于一般化的模型只需在程序中的工件、顺序集里加入相应的属性;在程 序段中加入对应的算法和约束条件就可以完全替换从而解决问题了。 目标函数:
xij 0或1且 n, m 1, 2...
本题有两个目标:总时间最短和工件价值最大,建立如下排序时间优化模型和排序价 值优化模型。 排序时间优化模型: 目标函数为: min M j .
i 1 j 1 n i
M1 x11t1 x12t2 ... x1mtm
6
M 2 x21t1 x22t2 ... x2 mtm
x11 x21 xn1 1, x12 x22 xn 2 1,
„„
x1m x2m xnm 1.
2、计算实现
第一步:定义所需变量,对排序前后加工、完工时间,以及停留时间用相应的符号表 示;
第二步:用@for(links:@bin(order));语句定义 0/1 变量,并对其加以每个顺序位只能有一
二、问题分析
本题涉及的总时间可以理解为各个工件在工厂的停留时间之和,工件价值为 工件的利润(题目表1已经给出) ,对于本题中的五个问题现作如下分析: 问题一:不考虑工件的完工时间和工件的价值,使得完成这批工件加工任务所需 的总时间最省,属于没有时间限制,所以工件不存在冲突而不能排上。依据贪心算法 思想先满足容易满足的先考虑容易实现的,即先排加工时间短的工件依次排序,目标 函数: T总 Ti 问题二:在问题一的基础上,12 个工件都出现完工时间限制,同时目标函数转变 为加工工件的总价值最大。由于每个工件都有完工时间的限制,工件之间的加工时间 有可能冲突,因此,12 种工件不一定都可以入选到最优加工序列中(即目标排序中可 能出现工件空缺) ,目标函数: Maxv yi vi
个零件每个零件只能排在一个顺序位上的约束条件,实现 n!种排序,检验每种排序是 否符合时间约束条件。判断出符合目标函数最小的最优排序; 第三步:输入需要的原始数据各加工和完工时间,经程序运行输出结果各零件加工顺 序和总停留时间;
① 、问题一:
约翰逊法排序思想: (1)在全部给出的工时中找出 t min ; (2)若 t min 在前工序,则该 t min 对应的工件应尽量往前排;若 t min 在后续工序,则对应 的工件往后排; (3)除去已经排了的工件,对余下工件继续按步骤(1) 、 (2)处理,直至全部排完。 如果我们用 pi 表示安排在第i位加工的零件所需的时间,用 Ti 表示安排在第i位加工的 工件在车间里总的停留时间,则有
摘要
本题根据已知数据,结合问题中的具体要求,我们引入 0-1 变量建立工件排序的 数学规划模型。借助 lingo 软件进行求解运算,得出其中的最优排序方案。使完成这 批工件加工任务所需要的总时间最省或要求整个选择加工的工件价值最大。我们通过 对各个工件(排序后)完成某项特定工序所需总时间进行求和得到整个加工任务所需 要的总时间,而各工件的总时间包括其车床加工时间和加工其他零件时的等待时间。 整个工件加工过程简化为一个连续的过程,只考虑车床在加工工件时其他工件的等待 时间。运用 lingo 软件编程解决给出的 12 个工件加工排序问题: 问题一,简单运用了约翰逊法算法和贪心算法思想,先考虑最容易满足最容易 实现的部分,解答出了最优加工方案,其总时间为 178.9 小时,最优加工排序为 6 →3→9→7→10→5→1→2→8→11→4→12 或者 6→3→9→10→17→5→1→2→8→11 →4→12; 问题二:由于工件必须在它们要求的时间内完工是属于有时间限制,因此不可 能全部进行加工,采用“0-1 规划”得出最大的工件价值为 117 元,最优方案是选 择工件 9→1→12→3→7→10→6→4→11→8; 问题三:调整两台机器参与加工,并且必须先在车床上加工再在在钻床上加 工,最终得到了优化加工顺序及对应的工件在车间停留的时间,完成这批工件加工 任务所需的最省总时间为 219.2 元,最优的工件排序为 3→6→2→7→10→5→9→4 →8→1→11→12; 问题四:在问题三的基础上将机器转变为 3 台,依旧规定三种机器的加工顺序(先 车床再钻床后铣床) ,完成这批工件加工任务所需的最省总时间为 242.5 元,最优的工 件排序为 3→6→11→10→7→5→2→5→8→1→4→12; 问题五:将该模型一般化为n个工件在m台机器上加工的一般的工件排序问题,一般
i 1 n i 1 12
4
问题三:两台机器加工排序求总时间最省问题,并且机器的加工有先后顺序(工 件在钻床加工之前必须先在车床上加工过) ,根据总时间的定义,某工件从任务开始时 刻起到完成钻床工序止所需要的总时间包括该工件完成车床工序的时间,等待上一个 工件加工完的时间(即从该工件在车床加工完毕时刻起到其上一个工件在钻床上加工 完毕这一段时间) ,该工件在钻床上加工的时间。 我们假设 i 工件在车床 M 2 i 加工所需时间为 M 1i ,在钻床上 X 2 i 加工所需时间为
„„
M n xn1t1 xn 2t2 ... xnmtm
限制约束 1,每个顺序位最多只有一个工件:
x11 x12 x1n 1, x21 x22 x2 n 1,
„„
xm1 xm 2 xmn 1.
限制约束 2:每个工件最多只排在一个顺序位上:
5
4、n 个工件在 m 台机器上加工排序问题,不考虑工件完工时间限制,对应的目标 函数为“短时间”(即最终完工时间最短)。
四、符号说明
符号 说明 表示安排在第i位加工的工件所需的时间 从小到大排序后,第i种工件在第j中机器上停留的时间 表示安排在第i位加工的工件在车间里总的停留时间 按完工时间从大到小排序后第i种工件的完工时间 按完工时间从大到小排序后第i种工件的加工时间 按完工时间从大到小排序后第i种工件的工件价值 0-1变量(取0或1) 最大的价值总量 第 i 种工件件在车床 M 1 加工所需时间 在达到时间最小的总目标的情况下进行排序后,i零件的加工时间 第i种工件在第j种零件上的加工时间 第i种工件在第j种机器上停留的时间 第 i 种工件在第j中机器上的加工状态,为0-1变量
M 2 i =Max( M 2 i , M 2( i 1) )+ X 2 i
12 i 2
(i 1)
(2) 故有目标函数: min{(T1(2) (max(Ti (1) , Ti 1 ) ci 2 ))},
问题四:在问题三的基础上增加机器总台数为 3 台,其他条件不变的情况下求总
问题二:根据问题分析和前面的建模分析,若使得在要求的时间内完工,则所有
我们的参赛报名号为:
参赛队员 (签名) :
队员 1:李文华
队员 2:周宇
来自百度文库
队员 3:余光祥
湖南工学院数学建模竞赛
编号专用页
参赛队伍的参赛号码:(请各个参赛队提前填写好):
竞赛统一编号(由竞赛组委会送至评委团前编号):
竞赛评阅编号(由竞赛评委团评阅前进行编号):
2
湖南工学院数学建模竞赛
题 目 工件加工排序
pi Ri Fi
fi
hi
vi
yi
Maxv
cij
Mi
ti( j )
Ti ( j )
xij
五、模型建立
1、模型建立
引入 0-1 变量,表示在 m 个机器上 n 个工件的加工状况矩阵
x11 x Ph 21 x n1 x12 x1n x22 x2 n xn 2 xnn