Hello Guido, * Guido Tack <[EMAIL PROTECTED]> [2008-02-05 09:32]: > The rule is that some easy inferences may be done immediately on > posting the constraint, but full propagation only happens when you > call status. > > [...] > > Constraints on solved spaces are exactly the same as on unsolved > spaces. You're not guaranteed to get a solution without search. > > [...] > > The problem with your approach is that if you add variables and > constraints, you're not guaranteed that all the variables will be > assigned after calling status. It works in the above example, because > you add a single constraint, and the new variable can be computed as a > function from the old variables. As soon as you try something more > involved, you may need a nested search to actually determine the > values. Another disadvantage is that your version will be > considerably slower than a simple computation of the sum.
The real functions actually return an IntVar, and for a solved space I take the .val(), for unsolved space I add some constraints on the Var. My intention was to have the computation code only once for the sake of simplicity and maintainability, sacrificing some (minimal, as I thought) efficiency. I didn't see the issue with the search. Thank you very much for your explanation. greetz stanio_ _______________________________________________ Gecode users mailing list [EMAIL PROTECTED] https://www.gecode.org/mailman/listinfo/gecode-users