This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2019-85334, filed on Apr. 26, 2019, the entire contents of which are incorporated herein by reference.
Embodiments relate to an optimization device and a control method for the optimization device.
In recent years, in information processing performed in each of fields, for example, processing for solving an optimization problem for minimizing needed resources, maximizing effects, and the like is performed.
Japanese Laid-open Patent Publication No. 2004-244721, Japanese Laid-open Patent Publication No. 2002-217902, and Japanese National Publication of International Patent Application No. 2016-519857 are disclosed as related art.
According to an aspect of the embodiments, an information processing device includes: a memory; and a processor coupled to the memory and configured to: execute an annealing operation; individually hold, in the memory, a temperature corresponding to replica state identification information that identifies a replica state corresponding to an annealing operation of N times previously executed wherein N is a positive integer, a plurality of parameters corresponding to the replica state, and energy corresponding to the replica state; individually calculate a barycenter of a plurality of parameters corresponding to each replica state of N times held in the memory; hold, in the memory, the barycenter of the plurality of parameters corresponding to the each replica state of N times; determine whether or not a barycenter is within a predetermined distance, for each of a plurality of sets of replica states corresponding to a temperature equal to or lower than a predetermined temperature, among the replica states of N times held in the memory; change a temperature corresponding to any one of replica states included in a set of replica states determined to have a barycenter within the predetermined distance, to a temperature exceeding the predetermined temperature; and use the changed temperature and a plurality of parameters corresponding to a replica state corresponding to the temperature, to perform the annealing operation.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
For example, in a discrete optimization problem, a combinational optimization problem, and the like among such optimization problems, there is a case where it is very difficult to calculate a solution since a variable takes a discrete value (a value that is not a continuous value). Specifically, for example, in a discrete optimization problem, there is a case where it is difficult to calculate a solution since there are a large number of solutions (hereinafter, also referred to as local solutions) that are not optimal solutions but take a minimum value in a local neighborhood.
When solving such a discrete optimization problem, for example, there is used an approximate solution method using a property unique to a problem, or a solution method called metaheuristic that does not rely on a property of a problem. Specifically, for example, in metaheuristic, there is used a simulated annealing method in a broad sense that is related to a solution method using the Markov chain Monte Carlo method, and is called an exchange Monte Carlo method or a replica exchange method.
This simulated annealing method is a method of calculating an optimal solution by stochastically changing a state by using random numbers. Then, in the simulated annealing method, it has been proved that the state reaches an optimal solution in a limit where a time (the number of iterations of the annealing operation) becomes infinite when an acceptance (permission) probability of a state transition is determined as in the following Expressions (1) and (2) by using a temperature and an energy change accompanying the state transition. Note that T in the following Expression (1) is a parameter representing a temperature, and it is preferable to take a large initial value in accordance with a problem and it is preferable to gradually lower the value over time.
[Formula 1]
p(ΔE,T)=f(−ΔE/T) Expression (1)
[Formula 2]
f
metro(x)=min(1,ex) Expression (2)
As described above, in the simulated annealing method, an optimal solution may be obtained by setting the number of iterations of the annealing operation to infinity. However, in practice, it may not be possible to reliably determine the optimal solution since a solution needs to be obtained with a finite number of iterations. Furthermore, as described above, the temperature may not be sufficiently lowered in a finite time because the temperature is lowered at a very slow pace.
Therefore, in an actual simulated annealing method, the temperature needs to be lowered at a faster pace than a pace of lowering the temperature at which theoretical convergence is guaranteed. Then, in the actual simulated annealing method, iteration of the annealing operation is repeated while lowering the temperature, the operation is ended when a certain number of iterations is reached or when a condition such as energy falls below a predetermined value is satisfied, and a state at the end is outputted as a solution.
Note that, as described above, since the temperature does not become zero with a finite number of iterations, a state occupancy probability follows the Boltzmann distribution and the like even at the end of the operation, and there is a possibility that an optimal solution or a good solution is not to be outputted. Therefore, the actual simulated annealing method adopts, for example, a method of outputting a state with lowest energy among individual states obtained during the iteration, and the like.
As described above, the simulated annealing method has a problem that a calculation time is relatively long because the temperature needs to be gradually lowered. Furthermore, the simulated annealing method has a problem that it is difficult to appropriately adjust the way of lowering the temperature in accordance with the problem. Specifically, for example, when the temperature is lowered too slowly, the temperature is not to be lowered sufficiently within a finite time, Therefore, an energy range of final heat distribution is widened and an occupancy probability of a good solution is not to increase. Whereas, when the temperature is lowered too quickly, the temperature will drop before escape from a local solution, Therefore, even in this case, the occupancy probability of a good solution is not to increase.
Next, the replica exchange method will be described.
The replica exchange method is a method of simultaneously performing Monte Carlo search (hereinafter also referred to as stochastic search) using multiple temperatures, comparing energy corresponding to each state for every predetermined number of iterations, and performing an operation of exchanging states for two temperatures with an appropriate probability.
In the example illustrated in
The exchange control unit 52 gives temperature information (hereinafter, also simply referred to as a temperature) to each annealing unit 51. Specifically, for example, the exchange control unit 52 gives an inverse temperature βi (0≤i≤n), for example, which is a reciprocal of T, to each annealing unit 51.
Whereas, as illustrated in
The state holding unit 61 holds a state Si that is a value of a plurality of state variables (hereinafter, also referred to as parameters) included in an evaluation function. Then, the state holding unit 61 updates the state Si, on the basis of a flag f indicating propriety of change in the state variable (hereinafter, also referred to as a state transition) and a number N of a state variable corresponding to the flag f.
The evaluation function calculation unit 62 calculates an energy change accompanying the state transition. Specifically, for example, when the evaluation function is represented by an Ising model represented by coupling between two state variables, and allows only a state transition corresponding to one state change at a time, the evaluation function calculation unit 62 calculates an energy change ΔEi,j accompanying a state transition corresponding to each of the plurality of state variables, on the basis of a value of each state variable, a coupling coefficient indicating a strength of coupling between the state variables, the number N, and the flag f. The energy change ΔEi,j indicates an energy change accompanying a state transition corresponding to a state variable of a j-th annealing unit 51.
Note that a value of the coupling coefficient according to the optimization problem to be calculated may be, for example, a value previously stored in a memory, a register, and the like. Furthermore, the evaluation function calculation unit 62 may be realized with use of a logic circuit such as a product-sum operation circuit, for example.
Similarly to the simulated annealing method, the transition control unit 63 performs stochastic search by determining an acceptance probability of a state transition corresponding to a state variable of the j-th annealing unit 51, by substituting the energy change ΔEi,j and the inverse temperature βi assigned by the exchange control unit 52 into the following Expression (3). Note that, in the following Expression (3), a function f is the same as that in Expression (1), and for example, the function f in the metropolis method of Expression (2) is used.
[Formula 3]
p(ΔEi,j,βi)=f(−βiΔEi,j) Expression (3)
Then, the transition control unit 63 outputs the flag f and the number N on the basis of the acceptance probability of the state transition calculated by Expression (3). Moreover, the transition control unit 63 updates and outputs energy Ei on the basis of the energy change ΔEi,j.
Whereas, the exchange control unit 52 observes the energy E in each annealing unit 51 every time the annealing operation is iterated for a certain number of times in each annealing unit 51, and calculates an exchange probability represented by the following Expression (4) by using the energy E and an inverse temperature in two of the annealing units 51. Then, the exchange control unit 52 exchanges the values of the individual state variables in the two annealing units 51 on the basis of the calculated exchange probability. In this case, the exchange control unit 52 may exchange the inverse temperature β given to each of the two annealing units 51 instead of the value of the state variable.
Note that, in the following Expression (4), αi is the inverse temperature given to the annealing unit 51ai, βj is the inverse temperature given to the j-th annealing unit 51, Ei is the energy in the annealing unit 51ai, and Ej is the energy in the j-th annealing unit 51. Furthermore, in Expression (4), a function f is the same as that in Expression (1), and for example, the function f in the metropolis method of Expression (2) is used.
[Formula 4]
p
ij
=f((βi−βj)(Ei−Ej)) Expression (4)
Even when such exchange is performed, probability distribution for a state of each temperature converges to a Boltzmann distribution for each temperature. Then, a relaxation time needed for convergence of the probability distribution is significantly shorter than a case where no exchange is performed.
Note that, for the two annealing units 51 to be exchanged, it is desirable to select two annealing units 51 given with close temperatures (for example, two annealing units 51 given with adjacent temperatures) so as to avoid a too small exchange probability.
Here, in the optimization device 50 using the replica exchange method as described above, a region corresponding to a same local solution may be searched in the plurality of annealing units 51 (for example, a plurality of annealing units 51 given with a low temperature). Therefore, the optimization device 50 may not efficiently search for the optimal solution.
Thus, in one aspect, an optimization device and a control method for the optimization device that enable efficient search for an optimal solution may be provided.
First, an optimization device 10 according to a first embodiment will be described.
As illustrated in
Each of the annealing units 11 is the same as the annealing unit 51ai described in
As illustrated in
The history information holding unit 12a holds history information 131 (hereinafter, also referred to as replica history information 131). The history information 131 is information including: a temperature corresponding to replica state identification information (hereinafter, also referred to as a replica number) identifying a replica state of each annealing unit 11; a plurality of parameters corresponding to the replica state of each annealing unit 11; and the energy E corresponding to the replica state of each annealing unit 11.
The barycenter calculation unit 12b individually calculates a barycenter (hereinafter also referred to as barycenter information 132) of a plurality of parameters corresponding to each replica state of N times held by the history information holding unit 12a. In other words, for example, the barycenter calculation unit 12b calculates a barycenter of a plurality of parameters for each replica state of each annealing unit 11. Then, the barycenter holding unit 12c holds the barycenter information 132 calculated by the barycenter calculation unit 12b.
The barycenter distance determination unit 12d determines whether or not the barycenter is within a predetermined distance, for each of a plurality of sets of replica states (hereinafter also referred to as low-temperature replica states) corresponding to a temperature equal to or lower than a predetermined temperature, among a plurality of replica states for which the barycenter holding unit 12c holds the barycenter information 132.
The temperature adjustment unit 12e changes a temperature corresponding to any one of replica states included in a set of replica states determined to have the barycenter within the predetermined distance (hereinafter, also simply referred to as a set of replica states), to a temperature exceeding a predetermined temperature.
Specifically, for example, the, temperature adjustment unit 12e exchanges a temperature corresponding to any one of replica states included in the set of replica states, for example, with a temperature of a replica state that is not included in the set of replica states, among a plurality of replica states for which the barycenter holding unit 12c holds the barycenter information 132.
Furthermore, the temperature adjustment unit 12e raises, for example, a temperature corresponding to any one of replica states included in the set of replica states, until the barycenter of individual replica states included in the set of replica states exceeds a predetermined distance.
The exchange operation unit 12f exchanges a temperature (including a temperature changed by the temperature adjustment unit 12e) corresponding to the replica state of each annealing unit 11.
Specifically, for example, from the temperature and the energy E corresponding to each of two annealing units 11 that are candidates for exchanging the temperature (hereinafter, also simply referred to as two annealing units 11), the exchange operation unit 12f calculates an exchange probability pij of the temperatures corresponding to the replica states of the two annealing units 11 (the exchange probability pij described in Expression (3) described above). Then, the exchange operation unit 12f determines whether or not to exchange the temperatures corresponding to the replica states of the two annealing units 11, for example, on the basis of a comparison result between the calculated exchange probability pij and a random number.
The output control unit 12g gives, to each annealing unit 11, a temperature (including the temperature exchanged by the exchange operation unit 12f) corresponding to the replica state of each annealing unit 11. Then, each annealing unit 11 performs an annealing operation by using the temperature given by the output control unit 12g and using a plurality of parameters corresponding to the replica state of each annealing unit 11.
Note that the history information holding unit 12a and the barycenter holding unit 12c may be, for example, storage circuits such as registers. Furthermore, the history information holding unit 12a and the barycenter holding unit 12c may be a volatile memory such as a random access memory (RAM), or a non-volatile memory such as a flash memory or an electrically erasable programmable read only memory (EEPROM).
Next, an operation of the optimization device 10 will be described.
As illustrated in
Then, when the energy E and the plurality of parameters are received from each annealing unit 11 (YES in S11), the exchange operation unit 12f generates the history information 131 in which the energy and the plurality of parameters received in S11 are associated with a temperature given to the annealing unit 11 as the transmission source of the energy and the plurality of parameters received in S11 (S12).
Thereafter, the history information holding unit 12a of the exchange control unit 12 holds the history information 131 generated in S12 (S13). Specifically, for example, the history information holding unit 12a individually holds the history information 131 for every annealing unit 11 and for every annealing operation. Hereinafter, a specific example of the history information 131 held by the history information holding unit 12a will be described.
[Specific Example of History Information]
The history information 131 illustrated in
Specifically, for example, the history information 131 illustrated in
Furthermore, the history information 131 illustrated in
Note that, hereinafter, the annealing 11 corresponding to information whose “replica number” is “RP1”, “RP 2”, “RP 3”, “RP4”, and “RP5” will be also respectively referred to as a replica RP1, a replica RP2, a replica RP3, a replica RP4, and a replica RP5.
Returning to
Then, when the replica exchange timing comes (YES in S21), the barycenter calculation unit 12b of the exchange control unit 12 calculates the barycenter information 132 of a plurality of parameters corresponding to each replica state of N times held by the history information holding unit 12a, and causes the barycenter holding unit 12c to hold the barycenter information 132 (S22). Hereinafter, details of S22 will be described.
[Details of S22]
As illustrated in
Specifically, for example, “RP1”, “RP2”, “RP3”, “RP4”, and “RP5” are individually stored in “replica number” of the history information 131 described with reference to
Then, the barycenter calculation unit 12b calculates a barycenter of a plurality of parameters corresponding to the replica state specified in S31 (S32).
Specifically, for example, the barycenter calculation unit 12b refers to the history information 131 described with reference to
Thereafter, the barycenter calculation unit 12b causes the barycenter holding unit to hold the barycenter information 132 indicating the barycenter calculated in S32 (S33). Hereinafter, a specific example of the barycenter information 132 will be described.
[Specific Example of Barycenter Information (1)]
The barycenter information 132 illustrated in
Specifically, for example, when “0.21”, “0.63”, “0.99”, “0.02”, and “0.32” are respectively calculated as the barycenters of “variable 1”, “variable 2”, “variable 3”, “variable 4”, and “variable 5” corresponding to the replica RP1, the barycenter holding unit 12c individually holds, as illustrated in
Returning to
As a result, when it is determined that not all replica, states have been specified (NO in S34), the barycenter calculation unit 12b performs S31 and subsequent steps again.
Whereas, when it is determined that all the replica states have been specified (YES in S34), the barycenter calculation unit 12b ends S22. Note that, in this case, the barycenter holding unit 12c individually holds the barycenter information 132 corresponding to all replica numbers, as illustrated in
Returning to
[Details of S23]
As illustrated in
Specifically, for example, “RP1”, “RP2”, “RP3”,“RP4”, and “RP 5” are individually stored in “replica number” of the history information 131 described with reference to
Then, the barycenter distance determination unit 12d specifies a current temperature corresponding to the replica state specified in S41 (S42).
Specifically, for example, the barycenter distance determination unit 12d refers to the history information 131 described in
Subsequently, the barycenter distance determination unit 12d determines whether or, not the temperature specified in S42 is equal to or lower than a predetermined temperature (S43).
As a result, when it is determined that the temperature specified in S42 is equal to or lower than the predetermined temperature (YES in S44), the barycenter distance determination unit 12d causes a low-temperature information holding unit (not illustrated) to hold the low-temperature information 133 indicating that the replica state specified in S41 is low temperature (S45).
Note that the low-temperature information holding unit may be a storage circuit such as a register, similarly to the history information holding unit 12a and the like. Furthermore, the low-temperature information holding unit may be a volatile memory such as a RAM, or a nonvolatile memory such as a flash memory or an EEPROM.
Whereas, when it is determined that the temperature specified in S42 is not equal to or lower than the predetermined temperature (NO in S44), the barycenter distance determination unit 12d does not perform S45.
Thereafter, the barycenter distance determination unit 12d determines whether or not all replica states have been specified in S41 (S46).
As a result, when it is determined that not all replica states have been specified (NO in S46), the barycenter distance determination unit 12d performs S41 and subsequent steps again.
Whereas, when it is determined that all replica states have been specified (YES in S46), the barycenter distance determination unit 12d performs S51 and subsequent steps as illustrated in
[Specific Example of Low-Temperature Information]
The low-temperature information 133 illustrated in
Specifically, for example, the low-temperature information 133 illustrated in
Furthermore, the low-temperature information 133 illustrated in
Returning to
Specifically, for example, the low-temperature information 133 described with reference to
Then, the barycenter distance determination unit 12d calculates a distance of the barycenter corresponding to the set specified in S51 (S52).
Specifically, for example, the barycenter distance determination unit 12d refers to the barycenter information 132 held by the barycenter holding unit 12c, for, example, and calculates a distance of the barycenter corresponding to the set specified in S51 by using the following Expression (5) or Expression (6). Note that, in the following Expressions (5) and (6), m is the number of parameters, i and j are replica numbers each corresponding to the set specified in S51, x is a parameter number, RiGx is a value of a barycenter in an x-th parameter of an i-th replica, and RjGx is a value of a barycenter in an x-th parameter of a j-th replica.
Subsequently, the barycenter distance determination unit 12d determines whether or not the distance calculated in S52 is within a predetermined distance (S53).
As a result, when it is determined that the distance calculated in S52 is within a predetermined distance (YES in S54), the barycenter distance determination unit 12d causes an adjustment information holding unit (not illustrated) to hold adjustment information 134 indicating that the set of replica states specified in S52 is a temperature adjustment target (S55).
Note that the adjustment information holding unit may be a storage circuit such as a register, similarly to the history information holding unit 12a and the like. Furthermore, the adjustment information holding unit may be a volatile memory such as a RAM, or a nonvolatile memory such as a flash memory or an EEPROM.
Whereas, when it is determined that the distance calculated in S52 is not within the predetermined distance (NO in S54), the barycenter distance determination unit 12d does not perform S55.
Thereafter, the barycenter distance determination unit 12d determines whether or not all sets have been specified in S51 (S56).
As a result, when it is determined that not ail sets have been specified in S51 (NO in S56), the barycenter distance determination unit 12d performs S51 and subsequent steps.
Whereas, when it is determined that ail sets have been specified in S51 (YES in S56), the barycenter distance determination unit 12d ends S23. Hereinafter, a specific example of the adjustment information 134 will be described.
[Specific Example of Adjustment Information]
The adjustment information 134 illustrated in
Specifically, for example, the adjustment information 134 illustrated in
Returning to
[Details of S24]
As illustrated in
Specifically, for example, the temperature adjustment unit 12e refers to the adjustment information 134 described in
Then, the temperature adjustment unit 12e specifies a replica state corresponding to a temperature other than a lowest temperature among replica states corresponding to the set specified in S61 (S62).
In other words, for example, in the replica state corresponding to the lowest temperature among the replica states corresponding to the set specified in S61, there is a possibility that a ground state is still being searched. Therefore, the temperature adjustment unit 12e specifies, as the temperature adjustment target, a replica state corresponding to a temperature other than the lowest temperature among the replica states corresponding to the set specified in S61.
Specifically, for example, when a current temperature of the replica state corresponding to the annealing unit 11 whose “replica number” is “RP4” is lower than a current temperature of the replica state corresponding to the annealing unit 11 whose “replica number” is “RP5”, the temperature adjustment unit 12e specifies the replica state corresponding to the replica RP5.
Subsequently, the temperature adjustment unit 12e updates correspondence information (not illustrated) so that the temperature corresponding to the replica state specified in S62 exceeds the predetermined temperature (S63). The correspondence information is, for example, information which a replica number corresponding to the replica state of each annealing unit 11 is associated with a temperature given to each annealing unit 11. Therefore, in S63, the temperature adjustment unit 12e updates information indicating the temperature corresponding to the replica state specified in S62 in the information included in the correspondence information.
Moreover, the temperature adjustment unit 12e causes, a correspondence information holding unit (not illustrated) to hold the correspondence information updated in S63 (S64).
Note that the correspondence information holding unit may be a storage circuit such as a register, similarly to the history information holding unit 12a and the like. Furthermore, the correspondence information holding unit may be a volatile memory such as a RAM, or a nonvolatile memory such as a flash memory or an EEPROM.
Thereafter, the temperature adjustment unit 12e determines whether or not all sets have been specified in S61 (S65).
As a result, when it is determined that not all sets have been specified in S61 (NO in S65), the temperature adjustment unit 12e performs S61 and subsequent steps.
Whereas, when it is determined that all sets have been specified in S61 (YES in S65), the temperature adjustment unit 12e ends S24.
Note that S22 to S24 described in
Returning to
[Details of S25]
As illustrated in
Specifically, for example, the exchange operation unit 12f refers to the correspondence information held by the correspondence information holding unit, and specifies, for example, two annealing units 11 corresponding to adjacent temperatures.
Then, the exchange operation unit 12f calculates an exchange probability pij (the exchange probability pij described in Expression (3) described above) of temperatures corresponding to the replica states of the two annealing units 11 specified in S71 (the temperature given to the two annealing units 11), from the temperature and the energy corresponding to each of the two annealing units 11 specified in S71 (S72).
Subsequently, the exchange operation unit 12f determines whether or not to execute exchange of the temperatures corresponding to the replica states of the two annealing units 11 specified in S71, on the basis of a comparison result between the exchange probability pij calculated in S72 and a random number (S73).
As a result, when executing the exchange of the temperatures corresponding to the replica states of the two annealing units 11 specified in S71 (YES in S74), the exchange operation unit 12f exchanges information indicating the temperatures of the two annealing units 11 specified in S71 in the correspondence information held by the correspondence information holding unit (S75).
Whereas, when not executing the exchange of the temperatures corresponding to the replica states of the two annealing units 11 specified in S71 (NO in S74), the exchange operation unit 12f does not perform S75.
Note that, in S71, the exchange operation unit 12f may specify a plurality of sets of two annealing units 11 from the plurality of annealing units 11 whose information is included in the correspondence information held by the correspondence information holding unit. Then, the exchange operation unit 12f may individually perform S72 to S75 for the every specified set of two annealing units 11.
Thereafter, the output control unit 12g of the exchange control unit 12 gives, to each annealing unit 11, a temperature corresponding to the replica state of each annealing unit 11 (S76).
Specifically, for example, the output control unit 12g refers to the correspondence information held by the correspondence information holding unit, and transmits the temperature corresponding to the replica state of each annealing unit 11, to each annealing unit 11. Then, the exchange operation unit 12f and the output control unit 12g end S25.
In other words, for example, when detecting the presence of a set of low-temperature replica states whose barycenter is within a predetermined distance in the annealing operation in each annealing unit 11, the optimization device 10 in the present embodiment determines that there is a possibility that a region corresponding to a same local solution is searched in a plurality of annealing units 51 corresponding to the detected set. Then, in this case, the optimization device 10 changes one temperature of the detected set of the annealing units 11, to a higher temperature.
This allows the optimization device 10 to suppress searching of the region corresponding to the same local solution in the plurality of annealing units 51. Therefore, the optimization device 10 may efficiently search for the optimal solution.
Note that, in the case of the first embodiment, a replica state whose temperature is to be changed may be specified in another information processing device (not illustrated) provided outside the optimization device 10. In this case, the another information processing device executes a process for specifying the replica state whose temperature is to be changed, for example by causing a desirable program (not illustrated) and a CPU (not illustrated) to cooperate. Then, in response to receiving an instruction from the another information processing device, the temperature adjustment unit 12e may change a temperature of the replica state corresponding to the received instruction.
Furthermore, in the case of the first embodiment, the replica state whose temperature is to be changed may be specified by causing a CPU (not illustrated) provided in the optimization device 10 and a desirable program (not illustrated) to cooperate and execute a process.
Next, an optimization device 10 according to a second embodiment will be described. Note that, hereinafter, among operations of the optimization device 10 according to the second embodiment, differences from the operations of the optimization device 10 according to the first embodiment will be described.
[S24 in Second Embodiment]
First, S24 in the second embodiment will be described.
As illustrated in
Then, the temperature adjustment unit 12e specifies a replica state corresponding to a temperature other than a lowest temperature among replica states corresponding to the set specified in S81 (S82).
Thereafter, the temperature adjustment unit 12e determines whether or not all sets have been specified in S81 (S83).
As a result, when it is determined that not all sets have been specified in S81 (NO in S83) the temperature adjustment unit 12e performs S81 and subsequent steps.
Whereas, when it is determined that all sets have been specified in S81 (YES in S83), the temperature adjustment unit 12e ends S24.
[S25 in Second Embodiment]
Next, S25 in the second embodiment w be described.
The exchange operation unit 12f specifies on of the replica states specified in S82 (S91).
Then, for example, in correspondence information held by the correspondence information holding unit, the exchange operation unit 12f exchanges information indicating a temperature of the replica state specified in S91, with information indicating a temperature corresponding to the replica state of the annealing unit 11 corresponding to a highest temperature (S92).
In other words, for example, the exchange control unit 12 in the second embodiment suppresses searching of a region corresponding to a same local solution in a plurality of annealing units 51, by exchanging the temperature corresponding to the replica state specified in S91 with the temperature corresponding to another replica state with a higher temperature.
Thereafter, the exchange operation unit 12f determines whether or not all replica states have been specified in S91 (S93).
As a result, when it is determined that not all replica states have been specified in S91 (NO in S93), the exchange operation unit 12f performs S91 and subsequent steps.
Whereas, when it is determined that all replica states have been specified in S91 (YES in S93), the output control unit 12g gives, to each annealing unit 11, a temperature corresponding to the replica state of each annealing unit 11 (S76).
Specifically, for example, the output control unit 12g refers to the correspondence information held by the correspondence information holding unit, and transmits the temperature corresponding to the replica state of each annealing unit 11, to each annealing unit 11. Then, the exchange operation unit 12f and the output control unit 12g end S25.
This allows the optimization device 10 to promote the search for the optimal solution in each annealing unit 11 by a method different from that in the case of the first embodiment.
[Specific Example of Operation of Optimization Device]
Next, a specific example of an operation of the optimization device 10 will be described.
Specifically, for example, the graph illustrated in
Then, the graph illustrated in
Moreover, the graphs illustrated in
This allows the optimization device 10 to quickly resolve the situation where a plurality of replicas are searching a region corresponding to the same local solution. Therefore, the optimization device 10 may promote the search for the optimal solution in each annealing unit 11.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention, Although one or for embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-085334 | Apr 2019 | JP | national |