Weighting factor calculation device and weighting factor calculation method

The device and method efficiently calculate weighting coefficients for constraint terms in combinatorial optimization problems by determining success rates and energy increases, reducing the time required for constraint satisfaction.

JP7736178B2Active Publication Date: 2025-09-09NEC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024516049
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-04-22
Publication Date
2025-09-09
Estimated Expiration
2042-04-22

AI Technical Summary

Technical Problem

Existing methods for determining weighting coefficients of constraint terms in combinatorial optimization problems are time-consuming due to the iterative nature of simulated annealing processes.

Method used

A device and method that calculates weighting coefficients for constraint terms in combinatorial optimization problems by automatically determining the success rate, energy increase, and spin number associated with each constraint, allowing for rapid calculation without iterative simulated annealing.

Benefits of technology

Enables quick calculation of weighting coefficients, ensuring constraint satisfaction with reduced computational time and resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007736178000004
    Figure 0007736178000004
  • Figure 0007736178000005
    Figure 0007736178000005
  • Figure 0007736178000006
    Figure 0007736178000006
Patent Text Reader

Abstract

Each constraint term included in an expression that represents energy in a combinatorial optimization problem is inputted to an input means 71. An automatic condition-meeting rate calculation means 73 calculates, for each constraint term, an automatic condition-meeting rate which is the probability of the constraint represented by the constraint term being satisfied when all other constraints related to each individual spin related to the constraint represented by the constraint term are satisfied. An energy increment determination means 74 determines, for each constraint term, an energy increment at constraint destruction time, which is an energy increment when the constraint represented by the constraint term is no longer satisfied. A spin number derivation means 75 derives, for each constraint term, the number of spins related to the constraint represented by the constraint term. A weight coefficient determination means 76 calculates, for each constraint term, a weight coefficient that corresponds to the constraint term, on the basis of the automatic condition-meeting rate, the energy increment at constraint destruction time, and the number of spins.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a weight coefficient calculation device, a weight coefficient calculation method, and a weight coefficient calculation program for calculating weight coefficients for each constraint term included in an equation representing energy in a combinatorial optimization problem. Mu Regarding. [Background technology]

[0002] When solving combinatorial optimization problems, the Ising model and QUBO (Quadratic Unconstrained Binary Optimization) energy functions are used.

[0003] The Ising model is a statistical mechanical model that describes the behavior of magnetic materials in terms of individual spins, but it can also be applied to solving combinatorial optimization problems. In the Ising model, the state of each spin is represented by either "1" or "-1."

[0004] The energy function in the Ising model is expressed as the following equation (1).

[0005]

number

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

[0007] QUBO is a model in which the state of each spin is represented by either "1" or "0."

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

[0009]

number

[0010] In equation (2), i and j are variables that represent spin. i is a variable that represents the state of spin i, and s j is a variable that represents the state of spin j. Q in Eq. (2) ij is a constant corresponding to the combination of spin i and spin j. For each combination of possible values ​​of i and possible values ​​of j, Q ij is defined as a constant.

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

[0012] The following describes an example of calculating the energy function of QUBO. However, calculating the energy function of the Ising model can also be explained in a similar manner.

[0013] The QUBO energy function can be found by transforming the formula that represents the energy in a combinatorial optimization problem. This formula expresses the weighted sum of one or more objective functions and one or more constraint terms as energy. One constraint term represents one constraint. Each of the one or more objective functions and one or more constraint terms has a weighting coefficient. Furthermore, each individual objective function and each individual constraint term can be transformed into the form of a QUBO energy function.

[0014] For example, the following formula (3) is an example of a formula that represents energy in a combinatorial optimization problem.

[0015] E = W1 (objective function 1) + W2 (objective function 2) + W3 (constraint term 1) + W4 (constraint term 2) +W5 (constraint term 3 + constraint term 4) ···(3)

[0016] W1, W2, W3, W4, and W5 are weighting coefficients.

[0017] In equation (3), W5 (constraint term 3+constraint term 4) indicates that a plurality of constraint terms (constraint term 3 and constraint term 4) are associated with the common weight coefficient W5.

[0018] The equation representing energy, such as the one shown in Equation (3), is transformed into the QUBO energy function. The QUBO energy function is then input to the solver, which determines the state of each spin that corresponds to the solution of the combinatorial optimization problem.

[0019] A specific example of an equation representing energy that is transformed into a QUBO energy function is shown below. Here, we take the traveling salesman problem when there are four cities as an example. Figure 7 is a schematic diagram showing an example of the state of each spin in this traveling salesman problem. In this example, the equation representing energy is expressed as shown in equation (4) below.

[0020]

number

