Generated on Tue Apr 18 10:23:47 2017 for Gecode by doxygen 1.6.3

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< ManFixPTaskFwdManFixPTaskBwd
 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< OptFixPTaskFwdOptFixPTaskBwd
 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< 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 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 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.


Function Documentation

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.

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

template<class ManTask >
ExecStatus Gecode::Int::Cumulative::overload ( Space &  home,
int  c,
TaskArray< ManTask > &  t 
) [inline]

Check mandatory tasks t for overload.

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.

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.

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

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

Definition at line 73 of file task-view.hpp.

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

Definition at line 76 of file task.hpp.

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

Definition at line 117 of file task.hpp.

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

Definition at line 158 of file task.hpp.

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.

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.

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.

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

Perform time-tabling propagation.

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 
) [inline]

Definition at line 45 of file cumulative.cpp.

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 
) [inline]

Definition at line 107 of file cumulative.cpp.

template<class Cap >
void Gecode::Int::Cumulative::cumulative ( Home  home,
Cap  c,
const IntVarArgs &  s,
const IntArgs &  p,
const IntArgs &  u,
IntPropLevel  ipl 
) [inline]

Definition at line 165 of file cumulative.cpp.

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 
) [inline]

Definition at line 213 of file cumulative.cpp.

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 
) [inline]

Definition at line 256 of file cumulative.cpp.

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 
) [inline]

Definition at line 305 of file cumulative.cpp.

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

Post mandatory task propagator according to propagation level.

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

Post optional task propagator according to propagation level.