私はまだ OptaPlanner を使用して、VehicleRoutingExample に似た連鎖計画の問題を最適化しています。私の計画エンティティには、別の計画エンティティである計画変数があります。スコアは HardSoftScores です。
実行時の問題を解決するために IncrementalScore を初期化しましたが、何かが正しく機能しておらず、その理由を見つけることができませんでした。(デバッグ、system.out… ect. ...)
問題は、Solver が IncrementalScore を使用してテスト データセットの実行可能なソリューションを作成しないことです。ソルバーが EasyScore を使用して作成したため、実行可能な解を見つけることができることがわかっています。
EasyScore によって作成された最適解は、次のスコアを与えてくれます: (0hard/-151763soft) IncrementalScore が解いているとき、いくつかの奇妙な値が得られます。
Solver.getBestsolution().getScore() によって与えられるスコアは (-25hard/-207111soft) です。追加の IncrementalScoreCalculator をインスタンス化し、bestSolution のスコアを計算させると、値 (-34hard/-207111soft) が得られます。解決策を確認したところ、最初の値は間違っているだけで、2 番目の値は「正しい」(ただし実行可能ではありません) ことがわかりました。
誰かが間違いがどこにあるのか考えていますか? または、理由を見つける他の方法はありますか?