Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::packing Namespace Reference

Namespaces

namespace  vbp

Classes

struct  ArcFlowGraph
class  BinPacking2dParser
class  MultipleDimensionsBinPackingItem
struct  MultipleDimensionsBinPackingItemDefaultTypeInternal
class  MultipleDimensionsBinPackingProblem
struct  MultipleDimensionsBinPackingProblemDefaultTypeInternal
class  MultipleDimensionsBinPackingShape
struct  MultipleDimensionsBinPackingShapeDefaultTypeInternal

Functions

ArcFlowGraph BuildArcFlowGraph (const std::vector< int > &bin_dimensions, absl::Span< const std::vector< int > > item_dimensions_by_type, absl::Span< const int > demand_by_type)
 Main method.
vbp::VectorBinPackingSolution SolveVectorBinPackingWithArcFlow (const vbp::VectorBinPackingProblem &problem, MPSolver::OptimizationProblemType solver_type, const std::string &mip_params, double time_limit, int num_threads, int max_bins)

Variables

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingShapeDefaultTypeInternal _MultipleDimensionsBinPackingShape_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingItemDefaultTypeInternal _MultipleDimensionsBinPackingItem_default_instance_
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT OR_PROTO_DLL PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultipleDimensionsBinPackingProblemDefaultTypeInternal _MultipleDimensionsBinPackingProblem_default_instance_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingShape_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingItem_class_data_
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const::google::protobuf::internal::ClassDataFull MultipleDimensionsBinPackingProblem_class_data_

Function Documentation

◆ BuildArcFlowGraph()

ArcFlowGraph operations_research::packing::BuildArcFlowGraph ( const std::vector< int > & bin_dimensions,
absl::Span< const std::vector< int > > item_dimensions_by_type,
absl::Span< const int > demand_by_type )

Main method.

Arc flow builder. The input must enforce the following constraints:

  • item_dimensions_by_type.size() == demand_by_type.size() == num types
  • for each type t: item_dimensions_by_type[t].size() == bin_dimensions.size() == num_dimensions

Definition at line 403 of file arc_flow_builder.cc.

◆ SolveVectorBinPackingWithArcFlow()

vbp::VectorBinPackingSolution operations_research::packing::SolveVectorBinPackingWithArcFlow ( const vbp::VectorBinPackingProblem & problem,
MPSolver::OptimizationProblemType solver_type,
const std::string & mip_params,
double time_limit,
int num_threads,
int max_bins )

Per item demand constraint.

Flow conservation.

Check that the problem has an optimal solution.

Create the arc flow graph with the flow quantity in each arc.

Unroll each possible path and rebuild bins.

Copy next and item before popping.

Definition at line 78 of file arc_flow_solver.cc.

Variable Documentation

◆ _MultipleDimensionsBinPackingItem_default_instance_

OR_PROTO_DLL MultipleDimensionsBinPackingItemDefaultTypeInternal operations_research::packing::_MultipleDimensionsBinPackingItem_default_instance_

Definition at line 80 of file multiple_dimensions_bin_packing.pb.cc.

◆ _MultipleDimensionsBinPackingProblem_default_instance_

OR_PROTO_DLL MultipleDimensionsBinPackingProblemDefaultTypeInternal operations_research::packing::_MultipleDimensionsBinPackingProblem_default_instance_

Definition at line 106 of file multiple_dimensions_bin_packing.pb.cc.

◆ _MultipleDimensionsBinPackingShape_default_instance_

OR_PROTO_DLL MultipleDimensionsBinPackingShapeDefaultTypeInternal operations_research::packing::_MultipleDimensionsBinPackingShape_default_instance_

Definition at line 54 of file multiple_dimensions_bin_packing.pb.cc.

◆ MultipleDimensionsBinPackingItem_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::packing::MultipleDimensionsBinPackingItem_class_data_

◆ MultipleDimensionsBinPackingProblem_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::packing::MultipleDimensionsBinPackingProblem_class_data_

◆ MultipleDimensionsBinPackingShape_class_data_

OR_PROTO_DLLconst::google::protobuf::internal::ClassDataFull operations_research::packing::MultipleDimensionsBinPackingShape_class_data_