1

最終的には名簿ソリューションを形作る必要があるため、よだれプランナーをいじっています。Drools Planner ユーザー ガイドから始めて、Eclipse でサンプルを実行することに成功しました。

シンプル スコア タイプと HardAndSoft スコア タイプの違いを理解しようとして、スコアを Simple から HardAndSoft に変更して、NQueens の例を変更しようとしています。

私は次のようにしました:

  1. nqueensSolverConfig.xml で設定し<scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>ます。

  2. NQueens.java で:

    • 設定しましたpublic class NQueens extends AbstractPersistable implements Solution<HardAndSoftScore> {...}

    • SimpleScore 関連のプロパティとメソッドを対応する HardAndSoftScore メンバーに変更しました。

    プライベート HardAndSoftScore hsScore;

    public HardAndSoftScore getScore() { return hsScore; }

    public void setScore(HardAndSoftScore スコア) { this.hsScore = スコア; }

しかし、ソリューションを実行すると、次のメッセージが表示されます。

"The scoreString (0) doesn't follow the 999hard/999soft pattern."

なにが問題ですか?

4

1 に答える 1

0

ソルバー構成にはまだこれがあります。

<termination>
  <scoreAttained>0</scoreAttained>
</termination>

Solver config に記述されたスコアは、スコア定義の形式である必要があるため、次のようになります。

<termination>
  <scoreAttained>0hard/0soft</scoreAttained>
</termination>

注: N Queens の代わりに、コースのスケジューリングや看護師の勤務表など、「実際の」例の 1 つを見て、おそらくオフになっているでしょう。

于 2012-09-11T07:21:14.860 に答える