Calculation program

The computational model addresses inefficient searches in combinatorial optimization by fixing binary variables based on constraints, enhancing search efficiency and reducing computational load.

JP7847646B2Active Publication Date: 2026-04-17TDK CORP
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
TDK CORP
Filing Date
2022-05-25
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

As the number of constraints in combinatorial optimization problems increases, the search range that satisfies the constraints decreases, leading to inefficient searches due to the inclusion of ranges that do not satisfy the constraints.

Method used

A computational model and program that fix binary variables based on constraints in Ising and QUBO models, narrowing the search range by removing variables that can be fixed according to specific constraints, thereby improving search efficiency.

Benefits of technology

The model enhances search efficiency and reduces computational load by limiting the search range, achieving better results compared to traditional penalty methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007847646000017
    Figure 0007847646000017
  • Figure 0007847646000018
    Figure 0007847646000018
  • Figure 0007847646000019
    Figure 0007847646000019
Patent Text Reader

Abstract

Provided is a calculation model that can be applied to the Ising model or QUBO, wherein a plurality of choices in a combinatorial optimization problem are assigned to any of the possible values of one or more binary variables, and one of the binary variables fixed on the basis of constraints imposed on the combinatorial optimization problem.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention , total Regarding calculation programs. [Background technology]

[0002] Attempts are being made to find the optimal solution to a combinatorial optimization problem using quantum annealing. A combinatorial optimization problem can be treated as a minimization problem in which the combination that minimizes an arbitrary objective function is sought.

[0003] Optimization problems may be subject to various constraints. For example, as described in Patent Document 1, constraint terms may be added to the objective function so that the objective function is not minimized when the constraints are violated. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] International Publication No. 2022 / 024329 [Overview of the project] [Problems that the invention aims to solve]

[0005] As the number of constraints increases, the proportion of the search range that satisfies the constraints decreases. Even when constraint terms are added to the objective function as constraints, the search still includes ranges that do not satisfy the constraints, resulting in inefficient search.

[0006] This invention has been made in view of the above circumstances, and aims to provide a computational model and computational program that exhibit excellent search efficiency even when constraints are imposed. [Means for solving the problem]

[0007] To solve the above problems, the present invention provides the following means.

[0008] The computational model according to the first aspect is a computational model applicable to an Ising model or a QUBO. In this computational model, in a combinatorial optimization problem, a plurality of options are assigned to any of the values that one or more binary variables can take, and based on the constraints given to the combinatorial optimization problem, any of the binary variables is fixed.

[0009] In the computational model according to the above aspect, a variable that can be fixed based on the constraints may be removed from the first computational model represented by the following formula (1).

[0010]

Number

[0011] However, in formula (1), x i , x j are the binary variables, J ij is the interaction parameter, h i is the parameter applied to each variable by an external factor, and α is a constant.

[0012] When applying the computational model according to the above aspect to the QUBO, when the fixable variable x a is fixed to 1, it may be represented by the following formula (2), and when the fixable variable x a is fixed to 0, it may be represented by the following formula (3).

[0013]

Number

[0014]

Number

[0015] When applying the computational model according to the above aspect to the Ising model, the fixable variable x aIf is fixed at +1, it is expressed by the following equation (4), and the fixed variable x a If is fixed at -1, it may also be expressed by the following equation (5).

[0016]

number

[0017]

number

[0018] In the calculation model according to the above embodiment, the constraint may also be a constraint to select a specific option from among the multiple options.

[0019] In the calculation model according to the above embodiment, the constraint may also be a constraint that does not select a particular option from the plurality of options.

[0020] In the calculation model according to the above embodiment, each of the multiple options may be represented using a one-hot representation.

[0021] In the computational model according to the above embodiment, each of the multiple options may be represented in binary form.

[0022] In the computational model according to the above embodiment, each of the multiple options may be represented by a domain wall representation.

[0023] In the calculation model according to the above embodiment, each of the multiple options may be expressed in unary representation.

