Gecode::Int::Cumulative Namespace Reference
Scheduling for cumulative resources More...
Classes | |
class | StoCap |
Sort by capacity. More... | |
class | PrecOrder |
Sort by prec array. More... | |
class | TaskByDecCap |
Sort order for tasks by decreasing capacity. More... | |
class | ManFixPTask |
Cumulative (mandatory) task with fixed processing time. More... | |
class | ManFixPSETask |
Cumulative (mandatory) task with fixed processing, start or end time. More... | |
class | ManFlexTask |
Cumulative (mandatory) task with flexible processing time. More... | |
class | OptFixPTask |
Cumulative optional task with fixed processing time. More... | |
class | OptFixPSETask |
Cumulative optional task with fixed processing, start or end time. More... | |
class | OptFlexTask |
Cumulative optional task with flexible processing time More... | |
class | OmegaNode |
Node for an omega tree. More... | |
class | OmegaTree |
Omega trees for computing ect of task sets. More... | |
class | ExtOmegaNode |
Node for an extended omega tree. More... | |
class | ExtOmegaTree |
Omega trees for computing ect of task sets. More... | |
class | OmegaLambdaNode |
Node for an omega lambda tree. More... | |
class | OmegaLambdaTree |
Omega-lambda trees for computing ect of task sets. More... | |
class | ManProp |
Scheduling propagator for cumulative resource with mandatory tasks. More... | |
class | OptProp |
Scheduling propagator for cumulative resource with optional tasks. 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 TaskView > | |
ExecStatus | edgefinding (Space &home, int c, TaskViewArray< TaskView > &t) |
template<class Task > | |
ExecStatus | edgefinding (Space &home, int c, TaskArray< Task > &t) |
Propagate by edge-finding. | |
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 ManTask > | |
ExecStatus | overload (Space &home, int c, TaskArray< ManTask > &t) |
Check mandatory tasks t for overload. | |
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 Task > | |
ExecStatus | subsumed (Space &home, Propagator &p, int c, TaskArray< Task > &t) |
Check for subsumption (all tasks must be assigned). | |
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 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 Task , class Cap > | |
ExecStatus | timetabling (Space &home, Propagator &p, Cap c, TaskArray< Task > &t) |
Perform time-tabling propagation. | |
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) |
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. |
Detailed Description
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.
Typedef Documentation
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.
Function Documentation
ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, | |
int | c, | |||
TaskViewArray< TaskView > & | t | |||
) | [inline] |
Definition at line 68 of file edge-finding.hpp.
ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, | |
int | c, | |||
TaskArray< Task > & | t | |||
) | [inline] |
Propagate by edge-finding.
void Gecode::Int::Cumulative::mul_check | ( | long long int | x, | |
long long int | y | |||
) | [inline] |
Throw exception if multiplication of x and y overflows.
void Gecode::Int::Cumulative::mul_check | ( | long long int | x, | |
long long int | y, | |||
long long int | z | |||
) | [inline] |
Throw exception if multiplication of x, y, and z overflows.
ExecStatus Gecode::Int::Cumulative::overload | ( | Space & | home, | |
int | c, | |||
TaskArray< ManTask > & | t | |||
) | [inline] |
Check mandatory tasks t for overload.
ExecStatus Gecode::Int::Cumulative::manpost | ( | Home | home, | |
Cap | c, | |||
TaskArray< ManTask > & | t, | |||
IntPropLevel | ipl | |||
) | [inline] |
ExecStatus Gecode::Int::Cumulative::optpost | ( | Home | home, | |
Cap | c, | |||
TaskArray< OptTask > & | t, | |||
IntPropLevel | ipl | |||
) | [inline] |
ExecStatus Gecode::Int::Cumulative::subsumed | ( | Space & | home, | |
Propagator & | p, | |||
int | c, | |||
TaskArray< Task > & | t | |||
) | [inline] |
Check for subsumption (all tasks must be assigned).
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const ManFixPTaskBwd & | t | |||
) | [inline] |
Definition at line 69 of file task-view.hpp.
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const ManFixPTask & | t | |||
) | [inline] |
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const ManFixPSETask & | t | |||
) | [inline] |
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const ManFlexTask & | t | |||
) | [inline] |
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const OptFixPTask & | t | |||
) | [related] |
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const OptFixPSETask & | t | |||
) | [related] |
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, | |
const OptFlexTask & | t | |||
) | [related] |
ExecStatus Gecode::Int::Cumulative::timetabling | ( | Space & | home, | |
Propagator & | p, | |||
Cap | c, | |||
TaskArray< Task > & | t | |||
) | [inline] |
Perform time-tabling propagation.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, | |
Cap | c, | |||
const TaskTypeArgs & | t, | |||
const IntVarArgs & | s, | |||
const IntArgs & | p, | |||
const IntArgs & | u, | |||
IntPropLevel | ipl | |||
) | [inline] |
Definition at line 41 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 | |||
) | [inline] |
Definition at line 103 of file cumulative.cpp.
void Gecode::Int::Cumulative::cumulative | ( | Home | home, | |
Cap | c, | |||
const IntVarArgs & | s, | |||
const IntArgs & | p, | |||
const IntArgs & | u, | |||
IntPropLevel | ipl | |||
) | [inline] |
Definition at line 161 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 | |||
) | [inline] |
Definition at line 209 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 | |||
) | [inline] |
Definition at line 252 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 | |||
) | [inline] |
Definition at line 301 of file cumulative.cpp.
ExecStatus Gecode::Int::Cumulative::cmanpost | ( | Home | home, | |
Cap | c, | |||
TaskArray< ManTask > & | t, | |||
IntPropLevel | ipl | |||
) | [inline] |
Post mandatory task propagator according to propagation level.
ExecStatus Gecode::Int::Cumulative::coptpost | ( | Home | home, | |
Cap | c, | |||
TaskArray< OptTask > & | t, | |||
IntPropLevel | ipl | |||
) | [inline] |
Post optional task propagator according to propagation level.