规则引擎如何实现生产调度系统
? ? ??生產(chǎn)調(diào)度系統(tǒng)是制造企業(yè)MES系統(tǒng)的重要組成部分,對應(yīng)于生產(chǎn)管理系統(tǒng)的短期計(jì)劃安排,主要目標(biāo)是通過良好的作業(yè)加工排序,最大限度減少生產(chǎn)過程中的準(zhǔn)備時間,優(yōu)化某一項(xiàng)或幾項(xiàng)生產(chǎn)目標(biāo),為生產(chǎn)計(jì)劃的執(zhí)行和控制提供指導(dǎo)。在不同的問題環(huán)境中,生產(chǎn)調(diào)度的優(yōu)化目標(biāo)也不同。在生產(chǎn)制造企業(yè)中影響生產(chǎn)調(diào)度的因素很多(比如設(shè)備、工人的生產(chǎn)技能等),這些因素樣式復(fù)雜,種類繁多,靈活多變。另外在不同的環(huán)境下,影響生產(chǎn)調(diào)度的規(guī)則數(shù)量、優(yōu)先級都會發(fā)生變化。過去生產(chǎn)調(diào)度系統(tǒng)將業(yè)務(wù)邏輯與主體代碼緊耦合,業(yè)務(wù)規(guī)則以:
的形式被硬編碼到代碼中去,結(jié)果是線性、確定的執(zhí)行路由,所有的約束和判斷都按照建模時的約定執(zhí)行。當(dāng)業(yè)務(wù)規(guī)則發(fā)生變更時,唯一的途徑是修改代碼。這種形式無法適應(yīng)制
造企業(yè)生產(chǎn)規(guī)則的頻繁變更,導(dǎo)致生產(chǎn)調(diào)度系統(tǒng)的開發(fā)、升級和維護(hù)成本急劇增加,甚至生產(chǎn)調(diào)度系統(tǒng)完全無法適應(yīng)企業(yè)的實(shí)際需求。因此生產(chǎn)調(diào)度系統(tǒng)在保證對目標(biāo)優(yōu)化的前提下,將業(yè)務(wù)邏輯與主體程序的分離,已成為生產(chǎn)調(diào)度系統(tǒng)首要解決的問題。本文著重闡述通過規(guī)則引擎技術(shù)將生產(chǎn)規(guī)則邏輯從生產(chǎn)調(diào)度系統(tǒng)分離,克服生產(chǎn)規(guī)則靈活變更導(dǎo)致生產(chǎn)調(diào)度系統(tǒng)無法適應(yīng)企業(yè)生產(chǎn)策略變更的問題。
??? ? 目前開源和商業(yè)的規(guī)則引擎產(chǎn)品有很多,其中開源的以Drools為代表,商業(yè)的有ILog,ViaualRules等,本文以商業(yè)規(guī)則引擎VisualRules來說明。說句題外話,開源的產(chǎn)品有開源產(chǎn)品的優(yōu)點(diǎn),但是規(guī)則引擎作為一個高端的應(yīng)用來說,還是希望在售后服務(wù),技術(shù)支持等方面能有商業(yè)化的保障。
? ? 在制造企業(yè)中,生產(chǎn)策略的變更非常頻繁并且影響生產(chǎn)調(diào)度系統(tǒng)的業(yè)務(wù)策略很多,而傳統(tǒng)的生產(chǎn)調(diào)度系統(tǒng)將業(yè)務(wù)邏輯與生產(chǎn)調(diào)度邏輯緊密耦合,導(dǎo)致高系統(tǒng)的開發(fā),維護(hù)都變得異常艱難。因此如何將業(yè)務(wù)邏輯與主體程序分離,屏蔽業(yè)務(wù)策略變更對主體程序的影響,則成為生產(chǎn)調(diào)度系統(tǒng)的關(guān)鍵問題。
? ? 基于規(guī)則引擎的生產(chǎn)調(diào)度系統(tǒng)架構(gòu)設(shè)計(jì)的核心是實(shí)現(xiàn)業(yè)務(wù)邏輯與應(yīng)用程序解耦。它的實(shí)現(xiàn)方案可分為以下幾個步驟:
1.??生成業(yè)務(wù)規(guī)則??業(yè)務(wù)人員對影響生產(chǎn)調(diào)度的業(yè)務(wù)策略進(jìn)行收集,抽象,歸納,按照規(guī)則文件格式配置成業(yè)務(wù)規(guī)則。
2.??業(yè)務(wù)規(guī)則管理??業(yè)務(wù)人員通過規(guī)則管理平臺實(shí)現(xiàn)對規(guī)則的存儲,版本,廢棄,凍結(jié)等一系列的管理
3.??執(zhí)行業(yè)務(wù)規(guī)則??應(yīng)用程序中啟動規(guī)則引擎(服務(wù)和接口)解析執(zhí)行已經(jīng)編輯配置好的規(guī)則文件,然后將結(jié)果返回給應(yīng)用程序。
通過以上步驟,能夠讓整個生產(chǎn)調(diào)度系統(tǒng)快速適應(yīng)企業(yè)業(yè)務(wù)策略的頻繁變更,隔離策
略變更對應(yīng)用程序的影響,同時又能與主體程序進(jìn)行動態(tài)通信。主體程序動態(tài)感知業(yè)務(wù)策略的變更,將變更結(jié)果推動執(zhí)行和呈現(xiàn)。
? ? 在制造業(yè)企業(yè)中,制約生產(chǎn)調(diào)度的業(yè)務(wù)規(guī)則很多,在不同的場景中業(yè)務(wù)規(guī)則的組合形式多種多樣并且規(guī)則的執(zhí)行先后順序?qū)φ{(diào)度結(jié)果也起著制約作用,業(yè)務(wù)規(guī)則的表現(xiàn)形式也是多種多樣的,如何靈活易用的配置統(tǒng)一格式的規(guī)則是我們關(guān)注的重點(diǎn)。
? ?VisualRules的規(guī)則主要由:條件,動作,屬性等組成,一個規(guī)則中可以包含多個組合判斷條件,也可以完成多個不同的動作。
? ?VisualRules的規(guī)則表現(xiàn)形式如下:
? ????
在生產(chǎn)調(diào)度系統(tǒng)中,所有的業(yè)務(wù)規(guī)則都可以抽象為這種格式,下面以工人的技能熟練程度為例來說明生產(chǎn)調(diào)度系統(tǒng)中的業(yè)務(wù)規(guī)則配置方式
從上圖可以看出,與傳統(tǒng)的生產(chǎn)調(diào)度系統(tǒng)相比,基于規(guī)則引擎的生產(chǎn)調(diào)度系統(tǒng)具有以下幾點(diǎn)優(yōu)勢:
1.??業(yè)務(wù)邏輯與主體邏輯的分離,模塊之間更加松散耦合,已于開發(fā),維護(hù)和升級
2.??屏蔽業(yè)務(wù)策略的變化,具有更強(qiáng)的靈活能力和使用能力,能有效的適應(yīng)策略的變化。
3.??有效的延長應(yīng)用程序的生命周期。
4.??開發(fā)過程更加離散,各個過程可由不同的開發(fā)者進(jìn)行開發(fā),測試和部署。
基于規(guī)則引擎的生產(chǎn)吊系統(tǒng)實(shí)現(xiàn)了主體應(yīng)用程序與業(yè)務(wù)邏輯的分離,屏蔽了生產(chǎn)策略變更對系統(tǒng)的影響。能有效降低生產(chǎn)調(diào)度系統(tǒng)的開發(fā),維護(hù)和升級成本,延長軟件生命周期,降低企業(yè)信息化成本。
總結(jié)
以上是生活随笔為你收集整理的规则引擎如何实现生产调度系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QSS详解
- 下一篇: 【MobaXterm教程】【公网】利用i