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. More... | |
typedef FwdToBwd< ManFixPTaskFwd > | ManFixPTaskBwd |
Backward (dual) mandatory fixed task view. More... | |
typedef ManFixPSETask | ManFixPSETaskFwd |
Forward mandatory fixed task view. More... | |
typedef FwdToBwd< ManFixPSETaskFwd > | ManFixPSETaskBwd |
Backward (dual) mandatory fixed task view. More... | |
typedef OptFixPTask | OptFixPTaskFwd |
Forward optional fixed task view. More... | |
typedef FwdToBwd< OptFixPTaskFwd > | OptFixPTaskBwd |
Backward (dual) optional fixed task view. More... | |
typedef OptFixPSETask | OptFixPSETaskFwd |
Forward optional fixed task view. More... | |
typedef FwdToBwd< OptFixPSETaskFwd > | OptFixPSETaskBwd |
Backward (dual) optional fixed task view. More... | |
typedef ManFlexTask | ManFlexTaskFwd |
Forward mandatory flexible task view. More... | |
typedef FwdToBwd< ManFlexTaskFwd > | ManFlexTaskBwd |
Backward (dual) mandatory flexible task view. More... | |
typedef OptFlexTask | OptFlexTaskFwd |
Forward optional flexible task view. More... | |
typedef FwdToBwd< OptFlexTaskFwd > | OptFlexTaskBwd |
Backward (dual) optional flexible task view. More... | |
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. More... | |
void | mul_check (long long int x, long long int y) |
Throw exception if multiplication of x and y overflows. More... | |
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. More... | |
template<class ManTask > | |
ExecStatus | overload (Space &home, int c, TaskArray< ManTask > &t) |
Check mandatory tasks t for overload. More... | |
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) More... | |
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 Task , class Cap > | |
ExecStatus | timetabling (Space &home, Propagator &p, Cap c, TaskArray< Task > &t) |
Perform time-tabling propagation. More... | |
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. More... | |
template<class OptTask , class Cap > | |
ExecStatus | coptpost (Home home, Cap c, TaskArray< OptTask > &t, IntPropLevel ipl) |
Post optional task propagator according to propagation level. More... | |
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 297 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 300 of file cumulative.hh.
Forward mandatory fixed task view.
Definition at line 303 of file cumulative.hh.
Backward (dual) mandatory fixed task view.
Definition at line 306 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 309 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 312 of file cumulative.hh.
Forward optional fixed task view.
Definition at line 315 of file cumulative.hh.
Backward (dual) optional fixed task view.
Definition at line 318 of file cumulative.hh.
Forward mandatory flexible task view.
Definition at line 321 of file cumulative.hh.
Backward (dual) mandatory flexible task view.
Definition at line 324 of file cumulative.hh.
Forward optional flexible task view.
Definition at line 327 of file cumulative.hh.
Backward (dual) optional flexible task view.
Definition at line 330 of file cumulative.hh.
|
inline |
Definition at line 72 of file edge-finding.hpp.
ExecStatus Gecode::Int::Cumulative::edgefinding | ( | Space & | home, |
int | c, | ||
TaskArray< Task > & | t | ||
) |
Propagate by edge-finding.
Definition at line 182 of file edge-finding.hpp.
|
inline |
Throw exception if multiplication of x and y overflows.
Definition at line 41 of file limits.hpp.
|
inline |
Throw exception if multiplication of x, y, and z overflows.
Definition at line 47 of file limits.hpp.
ExecStatus Gecode::Int::Cumulative::overload | ( | Space & | home, |
int | c, | ||
TaskArray< ManTask > & | t | ||
) |
Check mandatory tasks t for overload.
Definition at line 45 of file overload.hpp.
|
inline |
|
inline |
|
inline |
Check for subsumption (all tasks must be assigned)
Definition at line 42 of file subsumption.hpp.
std::basic_ostream<Char,Traits>& Gecode::Int::Cumulative::operator<< | ( | std::basic_ostream< Char, Traits > & | os, |
const ManFixPTaskBwd & | t | ||
) |
Definition at line 44 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 53 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 63 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 73 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 | ||
) |
|
related |
|
related |
|
related |
|
inline |
Perform time-tabling propagation.
Definition at line 59 of file time-tabling.hpp.
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 48 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 110 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 168 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 216 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 259 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 308 of file cumulative.cpp.
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.