[0021] The first term on the right side of equation (4) is the objective function. In this example, the weighting coefficient of the objective function is 1. ijrepresents the distance between the two cities. The second to ninth terms on the right-hand side of equation (4) are constraint terms. A common weighting coefficient A is set for each constraint term. The objective function in this example is in the form of a QUBO energy function. In addition, each of the eight constraint terms can be transformed into the form of a QUBO energy function by itself.

[0022] The second term on the right-hand side is a constraint that only one spin can be 1 in the first column shown in Figure 7. The third term on the right-hand side is a constraint that only one spin can be 1 in the second column shown in Figure 7. The fourth term on the right-hand side is a constraint that only one spin can be 1 in the third column shown in Figure 7. The fifth term on the right-hand side is a constraint that only one spin can be 1 in the fourth column shown in Figure 7.

[0023] The sixth term on the right-hand side is a constraint that only one spin can be 1 in the first row shown in Figure 7. The seventh term on the right-hand side is a constraint that only one spin can be 1 in the second row shown in Figure 7. The eighth term on the right-hand side is a constraint that only one spin can be 1 in the third row shown in Figure 7. The ninth term on the right-hand side is a constraint that only one spin can be 1 in the fourth row shown in Figure 7.

[0024] The closer the value of a constraint term is to 0, the more the constraint it represents is satisfied.

[0025] Generally, depending on the value of the weighting coefficient of the constraint term, the solution obtained by the solution solving device may not satisfy the constraint represented by the constraint term. Therefore, the weighting coefficient of the constraint term is generally determined by repeating simulated annealing and modifying the weighting coefficient of the constraint term so that the solution satisfies the constraint. Figure 8 is a flowchart showing an example of a general process for determining the weighting coefficient of the constraint term. It is assumed that the weighting coefficient of the objective function is set as a fixed value by the operator.

[0026] First, the weighting coefficient of each constraint term is 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 that satisfies the constraints indicated by each constraint term has been obtained (step S103). If the obtained solution contains unsatisfied constraints (No in step S103), the weighting coefficient of the constraint term is manually or automatically corrected (step S104). Then, the processes from step S102 onwards are repeated. If a solution that satisfies all the constraints indicated by each constraint term has been obtained (Yes in step S103), the weighting coefficient of each constraint term obtained at that time is determined as the weighting coefficient of each constraint term.

[0027] The weighting coefficients of the objective functions may be determined appropriately 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.

[0028] Furthermore, Patent Document 1 describes that an energy function is defined by dividing it into a constraint term representing a constraint condition and a cost term representing a cost function, and that simulated annealing is performed by adjusting the value of the weight coefficient of the constraint term using a parameter update rule. [Prior art documents] [Patent documents]

[0029] [Patent Document 1] Japanese Patent Application Publication No. 8-153085 Summary of the Invention [Problem to be solved by the invention]

[0030] As described above, when determining the weighting coefficients of the constraint terms that can obtain a solution that satisfies the constraints by repeating simulated annealing and modifying the weighting coefficients of the constraint terms, simulated annealing is repeated, so this method takes a long time to determine the weighting coefficients of the constraint terms.

[0031] Therefore, the present invention provides a weight coefficient calculation device, a weight coefficient calculation method, and a weight coefficient calculation program that can quickly calculate weight coefficients for constraint terms in an equation that represents the energy of a combinatorial optimization problem. M The purpose is to provide. [Means for solving the problem]

[0032] The weight coefficient calculation device according to the present invention comprises: an input means for inputting each constraint term included in an equation representing energy in a combinatorial optimization problem; an automatic success rate calculation means for calculating, for each constraint term, an automatic success rate which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; an energy increase amount determination means for determining, for each constraint term, an energy increase amount at the time of constraint destruction which is the amount of energy increase when the constraint represented by the constraint term is no longer satisfied; a spin number derivation means for deriving, for each constraint term, the number of spins related to the constraint represented by the constraint term; and a calculation means for calculating, for each constraint term, the automatic success rate is large , the energy increase when the constraint is broken is large , the number of spins The more , So that the weight coefficients corresponding to the constraint terms are small, The method is characterized by comprising a weight coefficient calculation means for calculating a weight coefficient corresponding to the constraint term.

[0033] In the weight coefficient calculation method according to the present invention, a computer receives input of each constraint term included in an equation representing energy in a combinatorial optimization problem, and executes an automatic success rate calculation process for calculating, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; executes, for each constraint term, an energy increase determination process for determining an energy increase at constraint destruction, which is the amount of energy increase when the constraint represented by the constraint term is no longer satisfied; executes, for each constraint term, a spin number derivation process for deriving the number of spins related to the constraint represented by the constraint term; and executes, for each constraint term, an automatic success rate calculation process for calculating, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; is large , the energy increase when the constraint is broken is large , the number of spins The more , So that the weight coefficients corresponding to the constraint terms are small, The method is characterized by executing a weight coefficient calculation process for calculating weight coefficients corresponding to constraint terms.

