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 [email protected]
I www.quintiq.com


>>> 
From:   "Christian Schulte" <[email protected]>
To:     "'David Rijsman'" <[email protected]>, <[email protected]>
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: [email protected] [mailto:[email protected]] On Behalf
Of David Rijsman
Sent: Tuesday, February 12, 2013 4:22 PM
To: [email protected] 
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 [email protected] 
I www.quintiq.com 



_______________________________________________
Gecode users mailing list
[email protected] 
https://www.gecode.org/mailman/listinfo/gecode-users 




_______________________________________________
Gecode users mailing list
[email protected]
https://www.gecode.org/mailman/listinfo/gecode-users

Reply via email to