[0024] The calculation program according to the second aspect is a calculation program applicable to an Ising model or a QUBO. This calculation program includes a first process of assigning a plurality of options in a combinatorial optimization problem to any of the values that one or more binary variables can take, and a second process of fixing any of the binary variables based on the constraints given to the combinatorial optimization problem.

[0025] The second process of the calculation program according to the above aspect may include a process of obtaining fixable variables among the binary variables based on the constraints, and a process of removing the fixable variables from the first calculation model represented by the above formula (1).

[0026] When the calculation program according to the above aspect is applied to the QUBO, when fixing the fixable variable x a to 1, the above formula (1) may be converted to the above formula (2), and when fixing the fixable variable x a to 0, the above formula (1) may be converted to the above formula (3).

[0027] When the calculation program according to the above aspect is applied to the Ising model, when fixing the fixable variable x a to +1, the above formula (1) may be converted to the above formula (4), and when fixing the fixable variable x a to -1, the above formula (1) may be converted to the above formula (5).

[0028] The calculation program according to the above aspect may be given, as the constraint, a constraint of selecting a specific option among the plurality of options.

[0029] The calculation program according to the above aspect may be given, as the constraint, a constraint of not selecting a specific option among the plurality of options.

[0030] The calculation program according to the above aspect may represent each of the plurality of options in a one-hot representation.

[0031] In the above embodiment, the calculation program may represent each of the multiple options in binary form.

[0032] In the above embodiment, the calculation program may represent each of the multiple options using a domain wall representation.

[0033] In the above embodiment, the calculation program may express each of the multiple options in unary representation. [Effects of the Invention]

[0034] The computational model according to the present invention offers excellent search efficiency. [Brief explanation of the drawing]

[0035] [Figure 1] This is an image of the Ising model, QUBO. [Figure 2] This is an example of using one-hot notation to represent the possible values ​​of a binary variable, and assigning multiple options to these possible values. [Figure 3] This is an example of representing the possible values ​​of a binary variable using binary representation, and assigning multiple options to these possible values. [Figure 4] This is an example of how a domain wall representation shows the possible values ​​of a binary variable, and how multiple options are assigned to these possible values. [Figure 5] This is an example of using unary representation to show the possible values ​​of a binary variable, and assigning multiple options to these possible values. [Figure 6] This example shows a case where a first constraint is imposed when assigning multiple options using one-hot representations. [Figure 7] This example shows how to assign multiple options using one-hot representations while imposing a first and second constraint. [Figure 8] This is an example of a conceptual diagram showing a case where multiple options are assigned using one-hot representation, and a constraint is imposed requiring the selection of a specific option. [Figure 9]This is an example of a conceptual diagram showing a case where multiple options are assigned using one-hot representation, and a constraint is imposed that a specific option should not be selected. [Figure 10] This is an example of a conceptual diagram showing a case where multiple options are assigned using one-hot representation, and a constraint is imposed that a specific option should not be selected. [Figure 11] This is an example of a conceptual diagram showing a case where multiple options are assigned using one-hot representation, and a constraint is imposed that a specific option should not be selected. [Figure 12] This is an example of a conceptual diagram for a case where multiple options are assigned using binary representation, and a constraint is imposed that a specific option should not be selected. [Figure 13] This is an example of a conceptual diagram showing a case where multiple options are assigned using a domain wall representation, and a constraint is imposed that a specific option should not be selected. [Figure 14] This is an example of a conceptual diagram showing a case where multiple options are represented using a domain wall representation, and a constraint is imposed that a specific option should not be selected. [Figure 15] This is an example of a conceptual diagram showing a case where multiple options are assigned using unary representations, and a constraint is imposed that a specific option should not be selected. [Figure 16] This is an example of a conceptual diagram showing a case where multiple options are represented using unary representations, and a constraint is imposed that a specific option should not be selected. [Modes for carrying out the invention]

[0036] This embodiment will now be described in detail with reference to the drawings as appropriate. The drawings used in the following description may be enlarged for convenience to clearly illustrate the features of this embodiment, and the dimensional ratios of each component may differ from those of the actual components. The materials, dimensions, etc., exemplified in the following description are examples only, and the present invention is not limited to them. It can be implemented with appropriate modifications without altering its essence.

