Variable Allocation for Combinatorial Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for parallelizing state updates in dynamical systems, such as the Markov chain Monte Carlo method, face challenges in processing time as the size of the model increases, and fail to efficiently allocate variables belonging to constraint sets across multiple processing devices, leading to unsatisfied constraints during solution search.
Innovation Solution
A variable allocation device and method that allocates variables of a combinatorial optimization problem to ordered parallel processing means, ensuring that variables belonging to constraint sets are allocated to the same processing unit, and converts indices to maintain sequential state updates while allowing parallel processing, thereby ensuring constraint satisfaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If variables are allocated to multiple parallel processing devices, then processing speed is improved, but constraint satisfaction deteriorates
Solution Approach 1:
The patent segments variables into different groups based on their constraint relationships. Variables that belong to the same constraint set are allocated to the same processing device, while variables from different constraint sets can be allocated to different devices. This segmentation allows parallel processing while maintaining constraint satisfaction within each segment.
Solution Approach 2:
The patent introduces a new dimension of allocation by mapping variables to processing devices based on constraint set membership rather than simple sequential ordering. This dimensional transformation enables the system to achieve both parallelism (across devices) and constraint satisfaction (within devices) simultaneously.
2Reliability
If sequential state updates are maintained, then constraint satisfaction is improved, but processing parallelism deteriorates
Solution Approach 1:
The patent segments the state update process into independent parallel operations. Each processing device performs sequential state updates for its allocated variables, but multiple devices operate simultaneously. This segmentation allows the system to maintain sequential updates within each device (ensuring constraint satisfaction) while achieving parallelism across devices.
Solution Approach 2:
The patent applies partial sequential updating by having each device perform sequential updates only for its specific subset of variables, rather than requiring all variables to be updated sequentially. This partial application of sequential updating enables parallel processing while maintaining constraint satisfaction for each variable group.
3Productivity
If variables are evenly distributed across devices, then processing balance is improved, but constraint satisfaction deteriorates
Solution Approach 1:
The patent applies local quality by making the allocation strategy adaptive to local constraint characteristics. Each processing device receives a specific allocation of variables based on the constraint sets those variables belong to, rather than a uniform distribution. This localized allocation ensures that variables with inter-dependent constraints are kept together on the same device.
Solution Approach 2:
The patent segments the variable set into constraint-based groups and allocates these segments to processing devices. This segmentation approach naturally creates a balanced workload distribution while ensuring that each segment maintains its internal constraint relationships, thus achieving both processing balance and constraint satisfaction.
Data Source
AI summary
The variable allocation device allocates variables of a combinatorial optimization problem to ordered multiple parallel processing means which are allocated the variables of the combinatorial optimization problem, and perform a process of obtaining values of allocated variables in parallel. The variable allocation means 71 allocates, for each of sets of variables for which a constraint is defined, variables belonging to the set to any one of the parallel processing means, and after allocating all variables to any parallel processing means, converts indices of the variables allocated to parallel processing means according to order of the parallel processing means. The matrix conversion means72 converts a matrix used in an evaluation function of the combinatorial optimization problem according to converted indices of the variables.


