Quantum annealing control device
Patent Information
- Application Number
- JP2023139132
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-29
- Publication Date
- 2025-03-13
- Estimated Expiration
- 2043-08-29
AI Technical Summary
【0020】 本発明によれば貪欲法の手法を用いることにより、規模の大きな最適化問題に回帰的に量子アニーリングを適用することによって、効率的に求解を行うことができる。
Smart Images

Figure 2025033424000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a quantum annealing control device that controls a quantum annealing device to solve an optimization problem. [Background technology]
[0002] There are two processing methods for information processing systems: ● Real-time processing: Information entered into the system is processed sequentially. ●Batch processing: Information entered into the system is accumulated and processed in bulk at any trigger.
[0003] Of these, batch processing typically has the following characteristics: ●The required computing power is large. This is because the amount of information stored is large, and it is often necessary to complete this large amount of information within a deadline. For example, if business hours are during the day and data is stored during the day, and batch processing is performed at night outside of business hours, it is often necessary to complete the processing by the next business day. ●Many processes refer to various databases (DB). Here, batch processing is introduced to prevent the contents of the reference from being out of order due to the timing of DB updates. In other words, in batch processing, it is necessary to prevent DB records and processing results that refer to DB from becoming inappropriate due to DB rewrites being performed in the wrong order.
[0004] In response to such requirements, methods for setting an efficient and executable schedule in batch processing are generally known, and the following terms are used in the field (optimization problems): ●"Executable" means that the essential conditions for the system to function are met. ●The essential conditions for a system to function are called "constraints." For example, if there are processes that cannot be performed simultaneously, satisfying that is a constraint. For example, if there are processes that must not be preceded or followed, satisfying that is a constraint. • A schedule that does not satisfy the constraints is called a “constraint violation.” ● "Efficient" refers to minimal consumption of resources and costs. • The numerical value that is desired to be minimized or maximized is called the "objective function." For example, an objective function that minimizes the total processing time (makespan) can be considered. For example, an objective function could be one that maximizes the number of batches that can be processed in parallel.
[0005] The task of setting an efficient and feasible schedule is called a "scheduling problem." A scheduling problem is a type of "combinational optimization problem." More generally, an "optimization problem" is a problem of finding the best setting for a task that has an objective function, and it may or may not have constraints. For example, an optimization problem would be the problem of finding the rectangle with the largest area as an objective function, with the total length of the sides of the rectangle fixed as a constraint.
[0006] A combinatorial optimization problem is an optimization problem where the set values are discontinuous, rather than continuous, as in the problem above where the maximum area is sought. In other words, it is called a combinatorial optimization problem because it involves combining discontinuous set values (hereafter referred to as elements). For example, the traveling salesman problem and the knapsack problem are equivalent to combinatorial optimization problems. Combinatorial optimization problems are more difficult to solve than problems where the set values are continuous, and are known as NP-hard problems in computational complexity theory.
[0007] In the field of combinatorial optimization problems, the following terms are used: Constraints: The conditions that must be met for the task in question. ● Objective function: The better the numbers for the task in question, the more desirable the numbers are. ● Elements: What is combined (for example, the individual batches that make up a batch process) Decision variables: Variables that determine the answer to a problem (for example, the order in which each batch is processed in a batch process) ●Solution: A list of states with real numbers in the decision variables (The solution is not necessarily executable in reality.) ■Feasible solution: A solution that satisfies the constraints (i.e., a solution that can be implemented in reality) ■ Optimal solution: The feasible solution with the best objective function value among the solutions produced by the algorithm. ■ Globally optimal solution: The feasible solution with the best objective function value among all feasible solutions ■ Approximate solution: A feasible solution that has a reasonable objective function value for practical purposes.
[0008] Combinatorial optimization problems are mainly solved by heuristic methods and metaheuristic methods. For large-scale problems, methods that produce approximate solutions rather than global optimal solutions are adopted to reduce the amount of calculations. As disclosed in Non-Patent Document 2 and other documents, metaheuristic methods that can obtain approximate solutions include annealing methods using Ising machines, greedy methods, local search methods, tabu search methods, genetic algorithms, and the like, each of which is being researched. There are many existing technologies that apply these methods to real problems, such as Patent Document 2. There is research into annealing methods that use quantum devices to quickly produce solutions, as disclosed in Non-Patent Document 1, for example.
[0009] To execute the annealing method, it is necessary to formulate a solvable equation. In this case, a problem may be created in which the decision variables themselves are the objective function, and a method can be considered to prepare a number of decision variables with enough margin to find the answer. However, a large number of decision variables is synonymous with a large-scale problem, and the accuracy of the solution will decrease.
[0010] Regarding this issue, in Patent Document 4, the number of decision variables is adjusted first before solving. There are also methods for dividing a general large-scale problem to artificially reduce the number of elements, and Patent Document 1 is an example of this being done using annealing. There are also methods for improving accuracy by combining a method that is strong and a method that is weak against large-scale problems, and Patent Document 3 is an example of using annealing after using a greedy method. [Prior art documents] [Patent documents]
[0011] [Patent Document 1] Patent Publication No. 2022-014282 [Patent Document 2] JP 2023-040451 A [Patent Document 3] Patent Publication No. 2021-034996 [Patent Document 4] Patent No. 6778942 [Non-patent literature]
[0012] [Non-Patent Document 1] Masayuki Ohzeki. "Combinatorial Optimization Using Quantum Annealing." Operations Research 63 (2018): 326-334. [Non-Patent Document 2] Toshihide Ibaraki. "Combinatorial Optimization and Scheduling Problems: New Solutions and Trends." Instrumentation and Control 34.5 (1995): 340-346. [Non-Patent Document 3] "IBM quantum computer with over 1000 qubits may appear in 2023. In parallel, "giant freezer" is also being developed", [online], Teruichi Inoue, ITmedia, [Retrieved August 1, 2023], Internet (URL: https: / / www.itmedia.co.jp / news / articles / 2009 / 17 / news095.html) [Non-Patent Document 4] Motoki Oyama, et al. "Investigation of the applicability of quantum annealing machines to combinatorial optimization problems." Proceedings of the 83rd National Conference 2021.1 (2021): 35-36. [Non-Patent Document 5] Chihiro Dogo, Kazuhiro Saito "Evaluation of batch schedule optimization using quantum annealing" DEIM Forum 2023 2b-5-5 Summary of the Invention [Problem to be solved by the invention]
[0013] However, the prior art has not considered the application of quantum annealing to solving large-scale problems.
[0014] For example, to schedule a batch of a large-scale system, it is necessary to determine the order of 500 to 1000 elements. In addition, since the number of decision variables is the square of the number of elements even if they are prepared at a minimum, if the number of elements is 500 to 1000, the number of decision variables must be at least 500. 2 ~1000 2 On the other hand, when quantum annealing is used to find a solution, as introduced in the article in Non-Patent Document 3, the maximum number of quantum bits that can be handled by current quantum computers is about 1000, which is not enough to reach the required scale.
[0015] In Patent Document 4, when applied to a problem of a size where there are not enough quantum bits, the initial solution calculation step cannot be performed, and it is also necessary to first consider an arbitrary value for the end time Tu for each problem.
[0016] In Patent Document 1, although execution is always possible depending on the number of divisions, an arbitrary value called the division size must be considered for each problem. The degree of accuracy of approximation is a trade-off with the division size, as examined in Non-Patent Document 4 as an experiment (CMOS annealing) showing that division of a problem reduces accuracy. In addition, only after solving the problem and obtaining an optimal solution can the division size be evaluated as being appropriate. Therefore, in practice, it is desirable to determine an appropriate division size after obtaining solutions several times, which requires a lot of trial and error. Therefore, unless the task is scheduled frequently (i.e., a task with many past records of estimating appropriate division sizes), a lot of preparatory work (pre-preparation) is required to reduce the amount of calculation, which is time-consuming.
[0017] In Patent Document 3, by using the greedy method first, it is not necessary to consider arbitrary values for each problem. However, if the size obtained by the greedy method is on a scale that cannot be handled by quantum bits, it is ultimately not possible to proceed to the next step of the greedy method.
[0018] In view of the above problems in the conventional techniques, an object of the present invention is to provide a quantum annealing control device that can efficiently apply quantum annealing to solving large-scale optimization problems. [Means for solving the problem]
[0019] In order to achieve the above-mentioned object, the present invention provides a quantum annealing control device composed of a classical computer, which controls a quantum annealing device to solve an optimization problem iteratively using a greedy method, and which executes a first process of setting a reinterpretation constraint in which a part of an objective function constituting the optimization problem is reinterpreted as a constraint, and a second process of instructing the quantum annealing device to minimize a cost based at least on the reinterpretation constraint, thereby obtaining an optimal solution to the optimization problem as a result of quantum annealing, and which executes the second process repeatedly, relaxing the strength of the reinterpretation constraint for each iteration and applying it, updating it to a composite element obtained by combining elements that constitute the results in each iteration, and obtaining an optimal solution to the optimization problem based on the elements and / or composite element that constitute the optimal solution at the time when the iterative process converges. Effect of the Invention
[0020] According to the present invention, a greedy method is used to efficiently find a solution by applying quantum annealing recursively to a large-scale optimization problem. [Brief description of the drawings]
[0021] [Figure 1] FIG. 1 is a configuration diagram of a quantum annealing system according to an embodiment. [Diagram 2] FIG. 2 is a functional block diagram of a control device according to an embodiment. [Diagram 3]1 is a flowchart of the operation of a quantum annealing system according to one embodiment. [Figure 4] 4 is a flowchart showing the operation of a greedy loop processing unit according to an embodiment, illustrating an example of details of step S8 in FIG. 3. [Diagram 5] This lists various model formulas that can be used to apply quantum annealing technology to batch scheduling problems. [Figure 6] FIG. 11 is a diagram illustrating an example of batch data to be processed in the present embodiment, as an explanatory example of the present embodiment. [Figure 7] The following lists examples of each term of the Hamiltonian that can be used in the quantum annealing of this embodiment. [Figure 8] FIG. 8 is a diagram showing a schematic example of a decision variable x(Xt) and a decision variable y(X) used in the example of FIG. 7. [Figure 9] FIG. 13 is a diagram illustrating an example of obtaining a reused composite patch from an optimal solution, as an example of the present embodiment. [Figure 10] FIG. 13 is a diagram illustrating an example of obtaining a non-reusable composite patch from an optimal solution, as an illustrative example of this embodiment. [Figure 11] FIG. 11 is a diagram showing an example of rearrangement as an explanatory example of this embodiment. [Figure 12] FIG. 1 is a diagram illustrating a hardware configuration of a typical computer. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] FIG. 1 is a configuration diagram of a quantum annealing system according to one embodiment. The quantum annealing system 100 comprises a quantum annealing device 10 (abbreviated herein as “annealing device 10”) configured as a type of quantum computer that performs quantum annealing, and a quantum annealing control device 20 (abbreviated herein as “control device 20”) configured as a classical computer that controls the operation of the quantum annealing device 10.
[0023] In the quantum annealing system 100 configured in this manner, the annealing apparatus 10 performs quantum annealing processing according to a control command from the control apparatus 20, and can return information on the annealing result obtained as a result to the control apparatus 20. As a configuration for communicating between the annealing apparatus 10 and the control apparatus 20 in this manner, the annealing apparatus 10 and the control apparatus 20 may be directly connected via a bus, or may be capable of communicating with each other via a network such as the Internet and / or a LAN (local area network). When the management apparatus 20 accesses the annealing apparatus 10 via a network, a classical computer equipped with an interface or the like for network communication may be attached to the annealing apparatus 10, but this configuration is omitted in FIG. 1.
[0024] Fig. 2 is a functional block diagram of a control device 20 according to an embodiment. The control device 20 includes a goal reinterpretation unit 21, a greedy loop design unit 22, a formula formulation unit 23, a greedy loop processing unit 24, and a result output unit 25. The greedy loop processing unit 24 further includes a condition change confirmation unit 241 and an optimal solution determination unit 242. Fig. 3 is a flowchart of the operation of the quantum annealing system 100 according to an embodiment, and Fig. 4 is a flowchart of the operation of the greedy loop processing unit 24 according to an embodiment, showing an example of details of step S8 in Fig. 3.
[0025] Hereinafter, the details of the processing contents of each functional block in FIG. 2 will be described while explaining each step in FIG. 3 and FIG. 4. Here, the inventors have obtained the knowledge that it is difficult to solve a large-scale problem as it is by performing an experiment to solve a small-scale batch scheduling problem using quantum annealing technology in Non-Patent Document 5. This embodiment provides a means to solve a large-scale problem that could not be solved as it is in Non-Patent Document 5. In this embodiment, too, the elementary framework itself for applying quantum annealing technology to a batch scheduling problem is common to the framework of the existing technology used in the experiment in Non-Patent Document 5. Therefore, as a premise for explaining this embodiment with reference to FIG. 3 and FIG. 4, the elementary framework will be briefly explained below.
[0026] FIG. 5 lists various model formulas (1) to (14) that can be used to apply quantum annealing technology to batch scheduling problems. FIGS. 6 to 11 are explanatory examples of this embodiment (including those that correspond to the explanatory examples and at the same time correspond to explanatory examples of the framework of the underlying existing technology), with FIGS. 6, 8 to 10 showing examples of batch data processed in this embodiment, and FIG. 7 showing an example of a model formula, and the examples of FIGS. 6 to 11 will be referred to as appropriate in the following explanation. (Note that, as will be described later, the definition of the decision variable in the examples of FIGS. 7 and 8 is slightly changed from that in FIG. 5, but this is possible as a modified embodiment of the present invention.)
[0027] Equation (1) is the Hamiltonian H of quantum annealing based on the Ising model. As is known from existing technology, quantum annealing is a method to minimize this Hamiltonian H by using the quantum bit σ i This is an algorithm that determines the spin direction (+1 / -1) of the two quantum bits σ i ,σ j The interaction coefficient J ij and the qubit σ i The external magnetic field energy coefficient h that affects iThe Hamiltonian H is determined from the above. The annealing apparatus 10 of the present embodiment is also an existing quantum annealing apparatus, and by providing information on the Hamiltonian H from the control device 20, the annealing result is determined to be a quantum bit σ that minimizes the Hamiltonian H (as a probabilistic approximate solution that is practically acceptable, rather than a strict global optimal solution). i It can output the spin direction (+1 / -1).
[0028] Here, in order to apply the Ising model of equation (1) to the batch scheduling problem, equations (2) to (14) are used as a process (formulation) equivalent to various translations. nt ∈{0,1} is prepared as a matrix of batch number N × time number T (1≦n≦N, 1≦t≦T). For each batch n, at the start time t of the processing of the batch n, x nt = 1, and at all times t' ≠ t other than the start time t, x nt' = 0. In other words, for a given batch n, the value of the decision variable is 0 until time 1, 2, ..., t-1, and then at time t, the decision variable x nt = 1, and if the value of the decision variable is 0 again at subsequent times t+1, t+2, ..., T-1, T, this means that batch n processing has started at that time t. Then, the decision variable x nt Define the values that ∈{0,1} takes.
[0029] The example in Figure 6 shows the decision variable x representing the process of processing five batches n=A, B, C, D, E, F in the order listed at time t=0 to 24. nt In this example, the processing start times t for five batches n=A, B, C, D, E, and F are t=0, 2, 4, 8, and 16, respectively. As shown in the legend EX in the example of FIG. 6, in this embodiment, the processing for each batch is set to perform read processing, calculation processing, and write processing in this order consecutively without interruption, so the start time of the read processing is set as the start time of the batch processing, and the decision variable x nt= 1. Note that, although the formulas listed in Fig. 5 also have five batches n as in Fig. 6, with n ∈ {A, B, C, D, E, F}, this is merely an example notation, and the embodiment of the present invention can be applied to any number of batches n.
[0030] In this way, the state of the batch being processed is represented by the decision variable x nt ∈{0,1}, and to apply the Ising model to this definition, we define the quantum bit σ as shown in equation (2). i to the binary variable x i ∈{0,1} (i.e., qubit σ i =-1 is the decision variable x i = 0, and the qubit σ i =+1 is the decision variable x i By arguing that = 1, the quantum annealing result σ i It is possible to obtain quantum annealing results by assuming that = +1 / -1 means the batch scheduling result as shown in Figure 6.) When using quantum annealing, the batch scheduling problem can be formulated as a QUBO problem that applies the conversion in equation (2) to the Ising model and minimizes the Hamiltonian H (corresponding to the cost term) expressed in the QUBO equation in equation (3).
[0031] Then, by setting the Hamiltonian H as the sum of the objective function terms corresponding to the individual contents of the batch scheduling problem and the terms representing the constraints, it is possible to solve individual batch scheduling problems by quantum annealing. Note that when performing batch scheduling in this way, the time required for the process of each batch n (for example, the read time R in n , Calculation processing time R pro n and writing time R out n ) is also given as given.
[0032] For example, in the example of Figure 6, as illustrated under the distinction in the legend column EX, for batch A, the loading time R inA = 2, calculation time R pro A = 4, Write time R out A = 2, and the sum of these is the batch length = R in A +R pro A +R out A = 8. When dealing with a batch scheduling problem, generally, such information is given as given information for all batches n=A, B, C, D, E, and by referencing it, calculations after formula (4) become possible. Note that batches A, B, C, D, E shown in FIG. 6 are also used as common examples in FIGs. 7 to 9, which will be described later.
[0033] Equations (4) to (6) are the objective function H time The time when the Nth batch processing is completed (i.e., the time required to process all N batches) is defined as equations (4) and (5), but since this definition requires processing such as a max function that cannot be processed by quantum circuits, a modified version such as equation (6) is used to make it a term that can be processed by quantum circuits. The larger the value of equation (6), the shorter the total processing time and the better the batch scheduling results.
[0034] Equation (7) is the objective function H over is defined as the sum of the number of processes in which batch processing is being performed in parallel at each unit time (each time t). The higher this value, the more the computational resources used for batch scheduling are utilized per unit time. Equation (8) is the objective function H fair It is defined as the sum of the start times of batch processes (read times, which are the start times of batch processes) aiming for a result where as many batch processes as possible are already completed at a certain time. The smaller this value, the better the scheduling result.
[0035] As mentioned above, equations (4) to (8) are examples of objective functions that define the evaluation criteria for determining a better scheduling result and enable the output of the evaluation value. Equations (9) to (13) are examples of functions that represent the constraints imposed on the batch scheduling problem. Equation (9) is the constraint H row Each batch needs to be processed only once (i.e., processing 0 times or more than once is prohibited). Equations (10) to (13) are the constraints H in ,H onout ,H out Equation (10) is the constraint that input processing (batch read processing) and input processing, equation (11) is the constraint that output processing (batch write processing) and output processing, and equation (12) is the constraint that input processing and output processing do not overlap at the same time. These are constraints that prohibit simultaneous input processing / output processing in a computer when a (classical) computer that performs batch processing accesses a database to read and write. Equation (13) is the constraint H fin The constraint that the outputs of each batch do not overlap (decision variable x nt In order to validate the constraint that prohibits the existence of batches whose total processing time does not exceed the maximum time T after time T+1, which is outside the range of the N × T matrix in which the totals are stored, the total processing time is set to be valid.
[0036] Equation (14) is a Hamiltonian H obtained by multiplying the objective functions and constraints in the above equations (6) to (13) in order as H1 to H8 (three objective functions H1 to H3 and five constraints H4 to H8) by the corresponding weight parameters ω1 to ω8 as coefficients. By setting such a Hamiltonian H in the annealing device 10 (compiled in the control device 20 as the operation setting of the quantum circuit) and performing quantum annealing, the decision variable x nt The combination of H4, H5, H6, H7, H8 is obtained as the optimal solution for batch scheduling, and the batch processing order indicated by the combination is obtained as the optimal solution for batch scheduling. row,H in ,H inout ,H out ,H fin ) is 0, a feasible solution. Both the objective function and the constraints are Hamiltonian terms, and are the same in that they function as cost terms for obtaining the annealing result. The values of both the objective function and the constraints vary depending on the placement of each batch, but as for the constraints, when the value is 0, it is interpreted that the constraint is observed, and when the value is greater than 0, it is interpreted that the constraint is violated, and the interpretation (judgment) of whether these constraints are observed or not can be determined by the classical computer that receives the annealing results.
[0037] In addition, in Non-Patent Document 5, the first term in equation (14), H1=H time Since the compilation time of was significantly longer than that of the other terms, the first term H1 = H time In this case, the corresponding coefficient ω1 in equation (14) should be set to 0.
[0038] The example in Figure 6 is an example of a feasible solution for the scheduling result for five batches, n = A, B, C, D, E, and F, which minimizes the Hamiltonian H as shown in equation (14).
[0039] As an example of applying quantum annealing to a batch scheduling problem by an existing method, the elemental technologies and conceptual framework used in Non-Patent Document 5 have been outlined above. According to an embodiment of the present invention, it becomes possible to handle a large-scale batch scheduling problem by quantum annealing by utilizing the elemental technologies and conceptual framework of the existing method.
[0040] In this embodiment, in order to make it possible to handle this, the decision variable x, which is the cause of the difficulties in the existing technology, is indefinite and therefore requires trial and error to determine its appropriate value. ntDepending on whether or not there is an influence of the total number (M) of ∈{0,1}, the objective functions and constraints constituting the Hamiltonian are classified, and processing is performed according to the classification. Here, in the case of a batch scheduling problem, the decision variable x nt As mentioned above, the total number M of ∈{0,1} is the number of elements of the matrix of batch number N × time number T, M=N*T. Since the batch number N is a fixed value set in advance in the batch scheduling problem, the time number T (total time number T) is effectively the decision variable x nt It determines the total number M of ∈{0,1} (i.e., the total number of quantum bits required for quantum annealing processing, which is like the quantum computer version of the RAM size required to run a program on a classical computer), and directly affects the total number M.
[0041] ●Classification of objective functions Each objective function can be classified according to whether it depends on the total number M (whether appropriate evaluation using the objective function cannot be established unless an appropriate total number M is determined), and the model formula in Figure 5 can be classified as follows, so according to this classification result, the objectives corresponding to the objective function will be called objective Xobj and objective Yobj as follows. Objective function H for minimizing total processing time time →Depends on →The corresponding objective function H time The purpose in is called "purpose Xobj". Objective function H for maximum overlap over and the fair scheduling objective function H fair →Does not affect →Relevant objective function H over , H fair The purpose in is called "purpose Yobj".
[0042] ●Definition of terms The element name of the decision variable influenced by the objective Xobj defined as above (i.e., the decision variable that becomes indefinite due to the existence of the objective Xobj) is called the influence value of the objective Xobj. In this embodiment, the influence value of the objective Xobj is the number of hours T.
[0043] Classification of constraints Constraints can be classified according to whether they are related to the influence value of the objective Xobj (the number of hours T in this embodiment), and in the model formula in Fig. 5, they are classified as follows, with those that are related being called "objective Xobj incidental constraints" and those that are not related being called "objective Xobj non-incidental constraints." In other words, a constraint that requires consideration of whether it fits within the number of hours T is an "objective Xobj incidental constraint," and one that does not need to be considered is an "objective Xobj non-incidental constraint."
[0044] In other words, the batch start count constraint and the batch completion constraint are related to the influence value of the objective Xobj and correspond to the objective Xobj-related constraints. The batch start count constraint is set by the decision variable x nt is one-hot (takes the value 1 only once, and all other times takes the value 0). Also, the batch completion constraint is a constraint that the elements are within the range of the influence value of the objective Xobj.
[0045] On the other hand, the constraint that parallel processing is not possible is not related to the influence value of the objective Xobj, and corresponds to a non-attachment constraint to the objective Xobj.
[0046] Hereinafter, the details of the processing of each functional block in Fig. 2 will be described while describing each step of this embodiment in Fig. 3 and Fig. 4. Note that the overall outline of each step can be described as the following steps 1 to 5. Step 1: Formulate a combinatorial optimization problem to create a sequence of batches with no gaps (a partial solution, meaning that the number of gaps, k, is better, as small as possible). Step 2: Use quantum annealing to find the solution that minimizes the energy of the equation (there may be multiple solutions). Step 3: Choose a solution whose batches do not overlap in the partial solution, and consider that partial solution as one batch. Step 4: Repeat from step 2 with the remaining batches. Step 5: When no annealing solution is found, arrange the remaining batches into a schedule.
[0047] Step 1 corresponds to steps S2, S4, and S6 in Fig. 3. Steps 2, 3, and 4 correspond to step S8 in Fig. 3, and the whole corresponds to steps S20 to S in Fig. 4. Step 5 corresponds to step S10 in Fig. 3.
[0048] FIG. 7 lists examples of the terms of the Hamiltonian that can be used in the quantum annealing of this embodiment. As listed, in this embodiment, the objective function H obj and a constraint H1 that each batch of formula (21) is used once or not once (note that the constraint H1 allows a partial solution in which only a part of all N batches is used, and in this embodiment, a partial solution can be obtained even under a small T, which makes it possible to apply the greedy method in this embodiment), a constraint H2 that the input processes of each batch of formula (22) do not overlap (corresponding to the same content as the conventional formula (10)), a constraint H3 that the first batch outputs of formula (23) do not overlap, and a constraint H4 that the second and subsequent batch outputs of formula (24) do not overlap We can use the following constraints: constraint H4 that the input and output processes of each batch in equation (25) do not overlap (constraints H3 and H4 are equivalent to the conventional equation (11) under differently defined decision variables); constraint H5 that the input and output processes of each batch in equation (25) do not overlap (corresponding to the conventional equation (12)); and constraint H6 that no batch starts after the end of the first batch in equation (26) (constraint H6 also contributes to obtaining a partial solution even for small T, as will be shown in example EX2 of Figure 8 below).
[0049] The mathematical expressions in FIG. 7 according to this embodiment have slightly different definitions from those listed in FIG. 5 of the conventional method. In the expression (14) in FIG. 5, the terms listed in the expressions (4), (7) to (13) are called H1 to H8 for convenience, but these are different from the H1 to H5 listed in FIG. 7. In this embodiment, the decision variable x (Xt) and the decision variable y(X) For H listed in Fig. 7 obj and minimize the Hamiltonian H, which is the sum of H1 to H5.
[0050] FIG. 8 shows the decision variable x (Xt) and decision variable y (X) A schematic example of the above is shown as Example EX2. That is, Example EX1 is an example of the optimal solution that is finally obtained, and Example EX2 is an example of the intermediate result when applying the greedy method to reach this optimal solution, where the decision variable x (Xt) and decision variable y (X) As can be seen from this example, the portion P1 of the scheduling result of example EX1 that is related to batches B, C, and D is the same as the portion P2 of the batches B, C, and D of example EX2. As will be described in detail later, in this embodiment, the portion P2 of the batches B, C, and D of example EX2 that constitutes the intermediate solution obtained by applying the greedy method is treated as another batch Q (for example, if the initial batch is five batches A, B, C, D, and E, a batch Q different from any of these) and the batch set is updated while the process is repeated, so that the final scheduling result as in example EX1 can be reached.
[0051] Decision variable x in Figure 8 (Xt) and decision variable y (X) Both of these define the batch schedule, and the decision variable y (X) is used to determine the batch X (vertical direction) that is located at the top of the batch schedule and that will be read the earliest. In the example EX2 in Figure 8, batch E of five batches X = A, B, C, D, E corresponds to the top batch, and the decision variable y (X) =(0 0 0 0 1) T (T is transposed). Decision variable x (Xt) is the decision variable y (X) The purpose of this is to store the subsequent batches in the decision variable y (X) After excluding the batch read process determined by (in the case of batch E, the read process for 3 hours), the decision variable y (X)Only the calculation and writing process of the decision variable x (Xt) The object is to store the information in a storage device.
[0052] Decision variable x as shown in Figure 8 (Xt) and decision variable y (X) When using (X) When the read processing time of a batch specified by is L, and there is a constraint that the read processing does not overlap between batches, the number of quantum bits required by the quantum annealing device can be effectively reduced by N*(L-1) bits (compared to the case of the decision variable defined in Figure 5). In the example of Figure 8, the batch number N=5 and the decision variable y (X) Since the batch read processing time specified by is L=3, we can save N*(L-1)=5*(3-1)=10 qubits, as shown by the diagonal line.
[0053] That is, in the case of the decision variables defined in Figure 5, the decision variable x nt ∈{0,1}, all N batches are treated equally. In contrast, the decision variable x (Xt) and decision variable y (X) In this case, only the first batch is used as the decision variable y (X) By extracting and distinguishing between these, it is possible to avoid wasting N*(L-1) bits as computational resources in the quantum annealing device.
[0054] In addition, when constructing a reusable composite batch or a non-reusable composite batch, the decision variable x (Xt) and decision variable y (X) That is, in the case of the example EX2 in FIG. 8, the reused composite batch and the non-reused composite batch are configured as a composite of the batches "E→C→B→D".
[0055] <Step S2... Purpose Reinterpretation Unit 21> In step S2, the objective reinterpretation unit 21 reinterprets the objective (using the objective Xobj in the classification of the objective function) to create an alternative objective that can be solved by the greedy method. Specifically, the objective Xobj in the existing method is reinterpreted to make it a constraint that can be evaluated by counting up. The significance (motivation) of the reinterpretation is as follows. That is, in order to sequentially repeat the loop processing while substituting discrete values as in the greedy method, an initial value is required. Here, the initial value k=0 is the variable k that controls the loop processing of the greedy method, and if it is a discrete value, it can be evaluated by counting up k=0, 1, 2, .... However, since the minimum value is not assumed in the objective function as it is, it cannot be counted up, and it cannot be processed in a form that conforms to the framework of the loop processing of the greedy method that is intended to be used in the present invention. For this reason, the objective function is reinterpreted to make it a constraint that can be evaluated by counting up.
[0056] Here, the constraints (after reinterpretation) that can be evaluated by counting up correspond to the antonym of the objective function (before reinterpretation) that cannot be evaluated by counting up, and are constraints that behave as the constraints become weaker as the control variable k of the greedy method increases, k=0, 1, 2, .... (When applying the greedy method, it means that a partial solution obtained with the smallest possible value of k is better as a partial solution that constitutes the scheduling result, but when k is smaller, the constraints are also larger, so it is not necessarily the case that a partial solution that corresponds to a feasible solution will be found. For this reason, this embodiment employs a method of gradually increasing k to obtain a better partial solution under the largest possible constraint as a feasible solution.)
[0057] That is, in this embodiment, as per the classification of the objective functions, the objective Xobj before reinterpretation in the existing method is "to complete all batch processing as soon as possible", and in the existing method, the objective function H Xobj H as Xobj =H timeHowever, since this is an objective function that cannot be evaluated by counting up, the following constraint C, which can be evaluated by counting up, is set as a constraint that functions as an alternative objective Xalt for the objective Xobj. Xalt should be used instead.
[0058] Constraint C for batch scheduling problems Xalt The matrix x with N rows and T columns represents the batch scheduling result. nt In the above, the number of times that fall into the "gaps" where there is no input or output processing (times where there is no input processing (read processing) or output processing (write processing), specifically, times before the start of a batch process, times during calculation, or times after the completion of a batch process) is k. (The smaller k is, the better the scheduling result.)
[0059] That is, in this embodiment, the objective function H time Rephrasing this, we obtain the constraint H that minimizes the gap in equation (20). obj We use this constraint H obj In other words, this is a constraint according to the number k of gaps. In this embodiment, by using k as a loop control variable as described later, the constraint H obj The constraint is that the value of the number k set in (20) must be k = 0, 1, 2, ... In other words, when the number of gaps is k, the constraint H obj = 0, which means that the constraint is satisfied. (Note that the term before the final term "-k" in formula (20) extracts the number of gaps.) Here, a gap is the number of times when there is no input processing or output processing. For example, in example EX2 in FIG. 8, the two times t=6 and 7 are outside the processing time for batches A and E, and batches B, C, and D are in the process of calculation, so these times correspond to "gap" times when there is no input processing or output processing for all of batches A, B, C, D, and E. Therefore, the constraint H that applies when k=2 is satisfied. obj It becomes.
[0060] <Step S4...Greedy loop design unit 22> In step S4, the greedy loop design unit 22 reflects the constraints that have been reinterpreted from the objective X as described above. That is, the Hamiltonian H X However, if all of these are replaced in this embodiment, the Hamiltonian term to be minimized cannot be defined (formulation is impossible), so the greedy loop design unit 22 reflects the constraints in the loop processing of Fig. 4, which will be described later. By reflecting the constraints, a solution that takes the constraints into account can be obtained.
[0061] The details will be described later, but the batch startup count limit H row should be reflected in the condition change confirmation unit 241. Also, the batch completion constraint H fin These constraints H row and constraint H fin may be omitted.
[0062] <Step S6…Ceremony Section 23> The formula 23 is a constraint C of the alternative objective Xalt obtained by reinterpreting the objective Xobj. Xalt With objective Y (objective Y is the one that has not been reinterpreted as an objective other than objective X), and objective X non-attachment constraints, the Hamiltonian is formulated as a QUBO equation (as mentioned above, equivalent to the Ising model). In other words, the Hamiltonian H is Constraint C Xalt As a result, the total processing time minimization function H time The constraint H in equation (20) obj (Note that the same content can be expressed by the formula shown in FIG. 5 when the decision variables are defined, but the formula is omitted here.) The first objective Y is the maximum overlap objective function H over and, The second objective of Y is the fair scheduling objective function H fair and, As non-parallel constraints of objective X, the equations (11), (12), and (13) are constraints H that cannot be processed in parallel.in ,H inout ,H out (When using Figure 8 to define the decision variables, use equations (22), (23), (24), and (25)). Constraint H1 of equation (21) that each batch is used once or not once, and constraint H6 of equation (26) that no batch starts after the end of the first batch. (among these, the constraint H obj (Objective X, the constraint H row and the batch completion constraint H fin is not used in formulating the equation.)
[0063] Note that only a part of the objective function of the objective Y may be used, or none of it may be used at all. (Constraint H obj However, in the greedy loop processing, the gap k is set so that it behaves like an objective function. In the example of FIG. 7, the objective function H over and the fair scheduling objective function H fair In addition, the objective function of objective Y is shown as equations (7) and (8) in Fig. 5, and the decision variables in the case of the definition in Fig. 8 can also be expressed by equations that have the same content as equations (7) and (8), but the equations are omitted here.
[0064] In this embodiment, the constraint H obj is the constraint H according to the variable k. obj Similarly, let H[k] be the Hamiltonian corresponding to the loop control variable k=0,1,2,…,K. (That is, H[k] is the constraint H obj [k], and constraint H obj [k] is formulated by the formulating unit 23 as a candidate for a partial solution that is a feasible solution.)
[0065] <Step S8...Greedy loop processing unit 24> In the greedy loop processing unit 24, for the value (k=0, 1, 2, ..., K) of the loop processing control variable k by the greedy method at the time of the processing, the annealing apparatus 10 is instructed to process the corresponding Hamiltonian H[k], and the result is repeatedly processed to obtain a final result. Specifically, the processing of each of steps S20 to S38 in Fig. 4, which are details of step S8, is performed as follows, thereby performing double-loop processing for the control variable k.
[0066] In the first step S20, the loop processing control variable k is set to the initial value k=0 (corresponding constraint H obj ([k=0] corresponds to the strictest constraint with zero gap), and proceeds to step S22. In step S22, the Hamiltonian H[k] for the variable value k is selected as the loop condition, and then proceeds to step S24. In step S24, the annealing apparatus 10 performs processing under the Hamiltonian H[k] for the variable value k selected as the loop condition, and the optimal solution is obtained as a result, and then proceeds to step S26.
[0067] In step S26, the optimal solution obtained in step S24 is examined. The examination can be performed based on whether or not the synthesis in step S30 described later is possible (whether or not a meaningful synthesis is possible, not a meaningless synthesis). The technical significance of this is the reinterpretation of the constraint H obj Because [k] is used, even if the annealing condition is satisfied, the solution may be inappropriate, and this is examined in step S26. Here, satisfying the annealing condition means satisfying the constraint H obj In addition to satisfying the above, other constraints (e.g., the constraint H that cannot be processed in parallel as a non-parallel constraint of objective X) are also satisfied. in ,H inout ,H out ) are also satisfied, and other objective functions used (for example, the objective function H with the maximum overlap corresponding to objective Y) are also satisfied. over and the fair scheduling objective function H fair The objective function is also minimized if there exists a given objective function (sum of all the objective functions).
[0068] Specifically, in step S26, if the optimal solution obtained in step S24 is composed of only one element (one batch), it is determined to be inappropriate, and if the optimal solution obtained in step S24 is composed of two or more elements (two or more batches), it is determined to be appropriate. (This determination is made in step S26 because in step S30 described later, the optimal solutions are synthesized and a state composed of two or more batches is converted into one batch.)
[0069] In step S28, it is determined whether the inspection result obtained in step S26 was appropriate or not, and if it was appropriate, the process proceeds to step S30, and if it was inappropriate, the process proceeds to step S280, where the value of variable k is incremented by 1, and then the process returns to step S22. Here, if it was inappropriate, a feasible solution (valid solution) was not obtained by annealing, so the constraint is relaxed by incrementing k in step S280. Note that the following control may be performed as options 1 and 2 in this embodiment.
[0070] (Option 1) For example, suppose three solutions have the same energy in the optimal solution of annealing with k=0, and they correspond to a composite batch along with "ABC", "DEF", and "ABF". In this case, "ABC" and "DEF" do not use the same batch at the same time (the component batches do not overlap), so the inspection results for both are OK (i.e., "ABC" and "DEF" are adopted as the composite batch), and the process proceeds from step S28 to S30. On the other hand, "ABF" is in a competing relationship with "DEF" because the same F is included in "ABF" (and the same AB as "ABC" is included in "ABF" and they compete), so "ABF" is not adopted.
[0071] In other words, if there are multiple optimal annealing solutions whose energies are determined to be the same by threshold determination, and among these optimal solutions there are any that do not have overlapping component batches, it is possible to adopt all of the multiple optimal solutions that do not overlap.
[0072] (Option 2) As in the above example, suppose that three solutions have the same energy in the optimal solution of annealing with k=1, and they are in a composite batch along with "ABC", "DEF", and "ABF". In this case, it is worth annealing with k=0 with "ABC" and "DEF", which do not have overlapping element batches, and the remaining batches. This is because "ABC" and "DEF" are new batches that allow gap 1, so annealing with the remaining batches that contain both "ABC" and "DEF" involves a search for gap 2, which was not considered last time. For this reason, when k=1, it is acceptable to return to k=0 and anneal the corresponding batch, and if an optimal solution is obtained, adopt this.
[0073] In step S30, the optimal solution whose examination result is deemed appropriate in step S28 is configured as a schedule of two or more batches, and so these are combined into one virtual batch to form a combined batch. Here, the two or more batches (which may be the combined batch) that make up the original optimal solution combined into the combined batch are excluded from the processing targets in the subsequent loop processing.
[0074] On the other hand, there are cases where a composite batch is permitted to be further composited with other batches and used as a scheduling target in subsequent loop processing (for distinction, it is called a "reusable composite batch"), and cases where it is prohibited from being further composited with other batches and used (for distinction, it is called a "non-reusable composite batch"). The method of this distinction will be described later.
[0075] For example, if three batches F, G, and H that make up the optimal solution are combined to become combined batch I, the batches F, G, and H before the combination will not be referenced as scheduling targets in subsequent loop processing. Furthermore, combined batch I may or may not allow further combination with other batches. When obtaining the final scheduling result, information on the history of the combined batch is referenced.
[0076] The synthesis batch may be constructed as follows: The time range occupied by the composite batch is set to be from the earliest processing start time of the batches constituting the optimal solution to the latest processing completion time of the batches constituting the optimal solution. ●The calculation process part of the composite batch (the three stages of reading, calculating, and writing appear in this order) is set to the range of the composite batch's time range that does not overlap with the reading or writing process of at least one of the batches that make up the optimal solution. If the non-overlapping range is not an empty set and exists, it corresponds to a "reused composite batch." Note that if there are multiple non-overlapping ranges, the longest range among them may be used, or other criteria may be used to set the range that is located at the back of the ranges, for example. The read and write processing locations of the composite batch are respectively located before and after the calculation processing defined above.
[0077] In addition, if the calculation processing location cannot be set in the synthesis batch (if the calculation processing location becomes an empty set), it corresponds to a "non-reusable synthesis patch". Since non-reusable synthesis batches will not be used as targets for annealing in the future, there is no need to define the three stages of reading, calculation, and writing.
[0078] FIG. 9 is a diagram showing an example of obtaining a reused synthesized patch from an optimal solution, and FIG. 10 is a diagram showing an example of obtaining a non-reused synthesized patch from an optimal solution.
[0079] In the example of Figure 9, the optimal solution is composed of batches A, B, and C, and the processing time range is from t = 0 to 15, so the time range of the resulting reused composite batch is also t = 0 to 15. Of the three candidate locations for calculation processing, the longest location, t = 12 to 14, is set as the location for calculation processing. By doing so, the read process will be performed from t = 0 to 11 before the calculation processing, and the write process will be performed at t = 15 after the calculation processing.
[0080] FIG. 10 shows an example of obtaining a non-reusable composite patch from the optimal solution. The optimal solution is composed of batches A, B, C, D, and E, and the processing time ranges from t=0 to t=16. However, since the location of the calculation process cannot be set, the composite batch becomes a non-reusable composite batch.
[0081] In step S32, the condition change confirmation unit 241 judges whether or not there is a condition change, and then proceeds to step S34. In step S34, if it is judged that there is a condition change in step S32, the process proceeds to step S36, and if it is judged that there is no condition change (this corresponds to the case where there are no more batches that can be synthesized as a convergence judgment of the repeated processing of the greedy method, or where the upper limit K preset for the control variable k has been reached), the process proceeds to step S38. In step S36, the necessary conditions are adjusted, and the value of the loop processing control variable k is reset to the initial value 0, and then the process returns to step S22, and the loop processing of the greedy method is repeated for the reset k=0.
[0082] Since the optimal solution of this loop was reduced to one element in the previous step, it may affect the constraints of the original problem. This step (steps S32 and S36) corrects this. For example, regarding a synthesis batch, whether it is a recycled synthesis batch or a non-recycled synthesis batch is recorded and used as information for future processing. For example, if an upper limit is set on the number of times that a batch can be synthesized, whether or not the upper limit has been reached is recorded and used as information for future processing.
[0083] If there has been a change, the conditions are adjusted (flowchart step S36). For example, if the number of times an element (batch) can be combined is restricted to one, The synthesized elements are excluded from the annealing process so that they will not be used in the next greedy loop. For example, if the number of times each element can be combined is restricted by list management, The number of times an element can be composed is updated by subtracting the number of times it has actually been composed. For example, if there is a constraint that makes an element unavailable when a certain element is used, The element's composable list is updated to conform to the constraint. For example, if the constraint is the number of elements that can be executed in parallel, Since there are some parts in parallel in the composite batch, we add a constraint to represent that. For example, in the example of Figure 9, when three batches A, B, and C are composited, if the upper limit of parallel execution (calculation) is 3, there are already three calculations in parallel at t=5, so we add a constraint that does not allow the calculation part of another batch to overlap with that part.
[0084] If the original batch scheduling problem does not have constraints such as those exemplified above, the condition adjustment in step S36 is not necessary.
[0085] In step S38, the optimal solution determination unit 242 determines the final optimal solution to the batch scheduling problem from the results of the above greedy method loop processing, and ends the flow of Fig. 4. In step S10 of Fig. 3, the result output unit 25 outputs the result obtained by the optimal solution determination unit 242.
[0086] The optimal solution determination unit 242 rearranges the batches (each batch corresponds to either a reused combined batch, a non-reused combined batch, or an original single batch that has not been combined) that constitute the optimal solution obtained in the above greedy algorithm loop processing, and corrects and determines the optimal solution to the original batch scheduling problem. In this embodiment, the rearrangement may be in any order because the greedy algorithm is applied. As a predetermined order, for example, the non-reused batches may be arranged in the order in which they were combined, and the uncombined batches may be arranged at the end, or the combined batches may be arranged in the order in which they were combined (here, the reused combined batches may be arranged first and the non-reused combined batches may be arranged after), and the uncombined batches may be arranged at the end.
[0087] 11 is a diagram showing an example of the rearrangement, and shows an example in which K=3 times is the final loop process, and as a result, three batches are obtained as the result of the original six-batch scheduling problem: a reused composite batch of A, C, and B, a non-reused composite batch of D and E, and an individual batch of F (a batch in its original state that has not been subjected to the composition process).In this case, as shown on the lower side, the results can be obtained by rearranging the batches in any order, for example, in the order of the rows of the matrix, as "reused composite batch of A, C, and B" → "non-reused composite batch of D and E" → "individual batch of F", as the result of the original six-batch scheduling problem.
[0088] In other words, if the "reused composite batch of A, C, B" is a composite of the results of "A → C → B," and the "non-reused composite batch of D, E" is a composite of the results of "D → E," then in the example of Figure 11, by rearranging the batches and referring to the state before the composition, the result of the original 6-batch scheduling problem can be obtained as "A → C → B → D → E → F."
[0089] As shown in FIG. 11, in order to obtain the optimal solution for “A→C→B→D→E→F” without applying this embodiment, the decision variable x nt A matrix of at least 6 × 42 = 252 is required to store ∈{0,1}, where N is the number of batches × T is the number of times. In practice, for example, 6 × 60 is required, and trial and error is also required. However, in this embodiment, if a matrix of about 6 × 20 is prepared, quantum annealing processing can be performed using the greedy method to obtain the optimal solution.
[0090] As described above, according to this embodiment, the target reinterpretation unit 21 eliminates the need to provide excessive leeway in the objective function. In other words, there is no need to set a large value for time T that can cover the entire actual scheduling. In this case, however, the problem is no longer solvable by the annealing method. To address this, the loop condition selection process (step S22) makes it possible to apply annealing to part of the problem. The greedy loop part processing unit 24 applies annealing recursively, making it possible to solve the entire problem. The optimal solution examination process (step S30) makes it possible to loop the search constant k in integer increments starting from 0.
[0091] Various supplementary, alternative, and additional examples will be described below.
[0092] (1) According to the present embodiment, it is possible to contribute to solving optimization problems that require excessive power consumption, etc., when solved by a classical computer by using a quantum computer with less energy consumption, and to reduce carbon dioxide emissions by saving energy resources. As a result, according to the embodiment of the present invention, it is possible to contribute to Goal 13 of the Sustainable Development Goals (SDGs) led by the United Nations, which is to "take urgent action to combat climate change and its impacts."
[0093] (2) Various types of batch scheduling problems can be handled in this embodiment. For example, the present embodiment can be applied to a batch processing schedule in an information system, the operation of each manufacturing device in product manufacturing, a production volume schedule, a delivery order and loading amount in distribution, a schedule of transportation vehicles used, and a schedule of the operation time and processing tasks of each person in personnel employment. In addition, this embodiment is not limited to the batch scheduling problem described above, but can be applied when solving a combinatorial optimization problem in which the factor dependent on the number of decision variables is also the objective function to be minimized. For example, this embodiment can be applied when performing a task of tiling blocks in a box existing in a three-dimensional space with as few gaps as possible, while defining the decision variables in a height-dependent form and simultaneously setting an objective function for minimum height. Note that the height may be either the width or the depth, or a combination of both. In addition, the space may be three or more dimensions. Here, examples of objects to be tiled include tiling packages on packaging boxes / delivery vehicle loading platforms in the postal business, tiling data information on data storage devices (data placement optimization), tiling tiles or the like in a target space in interior and exterior work, and tiling crop planting space in the agricultural and livestock industry.
[0094] (3) FIG. 12 is a diagram showing an example of the hardware configuration of a general (classical) computer device 70. The control device 20 as a classical computer device in the quantum annealing system 100 can be realized as one or more computer devices 70 having such a configuration. When the control device 20 is realized by two or more computer devices 70, information required for processing may be transmitted and received via a network. The computer device 70 includes a CPU (Central Processing Unit) 71 that executes predetermined instructions, a GPU (Graphics Processing Unit) 72 as a dedicated processor that executes part or all of the execution instructions of the CPU 71 in place of the CPU 71 or in cooperation with the CPU 71, a RAM 73 as a main storage device that provides a work area for the CPU 71 (and the GPU 72), a ROM 74 as an auxiliary storage device, a communication interface 75, a display 76 that performs display output, an input interface 77 that accepts user input via a mouse, keyboard, touch panel, etc., a speaker 78 that performs audio output, and a bus BS for transmitting and receiving data between them.
[0095] Each functional unit of the control device 20 can be realized by a CPU 71 and / or a GPU 72 that reads a predetermined program corresponding to the function of each unit from a ROM 74 and executes it. Both the CPU 71 and the GPU 72 are a type of arithmetic device (processor). Here, when display-related processing is performed, a display 76 also operates in conjunction with the GPU 72, when communication-related processing related to data transmission and reception is performed, a communication interface 75 also operates in conjunction with the GPU 72, and when audio output-related processing is performed, a speaker 78 also operates in conjunction with the GPU 72. [Explanation of symbols]
[0096] 100...quantum annealing system, 10...quantum annealing device (annealing device), 20...quantum annealing control device (control device)
Claims
1. A quantum annealing control device configured with a classical computer that controls a quantum annealing device to repeatedly solve an optimization problem using a greedy method, A first process of setting a conversion constraint by converting a part of an objective function constituting the optimization problem into a constraint; A second process of instructing the quantum annealing apparatus to minimize a cost based on at least the reinterpretation constraint and obtaining an optimal solution to the optimization problem as a quantum annealing result; A quantum annealing control device characterized by repeatedly executing the second process, relaxing the strength of the reinterpretation constraint for each iteration, updating the results in each iteration to a composite element by combining the elements that constitute the results, and obtaining an optimal solution to the optimization problem based on the elements and / or the composite element that constitute the optimal solution at the time the iterative process converges.
2. The optimization problem is a batch scheduling problem, and each batch has a required time for a read process, a calculation process, and a write process, The quantum annealing control device according to claim 1, characterized in that in the first process, the reinterpretation constraint is set so as to specify the number of gap times defined as times that do not correspond to a read or write state for all batches, as part of the objective function, which is an objective function that minimizes the total processing time.
3. The quantum annealing control device according to claim 2, characterized in that, when repeatedly executing the second process, the number corresponding to the gap time in the rereading constraint is incremented from an initial value of zero for each repetition.
4. The quantum annealing control device according to claim 3, characterized in that, in each iteration of executing the second process, a partial solution that is a scheduling result of multiple batches is obtained to minimize the cost, and one composite batch is obtained from the partial solution.
5. The quantum annealing control device according to claim 4, characterized in that when there is a portion that does not overlap with the read processing or write processing in at least one of the element batches that make up the composite batch, the location of the calculation processing of the composite batch is set based on that portion, and the composite batch is continuously used as a candidate for constituting a partial solution to the scheduling problem obtained in each repetition of the second process.
6. The quantum annealing control device according to claim 4, characterized in that if there is no portion that does not overlap with the read process or the write process in at least one of the element batches that constitute the composite batch, the composite batch is excluded from candidates that constitute a partial solution to the scheduling problem obtained in each repetition of the second process.
7. The optimization problem is a batch scheduling problem, In the second process, as an objective function other than the part constituting the optimization problem, A maximum overlap objective function defined as the sum of the number of processes in which the batch processes are being processed in parallel; The objective function of fair scheduling is the sum of the read times, which are the start times of batch processing, and The quantum annealing control device according to claim 2, characterized in that at least one of the following is used.
8. The optimization problem is a batch scheduling problem, In the second process, the constraints for determining the cost further include: The quantum annealing control device according to claim 2, characterized in that a parallel processing impossible constraint is used, which is defined as a read process and a read process do not overlap, a read process and a write process do not overlap, and a write process and a write process do not overlap, at the same time in two different batches.
9. The quantum annealing control device according to claim 2, characterized in that, when repeatedly executing the second process, the number corresponding to the gap time in the reinterpretation constraint is incremented from an initial value of zero for each repetition, and when a partial solution is obtained as a feasible solution, the number corresponding to the gap time in the reinterpretation constraint is reset to the initial value of zero.
10. In the second process, the quantum annealing apparatus is caused to process the following decision variables: A first decision variable that specifies a first batch that constitutes the schedule; A second decision variable having information on only the calculation process and the writing process, omitting the reading process, for a first batch designated by the first decision variable, and having information on the reading process, the calculation process, and the writing process for the second and subsequent batches; The quantum annealing control device according to claim 2, characterized in that:
Citation Information
Patent Citations
Method and program of calculating approximate solution of scheduling problem
JP2022011972A
Simulation method of installation location of wide area terminal, program, and simulation device
JP2021034996A
Information processor, information processing method, and information processing program
JP2022014282A
Input sequence optimizing device, input sequence optimizing method and input order optimizing program
JP2023040451A
Method and program for calculating approximate solutions to scheduling problems
JP6778942B1