WO2021059338A1 - 求解システム、求解方法および求解プログラム - Google Patents

求解システム、求解方法および求解プログラム Download PDF

Info

Publication number
WO2021059338A1
WO2021059338A1 PCT/JP2019/037332 JP2019037332W WO2021059338A1 WO 2021059338 A1 WO2021059338 A1 WO 2021059338A1 JP 2019037332 W JP2019037332 W JP 2019037332W WO 2021059338 A1 WO2021059338 A1 WO 2021059338A1
Authority
WO
WIPO (PCT)
Prior art keywords
spin
state
spins
constraint
solution
Prior art date
Application number
PCT/JP2019/037332
Other languages
English (en)
French (fr)
Inventor
芙美代 鷹野
千嶋 博
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2019/037332 priority Critical patent/WO2021059338A1/ja
Priority to JP2021548007A priority patent/JP7251645B2/ja
Priority to US17/642,332 priority patent/US20220335323A1/en
Publication of WO2021059338A1 publication Critical patent/WO2021059338A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the present invention relates to a solution system, a solution method, and a solution program, and more particularly to a solution system, a solution method, and a solution program that obtains a state of each spin (state of each spin of a predetermined model) corresponding to a solution of a combinatorial optimization problem.
  • the quantum computer uses the energy function in the Ising model as an input to solve the combinatorial optimization problem.
  • Examples of combinatorial optimization problems include the traveling salesman problem, the knapsack problem, and the graph partitioning problem.
  • the combinatorial optimization problem is not limited to these problems.
  • the Ising model is a statistical mechanics model that expresses the behavior of a magnetic material by individual spins, but it can also be applied to solving combinatorial optimization problems.
  • the state of each spin is represented by "1" or "-1".
  • QUADO Quadrattic Unconstrained Binary Optimization
  • the energy function in the Ising model and the energy function in QUA can be converted to each other.
  • j represents the time and v and u represent the city.
  • FIG. 10 is a schematic diagram showing an example of representation of the state of each spin in the traveling salesman problem.
  • W uv is the distance between the city u and the city v, and is predetermined as a constant for each group of cities. ⁇ and ⁇ are predetermined as constants.
  • Equation (1) expresses the restriction that a salesman never passes through the same city more than once.
  • Equation (1) expresses the constraint that a salesman exists in only one city at one time.
  • the third term on the right side of equation (1) represents the distance between cities that the salesman passes through.
  • equation (1) If an equation representing the energy in the combinatorial optimization problem as illustrated in equation (1) is created, the equation is converted into an energy function in the Ising model or an energy function in QUA. This conversion method is known.
  • s i and s j are variables representing the spin state.
  • J ij is a constant corresponding to i and j
  • hi is a constant corresponding to i .
  • x i and x j are variables representing the spin state.
  • Q ij is a constant corresponding to i and j.
  • Equations (2) and (3) are quadratic equations of variables representing the spin state. Equation (1) is also a quadratic equation of a variable representing the spin state. Therefore, the equation (1) can be converted into the equation (2) or the equation (3).
  • the variable representing the spin state can be obtained by replacing multiple variables representing the spin state with one variable.
  • the order can be lowered to the second order. Therefore, in the formula obtained by the formulation, even if the order of the variable representing the spin state is 3rd or higher, the energy function (formula (2)) in the Ising model or the QUAO is based on the formula.
  • the energy function (Equation (3)) can be obtained. Further, when a plurality of variables representing the spin states are replaced with one variable, the spin represented by the replaced variable is referred to as an auxiliary spin.
  • the energy function in the Ising model or QUABO is obtained, apply the energy function to simulated annealing to identify the state of each spin when the energy is minimized. Then, the optimum solution can be obtained by interpreting the state of each spin according to the combinatorial optimization problem (in this example, the traveling salesman problem).
  • Patent Document 1 describes that the values of a plurality of spins are changed at the same time.
  • the number of search candidates in the problem space is extremely large compared to the search candidates in the problem space in the solution method specialized for the individual combinatorial optimization problem.
  • FIG. 11 is a schematic diagram showing search candidates in a solution method specialized for the traveling salesman problem. As can be seen from FIG. 11, the number of search candidates in this example is 6.
  • the number of search candidates is extremely large compared to the number of search candidates in the solution method specialized for individual combinatorial optimization problems. And this tendency becomes more pronounced as the combinatorial optimization problem becomes more complex, as in the case of increasing the number of cities in the traveling salesman problem.
  • the amount of calculation is large because there are extremely many search candidates. As a result, it takes a long time to obtain a solution.
  • the present invention reduces the amount of calculation when solving the combined optimization problem by applying the energy function in the model in which the individual spin states are represented by the first value or the second value to simulated annealing.
  • the purpose is to provide a solution system, a solution method, and a solution program that can be used.
  • the solution system according to the present invention is an energy function in a model in which individual spin states are represented by a first value or a second value, and is an input that accepts an input of an energy function according to a combined optimization problem for which a solution should be obtained.
  • Simulated annealing is provided with a part and a simulated annealing part that obtains the state of each spin corresponding to the solution of the combined optimization problem by performing simulated annealing when an energy function is input.
  • the solution method according to the present invention is an energy function in a model in which individual spin states are represented by a first value or a second value, and receives input of an energy function according to a combined optimization problem for which a solution should be obtained.
  • simulated annealing is performed to find the state of each spin corresponding to the solution of the combination optimization problem, and in the process of simulated annealing, the spin is selected and the spin is calculated. If you select a pair to which it belongs and decide that the pair meets a predetermined constraint and changes the state of that spin, then that spin is maintained so that the pair maintains that constraint. It is characterized by changing the state of one or more spins including.
  • the solution program according to the present invention is an energy function in a model in which individual spin states are represented by a first value or a second value, and is an input that accepts an input of an energy function according to a combined optimization problem for which a solution should be obtained.
  • Simulated annealing is a solution program installed in a computer equipped with a part, and when an energy function is input to the computer, simulated annealing is performed to obtain the state of each spin corresponding to the solution of the combination optimization problem.
  • the desired simulated annealing process is executed, and the computer is made to select a spin in the simulated annealing process, select the set to which the spin belongs, satisfy the predetermined constraint, and the state of the spin.
  • a process of changing the state of one or more spins including the spin is executed so that the set maintains the state satisfying the constraint.
  • the amount of calculation for solving a combinatorial optimization problem is reduced by applying an energy function in a model in which individual spin states are represented by a first value or a second value to simulated annealing. Can be done.
  • the case where the energy function in the QUA is input to the solution system of the present invention will be described as an example, but the case where the energy function in the Ising model is input can also be described in the same manner.
  • the energy function in the Ising model may be input to the solution system of the present invention.
  • FIG. 1 is a block diagram showing a configuration example of a solution system according to an embodiment of the present invention.
  • the solution system 1 of the present embodiment includes an input unit 2, a simulated annealing unit 3, and an output unit 4.
  • the simulated annealing unit 3 will be referred to as the SA unit 3.
  • the input unit 2 is an energy function in QUABO, and receives an input of an energy function corresponding to a combinatorial optimization problem for which a solution should be obtained.
  • This energy function is obtained by transforming the equation that represents the energy in the combinatorial optimization problem.
  • the input unit 2 is, for example, an input device into which an energy function is input.
  • the input unit 2 may be an input device such as a data reading device that reads an energy function recorded on a recording medium.
  • the expression format of the state of each spin is determined from the energy function input to the input unit 2.
  • the representation format of each spin state is not limited to a two-dimensional matrix, and depending on the combinatorial optimization problem, the representation format of each spin state may be a three-dimensional matrix, or the individual spin states may be individually expressed. It may be in a form that is expressed.
  • the spin set and the restrictions to be satisfied by each set are predetermined. Multiple sets of spins are defined, and constraints are set for each set.
  • Each set of spins and the constraints set for each set may be set by, for example, the user of the solution system 1.
  • Each set determined by the user and the constraint on each set may be input via, for example, the input unit 2.
  • each set of spins and the mode of setting constraints defined for each set are not limited to the above examples.
  • the solution program for realizing the operation of the present embodiment may describe each set and a constraint for each set.
  • one spin may belong to a plurality of sets.
  • the constraint described below is referred to as a "fourth constraint".
  • the fourth constraint is that in the equation expressing energy in the combination optimization problem (the equation obtained by the formulation), the order of the variables expressing the spin state is 3 or more, so a plurality of variables expressing the spin state are set to 1.
  • the order of the variable representing the spin state is lowered to the second order by replacing it with one variable, and the formula representing the energy in which the order of the variable representing the spin state is lowered to the second order is converted into an energy function. , Applies.
  • the spin state represented by the variable before replacement and the spin (auxiliary spin) state represented by the variable after replacement are expressed separately.
  • the spin represented by the variable before replacement may be referred to as a basic spin.
  • a set of spins is defined so that a plurality of basic spins corresponding to a plurality of variables before replacement and an auxiliary spin corresponding to the variable after replacement form a pair.
  • the fourth constraint is that if the state of the basic spins belonging to the set changes, the state of the auxiliary spins is changed according to the result of the change.
  • the state of each basic spin is represented by a two-dimensional matrix.
  • the rows of this two-dimensional matrix are represented by variables m
  • the columns are represented by variables d
  • the variables representing the states of the rows and basic spins according to the columns are x m and d .
  • the plurality of variables x m, d , x m, d + 1 representing the state of the basic spin are replaced with one variable ym, (d, d + 1) representing the state of the auxiliary spin by the following equation (4).
  • FIG. 2 is a schematic diagram showing an example of a set including a plurality of basic spins and one auxiliary spin in this example.
  • the two-dimensional matrix showing the state of each basic spin and the two-dimensional matrix showing the state of each auxiliary spin are separate matrices.
  • FIG. 2 shows that the basic spins x C, 2 , the basic spins x C, 3, and the auxiliary spins y C, (2, 3) form one set.
  • the set in this example is not limited to this one, and there are many sets. Then, it is assumed that a fourth constraint is set for each of these sets.
  • the basic spin x C, 3 , the basic spin x C, 4, and the auxiliary spin y C, (3, 4) are also included in one set. Therefore, in the above example, the auxiliary spin y C, (3, 4) will also be changed from "0" to "1".
  • Each constraint from the first constraint to the fourth constraint above is a constraint for a set of spins.
  • the constraint on the set of spins not only the constraint on the set of spins but also the constraint on the spins may be defined.
  • An example of the constraint on spin will be described below.
  • a given spin takes only one of a first value (“1” in QUABO) and a second value (“0” in QUABO) and of that given spin.
  • the constraint is that the value does not change. That is, this constraint is a constraint that the first value or the second value is set as a fixed value for a predetermined spin.
  • this constraint will be referred to as a "fifth constraint".
  • the spin for which the fifth constraint is defined and the fixed value taken by the spin are predetermined.
  • the spin for which the fifth constraint is defined and the fixed value taken by the spin may be determined by the user, for example, and may be input via the input unit 2.
  • the spin in which the fifth constraint is defined and the mode in which the fixed value taken by the spin is set are not limited to the above examples.
  • the solution program may describe a spin for which a fifth constraint is defined and a fixed value taken by the spin.
  • the number of spins for which the fifth constraint is defined may be one or two or more. However, the fifth constraint is not set for all spins.
  • the spin for which the fifth constraint is defined is referred to as a fixed spin.
  • constraints other than the first constraint to the fifth constraint may be set.
  • SA part 3 (simulated annealing part 3) obtains the state of each spin corresponding to the solution of the combinatorial optimization problem by executing simulated annealing when the energy function is input.
  • the SA part 3 will be described more specifically.
  • the SA part 3 randomly determines the value of each spin under the expression form of the spin state.
  • the SA part 3 randomly determines the values of individual spins in the two-dimensional matrix.
  • the SA unit 3 determines a fixed value (“1” or “0”) defined for the fixed spin (a spin for which the fifth constraint is defined). At this point, the restrictions set for each group are not always met.
  • SA unit 3 When executing simulated annealing, SA unit 3 first selects one spin and then selects one set to which that spin belongs.
  • the SA unit 3 determines that the selected set satisfies the constraint defined for the set and changes the state of the selected spin, the SA unit 3 maintains the state in which the constraint is satisfied. In addition, the state of one or more spins including the selected spin is changed. At this time, it is possible to change only the state of the selected spin.
  • the SA unit 3 determines whether or not to change the state of the selected spin. If it is determined to change the state of the selected spin, the SA unit 3 changes the state of the selected spin. As described above, when the value of each spin is first randomly determined, the constraints set for each set are not always satisfied. However, by performing this operation, the number of pairs that satisfy the constraints increases.
  • the SA unit 3 repeats the operation after the operation of selecting one spin. Then, for example, when it is determined that the spin state is not changed for a predetermined number of times in succession, the SA unit 3 sets the state of each spin at that time to a state corresponding to the solution of the combinatorial optimization problem. To determine that.
  • the SA unit 3 determines whether or not to change the spin state based on the transition probability in simulated annealing.
  • the output unit 4 outputs the state of each spin corresponding to the solution of the combinatorial optimization problem determined by the SA unit 3.
  • the output unit 4 may display the state of each spin corresponding to the solution of the combinatorial optimization problem on the display device (not shown) included in the solution system 1.
  • the output mode of each spin state corresponding to the solution of the combinatorial optimization problem is not particularly limited.
  • the SA unit 3 and the output unit 4 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a solution program.
  • the CPU may read the solution program from a program recording medium such as a program storage device of a computer and operate as the SA unit 3 and the output unit 4 according to the solution program.
  • FIG. 3 is a schematic diagram showing an example of the state of each spin in Specific Example 1.
  • the state of each spin is represented by a 4-by-4 two-dimensional matrix centered on the city and time.
  • each of the four sets has already satisfied the first constraint.
  • the spin value in the first row and first column is set to "1". Further, among the spins in the first row and the spins in the first column, the values of the spins other than the spins in the first row and the first column are set to "0" (see FIG. 3).
  • the fixed spin values defined as shown in FIG. 3 mean that the salesman is in city A at the first time.
  • the SA unit 3 selects the spin 61 when the state of each spin is the state shown in FIG. In this case, the SA unit 3 selects one set to which the spin 61 belongs. In this example, the SA section 3 selects a set consisting of the four spins in the third row shown in FIG. This set already meets the first constraint. Since it is not possible to maintain the state in which the first constraint is satisfied only by flipping the spin 61, the SA unit 3 performs another spin that flips together with the spin 61 so as to maintain the state in which the first constraint is satisfied. Select a spin other than the fixed spin. Here, the SA unit 3 selects the spin 62 having a value of “1”.
  • the SA section 3 determines whether or not to flip the spins 61 and 62 based on the transition probability in simulated annealing. If it is determined to flip the spins 61 and 62, the SA unit 3 flips the spins 61 and 62. This state is shown in FIG. Even after the flip, the pair corresponding to the third row satisfies the first constraint.
  • x m, d 1 indicates that the person m works on the date d.
  • x m, d 0 indicates that the personnel m does not work on the date d.
  • x m and d correspond to spin.
  • the third term on the right side of equation (5) represents the difference between the number of employees working and the number of people required on each day.
  • w d is the required number of people on the date d, and is defined as a constant according to d. In the combinatorial optimization problem in this example, it is preferable that the difference between the number of working people and the required number of people is small.
  • equation (5) the order of the variable representing the spin state is cubic. Therefore, the plurality of variables x m, d , x m, d + 1 representing the state of the basic spin are replaced with one variable ym, (d, d + 1) representing the state of the auxiliary spin by the following equation (6). Shall be.
  • the equation (6) is the same as the equation (4) described above.
  • the order of the variable representing the spin state can be lowered to the second order.
  • x m, d x m, d + 1 x m, d + 2 in the first term on the right side of the equation (5) can be converted into a quadratic equation such as the following equation (7).
  • equation (5) can also be converted to quadratic.
  • the third term on the right side of equation (5) is originally quadratic.
  • the formula representing the energy in which the order of the variable representing the spin state is lowered to the second order can be converted into the energy function in QUA.
  • FIG. 5 is a schematic diagram showing an example of a two-dimensional matrix showing the state of each basic spin in Specific Example 2 and a two-dimensional matrix showing the state of each auxiliary spin.
  • the values of each basic spin and each auxiliary spin are randomly set to 1 or 0.
  • each set of basic spins is defined so that the three basic spins arranged in the horizontal direction become one set.
  • x A, 1 , x A, 2 , X A, 3 are defined as one set
  • x A, 2 , x A, 3 , X A, 4 are defined as one set.
  • other pairs are defined.
  • One basic spin may belong to multiple pairs.
  • the second constraint and the third constraint are defined for each set of the basic spins defined as described above.
  • auxiliary spin is determined by the equation (6), for example, a set of the basic spin x A, 1 , the basic spin x A, 2, and the auxiliary spin y A, (1, 2) is determined. Be done. Similarly, a pair of basic spins x A, 2 , basic spins x A, 3 , and auxiliary spins y A, (2, 3) is defined. In this way, a plurality of sets including auxiliary spins are also defined. Then, it is assumed that a fourth constraint is set for each set including the auxiliary spin.
  • the spin state is assumed to be the state shown in FIG. It is assumed that the SA unit 3 selects spins x C, 3. In this case, the SA unit 3 selects one set to which the spins x C and 3 belong (a set consisting of only basic spins). In this example, it is assumed that the SA unit 3 selects the set 21 (see FIG. 5). The set 21 satisfies the second constraint. If only the spins x C and 3 are flipped, the values of all three spins belonging to the set 21 become "1", and the second constraint is not satisfied.
  • the SA unit 3 selects another spin that flips together with the spins x C, 3 from the set 21.
  • any one of spin x C, 1 and spin x C, 2 may be arbitrarily selected.
  • spin x C, 1 is selected will be described as an example.
  • the spin state is assumed to be the state shown in FIG. It is assumed that the SA unit 3 selects spins x C and 4. In this case, the SA unit 3 selects one set to which the spins x C and 4 belong (a set consisting of only basic spins). In this example, it is assumed that the SA unit 3 selects the set 22 (see FIG. 5). The set 22 satisfies the third constraint. If only the spins x C and 4 are flipped, the values of all three spins belonging to the set 22 become "0", and the third constraint is not satisfied.
  • the SA unit 3 selects another spin that flips together with the spins x C, 4 from the set 22.
  • any one of spin x C, 3 and spin x C, 5 may be arbitrarily selected.
  • spin x C, 5 is selected will be described as an example.
  • a pair of basic spins x A, 1 , basic spins x A, 2 , and auxiliary spins y A, (1, 2) is defined.
  • a pair of basic spins x A, 2 , basic spins x A, 3 , and auxiliary spins y A, (2, 3) is defined.
  • a fourth constraint is set for these sets. Therefore, when flipping the basic spins x A, 2 , the auxiliary spins that may flip accordingly are the auxiliary spins y A, (1, 2) and the auxiliary spins y A, (2, 3) .
  • the SA unit 3 flips the auxiliary spins yA, (1, 2) from “0” to “1”.
  • FIGS. 6 and 7 are flowcharts showing an example of the processing progress of the solution system 1 of the present embodiment.
  • Each set of spins and the constraints on each set shall be predetermined. Further, if there is a spin for which the fifth constraint is set, the spin and the value (fixed value) of the spin are also set in advance.
  • the SA unit 3 sets the value of each spin to "1" or "0” under the expression form of the spin state (for example, a two-dimensional matrix or the like). Randomly determined (step S1).
  • the SA unit 3 sets a predetermined fixed value for the fixed spin.
  • the SA section 3 also randomly sets the value of each auxiliary spin to "1" or "0".
  • step S1 When step S1 is completed, the restrictions set for each set of spins are not always satisfied.
  • the SA section 3 selects one spin that is a candidate for flipping (step S2).
  • the spin selected in step S2 will be referred to as a selected spin.
  • the SA unit 3 determines whether or not the selected spin is a fixed spin or an auxiliary spin (step S3). If the selected spin is a fixed spin or an auxiliary spin (Yes in step S3), the SA unit 3 repeats the operations after step S2.
  • step S3 If the selected spin is neither a fixed spin nor an auxiliary spin (No in step S3), the SA unit 3 selects one set to which the selected spin belongs (step S4). Even if there are a plurality of pairs to which the selected spin belongs, the SA unit 3 selects one pair to which the selected spin belongs.
  • step S4 the SA section 3 does not select the pair to which the auxiliary spin belongs together with the selective spin. That is, the SA part 3 selects a set to which the selective spin belongs but the auxiliary spin does not belong.
  • the SA unit 3 determines whether or not the set selected in step S4 already satisfies the constraints set for the set (step S5).
  • step S6 If the set selected in step S4 does not meet the constraints set for that set (No in step S5), the SA unit 3 calculates the energy change when the selected spin is flipped (step S6).
  • the SA unit 3 calculates the transition probability based on the energy change calculated in step S6 and the temperature in simulated annealing (see steps S7 and FIG. 7).
  • the SA unit 3 determines whether or not to accept the state transition based on the transition probability calculated in step S7 (step S8).
  • step S8 When accepting the state transition (Yes in step S8), the SA unit 3 flips the selected spin (step S9).
  • step S15 the SA section 3 reduces the temperature in simulated annealing.
  • step S15 the SA unit 3 repeats the operations after step S2.
  • step S8 If the state transition is not accepted in step S8 (No in step S8), the SA unit 3 shifts to step S15 without performing step S9.
  • step S1 when step S1 is completed, the restrictions set for each set of spins are not always satisfied.
  • the SA unit 3 repeatedly executes the processes of steps S6 to S9 and the number of times the selected spin is flipped increases, the number of pairs satisfying the constraint increases.
  • step S10 the SA unit 3 does not have to specify a spin other than the selected spin, provided that the pair can maintain the constrained state even if only the selected spin is flipped. That is, in step S10, spins other than the selected spin may not be specified.
  • the SA unit 3 also specifies the selective spin and the auxiliary spin whose value changes according to the flip of the spin that flips with the selected spin. ..
  • step S3 there are a basic spin and an auxiliary spin, and none of the first constraint, the second constraint, and the third constraint are defined in the set consisting of the basic spins, and the set including the basic spin and the auxiliary spin is the first.
  • the constraint of 5 is set.
  • the SA unit 3 may specify an auxiliary spin whose value changes according to the flip result when the basic spin is flipped.
  • step S10 the SA unit 3 calculates the selection spin and the energy change when the spin specified in step S10 is flipped (step S11). As described above, in step S10, spins other than the selected spin may not be specified. In that case, the SA unit 3 may calculate the energy change when the selected spin is flipped in step S11.
  • the SA unit 3 calculates the transition probability based on the energy change calculated in step S11 and the temperature in simulated annealing (see step S12 and FIG. 7).
  • the SA unit 3 determines whether or not to accept the state transition based on the transition probability calculated in step S12 (step S13).
  • the SA unit 3 flips the selected spin and the spin specified in step S10 (step S14).
  • step S15 the SA section 3 reduces the temperature in simulated annealing.
  • step S15 the SA unit 3 repeats the operations after step S2.
  • step S13 If the state transition is not accepted in step S13 (No in step S13), the SA unit 3 shifts to step S15 without performing step S14.
  • the SA unit 3 repeats the processes of steps S2 to S15. Then, for example, when the process shifts to step S13 each time in the iterative process and the determination result that the state transition is not accepted in step S13 continues a predetermined number of times in succession, the SA unit 3 is in the state of each spin at that time. However, it may be determined that the state corresponds to the solution of the combinatorial optimization problem. In other words, it may be determined that the state of each spin when the energy is minimized is obtained. In that case, the output unit 4 outputs the state of each spin. For example, the user of the solution system 1 may interpret the solution of the combinatorial optimization problem by referring to the state of each spin.
  • the SA unit 3 maintains the state in which the set to which the selected spin belongs satisfies the constraint set for the set and determines that the set flips the spin. Flip one or more spins, including the selected spins.
  • changing the set from the state where the constraint is satisfied to the state where the constraint is not satisfied means that the search candidate that does not satisfy the constraint in the combinatorial optimization problem is searched in the first place.
  • the SA unit 3 flips one or more spins including the selected spins so that the pair maintains the constrained state, so that the search for such useless search candidates can be suppressed. Therefore, it is possible to reduce the amount of calculation when solving the combinatorial optimization problem by applying the energy function in the model in which the individual spin states are represented by the first value or the second value to simulated annealing.
  • the energy function in the Ising model may be input to the solution system 1 instead of the energy function in the QUA.
  • the operation of the SA unit 3 is the same as the operation described in the first embodiment, except that the second value representing the spin state changes from “0” to “-1”.
  • FIG. 8 is a schematic block diagram showing a configuration example of a computer according to the solution system 1 according to the embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and an input device 1005.
  • the solution system 1 of the embodiment of the present invention is realized by the computer 1000.
  • the operation of the solution system 1 is stored in the auxiliary storage device 1003 in the form of a solution program.
  • the CPU 1001 reads the solution program from the auxiliary storage device 1003, deploys it to the main storage device 1002, and executes the process described in the above embodiment according to the solution program.
  • Auxiliary storage 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-temporary tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via interface 1004. Examples include semiconductor memory.
  • the distributed computer 1000 may expand the program to the main storage device 1002 and execute the process described in the above embodiment according to the program. ..
  • each component may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by a combination of the above-mentioned circuit or the like and a program.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • FIG. 9 is a block diagram showing an outline of the solution system of the present invention.
  • the solution system of the present invention includes an input unit 2 and a simulated annealing unit 3.
  • the input unit 2 is an energy function in a model (for example, QUA, Ising model) that expresses the state of each spin by a first value or a second value, and is an energy corresponding to a combinatorial optimization problem for which a solution should be obtained. Accepts function input.
  • a model for example, QUA, Ising model
  • Simulated annealing unit 3 obtains the state of each spin corresponding to the solution of the combinatorial optimization problem by executing simulated annealing when the energy function is input.
  • Simulated annealing unit 3 selects a spin in the simulated annealing process, selects a pair to which the spin belongs, and determines that the pair satisfies a predetermined constraint and changes the state of the spin. If so, the state of one or more spins containing the spin is changed so that the set maintains the state of satisfying the constraint.
  • Such a configuration reduces the complexity of solving combinatorial optimization problems by applying the energy function in a model that represents the individual spin states by a first or second value to simulated annealing. Can be done.
  • a constraint that only one spin of the plurality of spins belonging to the set takes the first value may be defined.
  • a constraint that at least one spin out of a plurality of spins belonging to the set takes a second value may be defined.
  • a constraint that at least one spin out of a plurality of spins belonging to the set takes the first value may be defined.
  • the spin state is changed by replacing a plurality of variables representing the spin state with one variable. If the energy function obtained by lowering the order of the variable to be represented to the second order and converting the expression representing the energy whose order of the variable representing the spin state is lowered to the second order is input, the variable after replacement is used.
  • the state of the auxiliary spin according to a change in the state of any one of the plurality of spins. May be constrained to change.
  • the first value or the second value may be set as a fixed value for a predetermined spin.
  • the present invention is suitably applicable to solving combinatorial optimization problems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数をシミュレーテッドアニーリングに適用することによって組合せ最適化問題を解く場合の計算量を少なくすることができる求解システムを提供する。入力部2は、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける。シミュレーテッドアニーリング部3は、シミュレーテッドアニーリングの過程で、スピンを選択し、そのスピンが属する組を選択し、その組が予め定めされた制約を満たし、かつ、そのスピンの状態を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの状態を変化させる。

