Distributed Resource Allocation for Large-Scale Knapsack Problems

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 framework, which decomposes large-scale knapsack problems into sub-problems and uses a hierarchical greedy IP solver to optimize resource allocation, reducing computational complexity and improving convergence speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

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

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 involves a subset of items and can be solved independently or in parallel. This segmentation reduces the computational complexity from exponential in the total number of items to exponential in the number of items per group, significantly lowering resource consumption while maintaining solution quality.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If existing resource allocation solutions are used for large-scale knapsack problems, then the problems can be solved, but excessive time is consumed

Engineering Contradiction:
Improvesolving timeVSAvoidthroughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-computing and storing the optimal solutions for smaller sub-problems involving subsets of items. These pre-computed results are then reused when solving larger problems, avoiding redundant computations. This approach significantly reduces solving time for large-scale problems while increasing the effective throughput of the resource allocation system.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the scale of knapsack problems increases to billions of decision variables, then real-world applications can be addressed, but existing techniques become intractable

Engineering Contradiction:
Improveproblem scale capabilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a new dimension by organizing items into hierarchical groups and levels. Instead of treating all items at the same level, the solution creates a multi-dimensional structure where items are partitioned across different groups and sub-groups. This dimensional organization transforms the intractable single-layer optimization problem into a manageable hierarchical structure, enabling the system to handle billions of decision variables by distributing computation across multiple levels of the hierarchy.

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

Data Source

PatentUS10678593B1Distributed resource allocation
Publication Date: 2020.06.09 ADVANCED NEW TECHNOLOGIES CO LTD
  • US10678593B1 patent drawing
  • US10678593B1 patent drawing
  • US10678593B1 patent drawing

AI summary

Disclosed herein are methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing allocating M resources subject to L constraints. The method includes: receiving data representing L constraints, wherein each of the L constraints corresponds to a subset of M resources and restricts a respective maximum number C of resources to be selected among the subset of the M resources, wherein the L constraints has a hierarchal structure; determining a topological ordering of the L constraints; selecting all the M resources as an initial selection; removing resources from the initial selection by traversing each constraint in the topological ordering of the L constraints; and allocating the selected resources after traversing all the L constraints in the topological ordering of the L constraints.