WO2023248414A1 - 求解装置、求解方法および求解プログラム - Google Patents

求解装置、求解方法および求解プログラム Download PDF

Info

Publication number
WO2023248414A1
WO2023248414A1 PCT/JP2022/025053 JP2022025053W WO2023248414A1 WO 2023248414 A1 WO2023248414 A1 WO 2023248414A1 JP 2022025053 W JP2022025053 W JP 2022025053W WO 2023248414 A1 WO2023248414 A1 WO 2023248414A1
Authority
WO
WIPO (PCT)
Prior art keywords
state
transitioned
considered
transition
solution
Prior art date
Application number
PCT/JP2022/025053
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/JP2022/025053 priority Critical patent/WO2023248414A1/ja
Publication of WO2023248414A1 publication Critical patent/WO2023248414A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to a solution-solving device, a solution-solving method, and a solution-solving program that find solutions to combinatorial optimization problems.
  • Simulated annealing is sometimes used to find solutions to combinatorial optimization problems.
  • the state where the evaluation value is the maximum or minimum is found and that state is used as the solution.
  • an evaluation value function for determining the evaluation value is given. Whether to find the state where the evaluation value is maximum or the state where the evaluation value is minimum depends on the combinatorial optimization problem.
  • the Ising model or QUBO Quadrattic Unconstrained Binary Optimization
  • the energy of the Ising model and QUBO corresponds to the above evaluation value
  • the energy function of the Ising model and QUBO corresponds to the above evaluation value function.
  • the energy of the Ising model or QUBO is referred to as an evaluation value.
  • the energy function of the Ising model and QUBO is referred to as an evaluation value function.
  • the state in which the evaluation value (energy) is the minimum is determined as the solution.
  • the Ising model is a statistical mechanics model that expresses the behavior of magnetic materials using individual spins, but it can also be applied to solving combinatorial optimization problems.
  • the value of each spin is expressed as "1" or "-1".
  • the evaluation value function (energy function) in the Ising model is expressed as the following equation (1).
  • Both i and j in equation (1) are variables representing spin. Further, s i in equation (1) is a variable representing the value of spin i, and s j is a variable representing the value of spin j. The values of spins i and j are either "1" or "-1". h i in equation (1) is a constant corresponding to spin i. For each possible value of i, h i is defined as a constant. J ij in equation (1) is a constant corresponding to the combination of spin i and spin j. J ij is determined as a constant for each combination of the possible values of i and the possible values of j.
  • QUBO is a model that represents the value of each spin as “1” or “0”.
  • Both i and j in equation (2) are variables representing spin. Further, s i in equation (2) is a variable representing the value of spin i, and s j is a variable representing the value of spin j. The values of spins i and j are either "1" or "0". Q ij in equation (2) is a constant corresponding to the combination of spin i and spin j. Q ij is determined as a constant for each combination of possible values of i and j.
  • the Ising model and the QUBO evaluation value function are input to a solution device that performs simulated annealing.
  • the solver uses simulated annealing to find the state of each spin that corresponds to the solution to the combinatorial optimization problem.
  • Patent Document 1 describes simulated annealing that does not use an Ising model or QUBO. However, in Patent Document 1, the words energy and energy function are used. In the technique described in Patent Document 1, the value of the energy function of the state variable X+ ⁇ X i is determined while incrementing the subscript i. In the technique described in Patent Document 1, a state variable X+ ⁇ X i with the smallest energy value is selected, and a transition determination is made regarding that state variable.
  • Patent Document 1 determines 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.
  • Patent Document 2 states that when a spin is selected, if the set to which the spin belongs satisfies predetermined constraints regarding the set, and it is determined that the value of the spin is to be changed, It is described that the value of one or more spins including that spin is changed so that the condition in which the spin is maintained satisfies the constraint.
  • FIG. 8 is a schematic diagram showing an example of a current state and a plurality of states to which the current state can transition when QUBO is applied to the technology described in Patent Document 1.
  • the number of spins is four.
  • a constraint is defined for the four spins: "The value of only one spin is 1, and the values of all other spins are 0."
  • this constraint will be referred to as a one-hot constraint.
  • FIG. 9 is a schematic diagram showing an example of a current state and a next state that can be transitioned from that state in the technology described in Patent Document 2.
  • it is assumed that there are 16 spins arranged in 4 rows and 4 columns.
  • a one-hot constraint is defined for each row and each column.
  • the one-hot constraint is satisfied in all rows and all columns in the current state (see FIG. 9). Assume that the spin in the first row and first column in the current state is selected and the value of the spin "1" is changed to "0".
  • the value of the spin in the first row and third column is changed from "0" to "1" so that the set of spins in the first row to which that spin belongs maintains the state that satisfies the one-hot constraint. change.
  • the state in which the set of spins in the first row satisfies the one-hot constraint is maintained.
  • the one-hot constraint is no longer satisfied for the set of spins in the first column and the set of spins in the third column. Therefore, the evaluation value of the next state after the current state is greater than the evaluation value of the current state. Therefore, it is difficult to transition from one local solution to another, and as a result, it takes time to derive the optimal solution.
  • an object of the present invention is to provide a solution-solving device, a solution-solving method, and a solution-solving program that can quickly find an optimal solution to a combinatorial optimization problem.
  • the solution-solving device is a solution-solving device that finds a state corresponding to the solution of a combinatorial optimization problem by executing simulated annealing, and which finds a state near the current state and transitions to that state.
  • a means for generating a neighboring state that repeatedly calculates a state that is in the vicinity of the state that is considered to have transitioned, and then repeatedly assumes that the state that has transitioned to a state that is in the vicinity of the state that is considered to have transitioned; a best state selection means that selects, as the best state, a state in which the evaluation value corresponding to the state is maximum or minimum from among the individual states; and a transition that determines whether or not to transition from the current state to the best state.
  • the present invention is characterized by comprising a determining means and 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.
  • the solution method according to the present invention is a solution method in which a computer determines a state corresponding to the solution of a combinatorial optimization problem by executing simulated annealing, and the computer determines a state that is close to the current state. , a neighboring state generation process is performed in which it is assumed that a transition has occurred to that state, and then a state that is a neighborhood of the state that is considered to have transitioned is determined, and a state that is considered to be a transition to a state that is a neighborhood of the state that is considered to have transitioned is repeated.
  • the best state selection process is executed to select the state with the maximum or minimum evaluation value as the best state from among the individual states that have been executed and are considered to have transitioned, and the best state is selected from the current state.
  • a transition determination process is executed to determine whether or not to transition to the current state, and 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. shall be.
  • a solution-finding program is a solution-finding program that causes a computer to find a state corresponding to a solution to a combinatorial optimization problem by executing simulated annealing, and causes the computer to find a state near the current state.
  • Neighboring state generation processing that repeatedly calculates a state that is a neighborhood of the state that is considered to have transitioned, and then considers that the state has transitioned to that state, and then considers that a state that is a neighborhood of the state that is considered to have transitioned.
  • Best state selection processing that selects the state with the maximum or minimum evaluation value from among the individual states that are considered to have transitioned as the best state, and whether or not 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, a state transition process that transitions the current state to the best state.
  • the present invention may be a computer-readable recording medium on which the above solution program is recorded.
  • an optimal solution to a combinatorial optimization problem can be found at high speed.
  • FIG. 1 is a block diagram showing a configuration example of a solution finding device according to a first embodiment of the present invention.
  • FIG. FIG. 2 is a schematic diagram showing an example of a current state and a plurality of neighboring states obtained in a chain.
  • FIG. 7 is a schematic diagram showing another example of the current state and a plurality of neighboring states obtained in a chain. It is a flowchart which shows an example of the processing progress of the 1st embodiment of this invention.
  • FIG. 7 is a schematic diagram showing an example of a current state and a plurality of neighboring states obtained in a chain manner in the second embodiment.
  • 1 is a schematic block diagram showing an example of the configuration of a computer related to a solving device according to each embodiment of the present invention.
  • FIG. 1 is a block diagram showing an outline of a solution finding device of the present invention.
  • FIG. 2 is a schematic diagram showing an example of a current state and a plurality of states that can transition from the current state when QUBO is applied to the technology described in Patent Document 1.
  • FIG. 2 is a schematic diagram showing an example of a current state and a next state that can be transitioned from the current state in the technology described in Patent Document 2.
  • the solution-finding device of the present invention obtains a state corresponding to a solution to the combinatorial optimization problem by executing simulated annealing.
  • FIG. 1 is a block diagram showing an example of the configuration of a solution solving device according to a first embodiment of the present invention.
  • the solving device 10 of the first embodiment includes a neighborhood state generation section 1, an evaluation value calculation section 2, a best state selection section 3, a transition determination section 4, a state transition section 5, and a temperature control section 6. Be prepared.
  • the neighborhood state generation unit 1 determines a state that is close to the current state, and considers that a transition has been made to that state. Thereafter, the neighborhood state generating unit 1 further repeats the process of determining a state that is in the vicinity of the state that is considered to have transitioned, and deeming that the state has transitioned to a state that is in the vicinity of the state that is considered to have transitioned.
  • the neighborhood state generation unit 1 determines a state that is near the current state by changing some of the spin values from the current state, and considers that a transition has been made to that state. After that, the neighborhood state generation unit 1 further changes the values of some of the spins from the state that is considered to have transitioned, thereby obtaining a state that is in the vicinity of the state that is considered to have transitioned, and determines the state that is the vicinity of the state that is considered to have transitioned. It is repeated to consider that the state has transitioned to a state that is in the vicinity of the state.
  • a state in which a part of the previous state has been changed is referred to as a state near the previous state.
  • Each state that is considered to have transitioned is a neighboring state of the immediately previous state.
  • the neighborhood state generation unit 1 sequentially obtains each neighborhood state from the first to the predetermined number.
  • FIG. 2 is a schematic diagram showing an example of the current state and a plurality of neighboring states obtained in a chain.
  • FIG. 2 illustrates a case where a state is represented by four spins. It is also assumed that a one-hot constraint is defined for the state represented by the four spins.
  • the neighborhood state generation unit 1 changes the value of one spin when finding a neighborhood state of a certain state.
  • the neighborhood state generation unit 1 may randomly select spins whose values are to be changed. Furthermore, in this example, the neighborhood state generation unit 1 obtains each of the first to fourth neighborhood states in a chained manner (see FIG. 2).
  • FIG. 2 illustrates a case where the current state satisfies the one-hot constraint, but the current state does not need to satisfy the one-hot constraint.
  • the neighborhood state generation unit 1 may select one spin whose value is to be changed so as to satisfy a predetermined constraint (in this example, a one-hot constraint) as much as possible.
  • a predetermined constraint in this example, a one-hot constraint
  • FIG. 3 is a schematic diagram showing another example of the current state and a plurality of neighboring states obtained in a chain. In the example shown in FIG. 3, a neighboring state that satisfies the one-hot constraint is obtained as the second neighboring state. In the third neighboring state, the one-hot constraint is no longer satisfied.
  • FIG. 2 shows a case where a neighboring state (fourth neighboring state) that satisfies the one-hot constraint is obtained.
  • FIG. 3 also shows a case where neighboring states (second and fourth neighboring states) satisfying the one-hot constraint are obtained. However, it may be the case that none of the neighborhood states satisfy the defined constraints.
  • the evaluation value calculation unit 2 calculates an evaluation value (energy) corresponding to each neighboring state (individual states deemed to have transitioned).
  • the evaluation value calculation unit 2 may calculate 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.
  • the best state selection unit 3 selects, as the best state, the neighboring state in which the evaluation value corresponding to the neighboring state is the minimum from among the individual neighboring states (individual states deemed to have transitioned).
  • the fourth neighboring state satisfies the one-hot constraint. Therefore, it is considered that among the four neighboring states shown in FIG. 2, the energy of the fourth neighboring state is the smallest. Therefore, in this example, it is assumed that the fourth neighboring state has the minimum energy. In this case, the best state selection unit 3 selects the fourth neighboring state shown in FIG. 2 as the best state.
  • the best state selection unit 3 selects the neighboring state from which the evaluation value corresponding to the neighboring state is the minimum from among the individual neighboring states. Select as the best condition.
  • the transition determination unit 4 determines whether 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 the 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, the transition determination unit 4 determines whether or not to make a transition from the current state to the best state based on the transition probability.
  • the state transition unit 5 transitions the current state to the best state. This action changes the current state.
  • the temperature control unit 6 changes the temperature in simulated annealing according to the number of loop processing in simulated annealing. More specifically, the temperature control unit 6 lowers the temperature as the number of loop processes in simulated annealing increases.
  • the neighborhood state generation unit 1, the evaluation value calculation unit 2, the best state selection unit 3, the transition determination unit 4, the state transition unit 5, and the temperature control unit 6 are configured by, for example, a CPU (Central Processing Unit) of a computer that operates according to a solution program. ) is realized.
  • the CPU reads a solution program from a program recording medium such as a program storage device of a computer, and according to the solution program, the neighborhood state generation section 1, the evaluation value calculation section 2, the best state selection section 3, the transition determination section 4, the state It is sufficient to operate as the transition section 5 and the temperature control section 6.
  • FIG. 4 is a flowchart showing an example of the processing progress 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 into the solution solving device 10 in advance. Furthermore, in this example, as in the case illustrated in FIG. 2, the first to fourth neighboring states are determined, but the last neighboring state is not limited to the fourth neighboring state.
  • the QUBO evaluation value function energy function
  • the temperature control unit 6 sets the temperature in simulated annealing to an initial value (step S1).
  • the neighborhood state generation unit 1 initializes the value of k to 1 (step S2).
  • k is a variable indicating the order of the generated neighboring state.
  • the neighborhood state generation unit 1 determines the k-th neighborhood state and considers that a transition has been made to that neighborhood state (step S3).
  • 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).
  • the neighborhood state generation unit 1 determines whether up to the fourth neighborhood state has been obtained (step S5).
  • the neighboring state generation unit 1 increments the value of k by 1 (step S6).
  • step S6 the processes from step S3 onwards are repeated.
  • the neighboring state of the "k-1st neighboring state" (k-th neighboring state) is changed by changing the value of some of the spins from the k-1th neighboring state. It is assumed that the state has transitioned to a state near that state.
  • 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 minimum evaluation value as the best state from among the first to fourth neighboring states.
  • the transition determination unit 4 calculates the 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 (Ste S8). Then, the transition determination unit 4 determines whether or not to make a transition from the current state to the best state based on the transition probability (step S9).
  • Step S9 If it is determined that the current state should be transitioned to the best state (Step S9: Yes), the state transition unit 5 transitions the current state to the best state (Step S10). In step S10, the current state changes.
  • step S10 the process moves to step S11. If it is determined that the current state is not to be transitioned to the best state (No in step S9), the process proceeds to step S11 without executing step S10.
  • step S11 the temperature control unit 6 reduces the temperature in simulated annealing by a predetermined value.
  • the loop processing from steps S2 to S11 is the loop processing in simulated annealing.
  • 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.
  • the neighborhood state generation unit 1 determines a state that is close to the current state, and considers that a transition has been made to that state. Thereafter, the neighborhood state generation unit 1 repeatedly determines a state that is a neighborhood of the state that is considered to have transitioned, and considers that the state that is a neighborhood of the state that is considered to be a transition has been made. That is, the neighborhood state generation unit 1 calculates neighborhood states in a chain manner starting from the current state. Then, the best state selection unit 3 selects the best state from among the obtained individual neighboring states.
  • the transition determination unit 4 determines whether or not to make a transition from the current state to the best state, and when it is determined that the current state should be made to transition to the best state, the state transition unit 5 changes the current state to the best state. transition to the state. Therefore, the best state is selected not only from neighboring states of the current state but also from a plurality of neighboring states found in a chain starting from the current state. Therefore, in this embodiment, it is easy to transition from a local solution to another local solution, and an optimal solution to a combinatorial optimization problem can be found at high speed.
  • Embodiment 2 A configuration example of the solution finding device according to the second embodiment of the present invention can be expressed in the same manner as in FIG. Therefore, the second embodiment will be described with reference to FIG. Furthermore, the second embodiment will also be described using an example in which QUBO is applied. Further, descriptions of matters similar to those in the first embodiment will be omitted.
  • the second embodiment is an embodiment to which technology similar to Patent Document 2 is applied.
  • a state in which spin values are arranged in 4 rows and 4 columns will be described as an example. It is assumed that a one-hot constraint is predetermined for each set of spins in each row. Similarly, it is assumed that a one-hot constraint is predetermined for each set of spins in each column. That is, it is assumed that one-hot constraints are defined for eight sets.
  • the neighborhood state generation unit 1 calculates a state near the current state by changing the values of some of the spins from the current state, and assumes that the state has transitioned to that state. I reckon. After that, the neighborhood state generation unit 1 further changes the values of some of the spins from the state that is considered to have transitioned, thereby obtaining a state that is in the vicinity of the state that is considered to have transitioned, and determines the state that is the vicinity of the state that is considered to have transitioned. It is repeated to consider that the state has transitioned to a state that is in the vicinity of the state.
  • the number of times that a state that is in the vicinity of a state that is considered to have transitioned is determined and that the state that is in the vicinity of the state that is considered to have transitioned is repeated is a fixed value. shall be. Therefore, the neighboring states from the first to the predetermined number are obtained.
  • the neighboring state generation unit 1 selects a spin and selects the 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 the multiple sets. When the selected set satisfies a predetermined constraint, the neighborhood state generation unit 1 generates values of one or more spins including the selected spin so that the set maintains a state satisfying the constraint. change.
  • the neighboring state generation unit 1 selects spins so that the set approaches a state that satisfies the constraints. , change its spin value.
  • FIG. 5 is a schematic diagram showing an example of the current state and a plurality of neighboring states obtained in a chain manner in the second embodiment.
  • the example shown in Figure 5 shows a case where the current state satisfies all the constraints (8 one-hot constraints), but in the current state, some or all of the one-hot constraints It doesn't have to be fulfilled.
  • FIG. 5 illustrates a case in which the first to fifth neighboring states are determined.
  • the number of neighboring states to be determined there is no particular limitation on the number of neighboring states to be determined.
  • the neighborhood state generation unit 1 calculates the neighborhood state (first neighborhood state) of the current state, it selects the spin in the first row and first column, and selects the spin in the first row as the set to which the spin belongs. Suppose you select a pair. Since the set of spins in the first row satisfies the one-hot constraint, the neighborhood state generation unit 1 creates The spin value in the first column and the spin value in the first row and third column are respectively changed. As a result, the neighborhood state generation unit 1 obtains the first neighborhood state and considers that the state has transitioned to that neighborhood state (see FIG. 5).
  • the one-hot constraint is not satisfied for the pair of spins in the first column.
  • the neighborhood state generation unit 1 selects, for example, the spins in the third row and first column and changes the value of the spins so that the set of spins in the first column approaches a state that satisfies the one-hot constraint. As a result, the neighboring state generation unit 1 obtains the second neighboring state and considers that the state has transitioned to the second neighboring state (see FIG. 5).
  • the one-hot constraint is not satisfied for the set of spins in the third column.
  • the neighborhood state generation unit 1 selects, for example, the spins in the second row and third column and changes the values of the spins so that the set of spins in the third column approaches a state that satisfies the one-hot constraint. As a result, the neighboring state generation unit 1 obtains the third neighboring state and considers that the state has transitioned to that neighboring state (see FIG. 5).
  • the one-hot constraint is not satisfied for the pair of spins in the second row.
  • the neighborhood state generation unit 1 selects the spins in the second row and second column and changes the values of the spins so that the set of spins in the second row approaches a state that satisfies the one-hot constraint.
  • the neighboring state generation unit 1 obtains the fourth neighboring state and considers that the state has transitioned to that neighboring state (see FIG. 5).
  • the neighborhood state generation unit 1 selects, for example, the spins in the third row and second column and changes the value of the spins so that the set of spins in the second column approaches a state satisfying the one-hot constraint. As a result, the neighborhood state generation unit 1 obtains the fifth neighborhood state and considers that the state has transitioned to the fifth neighborhood state (see FIG. 5).
  • the fifth neighboring state satisfies all constraints (eight one-hot constraints). However, the first to fifth neighboring states may not include neighboring states that satisfy all the constraints.
  • the neighborhood state generation unit 1 calculates the neighborhood state.
  • the neighborhood state generation unit 1 may select the spin whose value is to be changed so that the number of constraints that are satisfied increases the most.
  • the process of finding the last neighboring state from the neighboring state in which all the constraints are satisfied, to the neighboring state in which the constraints are not satisfied in at least some sets, may be considered to have transitioned to
  • the operations of the evaluation value calculation section 2, the best state selection section 3, the transition determination section 4, the state transition section 5, and the temperature control section 6 are the same as those of the evaluation value calculation section 2, the best state selection section 3, and the transition determination section in the first embodiment.
  • the operations of the section 4, the state transition section 5, and the temperature control section 6 are the same, and the explanation thereof will be omitted.
  • the best state is selected from among a plurality of neighboring states found in a chain, starting from the current state. Therefore, in this embodiment, it is easy to transition from a local solution to another local solution, and an optimal solution to a combinatorial optimization problem can be found at high speed.
  • the case where QUBO is applied is shown, but the Ising model may be applied.
  • the evaluation value function (energy function) of the Ising model is input to the solving device 10 of the present invention.
  • the evaluation value calculation unit 2 may use the evaluation value function to calculate an evaluation value corresponding to each neighborhood state for each neighborhood state.
  • QUBO and the Ising model do not need to be applied.
  • an evaluation value function other than the QUBO or Ising model energy function is input to the solving device 10 of the present invention.
  • the state where the evaluation value is maximum or minimum is determined as the optimal solution. As described above, whether to find the state where the evaluation value is maximum or the state where the evaluation value is minimum depends on the combinatorial optimization problem.
  • the best state selection unit 3 selects the neighboring state with the maximum evaluation value corresponding to the neighboring state from among the neighboring states (individual states that are considered to have transitioned). , select as the best condition.
  • the best state selection unit 3 selects the neighborhood where the evaluation value corresponding to the neighboring state is the minimum from among the neighboring states (individual states that are considered to have transitioned). Select the state as the best state.
  • the number of times that a state that is in the vicinity of a state that is considered to have transitioned is determined, and that it is determined that a state that has transitioned to a state that is in the vicinity of the state that is considered to have transitioned is repeated. (hereinafter referred to as the number of repetitions) is a fixed value.
  • the neighborhood state generation unit 1 may change the number of repetitions. That is, the neighborhood state generation unit 1 may change the number of neighborhood states to be determined from the first neighborhood state during the simulated annealing process.
  • the neighborhood state generation unit 1 may change the number of repetitions based on the temperature in simulated annealing. For example, the neighborhood state generation unit 1 may increase the number of repetitions when the temperature in simulated annealing becomes equal to or less than a threshold value (a threshold value to be compared with the temperature).
  • a threshold value a threshold value to be compared with the temperature
  • the neighborhood state generation unit 1 may change the number of repetitions based on the number of loop processing in simulated annealing (for example, the loop processing of steps S2 to S11 shown in FIG. 4). For example, the neighborhood state generation unit 1 may increase the number of repetitions when the number of times the loop process is performed exceeds a threshold value (a threshold value with which the number of times the loop process is compared).
  • a threshold value a threshold value with which the number of times the loop process is compared.
  • the neighborhood state generation unit 1 generates the number of times it is determined to transition from the current state to the best state (for example, from step S9 to The number of repetitions may be changed based on the ratio (hereinafter referred to as acceptance rate) of the number of times the process has proceeded to S10. For example, the neighborhood state generation unit 1 may increase the number of repetitions when the number of acceptance rates becomes equal to or less than a threshold value (threshold value to be compared with the acceptance rate).
  • a threshold value threshold value to be compared with the acceptance rate
  • the neighborhood state generation unit 1 determines a state that is a neighborhood of the state that is considered to have transitioned, and determines the state that is the neighborhood of the state that is considered to have transitioned, until it is considered that the transition has occurred to a nearby state where the constraint is satisfied. It may be possible to continue a repetitive process in which it is assumed that the state has transitioned to a state that is in the vicinity of the state.
  • the neighborhood state generation unit 1 determines states that are in the vicinity of the state that is considered to have transitioned until it is determined that the transition has occurred to a neighborhood state in which all of a plurality of constraints are satisfied, It is also possible to continue the repetitive process of deeming that the state has transitioned to a state that is close to the considered state.
  • FIG. 6 is a schematic block diagram showing an example of the configuration of a computer related to the solving device 10 of each embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, and an interface 1004.
  • the solving 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 auxiliary storage device 1003 in the form of a solution-finding program.
  • the CPU 1001 reads the solution program from the auxiliary storage device 1003, expands the solution program to the main storage device 1002, and executes the processing described in each of the above embodiments according to the solution program.
  • the auxiliary storage device 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-transitory 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 the interface 1004. Examples include semiconductor memory.
  • the computer 1000 that receives the program expands the program into the main storage device 1002 and executes the processing described in each of the above embodiments according to the program. good.
  • each component may be realized by a general-purpose or dedicated circuit, a processor, etc., or a combination thereof. These may be configured by a single chip or multiple chips connected via a bus. Part or all of each component may be realized by a combination of the circuits and the like described above and a program.
  • the plurality of information processing devices, circuits, etc. may be centrally arranged or distributed.
  • information processing devices, circuits, etc. may be implemented as a client and server system, a cloud computing system, or the like, in which each is connected via a communication network.
  • FIG. 7 is a block diagram showing an overview of the solution finding device of the present invention.
  • the solving device of the present invention includes a neighborhood state generation means 71, a best state selection means 73, a transition determination means 74, and a state transition means 75.
  • Neighborhood state generation means 71 determines a state that is in the vicinity of the current state, considers that a transition has been made to that state, and then determines a state that is in the vicinity of the state that is considered to have transitioned. , and repeats the process of assuming that the state has transitioned to a state that is in the vicinity of the state that is considered to have transitioned.
  • the best state selection means 73 selects the state in which the evaluation value corresponding to the state becomes the maximum or minimum as the best state from among the individual states that are considered to have transitioned.
  • the transition determining means 74 determines whether or not to transition from the current state to the best state.
  • the state transition means 75 (for example, the state transition unit 5) transitions the current state to the best state when it is determined that the current state should be transitioned to the best state.
  • a solution-solving device that obtains a state corresponding to a solution to a combinatorial optimization problem by executing simulated annealing, Find a state that is close to the current state, consider that it has transitioned to the state, then find a state that is close to the state that is considered to have transitioned, and transition to a state that is close to the state that is considered to have transitioned.
  • a solution-solving device comprising: state transition means for transitioning the current state to the best state when it is determined to transition from the current state to the best state.
  • the best state selection means is The solution-solving device according to appendix 1, wherein a state with a minimum evaluation value corresponding to the state is selected as the best state from among the individual states that are considered to have transitioned.
  • the neighborhood state generating means includes: By changing the values of some spins from the current state, find a state near the current state, consider that the state has transitioned, and then change the values of some spins from the state that is considered to have transitioned.
  • the solution-finding device according to appendix 2 wherein a state that is in the vicinity of the state that is considered to have transitioned is determined by changing the state, and the process is repeated to determine that the state that has transitioned to a state that is in the vicinity of the state that is considered to have been transitioned.
  • the neighborhood state generating means includes: When finding a neighboring state, select a spin, select the set to which the spin belongs, When 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 that satisfies the constraint. Device.
  • the neighborhood state generating means includes: When finding neighboring states, if there is a set of spins that do not satisfy the constraints, select the spins and change the values of the spins so that the set approaches a state that satisfies the constraints. 4. The solving device according to 4.
  • the neighborhood state generating means includes: From Appendix 1, the number of times it is repeated to determine a state that is close to the state that is considered to have transitioned, and to consider that it has transitioned to a state that is close to the state that is considered to have been transitioned, is changed based on the temperature in simulated annealing.
  • the solving device according to any one of appendix 5.
  • the neighborhood state generating means includes: Find a state that is close to the state that is considered to have transitioned, and change the number of times that the state that is considered to have transitioned to the state that is close to the state that is considered to have transitioned is repeated based on the number of loop processing in simulated annealing.
  • the solving device according to any one of Supplementary Notes 1 to 5.
  • the neighborhood state generating means includes: Find a state that is close to the state that is considered to have transitioned, and calculate the number of times that it is repeated to consider that the state has transitioned to a state that is close to the state that is considered to have transitioned to the current state relative to the number of times that the transition determination means makes a determination.
  • the solution solving device according to any one of Supplementary Notes 1 to 5, wherein the solution is changed based on the ratio of the number of times it is determined that the state is to be transitioned from to the best state.
  • a solution-solving method in which a computer obtains a state corresponding to a solution to a combinatorial optimization problem by executing simulated annealing comprising: The computer, Find a state that is close to the current state, consider that it has transitioned to the state, then find a state that is close to the state that is considered to have transitioned, and transition to a state that is close to the state that is considered to have transitioned.
  • Execute a neighborhood state generation process that repeatedly considers Execute a best state selection process to select the state with the maximum or minimum evaluation value corresponding to the state as the best state from among the individual states that are considered to have transitioned; Executing a transition determination process to determine whether to transition from the current state to the best state;
  • a solution method characterized in that, 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 computer-readable recording medium recording a solution-finding program that causes a computer to find a state corresponding to a solution to a combinatorial optimization problem by executing simulated annealing, to the computer; Find a state that is close to the current state, consider that it has transitioned to the state, then find a state that is close to the state that is considered to have transitioned, and transition to a state that is close to the state that is considered to have transitioned.
  • Neighborhood state generation processing that repeatedly considers a best state selection process that selects the state with the maximum or minimum evaluation value corresponding to the state as the best state from among the individual states that are considered to have transitioned; a transition determination process that determines whether to transition from the current state to the best state; and A computer-readable recording medium storing a solution-solving program for executing 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.
  • the present invention is suitably applied to a solution-solving device that finds a solution to a combinatorial optimization problem.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

近傍状態生成手段71は、現在の状態の近傍となる状態を求め、その状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。最良状態選択手段73は、遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する。遷移判定手段74は、現在の状態から最良状態に遷移させるか否かを判定する。状態遷移手段75は、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に遷移させる。

Description

求解装置、求解方法および求解プログラム
 本発明は、組合せ最適化問題の解を求める求解装置、求解方法および求解プログラムに関する。
 組合せ最適化問題の解を求めるためにシミュレーテッドアニーリングが用いられる場合がある。シミュレーテッドアニーリングでは、評価値が最大または最小となる状態を求め、その状態を解とする。この場合、評価値を求めるための評価値関数が与えられる。評価値が最大となる状態を求めるか、または、評価値が最小となる状態を求めるかは、組合せ最適化問題に依存する。
 また、シミュレーテッドアニーリングを用いて組合せ最適化問題の解を求める場合に、イジングモデルやQUBO(Quadratic Unconstrained Binary Optimization )が利用されることがある。この場合、イジングモデルやQUBOのエネルギーが上記の評価値に該当し、イジングモデルやQUBOのエネルギー関数が上記の評価値関数に該当する。本明細書では、文言を統一するために、イジングモデルやQUBOを用いる場合において、イジングモデルやQUBOのエネルギーを評価値と記す。また、イジングモデルやQUBOのエネルギー関数を評価値関数と記す。ただし、イジングモデルやQUBOを利用してシミュレーテッドアニーリングを行う場合には、評価値(エネルギー)が最小となる状態を解として求める。
 イジングモデルは、個々のスピンによって磁性体の振る舞いを表す統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの値は、“1”または“-1”で表される。
 イジングモデルにおける評価値関数(エネルギー関数)は、以下の式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 式(1)におけるi,jは、いずれもスピンを表す変数である。また、式(1)におけるsは、スピンiの値を表す変数であり、sは、スピンjの値を表す変数である。スピンi,jの値は、それぞれ、“1”または“-1”の二値のいずれかである。式(1)におけるhは、スピンiに対応する定数である。iの取り得る値毎に、hは定数として定められる。式(1)におけるJijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Jijは定数として定められる。
 QUBOは、個々のスピンの値を“1”または“0”で表すモデルである。
 QUBOにおける評価値関数(エネルギー関数)は、以下の式(2)のように表される。
Figure JPOXMLDOC01-appb-M000002
 式(2)におけるi,jは、いずれもスピンを表す変数である。また、式(2)におけるsは、スピンiの値を表す変数であり、sは、スピンjの値を表す変数である。スピンi,jの値は、それぞれ、“1”または“0”の二値のいずれかである。式(2)におけるQijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Qijは定数として定められる。
 イジングモデルやQUBOの評価値関数(エネルギー関数)は、シミュレーテッドアニーリングを実行する求解装置に入力される。求解装置は、シミュレーテッドアニーリングによって、組合せ最適化問題の解に該当する各スピンの状態を求める。
 特許文献1には、イジングモデルやQUBOを用いないシミュレーテッドアニーリングが記載されている。ただし、特許文献1では、エネルギーやエネルギー関数という文言が用いられている。特許文献1に記載された技術では、添え字iをインクリメントしながら、状態変数X+ΔXのエネルギー関数の値を求める。特許文献1に記載された技術では、エネルギー値が最も小さくなる状態変数X+ΔXを選択し、その状態変数に関して遷移判定を行う。
 すなわち、特許文献1に記載された技術は、現在の状態から遷移し得る複数の状態をそれぞれ求め、その中から最もエネルギーが小さい状態に関して、遷移するか否かの判定を行う。
 また、特許文献2には、スピンを選択したときに、そのスピンが属する組が、その組に関して予め定められた制約を満たし、かつ、そのスピンの値を変化させると決定した場合に、その組がその制約を満たした状態を維持するように、そのスピンを含む1つ以上のスピンの値を変化させることが記載されている。
特開平7-200517号公報 国際公開第2021/059338号
 前述のように、特許文献1に記載された技術は、現在の状態から遷移し得る複数の状態をそれぞれ求め、その中から最もエネルギーが小さい状態に関して、遷移するか否かの判定を行う。図8は、特許文献1に記載された技術にQUBOを適用した場合における現在の状態、および、現在の状態から遷移し得る複数の状態の例を示す模式図である。図8に示す例では、スピンの数が4個である。その4個のスピンに対して、「1つのスピンの値だけが1になり、他の全てのスピンの値は0である。」という制約が定められているものとする。以下、この制約をone-hot 制約と記す。図8では、説明を簡単にするために、現在の状態がone-hot 制約を満たしている場合を示している。特許文献1に記載された技術にQUBOを適用した場合、図8に示すように、現在の状態から遷移し得る複数の状態を求め、その複数の状態の中から、評価値(エネルギー)が最小となる状態を選択する。そして、現在の状態からその選択した状態に遷移するか否かを判定する。しかし、図8に示す例では、現在の状態から遷移し得る各状態は、いずれもone-hot 制約を満たしておらず、各状態の評価値は、現在の評価値より大きい。そのため、局所解から他の局所解に遷移しにくく、その結果、最適解の導出に時間がかかってしまう。
 図9は、特許文献2に記載の技術における、現在の状態と、その状態から遷移し得る次の状態の例を示す模式図である。本例では、4行4列に並ぶ16個のスピンが存在しているものとする。そして、各行および各列には、それぞれ、one-hot 制約が定められているものとする。さらに、現在の状態では、全ての行および全ての列でone-hot 制約が満たされているものとする(図9参照)。現在の状態における第1行第1列のスピンを選択し、そのスピンの値“1”を“0”に変化させるとする。このとき、そのスピンが属する第1行のスピンの組がone-hot 制約を満たした状態を維持するように、例えば、第1行第3列のスピンの値も“0”から“1”に変化させる。この場合、第1行の2つのスピンの値を変化させることで、第1行のスピンの組では、one-hot 制約を満たした状態が維持される。しかし、第1列のスピンの組、および、第3列のスピンの組では、one-hot 制約が満たされなくなる。よって、現在の状態の次の状態の評価値は、現在の状態の評価値より大きい。そのため、局所解から他の局所解に遷移しにくく、その結果、最適解の導出に時間がかかってしまう。
 そのため、本発明は、組合せ最適化問題の最適解を高速に求めることができる求解装置、求解方法および求解プログラムを提供することを目的とする。
 本発明による求解装置は、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解装置であって、現在の状態の近傍となる状態を求め、その状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成手段と、遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択手段と、現在の状態から最良状態に遷移させるか否かを判定する遷移判定手段と、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に遷移させる状態遷移手段とを備えることを特徴とする。
 本発明による求解方法は、コンピュータが、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解方法であって、コンピュータが、現在の状態の近傍となる状態を求め、その状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理を実行し、遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理を実行し、現在の状態から最良状態に遷移させるか否かを判定する遷移判定処理を実行し、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に遷移させる状態遷移処理を実行することを特徴とする。
 本発明による求解プログラムは、コンピュータに、シミュレーテッドアニーリングを実行させることによって、組合せ最適化問題の解に相当する状態を求めさせる求解プログラムであって、コンピュータに、現在の状態の近傍となる状態を求め、その状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理、遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理、現在の状態から最良状態に遷移させるか否かを判定する遷移判定処理、および、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に遷移させる状態遷移処理を実行させる。また、本発明は、上記の求解プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
 本発明によれば、組合せ最適化問題の最適解を高速に求めることができる。
本発明の第1の実施形態の求解装置の構成例を示すブロック図である。 現在の状態、および、連鎖的に求められた複数の近傍状態の例を示す模式図である。 現在の状態、および、連鎖的に求められた複数の近傍状態の他の例を示す模式図である。 本発明の第1の実施形態の処理経過の例を示すフローチャートである。 第2の実施形態における現在の状態、および、連鎖的に求められた複数の近傍状態の例を示す模式図である。 本発明の各実施形態の求解装置に係るコンピュータの構成例を示す概略ブロック図である。 本発明の求解装置の概要を示すブロック図である。 特許文献1に記載された技術にQUBOを適用した場合における現在の状態、および、現在の状態から遷移し得る複数の状態の例を示す模式図である。 特許文献2に記載の技術における、現在の状態と、その状態から遷移し得る次の状態の例を示す模式図である。
 以下、本発明の実施形態を図面を参照して説明する。
 以下では、シミュレーテッドアニーリングにQUBOが適用される場合を例にして説明する。この場合、QUBOの評価値関数(エネルギー関数)が本発明の求解装置に入力される。そして、本発明の求解装置は、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める。
実施形態1.
 図1は、本発明の第1の実施形態の求解装置の構成例を示すブロック図である。第1の実施形態の求解装置10は、近傍状態生成部1と、評価値計算部2と、最良状態選択部3と、遷移判定部4と、状態遷移部5と、温度制御部6とを備える。
 近傍状態生成部1は、現在の状態の近傍となる状態を求め、その状態に遷移したものとみなす。その後、さらに、近傍状態生成部1は、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。
 より具体的には、近傍状態生成部1は、現在の状態から一部のスピンの値を変化させることによって、現在の状態の近傍となる状態を求め、その状態に遷移したものとみなす。その後、さらに、近傍状態生成部1は、遷移したとみなした状態から一部のスピンの値を変化させることによってその遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。
 直前の状態の一部を変化させた状態を、その直前の状態の近傍状態と記す。遷移したとみなした個々の状態はそれぞれ、直前の状態の近傍状態である。
 また、本実施形態では、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数が固定値であるものとする。従って、本実施形態では、1番目から所定番目までの近傍状態が得られる。近傍状態生成部1は、1番目から所定番目までの各近傍状態を、連鎖的に求める。
 図2は、現在の状態、および、連鎖的に求められた複数の近傍状態の例を示す模式図である。図2では、4つのスピンで状態が表される場合を例示している。また、その4つのスピンで表される状態には、one-hot 制約が定められているものとする。
 本例では、近傍状態生成部1は、ある状態の近傍状態を求める場合に、1つのスピンの値を変化させている。近傍状態生成部1は、値を変化させるスピンをランダムに選択してよい。また、本例では、近傍状態生成部1は、1番目から4番目までの各近傍状態を、連鎖的に求めている(図2参照)。
 図2に示す例では、現在の状態がone-hot 制約を満たしている場合を例示しているが、現在の状態がone-hot 制約を満たしていなくてもよい。
 また、近傍状態生成部1は、できるだけ定められた制約(本例では、one-hot 制約)を満たすように、値を変化させる1つのスピンを選択してもよい。この場合、最後の近傍状態(本例では、4番目の近傍状態)を求めるまでの過程において、制約が満たされている近傍状態から、制約が満たされていない近傍状態に遷移したとみなすことがあってもよい。図3は、現在の状態、および、連鎖的に求められた複数の近傍状態の他の例を示す模式図である。図3に示す例では、2番目の近傍状態として、one-hot 制約を満たした近傍状態が得られている。そして、3番目の近傍状態では、one-hot 制約が満たされなくなっている。
 図2は、one-hot 制約を満たした近傍状態(4番目の近傍状態)が得られる場合を示している。また、図3も、one-hot 制約を満たした近傍状態(2番目および4番目の近傍状態)が得られる場合を示している。しかし、どの近傍状態も、定められた制約を満たしていないことがあってもよい。
 評価値計算部2は、個々の近傍状態(遷移したとみなした個々の状態)それぞれに関して、近傍状態に対応する評価値(エネルギー)を計算する。評価値計算部2は、与えられたQUBOの評価値関数(エネルギー関数)に、近傍状態における各スピンの値を代入することによって、評価値を計算すればよい。
 最良状態選択部3は、個々の近傍状態(遷移したとみなした個々の状態)の中から、近傍状態に対応する評価値が最小になる近傍状態を、最良状態として選択する。図2に示す例では、4番目の近傍状態が、one-hot 制約を満たしている。よって、図2に示す4つの近傍状態の中で、4番目の近傍状態のエネルギーが最小になっていると考えられる。そのため、本例では、4番目の近傍状態のエネルギーが最小になっているものとする。この場合、最良状態選択部3は、図2に示す4番目の近傍状態を最良状態として選択する。また、各近傍状態がいずれもone-hot 制約を満たしていない場合においても、最良状態選択部3は、個々の近傍状態の中から、近傍状態に対応する評価値が最小になる近傍状態を、最良状態として選択する。
 遷移判定部4は、現在の状態(図2参照)から、最良状態選択部3によって選択された最良状態に遷移するか否かを判定する。遷移判定部4は、現在の状態の評価値と最良状態の評価値との差分、および、シミュレーテッドアニーリングにおける温度に基づいて、遷移確率を計算する。そして、遷移判定部4は、その遷移確率に基づいて、現在の状態から最良状態に遷移させるか否かを判定する。
 状態遷移部5は、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に状態を遷移させる。この動作によって、現在の状態が変化する。
 温度制御部6は、シミュレーテッドアニーリングにおける温度を、シミュレーテッドアニーリングにおけるループ処理の回数に応じて変化させる。より具体的には、温度制御部6は、シミュレーテッドアニーリングにおけるループ処理の回数が増加するほど、温度を低下させる。
 近傍状態生成部1、評価値計算部2、最良状態選択部3、遷移判定部4、状態遷移部5、および、温度制御部6は、例えば、求解プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から求解プログラムを読み込み、その求解プログラムに従って、近傍状態生成部1、評価値計算部2、最良状態選択部3、遷移判定部4、状態遷移部5、および、温度制御部6として動作すればよい。
 次に、処理経過について説明する。図4は、本実施形態の処理経過の例を示すフローチャートである。既に説明した事項については、詳細な説明を省略する。QUBOの評価値関数(エネルギー関数)は予め求解装置10に入力されているものとする。また、本例では、図2に例示する場合と同様に、1番目から4番目までの近傍状態を求める場合を例にするが、最後の近傍状態は4番目の近傍状態に限定されない。
 まず、温度制御部6は、シミュレーテッドアニーリングにおける温度を初期値に設定する(ステップS1)。
 次に、近傍状態生成部1は、kの値を1に初期化する(ステップS2)。kは、生成される近傍状態が何番目の近傍状態かを示す変数である。
 次に、近傍状態生成部1は、k番目の近傍状態を求め、その近傍状態に遷移したとみなす(ステップS3)。最初にステップS3を実行するときには、k=1である。よって、近傍状態生成部1は、現在の状態から一部のスピンの値を変化させることによって、現在の状態の近傍状態(1番目の近傍状態)を求め、その近傍状態に遷移したものとみなす。
 次に、評価値計算部2は、直近のステップS3で得られたk番目の近傍状態の評価値を計算する(ステップS4)。
 そして、近傍状態生成部1は、4番目の近傍状態まで得られたか否かを判定する(ステップS5)。
 4番目の近傍状態まで得られていない場合(ステップS5のNo)、近傍状態生成部1は、kの値を1インクリメントする(ステップS6)。
 ステップS6の後、ステップS3以降の処理を繰り返す。2回目以降のステップS3の処理では、k-1番目の近傍状態から一部のスピンの値を変化させることによって、「k-1番目の近傍状態」の近傍状態(k番目の近傍状態)を求め、その近傍状態に遷移したものとみなす。
 4番目の近傍状態まで得られている場合(ステップS5のYes)、最良状態選択部3は、1番目から4番目までの近傍状態の中から最良状態を選択する(ステップS7)。すなわち、最良状態選択部3は、1番目から4番目までの近傍状態の中から、評価値が最小となっている近傍状態を最良状態として選択する。
 ステップS7の次に、遷移判定部4は、現在の状態の評価値とステップS7で選択された最良状態の評価値の差分、および、シミュレーテッドアニーリングにおける温度に基づいて、遷移確率を計算する(ステップS8)。そして、遷移判定部4は、その遷移確率に基づいて、現在の状態から最良状態に遷移させるか否かを判定する(ステップS9)。
 現在の状態から最良状態に遷移させると判定された場合(ステップS9のYes)、状態遷移部5は、現在の状態を最良状態に遷移させる(ステップS10)。ステップS10により、現在の状態が変化する。
 ステップS10の後、ステップS11に移行する。また、現在の状態から最良状態に遷移させないと判定された場合(ステップS9のNo)には、ステップS10を実行せずに、ステップS11に移行する。
 ステップS11では、温度制御部6は、シミュレーテッドアニーリングにおける温度を所定値だけ減少させる。
 ステップS2~S11のループ処理がシミュレーテッドアニーリングにおけるループ処理である。例えば、このループ処理を所定回数実行した時点で得られている状態を、組合せ最適化問題における解に該当する状態としてもよい。
 本実施形態において、近傍状態生成部1は、現在の状態の近傍となる状態を求め、その状態に遷移したものとみなす。その後、近傍状態生成部1は、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。すなわち、近傍状態生成部1は、現在の状態を起点として、連鎖的に近傍状態を求める。そして、最良状態選択部3は、得られた個々の近傍状態の中から最良状態を選択する。そして、遷移判定部4が、現在の状態から最良状態に遷移させるか否かを判定し、現在の状態から最良状態に遷移させると判定された場合に、状態遷移部5が現在の状態を最良状態に遷移させる。従って、最良状態は、現在の状態の近傍状態だけでなく、現在の状態を起点として、連鎖的に求められた複数の近傍状態の中から選択される。よって、本実施形態では、局所解から他の局所解に遷移しやすく、組合せ最適化問題の最適解を高速に求めることができる。
実施形態2.
 本発明の第2の実施形態の求解装置の構成例は、図1と同様に表すことができる。よって、図1を参照して第2の実施形態を説明する。また、第2の実施形態でも、QUBOが適用される場合を例にして説明する。また、第1の実施形態と同様の事項については、説明を省略する。
 第2の実施形態は、特許文献2に類似した技術を適用した実施形態である。
 本実施形態では、スピンの値が4行4列に並んだ状態を例にして説明する。そして、各行のスピンの組にはそれぞれ、one-hot 制約が予め定めされているものとする。同様に、各列のスピンの組にもそれぞれ、one-hot 制約が予め定めされているものとする。すなわち、8個の組に対して、one-hot 制約が定められているものとする。
 第1の実施形態と同様に、近傍状態生成部1は、現在の状態から一部のスピンの値を変化させることによって、現在の状態の近傍となる状態を求め、その状態に遷移したものとみなす。その後、さらに、近傍状態生成部1は、遷移したとみなした状態から一部のスピンの値を変化させることによってその遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。第1の実施形態と同様に、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数が固定値であるものとする。従って、1番目から所定番目までの近傍状態が得られる。
 ただし、近傍状態生成部1は、近傍となる状態を求めるときに、スピンを選択して、そのスピンが属する組を選択する。選択したスピンが属する組が複数存在する場合には、近傍状態生成部1は、その複数の組の中から1つの組を選択する。近傍状態生成部1は、選択した組が予め定められた制約を満たしている場合に、その組がその制約を満たした状態を維持するように、選択したスピンを含む1つ以上のスピンの値を変化させる。
 また、近傍状態生成部1は、近傍となる状態を求めるときに、制約が満たされていないスピンの組が存在する場合には、その組が制約を満たす状態に近づくように、スピンを選択し、そのスピンの値を変化させる。
 図5は、第2の実施形態における現在の状態、および、連鎖的に求められた複数の近傍状態の例を示す模式図である。図5に示す例では、現在の状態が全ての制約(8個のone-hot 制約)を満たしている場合を例示しているが、現在の状態において、一部または全部のone-hot 制約が満たされていなくてもよい。また、図5では、1番目から5番目の近傍状態までを求める場合を例示している。ただし、何番目の近傍状態まで求めるかは、特に限定されない。
 近傍状態生成部1が、現在の状態の近傍状態(1番目の近傍状態)を求めるときに、第1行第1列のスピンを選択し、そのスピンが属する組として、第1行のスピンの組を選択したとする。第1行のスピンの組はone-hot 制約を満たしているので、近傍状態生成部1は、第1行のスピンの組がone-hot 制約を満たした状態を維持するように、第1行第1列のスピンの値、および、第1行第3列のスピンの値をそれぞれ変化させる。この結果、近傍状態生成部1は、1番目の近傍状態を得て、その近傍状態に遷移したものとみなす(図5参照)。
 1番目の近傍状態では、第1列のスピンの組で、one-hot 制約が満たされていない状態になっている。近傍状態生成部1は、第1列のスピンの組がone-hot 制約を満たす状態に近づくように、例えば、第3行第1列のスピンを選択し、そのスピンの値を変化させる。この結果、近傍状態生成部1は、2番目の近傍状態を得て、その近傍状態に遷移したものとみなす(図5参照)。
 2番目の近傍状態では、第3列のスピンの組で、one-hot 制約が満たされていない状態になっている。近傍状態生成部1は、第3列のスピンの組がone-hot 制約を満たす状態に近づくように、例えば、第2行第3列のスピンを選択し、そのスピンの値を変化させる。この結果、近傍状態生成部1は、3番目の近傍状態を得て、その近傍状態に遷移したものとみなす(図5参照)。
 3番目の近傍状態では、第2行のスピンの組で、one-hot 制約が満たされていない状態になっている。近傍状態生成部1は、第2行のスピンの組がone-hot 制約を満たす状態に近づくように、例えば、第2行第2列のスピンを選択し、そのスピンの値を変化させる。この結果、近傍状態生成部1は、4番目の近傍状態を得て、その近傍状態に遷移したものとみなす(図5参照)。
 4番目の近傍状態では、第2列のスピンの組で、one-hot 制約が満たされていない状態になっている。近傍状態生成部1は、第2列のスピンの組がone-hot 制約を満たす状態に近づくように、例えば、第3行第2列のスピンを選択し、そのスピンの値を変化させる。この結果、近傍状態生成部1は、5番目の近傍状態を得て、その近傍状態に遷移したものとみなす(図5参照)。
 5番目の近傍状態では、全ての制約(8個のone-hot 制約)を満たしている。ただし、1番目から5番目までの近傍状態の中に、全ての制約を満たした近傍状態が含まれていなくてもよい。
 また、本例のように、制約が複数存在する場合に、近傍状態生成部1が近傍状態を求めるとする。この場合、近傍状態生成部1は、満たされる制約の数が最も増加するように、値を変化させるスピンを選択してもよい。
 また、最後の近傍状態(本例では、5番目の近傍状態)を求めるまでの過程において、全ての制約が満たされている近傍状態から、少なくとも一部の組において制約が満たされていない近傍状態に遷移したとみなすことがあってもよい。
 評価値計算部2、最良状態選択部3、遷移判定部4、状態遷移部5および温度制御部6の動作は、第1の実施形態における評価値計算部2、最良状態選択部3、遷移判定部4、状態遷移部5および温度制御部6の動作と同様であり、説明を省略する。
 第2の実施形態においても、最良状態は、現在の状態を起点として、連鎖的に求められた複数の近傍状態の中から選択される。よって、本実施形態では、局所解から他の局所解に遷移しやすく、組合せ最適化問題の最適解を高速に求めることができる。
 次に、本発明の各実施形態の変形例を説明する。
 第1の実施形態および第2の実施形態では、QUBOが適用される場合を示したが、イジングモデルが適用されてもよい。この場合、イジングモデルの評価値関数(エネルギー関数)が本発明の求解装置10に入力される。そして、評価値計算部2は、その評価値関数を用いて、個々の近傍状態それぞれに関して、近傍状態に対応する評価値を計算すればよい。
 また、第1の実施形態および第2の実施形態において、QUBOやイジングモデルが適用されなくてもよい。この場合、本発明の求解装置10には、QUBOまたはイジングモデルのエネルギー関数以外の評価値関数が入力される。QUBOやイジングモデルが適用されない場合、シミュレーテッドアニーリングでは、評価値が最大または最小となる状態が最適解として求められる。前述のように、評価値が最大となる状態を求めるか、または、評価値が最小となる状態を求めるかは、組合せ最適化問題に依存する。
 評価値が最大となる状態を求める場合、最良状態選択部3は、個々の近傍状態(遷移したとみなした個々の状態)の中から、近傍状態に対応する評価値が最大になる近傍状態を、最良状態として選択する。
 また、評価値が最小となる状態を求める場合、最良状態選択部3は、個々の近傍状態(遷移したとみなした個々の状態)の中から、近傍状態に対応する評価値が最小になる近傍状態を、最良状態として選択する。
 また、第1の実施形態および第2の実施形態では、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数(以下、繰り返し回数と記す。)が固定値である場合を例にして説明した。シミュレーテッドアニーリングの過程において、近傍状態生成部1は、繰り返し回数を変更してもよい。すなわち、近傍状態生成部1は、1番目から何番目までの近傍状態を求めるのかを、シミュレーテッドアニーリングの過程で変更してよい。
 例えば、近傍状態生成部1は、シミュレーテッドアニーリングにおける温度に基づいて、繰り返し回数を変更してもよい。例えば、近傍状態生成部1は、シミュレーテッドアニーリングにおける温度が閾値(温度と比較される閾値)以下になったときに、繰り返し回数を増加させてもよい。
 また、例えば、近傍状態生成部1は、シミュレーテッドアニーリングにおけるループ処理(例えば、図4に示すステップS2~S11のループ処理)の回数に基づいて、繰り返し回数を変更してもよい。例えば、近傍状態生成部1は、ループ処理の回数が閾値(ループ処理の回数と比較される閾値)以上になったときに、繰り返し回数を増加させてもよい。
 また、例えば、近傍状態生成部1は、遷移判定部4による判定回数(例えば、ステップS9の判定回数)に対する、現在の状態から最良状態に遷移させると判定された回数(例えば、ステップS9からステップS10に移行した回数)の割合(以下、受理率と記す。)に基づいて、繰り返し回数を変更してもよい。例えば、近傍状態生成部1は、受理率の回数が閾値(受理率と比較される閾値)以下になったときに、繰り返し回数を増加させてもよい。
 また、第1の実施形態において、近傍状態生成部1は、制約が満たされた近傍状態に遷移したとみなすまで、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなす繰り返し処理を続けてもよい。
 第2の実施形態において、近傍状態生成部1は、複数の全ての制約が満たされた近傍状態に遷移したとみなすまで、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなす繰り返し処理を続けてもよい。
 図6は、本発明の各実施形態の求解装置10に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004とを備える。
 本発明の各実施形態の求解装置10は、コンピュータ1000によって実現される。求解装置10の動作は、求解プログラムの形式で補助記憶装置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 )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図7は、本発明の求解装置の概要を示すブロック図である。本発明の求解装置は、近傍状態生成手段71と、最良状態選択手段73と、遷移判定手段74と、状態遷移手段75とを備える。
 近傍状態生成手段71(例えば、近傍状態生成部1)は、現在の状態の近傍となる状態を求め、その状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、その遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す。
 最良状態選択手段73(例えば、最良状態選択部3)は、遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する。
 遷移判定手段74(例えば、遷移判定部4)は、現在の状態から最良状態に遷移させるか否かを判定する。
 状態遷移手段75(例えば、状態遷移部5)は、現在の状態から最良状態に遷移させると判定された場合に、現在の状態を最良状態に遷移させる。
 そのような構成により、組合せ最適化問題の最適解を高速に求めることができる。
 上記の本発明の各実施形態およびその変形例は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
 シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解装置であって、
 現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成手段と、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択手段と、
 前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定手段と、
 前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移手段とを備える
 ことを特徴とする求解装置。
