策略引擎-jboss Drools Planner

fmms 12年前發布 | 86K 次閱讀 Drools 業務規則引擎

jboss drools不光想做規則庫,而且還做策略庫,高智商的東西。jboss Drools Planner。

planner是干什么的?

一句話,planner是通過聯合drools規則引擎和搜索算法實現自動規劃的。一些常見的場景有:

  • 員工排班
    策略引擎-jboss Drools Planner
  • 車輛路徑選擇、貨物路徑選擇、交通路徑選擇
    策略引擎-jboss Drools Planner
  • 教育時間表:排課表、考試日程安排、會議日程安排
    策略引擎-jboss Drools Planner
  • 背包問題:在一個背包(或盒子)里面放盡可能多的東西。
    策略引擎-jboss Drools Planner

一個規劃通常都包含了一系列的約束、限制或條件。這些約束一般包括如下三類:

  • 硬約束(負面的):不能違反的條件。比如一個老師同時只能教一節課。
  • 軟約束(負面的):盡量不要違反的條件。比如,A老師不喜歡在周五下午上課。
  • 獎勵(正面的):盡量優先滿足的條件。比如,B老師喜歡在周一上午上課。

上述約束說明了規劃方案的打分方法。可以通過drools規則引擎來完成靈活的增減打分規則。

一個規劃問題,可以有很多解決辦法,每個解決辦法都會根據上面的約束(打分規則)獲得一個分數。一般有三種類型的方案:

  • 可能方案:這種方案,可以遵從也可以違反上述約束。因此數量很大(可能是不是笛卡爾積這樣的情況,那太恐怖了,如果是這樣,問題復雜時的可能方案(備選方案)過多,會不會導致planner崩潰呢?)。
  • 可行方案:這種方案,不會違反硬約束,所以是可行的。數量較少,是可能方案的一個子集。但是有些規劃問題可能沒有可行方案。
  • 優化方案:這種方案,是所有可能方案中得分最高的一個或多個方案。它,可能不是一種可行方案。

drools planner 支持幾種搜索算法可以有效地評估計算各種可能方案,并且,通過修改配置,可以簡單方便的更換搜索算法。

planner的現狀

drools planner 是基于ASL(apache軟件許可)的開源軟件。

planner的安裝配置

http://jboss.org/drools/downloads下載,解壓到一個目錄,即可完成安裝。

在安裝目錄,運行 runExamples.bat

 

---------------------

Drools and jBPM consist out of several projects:

策略引擎-jboss Drools Planner Drools Guvnor (Business Rules Manager) 
策略引擎-jboss Drools Planner Drools Expert (rule engine) 
策略引擎-jboss Drools Planner jBPM 5 (process/workflow)
策略引擎-jboss Drools Planner Drools Fusion (event processing/temporal reasoning)
策略引擎-jboss Drools Planner Drools Planner (automated planning)

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!