CPC G06F 17/16 (2013.01) [G06F 17/11 (2013.01); G06F 17/13 (2013.01)] | 31 Claims |
1. A calculation apparatus configured to solve a combinatorial optimization problem, the apparatus comprising:
input circuitry configured to acquire, as the combinatorial optimization problem, a coefficient matrix including coefficients in N rows and N columns;
matrix multiplication circuitry including a plurality of series connected block matrix multiplication circuits each including a matrix memory and a buffer outputting to a successive block matrix multiplication circuit, configured to calculate N second intermediate variables at a first time point by performing matrix multiplication between N (N is an integer equal to or greater than two) first intermediate variables at the first time point and the coefficient matrix;
time evolution circuitry configured to calculate, based on the N second intermediate variables at the first time point, N first variables at a second time point and N first intermediate variables at the second time point, the second time point being a time point following one sampling period after the first time point;
management circuitry configured to increment a time point from a start time point to an end time point by adding a sampling period for each time point and to control the matrix multiplication circuitry and the time evolution circuitry such that at each time point, the matrix multiplication circuitry calculates N second intermediate variables at the time point, and the time evolution circuitry calculates N first variables and N first intermediate variables at a subsequent incremented time point; and
output circuitry configured to output, as a solution to the combinatorial optimization problem, N first variables at a preset end time.
|