[0034] The weight coefficient calculation program according to the present invention is provided to a computer having an input means for inputting each constraint term included in an equation representing energy in a combinatorial optimization problem, and includes the following steps: an automatic success rate calculation process for calculating, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; an energy increase determination process for determining, for each constraint term, an energy increase at constraint destruction, which is the amount of energy increase when the constraint represented by the constraint term is no longer satisfied; a spin number derivation process for deriving, for each constraint term, the number of spins related to the constraint represented by the constraint term; and a calculation process for calculating, for each constraint term, the automatic success rate. is large , the energy increase when the constraint is broken is large , the number of spins The more , So that the weight coefficients corresponding to the constraint terms are small, A weighting coefficient calculation process is executed to calculate a weighting coefficient corresponding to the constraint term. [Effects of the Invention]

[0035] According to the present invention, it is possible to quickly calculate weight coefficients for constraint terms in an equation that represents the energy of a combinatorial optimization problem. [Brief explanation of the drawings]

[0036] [Figure 1] 1 is a block diagram illustrating an example of the configuration of a weighting coefficient calculation device according to an embodiment of the present invention. [Figure 2] FIG. 10 is a schematic diagram showing an example of constraints set for multiple spins. [Figure 3] This is a schematic diagram showing the amount of energy increase when the number of spins that are 1 decreases by 1 from na, and the amount of energy increase when the number of spins that are 1 increases by 1 from n+b. [Figure 4] 10 is a flowchart illustrating an example of a processing progress according to an embodiment of the present invention. [Figure 5]FIG. 2 is a schematic block diagram illustrating an example of the configuration of a computer related to the weighting coefficient calculation device according to the embodiment of the present invention. [Figure 6] 1 is a block diagram showing an outline of a weighting coefficient calculation device according to the present invention; [Figure 7] FIG. 10 is a schematic diagram showing an example of the state of each spin in the traveling salesman problem. [Figure 8] 10 is a flowchart showing an example of a general process for determining weight coefficients of constraint terms. DETAILED DESCRIPTION OF THE INVENTION

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

[0038] In the following explanation, we will use an example of calculating the QUBO energy function from the formula that represents the energy of a combinatorial optimization problem. However, the same applies to calculating the energy function of an Ising model.

[0039] 1 is a block diagram showing an example of the configuration of a weighting coefficient calculation device according to an embodiment of the present invention. The weighting coefficient calculation device 10 of this embodiment includes an input unit 1, a constraint specification unit 2, an automatic success rate calculation unit 3, an energy increase amount determination unit 4, a spin number derivation unit 5, and a weighting coefficient calculation unit 6.

[0040] Each objective function and each constraint term in the equation representing the energy of a combinatorial optimization problem transformed into a QUBO energy function are input to the input unit 1. The number of constraint terms input is one or more. The weight coefficient of the objective function can be determined appropriately by an operator, so the objective function does not need to be input.

[0041] Furthermore, when there are multiple constraint terms associated with a common weighting factor, information specifying the multiple constraint terms is also input to the input unit 1. There may be two or more sets of multiple constraint terms associated with a common weighting factor.

[0042] As already explained, one constraint term represents one constraint.

[0043] Each objective function and each constraint term input to the input unit 1 can be transformed into the form of a QUBO energy function.

[0044] The input unit 1 is an input device into which information specifying each objective function and each constraint term, and, if there are multiple constraint terms associated with a common weighting factor, the multiple constraint terms, is input. For example, the input unit 1 may be an input device such as a data reading device that reads the objective function, each constraint term, and, if there are multiple constraint terms associated with a common weighting factor, the multiple constraint terms, recorded on a recording medium. However, as described above, the objective function does not have to be input to the input unit 1.

[0045] The constraint specification unit 2 specifies the content of the constraint expressed by each input constraint term.

[0046] The automatic success rate calculation unit 3 calculates an automatic success rate for each constraint (in other words, for each constraint term). The automatic success rate is the probability that a constraint represented by a constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied.

[0047] The association of a spin with a constraint means that the state of the spin is referenced when determining whether the constraint is satisfied.

[0048] FIG. 2 is a schematic diagram showing an example of constraints set for multiple spins. The contents of each of the constraints C1 to C6 are identified by the constraint identification unit 2 based on the input constraint terms. In this example, it is assumed that all of the constraints C1 to C6 are constraints that only one spin is set to 1. Hereinafter, the constraint that only one spin is set to 1 will be referred to as a one-hot constraint.