(付記2)
 イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
 前記最良状態選択手段は、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択する
 付記1に記載の求解装置。
(付記3)
 前記近傍状態生成手段は、
 現在の状態から一部のスピンの値を変化させることによって前記現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態から一部のスピンの値を変化させることによって前記遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す
 付記2に記載の求解装置。
(付記4)
 前記近傍状態生成手段は、
 近傍となる状態を求めるときに、スピンを選択し、前記スピンが属する組を選択し、
 前記組が予め定められた制約を満たしている場合に、前記組が前記制約を満たした状態を維持するように、前記スピンを含む1つ以上のスピンの値を変化させる
 付記3に記載の求解装置。
(付記5)
 前記近傍状態生成手段は、
 近傍となる状態を求めるときに、制約が満たされていないスピンの組が存在する場合には、前記組が制約を満たす状態に近づくように、スピンを選択し、前記スピンの値を変化させる
 付記4に記載の求解装置。
(付記6)
 前記近傍状態生成手段は、
 遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、シミュレーテッドアニーリングにおける温度に基づいて変更する
 付記1から付記5のうちのいずれかに記載の求解装置。
(付記7)
 前記近傍状態生成手段は、
 遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、シミュレーテッドアニーリングにおけるループ処理の回数に基づいて変更する
 付記1から付記5のうちのいずれかに記載の求解装置。
