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. 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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_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, IntConLevel icl=ICL_DEF) |
Post propagators for the cumulatives constraint. More... | |
void | Gecode::unary (Home home, const IntVarArgs &s, const IntArgs &p, IntConLevel icl=ICL_DEF) |
Post propagators for scheduling tasks on unary resources. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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.
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 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.
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 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.
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 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.
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 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.
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 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.
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 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.
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 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 111 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.
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 118 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 186 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.
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 193 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 251 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.
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 257 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 309 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.
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 315 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 373 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.
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 380 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 436 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.
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 443 of file cumulative.cpp.