Description

求解システム、求解方法および求解プログラム
 本発明は、求解システム、求解方法および求解プログラムに関し、特に、組合せ最適化問題の解に相当する各スピンの状態(所定モデルの各スピンの状態)を求める求解システム、求解方法および求解プログラムに関する。
 組合せ最適化問題を解く量子コンピュータの研究が進められている。量子コンピュータは、イジングモデルにおけるエネルギー関数を入力として、組合せ最適化問題を解く。なお、組合せ最適化問題の例として、巡回セールスマン問題、ナップサック問題、グラフ分割問題等が挙げられる。ただし、組合せ最適化問題は、これらの問題に限らない。
 イジングモデルは、個々のスピンによって磁性体の振る舞いを表わす統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”で表される。
 また、個々のスピンの状態を“1”または“0”で表すモデルとして、QUBO(Quadratic Unconstrained Binary Optimization )も知られている。
 なお、イジングモデルにおける“1”やQUBOにおける“1”を第1の値と称することができる。そして、イジングモデルにおける“-1”やQUBOにおける“0”を第2の値と称することができる。
 イジングモデルにおけるエネルギー関数と、QUBOにおけるエネルギー関数とは、相互に変換可能である。
 現状では、現実世界における組合せ最適化問題を解くのに十分な規模の量子コンピュータは実現されていない。
 種々の組合せ最適化問題の解を汎用的に求められるようにする場合、現状では、イジングモデルやQUBOにおけるエネルギー関数を入力として、一般的なコンピュータを用いて、シミュレーテッドアニーリングで組合せ最適化問題の解が求められている。この手法の例を説明する。ここでは、巡回セールスマン問題の解を求める場合を例にして説明する。
 まず、巡回セールスマン問題におけるエネルギーを表わす式を作成する。組合せ最適化問題におけるエネルギーを表わす式の作成を、定式化と称する場合がある。巡回セールスマン問題の定式化によって得られる式の例として、以下に示す式(1)が挙げられる。
