Solution-finding device, solution-finding method, and solution-finding program

The solution-finding device employs a chain reaction of neighboring state generation and best state selection to efficiently transition between local solutions, addressing the challenge of prolonged times in finding optimal solutions in combinatorial optimization problems.

JP7729488B2Active Publication Date: 2025-08-26NEC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024528199
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-23
Publication Date
2025-08-26
Estimated Expiration
2042-06-23

AI Technical Summary

Technical Problem

Existing methods for solving combinatorial optimization problems using simulated annealing, such as those described in Patent Documents 1 and 2, face challenges in transitioning from one local solution to another due to constraints, leading to prolonged times in finding optimal solutions.

Method used

A solution-finding device and method that employs simulated annealing with a neighboring state generation process, best state selection, transition determination, and state transition mechanisms to efficiently find optimal solutions by considering multiple neighboring states in a chain reaction.

Benefits of technology

Facilitates quick transitions between local solutions, enabling rapid identification of optimal solutions to combinatorial optimization problems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007729488000003
    Figure 0007729488000003
  • Figure 0007729488000004
    Figure 0007729488000004
  • Figure 0007729488000005
    Figure 0007729488000005
Patent Text Reader

Abstract

A neighboring state generation means 71: obtains a state that is a neighbor of the current state, assuming the state as having transitioned to such state; and then obtains a state that is a neighbor of the assumed transitioned state, and repeats the process of assuming said state as having transitioned to such state. A best state selection means 73 selects as the best state, from among individual states assumed as having transitioned, a state where an evaluation value corresponding to the state becomes maximum or minimum. A transition determination means 74 determines whether or not transition from the current state to the best state is to be made. A state transition means 75, when it has been determined that transition from the current state to the best state is to be made, causes transition from the current state to the best state.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a solution-finding device, a solution-finding method, and a solution-finding program for finding a solution to a combinatorial optimization problem. [Background technology]

[0002] Simulated annealing is sometimes used to find solutions to combinatorial optimization problems. In simulated annealing, the state with the maximum or minimum evaluation value is found, and that state is taken as the solution. In this case, an evaluation value function is given to find the evaluation value. Whether the state with the maximum evaluation value or the state with the minimum evaluation value is found depends on the combinatorial optimization problem.

[0003] Furthermore, when using simulated annealing to find a solution to a combinatorial optimization problem, an Ising model or QUBO (Quadratic Unconstrained Binary Optimization) may be used. In this case, the energy of the Ising model or QUBO corresponds to the above-mentioned evaluation value, and the energy function of the Ising model or QUBO corresponds to the above-mentioned evaluation value function. In order to use consistent terminology, this specification will refer to the energy of the Ising model or QUBO as the evaluation value when using an Ising model or QUBO. Also, the energy function of the Ising model or QUBO will be referred to as the evaluation value function. However, when performing simulated annealing using an Ising model or QUBO, the state in which the evaluation value (energy) is minimized is found as the solution.

[0004] The Ising model is a statistical mechanical model that describes the behavior of magnetic materials using individual spins, but it can also be applied to solving combinatorial optimization problems. In the Ising model, the value of each spin is represented as "1" or "-1."

[0005] The evaluation value function (energy function) in the Ising model is expressed as the following formula (1).

[0006]

number

[0007] In equation (1), i and j are variables that represent spin. i is a variable that represents the value of spin i, and s j is a variable that represents the value of spin j. The values ​​of spin i and j are either "1" or "-1". h in Eq. (1) i is a constant corresponding to spin i. For each possible value of i, h i is defined as a constant. ij is a constant corresponding to the combination of spin i and spin j. For each combination of possible values ​​of i and possible values ​​of j, J ij is defined as a constant.

[0008] QUBO is a model in which the value of each spin is represented as either "1" or "0."

[0009] The evaluation value function (energy function) in QUBO is expressed as the following equation (2).

[0010]

number

[0011] In equation (2), i and j are variables that represent spin. i is a variable that represents the value of spin i, and s j is a variable that represents the value of spin j. The values ​​of spin i and j are either "1" or "0". Q in Equation (2) ij is a constant corresponding to the combination of spin i and spin j. For each combination of possible values ​​of i and possible values ​​of j, Q ij is defined as a constant.

[0012] The evaluation value function (energy function) of the Ising model or QUBO is input to a solver that performs simulated annealing, which determines the state of each spin that corresponds to the solution of the combinatorial optimization problem.

[0013] Patent Document 1 describes simulated annealing that does not use the Ising model or QUBO. However, Patent Document 1 uses the terms energy and energy function. In the technology described in Patent Document 1, the state variable X + ΔX is calculated while incrementing the subscript i. i In the technology described in Patent Document 1, the state variable X + ΔX that has the smallest energy value is calculated. i and performs a transition determination for that state variable.

[0014] That is, the technique described in Patent Document 1 finds each of a plurality of states to which the current state can transition, and determines whether or not to transition to the state with the smallest energy among them.

[0015] Furthermore, Patent Document 2 describes that when a spin is selected, if the set to which the spin belongs satisfies a predetermined constraint for the set and it is decided to change the value of the spin, the value of one or more spins including the selected spin is changed so that the set maintains a state in which it satisfies the constraint. [Prior art documents] [Patent documents]

[0016] [Patent Document 1] Japanese Patent Application Publication No. 7-200517 [Patent Document 2] International Publication No. 2021 / 059338 Summary of the Invention [Problem to be solved by the invention]

