Quadratic Assignment Data Processing Apparatus
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for calculating large-scale quadratic assignment problems using Ising type evaluation functions face challenges due to the need for high-speed storage of weight values and local fields, which often exceeds the capacity of small-capacity storage units like SRAM or flip-flops, leading to potential calculation failures.
Innovation Solution
A data processing method and apparatus that calculates local fields on the fly using total sums of costs and distances, allowing for the determination of whether to exchange assignment locations between elements without storing the entire weight matrix, thereby reducing storage requirements and enabling the calculation of large-scale problems with small-capacity storage units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the Ising apparatus stores weight values and local fields in a storage unit for high-speed calculation, then calculation speed is improved, but the storage unit capacity becomes insufficient for large-scale problems
Solution Approach 1:
The patent segments the weight matrix W into two separate matrices: the cost matrix F and the distance matrix D. Instead of storing and processing the full weight matrix W of size n×n, the system stores F and D separately, both of size n×n, but processes them in a segmented manner during calculation. This segmentation allows the system to handle large-scale problems by processing smaller sub-matrices iteratively, reducing the memory burden while maintaining calculation accuracy.
Solution Approach 2:
The patent pre-calculates and stores only the essential components (cost matrix F and distance matrix D) before the main optimization process. These pre-computed matrices contain all necessary information to derive the weight values on-demand during the Ising model calculation, eliminating the need to store pre-computed weight values for all n×n element pairs.
2Loss of information
If the storage unit stores all weight values for n elements, then complete information is available for calculation, but the storage requirement exceeds small-capacity units like SRAM
Solution Approach 1:
The patent extracts only the essential information needed for the Ising model calculation from the complete weight matrix. Instead of storing all n×n weight values, it extracts and stores only the cost matrix F and distance matrix D, from which weight values can be derived as needed. This extraction reduces storage requirements while preserving all necessary information for accurate calculation.
Solution Approach 2:
The system performs preliminary preparation by storing the fundamental cost and distance data before the optimization process begins. This pre-stored information serves as the foundation for generating weight values during calculation, ensuring information completeness without requiring storage of all intermediate weight values.
3Measurement precision
If the system calculates local fields using the full weight matrix, then calculation accuracy is maintained, but computational load increases beyond small-capacity storage capabilities
Solution Approach 1:
The patent segments the calculation process into iterative steps that process sub-matrices of F and D rather than requiring the full weight matrix at once. By dividing the n×n problem into smaller computational units that can be processed sequentially, the system maintains calculation accuracy while reducing the peak memory requirements and computational complexity at any given moment.
Solution Approach 2:
The system dynamically generates weight values from the cost and distance matrices during the calculation process rather than using static pre-computed weights. This dynamic approach allows the system to adapt the calculation to available memory resources, processing only the portions of the matrices needed for current state transitions, thereby reducing computational complexity while maintaining accuracy.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A program in which a computer searches for a combination of n elements and n assignment locations to which the n elements are assigned, performs a processing of performing and a searching. The performing includes performing processing of specifying a first element and a second element, calculating four local fields indicating a first change amount in a value of an evaluation function due to changes in values of four state variables in which the values change due to an exchange of the assignment locations, obtaining a second change amount in the value of the evaluation function when the exchange is made, based on the four local fields, and determining whether or not to execute the exchange based on the second change amount. The searching includes searching for the assignment states that minimize or maximize the value of the evaluation function by iterating the process.