Figure JPOXMLDOC01-appb-M000001
 
 式(1)において、jは時刻を表わし、v,uは都市を表わす。また、xv,jは、時刻jにセールスマンが都市vにいるか否かを表わす変数であり、スピンに該当する。xv,j=1ならば、時刻jにセールスマンが都市vにいることを表わし、xv,j=0ならば、時刻jにセールスマンが都市vにいないことを表わす。図10は、巡回セールスマン問題での各スピンの状態の表現例を示す模式図である。また、式(1)において、Wuvは、都市uと都市vの距離であり、都市の組毎に予め定数として定められている。αおよびβは、予め定数として定められている。
 式(1)における右辺の第1項は、セールスマンは同じ都市を2回以上通過することはないという制約を表わす。
 式(1)における右辺の第2項は、1つの時刻において、セールスマンが1つの都市にしか存在しないという制約を表わす。
 式(1)における右辺の第3項は、セールスマンが通過する都市間の距離を表わす。
 式(1)に例示するような組合せ最適化問題におけるエネルギーを表わす式を作成したならば、その式を、イジングモデルにおけるエネルギー関数、または、QUBOにおけるエネルギー関数に変換する。この変換方法は、公知である。
 イジングモデルにおけるエネルギー関数は、以下の式(2)のように表される。
