Generated on Sat Apr 10 2021 00:00:00 for Gecode by doxygen 1.9.1
cumulatives.cpp File Reference

Go to the source code of this file.

Functions

void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntVarArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntVarArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 
void Gecode::cumulatives (Home home, const IntArgs &m, const IntVarArgs &s, const IntArgs &p, const IntVarArgs &e, const IntArgs &u, const IntArgs &c, bool at_most, IntPropLevel ipl=IPL_DEF)
 Post propagators for the cumulatives constraint. More...
 

Function Documentation

◆ cumulatives() [1/8]

void Gecode::cumulatives ( Home  home,
const IntVarArgs m,
const IntVarArgs s,
const IntVarArgs p,
const IntVarArgs e,
const IntVarArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 110 of file cumulatives.cpp.

◆ cumulatives() [2/8]

void Gecode::cumulatives ( Home  home,
const IntArgs m,
const IntVarArgs s,
const IntVarArgs p,
const IntVarArgs e,
const IntVarArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 119 of file cumulatives.cpp.

◆ cumulatives() [3/8]

void Gecode::cumulatives ( Home  home,
const IntVarArgs m,
const IntVarArgs s,
const IntArgs p,
const IntVarArgs e,
const IntVarArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 128 of file cumulatives.cpp.

◆ cumulatives() [4/8]

void Gecode::cumulatives ( Home  home,
const IntArgs m,
const IntVarArgs s,
const IntArgs p,
const IntVarArgs e,
const IntVarArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 137 of file cumulatives.cpp.

◆ cumulatives() [5/8]

void Gecode::cumulatives ( Home  home,
const IntVarArgs m,
const IntVarArgs s,
const IntVarArgs p,
const IntVarArgs e,
const IntArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 146 of file cumulatives.cpp.

◆ cumulatives() [6/8]

void Gecode::cumulatives ( Home  home,
const IntArgs m,
const IntVarArgs s,
const IntVarArgs p,
const IntVarArgs e,
const IntArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 155 of file cumulatives.cpp.

◆ cumulatives() [7/8]

void Gecode::cumulatives ( Home  home,
const IntVarArgs m,
const IntVarArgs s,
const IntArgs p,
const IntVarArgs e,
const IntArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 164 of file cumulatives.cpp.

◆ cumulatives() [8/8]

void Gecode::cumulatives ( Home  home,
const IntArgs m,
const IntVarArgs s,
const IntArgs p,
const IntVarArgs e,
const IntArgs u,
const IntArgs c,
bool  at_most,
IntPropLevel  ipl = IPL_DEF 
)

Post propagators for the cumulatives constraint.

Post propagators for the cumulatives constraint. This function creates propagators for the cumulatives constraint presented in "A new multi-resource cumulatives constraint with negative heights", Nicolas Beldiceanu and Mats Carlsson, Principles and Practice of Constraint Programming 2002.

The constraint models a set of machines and a set of tasks that should be assigned to the machines. The machines have a positive resource limit and the tasks each have a resource usage that can be either positive, negative, or zero. The constraint is enforced over each point in time for a machine where there is at least one task assigned.

The propagator does not enforce $s_i+p_i=e_i$, this constraint has to be posted in addition to ensure consistency of the task bounds.

The limit for a machine is either the maximum amount available at any given time (at_most = true), or else the least amount to be used (at_most = false).

Parameters
homecurrent space
m$ m_i $ is the machine assigned to task $ i $
s$ s_i $ is the start time assigned to task $ i $
p$ p_i $ is the processing time of task $ i $
e$ e_i $ is the end time assigned to task $ i $
u$ u_i $ is the amount of resources consumed by task $ i $
c$ c_r $ is the capacity, the amount of resource available for machine $ r $
at_mostat_most tells if the amount of resources used for a machine should be less than the limit (at_most = true) or greater than the limit (at_most = false)
iplSupports value-consistency only (ipl = IPL_VAL, default).
Exceptions
Int::ArgumentSizeMismatchthrown if the sizes of the arguments representing tasks does not match.
Int::OutOfLimitsthrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min.

Definition at line 173 of file cumulatives.cpp.