Task Decomposition for Parallel Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Resource allocation problems involving numerous tasks, resources, and constraints become computationally intensive, leading to increased processing time and power requirements, potentially delaying task execution as existing systems struggle to solve these problems within a reasonable timeframe.

Innovation Solution

The approach involves decomposing resource allocation problems into smaller sub-problems, assigning these to multiple nodes for parallel processing, and generating a fulfillment plan that optimizes compliance with various factors such as cost, time, and rule adherence, using a heuristic method to select the best fulfillment plan among candidates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If resource allocation problems are solved using traditional centralized methods, then solution accuracy can be maintained, but processing time and computational power requirements increase significantly

Engineering Contradiction:
Improvesolution accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the resource allocation problem into multiple sub-problems by decomposing the set of tasks into different groups, where each group is processed separately through distinct resource allocation problems. This segmentation reduces the computational complexity of each individual problem while maintaining the overall solution quality through coordinated processing of all groups.

Inventive Principle:
Principle #1Segmentation

2Reliability

If more computational resources are allocated to solve resource allocation problems, then solution quality improves, but energy consumption and processing power requirements increase

Engineering Contradiction:
Improvesolution qualityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

By segmenting the overall resource allocation problem into multiple smaller sub-problems processed in parallel, the system reduces the computational resources required for each individual problem while maintaining overall solution quality. This approach distributes the computational load across multiple nodes, reducing energy consumption at any single point.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines the results from multiple parallel resource allocation problems to form a comprehensive fulfillment plan. By merging the solutions from different task groups, the system achieves high solution quality without requiring all computational resources to be concentrated in a single processing node, thereby reducing overall energy consumption.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If resource allocation problems are decomposed into smaller sub-problems and processed in parallel, then processing time is reduced, but system complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments tasks into different groups and creates corresponding resource allocation problems for parallel processing, which increases processing speed. The complexity is managed by using standardized problem structures and automated coordination mechanisms that orchestrate the parallel sub-problems without requiring complex manual intervention.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10853144B2Rules based decomposition of tasks for resource allocation
Publication Date: 2020.12.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10853144B2 patent drawing
  • US10853144B2 patent drawing
  • US10853144B2 patent drawing

AI summary

According to examples, an apparatus may include a processor and a memory on which are stored machine readable instructions that when executed by the processor, cause the processor to identify a plurality of tasks, identify a plurality of resources configured to execute the tasks, and decompose the plurality of tasks into multiple groups of tasks based on a plurality of rules applicable to the multiple groups of tasks. The instructions may also cause the processor to, for each group in the multiple groups of tasks, model the group of tasks and a subset of the plurality of resources as a respective resource allocation problem and assign a respective node of a plurality of nodes to solve the resource allocation problem.