Figure JPOXMLDOC01-appb-M000002
 
 式(2)におけるs,sは、スピンの状態を表わす変数である。Jijは、i,jに応じた定数であり、hは、iに応じた定数である。
 また、QUBOにおけるエネルギー関数は、以下の式(3)のように表される。
Figure JPOXMLDOC01-appb-M000003
 
 式(3)におけるx,xは、スピンの状態を表わす変数である。Qijは、i,jに応じた定数である。
 式(2)および式(3)は、スピンの状態を表わす変数の2次式である。また、式(1)も、スピンの状態を表わす変数の2次式である。従って、式(1)を、式(2)または式(3)に変換することができる。
 定式化によって得た式において、スピンの状態を表わす変数の次数が3次以上であったとしても、スピンの状態を表わす複数の変数を1つの変数に置き換えることによって、スピンの状態を表わす変数の次数を2次まで下げることができる。従って、定式化によって得た式において、スピンの状態を表わす変数の次数が3次以上であったとしても、その式に基づいて、イジングモデルにおけるエネルギー関数(式(2))、または、QUBOにおけるエネルギー関数(式(3))を得ることができる。また、スピンの状態を表わす複数の変数を1つの変数に置き換える場合における、置き換え後の変数が表わすスピンを補助スピンと称する。
 イジングモデルまたはQUBOにおけるエネルギー関数が得られたならば、そのエネルギー関数をシミュレーテッドアニーリングに適用し、エネルギーが最小になるときの各スピンの状態を特定する。そして、その各スピンの状態を、組合せ最適化問題(本例では、巡回セールスマン問題)に応じて解釈することで、最適解が得られる。
 この手法によれば、種々の組合せ最適化問題の解を汎用的に求めることができる。
 また、特許文献1には、複数のスピンの値を同時に変更することが記載されている。
特開2018-206127号公報
 上記のように、イジングモデルやQUBOにおけるエネルギー関数をシミュレーテッドアニーリングに適用すれば、種々の組合せ最適化問題の解を汎用的に求めることができる。
 しかし、この場合、問題空間内の探索候補が、個別の組合せ最適化問題に特化した解法における問題空間内の探索候補に比べて、極めて多くなる。
 以下、都市が4つの場合の巡回セールスマン問題を例にして、探索候補の数を比較する。4つの都市を、符号A,B,C,Dで表す。図11は、巡回セールスマン問題に特化した解法における探索候補を示す模式図である。図11から分かるように、本例における探索候補の数は、6である。
 図12は、QUBOにおけるエネルギー関数をシミュレーテッドアニーリングに適用する手法における探索候補を示す模式図である。都市が4つである場合、スピンの数は、4=16である。そして、個々のスピンは、1または0のいずれかの値をとる。従って、本例における探索候補の数は、216となる。なお、イジングモデルの場合、個々のスピンは1または-1のいずれかの値をとるが、探索候補の数は、QUBOの場合と同様に、216である。
 このように、エネルギー関数をシミュレーテッドアニーリングに適用する手法では、探索候補の数が、個別の組合せ最適化問題に特化した解法における探索候補の数に比べて、極めて大きくなる。そして、巡回セールスマン問題における都市の数を増やす場合のように、組合せ最適化問題が複雑になれば、この傾向はより顕著になる。
 そして、エネルギー関数をシミュレーテッドアニーリングに適用する手法では、探索候補が極めて多いため、計算量が多くなる。その結果、解を得るまでの時間も長くなる。
 そこで、本発明は、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数をシミュレーテッドアニーリングに適用することによって組合せ最適化問題を解く場合の計算量を少なくすることができる求解システム、求解方法および求解プログラムを提供することを目的とする。
 本発明による求解システムは、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける入力部と、エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、その組合せ最適化問題の解に相当する各スピンの状態を求めるシミュレーテッドアニーリング部とを備え、シミュレーテッドアニーリング部が、シミュレーテッドアニーリングの過程で、スピンを選択し、そのスピンが属する組を選択し、その組が予め定めされた制約を満たし、かつ、そのスピンの状態を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの状態を変化させることを特徴とする。
 本発明による求解方法は、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付け、エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、その組合せ最適化問題の解に相当する各スピンの状態を求め、シミュレーテッドアニーリングの過程で、スピンを選択し、そのスピンが属する組を選択し、その組が予め定めされた制約を満たし、かつ、そのスピンの状態を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの状態を変化させることを特徴とする。
 本発明による求解プログラムは、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける入力部を備えるコンピュータに搭載される求解プログラムであって、コンピュータに、エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、その組合せ最適化問題の解に相当する各スピンの状態を求めるシミュレーテッドアニーリング処理を実行させ、コンピュータに、シミュレーテッドアニーリングの過程で、スピンを選択し、そのスピンが属する組を選択し、その組が予め定めされた制約を満たし、かつ、そのスピンの状態を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの状態を変化させる処理を実行させることを特徴とする。
 本発明によれば、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数をシミュレーテッドアニーリングに適用することによって組合せ最適化問題を解く場合の計算量を少なくすることができる。
