質問

私は、時刻表を割り当てるためにDrools Plannerを実装しようとしています。現時点では、JavaとJavabeanのデザインパターンでの私の習熟度は低く、何かが必要です 簡単に練習できます.

ありますか AI最適化の問題 それ

  1. 「X」アルゴリズムで非常にうまく解決されることが知られています
  2. データモデルは、簡単な方法でJavabean Design Patternで表現されるようになります
  3. エンティティの難易度を計画するなど、最も少ない数の追加機能を使用します

このような問題は、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日まで営業しており、カリキュラムコースのスケジューリングの例に非常に似ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top