[0017] As described above, the technology described in Patent Document 1 determines multiple states to which the current state can transition, and determines whether or not to transition to the state with the lowest energy. Figure 8 is a schematic diagram showing an example of the current state and multiple states to which the current state can transition when QUBO is applied to the technology described in Patent Document 1. In the example shown in Figure 8, there are four spins. A constraint is defined for the four spins: "Only one spin has a value of 1, and all other spins have values ​​of 0." Hereinafter, this constraint will be referred to as the one-hot constraint. For simplicity, Figure 8 illustrates a case in which the current state satisfies the one-hot constraint. When QUBO is applied to the technology described in Patent Document 1, as shown in Figure 8, multiple states to which the current state can transition are determined, and the state with the smallest evaluation value (energy) is selected from the multiple states. Then, it is determined whether or not to transition from the current state to the selected state. However, in the example shown in Figure 8, none of the states to which the current state can transition satisfies the one-hot constraint, and the evaluation value of each state is greater than the current evaluation value. Therefore, it is difficult to transition from one local solution to another, and as a result, it takes a long time to derive the optimal solution.

[0018] FIG. 9 is a schematic diagram showing an example of the current state and the next state that can be transitioned from that state in the technology described in Patent Document 2. In this example, there are 16 spins arranged in 4 rows and 4 columns. A one-hot constraint is defined for each row and column. Furthermore, in the current state, the one-hot constraint is satisfied for all rows and all columns (see FIG. 9). A spin in the first row and first column in the current state is selected, and its value, "1," is changed to "0." At this time, the value of the spin in the first row and third column, for example, is also changed from "0" to "1" so that the pair of spins in the first row to which the selected spin belongs maintains a state in which the one-hot constraint is satisfied. In this case, by changing the values ​​of the two spins in the first row, the pair of spins in the first row maintains a state in which the one-hot constraint is satisfied. However, the pair of spins in the first column and the pair of spins in the third column no longer satisfy the one-hot constraint. Therefore, the evaluation value of the next state after the current state is greater than the evaluation value of the current state. This makes it difficult to transition from one local solution to another, and as a result, it takes a long time to derive the optimal solution.

[0019] Therefore, an object of the present invention is to provide a solution-finding device, a solution-finding method, and a solution-finding program that are capable of quickly finding an optimal solution to a combinatorial optimization problem. [Means for solving the problem]

[0020] The solution-finding device according to the present invention is a solution-finding device that finds a state corresponding to a solution to a combinatorial optimization problem by performing simulated annealing, and is characterized by comprising: a neighboring state generation means that finds a state that is neighboring the current state, considers it to have transitioned to that state, and then repeatedly finds a state that is neighboring the state that has been considered to have transitioned to, and considers it to have transitioned to a state that is neighboring the state that has been considered to have transitioned to; a best state selection means that selects, from the individual states that have been considered to have transitioned to, the state that has the maximum or minimum evaluation value corresponding to the state as the best state; a transition determination means that determines whether to transition from the current state to the best state; and a state transition means that transitions the current state to the best state when it is determined that the current state should be transitioned to the best state.

[0021] The solution method according to the present invention is a solution method in which a computer executes simulated annealing to find a state corresponding to a solution to a combinatorial optimization problem, and is characterized in that the computer executes a neighboring state generation process to find a state that is neighboring the current state, considers the state to have transitioned to that state, and then repeats this process of finding a state that is neighboring the state to which it has transitioned, and considers the state to have transitioned to a state that is neighboring the state to which it has transitioned; executes a best state selection process to select, from the individual states to which it has transitioned, the state with the maximum or minimum corresponding evaluation value as the best state; executes a transition determination process to determine whether to transition from the current state to the best state; and, if it is determined that the current state should be transitioned to the best state, executes a state transition process to transition the current state to the best state.

[0022] A solution-finding program according to the present invention is a solution-finding program that causes a computer to execute simulated annealing to find a state corresponding to a solution to a combinatorial optimization problem, and causes the computer to execute a neighboring state generation process of finding a state neighboring a current state, regarding it as a transition to that state, then finding a state neighboring the state considered to have transitioned to, and regarding it as a transition to a state neighboring the considered transitioned state, a best-state selection process of selecting, from each of the states considered to have transitioned to, the state whose corresponding evaluation value is maximum or minimum as the best state, a transition determination process of determining whether to transition from the current state to the best state, and a state transition process of transitioning the current state to the best state when it is determined that the current state should be transitioned to the best state.The present invention may also be a computer-readable recording medium having the solution-finding program recorded thereon. [Effects of the Invention]

[0023] According to the present invention, an optimal solution to a combinatorial optimization problem can be found quickly. [Brief explanation of the drawings]

[0024] [Figure 1] 1 is a block diagram showing an example of the configuration of a solution finding device according to a first embodiment of the present invention. [Figure 2] FIG. 10 is a schematic diagram showing an example of a current state and a plurality of neighboring states obtained in a chain reaction. [Figure 3] FIG. 10 is a schematic diagram showing another example of a current state and a plurality of neighboring states obtained in a chain reaction. [Figure 4] 4 is a flowchart showing an example of a processing progress of the first embodiment of the present invention. [Figure 5] 10A and 10B are schematic diagrams showing an example of a current state and a plurality of neighboring states obtained in a chain reaction in the second embodiment. [Figure 6] FIG. 1 is a schematic block diagram showing an example of the configuration of a computer related to a solution-finding device according to each embodiment of the present invention. [Figure 7]1 is a block diagram showing an overview of a solution-finding device of the present invention; [Figure 8] FIG. 1 is a schematic diagram showing an example of the current state when QUBO is applied to the technology described in Patent Document 1, and multiple states that can be transitioned from the current state. [Figure 9] 1 is a schematic diagram showing an example of a current state and a next state to which the state can transition in the technology described in Patent Document 2. FIG. DETAILED DESCRIPTION OF THE INVENTION