[0049] The automatic fulfillment rate of constraint C1 will be used as an example. The individual spins associated with constraint C1 are spins 1 to 4 (see FIG. 2). All other constraints associated with the individual spins are constraints C2 and C3 associated with spin 1, constraint C4 associated with spin 2, constraint C5 associated with spin 3, and constraint C6 associated with spin 4 (see FIG. 2). Therefore, the automatic fulfillment rate of constraint C1 is the probability that constraint C1 is fulfilled when constraints C2 to C6 are all fulfilled.

[0050] The automatic success rate calculation unit 3 calculates the automatic success rate as a value in the range of 0 to 1 inclusive.

[0051] Hereinafter, the constraint for which the automatic success rate is calculated will be referred to as the target constraint. Furthermore, all other constraints related to the individual spins related to the target constraint will be referred to as related constraints. When calculating the automatic success rate of the target constraint, the automatic success rate calculation unit 3 assumes that all related constraints are satisfied and calculates the probability that the spin will be 1 for each individual spin related to the target constraint. The automatic success rate calculation unit 3 calculates the automatic success rate of the target constraint based on the probability that each individual spin will be 1.

[0052] A specific description will be given with reference to FIG. 2. Assume that the target constraint is constraint C1. In this case, constraints C2 to C6 are related constraints. When all related constraints C2 to C6 are satisfied, the automatic success rate calculation unit 3 calculates the probability that spin 1 will be 1 (probability that s1=1), the probability that spin 2 will be 1 (probability that s2=1), the probability that spin 3 will be 1 (probability that s3=1), and the probability that spin 4 will be 1 (probability that s4=1). Then, the automatic success rate calculation unit 3 calculates the automatic success rate of the target constraints based on the calculated probabilities.

[0053] A specific calculation example is shown below. Assume that related constraints C2 to C6 are satisfied. The number of spins associated with constraint C2 is two. Therefore, the probability that s1 = 1 occurs when constraint C2 is satisfied is 1 / 2 = 0.5. Furthermore, the number of spins associated with constraint C3 is four. Therefore, the probability that s1 = 1 occurs when constraint C3 is satisfied is 1 / 4 = 0.25. The probability that s1 = 1 occurs when constraints C2 and C3 are satisfied is the average of the above two probabilities, which is (0.5 + 0.25) / 2 = 0.375.

[0054] Also, the number of spins associated with constraint C4 is 4. Therefore, the probability that s2=1 when constraint C4 is satisfied is 1 / 4 = 0.25. Similarly, the probability that s3=1 when constraint C5 is satisfied is 0.25. The probability that s4=1 when constraint C6 is satisfied is also 0.25.

[0055] In this example, the automatic success rate calculation unit 3 calculates the probability that the spin will be 1 for each individual spin related to the target constraint, as described above.

[0056] Next, the automatic success rate calculation unit 3 calculates the automatic success rate of the target constraint C1 as follows. The target constraint C1 is a one-hot constraint. Therefore, the automatic success rate calculation unit 3 first calculates the probability that s1=1 and s2=s3=s4=0. The automatic success rate calculation unit 3 calculates this probability as 0.375*(1-0.25) 3 =0.1582.

[0057] Next, the automatic success rate calculation unit 3 calculates the probability that s2=1 and s1=s3=s4=0. The automatic success rate calculation unit 3 calculates this probability as (1-0.375)*0.25*(1-0.25) 2 =0.08789.

[0058] Similarly to the above, the automatic success rate calculation unit 3 calculates the probability that s3=1 and s1=s2=s4=0, and the probability that s4=1 and s1=s2=s3=0 to be 0.08789.

[0059] Therefore, the automatic success rate calculation unit 3 calculates the probability that the target constraint C1 (one-hot constraint) is satisfied as 0.1582+0.08789+0.08789+0.08789=0.422.

[0060] The automatic success rate calculation unit 3 can calculate the automatic success rate even when the target constraint is an arbitrary constraint by calculating the probability that the spin will be 1 for each individual spin related to the target constraint.

[0061] In the above description, the case where the target constraint is the constraint C1 has been described as an example. As described above, the automatic establishment rate calculation unit 3 calculates the automatic establishment rate for each constraint (each constraint term).

[0062] Generally, the larger the weighting coefficient of a constraint term, the more likely the constraint represented by that constraint term is to be satisfied. Also, the smaller the weighting coefficient of a constraint term, the more difficult the constraint represented by that constraint term is to be satisfied. A high automatic establishment rate means that the constraint is more likely to be satisfied, so the constraint can be satisfied even if the weighting coefficient is small. Therefore, the weighting coefficient calculation unit 6, which will be described later, determines the weighting coefficient so that the larger the automatic establishment rate, which is a value in the range of 0 to 1, the smaller the weighting coefficient becomes.

