首页  ·  知识 ·  工业互联网
制造执行系统中的生产调度智能优化算法
欧海斌 张传宏  腾讯科技 |     编辑:德仔   图片来源:网络
制造执行系统MES(Manufacturing Execution Systern)是位于上层计划管理系统与底层工业控制系统之间的面向车间生产的管理信息系统。该系统
 制造执行系统MES(Manufacturing Execution Systern)是位于上层计划管理系统与底层工业控制系统之间的面向车间生产的管理信息系统。该系统能够为车间管理人员提供生产计划的执行、跟踪以及相关资源的当前状态信息,对生产过程进行监控,保证生产的有序进行。制造执行系统在企业计划管理层与车间底层控制之间架起了一座桥梁。填补了企业计划管理层和底层控制之间的“鸿沟”,是面向车间生产管理和控制的一种有效方法。
 
 

图1 生产过程流程图

2 生产调度规则

    生产调度规则从以下三个方面阐述:

    (1)工件进人系统的规则:决策向系统输入哪类零件的规则,包括工件优先级、工件混合比等。

    (2)工件选择设备的规则:决策在能够完成工序的各设备中选择一台合适的设备的规则.包括设备利用率低、队列加工等。

    (3)加工设备选择工件的规则:决策某时刻加工设备应从其输入存储器中选择哪个工件加工的规则,包括先进先出、最短加工时间等。

3 基于规则的生产调度智能优化算法

    依据以上的生产调度规则,提出了基于规则的智能优化算法,在保证交货期的前提下,结合工艺路线与设备能力等信息,对工件生产计划进行分解与调度,生成工序作业计划。

    3.1 数据定义

    在本算法中,使用了机床数组Machine和工件数组Part两个数组来分别记录已经排好加工顺序的工件。已经安排好加工任务的机床。以及各工件的每一道工序开始到完成的时间,并最终将这些数据存储到Oracle 数据库中。数组表结构如表l所示。

表1 机床表

 

 

3.2 生产调度算法

    3.2.1 数据初始化

    (1)将新任务即将要加工的工件Part 的信息、机床Machine 已有的过去的任务信息,从Oracle 数据库中传递给机床Machine和工件Part。

    (2)对工件Part,根据工艺路线,为每个工件建立一个工序数组。先加工的工序排在前面,后加工的工序排在后面.在算法初始化时。满足开始加工条。件的工序一定是某工序数组的头元素。

    (3)为每个工件Part ,设一个变量指向该工件下一步要加工的工序。初始值为该工件工序数组的头元素.每调度完一道工序后,将工序数组的下一个头元素赋予下一道工序。

    (4)对机床Machine,按照各机床的加工结束时间进行排序,结束时间越早的机床排在前列,即为最先空闲机床。可最先给它安排加工任务。

    (5)为每台设备设一个变量EndTime,其始终记录着该设备上最后一道工序的结束时间,初始值设为O,并对每台设备Machine 设定一个任务队列,按先后顺序存放每台设备上的加工任务,初始化时该队列为空。

    3.2.2 初始排序

    (1)用排列在首位的机床,选择所有与机床的“加工类型”相同的工件。满足开始加工条件的工序;若没有满足“加工类型”相同的工序,则第一台机床的排列位置不变,指向Machine口中的下一台机床。

    (2)如果有两道或两道以上的工序满足要求,则先计算各工序的紧迫系数,如果紧迫系数的差值在一定的范围内,则按工序的优先级进行排序,优先级高的工序先安排生产,其他工序依次排序;否则,则按照紧迫系数对各工序进行排序,紧迫系数越大的工序先安排生产,其他工序则按紧迫系数从大到小依次排序。
 

(3)将已经排好加工顺序的零件的开始时间、结束时间的信息写入到机床信息数据库中。

    (4)重复进行上述步骤,直至将所有的零件的所有工序都安排完开始时间和结束时间。

    3.2.3 优化排序在初步排序结束之后,每台设备的变量EndTime记录着该设备上的最后一个加工任务的结束时间,这时可通过调节算法判断是否可以迸一步缩短加工路径并对初步排序结果进行调整。

    (1)查找加工路径最长和相邻工序等待时间最长的工件。

    (2)对其中任一设备,遍历其任务队列,若所有工序开始前相应设备的空闲时间均为零,则排序结果不调节。算法结束。

    (3)求第一个设备空闲时间不为零的工序,若此结点不是该队列的队尾,则进入;若此工序是该队列的队尾.且该工件的前一工序的结束时间小于该工序的开始时间,则将该工序的开始时间提前至该设备前一加工任务的结束时间与前一工序时间中的较大者,更新该工序的开始时间、结束时间和设备空闲时间。否则此道工序不可提前,转(1)。

    (4)考虑该设备的后一加工任务,如果该任务的前一道工序的等待时间超过其预先设定值.则交换该相邻两工序的顺序,转(1)。

    (5)更新任务队列中的各加工任务开始结束时间,
遍历任务,察看是否有可调节任务,有则转(1),否
则算法结束。

    3.2.4 算法流程图(见图2)从图2中可以清晰地看出该算法的总的运算步骤及在运算过程中与数据库之间的数据交换。算法从数据库中读入任务信息以及资源信息,并对算法进行初始化,定义好各设备及工件数组,然后运行初步算法程序,获得初步排序的结果,运行优化算法程序对初排结果进行分析后,进行优化并输出优化后的结果到调度结果数据库中。算法即结束。

 

图2 算法流程图

    3.2.5在实际中的运行结果应用本算法获得初步排序结果如图3所示,在表中显示的是各工件的每一道工序的加工开始时间、结束时间以及对应的加工设备。优化排序后的结果如图4所示。从图4中可以看出:优化排序后工期大大缩短。

 

图4 优化排序后的结果

4 结论

    车间生产调度问题已被证实是NP难题。许多研究表明,寻找这类问题的最优解非常困难,比较工程意义的方法是放弃寻找最优解,转而在一个合理、有限的时间内找到一个较优解。目前。国内外针对车间生产调度问题的研究已经很多,从最初的整数规划、运筹学方法、仿真到现今的神经网络、遗传算法等。本文提出了一种生产调度智能优化算法.在实际应用中起到了很好的运用效果。

本文作者:欧海斌 张传宏 来源:腾讯科技 |
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的