机加工停台调度算法研发一:待料时间分析

我是一个MES的研发人员,下面内容为一面之词,若有不合适或不准确的地方敬请见谅。



目录:

一. 原始需求

二、需求分析

三、研究价值

四、研究内容

五、研究结论:算法

六、结束语

一. 原始需求

在机加工生产过程中,某工序设备A因需要维修而停工,而在该设备维修期间,可能会导致其下游工序受其影响因为没有物料(半成品)供生产而停工——我们称之为待料停工,或者导致其上游工序因为物料无法继续向下游输送而停工——我们称之为堵料停工。MES系统需要利用这段时间对受到影响而待工的设备安排检修和保养作业。

名词:待料时间

a.目标工序因前置某工序停工而没有物料供生产导致的停工时间长度,从无料可用的时刻开始,至物料送至可供生产的时刻为止。

例如:工序1停工15分钟,导致工序2、工序3、工序4受其影响而停工等待物料,当工序1回复生产后,后续工序也会逐步回复生产。

b.目标工序的生产节拍快于前置工序节拍而导致的停工等待,此情况一般不会出现,本文提出是为了保证分析过程的完整性,而将极端情况包含在内。

例如:工序1节拍5分钟,工序2节拍3分钟,这样在制品会出现供应不足而导致工序2待料。

名词:堵料时间

与待料停工相对的概念,当后续工序停工,且工序间在制品数量已达到上线而导致的停工情况。

名词:工序

工序是指整个生产过程中各工段加工产品的次序,亦指各工段的加工。

即:将原材料加工为产成品的步骤,机加工的工序一般都配有专用设备。

名词:在制品

在工序间流转的物料,在第一道工序时候是原材料,经过最后一道工序下线后即为产成品。

名词:在制品数上线

只在两个工序之间可以存放的在制品数量的上线。

名词:在制品数下线

只在两个工序之间可以存放的在制品数量的下线。

二、需求分析

此类需求是对MES系统提出的高层次需求,也是智能制造环境下企业对MES系统提出的重要需求之一,即当生产过程因种种原因停工不能继续生产是,MES系统如何对方方面面做出应对处理的。在不同类型的企业环境内,导致停工的原因多种多样,停工影响的范围也各不相同,如何做到快速发现和处理问题恢复生产有效利用停工时间安排其他可用的作业,最大化的利用这段停工时间创造价值,将成为MES智能化重要的挑战。后文将围绕有效利用停工时间的方面展开讨论。

三、研究价值

随着智能制造在企业内的逐步深入,智能化的分析和调度成为企业对MES系统的重要需求之一,对于故障停工的处理过程,一方面做系统化的分析研究停工原因,减少或消除其出现的几率;另一方面在问题消除之前仍然会不期而遇,那么如何在这个的情况下充分利用停工时间安排其他工作,进而最大化这段时间所能产生的价值就是现阶段MES为企业服务的重要目标之一。

四、研究内容

1.背景设定

设定某机加工企业A,有1条生产线,每条生产线有10道工序,每道工序由1台专属设备工作,工序间节拍各不相同,平均节拍为5分钟,工序间由传送带连接作为在制品的放置空间(分析过程中将忽略物料传送所用的时间),在制品数量有最大容量数,和最小容量数的设定。

下面将抽取一段连续生产的3个工序作为案例分析的基础,设定的共用信息如下:

工序名称和顺序:A、B、C

工序A:停工30分钟

工序B和工序C:节拍信息、在制品数量信息——在案例内设定。

求工序C的待料时间。

2.解题思路

第一步:计算停工期间,导致的待料时间

当工序A停工的时候,根据停工时间长度和后续工序节拍结合在制品情况,可以推算出后续工序受影响而停工的时间长度,这段时间简称为停工期待料时间,预期会出现以下几种情况:

1)工序B,工序C均不受影响,这种情况不作处理。

2)工序B有停工,工序C未收到波及

工序A 工序B 工序C
停工21分钟 在制数 节拍 停工 在制数 节拍 停工
4 5分钟 1分钟 3 4分钟 0分钟

3)工序B停工,C工序停工

工序A 工序B 工序C
停工30分钟 在制数 节拍 停工 在制数 节拍 停工
4 5分钟 10分钟 3 4分钟 2分钟

