Drools Plannerのための優れた「HelloWorld」プログラム
-
28-10-2019 - |
質問
私は、時刻表を割り当てるためにDrools Plannerを実装しようとしています。現時点では、JavaとJavabeanのデザインパターンでの私の習熟度は低く、何かが必要です 簡単に練習できます.
ありますか AI最適化の問題 それ
- 「X」アルゴリズムで非常にうまく解決されることが知られています
- データモデルは、簡単な方法でJavabean Design Patternで表現されるようになります
- エンティティの難易度を計画するなど、最も少ない数の追加機能を使用します
このような問題は、Drools Plannerで私の歯を切るのに良いでしょう。
私は今、これらの中で最も単純なように見えるn-queensの問題を試しています。だから私はこのリーグの何かを探しています。
解決 2
やっています 2x2 Sudoku (生成と解決)シンプルなものとして。 nqueensコードでモデル化できます。 2x2 sudokusは簡単に解決されますが、3x3 sudokusは立ち往生する可能性があります。したがって、スワップの動きを実装できます。
もう1つの興味深い問題は、バケツの合計です。 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
これには、1週間を通してさまざまなタフネスのタスクを均等に分散するなど、実際的な意味があります。
いくつかの問題のコレクション: http://eclipseclp.org/examples/index.html
他のヒント
アップデート: : 見る CloudBalancingHelloWorld.java
Optaplanner-Examples(Drools PlannerはOptaplannerに変更されています)。
また、実装してみることもできます ITC2007カリキュラムコースのスケジューリング あなた自身とそれを比較してください Drools Plannerの例のソースコード。シンプルに保ちたいが、まともな結果も得たい場合は、フォローしてください このレシピ そして、最初のフィットに続いてタブー検索を行います。
別の良いアイデアは、参加することです ITC2011スケジューリング競争: :2012年から5月1日まで営業しており、カリキュラムコースのスケジューリングの例に非常に似ています。