My intuition is as follows: Scenario a) You want to debug a faulty model (that is, it does not have the right solutions). You suspect that there is a propagator that is "wrong" with respect to the problem statement. You would like to find "wrong". But, "wrong" might never fail (typically, it will not)! It might make some variable domains shrink but in the end some other propagators use that information to infer failure.
Scenario b) Your model is correct but you would like to know what is the reason why a particular choice during branching went wrong. After the choice made, many propagators will run: the explanation why the choice is wrong is the execution of all these propagators but not just the last one. Yes, you are correct as soon as a propagator fails propagation stops immediately. Maybe you have other scenarios of interest, but then, as said by George, it is easy enough to try changing Gecode. All the best Christian -- Christian Schulte, www.ict.kth.se/~cschulte/ -----Original Message----- From: David Rijsman [mailto:[EMAIL PROTECTED] Sent: Friday, March 28, 2008 9:06 AM To: [EMAIL PROTECTED] Cc: Mikael Zayenz Lagerkvist; [EMAIL PROTECTED] Subject: Re: [gecode-users] Access to the last propagator invoked in case of ES_FAILED Just for my understanding when you say 'the reason of failure' are you refering to the propagator (assuming it is a propagator) that would have made at least one domain empty. Also in my understanding I would expect no more propagators to be invoked after such a propagator has been invoked. How do you define the 'real reason of failure' and how is it possible that many more propagators will be invoked after this propagator? On Thu, Mar 27, 2008 at 3:59 PM, Christian Schulte <[EMAIL PROTECTED]> wrote: > Well, as said the last propagator will just almost never be the reason for > failure: the real reason might be some propagator that ran one million steps > earlier ;-( > > I am guessing here but I think that George was referring to step() rather > than propagate() which does a single propagator step at a time and that he > traces all propagator executions for learning nogoods. step() has never made > it into a released system. > > Christian > > -- > Christian Schulte, www.ict.kth.se/~cschulte/ > > > -----Original Message----- > From: David Rijsman [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 27, 2008 3:48 PM > To: [EMAIL PROTECTED] > Cc: Mikael Zayenz Lagerkvist; [EMAIL PROTECTED] > Subject: Re: [gecode-users] Access to the last propagator invoked in case of > ES_FAILED > > > But one could enumerate the reasons. I mean being in a search one > could conclude that the reason of a failure is due to the branching in > case one has no propagator and because of the propagator if one has > one. Being outside the search one can conclude the same but the reason > is not the branching but the posting of the constraint in case of a > failure without a last propagator. > > _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users
