1、题目:流水线车间调度优化模型【摘 要】通过对问题的分析,流水线车间调度问题可以归结为一个整数规划问题,本论文中根据题目所给的条件以及实际情况依次建立起两个模型。在满足加工时间最短的前提下,基于对问题约束条件不同的翻译得到两个模型从而得到不同的生产顺序,为决策者提供了更多的生产方案。联系生产生活实际情况,放松加工工件必须遵循相对顺序不变这一约束条件,提出模型的改进方向。模型一,根据题目要求即每个工件的加工顺序为弯折焊接装配且每台机器每次只能处理一个加工件。构造一个每行每列只含一个 1 其余元素为0 的矩阵,通过矩阵乘积实现对原来工件工序耗时的行变换,整个过程相当于遍历。建立线性规划模型,利用 L
2、INGO 软件求解。结果为当加工顺序为 413652 时,用时最短为 35min,利用 Excel 作出甘特图使整个生产安排流程更加清晰,引入时间利用率的概念即加工工件的时间占开启时间的百分比,得到在加工顺序为 413652 时机器一(弯折)机器二(焊接)机器三(装配)的时间利用率依次为 , , ,从而可从机器负载评价0%7.910加工过程。模型二,将每台机器每次只能处理一个加工件这一约束条件翻译为一旦开始顺序确定,则后续工序仍按原顺序进行。引入 01 变量表示两工件生产顺序,建立 01 规划模型,利用 LINGO 软件求解。结果为当加工顺序为 136452 时,用时最短为 35min。利用甘
3、特图对结果进行分析与检验,得到 3 台机器的时间利用效率分别为 ,为决策者选择方案提供了更多的10%96.3参考指标。讨论本文所建模型的优点和缺点,横向的对比两个模型。在工件数目相对较多(在十这一数量级上)的情况下选择模型一求解,LINGO 可以在短时间内给出答案;在数据量较少的情况下运用模型二求解,因为它模型建立过程简单易懂,编程容易。但是对于工件数目处于百个数量级时,两种模型均无法在短时间内得到答案,需要建立新的模型,设计新的算法求解此类大规模排序问题。针对模型的部分缺点提出优化改进方案,改变初始工件加工各工序耗时矩阵,即动态设立初始点以弥补 LINGO 软件只能输出一组最优解的局限,得出
4、当加工顺序为 316542,416532,341652,146532 时也能使加工时间最短为 35min,提供了更多的可选择方案。联系实际生产,根据各机器单位时间的工作成本不同,可以建立多目标规划模型,既要使总的时间最短又要使整个加工过程机器的总成本最低,同时实现时间和成本的最优化。可以为决策者提供更实用的生产工件加工顺序规划。文末简述了模型的推广与应用。将此线性整数规划模型稍作修改就可以运用到安排面试人员的面试顺序、单机调度最优化、公交车的调度等问题。枚举的思想可以用到一些小规模的排序问题中,利用优化软件也可以快速求得其最优解。可以为实际生产生活解决问题带来极大地便利。【关键词】流水线调度
5、线性整数规划模型 甘特图 LINGO1问题重述21 世纪是一个注重效率和时间利用率的时代,在工业生产和经济发展中,我们竭尽全力去节省时间,在有限的时间内尽可能多的创造财富。所以,根据实际的生产需要及生产要求合理的安排生产的顺序尤为重要。生产调度即将分好批的生产任务落实到加工设备上,以使某代价最小,所谓的某代价最小也即优化目标。所谓的流水线车间调度即有一组功能不同的机床,待加工的零件包含多道工序,每道工序在一台机床上加工,所有零件的加工顺序相同。在本问题中,共有 3 个机床,6 种待加工零件,每种零件需要经过 3 道工序,每台机床同一时间只能加工一种工件,确定了开始时的加工顺序随后的加工顺序不会
6、改变。建立适当的数学模型,确定加工件的先后顺序,使得加工所有用件用时最短。6 种工件加工工序需时(分钟)见下表 1:表 1:6 种加工工件各工序耗时表(min)加工件 1 2 3 4 5 6 弯折 3 6 3 5 5 7焊接 5 4 2 4 4 5装配 5 2 4 6 3 62问题分析与假设2.1 问题分析此问题属于规划问题,目的是给出使加工时间最短的工件加工顺序。已知每个加工件在各个加工工序所需要的时间,并且规定每台机器每次只能处理一个加工件,每个加工件按照给定处理步骤即弯折焊接装配依次进行,要求出加工所有工件所用的最短时间。要让总的加工时间最短,每种机器工作时间是连续的,即中途不允许在有生
7、产任务有做相应任务的机器空闲时,机器不加工。总的时间就是第一台机器开始工作到第三台机器停止工作的时间。通过分析知道此问题是一个整数规划问题,准确的说是一个线性规划中的二次分配问题。根据题目要求忽略次要影响因素,将主要因素翻译成数学语言,利用已有的数学知识,建立相应的模型。忽略了机器加工的准备时间以及机器可能出现故障等突发条件,以工件加工顺序随初始顺序而确定,各工件按一定顺序加工为主要约束条件,建立使得加工总用时最少的整数规划模型。2.2 模型假设(1) 机器正常工作,不出现故障,中途也不需要进行维护;(2)机器加工效率不随时间改变,即加工件的先后顺序不影响各个工序的用时;(3) 每种金属管件都
8、要经过三个阶段即弯折、焊接、装配,先后顺序不允许打乱,两工序之间可以等一段时间也可以不隔时间;(4)每种机器每次只能处理一个加工件,等待下一台机器处理时,按原顺序进行不允许排在后面的加工件“插队” ;(5) 所有机器准备时间(忽略)为零,即所有生产件立即进入加工;(6) 无紧急件及其他突发情况。3符号说明符号 含义:w工件总数p加工工序数IJt第 I 个加工的工件第 J 道工序所需要的时间IJwb第 I 个加工的工件开始第 J 道工序的时刻ijt号加工件在第 j 个工序需要的时间iijb号加工件开始第 j 道工序的时刻iikY引入的 01 变量, 0=1ikikY, 号 工 件 在 号 工 件
9、 前 加 工, 号 工 件 在 号 工 件 后 加 工T总用时jj加工第 道工序的机器的时间利用效率4模型一的建立与求解4.1 模型一的建立此问题明显是根据生产顺序的排列组合,求最小的生产时间的问题。一共有六个工件共有 720 种可能的排列顺序。构建一个 的 0-1 矩阵,每行每列仅6有一个元素为 1,其余元素为 0,共有 720 种矩阵。我们假设最优的方案已经找到,即第 个生产的工件工件号为 i。I要求最小的加工时间,即第一台机器开始工作到最后一台机器停止工作的时间最短。转化为最后一个加工的工件开始第三道工序的时刻与第三道工序耗时之和即(4.1)63Twtb又由假设可知每个工件依次经过弯折焊
10、接装配,所以对于第 I 个加工的工件前一个工序的结束时间必须在不晚于下一道工序的开始时间即(4.2)(1)IJIIJtbt又每个机器每次只能加工一个工件故第 I+1 个工件必须在第 I 个工件的 J 工序完成后才能进行 J 工序, (4.3)(1)IJIIJwtbt因为已经假设最优的方案已经找到, 是对应最优方案的工序加工耗时,必IJt须对原来的按工件序号组成的耗时矩阵变换为按加工顺序组成的耗时矩阵。引入 的 0-1 矩阵,每行每列仅有一个元素为 1,其余元素为 0。61231456123233412434564125566,yyttyy2313342435515666w,ttttttt61,
11、2,3456,mnny两矩阵相乘得到的新矩阵,例如,112131415161wtyttyttytt若最优解对应的 ,说明工件 3 排在第一个加工。第一行即第一个加工工13件各加工工序的耗时,以此类推第 6 行是第 6 个加工工件各工序的耗时。综上,得到整数规划模型如下:;63minwtb123145612323341243456415566,.yyttyyst12133234124355566616 w,2,345mnn ttttttty(1)=1,2345,6IJIIJwtb注:为了表达简便,在约束条件中,将 取到 6, 取到 3,但 在为 3 时IJ(1)IJwb越界, 在 为 6 时越界
12、,此时只需在编程的过程中对分 分别约束即(1)IJwb可。4.2 模型的求解将目标函数及约束条件输入到 Lingo 中运行求解,可以得到结果(程序语句以及输出结果参见附录),可得加工顺序为为 341256。为了更清晰的说明生产流程,由求解结果作出各工件开始、完成各工序的时间表 41表 41 工件 i 开始及完成工序 J 的时间生产工序 J工件号 i开始1(弯折)完成弯折开始2(焊接 )完成焊接开始3(装配)装配完成4 0 5 5 9 9 151 5 8 9 14 15 203 8 11 17 19 20 246 11 18 19 24 24 305 18 23 25 29 30 332 23
13、29 29 33 33 354.3 模型检验与分析根据表 41 利用 Excel 作出甘特图如图 4 一 1图 4 一 1 工件生产顺序甘特图即加工顺序为 413652 时,最短加工时间为 35min。负责弯折的机器 029min 一直工作,未出现空载情况;负责焊接的机器 59min、 1724min、25 33min 工作,从开始到停止共9min 空载;负责装配的机器 935min 一直工作。利用率= 10%加 工 工 件 时 间开 启 时 间机器 1(负责弯折)机器 2(负责焊接)机器 3(负责装配)在一个生产周期时间利用率 230%9=167.98可以看出此加工顺序使三个机器的空载时间不
14、均衡,机器二空载时间过长。此模型模拟遍历的过程,没有对工件不允许插队进行限制,而且各机器的时间利用效率不均衡,为了求解出更加合理的生产顺序,建立模型二。5模型二的建立与求解5.1模型的建立模型一采取遍历的思想方法来表示工件之间的绝对加工顺序,还有一种方法就是对两个工件的加工顺序依次进行比较,引入 01 变量来表示任意两个工件的相对加工顺序,根据他们相对的加工顺序求得总的加工顺序。首先每个工件都要满足按照弯折焊接装配的工序生产。即前一个工序结束后才能进行后一个工序。故(5.1)+1ijijbt( )其次工件之间的加工顺序不改变,引入 01 变量 ,ikY,0=1ikikY, 号 工 件 在 号
15、工 件 前 加 工, 号 工 件 在 号 工 件 后 加 工若按一种工件 3 道工序全部加工完成,另一工件才开始加工,完成 6 种工件需要 94,故在 之前加工时,ik(5.2)094=ijkjibtY在 之后加工时,ik(5.3)+t0941=kjijikbY由(5.2)(5.3)得(5.4)94+t1ijkjikkjijibY(5.4)表示 ,也有可能在它之前加工。i号 工 件 有 可 能 在 号 工 件 后 加 工对于任何一个工件,其加工结束的时间应不超过总时间,即(5.5)3iitbT综上所述,得到一个以加工时间最短为目标的整数规划模型 mins.t.13i 94*+T1,25,64,
16、0ijijijkjikki iikbtYtjY( -)5.2 模型的求解将目标函数及约束条件输入到 Lingo11 中运行求解,可以得到结果(程序语句以及输出结果参见附录),即加工顺序为 136452 时加工时间最短为 35min。根据结果做出 号工件开始第 j 道工序和完成第 j 道工序的时刻表 51i表 51 号工件开始第 j 道工序和完成第 j 道工序的时刻i生产工序 j工件号 i1(弯折) 完成弯折 2(焊接 ) 完成焊接 3(装配) 装配完成1 0 3 3 8 8 132 23 29 29 33 33 353 3 6 8 10 13 174 13 18 18 22 24 305 18
17、 23 23 27 30 336 6 13 13 18 18 245.3 模型的检验与分析为了更加直观的表示整个生产流程,画出甘特图。如图 5-2从甘特图中可以清晰的看出加工顺序为 136452,总时间为35min。工序 1 即弯折的条形图,负责弯折的机器从 0-29min 一直工作,没有出现空载情况;工序 2 的条形图,负责焊接的机器 3-10min 工作,10-13min 空载,13-33min 工作;工序 3 的条形图,负责装配的机器从 8-17min 工作,17-18min 空载,18-35min工作。机器 1(负责弯折)机器 2(负责焊接)机器 3(负责装配)在一个生产周期时间利用率
18、12390%1905816.3在此情况下,三个机器的利用率相差不大即机器负荷相对平衡。得到了比较满意的生产顺序安排。6模型的评价本文建立了两个模型。模型一建立了线性整数规划模型,模拟遍历的过程,解决了各生产工件任务量相等时完成任务的最短时间以及对应的加工顺序。模型二引入 01 变量表示两工件相对加工顺序,建立了 01 规划模型,求得使加工过程最短的加工顺序。6.1 模型的优点(1) 采用较为成熟的数学理论建立模型,所建模型简单,通俗易懂。(2) 为求得更为合理的生产工作调度表,建立多个模型,对结果进行比较,有较强的实用性。(3) 模型的计算采用 LINGO 软件,算法简便,编程实现简单;可信度
19、较高,便于推广。(4) 甘特图的使用使生产过程更加清晰,各机器工作时间,各工件加工进度一目了然。(5) 机器时间利用效率概念的引入从整体上评价了不同生产顺序的利弊。6.2 模型的缺点(1)模型虽然综合考虑了很多因素,但为了建立模型,理想化了许多影响因素,具有一定的局限性,得到的最优方案可能与实际有一定的出入。(2)模型只考虑了时间最短,没有考虑成本最低,有可能每个机器运转时单位时间花费不同,模型结果与实际有一定差距。(3)所建立的模型对工件个数少的流水线调度比较适用,一旦工件种类增加至 100 个及以上可能很难得到全局的最优解。(4)LINGO 软件求解优化问题时,只能输出一组最优解,其他最优解不能输出。即使得到了最短时间是 35min,但是不能得到所有使与之对应的加工顺序。