[0037] "First Embodiment" The computational model according to the first embodiment is a computational model applicable to the Ising model or QUBO used in quantum annealing. Quantum annealing is an algorithm that finds the state with the minimum energy (ground state) according to the computational model.

[0038] The Ising model is a model that predicts a stable state for the whole system when multiple elements interact with each other and each element is subjected to a forcing.

[0039] Figure 1 is an illustrative diagram of the Ising model. The Ising model has multiple bits b that interact with each other due to a forcing force F. Each bit b consists of a spin s. A spin s represents either an up or down state. Each bit b is represented by a variable that indicates a binary state. Depending on the setting of the forcing force F, adjacent spins s can be in an equilibrium state or an antiparallel state. The forcing force F is called the interaction parameter.

[0040] The Ising model can be represented by the following energy function (cost function).

[0041]

number

[0042] The computational model represented by equation (1) will be referred to as the first computational model below. i , x j x is the input variable. i , x j x is a binary variable, either +1 or -1. i , x j This corresponds to the spin s state in Figure 1. ij This is an interaction parameter. ij This corresponds to the forcing force F in Figure 1. iα is a parameter applied to each bit b by an external factor, such as a magnetic field parameter. The magnetic field parameter can be considered as a weight for each bit b. α is a constant.

[0043] QUBO (Quadratic Unconstrained Binary Optimization) is a computational model that can be converted to an equivalent Ising model. In the Ising model, each bit b is represented as a binary variable of +1 or -1, whereas in QUBO, each bit b is represented as a binary variable of 0 or 1. Like the Ising model, QUBO is represented as a first computational model. In QUBO, x i , x j It is a binary variable, either 0 or 1.

[0044] The Ising model and QUBO can be applied to combinatorial optimization problems. Examples of combinatorial optimization problems include the traveling salesman problem, the knapsack problem, the shift optimization problem, and the delivery planning problem.

[0045] In the Ising model and QUBO, each of the multiple choices in a combinatorial optimization problem is represented by a binary variable x. i , x j It is expressed as a combination of these. And the variable x that minimizes the energy function. i , x j By finding this, combinatorial optimization problems can be solved using the Ising model or QUBO.

[0046] In this embodiment, the computational model in a combinatorial optimization problem assigns multiple choices to one or more possible values ​​of a variable. The variable is the binary variable described above.

[0047] The number of choices in a combinatorial optimization problem varies depending on the problem being optimized. For example, in the traveling salesperson problem, there are choices regarding which cities to visit and in what order. For example, in the shift optimization problem, there are choices regarding who works when.

[0048] Assign these options to values ​​that one or more variables can take. Figure 2 shows an example of assigning multiple options to one of the possible values ​​of the variables. The left side of Figure 2 shows some of the options assigned to one of the possible values ​​of three variables, while the right side of Figure 2 shows some of the options assigned to one of the possible values ​​of two variables.

[0049] Here, the possible values ​​of a variable are the selectable values ​​among the values ​​produced by the combination of binary variables. For example, as shown on the left side of Figure 2, if there are three variables x1, x2, and x3, each of the three variables x1, x2, and x3 can choose either "1" or "0". Therefore, the possible values ​​of the three variables x1, x2, and x3 are (0,0,0), (0,0,1), (0,1,0), (1,0,0), (0,1,1), (1,1,0), (1,0,1), and (1,1,1), which is eight values. Not all eight of these values ​​are always possible, and the selectable values ​​differ depending on the way the choices are expressed, as will be described later, further limiting the possible values ​​of the three variables x1, x2, and x3.

[0050] For example, if we choose one of three options, A, B, and C, as the first option, option A is assigned to value a1, option B is assigned to value a2, and option C is assigned to value a3. Values ​​a1, a2, and a3 are possible values ​​depending on the combination of variables x1, x2, and x3, respectively. Also, for example, if we choose one of two options, D and E, as the second option, we assign options D and E to the possible values ​​of the two variables y1 and y2. Option D is assigned to value b1, and option E is assigned to value b2. Values ​​b1 and b2 are possible values ​​depending on the combination of variables y1 and y2, respectively. In this case, the combinations of options that the computational model can select as the optimal solution are (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), and (a3, b2). Furthermore, it is arbitrary which option is assigned to which possible value of the variable.