[0025] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0026] The following describes an example in which QUBO is applied to simulated annealing. In this case, the QUBO evaluation value function (energy function) is input to the solution-finding device of the present invention. The solution-finding device of the present invention then executes simulated annealing to find a state corresponding to the solution of the combinatorial optimization problem.

[0027] Embodiment 1. 1 is a block diagram showing an example of the configuration of a solution-finding device according to a first embodiment of the present invention. The solution-finding device 10 according to the first embodiment includes a neighborhood state generation unit 1, an evaluation value calculation unit 2, a best state selection unit 3, a transition determination unit 4, a state transition unit 5, and a temperature control unit 6.

[0028] The neighboring state generation unit 1 finds a state that is neighboring the current state and considers it to have transitioned to that state. After that, the neighboring state generation unit 1 further finds a state that is neighboring the state that has been considered to have transitioned to, and repeats the process of considering it to have transitioned to a state that is neighboring the state that has been considered to have transitioned to.

[0029] More specifically, the neighborhood state generation unit 1 obtains a state that is neighborhood of the current state by changing the values ​​of some spins from the current state, and regards the state as having transitioned to that state. After that, the neighborhood state generation unit 1 further obtains a state that is neighborhood of the state that is considered to have transitioned to by changing the values ​​of some spins from the state that is considered to have transitioned to, and repeats this process of considering the state to have transitioned to be neighborhood of the state that is considered to have transitioned to.

[0030] A state that is a partial change of the previous state is called a neighboring state of the previous state. Each state that is considered to have transitioned is a neighboring state of the previous state.

[0031] In this embodiment, a state that is adjacent to the state that is considered to have transitioned is found, and the number of times that the process of considering the state that is adjacent to the state that is considered to have transitioned is repeated is assumed to be a fixed value. Therefore, in this embodiment, the first to predetermined number of adjacent states are obtained. The adjacent state generation unit 1 finds each of the first to predetermined number of adjacent states in a chain reaction.

[0032] Figure 2 is a schematic diagram showing an example of the current state and multiple neighboring states obtained in a chain reaction. Figure 2 illustrates a case where a state is represented by four spins. It is also assumed that a one-hot constraint is set for the state represented by the four spins.

[0033] In this example, the neighborhood state generation unit 1 changes the value of one spin when determining a neighborhood state of a certain state. The neighborhood state generation unit 1 may randomly select the spin whose value is to be changed. Also, in this example, the neighborhood state generation unit 1 determines each of the neighborhood states from the first to the fourth in a chain (see FIG. 2).

[0034] In the example shown in FIG. 2, the current state satisfies the one-hot constraint, but the current state does not necessarily have to satisfy the one-hot constraint.

[0035] Furthermore, the neighborhood state generation unit 1 may select one spin whose value changes so as to satisfy the specified constraint (in this example, the one-hot constraint) as much as possible. In this case, in the process of obtaining the final neighborhood state (in this example, the fourth neighborhood state), it may be considered that a transition has occurred from a neighborhood state in which the constraint is satisfied to a neighborhood state in which the constraint is not satisfied. FIG. 3 is a schematic diagram showing another example of the current state and multiple neighborhood states obtained in a chain reaction. In the example shown in FIG. 3, a neighborhood state that satisfies the one-hot constraint is obtained as the second neighborhood state. Then, in the third neighborhood state, the one-hot constraint is no longer satisfied.

[0036] Figure 2 shows a case where a neighboring state (the fourth neighboring state) that satisfies the one-hot constraint is obtained. Figure 3 also shows a case where neighboring states (the second and fourth neighboring states) that satisfy the one-hot constraint are obtained. However, it is possible that none of the neighboring states satisfies the specified constraint.

[0037] The evaluation value calculation unit 2 calculates an evaluation value (energy) corresponding to each of the neighboring states (each state considered to have transitioned). The evaluation value calculation unit 2 calculates the evaluation value by substituting the value of each spin in the neighboring state into the evaluation value function (energy function) of the given QUBO.

[0038] The best state selection unit 3 selects, from among the individual neighboring states (individual states considered to have transitioned), the neighboring state for which the evaluation value corresponding to the neighboring state is smallest, as the best state. In the example shown in FIG. 2, the fourth neighboring state satisfies the one-hot constraint. Therefore, among the four neighboring states shown in FIG. 2, the fourth neighboring state is considered to have the smallest energy. Therefore, in this example, the energy of the fourth neighboring state is assumed to be the smallest. In this case, the best state selection unit 3 selects the fourth neighboring state shown in FIG. 2 as the best state. Furthermore, even if none of the neighboring states satisfies the one-hot constraint, the best state selection unit 3 selects, from among the individual neighboring states, the neighboring state for which the evaluation value corresponding to the neighboring state is smallest, as the best state.

[0039] The transition determination unit 4 determines whether or not to transition from the current state (see FIG. 2) to the best state selected by the best state selection unit 3. The transition determination unit 4 calculates a transition probability based on the difference between the evaluation value of the current state and the evaluation value of the best state, and the temperature in simulated annealing. Then, based on the transition probability, the transition determination unit 4 determines whether or not to transition from the current state to the best state.

[0040] When it is determined that the current state should be transitioned to the best state, the state transition unit 5 transitions the current state to the best state. This operation changes the current state.

