[gecode-users] Branching decision updates an existing propagator

Christian Schulte cschulte at kth.se
Wed Feb 13 17:10:03 CET 2013


Hi David,

I can't really see why you would want to save the handle also in the space.
You can do it, of course but I do not see why propagator subsumption forces
you to do that: when creating a propagator, the propagator could add its
preference which then would stay on even if the propagator gets subsumed.
Another idea would be to build a propagator that propagates all dependencies
stored in the graph, that might save the creation of many propagators (due
to transitivity of precedence).

Damn it, you are right about MPG, you should have a copy constructor. Thanks
for pointing out, I'll fix that for Gecode 4 (which is now nearing its
completion - of sorts...).

Best
Christian

--
Christian Schulte, www.ict.kth.se/~cschulte/



-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of David Rijsman
Sent: Wednesday, February 13, 2013 10:37 AM
To: users at gecode.org; cschulte at kth.se
Subject: Re: [gecode-users] Branching decision updates an existing
propagator

Hi Christian,

thanks and indeed for the same use case. If I read correct the idea is to
have a distance graph or something as a local object embedded in a local
handle. Have at least the extended space have a handle to this object and
have each precedence propagator between two views also have a handle to this
local object. We do not want to loose the nodes in the distance graph when
we subsume a precedence propagator and therefor we need the handle in the
space. 

In MPG section 27.4 examples you have not defined the copy constructors of
the LI class. I assume we always need to have one so we can have multiple
handles to the same object, is that correct?


David J. Rijsman
Algorithm Lead
Quintiq
 
T +31 (0)73 691 07 39
F +31 (0)73 691 07 54
M +31 (0)62 127 68 29
E david.rijsman at quintiq.com
I www.quintiq.com


>>> 
From: 	"Christian Schulte" <cschulte at kth.se>
To:	"'David Rijsman'" <David.Rijsman at quintiq.com>, <users at gecode.org>
Date: 	12-2-2013 17:22
Subject: 	RE: [gecode-users] Branching decision updates an existing
propagator

Hi David,

Funny, we added support for this some time ago (also for temporal networks
;-)) but we never made it round to implement the networks (still on our todo
list).

The best way to do it is to create a local object with a local handle that
can be shared among several propagators/and or branchers. This is described
in Section 27.4 in MPG. Then the propagator can add the information to this
shared object and the brancher can read from there.

Hope that helps.

Best
Christian


--
Christian Schulte, www.ict.kth.se/~cschulte/ 


-----Original Message-----
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of David Rijsman
Sent: Tuesday, February 12, 2013 4:22 PM
To: users at gecode.org
Subject: [gecode-users] Branching decision updates an existing propagator

Hi All,

I am wondering if there is pattern to be used if I have a propagator which
can be fed with new information by a branching decision.  Specifically I
have a temporal propagator maintaining a temporal network and if a branch
decision is to introduce a new precedence relation (ordering between two
views present in the network) I would like to forward this information to
the temporal propagator. 

I was thinking of maintaining a unary relation to my temporal propagator in
my extended space, this relation might become null when the propagator is
subsumed. I also need to introduce a post precedence constraint API on my
extended space which notifies to temporal propagator of the new precedence
constraint. This API on the space can then be invoked by the brancher.

Would this be the best way of doing something like this? 



David J. Rijsman
Algorithm Lead
Quintiq
 
T +31 (0)73 691 07 39
F +31 (0)73 691 07 54
M +31 (0)62 127 68 29
E david.rijsman at quintiq.com
I www.quintiq.com 



_______________________________________________
Gecode users mailing list
users at gecode.org 
https://www.gecode.org/mailman/listinfo/gecode-users 




_______________________________________________
Gecode users mailing list
users at gecode.org
https://www.gecode.org/mailman/listinfo/gecode-users




More information about the users mailing list