Class: KnapsackSolver::DynamicProgramming
- Inherits:
-
Object
- Object
- KnapsackSolver::DynamicProgramming
- Defined in:
- lib/knapsack_solver/solving_methods/dynamic_programming.rb
Overview
This class implements methods for solving 0/1 knapsack problem using dynamic programming with decomposition by price.
Instance Method Summary collapse
-
#initialize(instance) ⇒ DynamicProgramming
constructor
Initializes instance of 0/1 knapsack problem solver based on dynamic programming with decomposition by price.
-
#run ⇒ Hash
Solve the instance of 0/1 knapsack problem.
Constructor Details
#initialize(instance) ⇒ DynamicProgramming
Initializes instance of 0/1 knapsack problem solver based on dynamic programming with decomposition by price.
9 10 11 12 |
# File 'lib/knapsack_solver/solving_methods/dynamic_programming.rb', line 9 def initialize(instance) @instance = instance @config = Array.new(instance.things.size) end |
Instance Method Details
#run ⇒ Hash
Solve the instance of 0/1 knapsack problem.
17 18 19 20 |
# File 'lib/knapsack_solver/solving_methods/dynamic_programming.rb', line 17 def run solve { price: @best_price, config: @best_config } end |