[0041] The temperature control unit 6 changes the temperature in the simulated annealing in accordance with the number of loop processes in the simulated annealing. More specifically, the temperature control unit 6 decreases the temperature as the number of loop processes in the simulated annealing increases.

[0042] The neighborhood state generation unit 1, evaluation value calculation unit 2, best state selection unit 3, transition determination unit 4, state transition unit 5, and temperature control unit 6 are realized, for example, by a central processing unit (CPU) of a computer that operates according to a solution-seeking program. For example, the CPU may read the solution-seeking program from a program recording medium such as a program storage device of the computer, and operate as the neighborhood state generation unit 1, evaluation value calculation unit 2, best state selection unit 3, transition determination unit 4, state transition unit 5, and temperature control unit 6 according to the solution-seeking program.

[0043] Next, the process flow will be described. Fig. 4 is a flowchart showing an example of the process flow of this embodiment. Detailed explanations of matters that have already been explained will be omitted. It is assumed that the QUBO evaluation value function (energy function) has been input in advance to the solution-finding device 10. Also, in this example, as in the example shown in Fig. 2, an example is taken of a case where the first to fourth neighboring states are found, but the last neighboring state is not limited to the fourth neighboring state.

[0044] First, the temperature control unit 6 sets the temperature in simulated annealing to an initial value (step S1).

[0045] Next, the neighborhood state generating unit 1 initializes the value of k to 1 (step S2). k is a variable indicating the ordinal number of the neighborhood state to be generated.

[0046] Next, the neighborhood state generation unit 1 obtains the k-th neighborhood state and considers that a transition has occurred to that neighborhood state (step S3). When step S3 is executed for the first time, k=1. Therefore, the neighborhood state generation unit 1 obtains a neighborhood state of the current state (the first neighborhood state) by changing the values ​​of some of the spins from the current state, and considers that a transition has occurred to that neighborhood state.

[0047] Next, the evaluation value calculation unit 2 calculates the evaluation value of the k-th neighboring state obtained in the most recent step S3 (step S4).

[0048] Then, the neighborhood state generating unit 1 determines whether or not up to the fourth neighborhood state has been obtained (step S5).

[0049] If the fourth neighborhood state has not been obtained (No in step S5), the neighborhood state generation unit 1 increments the value of k by 1 (step S6).

[0050] After step S6, the processes from step S3 onwards are repeated. In the process of step S3 from the second time onwards, the values ​​of some of the spins in the (k-1)th neighbor state are changed to obtain a neighbor state (k-th neighbor state) of the "k-1th neighbor state", and it is considered that a transition has occurred to that neighbor state.

[0051] If up to the fourth neighboring state have been obtained (Yes in step S5), the best state selection unit 3 selects the best state from the first to fourth neighboring states (step S7). That is, the best state selection unit 3 selects the neighboring state with the smallest evaluation value from the first to fourth neighboring states as the best state.

[0052] After step S7, the transition determination unit 4 calculates a transition probability based on the difference between the evaluation value of the current state and the evaluation value of the best state selected in step S7, and the temperature in simulated annealing (step S8).Then, based on the transition probability, the transition determination unit 4 determines whether to transition from the current state to the best state (step S9).

[0053] If it is determined that the current state should be transitioned to the best state (Yes in step S9), the state transition unit 5 transitions the current state to the best state (step S10). The current state is changed by step S10.

[0054] After step S10, the process proceeds to step S11. If it is determined that the current state should not be transitioned to the best state (No in step S9), the process proceeds to step S11 without executing step S10.

[0055] In step S11, the temperature control unit 6 decreases the temperature in the simulated annealing by a predetermined value.

[0056] The loop process of steps S2 to S11 is the loop process in simulated annealing. For example, the state obtained when this loop process is executed a predetermined number of times may be the state corresponding to the solution to the combinatorial optimization problem.

[0057] In this embodiment, the neighborhood state generation unit 1 finds a state that is neighboring the current state and considers the state to have transitioned to that state. Then, the neighborhood state generation unit 1 finds a state that is neighboring the state to which the transition was considered to have occurred, and repeats this process of considering the state to be neighboring the state to which the transition was considered to have occurred. That is, the neighborhood state generation unit 1 finds neighboring states in a chain reaction starting from the current state. The best state selection unit 3 then selects the best state from each of the obtained neighboring states. The transition determination unit 4 then determines whether or not to transition the current state to the best state. If it is determined that the current state should be transitioned to the best state, the state transition unit 5 transitions the current state to the best state. Therefore, the best state is selected not only from neighboring states of the current state, but also from multiple neighboring states found in a chain reaction starting from the current state. Therefore, in this embodiment, transition from a local solution to another local solution is facilitated, and an optimal solution to a combinatorial optimization problem can be found quickly.

[0058] Embodiment 2. An example of the configuration of a solution-finding device according to a second embodiment of the present invention can be expressed in the same way as in Fig. 1. Therefore, the second embodiment will be described with reference to Fig. 1. Also, the second embodiment will be described using an example in which QUBO is applied. Furthermore, explanations of matters similar to those in the first embodiment will be omitted.

[0059] The second embodiment is an embodiment to which a technique similar to that of Patent Document 2 is applied.

[0060] In this embodiment, a state in which spin values ​​are arranged in 4 rows and 4 columns will be described as an example. A one-hot constraint is predefined for each set of spins in each row. Similarly, a one-hot constraint is predefined for each set of spins in each column. In other words, a one-hot constraint is predefined for eight sets.

