0

OptaPlanner を使用して、VehicleRoutingExample に似た連鎖計画の問題を最適化しています。私の計画エンティティには、別の計画エンティティである計画変数があります。

現在、ca で巨大なデータセットをテストしています。1500 の計画エンティティ。EasyJavaScoreCalculator を使用して HardSoftScore を取得しています。スコアには、ループで計算されるいくつかの時間およびその他の要因が含まれます。

私の問題は、ConstrucionHeuristic (FIRST_FIT または FIRST_FIT_DECREASING) がソリューションを初期化するのに 10 分以上かかることです。

スコアの計算に使用する制約の数とループの数を既に減らしましたが、実行時間に実際の影響はありませんでした。

CH の所要時間を短縮する方法はありますか? (LocalSearch よりも時間がかからないと思っていましたが、そうではありません…)

4

1 に答える 1

0

EasyJavaScoreCalculator非常に遅く、数百のエンティティを超えて拡張できません。代わりに IncremantalJavaScoreCalculator または Drools 計算機を使用してください。自分で違いを確認するには、VRP の例を取り上げて、3 つの実装 (easy、inc、drools) を切り替えます。

インクリメンタル スコアの計算に関するドキュメント セクションも参照して、なぜそれがはるかに高速なのかを説明してください。

于 2014-09-24T13:21:32.210 に答える