[0051] The values ​​that a variable can take are represented by a combination of multiple binary variables. For example, values ​​a1, a2, and a3 can each be represented by a combination of three binary variables x1, x2, and x3, and values ​​b1 and b2 can each be represented by a combination of two binary variables y1 and y2. These variables x1, x2, x 3、 y1 and y2 are each the variable x in equation (1). i , x j This corresponds to the spin s of bit b in Figure 1. Figure 2 shows the case of QUBO where the binary variables are 1 and 0. In the Ising model, the binary variables may be +1 and -1.

[0052] Each of the options may be expressed in one-hot notation, binary notation, domain wall notation, or unary notation.

[0053] One-hot representation is a method of representing N types of information using N variables. In one-hot representation, only one of the N variables will be "1," while the other variables will all be "0" in the case of QUBO and all be "-1" in the case of the Ising model. Each of the choices shown in Figure 2 is represented using one-hot representation. One-hot representation requires as many variables as there are choices, but even if one variable is overwritten by noise, it will not represent the other states, making it robust against noise.

[0054] Binary representation is a method of representing N types of information using binary numbers. In binary representation, each variable representing a choice can simultaneously be "1". Figure 3 is an example of assigning multiple choices to the possible values ​​of a variable represented in binary. Binary representation can represent many states with a small number of variables. For example, as shown in Figure 3, even with just two variables x1 and x2, four values ​​a1 to a4 can be taken. For example, if the first choice consists of three choices, A, B, and C, then each of choices A to C can be assigned to one of the values ​​a1 to a3, and value a4 is left unassigned.

[0055] Domain wall representation is a method of representing N types of information at boundaries where adjacent values ​​are at different positions. Figure 4 shows an example where multiple choices are assigned to the possible values ​​of a variable represented by domain wall representation. In domain wall representation, each of the possible values ​​a1, a2, and a3 of a variable is represented by two fixed values ​​z1 and z2 and multiple variables x1 and x2. One of the fixed values ​​z2 is fixed to "1", while the other fixed value z1 is fixed to "0" in the case of QUBO and fixed to "-1" in the case of the Ising model.

[0056] Unary representation is a method of representing N types of information using the sum of variables. Figure 5 shows an example of possible values ​​for variables represented in unary representation. For example, if the first choice consists of three options, A, B, and C, the sum of the variables would be 0 for option A (the variable can take the value a1), 1 for option B (the variable can take the values ​​a2 and a3), and 2 for option C (the variable can take the value a4).

[0057] The computational model according to this embodiment includes constraints. The computer calculates combinations that a human would exclude as equivalent to other combinations. Adding constraints to the computational model prevents it from outputting impossible combinations of variables that would produce meaningless solutions as the optimal solution. Constraints include, for example, constraints arising from the way the choices are represented (hereinafter referred to as the first constraint), and constraints added to the choices (hereinafter referred to as the second constraint).

[0058] The first constraint differs depending on how the options are expressed.

[0059] For example, when representing options using one-hot notation, the first constraint is that at least one of the variables must be "1".

[0060] For example, when representing choices in binary form, the first constraint is that a variable's possible values ​​that are not assigned to any choices are not selected. In binary representation, the number of possible values ​​for a variable does not match the number of choices, and there may be cases where a variable's possible values ​​are not assigned to any choices.

[0061] For example, when representing options using a domain wall representation, the first constraint is that there is only one boundary where adjacent values ​​are different.

[0062] For example, when representing options using unali expressions, the first constraint is not specifically imposed.

[0063] Figure 6 shows an example of imposing a first constraint C1 on a state in which multiple pairs of variables can be represented. In Figure 6, the first constraint C1 is imposed assuming that the representation method of the choices is one-hot representation. In this case, the first constraint C1 is imposed on, for example, the values ​​a4 to a8, b3, and b4 among the possible values ​​that the variables can take. The first constraint C1 prevents the energy of the objective function from being minimized for any combination of these variables.

