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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

APS算法.docx

1、APS算法装配型 MES 生产调度技术研究集团公司总装分厂主要负责集团产品(主要为导弹)的总装,是产品生产工艺路线的末端生产单元,它的装配线采取手工装配的多品种轮番流水线装配。目前车间作业计划的编制流程是由总装分厂按照集团生产主计划制定相应的车间生产计划,并将作业计划发至相应导弹的装配车间。目前相应的计划主要是由计划员以及调度员根据经验进行编制,这种作业计划编制过程没有考虑车间资源能力、瓶颈环节以及实时信息,导致计算得到的所谓“满意解”与车间生产实际相偏离,甚至导致计划不可执行。因此,必须寻求新的适应 MES 系统要求的生产调度算法。本章在分析了目前生产车间计划编制存在问题的基础上,建立了制造

2、系统模型,提出了基于瓶颈分解的启发式算法,使复杂的调度问题得到简化、计算规模小,并能对车间的动态变化做出迅速的反应。4.1装配车间作业计划排序现状目前,装配车间作业排序采用的是倒排产算法,对车间同一时刻的不同类型投产零件进行一次计算的方法,按照零件工序完工期限的早晚进行安排,完工期限早的零件工序排在前,晚的排在后。然后由零件的最晚完工日期开始按反工艺路线的顺序,往前推出各道工序的开始和完工日期,倒排计划如表 4.1所示。表 4.1 现有倒排计划示意图34该算法的实质上是一种反向推理,其有利之处在于能与加工任务的完工期限密切配合,形成基本合理的初始结果。但是由于现有计划的编制:(1)不具备在有限

3、资源(设备和人力)基础上科学实现定长制造、按时供货的作业排产手段;(2)不能实时共享制造过程中的信息,当发生生产、质量问题或计划变动时,无法有效地实现动态调度;(3)现有计划编排忽视瓶颈工序的存在,把所有的工序能力设置同样大小,往往导致瓶颈工序堵塞了整个生产线,而导致产品完工日期拖后于交货期;(4)由表 4.1可见,缺乏对生产瓶颈环节的准确判断方法,无法有效地提高生产系统的产能和各生产资源的利用率。为此,若按此计划进行生产,工件的完工拖期或为了按期交货赶工加班是常有发生的事。因此,该计划在车间的实际生产中用途不大。本章针对车间生产调度中的突出问题进行了研究,并提出解决问题的相应算法。4.2导弹

4、装配调度问题描述随着生产车间信息化程度的日益增强,生产车间的信息环境变得越来越“透明”。制造执行系统(MES)对生产过程信息的实时监控和采集,因此对车间调度算法的实时性和动态性提出了很高的要求。目前使用的车间作业计划排序方法是远不能满足实时性、动态性要求的;而现有的一些用于 MES 的生产调度算法虽然很精确,但是求解效率低,计算时间过长,导致算法的初始条件在时间轴上发生很大漂移,计算得到的所谓“满意解”与车间生产实际相偏离,甚至成为“恶解”,甚至不可执行xlii。因此必须寻求新的适应 MES 系统要求的实时动态调度算法。因此,根据 MES 实时性的要求并提出了“基于瓶颈分解的调度启发式算法”。

5、这种算法强调瓶颈环节对生产系统效率的全局性影响,重视对各工序流程关系的分析,使复杂的调度问题得到简化,计算规模小,能对车间的动态变化做出迅速的反应。4.2.1导弹装配流程模型描述分厂某装配车间的其中一种型号的导弹装配流程如图 4.1所示,将导弹的装配过程中的工序分为若干个主要的工艺段(图中以方块表示),同一车间生产的产品必须经过这若干个工艺段,才能装配成成品。各个工艺段主要由手工装配工位以及测试设备组成,而且工艺段的生产能力存在差异。为了保证装配生产的连续匹配进行,一般在各个工艺段之间可能会存在一定数量具有缓冲作用的产品,这些缓冲区产品就起到了平衡生产和平滑物料流移动的作用。由于装配车间目前采

6、用的是手工装配的多品种轮番流水线的生产模式,因此把装配车间装配线的调度问题简化为一个 Flow shop 调度问题。35图 4.1 某产品的装配流程关系图我们可以把图 4.1的装配过程描述为:假设有一个虚拟的“导弹托盘”,由“陀螺测试”工序开始,逐步往“导弹托盘”上装配零部件,直到“安装便携装置”工序,导弹装配完毕。因此,可将装配车间的调度问题可以按照 Flow shop 调度问题描述为:n 个工件(“导弹托盘”) J1 , J 2 , , J n 在 m 个机器(装配工艺段) M 1 , M 2 , , M m 上加工,每一工件的加工顺序相同,假设机器按工艺路径依次排列。每个工件 J i 都