(付記8)
 前記近傍状態生成手段は、
 遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、前記遷移判定手段による判定回数に対する、前記現在の状態から前記最良状態に遷移させると判定された回数の割合に基づいて変更する
 付記1から付記5のうちのいずれかに記載の求解装置。
(付記9)
 コンピュータが、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解方法であって、
 前記コンピュータが、
 現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理を実行し、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理を実行し、
 前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定処理を実行し、
 前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移処理を実行する
 ことを特徴とする求解方法。
(付記10)
 イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
 前記コンピュータが、前記最良状態選択処理で、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択する
 付記9に記載の求解方法。
(付記11)
 コンピュータに、シミュレーテッドアニーリングを実行させることによって、組合せ最適化問題の解に相当する状態を求めさせる求解プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
 前記コンピュータに、
 現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理、
 前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定処理、および、
 前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移処理
 を実行させるための求解プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記12)
 イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
 前記コンピュータに
 前記最良状態選択処理で、
 遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択させる
 求解プログラムを記録した付記11に記載のコンピュータ読み取り可能な記録媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、組合せ最適化問題の解を求める求解装置に好適に適用される。
 1 近傍状態生成部
 2 評価値計算部
 3 最良状態選択部
 4 遷移判定部
 5 状態遷移部
 6 温度制御部
 10 求解装置

