問題タブ [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.
jboss - Drools ルールは正しくありません。「and」の使用方法は?
私は次の作業をしようとしています:
しかし、そのand Time(this == $user)
部分は決して真実ではないようです。その部分を削除すると、いくつかの println 出力が得られます。
上記のコードの何が問題になっていますか?
drools - drools でリストを反復するために直面している問題
drools でのリスト反復の問題に直面しています
GoodsShipmentにはGoodsItemsのリストがあり、 GoodsItemにはDocumentsのリストがあります
私の要件は、少なくとも 1 つのドキュメントが利用可能かどうかを確認する必要があるということです。
私はこれを試しましたが失敗しました
目的をチェックするためにクラスを書きました
誰でも私を助けてくれませんか..事前に感謝します
java - 連鎖エンティティの不動の計画エンティティ
連鎖エンティティに不動の計画エンティティを実装しようとしていました。私の計画の問題は、optaplanner の例のプロジェクト ジョブ スケジューリングの例に似ていました。以前、連鎖エンティティをロックする問題について質問を投稿しました: How to add Immovable feature in Project Job Scheduling solution? プロジェクト リーダーは、すでに jira からいくつかの回避策を提供しています: https://issues.jboss.org/browse/PLANNER-239。今、回避策のコードを書こうとしていましたが、行き詰まりました。これらの回避策コードを完成させるために誰か助けてください。
ジラ より:
回避策: getNextEntity が変更およびスワップの移動に対して不動でない場合は、カスタムの移動フィルターを追加します。サブチェーンの動きについては... リバースを許可しないでください。2opt の移動に関しては、イントラ移動を許可しないでください (逆になるため)。いずれにせよ、回避策はぎこちなく、この問題は重要です。
私は回避策を理解しようとしているだけなので、ここにあります。誰かがこの回避策を完了するのを手伝ってください:
getNextEntity が変更およびスワップ移動に対して不動でない場合のカスタム移動フィルター:
次の文がわかりにくかったので、どうすればいいのかわかりません :
2opt の移動に関しては、イントラ移動を許可しないでください (逆になるため)。
誰かがこのコードを完成させるのを手伝ってくれたら本当にありがたいです、ありがとう。
drools - リストの合計が 100 より大きいかどうかを確認する
次のことをしなければならないリストによだれ関数を書く必要があります
- 合計を作成する
- 合計が 100 より大きいかどうかを確認します。
以下は私が作成したよだれルールです
$total が 100 より大きいかどうかを確認できません
ありがとう
drools - Drools/OptaPlanner で「not null」のチェックが機能しない
OptaPlanner で非常に基本的な Drools ソルバーを構築しています。
奇妙なことに、私の例では 2 番目のルール ("isNull") だけが実行されます。最初のルール (「notNull」) は起動されませんが、計算が終了したときに私のソリューションのセル要素は null ではありません。
これら 2 つのルールを EasyScoreCalculator に埋め込むと、両方とも起動されます。これら 2 つのルールを NQueens-Example の .drl ファイルに入れると (詳細については、http: //docs.jboss.org/optaplanner/release/6.1.0.Final/optaplanner-docs/html_single/#nQueens を参照してください)。 、両方のルールも起動されます。私のコードと NQueens-Example の間には別の違いがあります。コードに対して次の警告が表示されます。
そして、これは私のクラス org.bpmngenerator.domain.Cell です:
database - DB から数百万のオブジェクトを読み込む
私は Drools エンジンを使用していますが、実装側からのみです。フレームワークは私のためにセットアップされており、RULES側のみを使用できます(自分で説明できるといいのですが)。
つまり、私の問題は、約 100 万行を Oracle DB から WM にロードしようとしているということです。このタスクには時間がかかりすぎることがわかりました。オブジェクトをロードするために使用するルールは次のとおりです。実行時にエンジンに挿入される他のオブジェクトとともに、これらの DB オブジェクトをルールの一部として使用する必要があるため、数百万のレコードを WM にロードすることは必須です)。
ルール "Load_CMMObject" 顕著性 10 ループなし
終わり
Drools エンジンに約 20Gb の RAM を割り当てるサーバーを使用しており、8 つの 1.5GHZ クアッド コア プロセッサを備えています。
問題は、5000 個の raw をロードするのに約 1 分かかることです --> したがって、DB から 100 万個のレコードをロードしたい場合、タスクを完了するのに 200 分かかり、これは多すぎます。
ここで何か助けていただければ幸いです。
どうもありがとう!
drools - drool/optaplanner でハード/ソフト制約スコアを同時に使用する
ルールの結果部分でハード制約スコアとソフト制約スコアを使用することは可能ですが、そのうちの 1 つにゼロ以外の値があります。例えば
ここで、isHard/isSoft の一方は 1 で、もう一方はゼロです。
上記は常に実行された最後のステートメントの値を取ります (これはソフト制約です)
drools - データベースへのアクセス方法を置き換えるための Drools ルール?
私の要件: db にアクセスしてテーブルから情報を取得するメソッドがあります。そして、このテーブル情報を使用して、アプリへのユーザー入力を検証します。ここで、このメソッドを置き換えて、同じ機能 (DB にアクセスしてデータを取得し、そのデータを使用してユーザー入力を検証する) を drools のルールに適用したいと考えています。どうすればいいのですか?ファクト (ここではデータベース内のデータ) を drools ナレッジ セッションにどのように挿入する必要がありますか?? 最初にPOJOで事実を取得してから、同じPOJOをナレッジセッションに挿入する必要がありますか(可能であれば、このアプローチにはあまり興味がありません)? 事実自体を .drl またはその他の外部ソース (データベース以外) で表現し、それらの事実を POJO にロードしてナレッジ セッションに pojo を挿入する方法はありますか?
反応大歓迎です!! ありがとうございました
optaplanner - OptaPlanner は複数の車両を同じ場所に展開します
OptaPlanner VRP Web の例を取り上げて、自分のニーズに合わせてカスタマイズしました。以下のシナリオを除いて、正常に動作しています。
利用可能な車両の数: 2.
各車両の定員は 6 です.
そして、顧客の需要は 7.
上記のシナリオでは、OptaPlanner は問題を解決できません。同じ顧客の場所に 2 台の車両を配置する必要があると思いますが、期待どおりに機能していません。
OptaPlanner ルールを構成して機能させる方法がわかりません。