规则引擎在排产系统中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

规则引擎排产系统中的应用

排产系统是制造企业MES系统的重要组成部分,对应于生产管理系统的短期计划安排,主要目标是通过良好的作业加工排序,最大限度减少生产过程中的准备时间,优化某一项或几项生产目标,为生产计划的执行和控制提供指导。在不同的问题环境中,排产的优化目标也不同。在生产制造企业中影响排产的因素很多(比如需求变化多、插单多、各条生产线生产能力与特长不同等),因素众多,通常最影响排产计划的进行,降低了生产效率和交货及时性。传统的手工排产已完全不能满足企业多变的需求。另外在不同的环境下,影响排产的规则数量、优先级都会发生变化。过去排产系统将业务逻辑与主体代码紧耦合,业务规则以:

的形式被硬编码到代码中去,结果是线性、确定的执行路由,所有的约束和判断都按照建模时的约定执行。当业务规则发生变更时,唯一的途径是修改代码。

这种形式无法适应制造企业生产规则的频繁变更,导致排产系统的开发、升级和维护成本急剧增加,甚至排产系统完全无法适应企业的实际需求。因此排产系统在保证对目标优化的前提下,将业务逻辑与主体程序的分离,已成为排产系统首要解决的问题。本文着重阐述通过规则引擎技术将生产规则逻辑从排产系统分离,克服生产规则灵活变更导致排产系统无法适应企业生产策略变更的问题。

目前开源和商业的规则引擎产品有很多,其中开源的以Drools为代表,商业的有ILo g,旗正规则引擎(VisualRules)等,本文以商业规则引擎中的旗正规则引擎来说明。说句题外话,开源的产品有开源产品的优点,但是规则引擎作为一个高端的应用来说,还是希望在售后服务,技术支持等方面能有商业化的保障。

在制造企业中,生产策略的变更非常频繁并且影响排产系统的业务策略很多,而传统的排产系统将业务逻辑与排产逻辑紧密耦合,导致系统的开发,维护都变得异常艰难。因此如何将业务逻辑与主体程序分离,屏蔽业务策略变更对主体程序的影响,则成为排产系统的关键问题。

基于规则引擎的排产系统架构设计的核心是实现业务逻辑与应用程序解耦。它的实现方案可分为以下几个步骤:

1. 生成业务规则业务人员对影响排产的业务策略进行收集,抽象,归纳,按照规则文件格式配置成业务规则。

2. 业务规则管理业务人员通过规则管理平台实现对规则的存储,版本,废弃,冻结等一系列的管理

3. 执行业务规则应用程序中启动规则引擎(服务和接口)解析执行已经编辑配置好的规则文件,然后将结果返回给应用程序。

规则引擎,能够让整个排产系统快速适应企业业务策略的频繁变更,隔离策略变更对应用程序的影响,同时又能与主体程序进行动态通信。主体程序动态感知业务策略的变更,将变更结果推动执行和呈现。

在制造业企业中,制约排产的业务规则很多,在不同的场景中业务规则的组合形式多种多样并且规则的执行先后顺序对调度结果也起着制约作用,业务规则的表现形式也是多种多样的,如何灵活易用的配置统一格式的规则是我们关注的重点。

旗正规则引擎的规则主要由:条件,动作,属性等组成,一个规则中可以包含多个组合判断条件,也可以完成多个不同的动作。

旗正规则引擎的规则表现形式如下:

在排产系统中,所有的业务规则都可以抽象为这种格式,下面以工人的技能熟练程度为例来说明排产系统中的业务规则配置方式

从上图可以看出,与传统的排产系统相比,基于规则引擎的排产系统具有以下几点优势:

1. 业务逻辑与主体逻辑的分离,模块之间更加松散耦合,已于开发,维护和升级

2. 屏蔽业务策略的变化,具有更强的灵活能力和使用能力,能有效的适应策略的变化。

3. 有效的延长应用程序的生命周期。

4. 开发过程更加离散,各个过程可由不同的开发者进行开发,测试和部署。基于规则引擎的排产系统实现了主体应用程序与业务逻辑的分离,屏蔽了生产策略变更对系统的影响。能有效降低排产系统的开发,维护和升级成本,延长软件生命周期,降低企业信息化成本。

相关文档
最新文档