本発明の実施形態の求解システムの構成例を示すブロック図である。 複数の基本スピンと1つの補助スピンとを含む組の例を示す模式図である。 具体例1における各スピンの状態の一例を示す模式図である。 図3に示すスピン61,62をフリップした結果を示す模式図である。 具体例2における各基本スピンの状態を表わす2次元マトリクス、および、各補助スピンの状態を表わす2次元マトリクスの一例を示す模式図である。 本発明の実施形態の求解システムの処理経過の例を示すフローチャートである。 本発明の実施形態の求解システムの処理経過の例を示すフローチャートである。 本発明の実施形態の求解システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明の求解システムの概要を示すブロック図である。 巡回セールスマン問題での各スピンの状態の表現例を示す模式図である。 巡回セールスマン問題に特化した解法における探索候補を示す模式図である。 QUBOにおけるエネルギー関数をシミュレーテッドアニーリングに適用する手法における探索候補を示す模式図である。
 以下、本発明の実施形態を図面を参照して説明する。
 前述のように、イジングモデルにおける“1”やQUBOにおける“1”を第1の値と称することができる。そして、イジングモデルにおける“-1”やQUBOにおける“0”を第2の値と称することができる。イジングモデルおよびQUBOはいずれも、個々のスピンの状態を第1の値または第2の値で表すモデルである。
 実施形態では、QUBOにおけるエネルギー関数が本発明の求解システムに入力される場合を例にして説明するが、イジングモデルにおけるエネルギー関数が入力される場合も同様に説明できる。QUBOにおけるエネルギー関数の代わりに、イジングモデルにおけるエネルギー関数が本発明の求解システムに入力されてもよい。
 図1は、本発明の実施形態の求解システムの構成例を示すブロック図である。本実施形態の求解システム1は、入力部2と、シミュレーテッドアニーリング部3と、出力部4とを備える。以下、シミュレーテッドアニーリング部3を、SA部3と記す。
 入力部2は、QUBOにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける。このエネルギー関数は、組合せ最適化問題におけるエネルギーを表わす式を変換することによって得られる。
 入力部2は、例えば、エネルギー関数が入力される入力デバイスである。入力部2は、記録媒体に記録されたエネルギー関数を読み込むデータ読み込み装置等の入力デバイスであってもよい。
 入力部2に入力されるエネルギー関数から、各スピンの状態の表現形式が定まる。以下では、説明を簡単にするために、各スピンの状態が2次元マトリクスで表現される場合を例にして説明する。ただし、各スピンの状態の表現形式は、2次元マトリクスとは限らず、組合せ最適化問題によっては、各スピンの状態の表現形式が、3次元マトリクスになったり、個々のスピンの状態が個別に表現される形式になったりする場合もある。
 また、本実施形態では、スピンの組、および、各組が満たすべき制約が、予め定められる。スピンの組は、複数定められ、各組に対して制約が定められる。
 スピンの各組、および、各組に対して定められる制約は、例えば、求解システム1のユーザによって定められてもよい。ユーザによって定められた各組、および、各組に対する制約は、例えば、入力部2を介して入力されてもよい。ただし、スピンの各組、および、各組に対して定められる制約の設定態様は、上記の例に限定されない。例えば、本実施形態の動作を実現するための求解プログラムに、各組、および、各組に対する制約が記述されていてもよい。
 また、1つのスピンが複数の組に属していてもよい。
 スピンの組に対して定められる制約の種々の例を説明する。
(1)スピンの組に対する制約の例として、組に属する複数のスピンのうち、1つのスピンのみを“1”とし、その組に属する他の全てのスピンを“0”とするという制約が挙げられる。以下、この制約を「第1の制約」と記す。
(2)スピンの組に対する制約の他の例として、組に属する複数のスピンのうち、少なくとも1つのスピンを“0”とするという制約が挙げられる。以下、この制約を「第2の制約」と記す。
(3)スピンの組に対する制約の他の例として、組に属する複数のスピンのうち、少なくとも1つのスピンを“1”とするという制約が挙げられる。以下、この制約を「第3の制約」と記す。
(4)スピンの組に対する制約の他の例を説明する。以下に説明する制約を「第4の制約」と記す。第4の制約は、組合せ最適化問題におけるエネルギーを表わす式(定式化によって得られる式)でスピンの状態を表わす変数の次数が3次以上であるため、スピンの状態を表わす複数の変数を1つの変数に置き換えることによって、スピンの状態を表わす変数の次数を2次まで下げ、さらに、スピンの状態を表わす変数の次数が2次まで下げられたエネルギーを表わす式をエネルギー関数に変換した場合に、適用される。
 この場合、置き換え前の変数が表わすスピンの状態と、置き換え後の変数が表わすスピン(補助スピン)の状態とは、別々に表現される。以下、置き換え前の変数が表わすスピンを基本スピンと記す場合がある。置き換え前の複数の変数に対応する複数の基本スピンと、置き換え後の変数に対応する補助スピンとが組をなすように、スピンの組が定められる。第4の制約は、組に属する基本スピンの状態が変化したらならば、その変化の結果に応じて補助スピンの状態を変化させるという制約である。
 以下、第4の制約をより具体的に示す。各基本スピンの状態が2次元マトリクスで表されるものとする。この2次元マトリクスの行を変数mで表し、列を変数dで表し、行および列に応じた基本スピンの状態を表わす変数をxm,dとする。そして、基本スピンの状態を表わす複数の変数xm,d,xm,d+1を、以下に示す式(4)によって、補助スピンの状態を表わす1つの変数ym,(d,d+1)に置き換えるものとする。
 ym,(d,d+1)=xm,d×xm,d+1     ・・・(4)
 図2は、本例における、複数の基本スピンと1つの補助スピンとを含む組の例を示す模式図である。図2に示すように、各基本スピンの状態を示す2次元マトリクスと、各補助スピンの状態を示す2次元マトリクスは、別々のマトリクスになる。図2では、基本スピンxC,2と、基本スピンxC,3と、補助スピンyC,(2,3)とが1つの組になることを示している。ただし、本例における組は、この1つに限られず、多数存在する。そして、それらの各組に対して、第4の制約が定められているとする。
 図2に示す例では、xC,2=1,xC,3=0,yC,(2,3)=0となっている。基本スピンxC,3を“0”から“1”に変化させた場合、第4の制約に基づいて、yC,(2,3)も、“0”から“1”に変化させることになる。
 なお、本例では、基本スピンxC,3と、基本スピンxC,4と、補助スピンyC,(3,4)も1つの組になるので、上記の例において、補助スピンyC,(3,4)も、“0”から“1”に変化させることになる。
 上記の第1の制約から第4の制約までの各制約は、スピンの組に対する制約である。本実施形態では、スピンの組に対する制約だけでなく、スピンに対する制約が定められていてもよい。以下、スピンに対する制約の例を説明する。
 スピンに対する制約の例として、所定のスピンは、第1の値(QUBOでは“1”)と第2の値(QUBOでは“0”)のうちの一方の値のみを取り、その所定のスピンの値は変化しないという制約である。すなわち、この制約は、所定のスピンに対しては、第1の値または第2の値が固定値として定められるという制約である。以下、この制約を「第5の制約」と記す。第5の制約が定められるスピン、および、そのスピンがとる固定値は、予め定められる。第5の制約が定められるスピン、および、そのスピンがとる固定値は、例えば、ユーザによって定められ、入力部2を介して入力されてもよい。第5の制約が定められるスピン、および、そのスピンがとる固定値の設定態様は、上記の例に限定されない。例えば、求解プログラムに、第5の制約が定められるスピン、および、そのスピンがとる固定値が記述されていてもよい。
 また、第5の制約が定められるスピンの数は、1つであっても2つ以上であってもよい。ただし、全てのスピンに第5の制約が定められることはない。以下、第5の制約が定められたスピンを固定スピンと記す。
 第1の制約から第5の制約のうち、1種類の制約が設定されてもよく、また、複数種類の制約が設定されてもよい。また、第1の制約から第5の制約以外の制約が設定されてもよい。
 SA部3(シミュレーテッドアニーリング部3)は、エネルギー関数が入力されると、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する各スピンの状態を求める。SA部3について、より具体的に説明する。
 SA部3は、エネルギー関数が入力されると、スピンの状態の表現形式の下で、個々のスピンの値をランダムに定める。前述のように、説明を簡単にするため、スピンの状態の表現形式が2次元マトリクスである場合を例にする。この場合、SA部3は、2次元マトリクスにおいて、個々のスピンの値をランダムに定める。また、補助スピンが存在する場合には、個々の補助スピンの値もランダムに定める。ただし、SA部3は、固定スピン(第5の制約が定められたスピン)関しては、その固定スピンに定められた固定値(“1”または“0”)を定める。この時点では、各組に定められた制約が満たされているとは限らない。
 SA部3は、シミュレーテッドアニーリングを実行する際、まず、1つのスピンを選択し、そのスピンが属する組を1つ選択する。
 SA部3は、選択した組が、その組に定められた制約を満たし、かつ、選択したスピンの状態を変化させると決定した場合には、その組がその制約を満たした状態を維持するように、選択したスピンを含む1つ以上のスピンの状態を変化させる。このとき、選択したスピンの状態のみを変化させることもあり得る。
 また、選択した組が、その組に定められた制約を満たしていない場合、SA部3は、選択したスピンの状態を変化させるか否かを決定する。選択したスピンの状態を変化させると決定した場合には、SA部3は、選択したスピンの状態を変化させる。前述のように最初にランダムに各スピンの値を定めた時点では、各組に定められた制約が満たされているとは限らない。しかし、この動作が行われることで、制約を満たす組が増加していく。
 SA部3は、1つのスピンを選択する動作以降の動作を繰り返す。そして、例えば、スピンの状態を変化させないと決定することが所定回数、連続して生じた場合に、SA部3は、その時点における各スピンの状態を、組合せ最適化問題の解に相当する状態であると決定する。
 なお、SA部3は、シミュレーテッドアニーリングにおける遷移確率に基づいて、スピンの状態を変化させるか否かを決定する。
 また、スピンの状態を変化させることを、「スピンをフリップする」と記す場合がある。
 出力部4は、SA部3によって決定された、組合せ最適化問題の解に相当する各スピンの状態を出力する。例えば、出力部4は、求解システム1が備えるディスプレイ装置(図示略)に、組合せ最適化問題の解に相当する各スピンの状態を表示させてもよい。ただし、組合せ最適化問題の解に相当する各スピンの状態の出力態様は、特に限定されない。
 SA部3および出力部4は、例えば、求解プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUは、コンピュータのプログラム記憶装置等のプログラム記録媒体から求解プログラムを読み込み、その求解プログラムに従って、SA部3および出力部4として動作すればよい。
 次に、SA部3が、制約が定められた状態でスピンをフリップする具体例を示す。
