Generated on Thu Jan 16 2025 00:00:00 for Gecode by doxygen 1.14.0

Example: Multi-dimensional bin packing More...

Public Types

enum  { MODEL_SINGLE , MODEL_MULTI }
 Model variants. More...
enum  { BRANCH_DEGREE , BRANCH_AFC }
 Branching to use for the model. More...
enum  { SYMMETRY_NONE , SYMMETRY_MAX_CONFLICT }
 Symmetry breaking to use for the model. More...

Public Member Functions

 MultiBinPacking (const InstanceOptions &opt)
 Actual model.
 MultiBinPacking (MultiBinPacking &s)
 Constructor for cloning s.
virtual Spacecopy (void)
 Perform copying during cloning.
virtual void print (std::ostream &os) const
 Print solution.
Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< Space > >
 ScriptBase (const Options &opt)
 Constructor.
 ScriptBase (ScriptBase &e)
 Constructor used for cloning.
virtual void compare (const Space &home, std::ostream &os) const
 Compare with s.
Public Member Functions inherited from Gecode::Driver::IgnoreStepOption< BaseSpace >
 IgnoreStepOption (const Options &)
 Constructor.
 IgnoreStepOption (BaseSpace &e)
 Constructor used for cloning.

Protected Attributes

const Spec spec
 Specification.
IntVarArray bin
 Bin for each item.
IntVarArray load
 Load for each bin.

(Note that these are not member symbols.)

int main (int argc, char *argv[])
 Main-function.

Additional Inherited Members

Static Public Member Functions inherited from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< Space > >
static std::ostream & select_ostream (const char *sn, std::ofstream &ofs)
 Choose output stream according to sn.
static void run (const Options &opt, Script *s=NULL)

Detailed Description

Example: Multi-dimensional bin packing

Definition at line 105 of file multi-bin-packing.cpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Model variants.

Enumerator
MODEL_SINGLE 

Use single-dimensional bin-packing constraints.

MODEL_MULTI 

Use multi-dimensional bin-packing constraint.

Definition at line 115 of file multi-bin-packing.cpp.

◆ anonymous enum

anonymous enum

Branching to use for the model.

Enumerator
BRANCH_DEGREE 

Use degree for branching.

BRANCH_AFC 

Use AFC for branching.

Definition at line 120 of file multi-bin-packing.cpp.

◆ anonymous enum

anonymous enum

Symmetry breaking to use for the model.

Enumerator
SYMMETRY_NONE 

Do not use symmetry breaking.

SYMMETRY_MAX_CONFLICT 

Use a maximal conflict set of items.

Definition at line 125 of file multi-bin-packing.cpp.

Constructor & Destructor Documentation

◆ MultiBinPacking() [1/2]

MultiBinPacking::MultiBinPacking ( const InstanceOptions & opt)
inline

Actual model.

Definition at line 130 of file multi-bin-packing.cpp.

◆ MultiBinPacking() [2/2]

MultiBinPacking::MultiBinPacking ( MultiBinPacking & s)
inline

Constructor for cloning s.

Definition at line 197 of file multi-bin-packing.cpp.

Member Function Documentation

◆ copy()

virtual Space * MultiBinPacking::copy ( void )
inlinevirtual

Perform copying during cloning.

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

◆ print()

virtual void MultiBinPacking::print ( std::ostream & os) const
inlinevirtual

Print solution.

Reimplemented from Gecode::Driver::ScriptBase< Driver::IgnoreStepOption< Space > >.

Definition at line 208 of file multi-bin-packing.cpp.

◆ main()

int main ( int argc,
char * argv[] )
related

Main-function.

Definition at line 232 of file multi-bin-packing.cpp.

Member Data Documentation

◆ spec

const Spec MultiBinPacking::spec
protected

Specification.

Definition at line 108 of file multi-bin-packing.cpp.

◆ bin

IntVarArray MultiBinPacking::bin
protected

Bin for each item.

Definition at line 110 of file multi-bin-packing.cpp.

◆ load

IntVarArray MultiBinPacking::load
protected

Load for each bin.

Definition at line 112 of file multi-bin-packing.cpp.


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