IP Library Granted Patent US 11,656,787
Granted Patent B2
US 11,656,787 · App. 17/274,449 · Granted May 23, 2023

Calculation system, information processing device, and optimum solution search process method

Inventors: Takuya Okuyama (Tokyo, JP); Masanao Yamaoka (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F3/0655G06F3/0604G06F3/0679G06F17/00G06F17/11G06F17/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,656,787
App. No.
17/274,449
Granted
May 23, 2023
Kind
B2
Abstract

A calculation system includes a variable memory storing a value indicating a state of a variable of a mixed integer quadratic programming problem; a state transition calculation block that calculates the next state of the value indicating the state of the variable; a nonlinear coefficient memory that stores a nonlinear coefficient of the state transition calculation block; a linear coefficient memory that stores a linear coefficient of the state transition calculation block; a weight input line that receives a weight signal of the state transition calculation block; and a temperature input line that receives a temperature signal of the state transition calculation block. The state transition calculation block includes a difference calculation block that calculates a difference calculation by using the weight signal, the nonlinear coefficient, and the linear coefficient. A next state determination block calculates the next state of the variable using the value read from the variable memory.

Claims (72)

1. A calculation system comprising:

a variable memory that stores a value indicating a state of a variable of a mixed integer quadratic programming problem;

a state transition calculation block that calculates the next state of the value indicating the state of the variable;

a nonlinear coefficient memory that stores a nonlinear coefficient of the state transition calculation block;

a linear coefficient memory that stores a linear coefficient of the state transition calculation block;

a weight input line that receives a weight signal of the state transition calculation block; and

a temperature input line that receives a temperature signal of the state transition calculation block, wherein

the state transition calculation block includes

a difference calculation block that calculates difference calculation by using the weight signal, the nonlinear coefficient, and the linear coefficient,

a sampling block that performs random sampling from a probability distribution with an interval constraint by using the weight signal, the temperature signal, and an output value of the difference calculation block, and

a next state determination block that calculates the next state of the variable by using a value read from the variable memory.

2. The calculation system according to claim 1 , wherein

the variable memory stores continuous values as values x 1 , . . . , x N and y 1 , . . . , y N indicating the state of the variable.

3. The calculation system according to claim 2 , wherein

the nonlinear coefficient J is an N×N matrix,

the linear coefficient h is an N-dimensional vector, and

the weight signal SW is a signal indicating vectors of N elements indicating diagonal components w 1 , . . . , w N of a diagonal matrix W.

4. The calculation system according to claim 3 , wherein

the nonlinear coefficient J, the linear coefficient h, the weight signal SW, and the value stored in the variable memory are input to the difference calculation block to output (J+diag(w 1 , . . . , w N )) s+h, and

here, s is any one of the N-dimensional vectors (x 1 , . . . , x N ) and (y 1 , . . . , y N ).

5. The calculation system according to claim 3 , wherein

the nonlinear coefficient J is a symmetric matrix.

6. The calculation system according to claim 5 , wherein

the element of the i-th row and i-th column of the nonlinear coefficient J is 0.

7. The calculation system according to claim 4 , wherein

an output A of the difference calculation block, the weight signal SW, the temperature signal TE, a control signal EN, and the value stored in the variable memory are input to the sampling block,

one or a plurality of values are randomly sampled and output from a normal distribution with −(2−|y i |) or more and (2|y i |) or less as a domain when the control signal EN is a first value and with −(2−|x i |) or more and (2−|x i |) or less as a domain when the control signal EN is a second value, and

the normal distribution is formed based on the output A, the weight signal SW, and the temperature signal TE.

8. The calculation system according to claim 7 , wherein

the normal distribution is a normal distribution with a mean of A i /w i and a variance of T/w i , and

here, A i is the i-th value of the output A, and T is the value of the temperature signal TE.

9. The calculation system according to claim 1 , wherein

the next state determination block calculates the next state of the variable based on at least one of a heat-bath algorithm and an over-relaxation method.

10. The calculation system according to claim 4 , further comprising:

a plurality of units each including a multi-value memory that stores one of values x 1 , . . . , x N and y 1 , . . . , y N indicating the state of the variable, wherein

each unit includes a difference calculation unit that executes a function of a part of the difference calculation block, a sampling unit that executes a function of a part of the sampling block, and a next state determination unit that executes a function of a part of the next state determination block, and

in the unit including a multi-value memory that stores one of the value x i or y i indicating the state of the variable,

the difference calculation unit receives an input of the nonlinear coefficient J, the linear coefficient h, the i-th diagonal component w i of the diagonal matrix W, and the N-dimensional vector (y 1 , . . . , y N ) when the value stored in the multi-value memory of the unit is x i and the N-dimensional vector (x 1 , . . . , x N ) when the value stored in the multi-value memory of the unit is y i , and outputs

A i =h i +w i s i +Σ ij s j

(here, h i is the i-th element of the linear coefficient h, and s is y when the value stored in the multi-value memory of the unit is x i and x when the value stored in the multi-value memory of the unit is y i ).

11. The calculation system according to claim 10 , wherein

the sampling unit receives an input of the output A i of the difference calculation unit, the diagonal component w i , the temperature signal TE, the control signal EN, and the value stored in the variable memory, and

randomly samples and outputs one or a plurality of values from a normal distribution of a mean of A i /w i and a variance of T/w i with −(2−|y i |) or more and (2−|y i |) or less as a domain when the control signal EN is a first value and −(2−|x i |) or more and (2−|x i |) or less as a domain when the control signal EN is a second value

(here, T is the value of the temperature signal TE).

12. An information processing device comprising:

the calculation system according to claim 2 ; and

a computer that controls the calculation system, wherein

the information processing device includes a storage unit and a variable value reading unit,

the storage unit stores the domain of the variable of the mixed integer quadratic programming problem, and

the variable value reading unit reads a value from the variable memory and transforms at least a part of the continuous value to a binary value based on the domain of the variable.

13. An information processing device comprising:

the calculation system according to claim 11 ; and

a computer that controls the calculation system, wherein

the information processing device includes a storage unit and a variable value reading unit,

the storage unit stores the domain of the variable of the mixed integer quadratic programming problem, and

the variable value reading unit reads a value from the variable memory and transforms the continuous value to a binary value based on the domain of the variable.

14. An optimum solution search process method executed by an information processing device including the calculation system according to claim 4 , and a computer that controls the calculation system, the method comprising:

a first step of preparing quadratic programming format problem data and domain data that is a domain of a variable of the quadratic programming format problem data in a storage unit of the computer;

a second step of setting the nonlinear coefficient J to the nonlinear coefficient memory and setting a value of the linear coefficient h in the linear coefficient memory, by a model coefficient setting unit of the computer;

a third step of determining a value of the weight signal SW, by a weight setting unit of the computer;

a fourth step of initializing the value of each variable stored in the variable memory, by a variable value initialization unit of the computer;

a fifth step of causing the state transition calculation block of the calculation system to execute a calculation of the next state of the variable, by an interaction calculation execution unit of the computer; and

a sixth step of reading the value of each variable from the variable memory and transforming the value based on the domain data, by a variable reading unit of the computer.

15. An optimum solution search process method executed by an information processing device including the calculation system according to claim 11 , and a computer that controls the calculation system, the method comprising:

a first step of preparing quadratic programming format problem data and domain data that is a domain of a variable of the quadratic programming format problem data in a storage unit of the computer;

a second step of setting the nonlinear coefficient J in the nonlinear coefficient memory and setting a value of the linear coefficient h in the linear coefficient memory, by a model coefficient setting unit of the computer;

a third step of determining a value of the weight signal SW, by a weight setting unit of the computer;

a fourth step of initializing the value of each variable stored in the variable memory, by a variable value initialization unit of the computer;

a fifth step of causing the state transition calculation block of the calculation system to execute a calculation of the next state of the variable, by an interaction calculation execution unit of the computer; and

a sixth step of reading the value of each variable from the variable memory and transforming the value based on the domain data, by a variable reading unit of the computer, wherein

the quadratic programming format problem data is data indicating a mixed integer quadratic programming problem in which variables that take binary values and variables that take real numbers are mixed, and

the domain data indicates whether each variable takes a binary value or a real number.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: OKUYAMA, TAKUYA; YAMAOKA, MASANAO
To: HITACHI, LTD.
Reel/Frame 055526/0812 →
Continuity (1)
Related Publication 20220027082A1 · Jan 27, 2022