[0063] The energy increase determination unit 4 determines the energy increase when a constraint is violated for each constraint (in other words, for each constraint term). The energy increase when a constraint is violated is the energy increase when the constraint represented by the constraint term is no longer satisfied.

[0064] However, the energy increase determination unit 4 calculates the energy increase amount when a constraint is broken for the constraints "the number of spins that are 1 is equal to or greater than a first predetermined value and equal to or less than a second predetermined value," "the number of spins that are 1 is equal to or greater than a predetermined value," and "the number of spins that are 1 is equal to or less than a predetermined value." For other constraints, the energy increase determination unit 4 uniformly determines the energy increase amount when a constraint is broken to be "1." Note that the content of the constraint for each constraint term is specified by the constraint specification unit 2.

[0065] Below, we will explain an example of the operation of the energy increase amount determination unit 4 to determine the energy increase amount when a constraint is broken, with respect to the constraint that "the number of spins that are 1 is equal to or greater than a first predetermined value and equal to or less than a second predetermined value." Hereinafter, the number of spins that are 1 when the energy of the constraint term representing this constraint is minimized is defined as n. Furthermore, the first predetermined value is defined as na, and the second predetermined value is defined as n+b.

[0066] Fig. 3 is a schematic diagram showing the amount of energy increase when the number of spins that are 1 decreases by 1 from na, and the amount of energy increase when the number of spins that are 1 increases by 1 from n+b. In the graph shown in Fig. 3, the horizontal axis indicates the number of spins that are 1 among the spins related to the constraint. The vertical axis indicates the energy determined based on the constraint term that represents the constraint.

[0067] As shown in Figure 3, the increase in energy when the number of spins that are 1 decreases by 1 from na is defined as E a In addition, the amount of energy increase when the number of spins that are 1 increases by 1 from n+b is expressed as E b The energy increase amount determination unit 4 determines the energy increase amount E based on the constraint term representing this constraint. a ,E b can be calculated.

[0068] Furthermore, for the constraint term of interest, the energy increase amount determination unit 4 calculates the probability that the spin will be 1 for each individual spin related to the constraint, based on other related constraints. Based on these probabilities, the energy increase amount determination unit 4 calculates the probability that the number of spins that are 1 will be less than na, and the probability that the number of spins that are 1 will exceed n+b. The probability that the number of spins that are 1 will be less than na is defined as P a The probability that the number of spins that are 1 exceeds n+b is P b It is written as follows.

[0069] The energy increase amount determining unit 4 determines E a ,E b ,P a ,P b Using the above, the amount of energy increase when the constraint "the number of spins that are 1 is equal to or greater than a first predetermined value and equal to or less than a second predetermined value" is broken is determined by the following equation (5).

[0070] (E a -E b )*P a / (P a +P b )+E b ···(5)

[0071] The value obtained by equation (5) is the amount of energy increase when the constraint "the number of spins that are 1 is equal to or greater than a first predetermined value and equal to or less than a second predetermined value" is violated.

[0072] Also, the probability P a If 0, the energy increase amount determination unit 4 determines the energy increase amount when the constraint is broken as E b is decided.

[0073] Probability P b If 0, the energy increase amount determination unit 4 determines the energy increase amount when the constraint is broken as E a is decided.

[0074] Furthermore, for the constraint "the number of spins that are 1 is equal to or greater than a predetermined value," the energy increase amount determination unit 4 determines the energy increase amount when the number of spins that are 1 changes from a state in which the number is a predetermined value to a state in which the number is one less than the predetermined value as the energy increase amount when the constraint is broken.

[0075] Furthermore, for 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 determines the energy increase amount when the number of spins that are 1 changes from a state in which it is a predetermined value to a state in which it is one more than the predetermined value as the energy increase amount when the constraint is broken.

[0076] Constraints represented by constraint terms with a large energy increase when the constraint is broken are more likely to be satisfied when simulated annealing is performed. Therefore, for constraint terms with a large energy increase when the constraint is broken, the constraint represented by the constraint term can be satisfied even if the weighting coefficient is reduced. Therefore, the weighting coefficient calculation unit 6 (described later) determines the weighting coefficient so that the larger the energy increase when the constraint is broken, the smaller the weighting coefficient.

[0077] The spin number derivation unit 5 derives the number of spins associated with a constraint for each constraint (in other words, for each constraint term). The spin number derivation unit 5 may derive the number of spins associated with a constraint expressed by a constraint term based on the constraint term.