整理:

在工序A停工之后,工序B在完成其在制品(A-B间在制品)的生产之后就会停止生产。

即在停工阶段:

    工序B待料时间 = 工序B在制品数 × 工序B节拍

因为需要考虑到与工序B节拍的差异,导致工序C的待料时间的得会出更加复杂,在后文中继续分析。

第二步:计算恢复生产后,仍需等待物料到达的时间

当工序A恢复生产之后,仍需要计算物料到达目标工序的时间,这段时间简称为复工期待料时间,此时需要加入对工序间在制品参数的考虑,可能有一下几种情况:

1)企业要求在制品达到工序在制品数量下线,后续工序在才可以开始生产。这里有种特殊情况是将工序在制品数量下线值设定为1,则到达目标工序的时间就是从工序A到目标工序前序工序的节拍的和。

例如下表:

工序A 工序B 工序C
节拍 在制下线 节拍 停工 在制下线 节拍 停工
6分钟 1 5分钟 6分钟 1 4分钟 11分钟
2 5分钟 12分钟 2 4分钟 22分钟

即在复工阶段:

    工序B的待料时间 = 工序A节拍 × 工序B在制品下线数量

    工序C的待料时间 = 工序B的待料时间 + 工序B节拍 × 工序B在制品下线数量

2)企业要求在制品达到工序在制品数量上线,或其他约定值,后续工序在才可以开始生产。这种情况根据实际需要进行设定即可。

第三步,求出最终的待料时间

通过将停工待料时间进行分析后,分为了停工期待料时间和复工期待料时间,将其相加后即可获得最终的整体待工时间。

即:

工序B待料时间 = 工序B停工期待料时间 + 复工期待料时间

至此剩余的问题是,求解跨工序间的停工期待料时间运算问题,即上文中当工序A停工的时候如何计算出工序C的待料时间,下面将通过两个案例进行分析,而后给得出求解的算法。

3.案例分析一

继续上文的问题进行分析:

工序A 工序B 工序C
停工30分钟 在制数 节拍 停工 在制数 节拍 停工
4 5分钟 10分钟 3 4分钟 2分钟

第一步:演算停工期间各工序在制品的消耗过程

参见下图表格:

第二步:分析其运算过程

工序A停工30分钟后,工序C受其影响待料停工2分钟,即工序C消耗在制品生产用掉28分钟,可知这种情况(简称:案例一公式):

工序C的待料时间 = 工序A停工时间 - 工序C节拍 ×(工序B在制品数量+工序C在制品数量)

即:  2分钟 = 30分钟 - 4分钟 × (4 + 3)

由此得知,工序C待料时间与工序B的节拍没有关系。

4.案例分析二

将案例一的内容做少量的调整,将工序B节拍调整为6分钟,工序C在制数调整为2,重新演算一下。

工序A 工序B 工序C
停工30分钟 在制数 节拍 停工 在制数 节拍 停工
4 6分钟 6分钟 2 4分钟 2分钟

第一步:演算停工期间各工序在制品的消耗过程

参见下图表格:

第二步:分析其运算过程

当套用案例一得出的公式时候发现(案例一公式):

工序C的待料时间 = 工序A停工时间 - 工序C节拍 ×(工序B在制品数量+工序C在制品数量)

即:  30分钟 - 4分钟 × (4 + 2)= 6分钟

也就是说案例一所得出的公式并不适用与案例二的情况。

当工序A停工30分钟后,工序C受其影响待料停工2分钟,即工序C消耗在制品生产用掉28分钟,可知这种情况(简称:案例二公式):

工序C的待料时间 = 工序A停工时间 - (工序B节拍 × 工序B在制品数量+ 1 ×工序C节拍)

即:  30分钟 - (6分钟 × 4 + 1 × 4分钟) = 2分钟

由此得知,工序C待料时间与工序B的节拍有关系。

5.隐含的系数

经过上述两个案例的分析,得出了2个公式,而我们发现这两个公式只适用于自身所在案例的运算,而两个案例的最大区别是在演算过程中工序C是否提前出现了待工状态。