7、包括 m 道工序 Oi1, Oi 2 , , Oim ,工件 Ji 在机器 M j 上的开工时间为 tij ,工件 J i 在机器 M j 的加工时间为 pij 。对该问题的假设如下:假设 1假设 2假设 3假设 4每个工件在每台机器上只能加工一次;任一时刻,每台机器最多加工一个工件;每个工件按照相同的工艺路径依次加工;工件一旦开始加工则不允许中断;问题的目标是求 n 个工件在每台机器上最优的加工顺序,使调度方案的评价指标最优化。4.2.2导弹装配作业调度问题目标函数基于上述对装配车间的模型描述,下面根据车间任务的类型来确定导弹装配车间的作业调度问题的目标函数。(1) 生产任务类型划分对于车间

8、生产任务来说,任务的完工时间和交货期是判断调度质量的关键因素。在本节中,除了导弹工艺技术参数的要求,我们从任务交货期要求的角度考虑对生产任务类型进行划分。36通常认为,任务的交货期是固定的、清晰的,很多排序算法的研究也是基于这种假设的。事实上,任务的交货期是与客户(或生产系统下游工序)的满意度有着密切关系的。不同客户对工件的交货期要求也是不同的,两者之间通常存在一种非固定的、模糊的关系。为了更好的说明问题,我们对完工期和交货期与客户满意度之间的关系,我们对问题做一下数学描述:令 c j 和 d j 分别为工件 j 的加工完成时间和交货期,若调度问题以任务拖期时间为指标,则 c j d j 是决

9、策者最满意的情况;而 c j d j 是决策者不满意的情况(即有任务迟于交货期完工)。若考虑清晰情况,可按下式定义满意度,示意图如图 4.2所示。1, ci di ddici(交货期)(4.1)图 4.2 紧急需求订单满意度隶属度曲线若考虑模糊情况,即每个任务地交货期是 R + 上的一个模糊集合,则可用隶属度函数表示决策者对任务完工期的满意度,而其形式可以是多种多样的。常见的以下几种形式,如图 4.3和图 4.4所示。d iLd iUci (交货期)图 4.3 一般需求订单满意度隶属度曲线37diLci (交货期)图 4.4 计划生产任务满意度隶属度曲线由此,我们可以把生产任务分为三种类型:紧

10、急需求订单任务:调度优先级最高,Priority=3,交货期与满意度的关系满足图4.2所示,即任务必须按时完成。一般需求订单任务:调度优先级 Priority=2,交货期与满意度的关系满足图 4.3所示。即任务可以适当拖期,但是拖期对满意度的影响较大。计划生产任务:调度优先级最低,Priority=1,交货期与满意度的关系满足图 4.4所示,即任务没有明确的交货期限制,任务拖期对满意度几乎没有影响,这部分生产任务,主要用于填充在制品库存。(2) 问题目标函数确定生产任务优先级,优先生产高优先级任务(即, 3 2 1)。高优先级任务(Priority=3 和 Priority=2)的排产目标是产

11、品总拖期最小;低优先级任务(Priority1)的排产目标为减少在制品数量、能力平衡等。考虑集团公司产品的需求波动性较小,因此生产任务的级别主要为 2(Priority=2),因此设计算法的目标函数为完工时间总拖期最小。建立整数规划模型( P )如下xliii: ( P )s.t.nmin ixi , j ,k ,tt ,k i =1ti,k ti,k 1 pi ,k 1,i = 1, , n(4.2)ti,k ti ,k 1 pi,k 1,ti,1 0,i = 1, , n; k = 2, , mi = 1, , n(4.3)(4.4)t jk tik + M (1 xi, j ,k ) p

12、i,k , i = 1, , n 1; j = i + 1, , n; k = 1, , mtik t jk + M xi , j ,k p j ,k , i = 1, , n 1; j = i + 1, , n; k = 1, , mTi = max0, ti ,m + pim di , i = 1, , nxi , j ,k 0,1, i = 1, , n; j = 1, , n; i j; k = 1, , m(4.5)(4.6)(4.7)(4.8)其中:决策变量 xi , j ,k 为二进制变量,表示机器 k 上工件 i 和工件 j 的加工顺序。如38 T果机器 k 上工件 i 在工件