Claims (12)

  1.  シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解装置であって、
     現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成手段と、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択手段と、
     前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定手段と、
     前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移手段とを備える
     ことを特徴とする求解装置。
  2.  イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
     前記最良状態選択手段は、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択する
     請求項1に記載の求解装置。
  3.  前記近傍状態生成手段は、
     現在の状態から一部のスピンの値を変化させることによって前記現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態から一部のスピンの値を変化させることによって前記遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す
     請求項2に記載の求解装置。
  4.  前記近傍状態生成手段は、
     近傍となる状態を求めるときに、スピンを選択し、前記スピンが属する組を選択し、
     前記組が予め定められた制約を満たしている場合に、前記組が前記制約を満たした状態を維持するように、前記スピンを含む1つ以上のスピンの値を変化させる
     請求項3に記載の求解装置。
  5.  前記近傍状態生成手段は、
     近傍となる状態を求めるときに、制約が満たされていないスピンの組が存在する場合には、前記組が制約を満たす状態に近づくように、スピンを選択し、前記スピンの値を変化させる
     請求項4に記載の求解装置。
  6.  前記近傍状態生成手段は、
     遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、シミュレーテッドアニーリングにおける温度に基づいて変更する
     請求項1から請求項5のうちのいずれか1項に記載の求解装置。
  7.  前記近傍状態生成手段は、
     遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、シミュレーテッドアニーリングにおけるループ処理の回数に基づいて変更する
     請求項1から請求項5のうちのいずれか1項に記載の求解装置。
  8.  前記近傍状態生成手段は、
     遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す回数を、前記遷移判定手段による判定回数に対する、前記現在の状態から前記最良状態に遷移させると判定された回数の割合に基づいて変更する
     請求項1から請求項5のうちのいずれか1項に記載の求解装置。
  9.  コンピュータが、シミュレーテッドアニーリングを実行することによって、組合せ最適化問題の解に相当する状態を求める求解方法であって、
     前記コンピュータが、
     現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理を実行し、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理を実行し、
     前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定処理を実行し、
     前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移処理を実行する
     ことを特徴とする求解方法。
  10.  イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
     前記コンピュータが、前記最良状態選択処理で、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択する
     請求項9に記載の求解方法。
  11.  コンピュータに、シミュレーテッドアニーリングを実行させることによって、組合せ最適化問題の解に相当する状態を求めさせる求解プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
     前記コンピュータに、
     現在の状態の近傍となる状態を求め、前記状態に遷移したとみなし、その後、遷移したとみなした状態の近傍となる状態を求め、前記遷移したとみなした状態の近傍となる状態に遷移したとみなすことを繰り返す近傍状態生成処理、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最大または最小になる状態を、最良状態として選択する最良状態選択処理、
     前記現在の状態から前記最良状態に遷移させるか否かを判定する遷移判定処理、および、
     前記現在の状態から前記最良状態に遷移させると判定された場合に、前記現在の状態を前記最良状態に遷移させる状態遷移処理
     を実行させるための求解プログラムを記録したコンピュータ読み取り可能な記録媒体。
  12.  イジングモデルの評価値またはQUBO(Quadratic Unconstrained Binary Optimization )の評価値が用いられ、
     前記コンピュータに
     前記最良状態選択処理で、
     遷移したとみなされた個々の状態の中から、状態に対応する評価値が最小になる状態を、最良状態として選択させる
     請求項11に記載の求解プログラムを記録したコンピュータ読み取り可能な記録媒体。
