基于零件加工问题的0-1规划排序优化模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于零件加工问题的0-1规划排序优化模型
摘要
零件加工排序问题为运筹学的排序问题,有各种不同的模型和不同的目标函数[1]。本文讨论的是零件加工流水作业(Flow-shop) 排序排列问题,参考已有的零件加工4参量表示法[2],给出了添加上“限制”的5参量表示法:f P u L mM nE //)(//(nE —零件数;mM —机器数,)(u L —有无限制,f —目标函数)。对问题进行深入的分析、研究,建立:
(1)0-1规划排序时间优化模型:
目标函数:},))),(max((n 1min{2
)
()(1)1()(1∑=--++n
i m i m i m i m X ST ST ST ,这里.)(1)1(1
)(1m m m X ST ST +=- (2)0-1规划排序价值优化模型:目标函数为:∑=n I i i Y V Max 1
(3)最长流程时间最短模型:k s i fm ={}
k s k s k s i i i mt fm fm +--1,max 1。
运用lingo 软件编程解决给出的10个零件的四个不完全相同机器台数、时间限制、目标函数的问题:
问题一,简单运用了“0-1规划”模型部分,解答出了最优加工方案,其平均时间为10.82小时,加工路线为3→5→1→10→7→4→2→8→9→6,此结果跟约翰逊算法的结论相符合。
问题二:在第一问得到的最优解的基础上,进行模型调整使得满足完工时间的限制,最终得到了优化加工顺序及对应的零件在车间停留的平均时间。
问题三:由于全部零件都有完工时间的限制,因此不可能全部进行加工,采用“0-1规划”得出最大的工件价值。
问题四:在问题一解的基础上,进行模型改进,得到零件加工的最大流程时间,并用约翰逊法对结果进行验证。
问题五:根据上述几个问题,运用“0-1规划”模型求出零件的车间停留平均时间。并采用Gupta 启发式算法对模型进行求解优化,得出最大流程时间。
最后用约翰逊排序算法来检验并给出更一般化的简单解决排序问题的方法。
模型提供了单双工序的0-1遍历计算,以及多工序下的启发式算法优化计算,满足不同工序情况下的不同要求,追求最大程度的目标满足。
关键词:零件加工 0-1规划 lingo 约翰逊法 Gupta 启发式算法
一、问题重述
零件加工问题
某工厂的一个车间有一台高质量、高精度的机床,现有10种零件同时要求加工,这10种零件加工所需时间见附2表一所示。
问题一:应按照怎样的顺序来安排10个零件的加工顺序,才能使这10个零件在车间停留的平均时间最短?()
P
f
u
M
E问题)
/
(
10t
/
/
1/
问题二:如果部分零件有完工时间要求,完工时间如表一所示;应按照怎样的顺序来安排10个零件的加工顺序,才能使这10个零件在车间停留的平均时间最短?
()
P
L
(
E问题)
f
M
/
/
/
10t
1/
如果每个零件均有加工时间、完工时间和零件价值,见附2表二所示。
问题三:建立模型求整个选择中,所选择零件加工的总价值最大。
()
f
10v
M
E问题,并可以车间停留的平均时间最短为次要目标)
L
P
(
/
/
1/
/
如果这10种零件先在车床上车削,然后再在钻床上钻孔(AB两道工序),加工所需时间见附2表三所示。
问题四:应按照怎样的顺序来安排10个零件的加工顺序,才能使这10个零件在车间停留的平均时间最短?()
L
P
f
E问题)
M
/
(
/
/
10t
2/
问题五:建立数学模型,虑虑一般的n个零件在m台机器上加工排序问题。
()
P
u
mM
nE问题)
f
/t
/
/
/
(
二、模型假设
1、每个机器在同一时间只能加工一个零件。
2、每个零件加工在上班时连续的,不中途不插入其它零件。
3、忽略工件在转换工序时的运输时间。即每个零件在上道工序加工完毕之后,立即转移到下道工序继续加工。
4、在多台机器上加工时,各零件在各机器上的加工顺序一致,且都需要加工,即问题为流水作业(Flow-shop) 排序排列问题。
5、每个零件在每台机床上加工的时间为已知,且不受偶然事件的干扰。
6、n个零件在m台机器上加工排序问题,不考虑零件完工时间限制,对应的目标函数为“短时间”(即最终完工时间最短)。
7、作业计划,可安排的时间段为:上午08:00~11:00,下午14:00~17:00。
三、符号说明
j mt j 零件的加工时间 j ft
j 零件的完工时间
i MT 排序后,i 零件的加工时间
i ST i 零件的在车间的停留时间 i T
零件实际车间停留时间 j M
机器j (j =1,2,3……m )
注:其他符号,详见下文标注。
四、问题分析
无/有时限:问题一、四以及假设下的问题五,都是“无时限问题(即没有零件完工
时间限制)”;而问题二、三,为“有时限问题”。
单/多工序:问题一、二、三,为零件加工“单工序问题”;而问题四、五,为零件加工“多工序问题”。
目标函数:问题一、二、四、五,追求的是“短时间(即零件车间平均停留时间最短)目标”(即目标函数);问题三,追求的是“大价值(即所选择零件加工的总价值最大)目标”。追求零件车间平均停留时间最短意义在于使得零件总体价值能够争取到最大,特别是对于有着时间效应的零件。
有时限问题,求解的前提,是要满足时间限制。然后结合工序的多少,就这目标函数,求解最优的排序方案。
问题一:)(///1/10t f P u M E 问题,没有时间限制,所以零件不存在冲突而不能排上。
问题二:)(///1/10t f P L M E 问题,在问题一的基础上,4个零件出现完工时间的限制。
问题三:)(///1/10v f P L M E 问题,在问题一的基础上,10个零件都出现完工时间限制,同时目标函数转变为加工零件的总价值最大。由于每个零件都有完工时间的限制,零件之间的加工时间有可能冲突,因此,10种零件不一定都可以入选到最优加工序列中(即目标排序中可能出现零件空缺)
问题四:根据总时间的定义,某零件从任务开始时刻起到完成钻床工序止所需要的总时间包括该零件完成车床工序的时间,等待上一个零件加工完的时间(即从该零件在车床