Generated on Thu Apr 11 13:59:38 2019 for Gecode by doxygen 1.6.3

CDBF Class Reference

Custom brancher implementing CDBF. More...

List of all members.

Classes

class  Choice
 Choice More...

Public Member Functions

 CDBF (Home home, ViewArray< Int::IntView > &l, ViewArray< Int::IntView > &b, IntSharedArray &s)
 Construct brancher.
 CDBF (Space &home, CDBF &cdbf)
 Copy constructor.
virtual Actorcopy (Space &home)
 Copy brancher.
virtual size_t dispose (Space &home)
 Delete brancher and return its size.
virtual bool status (const Space &) const
 Check status of brancher, return true if alternatives left.
virtual Gecode::Choicechoice (Space &)
 Return choice.
virtual const Gecode::Choicechoice (const Space &, Archive &e)
 Return choice.
virtual ExecStatus commit (Space &home, const Gecode::Choice &_c, unsigned int a)
 Perform commit for choice _c and alternative a.
virtual void print (const Space &, const Gecode::Choice &_c, unsigned int a, std::ostream &o) const
 Print explanation.

Static Public Member Functions

static void post (Home home, ViewArray< Int::IntView > &l, ViewArray< Int::IntView > &b, IntSharedArray &s)
 Brancher post function.

Protected Attributes

ViewArray< Int::IntViewload
 Views for the loads.
ViewArray< Int::IntViewbin
 Views for the bins.
IntSharedArray size
 Array of sizes (shared).
int item
 Next view to branch on.

Detailed Description

Custom brancher implementing CDBF.

This class implements complete decreasing best fit branching (CDBF) from: Ian Gent and Toby Walsh. From approximate to optimal solutions: Constructing pruning and propagation rules. IJCAI 1997.

Additional domination rules are taken from: Paul Shaw. A Constraint for Bin Packing. CP 2004

Definition at line 198 of file bin-packing.cpp.


Constructor & Destructor Documentation

CDBF::CDBF ( Home  home,
ViewArray< Int::IntView > &  l,
ViewArray< Int::IntView > &  b,
IntSharedArray s 
) [inline]

Construct brancher.

Definition at line 241 of file bin-packing.cpp.

CDBF::CDBF ( Space home,
CDBF cdbf 
) [inline]

Copy constructor.

Definition at line 253 of file bin-packing.cpp.


Member Function Documentation

static void CDBF::post ( Home  home,
ViewArray< Int::IntView > &  l,
ViewArray< Int::IntView > &  b,
IntSharedArray s 
) [inline, static]

Brancher post function.

Definition at line 247 of file bin-packing.cpp.

virtual Actor* CDBF::copy ( Space home  )  [inline, virtual]

Copy brancher.

Implements Gecode::Actor.

Definition at line 259 of file bin-packing.cpp.

virtual size_t CDBF::dispose ( Space home  )  [inline, virtual]

Delete brancher and return its size.

Reimplemented from Gecode::Actor.

Definition at line 263 of file bin-packing.cpp.

virtual bool CDBF::status ( const Space  )  const [inline, virtual]

Check status of brancher, return true if alternatives left.

Implements Gecode::Brancher.

Definition at line 270 of file bin-packing.cpp.

virtual Gecode::Choice* CDBF::choice ( Space  )  [inline, virtual]

Return choice.

Implements Gecode::Brancher.

Definition at line 278 of file bin-packing.cpp.

virtual const Gecode::Choice* CDBF::choice ( const Space ,
Archive e 
) [inline, virtual]

Return choice.

Implements Gecode::Brancher.

Definition at line 331 of file bin-packing.cpp.

virtual ExecStatus CDBF::commit ( Space home,
const Gecode::Choice _c,
unsigned int  a 
) [inline, virtual]

Perform commit for choice _c and alternative a.

Implements Gecode::Brancher.

Definition at line 340 of file bin-packing.cpp.

virtual void CDBF::print ( const Space ,
const Gecode::Choice _c,
unsigned int  a,
std::ostream &  o 
) const [inline, virtual]

Print explanation.

Reimplemented from Gecode::Brancher.

Definition at line 360 of file bin-packing.cpp.


Member Data Documentation

Views for the loads.

Definition at line 201 of file bin-packing.cpp.

Views for the bins.

Definition at line 203 of file bin-packing.cpp.

Array of sizes (shared).

Definition at line 205 of file bin-packing.cpp.

int CDBF::item [mutable, protected]

Next view to branch on.

Definition at line 207 of file bin-packing.cpp.


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