在案例一中,整个演算过程工序C只在最后进入了待料停工状态,所以其待料时间的计算主要处理工序C自身的节拍和在制品生产为运算基础。

在案例二中,工序C出现了待料状态,因为工序C的节拍快于工序B,那么何时进入停工待料状态则主要依赖与工序B的结束时间,工序B结束之后,工序C还有1个在制品可以生产。

那么如何区分计算情况适用于哪个案例呢?有一个隐含的系数在里面,当案例的前后工序节拍时间和后工序的在制品数量确定后,即可推算出来,再和前工序的在制品数量进行比较,若前序在制品数量大于或等于系数,则适用案例一公式,否则适用案例二公式。

系数运算公式:(工序B为前序,工序C为后序)

系数 = (工序C在制品数量 - 1)× 工序C节拍 ÷(工序B节拍 - 工序C节拍)

五、研究结论:算法

下面叙述具体的问题求解步骤:

  1. 计算系数
  2. 用前序在制品数量与系数做比较,以确定使用的公式。
  3. 系数<在制品数量,则套用案例一公式,获得停工期待料时间
    工序C的待料时间 = 工序A停工时间 - 工序C节拍 ×(工序B在制品数量+工序C在制品数量)
  4. 否则套用案例二公式,获得停工期待料时间
    工序C的待料时间 = 工序A停工时间 - (工序B节拍 × 工序B在制品数量+ 1 ×工序C节拍)
  5. 根据实际需求情况计算复工期待料时间
    参考文中案例公式:

    工序B的待料时间 = 工序A节拍 × 工序B在制品下线数量

    工序C的待料时间 = 工序B的待料时间 + 工序B节拍 × 工序B在制品下线数量

  6. 最后求出整体待料时间

工序B待料时间 = 工序B停工期待料时间 + 复工期待料时间

六、结束语

本文中的研究范围比较狭窄,仅分析了单个工序停工情况出现时,其后两道工序的待料时间计算方法,以此类推可以继续得出后续工序的影响方位,但在实际应用中可能会遇到更多的困难:

  1. 工序数量更多,且关系复杂
  2. 停工事件会在多工序同时出现
  3. 待料时间的计算还需要考虑堵料时间
  4. 对于已经安排作业的工序,如何计算其待料时间

到时候需要进一步对算法进行补充和完善。

计算出相关工序有效的待料时间之后,需要进一步研究事件调度算法。

时间: 2024-10-11 16:31:39

机加工停台调度算法研发一:待料时间分析的相关文章

网络流量分析——NPMD关注IT运维、识别宕机和运行不佳进行性能优化。智能化分析是关键-主动发现业务运行异常。

科来 做流量分析,同时也做了一些安全分析(偏APT)--参考其官网:http://www.colasoft.com.cn/cases-and-application/network-security-analysis.php 作为安全工程师的你,想发现有谁在攻击我,还原攻击过程并且取证么? 作为立志成为网络技术大拿的你,想在学习理论知识的同时,了解实战中会遇到的哪些问题,这些问题用什么样的思路去解决么?如果以上答案为Yes,那么<CSNA网络分析经典实战案例>就是你的菜,以下内容全是网络安全真

一个交换机到底能带几台摄像头?结合生产经验咱们来分析!

一个交换机到底能带几台摄像头 一个交换机能带动多少个网络监控摄像头?千兆交换机一般接200万网络摄像机能接几个?24个网络头,用一台24口百兆交换机行不行?下面就这类问题做一些简单的分析! 一.根据摄像机的码流和数量来选择 1.摄像机码流 选择交换机前,首先要弄清楚每路图像占用多少带宽. 2.摄像机数量 要弄清楚交换机的带宽容量.常用交换机有百兆交换机.千兆交换机.它们的实际带宽一般只有理论值的 60~70% ,所以它们端口的可利用带宽大致是 60Mbps 或 600Mbps. 举例: 根据你使

iphone6/iphone6 plus真机图片欣赏 iphone6港版价格与预定发货时间

随着9月10日iphone6的发布,很多果粉都在等待iphone6的上市开卖. 不过很遗憾,国内不在首发地区,所以只能等待港版iphon6的预定与销售了.港版iphone6从9月12日起,也就是明天周五接受预定,9月19日开始发货,想入手iphone6的朋友抓紧了. 找了一些有关iphone6与iphone6 plus的介绍,包括iphone6真机大图欣赏,iphone6港版价格与预定方法等. 感兴趣的果粉可以看看: 苹果plus a8和m8是什么?iphone6 plus处理器大揭秘 ipho

