Scheduling for cumulative resources More...
Classes | |
class | ExtOmegaNode |
Node for an extended omega tree. More... | |
class | ExtOmegaTree |
Omega trees for computing ect of task sets. More... | |
class | ManFixPSETask |
Cumulative (mandatory) task with fixed processing, start or end time. More... | |
class | ManFixPTask |
Cumulative (mandatory) task with fixed processing time. More... | |
class | ManFlexTask |
Cumulative (mandatory) task with flexible processing time. More... | |
class | ManProp |
Scheduling propagator for cumulative resource with mandatory tasks. More... | |
class | OmegaLambdaNode |
Node for an omega lambda tree. More... | |
class | OmegaLambdaTree |
Omega-lambda trees for computing ect of task sets. More... | |
class | OmegaNode |
Node for an omega tree. More... | |
class | OmegaTree |
Omega trees for computing ect of task sets. More... | |
class | OptFixPSETask |
Cumulative optional task with fixed processing, start or end time. More... | |
class | OptFixPTask |
Cumulative optional task with fixed processing time. More... | |
class | OptFlexTask |
Cumulative optional task with flexible processing time More... | |
class | OptProp |
Scheduling propagator for cumulative resource with optional tasks. More... | |
class | PrecOrder |
Sort by prec array. More... | |
class | StoCap |
Sort by capacity. More... | |
class | TaskByDecCap |
Sort order for tasks by decreasing capacity. More... |
Typedefs | |
typedef ManFixPTask | ManFixPTaskFwd |
Forward mandatory fixed task view. | |
typedef FwdToBwd< ManFixPTaskFwd > | ManFixPTaskBwd |
Backward (dual) mandatory fixed task view. | |
typedef ManFixPSETask | ManFixPSETaskFwd |
Forward mandatory fixed task view. | |
typedef FwdToBwd< ManFixPSETaskFwd > | ManFixPSETaskBwd |
Backward (dual) mandatory fixed task view. | |
typedef OptFixPTask | OptFixPTaskFwd |
Forward optional fixed task view. | |
typedef FwdToBwd< OptFixPTaskFwd > | OptFixPTaskBwd |
Backward (dual) optional fixed task view. | |
typedef OptFixPSETask | OptFixPSETaskFwd |
Forward optional fixed task view. | |
typedef FwdToBwd< OptFixPSETaskFwd > | OptFixPSETaskBwd |
Backward (dual) optional fixed task view. | |
typedef ManFlexTask | ManFlexTaskFwd |
Forward mandatory flexible task view. | |
typedef FwdToBwd< ManFlexTaskFwd > | ManFlexTaskBwd |
Backward (dual) mandatory flexible task view. | |
typedef OptFlexTask | OptFlexTaskFwd |
Forward optional flexible task view. | |
typedef FwdToBwd< OptFlexTaskFwd > | OptFlexTaskBwd |
Backward (dual) optional flexible task view. |
Functions | |
template<class Cap> | |
void | cumulative (Home home, Cap c, const TaskTypeArgs &t, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl) |
template<class Cap> | |
void | cumulative (Home home, Cap c, const TaskTypeArgs &t, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl) |
template<class Cap> | |
void | cumulative (Home home, Cap c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, IntPropLevel ipl) |
template<class Cap> | |
void | cumulative (Home home, Cap c, const IntVarArgs &s, const IntArgs &p, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl) |
template<class Cap> | |
void | cumulative (Home home, Cap c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, IntPropLevel ipl) |
template<class Cap> | |
void | cumulative (Home home, Cap c, const IntVarArgs &s, const IntVarArgs &p, const IntVarArgs &e, const IntArgs &u, const BoolVarArgs &m, IntPropLevel ipl) |
void | mul_check (long long int x, long long int y) |
Throw exception if multiplication of x and y overflows. | |
void | mul_check (long long int x, long long int y, long long int z) |
Throw exception if multiplication of x, y, and z overflows. | |
template<class Task> | |
ExecStatus | subsumed (Space &home, Propagator &p, int c, TaskArray< Task > &t) |
Check for subsumption (all tasks must be assigned) | |
template<class ManTask> | |
ExecStatus | overload (Space &home, int c, TaskArray< ManTask > &t) |
Check mandatory tasks t for overload. | |
template<class Task, class Cap> | |
ExecStatus | timetabling (Space &home, Propagator &p, Cap c, TaskArray< Task > &t) |
Perform time-tabling propagation. | |
template<class Task> | |
ExecStatus | edgefinding (Space &home, int c, TaskArray< Task > &t) |
Propagate by edge-finding. | |
template<class ManTask, class Cap> | |
ExecStatus | cmanpost (Home home, Cap c, TaskArray< ManTask > &t, IntPropLevel ipl) |
Post mandatory task propagator according to propagation level. | |
template<class OptTask, class Cap> | |
ExecStatus | coptpost (Home home, Cap c, TaskArray< OptTask > &t, IntPropLevel ipl) |
Post optional task propagator according to propagation level. | |
template<class TaskView> | |
ExecStatus | edgefinding (Space &home, int c, TaskViewArray< TaskView > &t) |
template<class ManTask, class Cap> | |
ExecStatus | manpost (Home home, Cap c, TaskArray< ManTask > &t, IntPropLevel ipl) |
template<class OptTask, class Cap> | |
ExecStatus | optpost (Home home, Cap c, TaskArray< OptTask > &t, IntPropLevel ipl) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPTaskBwd &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPSETaskBwd &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPTaskBwd &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPSETaskBwd &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPTask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFixPSETask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ManFlexTask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPTask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPSETask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFlexTask &t) |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPTask &t) |
Print optional task in format est:[p,c]:lct:m. | |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFixPSETask &t) |
Print optional task in format est:[p,c]:lct:m. | |
template<class Char, class Traits> | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const OptFlexTask &t) |
Print optional task in format est:lst:pmin:pmax:c:ect:lct:m. |
Scheduling for cumulative resources
The edge-finding and overload-checking algorithms and data structures follow (mostly): Petr Vilím, Max Energy Filtering Algorithm for Discrete Cumulative Resources, CP-AI-OR, 2009. Petr Vilím, Edge Finding Filtering Algorithm for Discrete Cumulative Resources in O(kn log n), CP, 2009.
Forward mandatory fixed task view.
Definition at line 293 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 296 of file cumulative.hh.
Forward mandatory fixed task view.
Definition at line 299 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 302 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 305 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 308 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 311 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 314 of file cumulative.hh.
Forward mandatory flexible task view.
Definition at line 317 of file cumulative.hh.
Backward (dual) mandatory flexible task view.
Definition at line 320 of file cumulative.hh.
Forward optional flexible task view.
Definition at line 323 of file cumulative.hh.
Backward (dual) optional flexible task view.
Definition at line 326 of file cumulative.hh.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
IntPropLevel | ipl ) |
Definition at line 44 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const TaskTypeArgs & | t, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntPropLevel | ipl ) |
Definition at line 106 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
IntPropLevel | ipl ) |
Definition at line 164 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const IntVarArgs & | s, | ||
const IntArgs & | p, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntPropLevel | ipl ) |
Definition at line 212 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
IntPropLevel | ipl ) |
Definition at line 255 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, |
Cap | c, | ||
const IntVarArgs & | s, | ||
const IntVarArgs & | p, | ||
const IntVarArgs & | e, | ||
const IntArgs & | u, | ||
const BoolVarArgs & | m, | ||
IntPropLevel | ipl ) |
Definition at line 304 of file cumulative.cpp.
|
inline |
Throw exception if multiplication of x and y overflows.
Definition at line 37 of file limits.hpp.
|
inline |
Throw exception if multiplication of x, y, and z overflows.
Definition at line 43 of file limits.hpp.
|
inline |
Check for subsumption (all tasks must be assigned)
Definition at line 38 of file subsumption.hpp.
ExecStatus Gecode::Int::Cumulative::overload | ( | Space & | home, |
int | c, | ||
TaskArray< ManTask > & | t ) |
Check mandatory tasks t for overload.
Definition at line 41 of file overload.hpp.
|
inline |
Perform time-tabling propagation.
Definition at line 55 of file time-tabling.hpp.
ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, |
int | c, | ||
TaskArray< Task > & | t ) |
Propagate by edge-finding.
Definition at line 178 of file edge-finding.hpp.
ExecStatus Gecode::Int::Cumulative::cmanpost | ( | Home | home, |
Cap | c, | ||
TaskArray< ManTask > & | t, | ||
IntPropLevel | ipl ) |
Post mandatory task propagator according to propagation level.
ExecStatus Gecode::Int::Cumulative::coptpost | ( | Home | home, |
Cap | c, | ||
TaskArray< OptTask > & | t, | ||
IntPropLevel | ipl ) |
Post optional task propagator according to propagation level.
|
inline |
Definition at line 68 of file edge-finding.hpp.
|
inline |
|
inline |
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFixPTaskBwd & | t ) |
Definition at line 1 of file task-view.hpp.
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFixPSETaskBwd & | t ) |
Definition at line 1 of file task-view.hpp.
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const OptFixPTaskBwd & | t ) |
Definition at line 1 of file task-view.hpp.
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const OptFixPSETaskBwd & | t ) |
Definition at line 1 of file task-view.hpp.
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFixPTask & | t ) |
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFixPSETask & | t ) |
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFlexTask & | t ) |
|
|
|