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_ris 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_ris 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_ris 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_ris 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.