虚拟机中2台Linux系统、2台客户机实现通信,并且可以以主机名ping通

实现目标:虚拟机中2台Linux系统.2台客户机实现通信,并且可以以主机名ping通 实验准备:1.在虚拟机中2台linux系统.一台win7.一台win2008 2.linuxA和linuxB作为2台路由器,win7和win2008作为2端的客户机 3.2台linux都加装一个网卡设备 导言:此实验用到思科路由交换技术. 我们所要实现的实验的访问路径如下: 客户机win7----->LINUX A----->LINUX B----->客户机win2008 并且实现通过ping主机名也可

“机”不可失,首台半价!

亲爱的企业用户们,阿里云独享系列虚机,首台购买半价咯,低至28元/月! 什么什么?我没听错吧! 第一台,打五折?! 没错!独享系列,超值优惠,就是这么任性! 只要你是企业用户,3款独享虚机,不管是经济版.高级版,还是尊享版,随心所欲尝鲜用! 跟着我,登录,认证,优惠3步走: 1.注册或登录阿里云账号: 2.实名认证为企业客户: 3.选择任一款独享虚机,尽享首台半价. [活动时间]   2015.8.27 - 2015.9.11 时间稍纵即逝,精彩不容错过. 企业建站,你值得拥有! [注] 1) 

游族网络:我们是怎么玩转千台以上游戏云服务器的

摘要 来自上海游族网络的运维总监李志勇,带来的分享"如何运维千台以上游戏云服务器",本次分享中重点是云时代的运维,包括游戏上云部署整体方案.游戏服务器批量运维管理,并对企业选择云数据库还是自建MySQL数据库给出了自己建议. 游戏产品架构进化史 图一:游戏产品架构进化史 经过近七年的高速发展,公司游戏服务器从100台增长到10000+台,游族整体游戏架构也经过了三个阶段的演变: 公司早期广泛使用的第一代架构,当时主流的产品都是以DB+计算+前端这样的3个角色开发设计并部署,服务器以物理

阿里巴巴2015研发工程师笔试题,带答案

欢迎对本文提出补充建议,可以在以下平台上我留言. 个人博客站点:www.anycodex.com/blog/ Csdn博客站点:http://my.csdn.net/?ref=toolbar 微博:http://weibo.com/1958069172/profile?topnav=1&wvr=5&user=1 1.int main(){ fork()||fork(); }共创建几个进程? 答:3个. [知识点] ? 一个现有进程可以调用fork函数创建一个新进程.由fork创建的新进程被

干货推荐:如何运维千台以上游戏云服务器——游族网络

干货推荐:如何运维千台以上游戏云服务器——游族网络 来自上海游族网络的运维总监李志勇,在3月4日云栖社区中带来的分享“如何运维千台以上游戏云服务器”.本次分享重点是云时代的运维,包括游戏上云部署整体方案.游戏服务器批量运维管理,并对企业选择RDS还是自建MySQL数据库给出了自己建议. 关于分享者: 李志勇,2010年加入游族网络,目前担任游族网络运维总监,全面负责游族网络运维业务.他具有十年运维工作经验,八年游戏行业从业经验,专注于游戏虚拟化技术和网络优化. 分享正文: 游戏产品架构进化史  

2015年阿里巴巴校招研发工程师在线笔试题汇总

在线笔试题汇总 卷一: 1.下面的函数中哪个是系统调用而不是库函数______? printf scanf fgetc read print_s scan_s 2.某足球队有四名外援,分别来自巴西.荷兰.意大利和美国.他们分别擅长前锋.后卫或守门,其中: ① 美国外援单独擅长守门: ② 意大利外援不擅长前锋: ③ 巴西外援和另外某个外援擅长相同的位置: ④ 荷兰外援擅长的位置和巴西外援不同. 以上条件可以推出巴西外援擅长的位置是______. 前锋 守门 后卫 前锋或守门 后卫或守门 前锋或后卫