Distributed Knapsack Resource Allocation via SCD

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation solutions for large-scale knapsack problems are inefficient, consuming excessive computational resources and time, and are unable to effectively solve problems with billions of decision variables and constraints.

Innovation Solution

The implementation of a synchronous coordinate descent (SCD) algorithm in a distributed computing paradigm, utilizing a MapReduce model and hierarchical greedy IP solver, to reduce computational complexity and improve convergence speed while maintaining optimality and constraint satisfaction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing resource allocation solutions are used to solve large-scale knapsack problems, then the problems can be solved with traditional algorithms, but the computational resources and time consumed are excessive

Engineering Contradiction:
Improvesolving speedVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent divides the large-scale knapsack problem into multiple sub-problems by partitioning the set of items into different groups. Each sub-problem is solved independently using dynamic programming, and the solutions are combined to obtain the final result. This segmentation reduces the computational complexity and resource requirements compared to solving the entire problem at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension by adding a group identifier to the state space of the dynamic programming algorithm. Instead of tracking only the capacity dimension, the algorithm now tracks both capacity and group membership, enabling parallel processing of different item groups while maintaining the optimal substructure property needed for dynamic programming.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If existing resource allocation solutions are used for large-scale problems, then traditional algorithms can be applied, but the solving time becomes unacceptably long

Engineering Contradiction:
Improvesolving timeVSAvoidalgorithm complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

By partitioning items into groups and solving independent sub-problems, the patent reduces the effective problem size for each dynamic programming computation. This segmentation allows the algorithm to scale to large numbers of items (billions) by processing them in manageable chunks, significantly reducing total solving time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of items into groups before solving the knapsack problem. This pre-processing step organizes the data structure to enable efficient parallel processing and reduces the computational burden during the actual optimization phase, allowing faster solution of large-scale instances.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If exact algorithms are used to solve knapsack problems with billions of decision variables, then optimal solutions can be obtained, but the computational feasibility is lost

Engineering Contradiction:
Improvesolution optimalityVSAvoidcomputational feasibility
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent achieves computational feasibility for billion-scale problems by segmenting the item set into groups and solving independent sub-problems. Each sub-problem is solved exactly using dynamic programming, and the combination of sub-solutions yields the global optimum. This approach maintains solution optimality while making the computation tractable for massive problem sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

By extending the dynamic programming state to include group identifiers, the patent creates a multi-dimensional state space that enables parallel computation across different item groups. This dimensional extension allows the algorithm to process billions of items by distributing computations across multiple dimensions, maintaining exactness while achieving scalability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11314519B2Distributed resource allocation
Publication Date: 2022.04.26 ADVANCED NEW TECHNOLOGIES CO LTD
  • US11314519B2 patent drawing
  • US11314519B2 patent drawing
  • US11314519B2 patent drawing

AI summary

Disclosed methods, systems, and apparatus, include computer programs encoded on computer storage media, for performing allocation of M resources among N users into K pools by solving a knapsack problem (KP) using a distributed computing system. The method includes: receiving data representing K global constraints and L local constraints of the KP; transforming the KP into a dual problem using K dual multipliers; decomposing the dual problem into N sub-problems; performing two or more iterations in solving the dual problem, wherein in one iteration, for each dual multiplier corresponding to a global constraint corresponding to a pool: determining an updated dual multiplier for the global constraint corresponding to the pool to be a non-negative threshold; and computing M decision variables of each of the N users corresponding to the updated dual multiplier in solving each of the N sub-problems corresponding to the each of the N users.