13、 j 前加工,则 xi , j ,k =1;否则 xi , j ,k =0。 ti,k 和 pi ,k 分别为工件 i 在机器 k 上的开工时间和加工时间。 di 为工件 i 的交货期限。 M 为一充分大的正整数。工件i 的拖期时间 Ti 按式(4.7)计算,式(4.2)为目标函数,希望工件的总拖期时间最小;式(4.3)表示工件按照相同的工艺路径依次加工;式(4.4)表示任一工件不能在其到达时间之前开始加工;式(4.5)和(4.6)为机器的能力约束,保证任一时刻每台机器只能加工一个工件。绝大部分(工件数大于 3)流水车间的拖期时间最小的调度问题属于强 NP-xliii,不可能找到精确求得最优解

14、的多项式时间算法。如果采用整数规划、分枝定界等精确求解算法,其计算量与问题的规模呈指数关系,存在计算困难。因此,采用有效的启发式算法在较短的时间内获得满意的调度是一种较好的选择。4.34.3.1基于瓶颈分解的启发式算法算法设计思想调度算法设计目标:一、为实现车间生产计划调度的实时性,要求计划调度算法:准确性高、计算周期短、计算过程简单,易于为调度员理解;二、从分解协调的角度研究瓶颈分解方法,侧重于大规模问题的分解过程和机器之间的协调方式。调度算法设计指导思想:一、在 MES 中,期望实现实时的车间调度的周期以分钟为单位,由此,为了满足动态的实时调度的要求,在求解较大规模的调度问题时,必须在考虑

15、求解速度的前提下来求得满意解;二、根据 OPT 的思想,在瓶颈资源上一个工时的损失是整个系统的一个工时损失;在非瓶颈资源上节约一个工时对于整个系统的优化影响很小。也就是说,对瓶颈资源的优化效率相对于整个系统而言是最高的;而因为瓶颈资源的优化导致的非瓶颈资源的损失也只是局部的;三、启发式算法通常是问题规模、复杂程度,计算时间和解的质量的折中。一些启发式算法经过实际的检验确实能够给出比较满意的调度方案,如基于规则的优先调度、瓶颈启发式算法就是启发式算法中很有代表性的调度算法,它们具有易于理解,计算时间短,计算复杂程度低,便于应用于生产实际特点。目前在基于瓶颈所提出的启发式算法中,以 SBH(Shi

16、fting Bottleneck Heuristic)xliv算法最具代表性。该方法采用了单台机器的松弛方式来决定机器排序的顺序,其难点在于重新局部优化和不可行解的产生。SBH 算法的一个优点是可以简化求解的目标函数,以制造系统瓶颈的逐层定义为导向,用较低的计算量得到了较高的求解质量。特39hard别是对一些经典的调度问题模型的求解方面,SBH 算法的计算量远远小于模拟退火等启发式算法xlv,而且能得到比优先规则更令人满意的解。但是,随着调度问题的复杂程度的增加,SBH 算法无法对复杂系统的瓶颈做出正确判断。为了满足动态的实时调度的要求,在求解较大规模的调度问题时,必须在考虑求解速度的前提下来

17、求得满意解。因此,本文采用瓶颈启发式算法作为调度问题的求解算法。4.3.2调度算法逻辑在此基础上,我们提出一种以优化瓶颈工序为核心的解决车间调度的启发式算法。该启发式算法是基于 OPT 的解决车间调度问题的思想和转换瓶颈启发式算法(SBH)的启发而提出的。我们这里称之为,“基于瓶颈分解的启发式调度算法”。首先,通过现场数据的统计分析等方法,确定整个生产线的最关键的瓶颈工序。在确定瓶颈工序后,对瓶颈工序进行最优化调度。然后根据工艺要求以及物料需求确定与瓶颈工序直接相关的约束资源(或次瓶颈工序)的调度,使得这些与瓶颈工序优化直接相关的约束资源在尽可能满足瓶颈工序要求的前提下,可以把这些约束资源重新

18、看作新的(次)瓶颈工序,进行局部的调度优化。按照上述原则,非迭代地单向地搜索、确定、选取并调度各生产,直到所有的工位全部调度完成。这样的过程,从整体上看,是从最关键的瓶颈工序开始,发散式的将调度沿着这个生产工艺流程逐步确定下来。“基于瓶颈分解的启发式调度算法”包括两方面计算程序:一个程序是建立调度树来依次寻找需要调度的工序(或生产单元);另一个程序用于解决每一个工序(或一个生产单元)的调度问题。算法每次对一个或多个工序(或生产单元)进行调度。沿着调度树每发散一次,一个或多个工序(或生产单元)的全部(或部分)任务被确定下来;而每个工序(或生产单元)上的任务的加工顺序只有在该工序(或生产单元)所有

