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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. | |
void | Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on unary resources. | |
void | Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on unary resources. | |
void | Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on unary resources. | |
void | Gecode::unary (Home home, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on unary resources. | |
void | Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on unary resources. | |
void | Gecode::unary (Home home, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on unary resources. | |
void | Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, int c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const TaskTypeArgs &t, const IntVarArgs &flex, const IntArgs &fix, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, int c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. | |
void | Gecode::cumulative (Home home, IntVar c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling optional tasks on cumulative resources. |
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, | ||
IntConLevel | icl = ICL_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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 114 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 123 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 132 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 141 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 150 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 159 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 168 of file cumulatives.cpp.
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, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for the cumulatives constraint.
\copybrief cumulatives()
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 , 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).
home | current space |
m | ![]() ![]() |
s | ![]() ![]() |
p | ![]() ![]() |
e | ![]() ![]() |
u | ![]() ![]() |
c | ![]() ![]() |
at_most | at_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) |
icl | Supports value-consistency only (icl = ICL_VAL, default). |
Int::ArgumentSizeMismatch | thrown if the sizes of the arguments representing tasks does not match. |
Int::OutOfLimits | thrown if any numerical argument is larger than Int::Limits::max or less than Int::Limits::min. |
Definition at line 177 of file cumulatives.cpp.
void Gecode::unary | ( | Home | home, |
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with start times s and processing times p on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
void Gecode::unary | ( | Home | home, |
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with start times s, processing times p, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
void Gecode::unary | ( | Home | home, |
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with flexible times flex and fixed times fix on a unary resource. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
TT_FIXP
or that could generate an overflow. void Gecode::unary | ( | Home | home, |
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with flexible times flex, fixed times fix, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
TT_FIXP
or that could generate an overflow. void Gecode::unary | ( | Home | home, |
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on unary resources.
Schedule tasks with start times s, processing times p, and end times e on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
The processing times are constrained to be non-negative.
Throws an exception of type Int::ArgumentSizeMismatch, if s and p are of different size.
void Gecode::unary | ( | Home | home, |
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on unary resources.
Schedule optional tasks with start times s, processing times p, end times e, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a unary resource. The propagator uses the algorithms from: Petr Vilím, Global Constraints in Scheduling, PhD thesis, Charles University, Prague, Czech Republic, 2007.
The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.
The processing times are constrained to be non-negative.
The propagator performs overload checking, detectable precendence propagation, not-first-not-last propagation, and edge finding.
Throws an exception of type Int::ArgumentSizeMismatch, if s, p, or m are of different size.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with flexible times flex, fixed times fix, and use capacity u on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 105 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
\copybrief cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel)
Schedule tasks with flexible times flex, fixed times fix, and use capacity u on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.Definition at line 112 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule tasks with flexible times flex, fixed times fix, use capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 175 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | flex, | ||
const IntArgs & | fix, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
\copybrief cumulative(Home,int,const TaskTypeArgs&,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel)
Schedule tasks with flexible times flex, fixed times fix, use capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c. For each task, it depends on t how the flexible and fix times are interpreted:
t[i]
is TT_FIXP
, then flex[i]
is the start time and fix[i]
is the processing time.t[i]
is TT_FIXS
, then flex[i]
is the end time and fix[i]
is the start time.t[i]
is TT_FIXE
, then flex[i]
is the start time and fix[i]
is the end time.Definition at line 182 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with start times s, processing times p, and use capacity u on a cumulative resource with capacity c.
The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 237 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
\copybrief cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,IntConLevel)
Schedule tasks with start times s, processing times p, and use capacity u on a cumulative resource with capacity c.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.andPetr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 243 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule optional tasks with start times s, processing times p, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.
The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 293 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
\copybrief cumulative(Home,int,const IntVarArgs&,const IntArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel)
Schedule optional tasks with start times s, processing times p, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.andPetr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 299 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
Schedule tasks with start times s, processing times p, end times e, and use capacity u on a cumulative resource with capacity c.
The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 354 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling tasks on cumulative resources.
\copybrief cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,IntConLevel)
Schedule tasks with start times s, processing times p, end times e, and use capacity u on a cumulative resource with capacity c.The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.andPetr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 361 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
int | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
Schedule optional tasks with start times s, processing times p, end times e, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.
The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.
The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:
Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.
and
Petr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 414 of file cumulative.cpp.
void Gecode::cumulative | ( | Home | home, |
IntVar | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntConLevel | icl = ICL_DEF |
||
) |
Post propagators for scheduling optional tasks on cumulative resources.
\copybrief cumulative(Home,int,const IntVarArgs&,const IntVarArgs&,const IntVarArgs&,const IntArgs&,const BoolVarArgs&,IntConLevel)
Schedule optional tasks with start times s, processing times p, end times e, used capacity u, and whether a task is mandatory m (a task is mandatory if the Boolean variable is 1) on a cumulative resource with capacity c.The propagator does not enforce , this constraint has to be posted in addition to ensure consistency of the task bounds.The propagator performs time-tabling, overload checking, and edge-finding. It uses algorithms taken from:Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, in W. J. van Hoeve and J. N. Hooker, editors, CPAIOR, volume 5547 of LNCS, pages 294-308. Springer, 2009.andPetr Vilím, Edge finding filtering algorithm for discrete cumulative resources in O(kn log n). In I. P. Gent, editor, CP, volume 5732 of LNCS, pages 802-816. Springer, 2009.
Definition at line 421 of file cumulative.cpp.