Generated on Fri Oct 19 11:26:09 2018 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 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

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.

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 38 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 53 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 69 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 72 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 113 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 154 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 183 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 212 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 241 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 41 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 103 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 161 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 209 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 252 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 301 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.