生产调度系统是制造企业MES系统的重要组成部分,对应于生产管理系统的短期计划安排,主要目标是通过良好的作业加工排序,最大限度减少生产过程中的准备时间,优化某一项或几项生产目标,为生产计划的执行和控制提供指导。在不同的问题环境中,生产调度的优化目标也不同。在生产制造企业中影响生产调度的因素很多(比如设备、工人的生产技能等),这些因素样式复杂,种类繁多,灵活多变。另外在不同的环境下,影响生产调度的规则数量、优先级都会发生变化。
去生产调度系统将业务逻辑与主体代码紧耦合,业务规则以:
IF ELSETHEN
的形式被硬编码到代码中去,结果是线性、确定的执行路由,所有的约束和判断都按照建模时的约定执行。当业务规则发生变更时,唯一的途径是修改代码。这种形式无法适应制
造企业生产规则的频繁变更,导致生产调度系统的开发、升级和维护成本急剧增加,甚至生产调度系统完全无法适应企业的实际需求。因此生产调度系统在保证对目标优化的前提下,将业务逻辑与主体程序的分离,已成为生产调度系统首要解决的问题。本文着重阐述通过规则引擎技术将生产规则逻辑从生产调度系统分离,克服生产规则灵活变更导致生产调度系统无法适应企业生产策略变更的问题。
目前开源和商业的规则引擎产品有很多,其中开源的以Drools为代表,商业的有ILog,ViaualRules等,本文以商业规则引擎VisualRules来说明。说句题外话,开源的产品有开源产品的优点,但是规则引擎作为一个高端的应用来说,还是希望在售后服务,技术支持等方面能有商业化的保障。
在制造企业中,生产策略的变更非常频繁并且影响生产调度系统的业务策略很多,而传统的生产调度系统将业务逻辑与生产调度逻辑紧密耦合,导致高系统的开发,维护都变得异常艰难。因此如何将业务逻辑与主体程序分离,屏蔽业务策略变更对主体程序的影响,则成为生产调度系统的关键问题。
基于规则引擎的生产调度系统架构设计的核心是实现业务逻辑与应用程序解耦。它的实现方案可分为以下几个步骤:
-
生成业务规则 业务人员对影响生产调度的业务策略进行收集,抽象,归纳,按照规则文件格式配置成业务规则。
- 业务规则管理 业务人员通过规则管理平台实现对规则的存储,版本,废弃,冻结等一系列的管理
-
执行业务规则 应用程序中启动规则引擎(服务和接口)解析执行已经编辑配置好的规则文件,然后将结果返回给应用程序。
通过以上步骤,能够让整个生产调度系统快速适应企业业务策略的频繁变更,隔离策
略变更对应用程序的影响,同时又能与主体程序进行动态通信。主体程序动态感知业务策略的变更,将变更结果推动执行和呈现。
在制造业企业中,制约生产调度的业务规则很多,在不同的场景中业务规则的组合形式多种多样并且规则的执行先后顺序对调度结果也起着制约作用,业务规则的表现形式也是多种多样的,如何灵活易用的配置统一格式的规则是我们关注的重点。
VisualRules的规则主要由:条件,动作,属性等组成,一个规则中可以包含多个组合判断条件,也可以完成多个不同的动作。
VisualRules的规则表现形式如下:
在生产调度系统中,所有的业务规则都可以抽象为这种格式,下面以工人的技能熟练程度为例来说明生产调度系统中的业务规则配置方式
从上图可以看出,与传统的生产调度系统相比,基于规则引擎的生产调度系统具有以下几点优势:
-
业务逻辑与主体逻辑的分离,模块之间更加松散耦合,已于开发,维护和升级
- 屏蔽业务策略的变化,具有更强的灵活能力和使用能力,能有效的适应策略的变化。
- 有效的延长应用程序的生命周期。
- 开发过程更加离散,各个过程可由不同的开发者进行开发,测试和部署。
基于规则引擎的生产吊系统实现了主体应用程序与业务逻辑的分离,屏蔽了生产策略变更对系统的影响。能有效降低生产调度系统的开发,维护和升级成本,延长软件生命周期,降低企业信息化成本。
相关推荐
生产调度指挥系统 结合实际情况来完成生产调度指挥 ,使管理更加安全,信息化智能化
基于MATLAB-GUI的生产车间调度系统设计 基于MATLAB-GUI的生产车间调度系统设计 基于MATLAB-GUI的生产车间调度系统设计 基于MATLAB-GUI的生产车间调度系统设计 基于MATLAB-GUI的生产车间调度系统设计 基于MATLAB-GUI...
提出了运用Web Services技术对煤矿生产调度管理信息系统进行设计,介绍了系统总体架构的搭建、各个功能模块的设计以及数据库的设计。为煤矿企业的生产管理及煤炭工业的健康发展提供了重要的技术支撑。
规则引擎系统中一种基于用户感知的规则请求调度算法,李超,李传勇,综针对规则库服务器,提出了一种新的规则请求调度算法,算法的基本思想是基于用户类型、操作类型和会话状态三个主要因素对请求进
微型汽车厂冲压车间生产计划优化与编排系统实现,非线性规划算法,生产计划与作业调度,生产计划调度系统
选择一个调度算法,实现处理器调度。 二. 实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就绪状态进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验...
物联智能制造是未来工业发展的趋势,针对的是传统...为提高企业在同一行业的竞争力,利用MATLAB的图形用户界面(Graphical User Interfaces,GUI)设计了一种生产车间调度管理系统,为车间生产决策与企业管理提供了辅助工具。
然而目前,国内各大钢铁企业的生产计划和调度仍由计划员凭借经验手工完成。由于计划过程中存在着大量的人工协调和资源平衡,有限的人力难以保证协调和平衡的准确性,生产的停顿和供料的中断大大影响了企业的生产,...
广州大学操作系统课设-设计一个按照优先级调度算法实现处理机调度的程序 含报告 题目一:设计一个按照时间片轮转法实现处理机调度的程序 虽然该文内容的是题目二,但是题目一和题目二也就调度方式不一样,其他都是...
基于B/S模式下的煤矿生产调度系统开发设计与实现,彭超,刘玉英,煤矿生产调度系统是煤矿高效生产、安全生产数据支撑平台。本文开发基于B/S架构、Visual studio 2008作为开发平台、ASP.NET设计人机交互界��
校车调度-校车调度系统-校车调度系统源码-校车调度管理系统-校车调度管理系统java代码-校车调度系统设计与实现-基于springboot的校车调度系统-基于Web的校车调度系统设计与实现-校车调度网站-校车调度网站代码-校车...
基于QT的AGV智能调度系统 AGV智能调度系统 AGV调度系统 基于QT的AGV调度系统 基于QT的AGV智能调度系统,包含完整注释及源代码
操作系统中页面调度算法的设计与实现操作系统中页面调度算法的设计与实现操作系统中页面调度算法的设计与实现操作系统中页面调度算法的设计与实现操作系统中页面调度算法的设计与实现操作系统中页面调度算法的设计与...