[0078] The greater the number of spins associated with a constraint, the higher the probability that a spin associated with that constraint will be selected and that the selected spin will flip when simulated annealing is performed. As a result, the constraint is more likely to be satisfied. Therefore, the greater the number of spins associated with a constraint, the more likely the constraint can be satisfied even with a smaller weighting coefficient. Therefore, the weighting coefficient calculation unit 6, described below, determines the weighting coefficient so that the greater the number of spins associated with a constraint, the smaller the weighting coefficient.

[0079] The weighting coefficient calculation unit 6 calculates a weighting coefficient corresponding to each constraint (in other words, for each constraint term) based on the automatic establishment rate, the energy increase amount when the constraint is broken, and the number of spins, all of which are calculated for the constraint term of interest.

[0080] As described above, the weighting coefficient calculation unit 6 determines the weighting coefficient so that the larger the automatic establishment rate, which is a value in the range of 0 to 1, the smaller the weighting coefficient. Also, the weighting coefficient calculation unit 6 determines the weighting coefficient so that the larger the amount of energy increase when a constraint is broken, the smaller the weighting coefficient. The weighting coefficient calculation unit 6 determines the weighting coefficient so that the larger the number of spins related to a constraint, the smaller the weighting coefficient.

[0081] Specifically, the weighting factor calculation unit 6 calculates a weighting factor corresponding to each constraint term by calculation of the following equation (6).

[0082] Weighting coefficient = (1 - automatic success rate) / (energy increase when constraint is broken * number of spins) ···(6)

[0083] Furthermore, when there are multiple constraint terms associated with a common weighting factor, the weighting factor calculation unit 6 determines the average value of the weighting factors calculated for each of the multiple constraint terms using equation (6) as the common weighting factor associated with the multiple constraint terms.

[0084] For example, suppose that 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 factor is input. In this case, the weighting factor calculation unit 6 determines the value calculated for constraint term 1 using equation (6) as the weighting factor W3 corresponding to constraint term 1. Similarly, the weighting factor calculation unit 6 determines the value calculated for constraint term 2 using equation (6) as the weighting factor W4 corresponding to constraint term 2. When determining the weighting factor W5 common to constraint term 3 and constraint term 4, the weighting factor calculation unit 6 calculates the average value of the weighting factor calculated for constraint term 3 using equation (6) and the weighting factor calculated for constraint term 4 using equation (6), and determines this average value as the weighting factor W5.

[0085] The constraint specification unit 2, the automatic success rate calculation unit 3, the energy increase amount determination unit 4, the spin number derivation unit 5, and the weighting coefficient calculation unit 6 are realized by, for example, a CPU (Central Processing Unit) of a computer that operates according to a weighting coefficient calculation program. For example, the CPU may read the weighting coefficient calculation program from a program recording medium such as a program storage device of the computer, and operate as the constraint specification unit 2, the automatic success rate calculation unit 3, the energy increase amount determination unit 4, the spin number derivation unit 5, and the weighting coefficient calculation unit 6 according to the weighting coefficient calculation program.

[0086] Next, the process will be described. Fig. 4 is a flowchart showing an example of the process of this embodiment. Detailed description of items that have already been explained will be omitted.

[0087] First, each constraint term in an equation representing the energy of a combinatorial optimization problem is input to the input unit 1 (step S1). In step S1, each objective function in the equation representing the energy may also be input to the input unit 1. Furthermore, if there are multiple constraint terms associated with a common weighting coefficient, information specifying the multiple constraint terms is also input to the input unit 1.

[0088] Next, the constraint specification unit 2 specifies the content of the constraint expressed by each constraint term (step S2).

[0089] Next, the automatic establishment rate calculation unit 3 calculates the automatic establishment rate for each constraint term (step S3).

[0090] Furthermore, the energy increase amount determination unit 4 determines the energy increase amount when the constraint is broken for each constraint term (step S4).

[0091] Furthermore, the spin number derivation unit 5 derives, for each constraint term, the number of spins associated with the constraint expressed by the constraint term (step S5).

[0092] The order of execution of steps S3, S4, and S5 is not limited. Furthermore, the automatic success rate calculation unit 3, the energy increase amount determination unit 4, and the spin number derivation unit 5 may execute steps S3, S4, and S5 in parallel.

[0093] Next, 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 when the constraint is broken, and the number of spins (step S6).

[0094] Furthermore, if there are multiple constraint terms associated with a common weighting factor, the weighting factor calculation unit 6 determines the average value of the weighting factors calculated for each of the multiple constraint terms as the common weighting factor associated with the multiple constraint terms (step S7).If there are no multiple constraint terms associated with a common weighting factor, the weighting factor calculation unit 6 may end the process at step S6 without executing step S7.

[0095] The weighting coefficient calculation unit 6 may display the individual weighting coefficients corresponding to the individual constraint terms that have been finally determined, for example, on a display device (not shown). However, the manner in which the individual weighting coefficients corresponding to the individual constraint terms are output is not limited to the above example.