[具体例1]
 具体例1では、第1の制約および第5の制約が定められた場合を例にする。また、具体例1では、都市の数が4つである場合の巡回セールスマン問題を例にして説明する。図3は、具体例1における各スピンの状態の一例を示す模式図である。具体例1では、各スピンの状態は、都市および時刻を軸とする4行4列の2次元マトリクスで表される。
 本例では、図3に示すマトリクスにおいて、横方向に並ぶ4つのスピンが1つの組として定められているものとする。図3に示すように、スピンの行が4行存在するので、4つの組が定められている。そして、その4つの組それぞれに、第1の制約が定められているものとする。このことは、1つの時刻において、セールスマンが1つの都市にしか存在しないことを意味する。
 図3に示す例では、既に、4つの組がそれぞれ、第1の制約を満たした状態になっている。
 また、図3に示す太枠で示したスピンにはそれぞれ固定値が定められているものとする(第5の制約)。第1行第1列のスピンの値は“1”に定められている。また、第1行の各スピンおよび第1列の各スピンのうち、第1行第1列のスピン以外のスピンの値は、“0”に定められている(図3参照)。図3に示すように定められた固定スピンの値は、最初の時刻にセールスマンが都市Aにいることを意味している。
 各スピンの状態が図3に示す状態であるときに、SA部3が、スピン61を選択したとする。この場合、SA部3は、スピン61が属する組を1つ選択する。本例では、SA部3は、図3に示す第3行の4つのスピンからなる組を選択する。この組は、既に第1の制約を満たしている。スピン61をフリップしただけでは、第1の制約を満たした状態を維持できないので、SA部3は、第1の制約を満たした状態を維持するように、スピン61とともにフリップする他のスピンを、固定スピン以外のスピンを選択する。ここでは、SA部3は、値が“1”であるスピン62を選択する。
 そして、SA部3は、シミュレーテッドアニーリングにおける遷移確率に基づいて、スピン61,62をフリップするか否かを決定する。スピン61,62をフリップすると決定した場合には、SA部3は、スピン61,62をフリップする。この状態を図4に示す。フリップ後においても、第3行に該当する組は、第1の制約を満たしている。
 なお、具体例1では、横方向に並ぶ4つのスピンが1つの組として定められた場合を示した。縦方向に並ぶ4つのスピンが1つの組として定められてもよい。この場合にも、4つの組が存在する。その4つの組(4つの列)に、それぞれ、第1の制約を定めたとする。このことは、セールスマンは同じ都市を2回以上通過することはないということを意味する。
[具体例2]
 具体例2では、第2の制約、第3の制約、および、第4の制約が定められた場合を例にする。また、具体例2では、5日間における最適な勤務シフト表を作成するという組合せ最適化問題を例にして説明する。日付を変数dで表し、人員を変数mで表すこととする。また、人員は、A,B,Cの3人であるものとする。
 人員mが日付dに勤務するか否かを変数xm,dで表すこととする。xm,d=1は、人員mが日付dに勤務することを表わす。xm,d=0は、人員mが日付dに勤務しないことを表わす。xm,dは、スピンに該当する。
 さらに、この組合せ最適化問題で、「3日連続の勤務は禁止である」という制約と、「3日連続の休みは禁止である」という制約が存在するものとする。
 この組合せ最適化問題では、エネルギーを表わす式は、以下に示す式(5)で表される。