[0064] The values ​​a4-a8, b3, and b4 do not satisfy the one-hot representation condition that only one of the N variables must be "1", and therefore no options are assigned to them. Consequently, when the energy of the objective function is minimized for the values ​​a4-a8, b3, and b4, a meaningless solution is output, and therefore the first constraint C1 is imposed on these values ​​a4-a8, b3, and b4.

[0065] The second constraint is a condition given to a combinatorial optimization problem. For example, in the Traveling Salesperson Problem, the second constraints would be "it is mandatory to visit city M on the Nth turn" or "it is mandatory not to visit city M on the Nth turn." In the Shift Optimization Problem, the second constraints would be "no one should work for more than a certain number of hours," "the number of employees per day must be specified," or "each employee's vacation requests must be taken into account."

[0066] The second constraint is imposed within the range of conditions that satisfy the first constraint C1. Figure 7 shows an example of imposing the first constraint C1 and the second constraint C2 on a state in which multiple pairs of variables can be represented. The second constraint C2 is imposed on one of the values ​​a1 to a3, b1, or b2, which can be selected even within the conditions under which the first constraint C1 is imposed. For example, as shown in Figure 7, the second constraint C2 is imposed on the value a2. For example, the second constraint C2 can be a constraint that selects the value a2, or a constraint that does not select the value a2. For example, if the constraint is imposed so that a2 is selected, the energy function represented by equation (1) is minimized when a2 is selected. For example, if the constraint is imposed so that the value a2 is not selected, the energy function represented by equation (1) is not minimized when a2 is selected.

[0067] One method for applying constraints to a computational model is the penalty method. The penalty method involves imposing constraint terms to prevent the energy from being minimized for the possible values ​​of a variable that would produce an unselectable solution (a meaningless solution). For example, the following equation is an example of an energy function with constraint terms added to the objective term using the penalty method.

[0068]

number

[0069] In the above equation (6), H cost (x) is the objective term, H penalty (x) is a constraint term, and λ is a coefficient. For example, if both or either of the first constraint C1 and the second constraint C2 are not satisfied, then H penalty By setting (x) to a large value, the energy function H(x) will not be minimized if both or either of the first constraint C1 and the second constraint C2 are not satisfied.

[0070] The penalty method prevents the energy function from being minimized when the variable does not satisfy the constraints and can take the values ​​a4~a8, b3, and b4.

[0071] In other words, even if the combination of choices that the computational model can select is any of (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), or (a3, b2), the search range of the computational model is all combinations of (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), (a3, b2), (a4, b1), (a4, b2), (a5, b1), (a5, b2), (a6, b1), (a6, b2), (a7, b1), (a7, b2), (a8, b1), or (a8, b2).

[0072] In other words, (a4, b1), (a4, b2), (a5, b1), (a5, b2), (a6, b1), (a6, b2), (a7, b1), (a7, b2), (a8, b1), (a8, b2), which do not need to be explored, are included in the search range, and imposing all constraints using only the penalty method results in poor search efficiency.

[0073] In contrast, the computational model according to this embodiment fixes one of several binary variables based on the constraints given to the combinatorial optimization problem. When some of the variables are fixed, the search range explored based on the computational model is narrowed, and computational efficiency is increased. The variables that can be fixed in the computational model differ depending on the constraints given to the computational model.

[0074] First, we determine the variables that can be fixed based on the constraints imposed on the computational model. Below, we will explain how to determine the variables that can be fixed for both the first and second patterns of constraints imposed on the computational model.

[0075] The first pattern involves imposing a constraint on the computational model to select a specific option from among multiple choices. For example, in the Traveling Salesperson Problem, the constraint is given to the computational model to fix the choice by deciding to "go to city M on the Nth turn."

[0076] In the first pattern, a specific option is selected, so one of the possible values ​​of the variable, a1 to a3, is chosen. Of the possible values ​​of the variable, a4 to a8 cannot be selected based on the first constraint C1.