[0061] As in the first embodiment, the neighborhood state generation unit 1 obtains a state that is a neighborhood of the current state by changing the values ​​of some spins from the current state, and considers the state to have transitioned to that state. Thereafter, the neighborhood state generation unit 1 further obtains a state that is a neighborhood of the state that is considered to have transitioned to by changing the values ​​of some spins from the state that is considered to have transitioned to, and repeats this process of considering the state to be a neighborhood of the state that is considered to have transitioned to. As in the first embodiment, the number of times that the process of obtaining a state that is a neighborhood of the state that is considered to have transitioned to and considering the state to be a neighborhood of the state that is considered to have transitioned to is repeated is a fixed value. Therefore, neighborhood states from the first to the predetermined number are obtained.

[0062] However, when determining a neighboring state, the neighborhood state generation unit 1 selects a spin and selects a set to which the spin belongs. If there are multiple sets to which the selected spin belongs, the neighborhood state generation unit 1 selects one set from among the multiple sets. If the selected set satisfies a predetermined constraint, the neighborhood state generation unit 1 changes the values ​​of one or more spins including the selected spin so that the set maintains a state in which the constraint is satisfied.

[0063] Furthermore, when determining a neighboring state, if there is a pair of spins for which constraints are not satisfied, the neighboring state generation unit 1 selects a spin and changes the value of that spin so that the pair approaches a state that satisfies the constraints.

[0064] Fig. 5 is a schematic diagram showing an example of a current state and a plurality of neighboring states obtained in a chain reaction in the second embodiment. In the example shown in Fig. 5, the current state satisfies all constraints (eight one-hot constraints), but some or all of the one-hot constraints may not be satisfied in the current state. Fig. 5 also shows an example of obtaining the first to fifth neighboring states. However, there is no particular limitation on how many neighboring states are obtained.

[0065] When the neighborhood state generation unit 1 determines the neighborhood state of the current state (first neighborhood state), it selects the spin in the first row, first column, and selects the pair of spins in the first row as the pair to which the spin belongs. Since the pair of spins in the first row satisfies the one-hot constraint, the neighborhood state generation unit 1 changes the value of the spin in the first row, first column and the value of the spin in the first row, third column, so that the pair of spins in the first row maintains a state in which the one-hot constraint is satisfied. As a result, the neighborhood state generation unit 1 obtains the first neighborhood state and considers that a transition has occurred to that neighborhood state (see Figure 5).

[0066] In the first neighborhood state, the spin pair in the first column is in a state where the one-hot constraint is not satisfied. The neighborhood state generation unit 1 selects, for example, the spin in the third row and first column and changes the value of that spin so that the spin pair in the first column approaches a state where the one-hot constraint is satisfied. As a result, the neighborhood state generation unit 1 obtains the second neighborhood state and considers that a transition has occurred to that neighborhood state (see Figure 5).

[0067] In the second neighborhood state, the spin pair in the third column does not satisfy the one-hot constraint. The neighborhood state generation unit 1 selects, for example, the spin in the second row and third column and changes the value of that spin so that the spin pair in the third column approaches a state in which the one-hot constraint is satisfied. As a result, the neighborhood state generation unit 1 obtains the third neighborhood state and considers that a transition has occurred to that neighborhood state (see Figure 5).

[0068] In the third neighborhood state, the spin pair in the second row is in a state where the one-hot constraint is not satisfied. The neighborhood state generation unit 1 selects, for example, a spin in the second row and second column and changes the value of that spin so that the spin pair in the second row approaches a state where the one-hot constraint is satisfied. As a result, the neighborhood state generation unit 1 obtains the fourth neighborhood state and considers that a transition has occurred to that neighborhood state (see Figure 5).

[0069] In the fourth neighborhood state, the pair of spins in the second column is in a state where the one-hot constraint is not satisfied. The neighborhood state generation unit 1 selects, for example, the spin in the third row and second column and changes the value of that spin so that the pair of spins in the second column approaches a state where the one-hot constraint is satisfied. As a result, the neighborhood state generation unit 1 obtains the fifth neighborhood state and considers that a transition has occurred to that neighborhood state (see Figure 5).

[0070] The fifth neighboring state satisfies all constraints (eight one-hot constraints). However, it is not necessary for the first to fifth neighboring states to include a neighboring state that satisfies all constraints.

[0071] Also, as in this example, when there are multiple constraints, the neighborhood state generation unit 1 determines the neighborhood state. In this case, the neighborhood state generation unit 1 may select a spin whose value is changed so as to maximize the number of satisfied constraints.

[0072] Furthermore, in the process of determining the final neighborhood state (in this example, the fifth neighborhood state), it may be considered that a transition has occurred from a neighborhood state in which all constraints are satisfied to a neighborhood state in which constraints are not satisfied in at least some pairs.

[0073] The operations of the evaluation value calculation unit 2, best state selection unit 3, transition determination unit 4, state transition unit 5 and temperature control unit 6 are similar to those of the evaluation value calculation unit 2, best state selection unit 3, transition determination unit 4, state transition unit 5 and temperature control unit 6 in the first embodiment, and therefore will not be described again.

[0074] In the second embodiment, the best state is also selected from among multiple neighboring states that are found in a chain reaction starting from the current state. Therefore, in this embodiment, it is easy to transition from one local solution to another, and an optimal solution to a combinatorial optimization problem can be found quickly.

[0075] Next, modifications of the embodiments of the present invention will be described.

