Calculation Device Solving Combinatorial Optimization via Simulated Bifurcation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Combinatorial optimization problems, such as those encountered in finance, logistics, and life sciences, face challenges due to the 'combinatorial explosion' issue, where the number of combinations increases exponentially with problem size, making it difficult to calculate optimal or approximate solutions accurately.
Innovation Solution
A calculation device and method that alternately updates pairs of real-number variables over time, using a simulated bifurcation algorithm to solve combinatorial optimization problems by updating the first variable based on the second variable and adding an acceleration value, with constraints to prevent divergence and improve calculation efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional optimization algorithms are used to solve combinatorial optimization problems, then the solution accuracy may be insufficient, but the computational complexity increases exponentially with problem size
Solution Approach 1:
The patent transforms the combinatorial optimization problem into a continuous optimization problem by mapping discrete variables to continuous variables through a transformation function. This parameter change allows the use of gradient-based continuous optimization methods instead of discrete search methods, fundamentally changing the problem's mathematical nature and enabling efficient computation while maintaining solution accuracy.
Solution Approach 2:
The patent replaces traditional discrete optimization algorithms (mechanical search methods) with a continuous optimization approach based on gradient descent and variable transformation. This substitution eliminates the need to enumerate discrete combinations, replacing the mechanical search process with a continuous mathematical optimization process that scales efficiently with problem size.
2Measurement precision
If the number of combinations is increased to find the optimal solution, then the solution accuracy improves, but the calculation time increases exponentially
Solution Approach 1:
By transforming discrete combinatorial variables into continuous variables, the patent enables the use of gradient-based optimization methods that converge to optimal solutions without requiring exhaustive search of all combinations. This parameter transformation fundamentally changes the optimization landscape from discrete and combinatorial to continuous and differentiable, allowing efficient computation.
Solution Approach 2:
The patent performs a preliminary transformation of the problem formulation before optimization, converting the combinatorial problem into an equivalent continuous optimization problem. This preliminary action of variable transformation sets up the problem structure to allow efficient gradient-based solving, avoiding the need for time-consuming combinatorial enumeration during the optimization process.
3Productivity
If approximate solutions are accepted to reduce computational complexity, then the calculation efficiency improves, but the solution accuracy deteriorates
Solution Approach 1:
The patent applies a transformation function that maps discrete variables to continuous variables, enabling the use of efficient gradient-based optimization algorithms. This parameter change allows the system to achieve both high calculation efficiency and high solution accuracy by solving a continuous optimization problem that is mathematically equivalent to the original combinatorial problem, rather than accepting approximate solutions.
Data Source
AI summary
A calculation device includes a memory and one or more processors coupled to the memory and configured to alternately update, for elements each associated with first and second variables, the first and second variables, sequentially for unit times from an initial time to an end time. In an updating process for each unit time, the one or more processors are configured to: update, for each of the elements, the first variable based on the second variable; when the first variable is smaller than a first value, change the first variable to the first value and change the second variable to a third value; when the first variable is greater than a second value, change the first variable to the second value and change the second variable to the third value; and add an acceleration value calculated by a predetermined computation to the second variable.


