Generated on Mon Nov 30 23:53:54 2009 for Gecode by doxygen 1.6.1

Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View > Class Template Reference

Propagator for the cumulatives constraint More...

#include <cumulatives.hh>

List of all members.

Public Member Functions

virtual Actorcopy (Space &home, bool share)
 Create copy during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as low quadratic).
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
virtual size_t dispose (Space &home)
 Dispose propagator.

Static Public Member Functions

static ExecStatus post (Home home, const ViewArray< ViewM > &, const ViewArray< View > &, const ViewArray< ViewD > &, const ViewArray< View > &, const ViewArray< ViewH > &, const SharedArray< int > &, bool)
 Post propagator.

Protected Member Functions

 Val (Space &home, bool share, Val< ViewM, ViewD, ViewH, View > &p)
 Val (Home home, const ViewArray< ViewM > &, const ViewArray< View > &, const ViewArray< ViewD > &, const ViewArray< View > &, const ViewArray< ViewH > &, const SharedArray< int > &, bool)
ExecStatus prune (Space &home, int low, int up, int r, int ntask, int sheight, int *contribution, int *prune_tasks, int &prune_tasks_size)

Protected Attributes

ViewArray< ViewM > machine
ViewArray< View > start
ViewArray< ViewD > duration
ViewArray< View > end
ViewArray< ViewH > height
SharedArray< int > limit
const bool at_most

Detailed Description

template<class ViewM, class ViewD, class ViewH, class View>
class Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >

Propagator for the cumulatives constraint

This class implements Beldiceanu's and Carlsson's sweep-line propagation algorithm for the cumulatives constraint.

Requires

Definition at line 90 of file cumulatives.hh.


Constructor & Destructor Documentation

template<class ViewM , class ViewD , class ViewH , class View >
Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::Val ( Space home,
bool  share,
Val< ViewM, ViewD, ViewH, View > &  p 
) [inline, protected]

Definition at line 86 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::Val ( Home  home,
const ViewArray< ViewM > &  _machine,
const ViewArray< View > &  _start,
const ViewArray< ViewD > &  _duration,
const ViewArray< View > &  _end,
const ViewArray< ViewH > &  _height,
const SharedArray< int > &  _limit,
bool  _at_most 
) [inline, protected]

Definition at line 51 of file val.hpp.


Member Function Documentation

template<class ViewM , class ViewD , class ViewH , class View >
ExecStatus Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::prune ( Space home,
int  low,
int  up,
int  r,
int  ntask,
int  sheight,
int *  contribution,
int *  prune_tasks,
int &  prune_tasks_size 
) [inline, protected]

Definition at line 166 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
Actor * Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::copy ( Space home,
bool  share 
) [inline, virtual]

Create copy during cloning.

Implements Gecode::Actor.

Definition at line 121 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
PropCost Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function (defined as low quadratic).

Implements Gecode::Propagator.

Definition at line 115 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
ExecStatus Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 273 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
ExecStatus Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::post ( Home  home,
const ViewArray< ViewM > &  machine,
const ViewArray< View > &  start,
const ViewArray< ViewD > &  duration,
const ViewArray< View > &  end,
const ViewArray< ViewH > &  height,
const SharedArray< int > &  limit,
bool  at_most 
) [inline, static]

Post propagator.

Definition at line 74 of file val.hpp.

template<class ViewM , class ViewD , class ViewH , class View >
size_t Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::dispose ( Space home  )  [inline, virtual]

Dispose propagator.

Reimplemented from Gecode::Actor.

Definition at line 99 of file val.hpp.


Member Data Documentation

template<class ViewM, class ViewD, class ViewH, class View>
ViewArray<ViewM> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::machine [protected]

Definition at line 92 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
ViewArray<View> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::start [protected]

Definition at line 93 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
ViewArray<ViewD> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::duration [protected]

Definition at line 94 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
ViewArray<View> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::end [protected]

Definition at line 95 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
ViewArray<ViewH> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::height [protected]

Definition at line 96 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
SharedArray<int> Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::limit [protected]

Definition at line 97 of file cumulatives.hh.

template<class ViewM, class ViewD, class ViewH, class View>
const bool Gecode::Scheduling::Cumulatives::Val< ViewM, ViewD, ViewH, View >::at_most [protected]

Definition at line 98 of file cumulatives.hh.


The documentation for this class was generated from the following files: