David Rijsman wrote:

> Hi,
> 
> First of all compliments for another very nice version. I am looking at the 
> new scheduling constraints introduced in version 4.3.0, and I trying to 
> understand why you have decided the following for some of the new cumulative 
> and unary constraints:
> 
> "The propagator does not enforce s = p + e, this constraint has to be posted 
> in addition to ensure consistency of the task bounds."
> 
> I can not figure out what a use case would be where you do not want s = p + e 
> enforced. If there are use cases why is it enforced in some of the 
> constraints? 

The reason is that you can have the same task on several resources at once, 
which would cause an overhead if each resource constraint in addition 
propagated s=p+e.  Currently, the interface is a bit inconsistent, as the 
cumulatives constraint does propagate s=p+e.

We plan to add modeling support for scheduling constraints in the future (I'm 
working on it), where you would declare task variables that encapsulate the 
s=p+e propagation.  In fact, there would be one propagator for all the simple 
temporal constraints (such as task A is before task B, which translates to e(A) 
<= s(B) ), which gives strictly stronger propagation than the individual 
constraints.
The resource constraints can then be posted in terms of these task variables.

Cheers,
        Guido

-- 
Guido Tack, http://people.cs.kuleuven.be/~guido.tack/




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

Reply via email to