Figure JPOXMLDOC01-appb-M000004
 
 式(5)の右辺の第1項は、「3日連続の勤務は禁止である」という制約を表わしている。
 式(5)の右辺の第2項は、「3日連続の休みは禁止である」という制約を表わしている。
 式(5)の右辺の第3項は、各日における勤務人数と必要人数の差を表わしている。wは、日付dにおける必要人数であり、dに応じた定数として定められている。本例における組合せ最適化問題では、勤務人数と必要人数の差が少なくなることが好ましい。
 式(5)では、スピンの状態を表わす変数の次数は3次である。従って、基本スピンの状態を表わす複数の変数xm,d,xm,d+1を、以下に示す式(6)によって、補助スピンの状態を表わす1つの変数ym,(d,d+1)に置き換えるものとする。なお、式(6)は、前述の式(4)と同じ式である。
 ym,(d,d+1)=xm,d×xm,d+1     ・・・(6)
 このような置き換えによって、スピンの状態を表わす変数の次数を2次まで下げることができる。例えば、式(5)の右辺の第1項におけるxm,dm,d+1m,d+2は、以下に示す式(7)のような2次の式に変換できる。
 ym,dm,d+2+xm,dm,d+1-2xm,dm,d-2xm,d+1m,d
 +3ym,d
                          ・・・(7)
 同様に、式(5)の右辺の第2項も、2次に変換できる。式(5)の右辺の第3項は、元々、2次である。
 スピンの状態を表わす変数の次数が2次まで下げられたエネルギーを表わす式は、QUBOにおけるエネルギー関数に変換することができる。
 図5は、具体例2における各基本スピンの状態を表わす2次元マトリクス、および、各補助スピンの状態を表わす2次元マトリクスの一例を示す模式図である。なお、初期状態では、各基本スピンおよび各補助スピンの値は、ランダムに1または0に定められる。
 本例では、横方向に並ぶ3つの基本スピンが1つの組になるように、基本スピンの各組が定められているものとする。例えば、xA,1,xA,2,XA,3が1つの組として定められ、xA,2,xA,3,XA,4が1つの組として定められる。同様に、他の組も定められる。1つの基本スピンが複数の組に属する場合がある。上記のように定められた基本スピンの各組に、第2の制約および第3の制約が定められているものとする。
 また、式(6)によって、補助スピンが定められているので、例えば、基本スピンxA,1と、基本スピンxA,2と、補助スピンyA,(1,2)との組が定められる。同様に、基本スピンxA,2と、基本スピンxA,3と、補助スピンyA,(2,3)との組が定められる。このように、補助スピンを含む組も複数個定められる。そして、補助スピンを含む各組に、第4の制約が定められているもとする。
 具体例2において、第2の制約を満たした状態を維持するように、スピンをフリップする場合を説明する。スピンの状態は、図5に示す状態であるものとする。SA部3が、スピンxC,3を選択したとする。この場合、SA部3は、スピンxC,3が属する組(基本スピンのみからなる組)を1つ選択する。本例では、SA部3が、組21(図5参照)を選択したものとする。組21は、第2の制約を満たしている。スピンxC,3をフリップしただけでは、組21に属する3つのスピンの値が全て“1”になり、第2の制約を満たさなくなる。そのため、SA部3は、スピンxC,3とともにフリップする他のスピンを、組21の中から選択する。本例では、スピンxC,1およびスピンxC,2のいずれか一方を任意に選択すればよい。ここでは、スピンxC,1を選択する場合を例にして説明する。
 SA部3は、シミュレーテッドアニーリングにおける遷移確率に基づいて、スピンxC,3およびスピンxC,1をフリップするか否かを決定する。スピンxC,3およびスピンxC,1をフリップすると決定した場合、SA部3は、スピンxC,3およびスピンxC,1をフリップする。この結果、スピンxC,1=0、スピンxC,3=1となる。すなわち、組21に属する3つのスピンの値は、“0”,“1”,“1”となり、第2の制約を満たす状態は維持されている。
 具体例2において、第3の制約を満たした状態を維持するように、スピンをフリップする場合を説明する。スピンの状態は、図5に示す状態であるものとする。SA部3が、スピンxC,4を選択したとする。この場合、SA部3は、スピンxC,4が属する組(基本スピンのみからなる組)を1つ選択する。本例では、SA部3が、組22(図5参照)を選択したものとする。組22は、第3の制約を満たしている。スピンxC,4をフリップしただけでは、組22に属する3つのスピンの値が全て“0”になり、第3の制約を満たさなくなる。そのため、SA部3は、スピンxC,4とともにフリップする他のスピンを、組22の中から選択する。本例では、スピンxC,3およびスピンxC,5のいずれか一方を任意に選択すればよい。ここでは、スピンxC,5を選択する場合を例にして説明する。
 SA部3は、シミュレーテッドアニーリングにおける遷移確率に基づいて、スピンxC,4およびスピンxC,5をフリップするか否かを決定する。スピンxC,4およびスピンxC,5をフリップすると決定した場合、SA部3は、スピンxC,4およびスピンxC,5をフリップする。この結果、スピンxC,4=0となり、スピンxC,5=1となる。すなわち、組22に属する2つのスピンの値は、“0”,“0”,“1”となり、第3の制約を満たす状態は維持されている。
 具体例2において、第4の制約を満たすように、スピンをフリップする場合を説明する。スピンの状態は、図5に示す状態であるものとする。
 基本スピンxA,1と、基本スピンxA,2と、補助スピンyA,(1,2)との組が定められている。同様に、基本スピンxA,2と、基本スピンxA,3と、補助スピンyA,(2,3)との組が定められている。これらの組に、第4の制約が定められている。従って、基本スピンxA,2をフリップする場合、それに合わせてフリップする可能性がある補助スピンは、補助スピンyA,(1,2)および補助スピンyA,(2,3)である。
 SA部3が基本スピンxA,2を選択したとする。そして、SA部3が、基本スピンxA,2をフリップすると決定し、基本スピンxA,2をフリップしたとする。この場合、xA,2=1となる。
 すると、xA,1=1,xA,2=1であるので、補助スピンyA,(1,2)の値は、1×1=1となる。従って、SA部3は、補助スピンyA,(1,2)を“0”から“1”にフリップする。
 また、xA,2=1,xA,3=0であるので、補助スピンyA,(2,3)の値は、1×0=0となる。既に、yA,(2,3)=0であるので(図5参照)、SA部3は、補助スピンyA,(2,3)をフリップしない。
 次に、処理経過について説明する。図6および図7は、本実施形態の求解システム1の処理経過の例を示すフローチャートである。スピンの各組、および、各組に対する制約は、予め定められているものとする。また、第5の制約が定められるスピンがあれば、そのスピン、および、そのスピンの値(固定値)も、予め定められているものとする。
 また、シミュレーテッドアニーリングにおける温度は初期値に設定されているものとする。
 SA部3は、入力部2を介してエネルギー関数が入力されると、スピンの状態の表現形式(例えば、2次元マトリクス等)の下で、各スピンの値を“1”または“0”にランダムに定める(ステップS1)。
 ただし、SA部3は、固定スピンに対しては、予め定められた固定値を定める。
 また、補助スピンがある場合には、SA部3は、各補助スピンの値も“1”または“0”にランダムに定める。
 ステップS1が完了した時点では、スピンの各組に定められた制約が満たされているとは限らない。
 次に、SA部3は、フリップする候補となるスピンを1つ選択する(ステップS2)。以下、ステップS2で選択されたスピンを選択スピンと記す。
 次に、SA部3は、選択スピンが固定スピンまたは補助スピンであるか否かを判定する(ステップS3)。選択スピンが固定スピンまたは補助スピンであるならば(ステップS3のYes)、SA部3は、ステップS2以降の動作を繰り返す。
 選択スピンが固定スピンでも補助スピンでもないならば(ステップS3のNo)、SA部3は、選択スピンが属する組を1つ選択する(ステップS4)。選択スピンが属する組が複数個ある場合であっても、SA部3は、選択スピンが属する組を1つ選択する。
 ただし、ステップS4において、SA部3は、選択スピンとともに補助スピンが属している組は選択しない。すなわち、SA部3は、選択スピンが属しているが補助スピンは属していない組を選択する。
 次に、SA部3は、ステップS4で選択した組がその組に定められた制約を既に満たしているか否かを判定する(ステップS5)。
 ステップS4で選択した組がその組に定められた制約を満たしていないならば(ステップS5のNo)、SA部3は、選択スピンをフリップした場合のエネルギー変化を計算する(ステップS6)。
 次に、SA部3は、ステップS6で計算したエネルギー変化と、シミュレーテッドアニーリングにおける温度とに基づいて、遷移確率を計算する(ステップS7、図7を参照。)。
 次に、SA部3は、ステップS7で計算した遷移確率に基づいて、状態遷移を受理するか否かを判定する(ステップS8)。
 状態遷移を受理する場合(ステップS8のYes)、SA部3は、選択スピンをフリップする(ステップS9)。
 次に、SA部3は、シミュレーテッドアニーリングにおける温度を減少させる(ステップS15)。ステップS15の後、SA部3は、ステップS2以降の動作を繰り返す。
 また、ステップS8において、状態遷移を受理しない場合(ステップS8のNo)、SA部3は、ステップS9を行うことなく、ステップS15に移行する。
 前述のように、ステップS1が完了した時点では、スピンの各組に定められた制約が満たされているとは限らない。しかし、SA部3が、ステップS6~S9の処理を繰り返し実行し、選択スピンをフリップする回数が増えるにつれて、制約を満たす組が増加していく。
 ステップS4で選択した組がその組に定められた制約を満たしているならば(ステップS5のYes)、SA部3は、ステップS4で選択した組が制約を満たした状態を維持するように、選択スピンとともにフリップするスピンを特定する(ステップS10)。選択スピンのみをフリップしても、組が制約を満たした状態が維持できるならば、ステップS10において、SA部3は、選択スピン以外のスピンを特定しなくてもよい。すなわち、ステップS10において、選択スピン以外のスピンが特定されないことがあってもよい。
 また、第5の制約が定められている場合、ステップS10において、SA部3は、選択スピン、および、選択スピンとともにフリップするスピンのフリップに応じて値が変化することになる補助スピンも特定する。
 また、基本スピンと補助スピンとが存在し、基本スピンからなる組に第1の制約、第2の制約および第3の制約がいずれも定められず、基本スピンと補助スピンとを含む組に第5の制約が定められる場合もあり得る。この場合には、選択スピンが固定スピンでも補助スピンでもないと判定したならば(ステップS3のNo)、直ちにステップS10に移行してよい。そして、SA部3は、ステップS10で、基本スピンをフリップした場合に、そのフリップ結果に応じて値が変化することになる補助スピンを特定すればよい。
 ステップS10の次に、SA部3は、選択スピン、および、ステップS10で特定したスピンをフリップした場合のエネルギー変化を計算する(ステップS11)。なお、前述のように、ステップS10において、選択スピン以外のスピンが特定されないことがあり得る。その場合には、SA部3は、ステップS11において、選択スピンをフリップした場合のエネルギー変化を計算すればよい。
 次に、SA部3は、ステップS11で計算したエネルギー変化と、シミュレーテッドアニーリングにおける温度とに基づいて、遷移確率を計算する(ステップS12、図7を参照)。
 次に、SA部3は、ステップS12で計算した遷移確率に基づいて、状態遷移を受理するか否かを判定する(ステップS13)。
 状態遷移を受理する場合(ステップS13のYes)、SA部3は、選択スピン、および、ステップS10で特定したスピンをフリップする(ステップS14)。
 次に、SA部3は、シミュレーテッドアニーリングにおける温度を減少させる(ステップS15)。ステップS15の後、SA部3は、ステップS2以降の動作を繰り返す。
 また、ステップS13において、状態遷移を受理しない場合(ステップS13のNo)、SA部3は、ステップS14を行うことなく、ステップS15に移行する。
 上記のように、SA部3は、ステップS2~S15の処理を繰り返す。そして、例えば、繰り返し処理で、毎回ステップS13に移行し、ステップS13で状態遷移を受理しないという判定結果が連続して所定回数続いた場合には、SA部3は、その時点における各スピンの状態が、組合せ最適化問題の解に相当する状態であると判定してよい。換言すれば、エネルギーが最小となるときの各スピンの状態が得られたと判定してよい。その場合、出力部4は、その各スピンの状態を出力する。例えば、求解システム1のユーザは、その各スピンの状態を参照し、組合せ最適化問題の解を解釈すればよい。
 本実施形態によれば、SA部3は、選択スピンが属する組がその組に定められた制約を満たしていて、スピンをフリップすると決定した場合、その組が制約を満たした状態を維持するように、選択スピンを含む1つ以上のスピンをフリップする。ここで、組が制約を満たした状態から制約を満たさない状態に変化させるということは、そもそも、組合せ最適化問題における制約を満たしていないような探索候補を探索していることを意味する。本実施形態では、SA部3が、組が制約を満たした状態を維持するように、選択スピンを含む1つ以上のスピンをフリップするので、そのような無駄な探索候補の探索を抑止できる。従って、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数をシミュレーテッドアニーリングに適用することによって組合せ最適化問題を解く場合の計算量を少なくすることができる。
 また、既に説明したように、QUBOにおけるエネルギー関数の代わりに、イジングモデルにおけるエネルギー関数が求解システム1に入力されてもよい。この場合、スピンの状態を表わす第2の値が“0”から“-1”に変わる点以外、SA部3の動作は、第1の実施形態で説明した動作と同様である。
 図8は、本発明の実施形態の求解システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
 本発明の実施形態の求解システム1は、コンピュータ1000によって実現される。求解システム1の動作は、求解プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その求解プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その求解プログラムに従って、上記の実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図9は、本発明の求解システムの概要を示すブロック図である。本発明の求解システムは、入力部2と、シミュレーテッドアニーリング部3とを備える。
 入力部2は、個々のスピンの状態を第1の値または第2の値で表すモデル(例えば、QUBO、イジングモデル)におけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける。
 シミュレーテッドアニーリング部3は、エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、その組合せ最適化問題の解に相当する各スピンの状態を求める。
 シミュレーテッドアニーリング部3は、シミュレーテッドアニーリングの過程で、スピンを選択し、そのスピンが属する組を選択し、その組が予め定めされた制約を満たし、かつ、そのスピンの状態を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの状態を変化させる。
 そのような構成によって、個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数をシミュレーテッドアニーリングに適用することによって組合せ最適化問題を解く場合の計算量を少なくすることができる。
 組が満たすべき制約として、組に属する複数のスピンのうち、1つのスピンのみが第1の値をとるという制約が定められてもよい。
 組が満たすべき制約として、組に属する複数のスピンのうち、少なくとも1つのスピンは第2の値をとるという制約が定められてもよい。
 組が満たすべき制約として、組に属する複数のスピンのうち、少なくとも1つのスピンは第1の値をとるという制約が定められてもよい。
 組合せ最適化問題におけるエネルギーを表わす式において、スピンの状態を表わす変数の次数が3次以上である場合に、スピンの状態を表わす複数の変数を、1つの変数に置き換えることによって、スピンの状態を表わす変数の次数を2次まで下げ、スピンの状態を表わす変数の次数が2次まで下げられたエネルギーを表わす式を変換することによって得られたエネルギー関数が入力される場合、置き換え後の変数に対応するスピンである補助スピンと、置き換え前の複数の変数に対応する複数のスピンとの組に対して、当該複数のスピンのうちのいずれかのスピンの状態の変化に応じて補助スピンの状態を変化させるという制約が定められてもよい。
 所定のスピンに対して、第1の値または第2の値が固定値として定められてもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、組合せ最適化問題の求解に好適に適用可能である。
 1 求解システム
 2 入力部
 3 シミュレーテッドアニーリング部(SA部)
 4 出力部