[0076] In the first and second embodiments, the case where QUBO is applied has been described, but the Ising model may also be applied. In this case, an evaluation value function (energy function) of the Ising model is input to the solution finding device 10 of the present invention. Then, the evaluation value calculation unit 2 uses the evaluation value function to calculate an evaluation value corresponding to each of the individual neighborhood states.

[0077] Furthermore, in the first and second embodiments, QUBO or the Ising model does not have to be applied. In this case, an evaluation value function other than the energy function of QUBO or the Ising model is input to the solution finding device 10 of the present invention. When QUBO or the Ising model is not applied, simulated annealing finds the state with the maximum or minimum evaluation value as the optimal solution. As described above, whether to find the state with the maximum evaluation value or the state with the minimum evaluation value depends on the combinatorial optimization problem.

[0078] When determining the state with the maximum evaluation value, the best state selection unit 3 selects, from among the individual neighboring states (individual states that are considered to have transitioned), the neighboring state with the maximum evaluation value corresponding to the neighboring state as the best state.

[0079] Furthermore, when determining the state with the smallest evaluation value, the best state selection unit 3 selects, from among the individual neighboring states (individual states that are considered to have transitioned), the neighboring state with the smallest evaluation value corresponding to the neighboring state as the best state.

[0080] In the first and second embodiments, an example has been described in which the number of times (hereinafter referred to as the number of iterations) to repeat the process of determining a state that is close to the state that is considered to have transitioned and determining that state to be close to the state that is considered to have transitioned is a fixed value. In the simulated annealing process, the neighborhood state generation unit 1 may change the number of iterations. That is, the neighborhood state generation unit 1 may change the number of neighborhood states to be determined from the first to the third, in the simulated annealing process.

[0081] For example, the neighborhood state generation unit 1 may change the number of iterations based on the temperature in simulated annealing. For example, the neighborhood state generation unit 1 may increase the number of iterations when the temperature in simulated annealing becomes equal to or lower than a threshold value (a threshold value to be compared with the temperature).

[0082] Furthermore, for example, the neighborhood state generation unit 1 may change the number of iterations based on the number of loop processes in simulated annealing (for example, the loop processes of steps S2 to S11 shown in FIG. 4). For example, the neighborhood state generation unit 1 may increase the number of iterations when the number of loop processes becomes equal to or greater than a threshold value (a threshold value that is compared with the number of loop processes).

[0083] Furthermore, for example, the neighborhood state generation unit 1 may change the number of repetitions based on the ratio (hereinafter referred to as acceptance rate) of the number of times it has been determined that the current state should be transitioned to the best state (for example, the number of times the process has shifted from step S9 to step S10) to ... it has been determined that the process has shifted from step S9 to step S10) to the number of times it has been determined that the process has shifted to the best state (for example, the number of times it has been determined that the process has shifted to step S9). For example, the neighborhood state generation unit 1 may increase the number of repetitions when the number of times the acceptance rate has fallen below a threshold (a threshold compared with the acceptance rate).

[0084] In addition, in the first embodiment, the neighborhood state generation unit 1 may continue the repetitive process of finding a state that is neighborhood of the state that is considered to have transitioned until it is considered to have transitioned to a neighborhood state in which the constraints are satisfied, and considering that a transition has occurred to a state that is neighborhood of the state that is considered to have transitioned to.

[0085] In the second embodiment, the neighborhood state generation unit 1 may continue the repetitive process of finding a state that is neighborhood of the state that is considered to have transitioned, and considering the state to be neighborhood of the state that is considered to have transitioned, until it considers that the state has transitioned to a neighborhood state in which all of the multiple constraints are satisfied.

[0086] 6 is a schematic block diagram showing an example of the configuration of a computer related to the solution finding device 10 of each embodiment of the present invention. The computer 1000 includes a CPU 1001, a main memory device 1002, an auxiliary memory device 1003, and an interface 1004.

[0087] The solution-finding device 10 of each embodiment of the present invention is realized by a computer 1000. The operation of the solution-finding device 10 is stored in the form of a solution-finding program in an auxiliary storage device 1003. A CPU 1001 reads the solution-finding program from the auxiliary storage device 1003, loads the solution-finding program into a main storage device 1002, and executes the processing described in each of the above embodiments in accordance with the solution-finding program.

[0088] The auxiliary storage device 1003 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), and a semiconductor memory connected via the interface 1004. In addition, when a program is distributed to the computer 1000 via a communication line, the computer 1000 that receives the program may load the program into the main storage device 1002 and execute the processing described in each of the above embodiments in accordance with the program.

[0089] Furthermore, some or all of the components may be realized by general-purpose or dedicated circuits, processors, etc., or a combination of these. These may be configured by a single chip, or by multiple chips connected via a bus. Some or all of the components may be realized by a combination of the above-mentioned circuits, etc., and a program.

[0090] When some or all of the components are realized by multiple information processing devices, circuits, etc., the multiple information processing devices, circuits, etc. may be centrally or decentralized. For example, the information processing devices, circuits, etc. may be realized as a client-server system, a cloud computing system, or the like, in which they are connected via a communication network.

[0091] Next, an overview of the present invention will be described. Fig. 7 is a block diagram showing an overview of the solution-finding device of the present invention. The solution-finding device of the present invention comprises a neighborhood state generation means 71, a best state selection means 73, a transition determination means 74, and a state transition means 75.

[0092] The neighboring state generation means 71 (e.g., the neighboring state generation unit 1) finds a state that is neighboring the current state, considers that a transition has occurred to that state, and then finds a state that is neighboring the state that has been considered to have been transitioned to, and considers that a transition has occurred to a state that is neighboring the state that has been considered to have been transitioned to, and repeats this process.