PCT/JP2022/025053 2022-06-23 2022-06-23 求解装置、求解方法および求解プログラム WO2023248414A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025053 WO2023248414A1 (ja) 2022-06-23 2022-06-23 求解装置、求解方法および求解プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/025053 WO2023248414A1 (ja) 2022-06-23 2022-06-23 求解装置、求解方法および求解プログラム

Publications (1)

Publication Number Publication Date
WO2023248414A1 true WO2023248414A1 (ja) 2023-12-28

Family

ID=89379273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/025053 WO2023248414A1 (ja) 2022-06-23 2022-06-23 求解装置、求解方法および求解プログラム

Country Status (1)

Country Link
WO (1) WO2023248414A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070662A (ja) * 2002-08-06 2004-03-04 Mitsubishi Electric Corp 状態空間の探索方式
JP2014525162A (ja) * 2011-12-29 2014-09-25 北京大学 動画伝送、受信方法および装置
WO2021059338A1 (ja) * 2019-09-24 2021-04-01 日本電気株式会社 求解システム、求解方法および求解プログラム
JP2022015503A (ja) * 2020-07-09 2022-01-21 富士通株式会社 情報処理システム、情報処理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004070662A (ja) * 2002-08-06 2004-03-04 Mitsubishi Electric Corp 状態空間の探索方式
JP2014525162A (ja) * 2011-12-29 2014-09-25 北京大学 動画伝送、受信方法および装置
WO2021059338A1 (ja) * 2019-09-24 2021-04-01 日本電気株式会社 求解システム、求解方法および求解プログラム
JP2022015503A (ja) * 2020-07-09 2022-01-21 富士通株式会社 情報処理システム、情報処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KASAI, MASAYUKI; MIKI, MITSUNORI; HIROYASU, TOMOYUKI: "Temperature parallel simulated annealing with adaptive neighborhood", IPSJ SIG TECHNICAL REPORTS, vol. 99, no. 96, 26 November 1999 (1999-11-26), pages 21 - 24, XP009551859 *

