Hi Tommaso,
That is indeed not a very good idea as it basically would disable batch recomputation in Gecode and hence will slow down the whole propagation process considerably. What you might want to do instead is put some state in the brancher that tells the brancher that it is now generating one assignment out of a set of assignments. This idea then is compatible with how recomputation is done in Gecode. For an example that has a slight similarity with what you describe, consider the case study in MPG on bin packing: there the brancher also branches on several values and variables simultaneously. Hope that helps Cheers Christian -- Christian Schulte, www.gecode.org/~schulte Professor of Computer Science, KTH, [email protected] Expert Researcher, SICS, [email protected] From: [email protected] [mailto:[email protected]] On Behalf Of tommaso.urli Sent: Friday, October 9, 2015 07:18 AM To: [email protected] Subject: [gecode-users] Calling Space::status() within a Brancher::commit() call Hi all, I am working on an incomplete (heuristic) brancher for a model. The brancher focuses on feasibility: the goal is to finding a feasible solution quickly, regardless of its cost, according to a problem-specific heuristic. In my brancher I often assign several variables in the same branching step; I do this because as soon as I consider the semantics of the variables, it makes sense to group related decisions. However, since these variables can be interconnected by constraints, I'd need to do a propagation step in order to ensure that their domains are consistent between the assignments. I am currently calling home->status() in the brancher's commit() method, which does what I want, however I am not sure whether this is advisable in general. I'd like some opinion from Christian or Guido regarding this. Thanks, --- Tommaso Urli, Researcher Optimisation Research Group (ORG) NICTA Canberra Research Lab (CRL) 7 London Circuit, Canberra ACT 2601
_______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
