WO2022085133A1 - 求解システムおよび求解方法 - Google Patents

求解システムおよび求解方法 Download PDF

Info

Publication number
WO2022085133A1
WO2022085133A1 PCT/JP2020/039619 JP2020039619W WO2022085133A1 WO 2022085133 A1 WO2022085133 A1 WO 2022085133A1 JP 2020039619 W JP2020039619 W JP 2020039619W WO 2022085133 A1 WO2022085133 A1 WO 2022085133A1
Authority
WO
WIPO (PCT)
Prior art keywords
spin
energy
energy change
change
solution
Prior art date
Application number
PCT/JP2020/039619
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 JP2022556312A priority Critical patent/JP7428268B2/ja
Priority to US18/030,715 priority patent/US20230367926A1/en
Priority to PCT/JP2020/039619 priority patent/WO2022085133A1/ja
Publication of WO2022085133A1 publication Critical patent/WO2022085133A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]

Definitions

  • the present invention relates to a solution system for finding an optimum solution of a combinatorial optimization problem, a solution method, and a computer-readable recording medium on which a solution program is recorded.
  • the Ising model is a statistical mechanics model that expresses the behavior of a magnetic material by individual spins, but it can also be applied to the solution of combinatorial optimization problems.
  • the state of each spin is represented by "1" or "-1".
  • the Ising model is expressed as the following equation (1).
  • Both i and j in the equation (1) are variables representing spin. Further, s i in the equation (1) is a variable representing the state of spin i, and s j is a variable representing the state of spin j. J ij in the equation (1) is a constant corresponding to the combination of spin i and spin j. More specifically, J ij is a constant representing the interaction between spin i and spin j. J ij is defined as a constant for each combination of the possible value of i and the possible value of j. Further, h i in the equation (1) is a constant corresponding to the spin i. For each possible value of i, h i is defined as a constant.
  • Equation (1) representing the Ising model is applied to pseudo-quantum annealing, and by executing pseudo-quantum annealing, the optimum solution of the combinatorial optimization problem is obtained.
  • Pseudo-quantum annealing is also referred to as simulated annealing.
  • Pseudo-quantum annealing finds the optimum solution from multiple local solutions. Each local solution corresponds to the spin group state where the constraints in the combinatorial optimization problem are satisfied.
  • Patent Document 1 describes a simulated annealing method for controlling the temperature to be lowered.
  • the optimum solution of the combinatorial optimization problem may be obtained while raising or lowering the inverse temperature.
  • pseudo-quantum annealing when finding the optimum solution while raising or lowering the inverse temperature, the range of the inverse temperature or how much the inverse temperature is changed by trying the pseudo-quantum annealing multiple times. Determine parameters such as whether to change. Then, pseudo-quantum annealing is performed using the determined parameters. Therefore, it takes time to determine the parameters.
  • an object of the present invention is to provide a solution system, a solution method, and a computer-readable recording medium in which a solution program is recorded, which can shorten the time required to find the optimum solution of a combinatorial optimization problem. do.
  • the solution system according to the present invention is an equation expressing energy in a combination optimization problem, and when an equation including an objective function and a constraint term is given, when flipping any spin in each local solution of the combination optimization problem.
  • the first energy change calculation means for calculating the first energy change which is the change in the value of the constraint term of, and the second energy change which is the change in the value of the objective function when flipping any spin in each local solution.
  • the third energy change which is the energy change represented by the equation when flipping any spin in each local solution, is calculated.
  • third energy change calculation means to calculate, and for each third energy change, the inverse temperature that can flip any spin in each local solution is calculated, and the spin is flipped in each local solution. It is characterized by comprising a reverse temperature calculating means for calculating a reverse temperature that can be regarded as impossible, and an annealing means for performing pseudo-quantum annealing using a plurality of calculated reverse temperatures.
  • the solution method according to the present invention is an expression in which a computer expresses energy in a combination optimization problem, and when an expression including an objective function and a constraint term is given, any spin is applied to each local solution of the combination optimization problem.
  • the first energy change which is the change in the value of the constraint term when flipping
  • the second energy change which is the change in the value of the objective function when flipping any spin in each local solution
  • 3rd energy changes which are the energy changes expressed by the equation when flipping any spin in each local solution, are calculated, and each 3rd energy is calculated.
  • the reverse temperature at which any spin can be flipped in each local solution is calculated, and the reverse temperature at which the spin cannot be flipped is calculated at each local solution. It is characterized by performing pseudo-quantum annealing using temperature.
  • the computer-readable recording medium is an equation expressing energy in a combination optimization problem to a computer, and when an equation including an objective function and a constraint term is given, any local solution of the combination optimization problem will occur.
  • the first energy change calculation process that calculates the first energy change, which is the change in the value of the constraint term when flipping the spin, and the change in the value of the objective function when flipping any spin in each local solution. It is the change of energy represented by the equation when flipping any spin in each local solution based on the second energy change calculation process for calculating a certain second energy change, the first energy change and the second energy change.
  • third energy change calculation process to calculate, each local solution while calculating the reverse temperature at which any spin can be flipped in each local solution.
  • a reverse temperature calculation process that calculates the reverse temperature that can be regarded as unable to flip the spin, and a solution program for executing an annealing process that executes pseudo-quantum annealing using multiple calculated reverse temperatures. It is a computer-readable recording medium.
  • the solution system of the embodiment of the present invention obtains a plurality of reverse temperatures when finding the optimum solution of the combinatorial optimization problem, and performs pseudo quantum annealing (simulated annealing) using the plurality of reverse temperatures.
  • the solution system of the present embodiment first determines that all spins are unselected, and selects spins one by one from the unselected spins. Then, the solution system determines whether or not to flip for the selected spin, and if it is determined to flip the spin, the spin (selected spin) is flipped. Note that flipping the spin means reversing the state of the spin. Specifically, flipping the spin means flipping the spin state from "1" to "-1” or flipping from "-1" to "1". After selecting all spins and making the above determination for all spins, if the solution system determines that it flips for at least one spin, the reverse temperature is set to the current reverse temperature. Change to a higher reverse temperature that is closest to the current reverse temperature.
  • the solution system determines that it does not flip for all spins, it changes the reverse temperature to a reverse temperature that is lower than the current reverse temperature and closest to the current reverse temperature. After that, the solution system again determines that all spins are unselected and repeats the same process. The solution system repeats this process to find the optimum solution of the combinatorial optimization problem.
  • FIG. 1 is a block diagram showing a configuration example of a solution system according to an embodiment of the present invention.
  • the solution system 1 of the present embodiment includes an input unit 10, a first energy change calculation unit 11, a second energy change calculation unit 12, a third energy change calculation unit 13, an inverse temperature calculation unit 14, and a pseudo quantum.
  • An annealing execution unit 15 is provided.
  • An expression representing energy in the combinatorial optimization problem is input to the input unit 10.
  • This expression is an expression that includes an objective function and constraint terms.
  • An example of the formula input to the input unit 10 is shown in the formula (2).
  • E shown on the left side of the equation (2) represents the energy in the combinatorial optimization problem.
  • the equation (2) shows an example in which the combinatorial optimization problem is a traveling salesman problem.
  • the case where the combinatorial optimization problem is the traveling salesman problem will be described as an example.
  • the objective function is a function that represents the matter that minimizes the value in the combinatorial optimization problem.
  • the first term on the right side corresponds to the objective function.
  • the constraint term is a term that represents the constraint in the combinatorial optimization problem.
  • the constraint in the combinatorial optimization problem is not limited to one, and there may be a plurality of constraints.
  • the second term on the right side corresponds to the constraint term.
  • FIG. 2 is a schematic diagram showing an example of a local solution of the traveling salesman problem.
  • FIG. 2 illustrates a case where a salesman visits four cities. Further, in FIG. 2, the horizontal axis shows four cities, and the vertical axis shows the order in which salesmen visit the cities. In this example, the order is assumed to start from 0. In this example, it is assumed that there are 16 spins, and each spin is assigned an identification number (integer) of 0 to 15. A spin state of "1" means that a salesman exists, and a spin state of "-1" means that a salesman does not exist. ..
  • I and j in the equation (2) are variables representing the spin identification numbers.
  • s i in the equation (2) is a variable representing the state of spin i
  • s j is a variable representing the state of spin j.
  • dig is a city corresponding to spin i (a city corresponding to a column in which spin i exists in FIG. 2) and a city corresponding to spin j (a city corresponding to a column in which spin j exists in FIG. 2).
  • the dij corresponding to the combination of i and j is predetermined.
  • k in the equation (2) is a variable representing a constraint. As described above, in the example shown in FIG. 2, there are eight restrictions, so k is an integer of 0 to 7.
  • f k (0) in the equation (2) is an identification number of the first (0th) spin in the spin group corresponding to the constraint k.
  • f k ( nk ) is the identification number of the last ( nkth ) spin in the spin group corresponding to the constraint k.
  • nk 3 in any of the constraints.
  • the number of spins corresponding to the constraint may differ depending on the constraint.
  • the value of the constraint term is 0 when all the constraints of the combinatorial optimization problem are satisfied, and is a value other than 0 when any of the constraints is not satisfied.
  • the value of the constant A (see equation (2)) included in the constraint term is set to a relatively large value.
  • the objective function and constraint term can be converted to the same format as the Ising model (see equation (1)), respectively.
  • equation (3) shows the equations obtained by converting the objective function (first term on the right side) and the constraint term (second term on the right side) in the equation (2) into the same format as the Ising model.
  • the first and second terms on the right side of equation (3) are the results of converting the objective function in equation (2) into the Ising model format.
  • the third and fourth terms on the right side of the equation (3) are the results of converting the constraint terms in the equation (2) into the Ising model format.
  • the formula shown in the formula (3) can be converted into a formula in the form of the Ising model shown in the formula (1). Therefore, the formula representing the energy exemplified in the formula (2) can be converted into a formula in the form of the Ising model shown in the formula (1).
  • An expression (an expression representing energy) including an objective function and a constraint term as shown in the expression (2) is created in advance by the user of the solution system 1 and input to the input unit 10.
  • the input unit 10 may be, for example, an input device such as a keyboard.
  • the input unit 10 may be realized by a data reading device that reads, for example, an equation recorded on a data recording medium such as an optical disk (an equation including an objective function and a constraint term exemplified in the equation (2)).
  • any spin can be flipped in the local solution even if the reverse temperature is high to some extent.
  • the change in the value of the constraint term when flipping any spin in each local solution is referred to as the first energy change.
  • the change in the value of the objective function when flipping any spin in each local solution is referred to as the second energy change.
  • an equation expressing energy in a combinatorial optimization problem when flipping any spin in each local solution and including an objective function and a constraint term (for example, an equation exemplified in equation (2)) is The change in energy shown is referred to as the third energy change.
  • the first energy change calculation unit 11 calculates the first energy change. Specifically, the first energy change calculation unit 11 expands the constraint term (the second term on the right side in the example shown in the equation (2)) to expand each variable (for example, s) representing the state for each spin. Calculate the coefficients from 0 to s 15 ). The coefficient of each variable representing the state for each spin is the first energy change.
  • the type of the above coefficient obtained by expanding the constraint is the type of the value of the first energy change.
  • the coefficient of each variable representing the state for each spin is 2A. Therefore, in this case, the value of the first energy change is only one type of "2A".
  • How many kinds (in other words, how many) first energy changes can be obtained depends on the constraint term included in the equation expressing the energy in the combinatorial optimization problem.
  • the second energy change calculation unit 12 calculates the second energy change.
  • a constant representing the interaction between spins in the converted equation J'ij in the first term on the right side of equation (3).
  • J' a constant representing the interaction between spins in the converted equation
  • the statistical values such as the average value and the dispersion of ij are approximate values of the second energy change.
  • each constant corresponding to each spin in the converted equation h'i in the second term on the right side of the equation (3).
  • simply h'i it can be said that the statistical values such as the average value and the dispersion of (described) are also approximate values of the second energy change.
  • the statistical value of J'ij determined by the spin group corresponding to the arbitrary constraint and the statistical value of h'i determined by the spin group corresponding to the arbitrary constraint can also be used as the approximate value of the second energy change. ..
  • the second energy change calculation unit 12 determines that the second energy change is the mean value of J'ij (hereinafter referred to as ⁇ E o1 ) and the dispersion of J'ij (hereinafter ⁇ E). O2), the mean value of h'i (hereinafter referred to as ⁇ E o3 ), and the variance of h'i (hereinafter referred to as ⁇ E o4 ) are calculated as an example.
  • the second energy change calculation unit 12 may calculate only a part of ⁇ E o1 , ⁇ E o2 , ⁇ E o3 , and ⁇ E o4 , or may calculate at least one of them.
  • the second energy change calculation unit 12 converts the objective function in the equation (for example, equation (2)) input via the input unit 10 into the Ising model format. That is, the second energy change calculation unit 12 converts the given objective function into the form of the first term and the second term on the right side of the equation (3). Then, the second energy change calculation unit 12 has the average value ⁇ E o1 of J'ij , the dispersion ⁇ E o2 of J'ij , and the average value ⁇ E o3 , h'i of h'i based on the converted equation. The variance ⁇ E o4 is calculated.
  • the third energy change calculation unit 13 has a plurality of types of (3rd energy change calculation unit 13) based on the first energy change calculated by the first energy change calculation unit 11 and the second energy change calculated by the second energy change calculation unit 12. In other words, a plurality of) third energy changes are calculated.
  • the calculated first energy change is ⁇ E c1 and ⁇ E c2
  • the calculated second energy change is ⁇ E o1 , ⁇ E o2 , ⁇ E o3 , and ⁇ E o4 .
  • the third energy change calculation unit 13 defines the first energy change as it is as the third energy change. This is because, as described above, the energy change when flipping any spin in each local solution can be said to be close to the change in the value of the constraint term when flipping any spin in each local solution.
  • the third energy change calculation unit 13 defines ⁇ E c1 and ⁇ E c2 as the third energy change, respectively.
  • the third energy change calculation unit 13 selects one first energy change and one second energy change, the sum of the first energy change and the second energy change, and the first energy change.
  • the value obtained by subtracting the second energy change from the value is defined as the third energy change, respectively.
  • the third energy change calculation unit 13 selects the first energy change ⁇ E c1 and the second energy change ⁇ E o1 .
  • the third energy change calculation unit 13 calculates ⁇ E c1 + ⁇ E o1 and ⁇ E c1 ⁇ ⁇ E o1 , respectively, and determines the calculation results as the third energy change, respectively.
  • the third energy change calculation unit 13 similarly calculates the third energy change for each set of one selectable first energy change and one second energy change.
  • the third energy change calculation unit 13 obtains a plurality of third energy changes shown below.
  • the reverse temperature calculation unit 14 calculates the reverse temperature for each individual third energy change calculated by the third energy change calculation unit 13. Therefore, the reverse temperature calculation unit 14 calculates a plurality of reverse temperatures.
  • the solution system 1 first determines that all spins are unselected, and selects spins one by one from the unselected spins. Then, the solution system 1 determines whether or not to flip with respect to the selected spin, and if it is determined to flip the spin, the spin (selected spin) is flipped. After selecting all spins and making the above determination for all spins, if the solution system 1 determines that it will flip for at least one spin, the reverse temperature is set to the reverse of the current time. Change to the reverse temperature higher than the temperature and closest to the current reverse temperature. Further, when the solution system 1 determines that the spins do not flip, the reverse temperature is changed to a reverse temperature lower than the current reverse temperature and closest to the current reverse temperature. After that, the solution system 1 again determines that all spins are unselected, and repeats the same process. Here, when all spins are selected and the above determination is made for all spins, it is preferable that only one spin is flipped.
  • the number of spins is represented by M.
  • any third energy change among the calculated plurality of third energy changes is represented by ⁇ E'.
  • T is the reverse temperature.
  • the reverse temperature T is expressed by the following formula (5).
  • the reverse temperature calculation unit 14 calculates a plurality of reverse temperature Ts by substituting each of the individual third energy changes calculated by the third energy change calculation unit 13 into ⁇ E'of the equation (5). .. That is, the reverse temperature calculation unit 14 calculates the reverse temperature T for each individual third energy change calculated by the third energy change calculation unit 13.
  • the plurality of reverse temperatures obtained in this way are relatively high reverse temperatures at which any spin can be flipped in each local solution.
  • the reverse temperature calculation unit 14 also calculates the reverse temperature at which it can be considered that the spin cannot be flipped in each local solution. In this case, it may be determined that the above-mentioned probability p is, for example, 0.01 times (1 / M). Further, as the third energy change when calculating the reverse temperature, the minimum value (referred to as ⁇ minE') among the plurality of third energy changes is used. That is, the reverse temperature calculation unit 14 calculates the reverse temperature at which the spin cannot be flipped in each local solution, for example, by the following equation (6).
  • the reverse temperature that can be regarded as the spin cannot be flipped in each local solution is the highest reverse temperature among the reverse temperatures calculated by the reverse temperature calculation unit 14.
  • the pseudo-quantum annealing execution unit 15 converts an equation representing the input energy (for example, the equation exemplified in the equation (2)) into an equation in the form of the Ising model shown in the equation (1). Then, the pseudo quantum annealing execution unit 15 executes pseudo quantum annealing using the formula in the form of the Ising model and the plurality of inverse temperatures calculated by the inverse temperature calculation unit 14, and optimizes the combinatorial optimization problem. Find a solution. The lowest reverse temperature among the calculated reverse temperatures is used as the initial value of the reverse temperature in the pseudo quantum annealing.
  • the first energy change calculation unit 11, the second energy change calculation unit 12, the third energy change calculation unit 13, the inverse temperature calculation unit 14, and the pseudo quantum annealing execution unit 15 may be, for example, a CPU of a computer operating according to a solution program. It is realized by Central Processing Unit). In this case, the CPU reads the solution program from a program recording medium such as a computer program storage device, and according to the solution program, the first energy change calculation unit 11, the second energy change calculation unit 12, and the third energy change calculation unit 13. , The inverse temperature calculation unit 14, and the pseudo quantum annealing execution unit 15.
  • FIG. 3 is a flowchart showing an example of the processing progress of the solution system 1 of the present embodiment. The matters already explained will be omitted as appropriate.
  • an expression expressing energy in a combinatorial optimization problem which includes an objective function and a constraint term, is input via the input unit 10 (step S1).
  • the equation exemplified in the equation (2) is input in step S1.
  • step S1 The formula input in step S1 is created in advance by the user of the solution system 1.
  • step S1 When an equation representing the energy in the combinatorial optimization problem is input in step S1, the first energy change calculation unit 11 expands the constraint term included in the input equation to represent each spin state. The coefficient of the variable is calculated as the first energy change (step S2).
  • the second energy change calculation unit 12 converts the objective function included in the equation input in step S1 into the Ising model format, and calculates the second energy change based on the conversion result (step S3). ..
  • the second energy change calculation unit 12 transforms the objective function as in the first and second terms on the right side of the equation (3), and the mean value of J'ij , the variance of J'ij , and h'i . And the variance of h'i are calculated as the second energy change. As described above, the second energy change calculation unit 12 may calculate only a part of these, or may calculate at least one of them.
  • the third energy change calculation unit 13 calculates a plurality of types of third energy changes based on the first energy change calculated in step S2 and the second energy change calculated in step S3 (). Step S4). Since the operation of the third energy change calculation unit 13 for calculating a plurality of types of third energy changes has already been described, the description thereof will be omitted here.
  • the reverse temperature calculation unit 14 calculates the reverse temperature for each third energy change (step S5).
  • the reverse temperature calculation unit 14 may calculate a plurality of reverse temperatures T by substituting each of the individual third energy changes into ⁇ E'of the above equation (5).
  • the plurality of reverse temperatures calculated in step S5 are relatively high reverse temperatures at which any spin can be flipped in each local solution.
  • the reverse temperature calculation unit 14 calculates the reverse temperature at which it can be considered that the spin cannot be flipped in each local solution (step S6).
  • the reverse temperature calculation unit 14 may calculate this reverse temperature by, for example, the calculation of the above-mentioned equation (6).
  • the reverse temperature obtained in step S6 is higher than each reverse temperature obtained in step S5.
  • step S7 the pseudo quantum annealing execution unit 15 executes pseudo quantum annealing using the inverse temperature calculated in steps S5 and S6 (step S7).
  • step S7 the optimum solution of the combinatorial optimization problem is obtained.
  • FIG. 4 is a flowchart showing an example of the processing progress of step S7 executed by the pseudo quantum annealing execution unit 15.
  • the pseudo-quantum annealing execution unit 15 converts the equation input in step S1 (see FIG. 3) into the equation (1) when executing the pseudo-quantum annealing. Convert to the format of the Ising model shown. Further, the pseudo quantum annealing execution unit 15 sets the minimum value of the plurality of reverse temperatures calculated in step S5 to the initial value of the reverse temperature. Further, the pseudo quantum annealing execution unit 15 sets the state of each spin to an arbitrary state. Then, the process shown in FIG. 4 is executed.
  • the pseudo quantum annealing execution unit 15 determines all spins as unselected (step S11). Specifically, the pseudo-quantum annealing execution unit 15 defines all spins as spins that have not yet been selected in step S12 described below.
  • the pseudo quantum annealing execution unit 15 randomly selects one spin from the unselected spins (step S12).
  • the pseudo-quantum annealing execution unit 15 defines the selected spin as the selected spin.
  • the pseudo quantum annealing execution unit 15 calculates the energy change ⁇ E when flipping one selected spin based on an equation representing energy (an equation in the form of an Ising model) (step S13).
  • the pseudo quantum annealing execution unit 15 determines whether or not there is an unselected spin (step S15). If there is an unselected spin (Yes in step S15), the pseudo-quantum annealing execution unit 15 repeats the processes after step S12.
  • step S15 If there is no unselected spin (No in step S15), the process proceeds to step S16.
  • step S16 the pseudo quantum annealing execution unit 15 changes the reverse temperature depending on whether or not it has been determined to flip for at least one spin in the iterative process of steps S12 to S15.
  • the pseudo quantum annealing execution unit 15 sets the reverse temperature higher than the current reverse temperature and is the closest to the current reverse temperature. Change to.
  • the pseudo quantum annealing execution unit 15 changes the reverse temperature to a reverse temperature lower than the current reverse temperature and closest to the current reverse temperature. ..
  • step S14 The spin determined to flip in step S14 is flipped in step S14.
  • the changed reverse temperature in step S16 is the reverse temperature of any one of the reverse temperatures calculated in steps S5 and S6.
  • step S16 the pseudo quantum annealing execution unit 15 determines whether or not the process from step S11 to step S16 has been executed a predetermined number of times (step S17).
  • step S17 If the number of executions of the processes from step S11 to step S16 has not reached a predetermined number (No in step S17), the pseudo quantum annealing execution unit 15 repeats the processes after step S11. In step S17, all the spins have been selected, but in step S11, the pseudo quantum annealing execution unit 15 again determines all the spins as unselected.
  • step S17 When the number of executions of the process from step S11 to step S16 reaches a predetermined number (Yes in step S17), the pseudo quantum annealing execution unit 15 determines the state of the spin group at that time as the optimum solution, and ends the process. do.
  • step S5 the reverse temperature calculated in steps S5 and S6 (see FIG. 3) is used.
  • Each inverse temperature calculated in step S5 is a relatively high inverse temperature capable of flipping any spin in each local solution. Therefore, even when transitioning to a local solution, any spin can be flipped from that state, and as a result, it is possible to transition to another local solution.
  • the reverse temperature calculated in step S6 is a reverse temperature that can be regarded as the spin cannot be flipped in the local solution.
  • the state of the spin group converges to the local solution, and it can be said that the local solution is the optimum solution.
  • the local solution is used. Any spin can be flipped in. Therefore, since it is easy to transition to another local solution, the optimum solution can be reached quickly even if the transition is to a local solution away from the optimum solution.
  • the third energy change calculation unit 13 uses the energy change (third energy) represented by the input equation (for example, equation (2)) when flipping any spin in each local solution. Change) is calculated for multiple types. Then, the reverse temperature calculation unit 14 calculates a relatively high reverse temperature at which any spin can be flipped in each local solution for each change in the third energy. The reverse temperature calculation unit 14 also calculates the reverse temperature at which it can be considered that the spin cannot be flipped in each local solution. Then, the pseudo-quantum annealing execution unit 15 executes pseudo-quantum annealing (see FIG. 4) while raising or lowering the reverse temperature using those reverse temperatures.
  • the present embodiment it is not necessary to determine the range of the reverse temperature and the parameter such as how much the reverse temperature is changed when the reverse temperature is changed by trying the pseudo quantum annealing a plurality of times. Further, as described above, in the process shown in FIG. 4, since a relatively high inverse temperature capable of flipping any spin is used in each local solution, there is a case where there is no optimum solution in the vicinity of the local solution. Can also flip any spin in its local solution. Therefore, since it is easy to transition to another local solution, the optimum solution can be reached quickly even if the transition is to a local solution away from the optimum solution. Therefore, according to the present embodiment, it is possible to shorten the time required to find the optimum solution of the combinatorial optimization problem.
  • FIG. 5 is a schematic block diagram showing a configuration example of a computer according to the solution system 1 according to the embodiment of the present invention.
  • the computer 1000 includes a CPU 1001, a main storage device 1002, an auxiliary storage device 1003, an interface 1004, and an input device 1005.
  • the solution system 1 of the embodiment of the present invention is realized by the computer 1000.
  • the operation of the solution system 1 is stored in the auxiliary storage device 1003 in the form of a solution program.
  • the CPU 1001 reads the solution program from the auxiliary storage device 1003, expands the solution program to the main storage device 1002, and executes the process described in the above embodiment according to the solution program.
  • Auxiliary storage 1003 is an example of a non-temporary tangible medium.
  • Other examples of non-temporary tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via interface 1004. Examples include semiconductor memory.
  • the distributed computer 1000 may expand the program to the main storage device 1002 and execute the process described in the above embodiment according to the program. ..
  • each component may be realized by a general-purpose or dedicated circuit (circuitry), a processor, or a combination thereof. These may be composed of a single chip or may be composed of a plurality of chips connected via a bus. A part or all of each component may be realized by the combination of the circuit or the like and the program described above.
  • the plurality of information processing devices and circuits may be centrally arranged or distributed.
  • the information processing device, the circuit, and the like may be realized as a form in which each is connected via a communication network, such as a client-and-server system and a cloud computing system.
  • FIG. 6 is a block diagram showing an outline of the solution system of the present invention.
  • the solution system of the present invention includes a first energy change calculation means 71, a second energy change calculation means 72, a third energy change calculation means 73, a reverse temperature calculation means 74, and an annealing means 75.
  • the first energy change calculation means 71 (for example, the first energy change calculation unit 11) is an expression expressing energy in a combinatorial optimization problem, and when an expression including an objective function and a constraint term is given, the combinatorial optimization problem In each local solution of, the first energy change, which is the change in the value of the constraint term when flipping any spin, is calculated.
  • the second energy change calculation means 72 calculates the second energy change, which is the change in the value of the objective function when flipping any spin in each local solution.
  • the third energy change calculation means 73 (for example, the third energy change calculation unit 13) is expressed by an equation when flipping any spin in each local solution based on the first energy change and the second energy change. Calculate multiple types of third energy changes, which are energy changes.
  • the reverse temperature calculation means 74 calculates the reverse temperature at which any spin can be flipped in each local solution for each third energy change, and in each local solution, the reverse temperature is calculated. Calculate the inverse temperature, which can be considered that the spin cannot be flipped.
  • the annealing means 75 (for example, the pseudo-quantum annealing execution unit 15) executes pseudo-quantum annealing using a plurality of calculated inverse temperatures.
  • the first energy change calculation means 71 may calculate the coefficient of each variable representing the state for each spin as the first energy change by expanding the constraint term.
  • the second energy change calculation means 72 transforms the objective function into the form of a predetermined model (for example, Ising model), and at least a constant (for example, J'representing the interaction between spins in the form of the predetermined model). Either the statistical value of ij ) or the statistical value of each constant (for example, h'i ) corresponding to each spin in a predetermined model format may be calculated as the second energy change.
  • a predetermined model for example, Ising model
  • Either the statistical value of ij ) or the statistical value of each constant (for example, h'i ) corresponding to each spin in a predetermined model format may be calculated as the second energy change.
  • the annealing means 75 Processing that defines all spins as unselected, Processing to select one spin from unselected spins, It is determined whether or not to flip the selected spin, and if it is determined to flip, the process of flipping that spin, and If it is determined to flip for at least one spin after determining whether to flip for all spins, the reverse temperature is higher than the current reverse temperature and closest to the current reverse temperature. If it is changed to the reverse temperature and it is determined that it does not flip for all spins, the process of changing the reverse temperature to the reverse temperature lower than the current reverse temperature and closest to the current reverse temperature is repeated. You may.
  • the present invention is suitably applied to solving a combinatorial optimization problem.

Landscapes

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

Abstract

第1エネルギー変化算出手段71は、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの制約項の値の変化である第1エネルギー変化を算出する。第2エネルギー変化算出手段72は、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化である第2エネルギー変化を算出する。第3エネルギー変化算出手段73は、第1エネルギー変化および第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する。逆温度算出手段74は、個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出する。

Description

求解システムおよび求解方法
 本発明は、組合せ最適化問題の最適解を求める求解システム、求解方法、および、求解プログラムを記録したコンピュータ読取可能な記録媒体に関する。
 組合せ最適化問題の最適解を求める場合には、組合せ最適化問題におけるエネルギーを表す式を作成する。このエネルギーを表す式は、イジングモデルの形式に変換可能である。この変換方法は、公知である。イジングモデルは、個々のスピンによって磁性体の振る舞いを表す統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”で表される。
 イジングモデルは、以下の式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 式(1)におけるi,jは、いずれもスピンを表す変数である。また、式(1)におけるsは、スピンiの状態を表す変数であり、sは、スピンjの状態を表す変数である。式(1)におけるJijは、スピンiおよびスピンjの組合せに対応する定数である。より具体的には、Jijは、スピンi、スピンj間の相互作用を表す定数である。iの取り得る値とjの取り得る値の組合せ毎に、Jijは定数として定められる。また、式(1)におけるhは、スピンiに対応する定数である。iの取り得る値毎に、hは定数として定められる。
 イジングモデルを表す式(1)が、疑似量子アニーリングに適用され、疑似量子アニーリングを実行することで、組合せ最適化問題の最適解が求められる。なお、疑似量子アニーリングは、シミュレーテッドアニーリングとも称される。
 また、疑似量子アニーリング(シミュレーテッドアニーリング)において、温度の逆数は逆温度と称される。
 疑似量子アニーリングでは、複数の局所解の中から最適解を見つける。個々の局所解は、組合せ最適化問題における制約が満たされているスピン群の状態に該当する。
 特許文献1には、温度を下げていく制御を行う疑似焼き鈍し法が記載されている。
特開2020-106917号公報
 疑似量子アニーリングにおいて、逆温度を上げたり下げたりしながら、組合せ最適化問題の最適解を求める場合もある。
 ある局所解が最適解であるとは限らないため、局所解においていずれかのスピンをフリップして、別の局所解に遷移することが必要になる。
 ここで、逆温度が低い場合には、局所解においていずれかのスピンをフリップすることができる。逆温度が高くなるほど、局所解においてスピンをフリップしにくくなり、ある逆温度よりも高くなると、局所解においてスピンをフリップできなくなる。
 一般に、疑似量子アニーリングにおいて、逆温度を上げたり下げたりしながら、最適解を求める場合、疑似量子アニーリングを複数回、試行することによって、逆温度の範囲や、逆温度を変化させる場合にどの程度変化させるかといったパラメータを決定する。その後、決定したパラメータを用いて、疑似量子アニーリングを実行する。従って、パラメータの決定に時間がかかる。
 また、疑似量子アニーリングの実行時に、到達した局所解の近辺に最適解がない場合には、その局所解から最適解に到達するまでに時間がかかるという問題もあった。
 そこで、本発明は、組合せ最適化問題の最適解を求めるまでの時間を短縮することができる求解システム、求解方法、および、求解プログラムを記録したコンピュータ読取可能な記録媒体を提供することを目的とする。
 本発明による求解システムは、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの制約項の値の変化である第1エネルギー変化を算出する第1エネルギー変化算出手段と、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化である第2エネルギー変化を算出する第2エネルギー変化算出手段と、第1エネルギー変化および第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する第3エネルギー変化算出手段と、個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する逆温度算出手段と、算出された複数の逆温度を用いて疑似量子アニーリングを実行するアニーリング手段とを備えることを特徴とする。
 本発明による求解方法は、コンピュータが、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの制約項の値の変化である第1エネルギー変化を算出し、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化である第2エネルギー変化を算出し、第1エネルギー変化および第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出し、個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出し、算出された複数の逆温度を用いて疑似量子アニーリングを実行することを特徴とする。
 本発明によるコンピュータ読取可能な記録媒体は、コンピュータに、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの制約項の値の変化である第1エネルギー変化を算出する第1エネルギー変化算出処理、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化である第2エネルギー変化を算出する第2エネルギー変化算出処理、第1エネルギー変化および第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する第3エネルギー変化算出処理、個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する逆温度算出処理、および、算出された複数の逆温度を用いて疑似量子アニーリングを実行するアニーリング処理を実行させるための求解プログラムを記録したコンピュータ読取可能な記録媒体である。
 本発明によれば、組合せ最適化問題の最適解を求めるまでの時間を短縮することができる。
本発明の実施形態の求解システムの構成例を示すブロック図である。 巡回セールスマン問題の局所解の例を示す模式図である。 本発明の実施形態の求解システムの処理経過の例を示すフローチャートである。 疑似量子アニーリング実行部が実行するステップS7の処理経過の例を示すフローチャートである。 本発明の実施形態の求解システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明の求解システムの概要を示すブロック図である。
 以下、本発明の実施形態を図面を参照して説明する。
 本発明の実施形態の求解システムは、組合せ最適化問題の最適解を求めるときに、複数の逆温度を求め、その複数の逆温度を用いて疑似量子アニーリング(シミュレーテッドアニーリング)を実行する。
 本実施形態の求解システムは、疑似量子アニーリングにおいて、まず、全てのスピンを未選択と定め、未選択のスピンの中からスピンを1つずつ選択する。そして、求解システムは、選択したスピンに対して、フリップするか否かを判定し、スピンをフリップすると判定した場合には、そのスピン(選択したスピン)をフリップする。なお、スピンをフリップするとは、スピンの状態を反転させることである。具体的には、スピンをフリップするとは、スピンの状態を“1”から“-1”に反転させたり、“-1”から“1”に反転させたりすることである。全てのスピンを選択し、全てのスピンに対して上記の判定を行った後、求解システムは、少なくとも1つのスピンに対してフリップすると判定していた場合には、逆温度を、現時点の逆温度より高く、現時点の逆温度に最も近い逆温度に変更する。また、求解システムは、全てのスピンに対してフリップしないと判定していた場合には、逆温度を、現時点の逆温度より低く、現時点の逆温度に最も近い逆温度に変更する。その後、求解システムは、再度、全てのスピンを未選択と定め、同様の処理を繰り返す。求解システムは、この処理を繰り返すことで、組合せ最適化問題の最適解を求める。
 ここで、求解システムは、選択したスピンをフリップするか否かを判定するときに、そのスピンをフリップした場合における組合せ最適化問題のエネルギー変化を算出する。このエネルギー変化をΔEとする。また、その時点の逆温度をTとする。求解システムは、確率p=exp(-ΔE*T)を求め、その確率pによって、選択したスピンをフリップするか否かを判定する。
 図1は、本発明の実施形態の求解システムの構成例を示すブロック図である。本実施形態の求解システム1は、入力部10と、第1エネルギー変化算出部11と、第2エネルギー変化算出部12と、第3エネルギー変化算出部13と、逆温度算出部14と、疑似量子アニーリング実行部15とを備える。
 入力部10には、組合せ最適化問題におけるエネルギーを表す式が入力される。この式は、目的関数および制約項を含む式である。入力部10に入力される式の例を、式(2)に示す。式(2)の左辺に示すEは、組合せ最適化問題におけるエネルギーを表す。また、式(2)は、組合せ最適化問題が、巡回セールスマン問題である場合の例を示している。ここでは、組合せ最適化問題が、巡回セールスマン問題である場合を例にして説明する。
Figure JPOXMLDOC01-appb-M000002
 目的関数は、組合せ最適化問題において値を最小化する事項を表す関数である。式(2)では、右辺の第1項が目的関数に該当する。
 制約項は、組合せ最適化問題における制約を表す項である。組合せ最適化問題における制約は、1つとは限らず、複数存在し得る。式(2)では、右辺の第2項が制約項に該当する。
 図2は、巡回セールスマン問題の局所解の例を示す模式図である。図2では、セールスマンが4つの都市を訪問する場合を例示している。また、図2では、横軸に4つの都市を示し、縦軸にセールスマンが都市を訪問する順番を示している。本例では、順番が0から始まるものとしている。本例では、16個のスピンが存在し、個々のスピンには0~15の識別番号(整数)が割り当てられているものとする。スピンの状態が“1”であるということは、セールスマンが存在していることを意味し、スピンの状態が“-1”であるということは、セールスマンが存在していないことを意味する。
 巡回セールスマン問題では、セールスマンは1つの都市を1回しか訪問しないという制約がある。従って、例えば、都市0(図2参照)の列に着目した場合、その列で、1つのスピンだけが“1”であるという制約がある。他の都市の3つの列に関しても同様である。従って、図2に示す例では、列に関して、4つの制約がある。
 また、巡回セールスマン問題では、セールスマンが同時に2つ以上の都市に存在し得ないという制約がある。従って、例えば、順番0(図2参照)の行に着目した場合、その行で、1つのスピンだけが“1”であるという制約がある。他の順番の3つの行に関しても同様である。従って、図2に示す例では、行に関して、4つの制約がある。
 よって、図2に示す例では、8個の制約があることになる。図2に示す16個のスピンの状態は、この8個の制約を全て満たしているので、この状態は、局所解になっていると言える。
 式(2)におけるi,jは、スピンの識別番号を表す変数である。そして、式(2)におけるsは、スピンiの状態を表す変数であり、sは、スピンjの状態を表す変数である。また、dijは、スピンiに対応する都市(図2においてスピンiが存在する列に対応する都市)と、スピンjに対応する都市(図2においてスピンjが存在する列に対応する都市)との距離であり、i,jの組合せに応じたdijは、予め定められている。
 また、式(2)におけるkは、制約を表す変数である。上記のように、図2に示す例では8個の制約があるので、kは、0~7の整数である。
 また、式(2)におけるf(0)は、制約kに対応するスピン群のうちの最初の(0番目の)スピンの識別番号である。f(n)は、制約kに対応するスピン群のうちの最後の(n番目の)スピンの識別番号である。本例では、8個のどの制約においても、対応するスピンの個数は4個であるので、どの制約においてもn=3である。ただし、組合せ最適化問題の種類によっては、制約に応じて、制約に対応するスピンの数が異なる場合もある。
 制約項の値は、組合せ最適化問題の全ての制約が満たされている場合には、0となり、いずれかの制約が満たされていない場合には、0以外の値となる。
 また、全ての制約が満たされていないと最適解にならないため、制約項に含まれている定数A(式(2)を参照)の値は、比較的大きな値に定められる。
 目的関数および制約項は、それぞれ、イジングモデル(式(1)を参照)と同じ形式に変換することができる。式(2)における目的関数(右辺の第1項)および制約項(右辺の第2項)をそれぞれ、イジングモデルと同じ形式に変換した式を、以下の式(3)に示す。
Figure JPOXMLDOC01-appb-M000003
 式(3)における右辺の第1項および第2項は、式(2)における目的関数をイジングモデルの形式に変換した結果である。式(3)における右辺の第3項および第4項は、式(2)における制約項をイジングモデルの形式に変換した結果である。
 さらに、式(3)に示す式を、式(1)に示すイジングモデルの形式の式に変換することができる。従って、式(2)に例示するエネルギーを表す式は、式(1)に示すイジングモデルの形式の式に変換できる。
 式(2)に示すような、目的関数および制約項を含む式(エネルギーを表す式)は、予め、求解システム1のユーザによって作成され、入力部10に入力される。
 入力部10は、例えば、キーボード等の入力デバイスであってもよい。あるいは、入力部10は、例えば、光学ディスク等のデータ記録媒体に記録された式(式(2)に例示する目的関数および制約項を含む式)を読み込むデータ読み込み装置によって実現されてもよい。
 全ての制約が満たされている各スピンの状態(換言すれば、局所解)から、いずれかのスピンをフリップする際のエネルギー変化は大きい。
 また、選択されたスピンをフリップするか否かは、確率的に判定されるので、逆温度がある程度高くても、局所解においていずれかのスピンをフリップし得る。
 ここで、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときのエネルギー変化は、各局所解においていずれかのスピンをフリップするときの制約項の値の変化に近いと言うことができる。
 一方、エネルギーは、制約項だけでなく、目的関数にも影響される(式(2)を参照)。従って、各局所解においていずれかのスピンをフリップするときのエネルギー変化を求める場合には、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化も求める。ただし、目的関数の値の変化は、概算で求めればよい。
 以下、各局所解においていずれかのスピンをフリップするときの制約項の値の変化を、第1エネルギー変化と記す。
 また、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化を、第2エネルギー変化と記す。
 また、各局所解においていずれかのスピンをフリップするときの、組合せ最適化問題におけるエネルギーを表す式であって目的関数および制約項を含む式(例えば、式(2)に例示する式。)が示すエネルギーの変化を第3エネルギー変化と記す。第3エネルギー変化は、前述のp=exp(-ΔE*T)におけるΔEに相当する。
 第1エネルギー変化算出部11は、第1エネルギー変化を算出する。具体的には、第1エネルギー変化算出部11は、制約項(式(2)に示す例では、右辺の第2項)を展開することによって、スピン毎の状態を表す各変数(例えば、s~s15)の係数を算出する。スピン毎の状態を表す各変数の係数が、第1エネルギー変化である。
 また、制約を展開することによって得られる上記の係数の種類が、第1エネルギー変化の値の種類である。例えば、図2に例示する巡回セールスマン問題におけるエネルギーを表す式(2)の制約項を展開した場合、スピン毎の状態を表す各変数の係数はいずれも2Aである。従って、この場合、第1エネルギー変化の値は、“2A”の1種類のみである。
 何種類の(換言すれば、何個の)第1エネルギー変化が得られるかは、組合せ最適化問題におけるエネルギーを表す式に含まれる制約項に依存する。
 以下の説明では、説明を簡単にするため、2個の第1エネルギー変化が算出された場合を例にして説明する。2個の第1エネルギー変化うち、一方の第1エネルギー変化をΔEc1と記し、もう一方の第1エネルギー変化をΔEc2と記す。
 第2エネルギー変化算出部12は、第2エネルギー変化を算出する。ここで、目的関数をイジングモデルの形式に変換した場合において、変換後の式におけるスピン間の相互作用を表す定数(式(3)の右辺の第1項におけるJ’ij。以下、単にJ’ijと記す。)の平均値や分散といった統計値は、第2エネルギー変化の概算値であると言える。また、目的関数をイジングモデルの形式に変換した場合において、変換後の式における各スピンに対応する各定数(式(3)の右辺の第2項におけるh’。以下、単にh’と記す。)の平均値や分散といった統計値も、第2エネルギー変化の概算値であると言える。
 また、任意の制約に対応するスピン群によって定まるJ’ijの統計値や、任意の制約に対応するスピン群によって定まるh’の統計値も、第2エネルギー変化の概算値として用いることができる。
 ここでは、説明を簡単にするため、第2エネルギー変化算出部12が、第2エネルギー変化として、J’ijの平均値(以下、ΔEo1と記す。)、J’ijの分散(以下、ΔEo2と記す。)、h’の平均値(以下、ΔEo3と記す。)、および、h’の分散(以下、ΔEo4と記す。)を算出する場合を例にする。ただし、第2エネルギー変化算出部12は、ΔEo1、ΔEo2、ΔEo3、ΔEo4のうちの一部のみを算出してもよく、これらのうちの少なくとも1つを算出してもよい。
 第2エネルギー変化算出部12は、入力部10を介して入力された式(例えば、式(2))における目的関数をイジングモデルの形式に変換する。すなわち、第2エネルギー変化算出部12は、与えられた目的関数を、式(3)の右辺の第1項および第2項の形式に変換する。そして、第2エネルギー変化算出部12は、その変換後の式に基づいて、J’ijの平均値ΔEo1、J’ijの分散ΔEo2、h’の平均値ΔEo3、h’の分散ΔEo4を算出する。
 第3エネルギー変化算出部13は、第1エネルギー変化算出部11によって算出された第1エネルギー変化、および、第2エネルギー変化算出部12によって算出された第2エネルギー変化に基づいて、複数種類の(換言すれば、複数個の)第3エネルギー変化を算出する。ここでは、算出された第1エネルギー変化が、ΔEc1,ΔEc2であり、算出された第2エネルギー変化が、ΔEo1,ΔEo2,ΔEo3,ΔEo4であるものとする。
 まず、第3エネルギー変化算出部13は、第1エネルギー変化をそのまま、第3エネルギー変化として定める。前述のように、各局所解においていずれかのスピンをフリップするときのエネルギー変化は、各局所解においていずれかのスピンをフリップするときの制約項の値の変化に近いと言えるからである。本例では、第3エネルギー変化算出部13は、ΔEc1,ΔEc2をそれぞれ、第3エネルギー変化として定める。
 さらに、第3エネルギー変化算出部13は、1つの第1エネルギー変化と、1つの第2エネルギー変化とを選択し、その第1エネルギー変化と第2エネルギー変化の和、および、その第1エネルギー変化から第2エネルギー変化を減算した値を、それぞれ、第3エネルギー変化として定める。例えば、第3エネルギー変化算出部13が、第1エネルギー変化ΔEc1と、第2エネルギー変化ΔEo1を選択したとする。この場合、第3エネルギー変化算出部13は、ΔEc1+ΔEo1、および、ΔEc1-ΔEo1をそれぞれ算出し、その算出結果をそれぞれ第3エネルギー変化として定める。第3エネルギー変化算出部13は、選択し得る1つの第1エネルギー変化と1つの第2エネルギー変化との組毎に、同様に、第3エネルギー変化を算出する。
 この結果、本例では、第3エネルギー変化算出部13は、以下に示す複数の第3エネルギー変化を得る。
 ΔEc1,ΔEc1+ΔEo1,ΔEc1-ΔEo1,ΔEc1+ΔEo2,ΔEc1-ΔEo2,ΔEc1+ΔEo3,ΔEc1-ΔEo3,ΔEc1+ΔEo4,ΔEc1-ΔEo4,ΔEc2,ΔEc2+ΔEo1,ΔEc2-ΔEo1,ΔEc2+ΔEo2,ΔEc2-ΔEo2,ΔEc2+ΔEo3,ΔEc2-ΔEo3,ΔEc2+ΔEo4,ΔEc2-ΔEo4
 これらの第3エネルギー変化は、各局所解においていずれかのスピンをフリップするときの、入力された式が表すエネルギーの変化である。
 逆温度算出部14は、第3エネルギー変化算出部13によって算出された個々の第3エネルギー変化毎に逆温度を算出する。従って、逆温度算出部14は、複数の逆温度を算出する。
 既に述べたように、求解システム1は、疑似量子アニーリングにおいて、まず、全てのスピンを未選択と定め、未選択のスピンの中からスピンを1つずつ選択する。そして、求解システム1は、選択したスピンに対して、フリップするか否かを判定し、スピンをフリップすると判定した場合には、そのスピン(選択したスピン)をフリップする。全てのスピンを選択し、全てのスピンに対して上記の判定を行った後、求解システム1は、少なくとも1つのスピンに対してフリップすると判定していた場合には、逆温度を、現時点の逆温度より高く、現時点の逆温度に最も近い逆温度に変更する。また、求解システム1は、全てのスピンに対してフリップしないと判定していた場合には、逆温度を、現時点の逆温度より低く、現時点の逆温度に最も近い逆温度に変更する。その後、求解システム1は、再度、全てのスピンを未選択と定め、同様の処理を繰り返す。ここで、全てのスピンを選択し、全てのスピンに対して上記の判定を行ったときに、1つのスピンのみがフリップされていることが好ましい。
 そこで、逆温度算出部14は、前述の確率p=exp(-ΔE*T)における確率pを、“1/スピン数”とし、ΔEを個々の第3エネルギー変化として、逆温度Tを求める。以下、スピン数をMで表す。また、算出された複数の第3エネルギー変化のうちの任意の第3エネルギー変化をΔE’で表す。前述の確率p=exp(-ΔE*T)において、確率pを“1/M”とし、ΔEを第3エネルギー変化ΔE’とすると、以下の式(4)のように表される。なお、Tは、逆温度である。
 1/M=exp(-ΔE’*T)   ・・・(4)
 式(4)から、逆温度Tは、以下の式(5)で表される。
 T=ln(M)/ΔE’   ・・・(5)
 従って、逆温度算出部14は、第3エネルギー変化算出部13によって算出された個々の第3エネルギー変化をそれぞれ、式(5)のΔE’に代入することによって、複数の逆温度Tを算出する。すなわち、逆温度算出部14は、第3エネルギー変化算出部13によって算出された個々の第3エネルギー変化毎に、逆温度Tを算出する。
 このようにして得られた複数の逆温度は、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度であると言うことができる。
 また、逆温度算出部14は、各局所解においてスピンをフリップできないとみなすことができる逆温度も算出する。この場合、前述の確率pが、例えば、(1/M)の0.01倍であると定めればよい。また、逆温度を計算するときの第3エネルギー変化として、複数の第3エネルギー変化のうちの最小値(ΔminE’とする。)を用いる。すなわち、逆温度算出部14は、各局所解においてスピンをフリップできないとみなすことができる逆温度を、例えば、以下の式(6)によって算出する。
 T=ln(M/0.01)/ΔminE’   ・・・(6)
 各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度として算出された複数の逆温度、および、各局所解においてスピンをフリップできないとみなすことができる逆温度(例えば、式(6)によって算出された逆温度)は、離散的な値である。
 また、各局所解においてスピンをフリップできないとみなすことができる逆温度は、逆温度算出部14が算出した逆温度の中で、最も高い逆温度である。
 疑似量子アニーリング実行部15は、入力されたエネルギーを表す式(例えば、式(2)に例示する式)を、式(1)に示すイジングモデルの形式の式に変換する。そして、疑似量子アニーリング実行部15は、そのイジングモデルの形式の式と、逆温度算出部14によって算出された複数の逆温度とを用いて、疑似量子アニーリングを実行し、組合せ最適化問題の最適解を求める。なお、算出された複数の逆温度のうち、最も低い逆温度を、疑似量子アニーリングにおける逆温度の初期値とする。
 疑似量子アニーリング実行部15の詳細な動作については、後述の図4のフローチャートを参照して説明する。
 第1エネルギー変化算出部11、第2エネルギー変化算出部12、第3エネルギー変化算出部13、逆温度算出部14、および疑似量子アニーリング実行部15は、例えば、求解プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUは、コンピュータのプログラム記憶装置等のプログラム記録媒体から求解プログラムを読み込み、その求解プログラムに従って、第1エネルギー変化算出部11、第2エネルギー変化算出部12、第3エネルギー変化算出部13、逆温度算出部14、および疑似量子アニーリング実行部15として動作すればよい。
 次に、処理経過について説明する。図3は、本実施形態の求解システム1の処理経過の例を示すフローチャートである。なお、既に説明した事項については、適宜、説明を省略する。
 まず、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が、入力部10を介して入力される(ステップS1)。例えば、式(2)に例示する式が、ステップS1において入力される。
 ステップS1で入力される式は、予め、求解システム1のユーザによって作成される。
 ステップS1で、組合せ最適化問題におけるエネルギーを表す式が入力されると、第1エネルギー変化算出部11は、入力された式に含まれる制約項を展開することによって、スピン毎の状態を表す各変数の係数を、第1エネルギー変化として算出する(ステップS2)。
 また、第2エネルギー変化算出部12は、ステップS1で入力された式に含まれる目的関数をイジングモデルの形式に変換し、その変換結果に基づいて、第2エネルギー変化を算出する(ステップS3)。
 例えば、第2エネルギー変化算出部12は、目的関数を式(3)の右辺の第1項および第2項のように変換し、J’ijの平均値、J’ijの分散、h’の平均値、および、h’の分散を、第2エネルギー変化として算出する。既に説明したように、第2エネルギー変化算出部12は、これらのうちの一部のみを算出してもよく、これらのうちの少なくとも1つを算出してもよい。
 次に、第3エネルギー変化算出部13は、ステップS2で算出された第1エネルギー変化、および、ステップS3で算出された第2エネルギー変化に基づいて、複数種類の第3エネルギー変化を算出する(ステップS4)。第3エネルギー変化算出部13が複数種類の第3エネルギー変化を算出する動作については、既に説明したので、ここでは説明を省略する。
 次に、逆温度算出部14は、個々の第3エネルギー変化毎に、逆温度を算出する(ステップS5)。逆温度算出部14は、個々の第3エネルギー変化をそれぞれ、前述の式(5)のΔE’に代入することによって、複数の逆温度Tを算出すればよい。
 ステップS5で算出された複数の逆温度は、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度であると言うことができる。
 また、逆温度算出部14は、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する(ステップS6)。逆温度算出部14は、例えば、前述の式(6)の計算によって、この逆温度を算出すればよい。
 ステップS6で得られる逆温度は、ステップS5で得られる各逆温度よりも高い。
 次に、疑似量子アニーリング実行部15は、ステップS5およびステップS6で算出された逆温度を用いて、疑似量子アニーリングを実行する(ステップS7)。ステップS7により、組合せ最適化問題の最適解が得られる。
 図4は、疑似量子アニーリング実行部15が実行するステップS7の処理経過の例を示すフローチャートである。なお、図4では、図示を省略しているが、疑似量子アニーリング実行部15は、疑似量子アニーリングを実行するときに、ステップS1(図3参照)で入力された式を、式(1)に示すイジングモデルの形式に変換する。また、疑似量子アニーリング実行部15は、ステップS5で算出された複数の逆温度の最低値を、逆温度の初期値に設定する。また、疑似量子アニーリング実行部15は、各スピンの状態を任意の状態に定める。そして、図4に示す処理を実行する。
 まず、疑似量子アニーリング実行部15は、全てのスピンを未選択として定める(ステップS11)。具体的には、疑似量子アニーリング実行部15は、全てのスピンを、次に述べるステップS12でまだ選択されていないスピンとして定める。
 ステップS11の後、疑似量子アニーリング実行部15は、未選択のスピンの中から、ランダムに1つのスピンを選択する(ステップS12)。疑似量子アニーリング実行部15は、選択したスピンを、選択済みのスピンとして定める。
 次に、疑似量子アニーリング実行部15は、選択した1つのスピンをフリップした場合のエネルギー変化ΔEを、エネルギーを表す式(イジングモデルの形式の式)に基づいて算出する(ステップS13)。
 次に、疑似量子アニーリング実行部15は、確率p=exp(-ΔE*T)を算出する。Tは、現時点における逆温度である。そして、疑似量子アニーリング実行部15は、確率pに基づいて、選択した1つのスピンをフリップするか否かを判定する(ステップS14)。選択した1つのスピンをフリップすると判定した場合には、疑似量子アニーリング実行部15は、選択したスピンをフリップする処理もステップS14で行う。しかし、選択した1つのスピンをフリップしないと判定した場合には、疑似量子アニーリング実行部15は、選択したスピンをフリップしない。
 次に、疑似量子アニーリング実行部15は、未選択のスピンがあるか否かを判定する(ステップS15)。未選択のスピンがある場合には(ステップS15のYes)、疑似量子アニーリング実行部15は、ステップS12以降の処理を繰り返す。
 また、未選択のスピンがない場合には(ステップS15のNo)、ステップS16に移行する。ステップS16において、疑似量子アニーリング実行部15は、ステップS12~S15の繰り返し処理において、少なくとも1つのスピンに対してフリップすると判定していたか否かに応じて、逆温度を変更する。
 具体的には、少なくとも1つのスピンに対してフリップすると判定していた場合には、疑似量子アニーリング実行部15は、逆温度を、現時点の逆温度より高く、現時点の逆温度に最も近い逆温度に変更する。
 また、全てのスピンに対してフリップしないと判定していた場合には、疑似量子アニーリング実行部15は、逆温度を、現時点の逆温度より低く、現時点の逆温度に最も近い逆温度に変更する。
 なお、ステップS14でフリップすると判定されたスピンは、ステップS14でフリップされている。
 ステップS16における変更後の逆温度は、ステップS5,S6で算出された逆温度のうちのいずれか1つの逆温度である。
 ステップS16の後、疑似量子アニーリング実行部15は、ステップS11からステップS16に至る処理を予め定められた所定回数、実行したか否かを判定する(ステップS17)。
 ステップS11からステップS16に至る処理の実行回数が所定回数に達していないならば(ステップS17のNo)、疑似量子アニーリング実行部15は、ステップS11以降の処理を繰り返す。ステップS17では全てのスピンが選択済みとなっているが、ステップS11で、疑似量子アニーリング実行部15は、再度、全てのスピンを未選択として定める。
 ステップS11からステップS16に至る処理の実行回数が所定回数に達したならば(ステップS17のYes)、疑似量子アニーリング実行部15は、その時点におけるスピン群の状態を最適解として定め、処理を終了する。
 図4に示すステップS11からステップS16に至る処理を所定回数、実行する過程で、各スピンの状態は初期状態から局所解に遷移していく。ここで、逆温度として、ステップS5,S6(図3参照)で算出された逆温度が用いられる。ステップS5で算出された各逆温度は、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度である。従って、局所解に遷移した場合であっても、その状態からいずれかのスピンをフリップすることができ、その結果、別の局所解に遷移することができる。そして、ステップS6で算出された逆温度は、局所解においてスピンをフリップできないとみなすことができる逆温度である。従って、局所解に遷移し、逆温度が、ステップS6で算出された逆温度になったならば、スピン群の状態は、その局所解に収束し、その局所解が最適解であると言える。また、図4に示す処理では、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度を用いるので、局所解の近辺に最適解がない場合であっても、その局所解においていずれかのスピンをフリップすることができる。そのため、他の局所解に遷移しやすいので、最適解から離れた局所解に遷移していたとしても速く最適解に到達することができる。
 本実施形態によれば、第3エネルギー変化算出部13は、各局所解においていずれかのスピンをフリップするときの、入力された式(例えば、式(2))が表すエネルギー変化(第3エネルギー変化)を複数種類、算出する。そして、逆温度算出部14は、その第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度を算出する。また、逆温度算出部14は、各局所解においてスピンをフリップできないとみなすことができる逆温度も算出する。そして、疑似量子アニーリング実行部15は、それらの逆温度を用いて、逆温度を上げ下げしながら、疑似量子アニーリング(図4参照)を実行する。
 従って、本実施形態では、疑似量子アニーリングを複数回、試行することによって、逆温度の範囲や、逆温度を変化させる場合にどの程度変化させるかといったパラメータを決定する必要がない。また、前述のように、図4に示す処理では、各局所解においていずれかのスピンをフリップすることができる比較的高い逆温度を用いるので、局所解の近辺に最適解がない場合であっても、その局所解においていずれかのスピンをフリップすることができる。そのため、他の局所解に遷移しやすいので、最適解から離れた局所解に遷移していたとしても速く最適解に到達することができる。よって、本実施形態によれば、組合せ最適化問題の最適解を求めるまでの時間を短縮することができる。
 図5は、本発明の実施形態の求解システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
 本発明の実施形態の求解システム1は、コンピュータ1000によって実現される。求解システム1の動作は、求解プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その求解プログラムを補助記憶装置1003から読み出して、その求解プログラムを主記憶装置1002に展開し、その求解プログラムに従って、上記の実施形態で説明した処理を実行する。
 補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
 また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
 各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
 次に、本発明の概要について説明する。図6は、本発明の求解システムの概要を示すブロック図である。本発明の求解システムは、第1エネルギー変化算出手段71と、第2エネルギー変化算出手段72と、第3エネルギー変化算出手段73と、逆温度算出手段74と、アニーリング手段75とを備える。
 第1エネルギー変化算出手段71(例えば、第1エネルギー変化算出部11)は、組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの制約項の値の変化である第1エネルギー変化を算出する。
 第2エネルギー変化算出手段72(例えば、第2エネルギー変化算出部12)は、各局所解においていずれかのスピンをフリップするときの目的関数の値の変化である第2エネルギー変化を算出する。
 第3エネルギー変化算出手段73(例えば、第3エネルギー変化算出部13)は、第1エネルギー変化および第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する。
 逆温度算出手段74(例えば、逆温度算出部14)は、個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する。
 アニーリング手段75(例えば、疑似量子アニーリング実行部15)は、算出された複数の逆温度を用いて疑似量子アニーリングを実行する。
 そのような構成によって、組合せ最適化問題の最適解を求めるまでの時間を短縮することができる。
 また、第1エネルギー変化算出手段71が、制約項を展開することによって、スピン毎の状態を表す各変数の係数を、第1エネルギー変化として算出してもよい。
 また、第2エネルギー変化算出手段72が、目的関数を所定のモデル(例えば、イジングモデル)の形式に変形し、少なくとも、所定のモデルの形式におけるスピン間の相互作用を表す定数(例えば、J’ij)の統計値と、所定のモデルの形式における各スピンに対応する各定数(例えば、h’)の統計値のいずれかを、第2エネルギー変化として算出してもよい。
 また、アニーリング手段75が、
 全てのスピンを未選択として定める処理、
 未選択のスピンの中から1つのスピンを選択する処理、
 選択した1つのスピンをフリップするか否かを判定し、フリップすると判定した場合には、そのスピンをフリップする処理、および、
 全てのスピンについてフリップするか否かを判定した後に、少なくとも1つのスピンに対してフリップすると判定していた場合には、逆温度を、現時点の逆温度よりも高く、現時点の逆温度に最も近い逆温度に変更し、全てのスピンに対してフリップしないと判定していた場合には、逆温度を、現時点の逆温度よりも低く、現時点の逆温度に最も近い逆温度に変更する処理
 を繰り返してもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
 本発明は、組合せ最適化問題の求解に好適に適用される。
 1 求解システム
 10 入力部
 11 第1エネルギー変化算出部
 12 第2エネルギー変化算出部
 13 第3エネルギー変化算出部
 14 逆温度算出部
 15 疑似量子アニーリング実行部

Claims (8)

  1.  組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、前記組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの前記制約項の値の変化である第1エネルギー変化を算出する第1エネルギー変化算出手段と、
     各局所解においていずれかのスピンをフリップするときの前記目的関数の値の変化である第2エネルギー変化を算出する第2エネルギー変化算出手段と、
     前記第1エネルギー変化および前記第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの前記式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する第3エネルギー変化算出手段と、
     個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する逆温度算出手段と、
     算出された複数の逆温度を用いて疑似量子アニーリングを実行するアニーリング手段とを備える
     ことを特徴とする求解システム。
  2.  前記第1エネルギー変化算出手段は、
     前記制約項を展開することによって、スピン毎の状態を表す各変数の係数を、第1エネルギー変化として算出する
     請求項1に記載の求解システム。
  3.  前記第2エネルギー変化算出手段は、
     前記目的関数を所定のモデルの形式に変形し、少なくとも、前記所定のモデルの形式におけるスピン間の相互作用を表す定数の統計値と、前記所定のモデルの形式における各スピンに対応する各定数の統計値のいずれかを、第2エネルギー変化として算出する
     請求項1または請求項2に記載の求解システム。
  4.  前記アニーリング手段は、
     全てのスピンを未選択として定める処理、
     未選択のスピンの中から1つのスピンを選択する処理、
     選択した1つのスピンをフリップするか否かを判定し、フリップすると判定した場合には、前記スピンをフリップする処理、および、
     前記全てのスピンについてフリップするか否かを判定した後に、少なくとも1つのスピンに対してフリップすると判定していた場合には、逆温度を、現時点の逆温度よりも高く、現時点の逆温度に最も近い逆温度に変更し、前記全てのスピンに対してフリップしないと判定していた場合には、逆温度を、現時点の逆温度よりも低く、現時点の逆温度に最も近い逆温度に変更する処理
     を繰り返す
     請求項1から請求項3のうちのいずれか1項に記載の求解システム。
  5.  コンピュータが、
     組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、前記組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの前記制約項の値の変化である第1エネルギー変化を算出し、
     各局所解においていずれかのスピンをフリップするときの前記目的関数の値の変化である第2エネルギー変化を算出し、
     前記第1エネルギー変化および前記第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの前記式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出し、
     個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出し、
     算出された複数の逆温度を用いて疑似量子アニーリングを実行する
     ことを特徴とする求解方法。
  6.  前記コンピュータが、
     前記制約項を展開することによって、スピン毎の状態を表す各変数の係数を、第1エネルギー変化として算出する
     請求項5に記載の求解方法。
  7.  コンピュータに、
     組合せ最適化問題におけるエネルギーを表す式であって、目的関数および制約項を含む式が与えられると、前記組合せ最適化問題の各局所解においていずれかのスピンをフリップするときの前記制約項の値の変化である第1エネルギー変化を算出する第1エネルギー変化算出処理、
     各局所解においていずれかのスピンをフリップするときの前記目的関数の値の変化である第2エネルギー変化を算出する第2エネルギー変化算出処理、
     前記第1エネルギー変化および前記第2エネルギー変化とに基づいて、各局所解においていずれかのスピンをフリップするときの前記式が表すエネルギーの変化である第3エネルギー変化を複数種類、算出する第3エネルギー変化算出処理、
     個々の第3エネルギー変化毎に、各局所解においていずれかのスピンをフリップすることができる逆温度を算出するとともに、各局所解においてスピンをフリップできないとみなすことができる逆温度を算出する逆温度算出処理、および、
     算出された複数の逆温度を用いて疑似量子アニーリングを実行するアニーリング処理
     を実行させるための求解プログラムを記録したコンピュータ読取可能な記録媒体。
  8.  前記コンピュータに、
     前記第1エネルギー変化算出処理で、
     前記制約項を展開することによって、スピン毎の状態を表す各変数の係数を、第1エネルギー変化として算出させる
     求解プログラムを記録した請求項7に記載のコンピュータ読取可能な記録媒体。
PCT/JP2020/039619 2020-10-21 2020-10-21 求解システムおよび求解方法 WO2022085133A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022556312A JP7428268B2 (ja) 2020-10-21 2020-10-21 求解システムおよび求解方法
US18/030,715 US20230367926A1 (en) 2020-10-21 2020-10-21 Solution system and solution method
PCT/JP2020/039619 WO2022085133A1 (ja) 2020-10-21 2020-10-21 求解システムおよび求解方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/039619 WO2022085133A1 (ja) 2020-10-21 2020-10-21 求解システムおよび求解方法

Publications (1)

Publication Number Publication Date
WO2022085133A1 true WO2022085133A1 (ja) 2022-04-28

Family

ID=81289757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039619 WO2022085133A1 (ja) 2020-10-21 2020-10-21 求解システムおよび求解方法

Country Status (3)

Country Link
US (1) US20230367926A1 (ja)
JP (1) JP7428268B2 (ja)
WO (1) WO2022085133A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020106917A (ja) * 2018-12-26 2020-07-09 富士通株式会社 最適化装置及び最適化装置の制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260013A1 (en) 2015-03-06 2016-09-08 Nokia Technologies Oy Method and apparatus for optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020106917A (ja) * 2018-12-26 2020-07-09 富士通株式会社 最適化装置及び最適化装置の制御方法

Also Published As

Publication number Publication date
US20230367926A1 (en) 2023-11-16
JP7428268B2 (ja) 2024-02-06
JPWO2022085133A1 (ja) 2022-04-28

Similar Documents

Publication Publication Date Title
JP7186797B2 (ja) 量子計算のための方法及びシステム
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B6 (ja) 情報処理装置、演算装置、及び情報処理方法
WO2021059338A1 (ja) 求解システム、求解方法および求解プログラム
JP7100254B2 (ja) 最適化システム、最適化システムの制御方法及び最適化システムの制御プログラム
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
WO2020234984A1 (ja) 学習装置、学習方法、コンピュータプログラム及び記録媒体
JP7505574B2 (ja) 求解方法選択装置および方法
WO2022085133A1 (ja) 求解システムおよび求解方法
Kuljus et al. Pairwise Markov models and hybrid segmentation approach
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
US20210264259A1 (en) Learning device, inference device, learning method, and inference method
WO2023248414A1 (ja) 求解装置、求解方法および求解プログラム
WO2023203769A1 (ja) 重み係数算出装置および重み係数算出方法
JP7414144B2 (ja) エネルギー関数導出装置、方法、および、プログラム
JP7420257B2 (ja) 求解システム、求解方法、および、求解プログラム
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
JP7405244B2 (ja) 求解システム、求解方法および求解プログラム
JP7357795B2 (ja) 情報処理方法および情報処理システム
JP7470019B2 (ja) 情報処理システム
Pang et al. A parametric simplex approach to statistical learning problems
WO2017056320A1 (ja) プログラム生成装置、プログラム生成方法および生成プログラム
JP7468655B2 (ja) 不整合判定装置、方法、および、プログラム
WO2023021666A1 (ja) 情報処理装置、量子回路生成方法および量子回路生成プログラム
WO2024029540A1 (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: 20958685

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022556312

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20958685

Country of ref document: EP

Kind code of ref document: A1