[0077] For example, as shown in Figure 8, we can impose a constraint that requires us to select value a2 from values ​​a1 to a8 (selecting option B). In this case, all variables x1 to x3 can be fixed. For example, each of the variables x1 to x3 can be fixed to x1=0, x2=1, and x3=0.

[0078] The constraint that each of variables x1 to x3 must be fixed corresponds to the second constraint C2, but it encompasses the first constraint C1. Therefore, when selecting an option based on constraints, the first constraint C1 is unnecessary, and the number of constraints can be reduced. This is also true when representing options in binary representation or domain wall representation. When representing options in unary representation, the first constraint C1 is not imposed in the first place.

[0079] In the first pattern, given the constraint to select the value a2, x1 is fixed to 0, x2 to 1, and x3 to 0. In this case, we first remove x2 from the first computational model. Equation (1) is transformed into equation (2) as shown below. In this case, a=2. In equation (2), S / {a} means to remove a from the set S of indices for all variables. a corresponds to the indices of the fixed variables.

[0080]

number

[0081] Next, we remove x1 from the first computational model. Equation (2) is transformed into equation (3) as shown below. In this case, a=1. In equation (3), S / {a} means removing a from the set S obtained by removing 2 from the set of indices of all variables.

[0082]

number

[0083] Next, x3 is removed from the first computational model. Equation (3) is transformed again as an equation with a=3. In other words, in equation (3), S / {a} means removing a from the set S obtained by removing 2 and 1 from the set of all variable subscripts. In the example above, the variables were removed in the order of x2, x1, and x3, but the order is not limited to this. In this case, the search range of the computational model is limited to (a2, b1) and (a2, b2). In other words, the computational model according to this embodiment can reduce the search range from 16 to 2 compared to the penalty method.

[0084] Here, as an example, we have shown the case where the constraint is given that value a2 is selected (option B is selected), but the same applies when value a1 is selected (option A is selected) and when value a3 is selected (option C is selected). When value a1 is selected, the search range of the calculation model is limited to (a1, b1) and (a1, b2). When value a3 is selected, the search range of the calculation model is limited to (a3, b1) and (a3, b2).

[0085] The second pattern involves imposing a constraint on the computational model that it must not select a particular option from among several choices. For example, in the Traveling Salesperson Problem, one might impose a constraint that the option "go to city M on the Nth turn" is not selected (i.e., "do not go to city M on the Nth turn").

[0086] For example, as shown in Figure 9, we impose a constraint that the variable does not select value a2 from the possible values ​​a1 to a8 (i.e., does not select option B). This constraint can be rephrased as a constraint that the variable selects either value a1 or value a3, for example, when the options are represented using one-hot notation, by combining it with the first constraint C1.

[0087] The commonality between the possible values ​​a1 and a3 for the variable is that the variable x2 is 0. Therefore, in this case, the only variable that can be fixed is x2.

[0088] Next, the fixed variables that were determined are fixed, and the fixed variables are removed from the first computational model represented by equation (1) above.

[0089] In the second pattern, if we are given the constraint that we do not select the value a2, then x2 is fixed to 0. In this case, equation (1) is transformed into equation (3). In this case, a=2. In equation (3), S / {a} means to remove a from the set S of all variable indices. a corresponds to the index of the fixed variable.

[0090] In this case, the search range of the computational model is limited to (a1, b1), (a1, b2), (a3, b1), (a3, b2), (a4, b1), (a4, b2), (a7, b1), and (a7, b2). (a4, b1), (a4, b2), (a7, b1), and (a7, b2) are not selected by adding the first constraint C1 as a constraint term to the energy function. In other words, the computational model according to this embodiment can reduce the search range from 16 to 8 compared to the penalty method.

[0091] Here, as an example, we have shown the case where the constraint is not to select value a2 (option B is not selected), but the same procedure can be used to restrict the search range of the computational model when the constraint is not to select value a1 (option A is not selected) or when the constraint is not to select value a3 (option C is not selected).

