Generated on Wed Nov 1 15:05:04 2006 for Gecode by doxygen 1.4.5

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 $ produce\_date_i $ is the date of event $ i $ .
produce_amount $ produce\_amount_i $ is the amount produced by event $ i $ .
consume_date $ consume\_date_j $ is the date of event $ j $ .
consume_amount $ consume\_amount_j $ is the amount produced by event $ j $ .
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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
height $ height_i $ is the height is the amount of resources consumed by task $ i $
limit limit_r is the amount of resource available
at_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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
height $ height_i $ is the height is the amount of resources consumed by task $ i $
limit limit_r is the amount of resource available
at_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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
height $ height_i $ is the height is the amount of resources consumed by task $ i $
limit limit_r is the amount of resource available
at_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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
height $ height_i $ is the height is the amount of resources consumed by task $ i $
limit limit_r is the amount of resource available
at_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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
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 $ start_i $ is the start date assigned to task $ i $
duration $ duration_i $ is the duration of task $ i $
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.