[0096] According to this embodiment, each constraint term in an equation representing the energy of a combinatorial optimization problem is input to the weight coefficient calculation device 10. Furthermore, if there are multiple constraint terms associated with a common weight coefficient, information specifying the multiple constraint terms is also input to the weight coefficient calculation device 10. The weight coefficient calculation device 10 calculates a weight coefficient corresponding to each input constraint term based on the input information. At this time, the weight coefficient calculation device 10 calculates a weight coefficient such that a weight coefficient is small for a constraint term representing a constraint that is easily satisfied. Generally, the smaller the weight coefficient of a constraint term, the more difficult the constraint represented by that constraint term is to be satisfied. However, the weight coefficient calculation device 10 of this embodiment calculates a weight coefficient such that a weight coefficient is small for a constraint term representing a constraint that is easily satisfied, so that the constraint can be satisfied even with a small weight coefficient.

[0097] Furthermore, as described above, the weighting coefficient calculation device 10 of this embodiment calculates weighting coefficients corresponding to each input constraint term based on the input information, and therefore can calculate the weighting coefficients of each constraint term without performing iterative processing including simulated annealing (see FIG. 8). Therefore, it is possible to quickly calculate the weighting coefficients of each constraint term in the equation representing the energy of a combinatorial optimization problem.

[0098] Each objective function and each constraint term in the equation representing the energy of a combinatorial optimization problem are determined in advance according to the combinatorial optimization problem. Then, the weight coefficient calculation device 10 of this embodiment determines the weight coefficient of each constraint term. Furthermore, an operator may determine the weight coefficient of each objective function as appropriate. As a result, each objective function and each constraint term, as well as the weight coefficient of each objective function and the weight coefficient of each constraint term, are determined. In other words, the equation representing the energy is determined. Therefore, the equation representing the energy can be transformed into a QUBO energy function, and by inputting this energy function into a solution-finding device that performs simulated annealing, the state of each spin corresponding to the solution to the combinatorial optimization problem can be obtained.

[0099] 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 memory device 1002, an auxiliary memory device 1003, an interface 1004, and an input device 1005.

[0100] The weighting coefficient calculation device 10 according to the embodiment of the present invention is realized by a computer 1000. The operation of the weighting coefficient calculation device 10 is stored in the form of a weighting coefficient calculation program in an auxiliary storage device 1003. A CPU 1001 reads the weighting coefficient calculation program from the auxiliary storage device 1003, loads the weighting coefficient calculation program into a main storage device 1002, and executes the processing described in the above embodiment in accordance with the weighting coefficient calculation program.

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

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

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

[0104] Next, an overview of the present invention will be described. Fig. 6 is a block diagram showing an overview of a weighting coefficient calculation device of the present invention. The weighting coefficient calculation device of the present invention comprises input means 71, automatic success rate calculation means 73, energy increase amount determination means 74, spin number derivation means 75, and weighting coefficient calculation means 76.

[0105] Each constraint term included in the equation representing the energy in the combinatorial optimization problem is input to the input means 71 (for example, the input unit 1).

[0106] The automatic success rate calculation means 73 (for example, the automatic success rate calculation unit 3) calculates, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to the individual spins related to the constraint represented by the constraint term are satisfied.

[0107] The energy increment determining means 74 (for example, the energy increment determining unit 4) determines, for each constraint term, an energy increment at the time of constraint violation, which is an energy increment when the constraint represented by the constraint term is no longer satisfied.

[0108] The spin number derivation means 75 (for example, the spin number derivation unit 5) derives, for each constraint term, the number of spins associated with the constraint expressed by the constraint term.

