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

Reply via email to