Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::Knapsack64ItemsSolver Class Reference
Inheritance diagram for operations_research::Knapsack64ItemsSolver:
operations_research::BaseKnapsackSolver

Public Member Functions

 Knapsack64ItemsSolver (absl::string_view solver_name)
 --— Knapsack64ItemsSolver --—
 
void Init (const std::vector< int64_t > &profits, const std::vector< std::vector< int64_t > > &weights, const std::vector< int64_t > &capacities) override
 Initializes the solver and enters the problem to be solved.
 
int64_t Solve (TimeLimit *time_limit, double time_limit_in_second, bool *is_solution_optimal) override
 Solves the problem and returns the profit of the optimal solution.
 
bool best_solution (int item_id) const override
 Returns true if the item 'item_id' is packed in the optimal knapsack.
 
- Public Member Functions inherited from operations_research::BaseKnapsackSolver
 BaseKnapsackSolver (absl::string_view solver_name)
 
virtual ~BaseKnapsackSolver ()=default
 
virtual void GetLowerAndUpperBoundWhenItem (int item_id, bool is_item_in, int64_t *lower_bound, int64_t *upper_bound)
 --— BaseKnapsackSolver --—
 
virtual std::string GetName () const
 

Detailed Description

--— Knapsack64ItemsSolver --— Knapsack64ItemsSolver solves the 0-1 knapsack problem when the number of items is less or equal to 64. This implementation is about 4 times faster than KnapsackGenericSolver.

Definition at line 688 of file knapsack_solver.cc.

Constructor & Destructor Documentation

◆ Knapsack64ItemsSolver()

operations_research::Knapsack64ItemsSolver::Knapsack64ItemsSolver ( absl::string_view solver_name)
explicit

--— Knapsack64ItemsSolver --—

Definition at line 739 of file knapsack_solver.cc.

Member Function Documentation

◆ best_solution()

bool operations_research::Knapsack64ItemsSolver::best_solution ( int item_id) const
inlineoverridevirtual

Returns true if the item 'item_id' is packed in the optimal knapsack.

Implements operations_research::BaseKnapsackSolver.

Definition at line 702 of file knapsack_solver.cc.

◆ Init()

void operations_research::Knapsack64ItemsSolver::Init ( const std::vector< int64_t > & profits,
const std::vector< std::vector< int64_t > > & weights,
const std::vector< int64_t > & capacities )
overridevirtual

Initializes the solver and enters the problem to be solved.

Implements operations_research::BaseKnapsackSolver.

Definition at line 754 of file knapsack_solver.cc.

◆ Solve()

int64_t operations_research::Knapsack64ItemsSolver::Solve ( TimeLimit * time_limit,
double time_limit_in_second,
bool * is_solution_optimal )
overridevirtual

Solves the problem and returns the profit of the optimal solution.

Implements operations_research::BaseKnapsackSolver.

Definition at line 795 of file knapsack_solver.cc.


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