[0093] The best state selection means 73 (for example, the best state selection unit 3) selects, from among the individual states that are considered to have transitioned, the state that has the maximum or minimum evaluation value corresponding to the state as the best state.

[0094] The transition determination means 74 (for example, the transition determination unit 4) determines whether or not to transition from the current state to the best state.

[0095] When it is determined that the current state should be transitioned to the best state, the state transition means 75 (for example, the state transition unit 5) transitions the current state to the best state.

[0096] Such a configuration makes it possible to quickly find an optimal solution to a combinatorial optimization problem.

[0097] The above-described embodiments of the present invention and their modifications can also be described as in the following supplementary notes, but are not limited to the following.

[0098] (Appendix 1) A solution-finding device that finds a state corresponding to a solution to a combinatorial optimization problem by performing simulated annealing, comprising: a neighboring state generating means for repeatedly determining a state that is neighboring to the current state, determining that a transition has occurred to the state, and then determining a state that is neighboring to the state that has been determined to have been transitioned to, and determining that a transition has occurred to the state that is neighboring to the state that has been determined to have been transitioned to; best state selection means for selecting, from among the states that are considered to have transitioned, a state that has the maximum or minimum evaluation value as the best state; transition determination means for determining whether or not to transition from the current state to the best state; a state transition means for transitioning the current state to the best state when it is determined that the current state should be transitioned to the best state; A solution-finding device characterized by:

[0099] (Appendix 2) The evaluation value of the Ising model or the evaluation value of QUBO (Quadratic Unconstrained Binary Optimization) is used. The best state selection means From among the individual states that are considered to have transitioned, the state with the smallest corresponding evaluation value is selected as the best state. 2. The solver of claim 1.

[0100] (Appendix 3) The neighborhood state generating means A state close to the current state is found by changing the values ​​of some spins from the current state, and it is considered that a transition has occurred to the state. Thereafter, a state close to the state considered to have been transitioned to is found by changing the values ​​of some spins from the state considered to have been transitioned to, and it is considered that a transition has occurred to the state close to the state considered to have been transitioned to. This is repeated. 3. The solver of claim 2.

[0101] (Appendix 4) The neighborhood state generating means When determining a neighboring state, a spin is selected, and a set to which the spin belongs is selected; If the set satisfies a predetermined constraint, the value of one or more spins including the spin is changed so that the set maintains a state in which the constraint is satisfied. 4. The solver of claim 3.

[0102] (Appendix 5) The neighborhood state generating means When determining a neighboring state, if there is a set of spins for which the constraints are not satisfied, a spin is selected and the value of the spin is changed so that the set approaches a state that satisfies the constraints. 5. The solver of claim 4.

[0103] (Appendix 6) The neighborhood state generating means A state that is close to the state that is considered to have transitioned is obtained, and the number of times that the process of considering the state that is close to the state that is considered to have transitioned is repeated is changed based on the temperature in simulated annealing. 6. A solution-finding device according to any one of appendixes 1 to 5.

[0104] (Appendix 7) The neighborhood state generating means A state that is close to the state that is considered to have transitioned is obtained, and the number of times that the process of considering the state that is close to the state that is considered to have transitioned is repeated is changed based on the number of loop processes in simulated annealing. 6. A solution-finding device according to any one of appendixes 1 to 5.

[0105] (Appendix 8) The neighborhood state generating means A state close to the state that has been deemed to have transitioned is found, and the number of times that the process of regarding the state that has been deemed to have transitioned as a state close to the state that has been deemed to have transitioned is changed based on the ratio of the number of times that it has been determined that the current state will be transitioned to the best state to the number of times that it has been determined by the transition determination means. 6. A solution-finding device according to any one of appendixes 1 to 5.

[0106] (Appendix 9) A method for finding a state corresponding to a solution to a combinatorial optimization problem by a computer executing simulated annealing, comprising the steps of: The computer A neighboring state generation process is executed to repeatedly obtain a state that is neighboring the current state, to consider that a transition has occurred to the state, to obtain a state that is neighboring the state that has been considered to have been transitioned to, and to consider that a transition has occurred to the state that is neighboring the state that has been considered to have been transitioned to; A best state selection process is performed to select, from among the states that are considered to have transitioned, a state that has the maximum or minimum evaluation value as the best state; execute a transition determination process to determine whether or not to transition from the current state to the best state; When it is determined that the current state should be transitioned to the best state, a state transition process is executed to transition the current state to the best state. A method for solving a problem.

[0107] (Appendix 10) The evaluation value of the Ising model or the evaluation value of QUBO (Quadratic Unconstrained Binary Optimization) is used. The computer, in the best state selection process, From among the individual states that are considered to have transitioned, the state with the smallest corresponding evaluation value is selected as the best state. The solution method described in Appendix 9.

[0108] (Appendix 11) A computer-readable recording medium having recorded thereon a solution-finding program that causes a computer to execute simulated annealing to find a state corresponding to a solution to a combinatorial optimization problem, the computer-readable recording medium comprising: The computer, A neighboring state generation process in which a state that is neighboring the current state is found, a transition to the state is considered to have occurred, and then a state that is neighboring the state that is considered to have occurred is found, and a transition to the state that is neighboring the state that is considered to have occurred is considered to have occurred; a best state selection process for selecting, from among the individual states that have been considered to have transitioned, the state with the maximum or minimum evaluation value corresponding to the state as the best state; a transition determination process for determining whether or not to transition from the current state to the best state; and a state transition process for transitioning the current state to the best state when it is determined that the current state should be transitioned to the best state; A computer-readable recording medium that records a solution-finding program for executing the above.

