CDBF Class Reference
Custom brancher implementing CDBF. More...
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 Actor * | copy (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::Choice * | choice (Space &) |
| Return choice. | |
| virtual const Gecode::Choice * | choice (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::IntView > | load |
| Views for the loads. | |
| ViewArray< Int::IntView > | bin |
| 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.
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 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] |
| virtual const Gecode::Choice* CDBF::choice | ( | const Space & | , | |
| Archive & | e | |||
| ) | [inline, virtual] |
| 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
ViewArray<Int::IntView> CDBF::load [protected] |
Views for the loads.
Definition at line 201 of file bin-packing.cpp.
ViewArray<Int::IntView> CDBF::bin [protected] |
Views for the bins.
Definition at line 203 of file bin-packing.cpp.
IntSharedArray CDBF::size [protected] |
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:
- examples/bin-packing.cpp
