2012-01-16 81 views
1

我想實現Drools Planner分配時間表。目前,我對Java和JavaBean設計模式的熟練程度很低,我需要簡單的練習一個很好的「你好世界」程序流氓計劃

是否有AI優化問題

  1. 已知與「X」算法來解決得很好
  2. 數據模型適合於在JavaBean的設計模式以簡單的方式
  3. 表達
  4. 使用最少的附加功能(如計劃實體難度)

這樣的問題將是很好的切割我的T在Drools Planner上閱讀。


我現在正在嘗試N皇后問題,這似乎是最簡單的這些。所以我正在尋找這個聯盟的一些東西。

+0

見'CloudBalancingHelloWorld.java'在optaplanner-例子。 – 2016-06-16 14:00:28

回答

0

我正在嘗試2X2 Sudoku(生成和解決)爲簡單的事情。你可以用Nqueens代碼對它進行建模。雖然2x2 sudokus很容易解決,但3x3 sudokus可能會卡住。所以你可以實現交換移動。

另一個有趣的問題是桶數。給定10個桶,每個桶可以包含5個數字和50個數字;做一個程序來分配數字,以便每個桶中的數字總和或多或少。

Bucket Bucket0 3 6 19 16 11 =55 
Bucket Bucket1 8 2 5 25 15 =55 
... 
Bucket Bucket7 3 25 4 16 8 =56 
Bucket Bucket8 12 20 12 9 2 =55 
Bucket Bucket9 4 9 11 12 20 =56 

這有實際意義,如均勻地分佈在整個一週變化的韌性的任務。


A的一些問題收集:http://eclipseclp.org/examples/index.html

1

更新:請參閱CloudBalancingHelloWorld.java in optaplanner-examples(Drools Planner更名爲OptaPlanner)。

您也可以嘗試自己實施ITC2007 curriculum course scheduling,然後將其與the source code of the example in Drools Planner進行比較。 如果你想保持簡單,但也可以得到不錯的結果,請按照this recipe進行第一次適應,然後是禁忌搜索。

另一個好主意是加入the ITC2011 scheduling competition:它仍然開放至2012年5月1日,與課程安排示例非常相似。

+0

我希望更簡單的練習(並修改我的問題以反映這一點)。但我會按照發明人的建議作爲第2步:-) – aitchnyu 2012-01-16 14:29:43

+0

cloudbalance也是一個相對簡單的例子,也許這是從N皇后很好的一步。無論如何,反饋如何使它更簡單總是歡迎:) – 2012-01-16 16:23:03

+0

請用雲平衡更新這個答案,我會接受。 – aitchnyu 2016-06-17 09:45:58