[0109] The weighting coefficient calculation means 76 (for example, 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 when the constraint is broken, and the number of spins.

[0110] Such a configuration makes it possible to quickly calculate the weight coefficients of the constraint terms in the equation that represents the energy of a combinatorial optimization problem.

[0111] The automatic success rate calculation means 73 may be configured to calculate, for each constraint term, the probability that each spin related to the constraint represented by the constraint term will be 1 when all other constraints related to each spin related to the constraint represented by the constraint term are satisfied, and calculate the automatic success rate based on the probability that each spin will be 1.

[0112] The weighting coefficient calculation means 76 may be configured to determine, when there are multiple constraint terms associated with a common weighting coefficient, the average value of the weighting coefficients calculated for each of the multiple constraint terms as the common weighting coefficient associated with the multiple constraint terms.

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

[0114] The present invention is suitably applied to a weight coefficient calculation device that calculates weight coefficients for each constraint term included in an equation that represents energy in a combinatorial optimization problem. [Explanation of symbols]

[0115] 1 Input section 2 Constraint identification part 3 Automatic success rate calculation unit 4. Energy increase amount determination unit 5. Spin number derivation part 6 Weighting coefficient calculation section 10 Weighting coefficient calculation device

Claims

1. an input means for inputting each constraint term included in an equation representing energy in a combinatorial optimization problem; an automatic success rate calculation means for calculating, for each constraint term, an automatic success rate which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; an energy increase determination means for determining, for each constraint term, an energy increase at the time of constraint failure, which is an energy increase when the constraint represented by the constraint term is no longer satisfied; a spin number deriving means for deriving, for each constraint term, the number of spins associated with the constraint represented by the constraint term; and a weight coefficient calculation means for calculating a weight coefficient corresponding to each constraint term such that the weight coefficient corresponding to the constraint term decreases as the automatic establishment rate increases, the energy increase amount at the time of breaking the constraint increases, and the number of spins increases. A weighting coefficient calculation device characterized by:

2. The automatic success rate calculation means For each constraint term, when all other constraints related to the individual spins related to the constraint represented by the constraint term are satisfied, the probability that each spin related to the constraint represented by the constraint term will be 1 is calculated, and the automatic success rate is calculated based on the probability that each spin will be 1.

2. The weighting coefficient calculation device according to claim 1.

3. The weighting coefficient calculation means When there are a plurality of constraint terms associated with a common weighting factor, the average value of the weighting factors calculated for each of the plurality of constraint terms is determined as the common weighting factor associated with the plurality of constraint terms.

3. The weighting factor calculation device according to claim 1 or 2.

4. The computer Accepts input of each constraint term included in the equation representing the energy in the combinatorial optimization problem, executes an automatic success rate calculation process for calculating, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; For each constraint term, an energy increase determination process is performed to determine an energy increase at the time of constraint failure, which is an energy increase when the constraint represented by the constraint term is no longer satisfied; performing a spin number derivation process for each constraint term to derive the number of spins associated with the constraint represented by the constraint term; A weight coefficient calculation process is executed to calculate a weight coefficient corresponding to each constraint term such that the larger the automatic establishment rate, the larger the energy increase amount at the time of breaking the constraint, and the larger the number of spins, the smaller the weight coefficient corresponding to the constraint term. A weighting coefficient calculation method comprising:

5. The computer In the automatic success rate calculation process, For each constraint term, when all other constraints related to the individual spins related to the constraint represented by the constraint term are satisfied, the probability that each spin related to the constraint represented by the constraint term will be 1 is calculated, and the automatic success rate is calculated based on the probability that each spin will be 1. The weighting factor calculation method according to claim 4 .

6. The computer In the weighting coefficient calculation process, When there are a plurality of constraint terms associated with a common weighting factor, the average value of the weighting factors calculated for each of the plurality of constraint terms is determined as the common weighting factor associated with the plurality of constraint terms. The weighting factor calculation method according to claim 4 or 5.

7. a computer having an input means for inputting each constraint term included in an equation representing energy in a combinatorial optimization problem; an automatic success rate calculation process for calculating, for each constraint term, an automatic success rate, which is the probability that the constraint represented by the constraint term is satisfied when all other constraints related to individual spins related to the constraint represented by the constraint term are satisfied; an energy increase determination process for determining, for each constraint term, an energy increase at the time of constraint failure, which is the energy increase when the constraint represented by the constraint term is no longer satisfied; a spin number derivation process for deriving, for each constraint term, the number of spins associated with the constraint represented by the constraint term; and A weight coefficient calculation process for calculating a weight coefficient corresponding to each constraint term such that the larger the automatic establishment rate, the larger the amount of energy increase when the constraint is broken, and the larger the number of spins, the smaller the weight coefficient corresponding to the constraint term. A weighting coefficient calculation program for executing the above.

8. The computer, In the automatic success rate calculation process, For each constraint term, when all other constraints related to each spin related to the constraint represented by the constraint term are satisfied, the probability that each spin related to the constraint represented by the constraint term will be 1 is calculated, and the automatic success rate is calculated based on the probability that each spin will be 1. The weighting factor calculation program according to claim 7.

9. The computer, In the weighting coefficient calculation process, When there are a plurality of constraint terms associated with a common weighting factor, the average value of the weighting factors calculated for each of the plurality of constraint terms is determined as the common weighting factor associated with the plurality of constraint terms.

9. The weighting coefficient calculation program according to claim 7 or 8.

Citation Information

Patent Citations

  • Data processor and its method

    JP1994318193A

  • Method and device for searching optimal solution of allocation and despatching scheduling program problem

    JP1996153085A

  • Optimization device and control method for optimization device

    JP2019121137A

  • Optimization device, optimization method and optimization program

    WO2022024329A1