WO2023203769A1 - 重み係数算出装置および重み係数算出方法 - Google Patents
重み係数算出装置および重み係数算出方法 Download PDFInfo
- Publication number
- WO2023203769A1 WO2023203769A1 PCT/JP2022/018589 JP2022018589W WO2023203769A1 WO 2023203769 A1 WO2023203769 A1 WO 2023203769A1 JP 2022018589 W JP2022018589 W JP 2022018589W WO 2023203769 A1 WO2023203769 A1 WO 2023203769A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- constraint
- term
- weighting coefficient
- constraint term
- spins
- Prior art date
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 98
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 230000006378 damage Effects 0.000 claims abstract description 13
- 238000009795 derivation Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 description 46
- 238000010586 diagram Methods 0.000 description 11
- 238000002922 simulated annealing Methods 0.000 description 10
- 230000005366 Ising model Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000137 annealing Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- the present invention provides a weighting coefficient calculation device, a weighting coefficient calculation method, and a computer-readable recording medium storing a weighting coefficient calculation program for calculating the weighting coefficient of each constraint term included in an expression expressing energy in a combinatorial optimization problem. Regarding.
- the Ising model is a statistical mechanics model that expresses the behavior of magnetic materials using individual spins, but it can also be applied to solving combinatorial optimization problems.
- each spin state is represented by "1" or "-1".
- Both i and j in equation (1) are variables representing spin. Further, s i in equation (1) is a variable representing the state of spin i, and s j is a variable representing the state of spin j. h i in equation (1) is a constant corresponding to spin i. For each possible value of i, h i is defined as a constant. J ij in equation (1) is a constant corresponding to the combination of spin i and spin j. J ij is determined as a constant for each combination of the possible values of i and the possible values of j.
- QUBO is a model that represents the state of each spin as “1” or “0”.
- Both i and j in equation (2) are variables representing spin. Further, s i in equation (2) is a variable representing the state of spin i, and s j is a variable representing the state of spin j. Q ij in equation (2) is a constant corresponding to the combination of spin i and spin j. Q ij is determined as a constant for each combination of possible values of i and j.
- the Ising model and the QUBO energy function are input to a solver that performs simulated annealing.
- the solver uses simulated annealing to find the state of each spin that corresponds to the solution to the combinatorial optimization problem.
- the energy function of QUBO is obtained by transforming the expression expressing energy in a combinatorial optimization problem.
- This equation expresses the weighted sum of one or more objective functions and one or more constraint terms as energy.
- One constraint term represents one constraint. Weighting coefficients are determined for each of the one or more objective functions and the one or more constraint terms. Further, each objective function and each constraint term can be transformed by themselves into the form of a QUBO energy function.
- equation (3) shown below is an example of an equation expressing energy in a combinatorial optimization problem.
- W 1 , W 2 , W 3 , W 4 , and W 5 are weighting coefficients, respectively.
- W 5 (constraint term 3 + constraint term 4) represents that a plurality of constraint terms (constraint term 3 and constraint term 4) are associated with a common weighting coefficient W 5 .
- Equation (3) An expression representing energy as exemplified in Equation (3) is transformed into a QUBO energy function. Then, the energy function of QUBO is input to the solving device. The solver finds the state of each spin that corresponds to a solution to the combinatorial optimization problem.
- FIG. 7 is a schematic diagram showing an example of the state of each spin in this traveling salesman problem.
- equation (4) the equation representing energy is expressed as equation (4) shown below.
- the first term on the right side of equation (4) is the objective function.
- the weighting factor of the objective function is 1.
- d ij in the objective function represents the distance between two cities.
- the second to ninth terms on the right side of equation (4) are constraint terms.
- a common weighting coefficient A is determined for each constraint term.
- the objective function in this example is in the form of a QUBO energy function. Further, each of the eight constraint terms can be transformed by itself into the form of a QUBO energy function.
- the second term on the right side is a constraint that only one spin becomes 1 in the first column shown in FIG.
- the third term on the right side is a constraint that only one spin becomes 1 in the second column shown in FIG.
- the fourth term on the right side is a constraint that only one spin becomes 1 in the third column shown in FIG.
- the fifth term on the right side is a constraint that only one spin becomes 1 in the fourth column shown in FIG.
- the sixth term on the right side is a constraint that only one spin becomes 1 in the first row shown in FIG.
- the seventh term on the right side is a constraint that only one spin becomes 1 in the second row shown in FIG.
- the eighth term on the right side is a constraint that only one spin becomes 1 in the third row shown in FIG.
- the ninth term on the right side is a constraint that only one spin becomes 1 in the fourth row shown in FIG.
- FIG. 8 is a flowchart illustrating an example of a general processing procedure for determining weighting coefficients of constraint terms. It is assumed that the weighting coefficient of the objective function is determined as a fixed value by the operator.
- step S101 the weighting coefficients of each constraint term are initialized (step S101). Then, simulated annealing is performed to obtain a solution to the combinatorial optimization problem (step S102). Next, it is determined whether a solution satisfying the constraints indicated by each constraint term has been obtained (step S103). If there is a constraint that is not satisfied in the obtained solution (No in step S103), the weighting coefficient of the constraint term is corrected manually or automatically (step S104). Then, the processing from step S102 onwards is repeated. If a solution that satisfies all the constraints indicated by each constraint term is obtained (Yes in step S103), the weighting coefficient of each constraint term obtained at that point is determined as the weighting coefficient of each constraint term.
- the weighting coefficient of the objective function may be determined as appropriate by the operator. For example, in the example shown in equation (3), if the operator determines that objective function 1 is important, the operator may set the weighting coefficient W1 of objective function 1 to a large value.
- Patent Document 1 an energy function is defined separately into a constraint term representing a constraint condition and a cost term representing a cost function, and the value of the weighting coefficient of the constraint term is adjusted by a parameter update rule to perform simulation. It is described that Ted annealing is performed.
- the present invention provides a weighting coefficient calculation device, a weighting coefficient calculation method, and a computer readable device storing a weighting coefficient calculation program that can quickly calculate the weighting coefficient of a constraint term of an expression expressing energy of a combinatorial optimization problem.
- the purpose is to provide a possible recording medium.
- the weighting coefficient calculation device includes an input means into which each constraint term included in an expression expressing energy in a combinatorial optimization problem is input, and an input means for inputting each constraint term, and a link for each constraint term to each spin related to the constraint expressed by the constraint term.
- automatic establishment rate calculation means that calculates an automatic establishment rate that is the probability that the constraint expressed by the constraint term is satisfied when all other constraints expressed by the constraint term are satisfied; an energy increase amount determination means for determining the energy increase amount at the time of constraint destruction, which is the energy increase amount when the expressed constraint is no longer satisfied; and for each constraint term, derive the number of spins related to the constraint expressed by the constraint term.
- spin number deriving means for calculating a weighting coefficient corresponding to a constraint term based on the automatic establishment rate, the amount of energy increase upon breaking the constraint, and the number of spins for each constraint term. It is characterized by comprising:
- a computer receives input of each constraint term included in an expression expressing energy in a combinatorial optimization problem, and for each constraint term, the computer receives input of each constraint term included in an expression expressing energy, Executes an automatic establishment rate calculation process that calculates an automatic establishment rate, which is the probability that the constraint expressed by the constraint term is satisfied when all other constraints expressed by the constraint term are satisfied, and for each constraint term, the constraint An energy increase amount determination process is executed to determine the energy increase amount at the time of constraint destruction, which is the amount of energy increase when the constraint expressed by the term is no longer satisfied, and for each constraint term, the spin related to the constraint expressed by the constraint term is calculated.
- a spin number derivation process is executed to derive the number of spins, and for each constraint term, a weighting coefficient corresponding to the constraint term is determined based on the automatic establishment rate, the amount of energy increase at the time of breaking the constraint, and the number of spins.
- the method is characterized in that a weighting coefficient calculation process is executed.
- a computer-readable recording medium provides a computer with an input means for inputting each constraint term included in an expression expressing energy in a combinatorial optimization problem.
- Automatic execution rate calculation processing that calculates an automatic execution rate that is the probability that the constraint expressed by the constraint term is satisfied when all other constraints related to individual spins are satisfied, for each constraint term .
- An energy increase amount determination process that determines the energy increase amount at the time of constraint destruction, which is the amount of energy increase when the constraint expressed by the constraint term is no longer satisfied.For each constraint term, the number of spins related to the constraint expressed by the constraint term.
- FIG. 1 is a block diagram showing a configuration example of a weighting coefficient calculation device according to an embodiment of the present invention.
- FIG. 3 is a schematic diagram showing an example of constraints defined for a plurality of spins. This is a schematic diagram showing the amount of energy increase when the number of spins that are 1 decreases by 1 from n ⁇ a, and the amount of energy increase when the number of spins that are 1 increases by 1 from n+b. be. It is a flowchart which shows an example of processing progress of an embodiment of the present invention.
- 1 is a schematic block diagram showing a configuration example of a computer related to a weighting coefficient calculation device according to an embodiment of the present invention.
- FIG. 1 is a block diagram showing an overview of a weighting coefficient calculation device of the present invention.
- FIG. 2 is a schematic diagram showing an example of the state of each spin in the traveling salesman problem.
- 12 is a flowchart illustrating an example of a general processing procedure for determining weighting coefficients of constraint terms.
- FIG. 1 is a block diagram showing a configuration example of a weighting coefficient calculation device according to an embodiment of the present invention.
- the weighting coefficient calculation device 10 of the present embodiment includes an input section 1, a constraint identification section 2, an automatic establishment rate calculation section 3, an energy increase amount determination section 4, a spin number derivation section 5, and a weighting coefficient calculation section 6. Equipped with.
- Each objective function and each constraint term in a formula representing the energy of a combinatorial optimization problem to be transformed into a QUBO energy function are input to the input unit 1.
- the number of input constraint terms is one or more. Since the weighting coefficient of the objective function can be appropriately determined by the operator, the objective function does not need to be input.
- information specifying the multiple constraint terms is also input to the input unit 1.
- one constraint term represents one constraint.
- Each objective function and each constraint term input to the input unit 1 can be transformed by itself into the form of a QUBO energy function.
- the input unit 1 is an input device into which information specifying each objective function, each constraint term, and a plurality of constraint terms associated with a common weighting coefficient when the plurality of constraint terms exist. For example, the input unit 1 reads the objective function recorded on the recording medium, each constraint term, and information specifying the plural constraint terms when there are plural constraint terms associated with a common weighting coefficient. It may also be an input device such as a reading device. However, as described above, the objective function does not need to be input to the input unit 1.
- the constraint specifying unit 2 specifies, for each input constraint term, the content of the constraint represented by the constraint term.
- the automatic establishment rate calculation unit 3 calculates the automatic establishment rate for each constraint (in other words, for each constraint term).
- the automatic establishment rate is the probability that the constraint expressed by the constraint term is satisfied when all other constraints related to the individual spins related to the constraint expressed by the constraint term are satisfied.
- FIG. 2 is a schematic diagram showing an example of constraints defined for a plurality of spins.
- the contents of each constraint C 1 to C 6 are specified by the constraint specifying unit 2 based on each input constraint term.
- constraints C 1 to C 6 are all constraints such that only one spin becomes 1.
- the constraint that only one spin becomes 1 will be referred to as a one-hot constraint.
- the automatic establishment rate of constraint C1 will be explained as an example.
- the individual spins associated with constraint C 1 are spins 1-4 (see FIG. 2). All other constraints associated with that individual spin are constraints C 2 , C 3 associated with spin 1, C 4 associated with spin 2, C 5 associated with spin 3, and C 5 associated with spin 4.
- the constraint C6 is (see Fig. 2). Therefore, the automatic satisfaction rate of constraint C 1 is the probability that constraint C 1 is satisfied when all constraints C 2 to C 6 are satisfied.
- the automatic success rate calculation unit 3 calculates the automatic success rate as a value in the range of 0 or more and 1 or less.
- the constraints that are subject to automatic establishment rate calculation will be referred to as target constraints.
- all other constraints related to individual spins related to the target constraint are respectively referred to as related constraints.
- the automatic establishment rate calculation unit 3 calculates the probability that the spin becomes 1 for each spin related to the target constraint, assuming that all related constraints are satisfied. Calculate each.
- the automatic establishment rate calculation unit 3 calculates the automatic establishment rate of the target constraint based on the probability that each spin becomes 1.
- the automatic success rate calculation unit 3 calculates the probability that the spin becomes 1 for each spin related to the target constraint, as described above.
- the automatic establishment rate calculation unit 3 calculates the automatic establishment rate of the target constraint C1 as follows.
- the respective probabilities are also calculated as 0.08789 in the same manner as above.
- the automatic establishment rate calculation unit 3 can calculate the automatic establishment rate even when the target constraint is an arbitrary constraint by calculating the probability that the spin becomes 1 for each spin related to the target constraint. .
- the automatic establishment rate calculation unit 3 calculates the automatic establishment rate for each constraint (for each constraint term).
- the weighting coefficient calculation unit 6 determines the weighting coefficient such that the larger the automatic establishment rate, which is a value in the range of 0 to 1, the smaller the weighting coefficient.
- the energy increase amount determining unit 4 determines the energy increase amount upon breaking the constraint for each constraint (in other words, for each constraint term).
- the amount of energy increase upon breaking the constraint is the amount of energy increase when the constraint expressed by the constraint term is no longer satisfied.
- the energy increase amount determination unit 4 has a constraint that "the number of spins that are 1 is greater than or equal to a first predetermined value and less than or equal to a second predetermined value", and that "the number of spins that are 1 is a predetermined value
- the amount of energy increase upon breaking the constraint is calculated for the constraint that "the number of spins that are 1 is equal to or less than a predetermined value” and the constraint that "the number of spins that are 1 is less than or equal to a predetermined value.”
- the energy increase amount determination unit 4 uniformly determines the energy increase amount at the time of constraint destruction to be "1". Note that the content of the constraint for each constraint term is specified by the constraint specifying unit 2.
- the energy increase amount determination unit 4 determines the energy increase amount upon breaking the constraint regarding the constraint that "the number of spins that are 1 is greater than or equal to the first predetermined value and less than or equal to the second predetermined value.” An example will be explained. Hereinafter, the number of spins that are 1 when the energy of the constraint term expressing this constraint is minimum is assumed to be n. Further, the first predetermined value is na and the second predetermined value is n+b.
- Figure 3 shows the amount of energy increase when the number of spins that are 1 decreases by 1 from n ⁇ a, and the amount of energy increase when the number of spins that are 1 increases by 1 from n+b.
- the amount of energy increase when the number of spins that are 1 decreases by 1 from na is written as E a . Further, the amount of energy increase when the number of spins that are 1 increases by 1 from n+b is written as E b .
- the energy increase amount determination unit 4 can calculate the energy increase amounts E a and E b based on the constraint term representing this constraint.
- the energy increase amount determining unit 4 calculates the probability that the spin becomes 1 for each spin related to the constraint based on other related constraints. Based on the probabilities, the energy increase amount determination unit 4 calculates the probability that the number of spins that are 1 is less than na and the probability that the number of spins that are 1 exceeds n+b. . The probability that the number of spins that are 1 is less than na is denoted by P a . The probability that the number of spins that are 1 exceeds n+b is written as P b .
- the energy increase amount determination unit 4 determines that “if the number of spins that are 1 is equal to or greater than the first predetermined value, then the second Determine the amount of energy increase when the constraint is broken under the constraint "below a predetermined value".
- Equation (5) The value obtained by equation (5) is the amount of energy increase upon breaking the constraint in the constraint that "the number of spins that are 1 is greater than or equal to the first predetermined value and less than or equal to the second predetermined value.”
- the energy increase amount determining unit 4 determines the energy increase amount at the time of constraint destruction to be E b .
- the energy increase amount determining unit 4 determines the energy increase amount at the time of constraint destruction to be E a .
- the energy increase amount determining unit 4 in response to the constraint that "the number of spins that are 1 is greater than or equal to a predetermined value", the energy increase amount determining unit 4 , the amount of energy increase when the number of spins from 1 changes to one less than the predetermined value is determined as the amount of energy increase at the time of constraint breaking.
- the energy increase amount determining unit 4 in response to the constraint that "the number of spins that are 1 is equal to or less than a predetermined value", the energy increase amount determining unit 4 , the amount of energy increase when the number of spins that is 1 changes to a state where the number of spins is 1 more than the predetermined value is determined as the amount of energy increase at the time of constraint breaking.
- Constraints expressed by constraint terms with a large energy increase when the constraint is broken are likely to be satisfied when performing simulated annealing. Therefore, for a constraint term in which the amount of energy increase at the time of constraint destruction is large, the constraint expressed by that constraint term can be satisfied even if the weighting coefficient is made small. Therefore, the weighting coefficient calculation unit 6, which will be described later, determines the weighting coefficient so that the larger the amount of energy increase upon breaking the constraint, the smaller the weighting coefficient becomes.
- the spin number deriving unit 5 derives the number of spins related to the constraint for each constraint (in other words, for each constraint term).
- the spin number deriving unit 5 may derive the number of spins related to the constraint expressed by the constraint term based on the constraint term.
- the weighting coefficient calculation unit 6 determines the weighting coefficient such that the larger the number of spins related to the constraint, the smaller the weighting coefficient.
- the weighting coefficient calculation unit 6 calculates a weighting coefficient corresponding to the constraint term for each constraint (in other words, for each constraint term).
- the weighting coefficient calculation unit 6 calculates a weighting coefficient corresponding to the constraint term of interest based on the automatic establishment rate determined for the constraint term, the amount of energy increase upon breaking the constraint, and the number of spins.
- the weighting coefficient calculation unit 6 determines the weighting coefficient such that the larger the automatic establishment rate, which is a value in the range of 0 to 1, the smaller the weighting coefficient. Furthermore, the weighting coefficient calculation unit 6 determines the weighting coefficient such that the larger the amount of energy increase upon breaking the constraint, the smaller the weighting coefficient becomes. The weighting coefficient calculation unit 6 determines the weighting coefficient such that the larger the number of spins related to the constraint, the smaller the weighting coefficient.
- the weighting coefficient calculation unit 6 calculates the weighting coefficient corresponding to the constraint term for each constraint term by calculating the following equation (6).
- Weighting coefficient (1 - automatic establishment rate) / (energy increase when constraint breaks * number of spins) ...(6)
- the weighting coefficient calculation unit 6 calculates the average value of the weighting coefficients calculated by equation (6) for each of the multiple constraint terms, is determined as a common weighting factor associated with the constraint term.
- constraint term 1, constraint term 2, constraint term 3, and constraint term 4 shown in equation (3) are input, and information specifying constraint term 3 and constraint term 4 as multiple constraint terms associated with a common weighting coefficient.
- the weighting coefficient calculation unit 6 determines the value calculated using equation (6) regarding the constraint term 1 as the weighting coefficient W 3 corresponding to the constraint term 1.
- the weighting coefficient calculation unit 6 determines the value calculated using equation (6) regarding the constraint term 2 as the weighting coefficient W 4 corresponding to the constraint term 2.
- weighting coefficient calculation unit 6 calculates the weighting coefficient calculated by equation (6) for constraint term 3 and the weighting coefficient calculated by equation (6) for constraint term 4. The average value of the calculated weighting coefficients is calculated, and the average value is determined as the weighting coefficient W5 .
- the constraint identification unit 2, the automatic establishment rate calculation unit 3, the energy increase amount determination unit 4, the number of spins derivation unit 5, and the weighting coefficient calculation unit 6 are configured using, for example, a CPU (Central Processing Unit) of a computer that operates according to a weighting coefficient calculation program. ) is realized.
- the CPU reads a weighting coefficient calculation program from a program recording medium such as a program storage device of a computer, and according to the weighting coefficient calculation program, the constraint identification unit 2, automatic establishment rate calculation unit 3, energy increase amount determination unit 4, spin It is sufficient to operate as the number deriving section 5 and the weighting coefficient calculating section 6.
- FIG. 4 is a flowchart showing an example of the processing progress of this embodiment. Detailed explanations of matters that have already been explained will be omitted.
- each constraint term in the equation representing the energy of the combinatorial optimization problem is input to the input unit 1 (step S1).
- each objective function in the equation representing energy may also be input to the input unit 1.
- information specifying the plurality of constraint terms is also input to the input unit 1.
- the constraint specifying unit 2 specifies, for each constraint term, the content of the constraint represented by the constraint term (step S2).
- the automatic establishment rate calculation unit 3 calculates the automatic establishment rate for each constraint term (step S3).
- the energy increase amount determination unit 4 determines the energy increase amount when the constraint is broken for each constraint term (step S4).
- the spin number deriving unit 5 derives, for each constraint term, the number of spins related to the constraint expressed by the constraint term (step S5).
- steps S3, S4, and S5 The order of execution of steps S3, S4, and S5 is not limited. Further, the automatic success rate calculation section 3, the energy increase amount determination section 4, and the spin number derivation section 5 may execute steps S3, S4, and S5 in parallel.
- the weighting coefficient calculation unit 6 calculates a weighting coefficient corresponding to each constraint term based on the automatic establishment rate, the amount of energy increase upon breaking the constraint, and the number of spins (step S6). .
- the weighting coefficient calculation unit 6 associates the average value of the weighting coefficients calculated for each of the multiple constraint terms with the multiple constraint terms. It is determined as a common weighting coefficient (step S7). If a plurality of constraint terms associated with a common weighting coefficient do not exist, the weighting coefficient calculation unit 6 may end the process at step S6 without executing step S7.
- the weighting coefficient calculation unit 6 may display the individual weighting coefficients corresponding to the finally determined individual constraint terms on, for example, a display device (not shown).
- the output mode of each weighting coefficient corresponding to each constraint term is not limited to the above example.
- each constraint term in the equation representing the energy of the combinatorial optimization problem is input to the weighting coefficient calculation device 10. Furthermore, if there are a plurality of constraint terms associated with a common weighting coefficient, information specifying the plurality of constraint terms is also input to the weighting coefficient calculation device 10. The weighting coefficient calculation device 10 calculates a weighting coefficient corresponding to each inputted constraint term based on the inputted information. At this time, the weighting coefficient calculation device 10 calculates weighting coefficients such that the weighting coefficients become smaller with respect to constraint terms that represent constraints that are likely to be satisfied. Generally, the smaller the weighting coefficient of a constraint term, the more difficult the constraint represented by that constraint term is to be satisfied.
- the weighting coefficient calculation device 10 of the present embodiment calculates the weighting coefficients such that the weighting coefficients become small for the constraint terms that represent constraints that are likely to be satisfied, so even if the weighting coefficients are small, the constraints can be satisfied. .
- the weighting coefficient calculation device 10 of the present embodiment calculates the weighting coefficient corresponding to each input constraint term based on the input information, so the iterative processing including simulated annealing ( (see FIG. 8), it is possible to calculate the weighting coefficient of each constraint term. Therefore, the weighting coefficient of each constraint term in the expression expressing the energy of the combinatorial optimization problem can be calculated at high speed.
- Each objective function and each constraint term of the expression expressing the energy of the combinatorial optimization problem is determined in advance according to the combinatorial optimization problem. Then, the weighting coefficient calculation device 10 of this embodiment determines the weighting coefficient of each constraint term. Further, the operator may appropriately determine the weighting coefficient of each objective function. As a result, each objective function, each constraint term, and the weighting coefficient of each objective function and the weighting coefficient of each constraint term are determined. In other words, an expression expressing energy is determined. Therefore, it is possible to transform the energy expression into a QUBO energy function, and by inputting that energy function into a solver that performs simulated annealing, the state of each spin that corresponds to the solution of the combinatorial optimization problem is determined. can be obtained.
- FIG. 5 is a schematic block diagram showing an example of the configuration of a computer related to the weighting coefficient calculation device 10 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 weighting coefficient calculation device 10 is realized by a computer 1000.
- the operation of the weighting factor calculation device 10 is stored in the auxiliary storage device 1003 in the form of a weighting factor calculation program.
- the CPU 1001 reads the weighting factor calculation program from the auxiliary storage device 1003, expands the weighting factor calculation program into the main storage device 1002, and executes the processing described in the above embodiment according to the weighting factor calculation program.
- the auxiliary storage device 1003 is an example of a non-temporary tangible medium.
- Other examples of non-transitory tangible media include magnetic disks, magneto-optical disks, CD-ROMs (Compact Disk Read Only Memory), DVD-ROMs (Digital Versatile Disk Read Only Memory), which are connected via the interface 1004. Examples include semiconductor memory.
- the computer 1000 that receives the program may deploy the program in the main storage device 1002 and execute the processing described in the above embodiment according to the program. .
- each component may be realized by a general-purpose or dedicated circuit, a processor, etc., or a combination thereof. These may be configured by a single chip or multiple chips connected via a bus. Part or all of each component may be realized by a combination of the circuits and the like described above and a program.
- the plurality of information processing devices, circuits, etc. may be centrally arranged or distributed.
- information processing devices, circuits, etc. may be implemented as a client and server system, a cloud computing system, or the like, in which each is connected via a communication network.
- FIG. 6 is a block diagram showing an overview of the weighting coefficient calculation device of the present invention.
- the weighting coefficient calculating device of the present invention includes an input means 71 , an automatic success rate calculating means 73 , an energy increase amount determining means 74 , a spin number deriving means 75 , and a weighting coefficient calculating means 76 .
- Each constraint term included in an expression expressing energy in a combinatorial optimization problem is input to the input means 71 (for example, the input unit 1).
- the automatic success rate calculation means 73 calculates, for each constraint term, when all other constraints related to the individual spins related to the constraint expressed by the constraint term are satisfied.
- the automatic establishment rate which is the probability that the constraint represented by the constraint term is satisfied, is calculated.
- the energy increase amount determination means 74 determines, for each constraint term, the energy increase amount at the time of constraint destruction, which is the energy increase amount when the constraint expressed by the constraint term is no longer satisfied. .
- the spin number deriving means 75 (for example, the spin number deriving unit 5) derives, for each constraint term, the number of spins related to the constraint expressed by the constraint term.
- the weighting coefficient calculation means 76 calculates a weighting coefficient corresponding to each constraint term based on the automatic establishment rate, the amount of energy increase upon breaking the constraint, and the number of spins. Calculate.
- the automatic establishment rate calculation means 73 calculates, for each constraint term, if all other constraints related to the individual spins related to the constraint expressed by the constraint term are satisfied,
- the configuration may be such that the probability of each spin becoming 1 is calculated, and the success rate is automatically calculated based on the probability that each spin becomes 1.
- the weighting coefficient calculation means 76 associates the average value of the weighting coefficients calculated for each of the plurality of constraint terms with the plurality of constraint terms.
- a configuration may also be adopted in which a common weighting coefficient is determined.
- the present invention is suitably applied to a weighting coefficient calculation device that calculates a weighting coefficient of each constraint term included in an expression expressing energy in a combinatorial optimization problem.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
Abstract
入力手段71には、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される。自動成立率算出手段73は、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、その制約項が表す制約が満たされている確率である自動成立率を算出する。エネルギー増加量決定手段74は、制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定する。スピン数導出手段75は、制約項毎に、制約項が表す制約に関連するスピンの数を導出する。重み係数決定手段76は、制約項毎に、自動成立率と、制約破壊時のエネルギー増加量と、スピンの数とに基づいて、制約項に対応する重み係数を算出する。
Description
本発明は、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項の重み係数を算出する重み係数算出装置、重み係数算出方法、および、重み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
組合せ最適化問題を解く際に、イジングモデルやQUBO(Quadratic Unconstrained Binary Optimization )のエネルギー関数が利用されている。
イジングモデルは、個々のスピンによって磁性体の振る舞いを表す統計力学上のモデルであるが、組合せ最適化問題の求解にも適用可能である。イジングモデルでは、個々のスピンの状態は、“1”または“-1”で表される。
イジングモデルにおけるエネルギー関数は、以下の式(1)のように表される。
式(1)におけるi,jは、いずれもスピンを表す変数である。また、式(1)におけるsiは、スピンiの状態を表す変数であり、sjは、スピンjの状態を表す変数である。式(1)におけるhiは、スピンiに対応する定数である。iの取り得る値毎に、hiは定数として定められる。式(1)におけるJijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Jijは定数として定められる。
QUBOは、個々のスピンの状態を“1”または“0”で表すモデルである。
QUBOにおけるエネルギー関数は、以下の式(2)のように表される。
式(2)におけるi,jは、いずれもスピンを表す変数である。また、式(2)におけるsiは、スピンiの状態を表す変数であり、sjは、スピンjの状態を表す変数である。式(2)におけるQijは、スピンiおよびスピンjの組合せに対応する定数である。iの取り得る値とjの取り得る値の組合せ毎に、Qijは定数として定められる。
イジングモデルやQUBOのエネルギー関数は、シミュレーテッドアニーリングを実行する求解装置に入力される。求解装置は、シミュレーテッドアニーリングによって、組合せ最適化問題の解に該当する各スピンの状態を求める。
以下、QUBOのエネルギー関数を求める場合を例にして説明する。ただし、イジングモデルのエネルギー関数を求めることも、下記の説明と同様に説明可能である。
QUBOのエネルギー関数は、組合せ最適化問題におけるエネルギーを表す式を変形することによって求められる。この式は、1つ以上の目的関数と1つ以上の制約項の重み付け和を、エネルギーとして表す。1つの制約項は、1つの制約を表す。1つ以上の各目的関数と1つ以上の各制約項には、それぞれ、重み係数が定められている。また、個々の目的関数や個々の制約項は、それ自体で、QUBOのエネルギー関数の形式に変形可能である。
例えば、以下に示す式(3)は、組合せ最適化問題におけるエネルギーを表す式の一例である。
E=W1(目的関数1)+W2(目的関数2)+W3(制約項1)+W4(制約項2)
+W5(制約項3+制約項4)
・・・(3)
+W5(制約項3+制約項4)
・・・(3)
W1,W2,W3,W4,W5は、それぞれ重み係数である。
式(3)において、W5(制約項3+制約項4)は、複数の制約項(制約項3と制約項4)が共通の重み係数W5に関連付けられていることを表している。
式(3)に例示するようなエネルギーを表す式が、QUBOのエネルギー関数に変形される。そして、QUBOのエネルギー関数は求解装置に入力される。求解装置は、組合せ最適化問題の解に該当する各スピンの状態を求める。
QUBOのエネルギー関数に変形されるエネルギーを表す式の具体例を以下に示す。ここでは、都市数が4個である場合の巡回セールスマン問題を例にする。図7は、この巡回セールスマン問題における各スピンの状態の一例を示す模式図である。本例では、エネルギーを表す式は、以下に示す式(4)のように表される。
式(4)の右辺第1項は、目的関数である。本例では、目的関数の重み係数は1である。目的関数におけるdijは、2つの都市間の距離を表す。式(4)の右辺第2項から第9項までは、制約項である。各制約項には共通の重み係数Aが定められている。本例の目的関数は、QUBOのエネルギー関数の形式になっている。また、8個の各制約項はそれぞれ、それ自体で、QUBOのエネルギー関数の形式に変形することができる。
右辺第2項は、図7に示す第1列において1つのスピンだけが1になるという制約である。右辺第3項は、図7に示す第2列において1つのスピンだけが1になるという制約である。右辺第4項は、図7に示す第3列において1つのスピンだけが1になるという制約である。右辺第5項は、図7に示す第4列において1つのスピンだけが1になるという制約である。
右辺第6項は、図7に示す第1行において1つのスピンだけが1になるという制約である。右辺第7項は、図7に示す第2行において1つのスピンだけが1になるという制約である。右辺第8項は、図7に示す第3行において1つのスピンだけが1になるという制約である。右辺第9項は、図7に示す第4行において1つのスピンだけが1になるという制約である。
制約項の値が0に近いほど、その制約項が表す制約がより満たされていることになる。
一般的に、制約項の重み係数の値によっては、求解装置によって得られた解が、制約項が表す制約を満たさない場合がある。そこで、一般的に、シミュレーテッドアニーリングと、制約項の重み係数の修正とを繰り返すことによって、解が制約を満たすような制約項の重み係数を決定している。図8は、制約項の重み係数の決定の一般的な処理経過の例を示すフローチャートである。なお、目的関数の重み係数は、オペレータが固定値として定めているものとする。
まず、各制約項の重み係数を初期化する(ステップS101)。そして、シミュレーテッドアニーリングを実行し、組合せ最適化問題の解を得る(ステップS102)。次に、各制約項が示す制約を満たす解が得られたか否かを判定する(ステップS103)。得られた解において、満たされていない制約があるならば(ステップS103のNo)、手動または自動で、制約項の重み係数を修正する(ステップS104)。そして、ステップS102以降の処理を繰り返す。各制約項が示す制約を全て満たす解が得られたならば(ステップS103のYes)、その時点で得られている各制約項の重み係数を、各制約項の重み係数として決定する。
なお、目的関数の重み係数は、オペレータによって適宜決定されてよい。例えば、式(3)に示す例において、オペレータが、目的関数1が重要であると判断した場合には、オペレータが、目的関数1の重み係数W1を大きな値に設定すればよい。
また、特許文献1には、エネルギー関数を、制約条件を表す制約項と、コスト関数を表すコスト項とに分けて定義し、制約項の重み係数の値をパラメータ更新則によって調節して、シミュレーテッドアニーリングを行うことが記載されている。
前述のように、シミュレーテッドアニーリングと、制約項の重み係数の修正とを繰り返しながら、制約を満たす解を得ることができる制約項の重み係数を決定する場合、シミュレーテッドアニーリングを繰り返すことになる。そのため、この方法では、制約項の重み係数の決定に時間がかかる。
そこで、本発明は、組合せ最適化問題のエネルギーを表す式の制約項の重み係数を高速に算出することができる重み係数算出装置、重み係数算出方法、および、重み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
本発明による重み係数算出装置は、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される入力手段と、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出手段と、制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定手段と、制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出手段と、制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出手段とを備えることを特徴とする。
本発明による重み係数算出方法は、コンピュータが、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項の入力を受け付け、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出処理を実行し、制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定処理を実行し、制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出処理を実行し、制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出処理を実行することを特徴とする。
本発明によるコンピュータ読み取り可能な記録媒体は、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される入力手段を備えるコンピュータに、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出処理、制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定処理、制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出処理、および、制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出処理を実行させるための重み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、組合せ最適化問題のエネルギーを表す式の制約項の重み係数を高速に算出することができる。
以下、本発明の実施形態を図面を参照して説明する。
以下の説明では、組合せ最適化問題のエネルギーを表す式から、QUBOのエネルギー関数を求める場合を例にして説明する。ただし、イジングモデルのエネルギー関数を求める場合も同様である。
図1は、本発明の実施形態の重み係数算出装置の構成例を示すブロック図である。本実施形態の重み係数算出装置10は、入力部1と、制約特定部2と、自動成立率算出部3と、エネルギー増加量決定部4と、スピン数導出部5と、重み係数算出部6とを備える。
入力部1には、QUBOのエネルギー関数に変形される組合せ最適化問題のエネルギーを表す式における、各目的関数および各制約項が入力される。入力される制約項の個数は1個以上である。目的関数の重み係数は、オペレータによって適宜決定されうるので、目的関数は、入力されなくてもよい。
また、共通の重み係数に関連付けられる複数の制約項が存在する場合、その複数の制約項を指定する情報も、入力部1に入力される。共通の重み係数に関連付けられる複数の制約項が2組以上存在していてもよい。
既に説明したように、1つの制約項は、1つの制約を表す。
入力部1に入力される各目的関数および各制約項はそれぞれ、それ自体で、QUBOのエネルギー関数の形式に変形可能である。
入力部1は、各目的関数および各制約項、および、共通の重み係数に関連付けられる複数の制約項が存在する場合にその複数の制約項を指定する情報が入力される入力デバイスである。例えば、入力部1は、記録媒体に記録された目的関数、各制約項、および、共通の重み係数に関連付けられる複数の制約項が存在する場合にその複数の制約項を指定する情報を読み込むデータ読み込み装置等の入力デバイスであってもよい。ただし、上記のように、目的関数は、入力部1に入力されなくてもよい。
制約特定部2は、入力された制約項毎に、制約項が表す制約の内容を特定する。
自動成立率算出部3は、制約毎に(換言すれば、制約項毎に)、自動成立率を算出する。自動成立率とは、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、その制約項が表す制約が満たされている確率である。
スピンと制約とが関連しているとは、その制約が満たされるか否かを判定する際に、そのスピンの状態が参照されるということである。
図2は、複数のスピンに対して定められた制約の例を示す模式図である。各制約C1~C6の内容は、入力された各制約項に基づいて、制約特定部2によって特定される。本例では、制約C1~C6がいずれも、1つのスピンだけが1になるという制約であるものとする。以下、1つのスピンだけが1になるという制約を、one-hot 制約と記す。
制約C1の自動成立率を例にして説明する。制約C1に関連する個々のスピンは、スピン1~4である(図2参照)。その個々のスピンに関連する他の全ての制約は、スピン1に関連する制約C2,C3、スピン2に関連する制約C4、スピン3に関連する制約C5、および、スピン4に関連する制約C6である(図2参照)。従って、制約C1の自動成立率は、制約C2~C6が全て満たされている場合に、制約C1が満たされている確率である。
自動成立率算出部3は、自動成立率を0以上1以下の範囲の値として算出する。
以下、自動成立率の算出対象となる制約を対象制約と記す。また、対象制約に関連する個々のスピンに関連する他の全ての制約をそれぞれ関連制約と記す。自動成立率算出部3は、対象制約の自動成立率を算出するときに、全ての関連制約が満たされているものとして、対象制約に関連する個々のスピン毎に、スピンが1になる確率をそれぞれ算出する。自動成立率算出部3は、その個々のスピンが1になる確率に基づいて、対象制約の自動成立率を算出する。
図2を参照して具体的に説明する。対象制約が制約C1であるとする。このとき、制約C2~C6が関連制約となる。自動成立率算出部3は、関連制約C2~C6が全て満たされているときに、スピン1が1になる確率(s1=1になる確率)、スピン2が1になる確率(s2=1になる確率)、スピン3が1になる確率(s3=1になる確率)、および、スピン4が1になる確率(s4=1になる確率)をそれぞれ算出する。そして、自動成立率算出部3は、算出した上記の確率に基づいて、対象制約の自動成立率を算出する。
具体的な計算例を以下に示す。関連制約C2~C6は満たされているものとする。制約C2に関連するスピンの数は2個である。従って、制約C2が満たされているときにs1=1になる確率は、1/2=0.5である。また、制約C3に関連するスピンの数は4個である。従って、制約C3が満たされているときにs1=1になる確率は、1/4=0.25である。制約C2,C3が満たされているときにs1=1になる確率は、上記の2つの確率の平均値であり、(0.5+0.25)/2=0.375である。
また、制約C4に関連するスピンの数は4個である。従って、制約C4が満たされているときにs2=1になる確率は、1/4=0.25である。同様に、制約C5が満たされているときにs3=1になる確率も0.25である。制約C6が満たされているときにs4=1になる確率も0.25である。
本例では、自動成立率算出部3は、上記のように、対象制約に関連する個々のスピン毎に、スピンが1になる確率を計算する。
次に、自動成立率算出部3は、以下のように、対象制約C1の自動成立率を算出する。対象制約C1は、one-hot 制約である。従って、自動成立率算出部3は、まず、s1=1、かつ、s2=s3=s4=0となる確率を求める。自動成立率算出部3は、この確率を0.375*(1-0.25)3=0.1582と算出する。
次に、自動成立率算出部3は、s2=1、かつ、s1=s3=s4=0となる確率を求める。自動成立率算出部3は、この確率を(1-0.375)*0.25*(1-0.25)2=0.08789と算出する。
自動成立率算出部3は、s3=1、かつ、s1=s2=s4=0となる確率、および、s4=1、かつ、s1=s2=s3=0となる確率も、それぞれ、上記と同様に、0.08789と算出する。
従って、自動成立率算出部3は、対象制約C1(one-hot 制約)が満たされる確率を、0.1582+0.08789+0.08789+0.08789=0.422と算出する。
自動成立率算出部3は、対象制約に関連する個々のスピン毎に、スピンが1になる確率を計算することによって、対象制約が任意の制約の場合でも、自動成立率を算出することができる。
上記の説明では、対象制約が制約C1である場合を例にして説明した。前述のように、自動成立率算出部3は、制約毎に(制約項毎)に、自動成立率を算出する。
一般的に、制約項の重み係数がより大きければ、その制約項が表す制約はより満たされやすくなる。また、制約項の重み係数がより小さければ、その制約項が表す制約はより満たされにくくなる。自動成立率が高いということは、制約が満たされやすいということであるので、重み係数を小さくしても、制約を満たすことができる。従って、後述の重み係数算出部6は、0以上1以下の範囲の値である自動成立率が大きいほど、重み係数が小さくなるように、重み係数を決定する。
エネルギー増加量決定部4は、制約毎に(換言すれば、制約項毎に)、制約破壊時のエネルギー増加量を決定する。制約破壊時のエネルギー増加量とは、制約項が表す制約が満たされなくなった場合のエネルギー増加量である。
ただし、エネルギー増加量決定部4は、「1となっているスピンの数が第1の所定値以上第2の所定値以下である」という制約、「1となっているスピンの数が所定値以上である」という制約、および、「1となっているスピンの数が所定値以下である」という制約に関して、制約破壊時のエネルギー増加量を算出する。エネルギー増加量決定部4は、その他の制約に関しては、制約破壊時のエネルギー増加量を一律に“1”に決定する。なお、制約項毎の制約の内容は、制約特定部2によって特定されている。
以下、エネルギー増加量決定部4が、「1となっているスピンの数が第1の所定値以上第2の所定値以下である」という制約に関して、制約破壊時のエネルギー増加量を決定する動作の例を説明する。以下、この制約を表す制約項のエネルギーが最小になるときの、1となっているスピンの数をn個とする。また、第1の所定値をn-aとし、第2の所定値をn+bとする。
図3は、1となっているスピンの数がn-aよりも1減少したときのエネルギー増加量、および、1となっているスピンの数がn+bよりも1増加したときのエネルギー増加量を示す模式図である。図3に示すグラフにおいて、横軸は、制約に関連するスピンのうち1となっているスピンの数を示す。また、縦軸は、制約を表す制約項に基づいて定まるエネルギーを示す。
図3に示すように、1となっているスピンの数がn-aよりも1減少したときのエネルギー増加量をEaと記す。また、1となっているスピンの数がn+bよりも1増加したときのエネルギー増加量をEbと記す。エネルギー増加量決定部4は、この制約を表す制約項に基づいて、エネルギー増加量Ea,Ebを算出することができる。
また、エネルギー増加量決定部4は、着目している制約項に関して、制約に関連する個々のスピン毎に、関連する他の制約に基づいて、スピンが1になる確率をそれぞれ算出する。エネルギー増加量決定部4は、その確率に基づいて、1となっているスピンの数がn-a未満になる確率、および、1となっているスピンの数がn+bを超える確率をそれぞれ算出する。1となっているスピンの数がn-a未満になる確率をPaと記す。1となっているスピンの数がn+bを超える確率をPbと記す。
エネルギー増加量決定部4は、Ea,Eb,Pa,Pbを用いて、以下の式(5)によって、「1となっているスピンの数が第1の所定値以上第2の所定値以下である」という制約における制約破壊時のエネルギー増加量を決定する。
(Ea-Eb)*Pa/(Pa+Pb)+Eb ・・・(5)
式(5)によって得られた値が、「1となっているスピンの数が第1の所定値以上第2の所定値以下である」という制約における制約破壊時のエネルギー増加量である。
また、確率Paが0である場合には、エネルギー増加量決定部4は、制約破壊時のエネルギー増加量をEbに決定する。
確率Pbが0である場合には、エネルギー増加量決定部4は、制約破壊時のエネルギー増加量をEaに決定する。
また、「1となっているスピンの数が所定値以上である」という制約に対しては、エネルギー増加量決定部4は、1となっているスピンの数が所定値となっている状態から、1となっているスピンの数が所定値より1少ない状態に変化したときのエネルギー増加量を、制約破壊時のエネルギー増加量として決定する。
また、「1となっているスピンの数が所定値以下である」という制約に対しては、エネルギー増加量決定部4は、1となっているスピンの数が所定値となっている状態から、1となっているスピンの数が所定値より1多い状態に変化したときのエネルギー増加量を、制約破壊時のエネルギー増加量として決定する。
制約破壊時のエネルギー増加量が大きい制約項が表す制約は、シミュレーテッドアニーリング実行時に満たされやすい。従って、制約破壊時のエネルギー増加量が大きい制約項に関しては、重み係数を小さくしても、その制約項が表す制約を満たすことができる。従って、後述の重み係数算出部6は、制約破壊時のエネルギー増加量が大きいほど、重み係数が小さくなるように、重み係数を決定する。
スピン数導出部5は、制約毎に(換言すれば、制約項毎に)、制約に関連するスピンの数を導出する。スピン数導出部5は、制約項に基づいて、その制約項が表す制約に関連するスピンの数を導出すればよい。
制約に関連するスピンの数が多いほど、シミュレーテッドアニーリング実行時に、その制約に関連するスピンが選択され、その選択されたスピンがフリップする確率が高くなる。その結果、その制約は満たされやすい。従って、制約に関連するスピンの数が多いほど、重み係数を小さくしても、制約を満たすことができる。従って、後述の重み係数算出部6は、制約に関連するスピンの数が多いほど、重み係数が小さくなるように、重み係数を決定する。
重み係数算出部6は、制約毎に(換言すれば、制約項毎に)、制約項に対応する重み係数を算出する。重み係数算出部6は、着目している制約項に関して求めた自動成立率、制約破壊時のエネルギー増加量、および、スピンの数に基づいて、その制約項に対応する重み係数を算出する。
前述のように、重み係数算出部6は、0以上1以下の範囲の値である自動成立率が大きいほど、重み係数が小さくなるように、重み係数を決定する。また、重み係数算出部6は、制約破壊時のエネルギー増加量が大きいほど、重み係数が小さくなるように、重み係数を決定する。重み係数算出部6は、制約に関連するスピンの数が多いほど、重み係数が小さくなるように、重み係数を決定する。
具体的には、重み係数算出部6は、以下の式(6)の計算によって、制約項毎に、制約項に対応する重み係数を算出する。
重み係数=(1-自動成立率)/(制約破壊時のエネルギー増加量*スピンの数)
・・・(6)
・・・(6)
また、重み係数算出部6は、共通の重み係数に関連付けられる複数の制約項が存在する場合、その複数の制約項それぞれに対して式(6)で算出した重み係数の平均値を、その複数の制約項に関連付けられる共通の重み係数として決定する。
例えば、式(3)に示す制約項1、制約項2、制約項3、制約項4が入力され、共通の重み係数に関連付けられる複数の制約項として制約項3および制約項4を指定する情報が入力されたとする。この場合、重み係数算出部6は、制約項1に関して式(6)で算出した値を、制約項1に対応する重み係数W3として決定する。同様に、重み係数算出部6は、制約項2に関して式(6)で算出した値を、制約項2に対応する重み係数W4として決定する。重み係数算出部6は、制約項3および制約項4に共通の重み係数W5を決定する場合、制約項3に関して式(6)で算出した重み係数と、制約項4に関して式(6)で算出した重み係数の平均値を算出し、その平均値を重み係数W5として決定する。
制約特定部2、自動成立率算出部3、エネルギー増加量決定部4、スピン数導出部5、および、重み係数算出部6は、例えば、重み係数算出プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から重み係数算出プログラムを読み込み、その重み係数算出プログラムに従って、制約特定部2、自動成立率算出部3、エネルギー増加量決定部4、スピン数導出部5、および、重み係数算出部6として動作すればよい。
次に、処理経過について説明する。図4は、本実施形態の処理経過の例を示すフローチャートである。既に説明した事項については、詳細な説明を省略する。
まず、入力部1に、組合せ最適化問題のエネルギーを表す式における各制約項が入力される(ステップS1)。ステップS1において、エネルギーを表す式における各目的関数も併せて入力部1に入力されてもよい。また、共通の重み係数に関連付けられる複数の制約項が存在する場合、その複数の制約項を指定する情報も、入力部1に入力される。
次に、制約特定部2が、制約項毎に、制約項が表す制約の内容を特定する(ステップS2)。
次に、自動成立率算出部3が、制約項毎に、自動成立率を算出する(ステップS3)。
また、エネルギー増加量決定部4が、制約項毎に、制約破壊時のエネルギー増加量を決定する(ステップS4)。
また、スピン数導出部5が、制約項毎に、制約項が表す制約に関連するスピンの数を導出する(ステップS5)。
ステップS3,S4,S5の実行順序は、限定されない。また、自動成立率算出部3、エネルギー増加量決定部4、および、スピン数導出部5が、ステップS3,S4,S5を並列に実行してもよい。
次に、重み係数算出部6が、制約項毎に、自動成立率、制約破壊時のエネルギー増加量、および、スピンの数に基づいて、制約項に対応する重み係数を算出する(ステップS6)。
また、共通の重み係数に関連付けられる複数の制約項が存在する場合、重み係数算出部6は、その複数の制約項それぞれに対して算出した重み係数の平均値を、その複数の制約項に関連付けられる共通の重み係数として決定する(ステップS7)。共通の重み係数に関連付けられる複数の制約項が存在しない場合、重み係数算出部6は、ステップS7を実行せずに、ステップS6で処理を終了してよい。
重み係数算出部6は、最終的に決定した個々の制約項に対応する個々の重み係数を、例えば、ディスプレイ装置(図示略)に表示してもよい。ただし、個々の制約項に対応する個々の重み係数の出力態様は、上記の例に限定されない。
本実施形態によれば、組合せ最適化問題のエネルギーを表す式における各制約項が重み係数算出装置10に入力される。また、共通の重み係数に関連付けられる複数の制約項が存在する場合、その複数の制約項を指定する情報も、重み係数算出装置10に入力される。重み係数算出装置10は、入力された情報に基づいて、入力された各制約項に対応する重み係数を算出する。このとき、重み係数算出装置10は、満たされやすい制約を表す制約項に関して、重み係数が小さくなるように、重み係数を算出する。一般的に、制約項の重み係数がより小さければ、その制約項が表す制約はより満たされにくくなる。しかし、本実施形態の重み係数算出装置10は、満たされやすい制約を表す制約項に関して、重み係数が小さくなるように重み係数を算出するので、重み係数が小さくても、制約を満たすことができる。
また、上記のように、本実施形態の重み係数算出装置10は、入力された情報に基づいて、入力された各制約項に対応する重み係数を算出するので、シミュレーテッドアニーリングを含む繰り返し処理(図8を参照)を行わずに、各制約項の重み係数を算出することができる。従って、組合せ最適化問題のエネルギーを表す式の各制約項の重み係数を高速に算出することができる。
組合せ最適化問題のエネルギーを表す式の各目的関数および各制約項は、組合せ最適化問題に応じて、予め定められる。そして、本実施形態の重み係数算出装置10により、各制約項の重み係数が決定される。また、オペレータは、各目的関数の重み係数を適宜、決定すればよい。その結果、各目的関数および各制約項、並びに、各目的関数の重み係数および各制約項の重み係数が定まった状態になる。すなわち、エネルギーを表す式が定まる。従って、エネルギーを表す式をQUBOのエネルギー関数に変形することができ、そのエネルギー関数を、シミュレーテッドアニーリングを実行する求解装置に入力することで、組合せ最適化問題の解に該当する各スピンの状態を得ることができる。
図5は、本発明の実施形態の重み係数算出装置10に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
本発明の実施形態の重み係数算出装置10は、コンピュータ1000によって実現される。重み係数算出装置10の動作は、重み係数算出プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その重み係数算出プログラムを補助記憶装置1003から読み出して、主記憶装置1002に重み係数算出プログラムを展開し、その重み係数算出プログラムに従って、上記の実施形態で説明した処理を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図6は、本発明の重み係数算出装置の概要を示すブロック図である。本発明の重み係数算出装置は、入力手段71と、自動成立率算出手段73と、エネルギー増加量決定手段74と、スピン数導出手段75と、重み係数算出手段76とを備える。
入力手段71(例えば、入力部1)には、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される。
自動成立率算出手段73(例えば、自動成立率算出部3)は、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、その制約項が表す制約が満たされている確率である自動成立率を算出する。
エネルギー増加量決定手段74(例えば、エネルギー増加量決定部4)は、制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定する。
スピン数導出手段75(例えば、スピン数導出部5)は、制約項毎に、制約項が表す制約に関連するスピンの数を導出する。
重み係数算出手段76(例えば、重み係数算出部6)は、制約項毎に、自動成立率と、制約破壊時のエネルギー増加量と、スピンの数とに基づいて、制約項に対応する重み係数を算出する。
そのような構成によって、組合せ最適化問題のエネルギーを表す式の制約項の重み係数を高速に算出することができる。
自動成立率算出手段73が、制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、その制約項が表す制約に関連する個々のスピンが1になる確率をそれぞれ算出し、個々のスピンが1になる確率に基づいて、自動成立率を算出する構成であってもよい。
重み係数算出手段76が、共通の重み係数に関連付けられる複数の制約項が存在する場合に、その複数の制約項それぞれに対して算出した重み係数の平均値を、その複数の制約項に関連付けられる共通の重み係数として決定する構成であってもよい。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項の重み係数を算出する重み係数算出装置に好適に適用される。
1 入力部
2 制約特定部
3 自動成立率算出部
4 エネルギー増加量決定部
5 スピン数導出部
6 重み係数算出部
10 重み係数算出装置
2 制約特定部
3 自動成立率算出部
4 エネルギー増加量決定部
5 スピン数導出部
6 重み係数算出部
10 重み係数算出装置
Claims (9)
- 組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される入力手段と、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出手段と、
制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定手段と、
制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出手段と、
制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出手段とを備える
ことを特徴とする重み係数算出装置。 - 前記自動成立率算出手段は、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約に関連する個々のスピンが1になる確率をそれぞれ算出し、前記個々のスピンが1になる確率に基づいて、前記自動成立率を算出する
ことを特徴とする請求項1に記載の重み係数算出装置。 - 前記重み係数算出手段は、
共通の重み係数に関連付けられる複数の制約項が存在する場合に、前記複数の制約項それぞれに対して算出した重み係数の平均値を、前記複数の制約項に関連付けられる共通の重み係数として決定する
請求項1または請求項2に記載の重み係数算出装置。 - コンピュータが、
組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項の入力を受け付け、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出処理を実行し、
制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定処理を実行し、
制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出処理を実行し、
制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出処理を実行する
ことを特徴とする重み係数算出方法。 - 前記コンピュータが、
前記自動成立率算出処理で、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約に関連する個々のスピンが1になる確率をそれぞれ算出し、前記個々のスピンが1になる確率に基づいて、前記自動成立率を算出する
請求項4に記載の重み係数算出方法。 - 前記コンピュータが、
前記重み係数算出処理で、
共通の重み係数に関連付けられる複数の制約項が存在する場合に、前記複数の制約項それぞれに対して算出した重み係数の平均値を、前記複数の制約項に関連付けられる共通の重み係数として決定する
請求項4または請求項5に記載の重み係数算出方法。 - 組合せ最適化問題におけるエネルギーを表す式に含まれる各制約項が入力される入力手段を備えるコンピュータに、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約が満たされている確率である自動成立率を算出する自動成立率算出処理、
制約項毎に、制約項が表す制約が満たされなくなった場合のエネルギー増加量である制約破壊時のエネルギー増加量を決定するエネルギー増加量決定処理、
制約項毎に、制約項が表す制約に関連するスピンの数を導出するスピン数導出処理、および、
制約項毎に、前記自動成立率と、前記制約破壊時のエネルギー増加量と、前記スピンの数とに基づいて、制約項に対応する重み係数を算出する重み係数算出処理
を実行させるための重み係数算出プログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記コンピュータに、
前記自動成立率算出処理で、
制約項毎に、制約項が表す制約に関連する個々のスピンに関連する他の全ての制約が満たされている場合に、前記制約項が表す前記制約に関連する個々のスピンが1になる確率をそれぞれ算出させ、前記個々のスピンが1になる確率に基づいて、前記自動成立率を算出させる
重み係数算出プログラムを記録した請求項7に記載のコンピュータ読み取り可能な記録媒体。 - 前記コンピュータに、
前記重み係数算出処理で、
共通の重み係数に関連付けられる複数の制約項が存在する場合に、前記複数の制約項それぞれに対して算出した重み係数の平均値を、前記複数の制約項に関連付けられる共通の重み係数として決定させる
重み係数算出プログラムを記録した請求項7または請求項8に記載のコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2024516049A JPWO2023203769A1 (ja) | 2022-04-22 | 2022-04-22 | |
PCT/JP2022/018589 WO2023203769A1 (ja) | 2022-04-22 | 2022-04-22 | 重み係数算出装置および重み係数算出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/018589 WO2023203769A1 (ja) | 2022-04-22 | 2022-04-22 | 重み係数算出装置および重み係数算出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023203769A1 true WO2023203769A1 (ja) | 2023-10-26 |
Family
ID=88419504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/018589 WO2023203769A1 (ja) | 2022-04-22 | 2022-04-22 | 重み係数算出装置および重み係数算出方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2023203769A1 (ja) |
WO (1) | WO2023203769A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06318193A (ja) * | 1993-05-07 | 1994-11-15 | Hitachi Ltd | データ処理装置及び方法 |
JPH08153085A (ja) * | 1994-11-28 | 1996-06-11 | Ricoh Co Ltd | 配送計画問題の最適解探索方法及びその装置 |
JP2019121137A (ja) * | 2017-12-29 | 2019-07-22 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
WO2022024329A1 (ja) * | 2020-07-30 | 2022-02-03 | 日本電気株式会社 | 最適化装置、最適化方法および最適化プログラム |
-
2022
- 2022-04-22 WO PCT/JP2022/018589 patent/WO2023203769A1/ja unknown
- 2022-04-22 JP JP2024516049A patent/JPWO2023203769A1/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06318193A (ja) * | 1993-05-07 | 1994-11-15 | Hitachi Ltd | データ処理装置及び方法 |
JPH08153085A (ja) * | 1994-11-28 | 1996-06-11 | Ricoh Co Ltd | 配送計画問題の最適解探索方法及びその装置 |
JP2019121137A (ja) * | 2017-12-29 | 2019-07-22 | 富士通株式会社 | 最適化装置および最適化装置の制御方法 |
WO2022024329A1 (ja) * | 2020-07-30 | 2022-02-03 | 日本電気株式会社 | 最適化装置、最適化方法および最適化プログラム |
Non-Patent Citations (1)
Title |
---|
TAKEHARA KOTA, TAISUKE OKU, YOSHIKI MATSUDA, SO TANAKA, NOZOMI TOGAWA: " A multi-various lightweight coefficient trial method for fast solving the traveling salesman problem using an SA-based Ising machine,", IPSJ SIG TECHNICAL REPORT. INFORMATION PROCESSING SOCIETY OF JAPAN RESEARCH REPORT EMBEDDED SYSTEMS (EMB) 2019-EMB-050, vol. 2019, no. 53, 18 March 2019 (2019-03-18), pages 1 - 6, XP093098179 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023203769A1 (ja) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020202542A1 (en) | Transforming attributes for training automated modeling systems | |
TWI444844B (zh) | 模擬參數校正技術 | |
US11182157B2 (en) | Information processing device, arithmetic device, and information processing method | |
JP2015087973A (ja) | 生成装置、生成方法、およびプログラム | |
US11410065B2 (en) | Storage medium, model output method, and model output device | |
JP7007520B6 (ja) | 情報処理装置、演算装置、及び情報処理方法 | |
US20200090076A1 (en) | Non-transitory computer-readable recording medium, prediction method, and learning device | |
JP6925546B1 (ja) | 演算システム、情報処理装置、および最適解探索処理方法 | |
WO2019208564A1 (ja) | ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム | |
US20230376559A1 (en) | Solution method selection device and method | |
JP5984155B2 (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
JP2023063944A (ja) | 機械学習プログラム、機械学習方法、及び、情報処理装置 | |
WO2023203769A1 (ja) | 重み係数算出装置および重み係数算出方法 | |
JP6743902B2 (ja) | マルチタスク関係学習システム、方法およびプログラム | |
JP2019185207A (ja) | モデル学習装置、モデル学習方法、プログラム | |
US20220207381A1 (en) | Computer-readable recording medium having stored therein vector estimating program, apparatus for estimating vector, and method for estimating vector | |
JP7438544B2 (ja) | ニューラルネットワーク処理装置、コンピュータプログラム、ニューラルネットワーク製造方法、ニューラルネットワークデータの製造方法、ニューラルネットワーク利用装置、及びニューラルネットワーク小規模化方法 | |
US20220343202A1 (en) | Arithmetic circuit, arithmetic device, information processing apparatus, and method for searching for ground state of ising model | |
JP6726312B2 (ja) | シミュレーション方法、システム、及びプログラム | |
WO2020115903A1 (ja) | 学習装置、学習方法、および学習プログラム | |
JP7470019B2 (ja) | 情報処理システム | |
JP7529028B2 (ja) | 学習装置、学習方法および学習プログラム | |
EP4220500A1 (en) | Data modification program, data modification method, and information processing apparatus | |
JP6927425B2 (ja) | 確率的最適化装置、確率的最適化方法、および確率的最適化プログラム | |
US20230367926A1 (en) | Solution system and solution method |
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: 22938568 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2024516049 Country of ref document: JP Kind code of ref document: A |