19、任务的属性都确定下来以后,才能被最终确定。“基于瓶颈分解的启发式调度算法”的调度逻辑如图 4.5所示。40图 4.5 基于瓶颈分解的启发式调度算法流程图本文提出的“基于瓶颈分解的启发式调度算法”思想是:首先找出制造系统中的主瓶颈工序,并根据整个系统的调度目标,用相应的优化调度算法确定主瓶颈工序的排序;然后在系统分析工艺流程的基础上依次确定其他次瓶颈工序与主瓶颈工序之间的关系,进而确定其他次瓶颈工序的调度方案,直至所有工序全部排序完成。另外,由于本文有针对性的对问题建立模型、进行求解,提出的调度算法计算量小,可以在短时间内得到满意解,具有很好的求解效率和质量,符合实时动态调度要求,有很强的可行性

20、与实用性。4.3.3装配车间生产瓶颈环节的确定(1) 瓶颈的本质制造系统是由一定的机器和缓冲区所组成的用于生产特定产品的系统。制造系统内的瓶颈机器会导致其下游机器的闲置和上游机器的堵塞,从而降低了整个制造系统的生产效率;正如约束理论所强调,瓶颈主导着整条生产线的性能xlvi。最有效的提高制造系统生产效率的方法就是通过定义和消除瓶颈资源来实现的。通常,瓶颈被理解成为一台机器,这台机器的是整个系统中加工能力最低的。在某些情况下,缓冲区中在制品或待加工零件数量最大的机器被视为瓶颈。(2) 瓶颈的确定41能力均衡的生产线容易受到加工产品变化或随机扰动的影响而产生瓶颈移动,从而使得整条生产线不易于管理,

21、因此实际生产过程中大多数生产线都设计为能力不均衡。在订单信息和加工环境确定的条件下,生产线存在一个稳定的瓶颈。约束理论指出,瓶颈主导着整条生产线的性能,因此可通过求解瓶颈机的调度问题来降低原问题的计算复杂度。流水生产线上每个工件的工艺路径固定且相同,因此加工负荷越大的机器越容易发生拥塞现象而成为生产线的瓶颈。本文选择加工负荷最大的机器 M b 为瓶颈机,工件的加工时间满足n ni =1 i =1j = 1, , m, j b(4.9)式(4.9)给出了一个较为鲁棒的瓶颈机选择规则。即使在动态不确定情况,如果某个工件的加工时间发生变化,只要工件的加工时间满足条件(4.9),则该机器仍为瓶颈机。4

22、.3.4“基于瓶颈分解的启发式调度算法”调度机理(1) 生产系统模型根据第一小节中对导弹装配流程的分解,我们可以进一步把导弹装配过程抽象成两种子生产系统模型的组合,第一种是串联生产线,第二种可以视为装配生产线。如图 4.6,图 4.7所示,圆圈代表机器,方块代表缓冲区。(2) 串联子系统模型系统由 m 个机器串联,每个机器前有一个缓冲区,将相连的一组机器分隔开,如图 4.6图所示。图 4.6 串联子系统模型(3) 装配子系统模型系统中包含机器 M ij , j = 1, , m ,生产进行产品的装配,每个机器前有一个缓存区bij , j = 1, , m ;这 m 个机器装配出来的装配件存放在

23、装配机器 M i 前各自的缓存区bij , j = 1, , m 中,如图 4.7所示。42 pi ,b pi, j ,图 4.7 装配子系统模型(4) 串联子系统的调度机理拉推M2b3M3b4M4b5M5瓶颈图 4.8 串联子系统调度机理如图 4.8,假设在串联生产线上,机器 M 4 被确定为瓶颈机器,那么首先确定 M 4的优化目标函数,并选择相应的求解算法,对 M 4 的任务进行排序。此时,机器 M 3 和M 5 作为瓶颈机器 M 4 所产生的直接约束机器(或称为次瓶颈机器),应该根据 M 4 的调度方案,把尽可能满足 M 4 的工艺与物料需求为目标,选择其各自的优化目标函数,确定相应的求