Claims (8)

  1.  個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける入力部と、
     前記エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、前記組合せ最適化問題の解に相当する各スピンの状態を求めるシミュレーテッドアニーリング部とを備え、
     前記シミュレーテッドアニーリング部は、
     前記シミュレーテッドアニーリングの過程で、
     スピンを選択し、前記スピンが属する組を選択し、
     前記組が予め定めされた制約を満たし、かつ、前記スピンの状態を変化させると決定した場合に、前記組が前記制約を満たした状態を維持するように、前記スピンを含む1つ以上のスピンの状態を変化させる
     ことを特徴とする求解システム。
  2.  組が満たすべき制約として、
     前記組に属する複数のスピンのうち、1つのスピンのみが第1の値をとるという制約が定められる
     請求項1に記載の求解システム。
  3.  組が満たすべき制約として、
     前記組に属する複数のスピンのうち、少なくとも1つのスピンは第2の値をとるという制約が定められる
     請求項1または請求項2に記載の求解システム。
  4.  組が満たすべき制約として、
     前記組に属する複数のスピンのうち、少なくとも1つのスピンは第1の値をとるという制約が定められる
     請求項1から請求項3のうちのいずれか1項に記載の求解システム。
  5.  組合せ最適化問題におけるエネルギーを表わす式において、スピンの状態を表わす変数の次数が3次以上である場合に、スピンの状態を表わす複数の変数を、1つの変数に置き換えることによって、スピンの状態を表わす変数の次数を2次まで下げ、スピンの状態を表わす変数の次数が2次まで下げられたエネルギーを表わす式を変換することによって得られたエネルギー関数が入力される場合、
     置き換え後の変数に対応するスピンである補助スピンと、置き換え前の前記複数の変数に対応する複数のスピンとの組に対して、当該複数のスピンのうちのいずれかのスピンの状態の変化に応じて前記補助スピンの状態を変化させるという制約が定められる
     請求項1から請求項4のうちのいずれか1項に記載の求解システム。
  6.  所定のスピンに対して、第1の値または第2の値が固定値として定められる
     請求項1から請求項5のうちのいずれか1項に記載の求解システム。
  7.  個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付け、
     前記エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、前記組合せ最適化問題の解に相当する各スピンの状態を求め、
     前記シミュレーテッドアニーリングの過程で、
     スピンを選択し、前記スピンが属する組を選択し、
     前記組が予め定めされた制約を満たし、かつ、前記スピンの状態を変化させると決定した場合に、前記組が前記制約を満たした状態を維持するように、前記スピンを含む1つ以上のスピンの状態を変化させる
     ことを特徴とする求解方法。
  8.  個々のスピンの状態を第1の値または第2の値で表すモデルにおけるエネルギー関数であって、解を求めるべき組合せ最適化問題に応じたエネルギー関数の入力を受け付ける入力部を備えるコンピュータに搭載される求解プログラムであって、
     前記コンピュータに、
     前記エネルギー関数が入力されたときに、シミュレーテッドアニーリングを実行することによって、前記組合せ最適化問題の解に相当する各スピンの状態を求めるシミュレーテッドアニーリング処理を実行させ、
     前記コンピュータに、
     前記シミュレーテッドアニーリングの過程で、
     スピンを選択し、前記スピンが属する組を選択し、
     前記組が予め定めされた制約を満たし、かつ、前記スピンの状態を変化させると決定した場合に、前記組が前記制約を満たした状態を維持するように、前記スピンを含む1つ以上のスピンの状態を変化させる処理を実行させる
     ための求解プログラム。
PCT/JP2019/037332 2019-09-24 2019-09-24 求解システム、求解方法および求解プログラム WO2021059338A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/037332 WO2021059338A1 (ja) 2019-09-24 2019-09-24 求解システム、求解方法および求解プログラム
JP2021548007A JP7251645B2 (ja) 2019-09-24 2019-09-24 求解システム、求解方法および求解プログラム
US17/642,332 US20220335323A1 (en) 2019-09-24 2019-09-24 Solution system, solution method, and solution program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/037332 WO2021059338A1 (ja) 2019-09-24 2019-09-24 求解システム、求解方法および求解プログラム

Publications (1)

Publication Number Publication Date
WO2021059338A1 true WO2021059338A1 (ja) 2021-04-01

Family

ID=75165155

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/037332 WO2021059338A1 (ja) 2019-09-24 2019-09-24 求解システム、求解方法および求解プログラム

Country Status (3)

Country Link
US (1) US20220335323A1 (ja)
JP (1) JP7251645B2 (ja)
WO (1) WO2021059338A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047462A1 (ja) * 2021-09-21 2023-03-30 日本電気株式会社 子問題生成装置および子問題生成方法
WO2023162170A1 (ja) * 2022-02-25 2023-08-31 日本電気株式会社 情報処理装置
WO2023248414A1 (ja) * 2022-06-23 2023-12-28 日本電気株式会社 求解装置、求解方法および求解プログラム
WO2024029540A1 (ja) * 2022-08-05 2024-02-08 学校法人早稲田大学 計算方法、計算システム、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112020003839T5 (de) * 2020-03-26 2022-04-28 Hitachi, Ltd. Informationsverarbeitungssystem und Informationsverarbeitungsverfahren
JP7410395B2 (ja) * 2020-03-26 2024-01-10 富士通株式会社 最適化装置及び最適化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944471A (ja) * 1995-07-26 1997-02-14 Kao Corp 組み合わせ最適化問題の解法および生産ラインにおける生産計画決定装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944471A (ja) * 1995-07-26 1997-02-14 Kao Corp 組み合わせ最適化問題の解法および生産ラインにおける生産計画決定装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A transformation to an Ising model, ''Polynomial order reduction", FIXSTARS CORPORATION, 2018, Retrieved from the Internet <URL:https://quantum.fixstars.com/introduction_to_quantum_computer/quantum_annealing/programming/conversion> [retrieved on 20191108] *
KANEMARU, SHO ET AL., IEICE TECHNICAL REPORT, vol. 118, no. 84, 7 June 2018 (2018-06-07), pages 161 - 166, ISSN: 0913-5685 *
WAKUTSU, TAKUYA ET AL.: "Neural networks with the linked state transition for constraint satisfaction and their applications to combinatorial optimization problems", TRANSACTIONS OF THE SOCIETY OF INSTRUMENT AND CONTROL ENGINEERS, vol. 31, no. 5, 31 May 1995 (1995-05-31), pages 622 - 630, XP055809519, ISSN: 0453- 4654 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047462A1 (ja) * 2021-09-21 2023-03-30 日本電気株式会社 子問題生成装置および子問題生成方法
JP7563619B2 (ja) 2021-09-21 2024-10-08 日本電気株式会社 子問題生成装置および子問題生成方法
WO2023162170A1 (ja) * 2022-02-25 2023-08-31 日本電気株式会社 情報処理装置
WO2023248414A1 (ja) * 2022-06-23 2023-12-28 日本電気株式会社 求解装置、求解方法および求解プログラム
WO2024029540A1 (ja) * 2022-08-05 2024-02-08 学校法人早稲田大学 計算方法、計算システム、及びプログラム

Also Published As

Publication number Publication date
JP7251645B2 (ja) 2023-04-04
US20220335323A1 (en) 2022-10-20
JPWO2021059338A1 (ja) 2021-04-01

Similar Documents

Publication Publication Date Title
WO2021059338A1 (ja) 求解システム、求解方法および求解プログラム
JP7186797B2 (ja) 量子計算のための方法及びシステム
US11836610B2 (en) Concurrent training of functional subnetworks of a neural network
US20220121903A1 (en) Method of performing splitting in neural network model by means of multi-core processor, and related product
US11182157B2 (en) Information processing device, arithmetic device, and information processing method
CN110516810B (zh) 一种量子程序的处理方法、装置、存储介质和电子装置
JP6935356B2 (ja) 半導体装置、情報処理システム、および情報処理方法
JP7007520B6 (ja) 情報処理装置、演算装置、及び情報処理方法
CN112396085B (zh) 识别图像的方法和设备
US6675155B2 (en) Layout method arranging nodes corresponding to LSI elements having a connecting relationship
KR20190041887A (ko) 양자 중첩을 활용한 양자 메모리와 양자 데이터베이스
JP2006195587A (ja) ユニタリ行列分解装置、ユニタリ行列分解方法、ユニタリ行列分解プログラム及び記録媒体
JP2021005242A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
JP7468655B2 (ja) 不整合判定装置、方法、および、プログラム
CN114417543A (zh) 用于优化的设备和方法
JP7420257B2 (ja) 求解システム、求解方法、および、求解プログラム
CN113360188A (zh) 一种用于优化稀疏矩阵-向量乘的并行处理方法及装置
WO2022085133A1 (ja) 求解システムおよび求解方法
WO2021199119A1 (ja) 求解システム、求解方法および求解プログラム
AU2020465147B2 (en) Information processing system and optimal solution search processing method
JP7470019B2 (ja) 情報処理システム
US20230153376A1 (en) Optimization method, information processing device, and information processing system
Sadowski et al. Image completion with nonnegative matrix factorization under separability assumption
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
US20240232290A1 (en) Optimization method and information processing apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19947361

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021548007

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19947361

Country of ref document: EP

Kind code of ref document: A1