Generated on Thu Apr 5 2018 19:44:19 for Gecode by doxygen 1.8.13
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. More...
 
typedef FwdToBwd< ManFixPTaskFwdManFixPTaskBwd
 Backward (dual) mandatory fixed task view. More...
 
typedef ManFixPSETask ManFixPSETaskFwd
 Forward mandatory fixed task view. More...
 
typedef FwdToBwd< ManFixPSETaskFwdManFixPSETaskBwd
 Backward (dual) mandatory fixed task view. More...
 
typedef OptFixPTask OptFixPTaskFwd
 Forward optional fixed task view. More...
 
typedef FwdToBwd< OptFixPTaskFwdOptFixPTaskBwd
 Backward (dual) optional fixed task view. More...
 
typedef OptFixPSETask OptFixPSETaskFwd
 Forward optional fixed task view. More...
 
typedef FwdToBwd< OptFixPSETaskFwdOptFixPSETaskBwd
 Backward (dual) optional fixed task view. More...
 
typedef ManFlexTask ManFlexTaskFwd
 Forward mandatory flexible task view. More...
 
typedef FwdToBwd< ManFlexTaskFwdManFlexTaskBwd
 Backward (dual) mandatory flexible task view. More...
 
typedef OptFlexTask OptFlexTaskFwd
 Forward optional flexible task view. More...
 
typedef FwdToBwd< OptFlexTaskFwdOptFlexTaskBwd
 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...
 

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 297 of file cumulative.hh.

◆ ManFixPTaskBwd

Backward (dual) mandatory fixed task view.

Definition at line 300 of file cumulative.hh.

◆ ManFixPSETaskFwd

Forward mandatory fixed task view.

Definition at line 303 of file cumulative.hh.

◆ ManFixPSETaskBwd

Backward (dual) mandatory fixed task view.

Definition at line 306 of file cumulative.hh.

◆ OptFixPTaskFwd

Forward optional fixed task view.

Definition at line 309 of file cumulative.hh.

◆ OptFixPTaskBwd

Backward (dual) optional fixed task view.

Definition at line 312 of file cumulative.hh.

◆ OptFixPSETaskFwd

Forward optional fixed task view.

Definition at line 315 of file cumulative.hh.

◆ OptFixPSETaskBwd

Backward (dual) optional fixed task view.

Definition at line 318 of file cumulative.hh.

◆ ManFlexTaskFwd

Forward mandatory flexible task view.

Definition at line 321 of file cumulative.hh.

◆ ManFlexTaskBwd

Backward (dual) mandatory flexible task view.

Definition at line 324 of file cumulative.hh.

◆ OptFlexTaskFwd

Forward optional flexible task view.

Definition at line 327 of file cumulative.hh.

◆ OptFlexTaskBwd

Backward (dual) optional flexible task view.

Definition at line 330 of file cumulative.hh.

Function Documentation

◆ edgefinding() [1/2]

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

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

◆ edgefinding() [2/2]

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

◆ 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 41 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 47 of file limits.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 45 of file overload.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 42 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 57 of file post.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 42 of file subsumption.hpp.

◆ operator<<() [1/10]

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 44 of file task-view.hpp.

◆ operator<<() [2/10]

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 53 of file task-view.hpp.

◆ operator<<() [3/10]

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 63 of file task-view.hpp.

◆ operator<<() [4/10]

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 73 of file task-view.hpp.

◆ operator<<() [5/10]

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 76 of file task.hpp.

◆ operator<<() [6/10]

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 117 of file task.hpp.

◆ operator<<() [7/10]

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 158 of file task.hpp.

◆ operator<<() [8/10]

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 187 of file task.hpp.

◆ operator<<() [9/10]

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 216 of file task.hpp.

◆ operator<<() [10/10]

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 245 of file task.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 59 of file time-tabling.hpp.

◆ 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 48 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 110 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 168 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 216 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 259 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 308 of file cumulative.cpp.

◆ 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.