[0109] (Appendix 12) The evaluation value of the Ising model or the evaluation value of QUBO (Quadratic Unconstrained Binary Optimization) is used. To the computer In the best state selection process, From among the individual states that are considered to have transitioned, the state with the smallest corresponding evaluation value is selected as the best state. 12. A computer-readable recording medium according to claim 11, having a solution-finding program recorded thereon.

[0110] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0111] The present invention is suitably applied to a solution-finding device that finds a solution to a combinatorial optimization problem. [Explanation of symbols]

[0112] 1 Neighborhood state generation unit 2 Evaluation value calculation section 3 Best state selection section 4 Transition judgment section 5 State transition section 6 Temperature control unit 10 Solving device

Claims

1. A solution-finding device that finds a state corresponding to a solution to a combinatorial optimization problem by performing simulated annealing, comprising: a neighboring state generating means for repeatedly determining a state that is neighboring to the current state, determining that a transition has occurred to the state, and then determining a state that is neighboring to the state that has been determined to have been transitioned to, and determining that a transition has occurred to the state that is neighboring to the state that has been determined to have been transitioned to; best state selection means for selecting, from among the states that are considered to have transitioned, a state that has the maximum or minimum evaluation value as the best state; transition determination means for determining whether or not to transition from the current state to the best state; a state transition means for transitioning the current state to the best state when it is determined that the current state should be transitioned to the best state; A solution-finding device characterized by:

2. The evaluation value of the Ising model or the evaluation value of QUBO (Quadratic Unconstrained Binary Optimization) is used, The best state selection means From among the individual states that are considered to have transitioned, the state with the smallest corresponding evaluation value is selected as the best state. The solution-finding apparatus according to claim 1 .

3. The neighborhood state generating means A state close to the current state is found by changing the values ​​of some spins from the current state, and it is considered that a transition has occurred to the state. Thereafter, a state close to the state considered to have been transitioned to is found by changing the values ​​of some spins from the state considered to have been transitioned to, and it is considered that a transition has occurred to the state close to the state considered to have been transitioned to. This is repeated. The solution-finding apparatus according to claim 2 .

4. The neighborhood state generating means When determining a neighboring state, a spin is selected, and a set to which the spin belongs is selected; If the set satisfies a predetermined constraint, the value of one or more spins including the spin is changed so that the set maintains a state in which the constraint is satisfied. The solution-finding apparatus according to claim 3 .

5. The neighborhood state generating means When determining a neighboring state, if there is a set of spins for which the constraints are not satisfied, a spin is selected and the value of the spin is changed so that the set approaches a state that satisfies the constraints. The solution-finding apparatus according to claim 4.

6. The neighborhood state generating means A state that is close to the state that is considered to have transitioned is obtained, and the number of times that the process of considering the state that is close to the state that is considered to have transitioned is repeated is changed based on the temperature in simulated annealing. The solution-finding apparatus according to any one of claims 1 to 5.

7. The neighborhood state generating means A state that is close to the state that is considered to have transitioned is obtained, and the number of times that the process of considering the state that is close to the state that is considered to have transitioned is repeated is changed based on the number of loop processes in simulated annealing. The solution-finding apparatus according to any one of claims 1 to 5.

8. The neighborhood state generating means A state close to the state that has been deemed to have transitioned is found, and the number of times that the process of regarding the state that has been deemed to have transitioned as a state close to the state that has been deemed to have transitioned is changed based on the ratio of the number of times that it has been determined that the current state will be transitioned to the best state to the number of times that it has been determined by the transition determination means. The solution-finding apparatus according to any one of claims 1 to 5.

9. A method for finding a state corresponding to a solution to a combinatorial optimization problem by a computer executing simulated annealing, comprising the steps of: The computer A neighboring state generation process is executed to repeatedly obtain a state that is neighboring the current state, to consider that a transition has occurred to the state, to obtain a state that is neighboring the state that has been considered to have been transitioned to, and to consider that a transition has occurred to the state that is neighboring the state that has been considered to have been transitioned to; A best state selection process is performed to select, from among the states that are considered to have transitioned, a state that has the maximum or minimum evaluation value as the best state; execute a transition determination process to determine whether or not to transition from the current state to the best state; When it is determined that the current state should be transitioned to the best state, a state transition process is executed to transition the current state to the best state. A method for solving a problem.

10. A solution-finding program that causes a computer to execute simulated annealing to find a state corresponding to a solution to a combinatorial optimization problem, comprising: The computer, A neighboring state generation process in which a state that is neighboring the current state is found, a transition to the state is considered to have occurred, and then a state that is neighboring the state that is considered to have occurred is found, and a transition to the state that is neighboring the state that is considered to have occurred is considered to have occurred; a best state selection process for selecting, from among the individual states that have been considered to have transitioned, the state with the maximum or minimum evaluation value corresponding to the state as the best state; a transition determination process for determining whether or not to transition from the current state to the best state; and a state transition process for transitioning the current state to the best state when it is determined that the current state should be transitioned to the best state; A solution program to execute the above.

Citation Information

Patent Citations

  • Parallel probability optimization method

    JP1995200517A

  • Retrieval system for state space

    JP2004070662A

  • Video transmission, reception method and apparatus

    JP2014525162A

  • Information processing system, information processing method and program

    JP2022015503A

  • Solution system, solution method, and solution program

    WO2021059338A1