Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Int::Cumulative Namespace Reference

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< ManFixPTaskFwdManFixPTaskBwd
 Backward (dual) mandatory fixed task view.
 
typedef ManFixPSETask ManFixPSETaskFwd
 Forward mandatory fixed task view.
 
typedef FwdToBwd< ManFixPSETaskFwdManFixPSETaskBwd
 Backward (dual) mandatory fixed task view.
 
typedef OptFixPTask OptFixPTaskFwd
 Forward optional fixed task view.
 
typedef FwdToBwd< OptFixPTaskFwdOptFixPTaskBwd
 Backward (dual) optional fixed task view.
 
typedef OptFixPSETask OptFixPSETaskFwd
 Forward optional fixed task view.
 
typedef FwdToBwd< OptFixPSETaskFwdOptFixPSETaskBwd
 Backward (dual) optional fixed task view.
 
typedef ManFlexTask ManFlexTaskFwd
 Forward mandatory flexible task view.
 
typedef FwdToBwd< ManFlexTaskFwdManFlexTaskBwd
 Backward (dual) mandatory flexible task view.
 
typedef OptFlexTask OptFlexTaskFwd
 Forward optional flexible task view.
 
typedef FwdToBwd< OptFlexTaskFwdOptFlexTaskBwd
 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.
 

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

◆ ManFixPTaskFwd

Forward mandatory fixed task view.

Definition at line 293 of file cumulative.hh.

◆ ManFixPTaskBwd

Backward (dual) mandatory fixed task view.

Definition at line 296 of file cumulative.hh.

◆ ManFixPSETaskFwd

Forward mandatory fixed task view.

Definition at line 299 of file cumulative.hh.

◆ ManFixPSETaskBwd

Backward (dual) mandatory fixed task view.

Definition at line 302 of file cumulative.hh.

◆ OptFixPTaskFwd

Forward optional fixed task view.

Definition at line 305 of file cumulative.hh.

◆ OptFixPTaskBwd

Backward (dual) optional fixed task view.

Definition at line 308 of file cumulative.hh.

◆ OptFixPSETaskFwd

Forward optional fixed task view.

Definition at line 311 of file cumulative.hh.

◆ OptFixPSETaskBwd

Backward (dual) optional fixed task view.

Definition at line 314 of file cumulative.hh.

◆ ManFlexTaskFwd

Forward mandatory flexible task view.

Definition at line 317 of file cumulative.hh.

◆ ManFlexTaskBwd

Backward (dual) mandatory flexible task view.

Definition at line 320 of file cumulative.hh.

◆ OptFlexTaskFwd

Forward optional flexible task view.

Definition at line 323 of file cumulative.hh.

◆ OptFlexTaskBwd

Backward (dual) optional flexible task view.

Definition at line 326 of file cumulative.hh.

Function Documentation

◆ cumulative() [1/6]

template<class Cap >
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.

◆ cumulative() [2/6]

template<class Cap >
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.

◆ cumulative() [3/6]

template<class Cap >
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.

◆ cumulative() [4/6]

template<class Cap >
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.

◆ cumulative() [5/6]

template<class Cap >
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.

◆ cumulative() [6/6]

template<class Cap >
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.

◆ mul_check() [1/2]

void Gecode::Int::Cumulative::mul_check ( long long int x,
long long int y )
inline

Throw exception if multiplication of x and y overflows.

Definition at line 37 of file limits.hpp.

◆ mul_check() [2/2]

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.

Definition at line 43 of file limits.hpp.

◆ subsumed()

template<class Task >
ExecStatus Gecode::Int::Cumulative::subsumed ( Space & home,
Propagator & p,
int c,
TaskArray< Task > & t )
inline

Check for subsumption (all tasks must be assigned)

Definition at line 38 of file subsumption.hpp.

◆ overload()

template<class ManTask >
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.

◆ timetabling()

template<class Task , class Cap >
ExecStatus Gecode::Int::Cumulative::timetabling ( Space & home,
Propagator & p,
Cap c,
TaskArray< Task > & t )
inline

Perform time-tabling propagation.

Definition at line 55 of file time-tabling.hpp.

◆ edgefinding() [1/2]

template<class Task >
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.

◆ cmanpost()

template<class ManTask , class Cap >
ExecStatus Gecode::Int::Cumulative::cmanpost ( Home home,
Cap c,
TaskArray< ManTask > & t,
IntPropLevel ipl )

Post mandatory task propagator according to propagation level.

◆ coptpost()

template<class OptTask , class Cap >
ExecStatus Gecode::Int::Cumulative::coptpost ( Home home,
Cap c,
TaskArray< OptTask > & t,
IntPropLevel ipl )

Post optional task propagator according to propagation level.

◆ edgefinding() [2/2]

template<class TaskView >
ExecStatus Gecode::Int::Cumulative::edgefinding ( Space & home,
int c,
TaskViewArray< TaskView > & t )
inline

Definition at line 68 of file edge-finding.hpp.

◆ manpost()

template<class ManTask , class Cap >
ExecStatus Gecode::Int::Cumulative::manpost ( Home home,
Cap c,
TaskArray< ManTask > & t,
IntPropLevel ipl )
inline

Definition at line 38 of file post.hpp.

◆ optpost()

template<class OptTask , class Cap >
ExecStatus Gecode::Int::Cumulative::optpost ( Home home,
Cap c,
TaskArray< OptTask > & t,
IntPropLevel ipl )
inline

Definition at line 53 of file post.hpp.

◆ operator<<() [1/13]

template<class Char , class Traits >
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.

◆ operator<<() [2/13]

template<class Char , class Traits >
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.

◆ operator<<() [3/13]

template<class Char , class Traits >
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.

◆ operator<<() [4/13]

template<class Char , class Traits >
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.

◆ operator<<() [5/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const ManFixPTask & t )

Definition at line 66 of file task.hpp.

◆ operator<<() [6/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const ManFixPSETask & t )

Definition at line 107 of file task.hpp.

◆ operator<<() [7/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const ManFlexTask & t )

Definition at line 148 of file task.hpp.

◆ operator<<() [8/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const OptFixPTask & t )
related

Definition at line 177 of file task.hpp.

◆ operator<<() [9/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const OptFixPSETask & t )
related

Definition at line 206 of file task.hpp.

◆ operator<<() [10/13]

template<class Char , class Traits >
std::basic_ostream< Char, Traits > & Gecode::Int::Cumulative::operator<< ( std::basic_ostream< Char, Traits > & os,
const OptFlexTask & t )
related

Definition at line 235 of file task.hpp.