Data Processing Apparatus for Quadratic Assignment Problem Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for solving quadratic assignment problems (QAPs) require a large number of iterations and memory accesses, leading to significant computational time due to the need for extensive calculations and updates of local fields.
Innovation Solution
A data processing apparatus and method that utilize vector arithmetic operations to calculate changes in the evaluation function based on flow and distance matrices, allowing for efficient swapping of destinations in the matrices to update the assignment state, thereby reducing computational time through state-aligned matrix reordering and parallel tempering techniques.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If Boltzmann machines are used to solve QAP by transforming into Ising model and using Markov-chain Monte Carlo method, then the problem can be solved using neural network approach, but the calculation requires a large number of iterations and memory accesses leading to significant computational time
Solution Approach 1:
The patent segments the calculation process by separating the evaluation function calculation into distinct components: flow matrix F, distance matrix D, and assignment matrix X. By calculating the product FX and then multiplying with D, the method breaks down the complex evaluation into manageable segments that can be processed more efficiently, reducing the number of iterative calculations needed.
Solution Approach 2:
The patent performs preliminary actions by pre-calculating and storing the flow matrix F and distance matrix D before the optimization process begins. The assignment matrix X is initialized with a valid assignment state. This preliminary setup eliminates the need to recalculate these fundamental components during each iteration, significantly reducing computational time while maintaining the ability to solve large-scale problems.
2Reliability
If extensive calculations and updates of local fields are performed in each iteration, then the optimization search can proceed thoroughly, but the computational time increases significantly
Solution Approach 1:
The patent uses matrix multiplication to compute the evaluation function as a copy-based operation: E = FXD, where the product FX creates an intermediate representation that is then multiplied with D. This copying approach replaces the need for iterative local field updates with a single matrix operation, maintaining optimization thoroughness while dramatically improving calculation efficiency.
Solution Approach 2:
The patent substitutes the mechanical iterative update process with a mathematical matrix operation. Instead of mechanically updating local fields h_i and energies E_i through multiple iterations, the method uses the closed-form expression E = Σ_i Σ_j F_ij d_φ(i)φ(j) implemented via matrix multiplication FXD. This substitution eliminates the iterative mechanical process while preserving the optimization search capability.
3Measurement precision
If the evaluation function is calculated using the formula E=Σ_i Σ_j F_ij d_φ(i)φ(j) with repeated memory accesses, then accurate cost evaluation is achieved, but the number of operations per iteration increases
Solution Approach 1:
The patent merges the flow matrix F and distance matrix D calculations into a single matrix multiplication operation FXD. By combining these operations, the method maintains accurate evaluation function calculation while reducing the total number of separate operations needed per iteration. The merging of F and D into the product FX creates a more efficient computational pathway.
Solution Approach 2:
The patent transitions from a double-loop iterative calculation approach to a matrix-based dimensional approach. By representing the evaluation function as E = FXD where F, X, and D are matrices, the method changes the computational dimension from iterative scalar operations to parallel matrix operations. This dimensional change reduces the number of operations per iteration while preserving evaluation accuracy.
Data Source
AI summary
A storage unit stores a flow matrix representing the flows between a plurality of entities to be assigned to a plurality of destinations, and a distance matrix representing the distances between the plurality of destinations. A processing unit calculates a first change in an evaluation function, which is to be caused by a first assignment change of exchanging the destinations of first and second entities among the plurality of entities, with vector arithmetic operations based on the flow and distance matrices, determines based on the first change whether to accept the first assignment change, and when determining to accept the first assignment change, updates an assignment state and updates the distance matrix by swapping the two columns or two rows (two columns in the example of FIG. 2) of the distance matrix corresponding to the first and second entities.


