Hi Kish, 1) Hmmm, never thought about that. You could emulate this behavior by extending one array as you suggested. Do you know any application that relies on this behavior?
2) Just ICL_DEF which is as the algorithm by Paul Shaw, see the referenced paper. 3) Gecode always chooses the best propagator, cumulative is a good example: if all the variables for the use are assigned it'll choose the special case. If it is clear that cumulative is not needed (for example, all tasks require more than half of the resource), a disjunctive scheduling propagator is posted. This is true for all constraints: you ask which constraint you want to have and Gecode posts the best propagator(s) it can for the constraint. Cheers Christian -- Christian Schulte, KTH, web.it.kth.se/~cschulte/ -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Kish Shen Sent: Tuesday, May 10, 2011 6:35 PM To: [email protected] Subject: [gecode-users] question about lexical ordering constraint and others Hi, I have a few (more) question about various Gecode constraints that I am interfacing to ECLiPSe: 1) the constraint for lexical ordering rel(Home, IntVarArgs, IntRelType, IntVarArgs) requires the two arrays to be the same size. It seems the same restriction applies in the global constraint catalog for the lexical ordering constraints as well. However, the existing ECLiPSe lexical ordering constraints does not have this restriction -- i.e. the two sequences of numbers being compared can be different lengths. What is the reason for the same length restriction? The lexical ordering for sequences of different length used in ECLiPSe seems to be the natural one, where missing numbers in the shorter sequence are replaced by 'bottom', i.e. a value smaller than any number. So (using . to separate numbers in a sequence) 1.3 > 1.2.5 1.2.5 > 1.2 etc. Could such a definition of ordering be used in the Gecode version as well? 2. What IntConLevel is supported in the binpacking constraint? I can't find a specification for this in the reference documentation (in doc-latest) [beyond the default of ICL_DEF] 3. For various versions of the same constraint (e.g. cumulative), some arguments can be IntArgs or IntVarArgs. In general, does it make a difference if I always use the version with IntVarArgs, even if all the IntVar has only one element in their domain (i.e. they are integers)? I guess what I am asking is if (in general) Gecode does a check of its IntVarArgs argument to see if they are all integers and calls a more efficient implementation for the constraint if there is one? [I was specifically looking at the cumulative constraint, but there are obviously others]. The reaosn I ask is that in interfacing such constraints to ECLiPSe, I currently don't check if such arguments are all integers or if they contain some domain variables (IntVar). I can do this check, but if it is done in Gecode already, there is no reason for me to do so. Thanks in advance for any help and information! Cheers, Kish -- This e-mail may contain confidential and privileged material for the sole use of the intended recipient. Any review, use, distribution or disclosure by others is strictly prohibited. If you are not the intended recipient (or authorized to receive for the recipient), please contact the sender by reply e-mail and delete all copies of this message. Cisco Systems Limited (Company Number: 02558939), is registered in England and Wales with its registered office at 1 Callaghan Square, Cardiff, South Glamorgan CF10 5BT. _______________________________________________ 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