[0092] For example, Figure 10 shows an example where the constraint is not to select the value a1 (not to select option A). In this case, x1 can be fixed at 0. In this case as well, equation (1) is transformed into equation (3) (where a=1). In this case, the search range of the computational model is limited to (a2, b1), (a2, b2), (a3, b1), (a3, b2), (a6, b1), (a6, b2), (a7, b1), (a7, b2). (a6, b1), (a6, b2), (a7, b1), (a7, b2) are not selected by adding the first constraint C1 as a constraint term to the energy function.

[0093] For example, Figure 11 shows an example where the constraint is not to select the value a3 (not to select option C). In this case, x3 can be fixed at 0. In this case as well, equation (1) is transformed into equation (3) (where a=3). In this case, the search range of the computational model is limited to (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a5, b1), (a5, b2), (a7, b1), (a7, b2). (a5, b1), (a5, b2), (a7, b1), (a7, b2) are not selected by adding the first constraint C1 as a constraint term to the energy function.

[0094] As described above, by fixing one of several binary variables based on the constraints given to the combinatorial optimization problem, the search range of the computational model can be narrowed. Narrowing the search range of the computational model increases the search efficiency of the model and reduces the computational load.

[0095] Up to this point, we have shown an example of the second pattern where one of the variables x1 to x3 is fixed to 0, but it is also possible to fix one of the variables x1 to x3 to 1.

[0096] In this case, equation (1) is transformed into equation (2). a corresponds to the subscript of a variable fixed at 1. In equation (2), S / {a} means to remove a from the set S of all variable subscripts.

[0097] For example, if x² is fixed at 1, the search range of the computational model is limited to (a², b²), (a², b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²), (a₅, b²). (a₅, b²), (a₅, b²), (a₅, b²) are not selected by adding the first constraint C1 as a constraint term to the objective function.

[0098] Up to this point, we have illustrated the case where the choices are represented using one-hot notation, but the same procedure can be used to fix one of the multiple binary variables when representing the choices using other notations.

[0099] Figure 12 shows an example of a variable fixing condition when the choices are represented in binary form. For example, if the constraint is given that the value a2 is not selected, x1 is fixed to 0. In this case as well, equation (1) is transformed into equation (3) (where a=1). In this case, the search range of the computational model is limited to (a1, b1), (a1, b2), (a3, b1), and (a3, b2). As shown in Figure 12, the constraint that the value a2 is not selected also serves as the first constraint C1. In other words, the computational model according to this embodiment can reduce the search range from 8 to 4 compared to the penalty method.

[0100] Figure 13 shows an example of a variable fixing condition when representing the choices using a domain wall representation. For example, we can impose a constraint that value a1 is not selected. In this case, x2 is fixed to 0. In this case as well, equation (1) is transformed into equation (3) (where a=2). In this case, the search range of the computational model is limited to (a2, b1), (a2, b2), (a3, b1), and (a3, b2). As shown in Figure 13, the constraint that value a1 is not selected also serves as the first constraint C1. In other words, the computational model according to this embodiment can reduce the search range from 8 to 4 compared to the penalty method.

[0101] Figure 14 shows an example of a variable fixing condition when representing the choices using a domain wall representation. For example, if we impose a constraint that value a3 is not selected, x1 is fixed to 1. In this case, equation (1) is transformed into equation (2) (where a=1). In this case, the search range of the computational model is limited to (a1, b1), (a1, b2), (a2, b1), and (a2, b2). As shown in Figure 14, the constraint that value a3 is not selected also serves as the first constraint C1.

[0102] Figure 15 shows an example of a variable fixing condition when representing the choices in unary representation. For example, if the constraint is given that the value a1 is not selected, then x1 is fixed to 1. In this case as well, equation (1) is transformed into equation (2) (where a=1). In this case, the search range of the computational model is limited to (a2, b1), (a2, b2), (a3, b1), and (a3, b2). In other words, the computational model according to this embodiment can reduce the search range from 8 to 4 compared to the penalty method. As another example, instead of fixing x1 to 1, x2 may be fixed to 1.