Similar Documents

Publication Publication Date Title
US7886252B2 (en) Same subgraph detector for data flow graph, high-order combiner, same subgraph detecting method for data flow graph, same subgraph detection control program for data flow graph, and readable recording medium
CN109710981B (zh) Fpga的布线方法及系统
US11182157B2 (en) Information processing device, arithmetic device, and information processing method
US11372929B2 (en) Sorting an array consisting of a large number of elements
WO2021059338A1 (ja) 求解システム、求解方法および求解プログラム
US10726179B1 (en) Circuit design supporting method and storage medium
KR101222486B1 (ko) 비결정적 유한 오토마타의 비결정성을 선택적으로 제거하기 위한 방법, 서버, 단말 장치 및 컴퓨터 판독 가능한 기록 매체
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
WO2022091408A1 (ja) 求解方法選択装置および方法
EP3745319A1 (en) Optimization apparatus and optimization method
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体
WO2020142251A1 (en) Prediction for time series data using a space partitioning data structure
US20210279575A1 (en) Information processing apparatus, information processing method, and storage medium
US20210173978A1 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
TWI705340B (zh) 相位圖像生成器的訓練方法及相位圖像分類器的訓練方法
WO2022085133A1 (ja) 求解システムおよび求解方法
US20140232726A1 (en) Space-filling curve processing system, space-filling curve processing method, and program
JP7405244B2 (ja) 求解システム、求解方法および求解プログラム
JP7420257B2 (ja) 求解システム、求解方法、および、求解プログラム
JP2020123035A (ja) ソート方法、ソートプログラム及びソート装置
WO2021084580A1 (ja) モデル生成システム、方法およびプログラム
JP2020181318A (ja) 最適化装置、最適化方法、及びプログラム
WO2023203769A1 (ja) 重み係数算出装置および重み係数算出方法
CN113688089B (zh) 数据处理方法、计算系统和计算机存储介质
WO2023047462A1 (ja) 子問題生成装置および子問題生成方法

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: 22947975

Country of ref document: EP

Kind code of ref document: A1