24、解算法,进行其各自的任务排序。对于瓶颈机器 M 4 的上游机器 M 3 ,采取的是拉式(pull)生产模式,重新确定 M 3 中任务的完工期限;对于瓶颈机器 M 4 的下游机器 M 5 ,采取的是推式(push)生产模式,重新确定 M 5 中任务的开工时间。(5) 装配子系统的调度机理43图 4.9 装配子系统调度机理如图 4.9所示,假设在装配生产线上,机器 M 22 被确定为瓶颈机器,那么首先确定M 22 的优化目标函数,并确定相应的求解算法,对 M 22 的任务进行排序。此时, M 2 作为瓶颈机器 M 22 由装配关系所产生的直接约束机器(或次瓶颈机器),将收到由 M 22 发出的装配

25、工艺与物料需求。机器 M 2 将根据 M 22 的调度方案,确定其优化目标函数,确定相应的求解算法,进行其任务排序;然后对机器 M 21 发出面向装配的任务指令。机器 M 21 将根据来自 M 2 的任务指令,确定其优化目标函数,并确定相应的求解算法,对其任务进行排序。对于瓶颈机器 M 22 的上游机器,采取的是拉式(pull)生产模式,确定机器中任务的完工期限。对于机器 M 21 的上游机器,采取的是拉式(pull)生产模式,确定机器中任务的完工期限。对于瓶颈机器 M 2 的下游机器,采取的是推式(push)生产模式,确定机器中任务的完工期限。4.3.5基于瓶颈分解算法研究根据上述对“基于瓶

26、颈分解的启发式算法”调度机理的描述,下面具体给出“基于瓶颈分解的启发式算法”的详细计算过程。瓶颈分解算法是一种特殊的机器层分解算法。它利用机器负荷差异将流水线上的机器分解为瓶颈机和非瓶颈机。松弛非瓶颈机的能力约束,建立瓶颈机的调度子模型并精确求解。非瓶颈机的调度围绕着瓶颈机的调度而建立,一般采用有效的分派规则。由于瓶颈机调度模型是在松弛机器能力约束的情况下获得的,最终得到的调度可能是不可行的,因此需要不断地协调瓶颈机与非瓶颈机之间的关联,直到获得一个好的可行调度。(1) 瓶颈分解过程44由(4.3)式确定了系统的瓶颈后,生产线上剩余的机器称为非瓶颈机。由于流水线特殊的工艺路径,机器 M b 上

27、每道工序的前序都在上游机(瓶颈机之前的所有非瓶颈机器)上加工,其后序都在下游机(瓶颈机之后的所有非瓶颈机器)上加工,整个流水线分解为上游机、瓶颈机和下游机。假设非瓶颈机的加工能力无限大,则非瓶颈机的机器能力约束不再成立,约束(4.5)和(4.6)可简化为t j ,b ti ,b + M (1 xi , j ,b ) pi ,b , i = 1, , n 1; j = i + 1, , nti,b t j ,b + M xi , j ,b p j ,b , i = 1, , n 1; j = i + 1, , n(4.10)(4.11)工件 i 在瓶颈机 M b 上的到达时间和剩余加工时间取决于

28、它在上游机和下游机上的加工.。因为假设非瓶颈机的加工能力无限大,所以有= + p=由式(4.12),(4.13),(4.4)和(4.7)可得ti,b ri , i = 1, , nb1j =1b1j =1(4.12)(4.13)(4.14)(4.15)b1j =1mj =b+1间用参数 ri (或 qi )表示,它是工件 i 在上游机(下游机)的加工时间之和。式(4.14)和(4.15)暗含了工件 i 经过 ri 个单位的时间到达瓶颈机后开工时间迟延,它在瓶颈机上加工完后再经过 qi 个单位的时间迟延传递至客户 ri , qi 和 di 分别表示工件 i 在瓶颈机 M b 上的到达时间、剩余加

29、工时间和局部交货期限。生产线调度模型可松弛为瓶颈机 M b 上的调度模型如下:( Pb )nmin ixi , j ,k ,tt ,k i =1ti,k ti ,k 1 pi,k 1, = 1, , n-40s.t.t j ,b ti ,b + M (1 xi , j ,b ) pi ,b , i = 1, , n 1; j = i + 1, , nti,b t j ,b + M xi , j ,b p j ,b , i = 1, , n 1; j = i + 1, , nti,b ri , i = 1, , nxi , j ,k 0,1, i = 1, , n; j = 1, , n; i j; k = 1, , m45(4.16)(4.17)(4.18)(4.19)(4.20)(4.21)ti,b it ,b i,b1 = ti,b

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

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