Is there any support in Asteroid for some form of backtracking? E.g. if one wants to explore a neighbourhood made of several successive moves, one needs to effectively execute the moves and then backtrack to the original state in order to execute the chosen move.
Best,
Jean-Noël Monette
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Propagation is performed in a lazy way, so, if you explore two different neightbors, and you backtrack between the two expolorations, the backtracking + move to next neightbor is performed in a single propagation. Of course, if you perform some queries on the model between your backtrack and the next exploration, this will probably trigger the propagation, and you would not benefit from this lazy propagation. Yet, you could also have a look at the partial propagation if you want to perform queries between neightbors; check the method Model.registerForPartialPropagation
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Is there any support in Asteroid for some form of backtracking? E.g. if one wants to explore a neighbourhood made of several successive moves, one needs to effectively execute the moves and then backtrack to the original state in order to execute the chosen move.
Best,
Jean-Noël Monette
Propagation is performed in a lazy way, so, if you explore two different neightbors, and you backtrack between the two expolorations, the backtracking + move to next neightbor is performed in a single propagation. Of course, if you perform some queries on the model between your backtrack and the next exploration, this will probably trigger the propagation, and you would not benefit from this lazy propagation. Yet, you could also have a look at the partial propagation if you want to perform queries between neightbors; check the method Model.registerForPartialPropagation