Alternative interfaces to scheduling constraints
[Direct modelling]
Collaboration diagram for Alternative interfaces to scheduling constraints:
![]() |
Functions | |
void | Gecode::producer_consumer (Space *home, const IntVarArgs &produce_date, const IntArgs &produce_amount, const IntVarArgs &consume_date, const IntArgs &consume_amount, int initial, IntConLevel icl=ICL_DEF) |
Creates propagator for a producer-consumer constraint. | |
void | Gecode::cumulative (Space *home, const IntVarArgs &start, const IntVarArgs &duration, const IntVarArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF) |
Creates propagator for the cumulative constraint. | |
void | Gecode::cumulative (Space *home, const IntVarArgs &start, const IntArgs &duration, const IntVarArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF) |
Creates propagator for the cumulative constraint. | |
void | Gecode::cumulative (Space *home, const IntVarArgs &start, const IntVarArgs &duration, const IntArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF) |
Creates propagator for the cumulative constraint. | |
void | Gecode::cumulative (Space *home, const IntVarArgs &start, const IntArgs &duration, const IntArgs &height, int limit, bool at_most=true, IntConLevel cl=ICL_DEF) |
Creates propagator for the cumulative constraint. | |
void | Gecode::serialized (Space *home, const IntVarArgs &start, const IntVarArgs &duration, IntConLevel cl=ICL_DEF) |
Creates propagator for the serialized constraint. | |
void | Gecode::serialized (Space *home, const IntVarArgs &start, const IntArgs &duration, IntConLevel cl=ICL_DEF) |
Creates propagator for the serialized constraint. |
Function Documentation
void Gecode::producer_consumer | ( | Space * | home, | |
const IntVarArgs & | produce_date, | |||
const IntArgs & | produce_amount, | |||
const IntVarArgs & | consume_date, | |||
const IntArgs & | consume_amount, | |||
int | initial, | |||
IntConLevel | icl = ICL_DEF | |||
) |
Creates propagator for a producer-consumer constraint.
This function will create a propagator that models a producer-consumer constraint, using the translation of such constraints into cumulatives due to Helmut Simoni and Trijntje Cornelissens ("Modelling Producer/Consumer Constraints", Principles and Practice of Constraint Progamming 1995, Cassis, France).
- Parameters:
-
produce_date is the date of event
.
produce_amount is the amount produced by event
.
consume_date is the date of event
.
consume_amount is the amount produced by event
.
initial is the amount available at the start icl Supports value consistency only ( cl
= ICL_VAL, default)
- Todo:
- Make amounts variable, requires changes to cumulatives.
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing producer events or the sizes of the arguments representing consumer events does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 31 of file scheduling.cc.
void Gecode::cumulative | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntVarArgs & | duration, | |||
const IntVarArgs & | height, | |||
int | limit, | |||
bool | at_most = true , |
|||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the cumulative constraint.
This function will create a propagator for the cumulative constraint, by translating it into a cumulatives constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
height is the height is the amount of resources consumed by task
limit limit_r
is the amount of resource availableat_most tells if the amount of resources used for a machine should be less than the limit ( at_most
= true, default) or greater than the limit (at_most
= false)icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 180 of file scheduling.cc.
void Gecode::cumulative | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntArgs & | duration, | |||
const IntVarArgs & | height, | |||
int | limit, | |||
bool | at_most = true , |
|||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the cumulative constraint.
Creates propagator for the cumulative constraint.
This function will create a propagator for the cumulative constraint, by translating it into a cumulatives constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
height is the height is the amount of resources consumed by task
limit limit_r
is the amount of resource availableat_most tells if the amount of resources used for a machine should be less than the limit ( at_most
= true, default) or greater than the limit (at_most
= false)icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 187 of file scheduling.cc.
void Gecode::cumulative | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntVarArgs & | duration, | |||
const IntArgs & | height, | |||
int | limit, | |||
bool | at_most = true , |
|||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the cumulative constraint.
Creates propagator for the cumulative constraint.
This function will create a propagator for the cumulative constraint, by translating it into a cumulatives constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
height is the height is the amount of resources consumed by task
limit limit_r
is the amount of resource availableat_most tells if the amount of resources used for a machine should be less than the limit ( at_most
= true, default) or greater than the limit (at_most
= false)icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 194 of file scheduling.cc.
void Gecode::cumulative | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntArgs & | duration, | |||
const IntArgs & | height, | |||
int | limit, | |||
bool | at_most = true , |
|||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the cumulative constraint.
Creates propagator for the cumulative constraint.
This function will create a propagator for the cumulative constraint, by translating it into a cumulatives constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
height is the height is the amount of resources consumed by task
limit limit_r
is the amount of resource availableat_most tells if the amount of resources used for a machine should be less than the limit ( at_most
= true, default) or greater than the limit (at_most
= false)icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 201 of file scheduling.cc.
void Gecode::serialized | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntVarArgs & | duration, | |||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the serialized constraint.
This function will create a propagator for the serialized constraint, by translating it into a cumulative constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 225 of file scheduling.cc.
void Gecode::serialized | ( | Space * | home, | |
const IntVarArgs & | start, | |||
const IntArgs & | duration, | |||
IntConLevel | cl = ICL_DEF | |||
) |
Creates propagator for the serialized constraint.
Creates propagator for the serialized constraint.
This function will create a propagator for the serialized constraint, by translating it into a cumulative constraint.
- Parameters:
-
start is the start date assigned to task
duration is the duration of task
icl Supports value-consistency only ( cl
= ICL_VAL, default).
- Exceptions:
-
Int::ArgumentSizeMismatch Raised if the sizes of the arguments representing tasks does not match. Int::NumericalOverflow Raised if any numerical argument is larger than Limits::Int::int_max or less than Limits::Int::int_min.
Definition at line 233 of file scheduling.cc.