問題タブ [drools-planner]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Drools Planner の使用方法を教えてください。
各学生が講義の好みを表明し、コースの時間割がすべての学生に対して同時に生成されるというスケジューリングの問題があります (可能であればバッチモードで)。
私が読んで理解したところによると、Drools Planner はこの種の問題を解決するのに非常に適しています。Drools と GEF を Eclipse IDE にインストールしました。すべてがうまくロードされます。残念ながら、単純なプロジェクトを構築する方法がわかりません。
オンラインでリファレンスを探したところ、Drools Planner の例が見つかりました。ただし、いくつかのコード スニペット以外に、単純なケースを説明する適切なチュートリアルは見つかりませんでした。
固有の時間とコースの好みを持つ 3 人の学生が 4 つのコースにサインアップしようとしている場合、マッチング/スケジューリングの問題をモデル化するにはどうすればよいですか? コードを開始する方法、制約をどこに配置するか、どのクラスを呼び出すかなど。
どんな助けでも大歓迎です!!
ありがとう!!
drools - Drools プランナー: SimpleScore を HardAndSoftScore に変更
最終的には名簿ソリューションを形作る必要があるため、よだれプランナーをいじっています。Drools Planner ユーザー ガイドから始めて、Eclipse でサンプルを実行することに成功しました。
シンプル スコア タイプと HardAndSoft スコア タイプの違いを理解しようとして、スコアを Simple から HardAndSoft に変更して、NQueens の例を変更しようとしています。
私は次のようにしました:
nqueensSolverConfig.xml で設定し
<scoreDefinitionType>HARD_AND_SOFT</scoreDefinitionType>
ます。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 = スコア; }
しかし、ソリューションを実行すると、次のメッセージが表示されます。
なにが問題ですか?
grails - drools DRL クラスパス リソース
XMLSolverFactory を備えた grails アプリがあり、./myapp/grails-app/conf/ から以下のコードで XML 構成ファイルをロードします。ただし、同じパスから DRL ファイルを見つけることはできません。コンテナで実行されている場合、クラスパス .DRL リソースを見つけるために XML 構成の Solver を取得するにはどうすればよいですか?
構成 XML スニペット
エラーをスローします
configuration - Drools プランナー:競争.xsd を使用した看護師勤務表シナリオ構成
Drools Planner Nurse Rosteringに基づいて、人事の勤務表をモデル化しています。
スキーマ*.xml
に基づいてサンプルをいじっています。competition.xsd
スキーマは一般的に非常に明確ですが、構成パラメーターが非常に多いため、それぞれを適切に構成する方法がわかりません。たとえば、タグpatterns
での とその使用法を正しく設定する方法がわかりません。contracts
.xml
目的は、不必要な制約を回避し、有用なものを正しく重み付けするために、シナリオ ファイルを正しくモデル化することです。
competition.xsd
そのため、スキーマに関する詳細なリファレンスと、スキーマの使用方法に関するチュートリアルを探しています。
netbeans - Drools Planner の例で Netbeans に作業ディレクトリを設定する
Drools Planner Examples pom プロジェクトをビルドすると、テストで次のエラーが発生します。
テストの実行: 2、失敗: 0、エラー: 2、スキップ: 0、経過時間: 0.624 秒 <<< 失敗! solveModel_a2_1(org.drools.planner.examples.cloudbalancing.CloudBalancingPerformanceTest) 経過時間: 0.219 秒 <<< エラー! java.lang.IllegalStateException: ディレクトリ dataDir (C:\Users\Tom\Documents\Projects\Drools planner\examples\sources\data\cloudbalancing) が存在しません。作業ディレクトリは、データ ディレクトリを含むディレクトリに設定する必要があります。これは、git クローン (drools-planner/drools-planner-examples) とリリース zip (examples) では異なります。
"Drools Planner Examples" -> properties -> Run -> Working directory -> C:\Users\Tom\Documents\Projects\Drools planner\examples\data\ を設定しようとしましたが、うまくいきませんでした。
drools-planner - Drools 車両ルーティング プランナーですが、少し違いがあります
次のパラメーターを持つ車両のルーティングを行っています。
- 車両は同じ場所を 2 回訪れる必要があります。先にセットアップすることは、後で収集することです。
- 両方の時間は、緯度と経度の座標を使用してデータベースで既に決定されています。
- 車両は、特定の時間に 2 つの異なる場所に存在することはできません
drools planner を使用してこれを行うにはどうすればよいですか? ありがとう
drools - Drools Planner: Planner がベスト スコアに基づいて期待される結果を提供しない
Drools のユーザー フォーラムに投稿してみましたが、何の反応も得られませんでした (彼らは忙しいだけだと思います)。
「最高のスコア」を提供していないように見えるため、得られた結果に非常に混乱しています。ログ出力の一部を次に示します。
ただし、返される結果には壊れたハード制約が含まれています (ログには「解決が終了しました: 時間 (15724)、最高のスコア (0hard/-2495soft)」と明確に記載されています) - スコア付きの結果が得られます - 200hard/-2495soft (建設フェーズのハード スコアとローカル検索フェーズのソフト スコアのようです)。これが本来あるべき姿ですか?マニュアルの何かを見逃していませんか (私はそれを読みましたが、完全には消化していません)?
これが私のソルバー構成のほとんどです(潜在的に関連する部分のみ):
前もって感謝します!
編集:ここに役立つかもしれないもう少しの情報があります...上記のように、私の最高の(ハード)スコアは0であると言われていますが、それが提供するソリューションにはハード制約違反が含まれています。制約を出力するためのコードをいくつか追加しました (DroolsScoreDirector を使用して WorkingMemory を取得し、最終的に ConstraintOccurrences を取得します)... この出力はハード制約も示しています。
move - Drools Planner Move
Droolsは言うまでもなく、プログラミングの経験はあまりありませんが、配車ルートと同様のプロジェクトを行っています。ランダムシードに応じて、一部の動きを除いて、ほとんどすべてが正常に機能します。
問題は、ヒューリスティックフェーズが完了すると、ローカル検索フェーズが次のような奇妙な動きをすることがあるということです。
ヒューリスティックフェーズソリューション:
1日目:場所1->場所2->場所3->場所4->場所5->場所6日2:場所7->場所8->場所9->場所10
ローカル検索の移動:場所5を2日目に移動しました解決策:
1日目:場所1->場所2->場所3->場所4日2:場所5->場所6
残りの場所は日がなく(例では車両になります)、固定されていないチェーンとして残されます。
場所7->場所8->場所9->場所10->場所7->など
したがって、プログラムがそれらのいずれかの日を探すとき、それは無限ループに入ります。明らかに、問題はそのループから抜け出す方法ではなく(私はその初心者ではありません)、それらの動きを回避する方法です。
例と同じソルバー構成(ソルバークラスの変更など)を使用しているので、なぜそれらの動きをするのかわかりません。自分のMoveクラスをコーディングする必要があると思いますが、コーディング方法の例もMoveFactoryも見つかりません。私はsolver.xmlをコードブロックに残します。
MoveクラスとMoveFactoryクラスのコーディングを学ぶのに役立つリンクやヒント、およびそれを回避するための構成のヒント(ある場合)が役立ちます。
とにかく、時間と労力をありがとうございました。
jboss - eclipse に drools planner をインストールする: コンストラクター IntConstraintOccurrence(String, Object[]) があいまいです
Drools プランナーをインストールしようとしています。それをダウンロードし、プラグインをインストールし、ランタイムを作成し、新しいプロジェクトを作成しました。ただし、ルール ファイルでビルド エラーが発生します。コンストラクター IntConstraintOccurrence(String, Object[]) があいまいです。このコードは私の友人のコンピューター (Eclipse も使用) で完全に正常に動作するため、コードのエラーではないことはわかっていますが、何が問題なのかを突き止めることができませんでした。以前にこの問題を抱えている人はいますか?
drools - CompositePlanningValueRangeDescriptor.extractValues の Nullpointer 例外
ソリューションを解決しようとすると、NPE に直面しています。
ソリューションの 2 つのリストから値の範囲を収集するために、次の注釈を使用して計画エンティティに注釈を付けました。
これが解決策です:
これに関する奇妙なことは、デバッグ中に、ソリューションの値ではなく、null であるパラメーター「planningEntity」であることがわかったことです。
誰かが同じ問題に遭遇したり、これを解決する方法を知っていますか?
よろしくお願いします!
PS: これはメソッド initSelectedPlanningValueList から来ているようです:
PSPS: 問題は解決しました。この問題は、クローンのダミー属性を元のダミー リストにリンクするのを忘れたため発生しました。そのため、複製されたソリューションのダミー リストは null でした。