私は、VRP(時間窓付き)のサンプルベースのアプリのための一種の「スマートな」MoveIteratorFactoryを作成したいと思います。この移動ファクトリは、現在のソリッドステートに基づいてCompositeMoveを毎回生成するイテレータを返す必要があります。MoveIteratorFactoryは現在の動作中のソリューションに基づいて移動を生成できますか?
MoveIteratorFactoryは、現在のソリッドステートに基づいて移動を生成するイテレータを作成できますか?
AFAIK MoveIteratorFactoryのメソッドはScoreDirectorオブジェクトを受け入れます。返されるIteratorは、ScoreDirectorの動作中のソリューションから取得したインスタンスを使用して移動を生成するようです。しかし、これらのインスタンスは、ソルバープロセスが進行中に更新されていますか? hasNextおよび次のメソッドが呼び出されているときに、現在のソリューション状態に応じてすべての計画変数が設定されていますか?または、イテレータにScoreDirectorインスタンスを持つフィールドがあり、ScoreDirectorから毎回取得されたインスタンスを使用して移動を生成する必要がありますか?
ありがとうございます!私は、各ステップのイテレータの新しいインスタンスを毎回割り当てるときの影響(パフォーマンス)が何であるか疑問に思っていますか? –
は、リスト内のすべての移動を作成する場合は無視します(そうでなければ、MoveListFactoryを使用することもできます) –