[0103] Figure 16 shows an example of a variable fixing condition when representing choices in unary representation. For example, if the constraint is given that the value a3 is not selected, then x2 is fixed to 0. In this case as well, equation (1) is transformed into equation (3) (where a=2). In this case, the search range of the computational model is limited to (a1, b1), (a1, b2), (a2, b1), and (a2, b2). As another example, instead of fixing x2 to 0, x1 could be fixed to 0.

[0104] Up to this point, we have shown examples of the case where the binary variable is 1 or 0 when applied to QUBO. In the case of the Ising model where the binary variable is represented as +1 or -1, equation (1) is transformed as follows.

[0105] For example, a fixed variable x a If we fix it to +1, equation (1) is transformed into equation (4) below.

[0106]

number

[0107] For example, a fixed variable x a If we fix to -1, equation (1) is transformed into equation (5) below.

[0108]

number

[0109] This computational model can be applied to an Ising machine specifically designed for computations such as the Ising model or QUBO. The computational model is stored in the Ising machine as a computational program, for example. The computational program instructs the processor to perform processing according to the computational model described above. For example, quantum annealing machines (D-wave, NEC), coherent Ising machines (NTT), simulated branching machines (Toshiba), digital annealers (Fujitsu), and CMOS annealers (Hitachi) are examples of Ising machines.

[0110] An Ising machine can also be a quantum gate-type computer. For example, using QAOA (Quantum Approximate Optimization Algorithm), the Ising model and QUBO can be computed on a quantum gate-type computer.

[0111] Although embodiments of the present invention have been described in detail above with reference to the drawings, the configurations and combinations thereof in each embodiment are merely examples, and additions, omissions, substitutions, and other modifications to the configurations are possible without departing from the spirit of the present invention. [Explanation of symbols]

[0112] b...bit, s...spin, F...forcing, a1~a8,b1~b4...values, x1~x3,y1,y2...binary variables, A, B, C, D, E...choices, C1...first constraint, C2...second constraint

Claims

1. A computing program for causing a processor of an Ising machine or a quantum gate type computer to perform processing, This is a computational program applicable to the Ising model or QUBO. A first process in a combinatorial optimization problem involves assigning multiple options to one of the possible values ​​of one or more binary variables, Based on the constraints given to the combinatorial optimization problem, a second process is performed in which one of the two variables is fixed, The second process involves determining which of the plurality of binary variables can be fixed based on the constraints, [Math 1] A calculation program that performs the process of removing the fixed variables from the first calculation model represented by . However, in equation (1), x i and x j are the aforementioned binary variables, J ij is the interaction parameter, hi i is the parameter applied to each variable by an external factor, and α is a constant.

2. When applied to the aforementioned QUBO, The aforementioned fixed variable x a If we fix to 1, we convert the above formula (1) to the following formula (2), [Math 2] The aforementioned fixed variable x a If we fix to 0, we convert equation (1) to equation (3) below. [Math 3] The calculation program described in claim 1.

3. When applied to the aforementioned Ising model, The aforementioned fixed variable x a If we fix it to +1, we convert the above equation (1) to the following equation (4), [Math 4] The aforementioned fixed variable x a If we fix to -1, we can convert equation (1) to equation (5) below. [Math 5] The calculation program described in claim 1.

4. The calculation program according to claim 1, wherein the constraint is to select a specific option from among the plurality of options.

5. The calculation program according to claim 1, wherein the aforementioned constraint is that a specific option among the plurality of options is not selected.

6. The calculation program according to claim 1, wherein each of the aforementioned multiple options is represented using one-hot notation.

7. The calculation program according to claim 1, wherein each of the aforementioned multiple options is represented in binary form.

8. The calculation program according to claim 1, wherein each of the aforementioned multiple options is represented using a domain wall representation.

9. The calculation program according to claim 1, wherein each of the aforementioned multiple options is represented in unary notation.

Citation Information

Patent Citations

  • Optimization device, optimization method, and optimization program

    JP2021184148A

  • Information processing device, information processing system, information processing method, storage medium, and program

    WO2020196862A1

  • Film formation system, industrial plant system, and wafer film formation method

    WO2022009323A1

  • Optimization device, optimization method and optimization program

    WO2022024329A1