Optimization system, optimization method and optimization program
The optimization system uses an annealing unit and mixed integer programming optimization unit to quickly derive high-quality solutions for mixed binary quadratic programming problems with linear constraints, enhancing convergence by treating integers without linear relaxation and employing L1 norm minimization.
Patent Information
- Application Number
- JP2024093963
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-10
- Publication Date
- 2025-12-22
AI Technical Summary
Existing methods for solving mixed binary quadratic programming problems with linear constraints, such as ADMM combined with annealing and Hildreth algorithms, often take a long time to converge, making it difficult to obtain high-quality solutions quickly.
An optimization system that combines an annealing unit with a mixed integer programming optimization unit, using solvers to perform alternating searches to reduce the objective function value while satisfying constraints, and employing L1 norm minimization in the second block of ADMM to promote sparsity and robustness.
This approach speeds up convergence to an optimal solution by treating integer variables without linear relaxation, effectively addressing the slow convergence issues of existing methods and providing high-quality solutions efficiently.
Smart Images

Figure 2025185616000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an optimization system, an optimization method, and an optimization program. [Background technology]
[0002] As a method for searching for optimal solutions to optimization problems, a solution method for finding constrained mixed binary quadratic programming problems using ADMM (Alternating Direction Method of Multiplers) is known. Patent Document 1 presents a method for solving mixed binary quadratic programming problems with linear inequality constraints by alternately executing an optimization algorithm (an optimization method such as an annealing method) that efficiently solves unconstrained mixed binary quadratic programming problems (QUBO (Quadratic Unconstrained Binary Optimization)) and a continuous optimization algorithm using the Hildreth algorithm for the augmented Lagrangian function in ADMM.
[0003] ADMM can efficiently solve each element of the problem to be solved by using an appropriate optimization method for each element.
[0004] Patent Document 1 proposes a solution method using ADMM as a technology for satisfying linear inequality constraints in annealing, and describes a method for solving mixed binary quadratic programming problems that satisfy constraints by processing linear inequality constraints with the Hildreth algorithm using an ADMM that incorporates annealing and the Hildreth algorithm using the Lagrangian function method. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Japanese Patent Publication No. 2023-121046 Summary of the Invention [Problem to be solved by the invention]
[0006] Under general conditions, ADMM does not necessarily reach a feasible solution at the end. Therefore, to achieve a feasible solution, the Feasibility Pump method is used as an optimization heuristic to round continuous results to integer values.
[0007] To solve mixed binary quadratic programming problems, the solution method using ADMM shown in Patent Document 1 specifically performs "annealing" in the first block and "Hildreth algorithm" in the second block, and then obtains a feasible solution using the feasibility pump method based on the optimal solution obtained in the second block. However, when performing the Hildreth algorithm and feasibility pump method, it takes a long time to calculate until the solution converges, making it difficult to obtain a high-quality solution quickly.
[0008] The present invention has been made in light of this background, and aims to deal with mixed binary quadratic programming problems with linear constraints that are difficult to satisfy using annealing alone by treating integers while retaining their integer properties without linearly relaxing integer variables, and by considering a linear objective function in the second block of the ADMM, to speed up convergence to an optimal solution in the second block as well. [Means for solving the problem]
[0009] An optimization system according to one aspect of the present invention is an optimization system that searches for an optimal solution to a mixed binary quadratic programming problem involving constraints, the optimization system comprising: an annealing unit that performs a first search for an annealing solution that reduces a value of an objective function of the mixed binary quadratic programming problem; and a mixed integer programming optimization unit that performs a second search for a satisfying solution that reduces a value of an objective function of a linear expression in the mixed binary quadratic programming problem as a mixed integer programming problem while satisfying the constraints, wherein the annealing unit uses a first solver to perform the first search for the annealing solution so as to reduce the value of the objective function in the vicinity of the constraint satisfying solution, and the mixed integer programming optimization unit uses a second solver to perform the second search for the satisfying solution in the vicinity of the annealing solution obtained by the annealing unit, and performs repeated processing of the first search and the second search to obtain the optimal solution.
[0010] Other problems and solutions disclosed in the present application will be made clear in the detailed description and drawings. [Effects of the Invention]
[0011] This invention quickly derives high-quality solutions to mixed binary quadratic programming problems with linear constraints that are difficult to satisfy using annealing alone. Furthermore, by treating integer variables without linear relaxation and by treating integers while preserving their integer properties, and by considering a linear objective function in the second block of the ADMM, it is possible to speed up convergence to an optimal solution in the second block as well. [Brief explanation of the drawings]
[0012] [Figure 1] FIG. 1 is a conceptual diagram illustrating the relationship between a variable array and an objective function value of an optimization problem. [Figure 2] FIG. 1 is a diagram illustrating a functional configuration of an optimization system according to an embodiment. [Figure 3] FIG. 1 is a diagram illustrating a hardware configuration of an optimization system according to an embodiment. [Figure 4] 1 is a flowchart of an optimization process in an optimization system according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments will be described with reference to the drawings. The embodiments, including the drawings, are examples for explaining the present invention. In the embodiments, appropriate omissions and simplifications have been made for clarity of explanation. Unless otherwise specified, each component of the embodiments may be singular or plural.
[0014] The same or similar components are given the same reference numerals, and descriptions of the previously described components in later embodiments may be omitted or may focus on the differences.
[0015] When there are multiple identical or similar components, they may be described by using the same reference numeral with different subscripts. When there is no need to distinguish between these multiple components, the subscripts may be omitted.
[0016] In the examples, there may be cases where processing performed by executing a program is described. A computer performs processing defined by a program using a processor (e.g., a CPU (Central Processing Unit), a GPU (Graphics Processing Unit)) and storage resources (e.g., memory).
[0017] Therefore, the entity that executes the program and performs the processing may be a processor. Similarly, the entity that executes the program and performs the processing may be a controller, device, system, computer, or node that has a processor. The entity that executes the program and performs the processing may be any computing unit, and may include a dedicated circuit that performs a specific process.
[0018] Here, the dedicated circuit is, for example, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a complex programmable logic device (CPLD).
[0019] A program may be installed on a computer from a program source. The program source may be, for example, a program distribution server or a non-transitory storage medium readable by a computer. When the program source is a program distribution server, the program distribution server may include a processor and a storage resource for storing the program to be distributed, and the processor of the program distribution server may distribute the program to be distributed to other computers.
[0020] Furthermore, in the embodiments, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0021] In the following description, for example, the notation "A~" is equivalent to the notation "~" written directly above "A."
[0022] In the following embodiments, for example, in the system configuration, illustration and description of components other than the main components such as a processor and memory will be omitted, and illustration and description will focus on elements and processing related to the technology disclosed in the present application.
[0023] Consider the following equation (1) as a constrained mixed binary quadratic programming problem. Let the variables of the optimization problem be x1,…,x N Let N be the number of variables, and each variable x i Domain D of i Let x be either a binary value {-1, +1} or a continuous value [-1, +1]. i Domain D of i Which is the case is determined for each problem. The objective function H0 of the optimization problem is expressed by Equation 1. In other words, the objective function H is expressed as a quadratic expression of the variable x. In Equation 1, x=[x1,...,x N ] is an N-dimensional vector, J is an N×N symmetric matrix, and h is an N-dimensional vector. ξ(x)≦0 represents the inequality constraint that x must satisfy.
[0024]
number
[0025] In this method, first, the objective function H0(x) of the constrained mixed binary quadratic programming problem is classified into objective function terms that include quadratic expressions and objective function terms that include only linear expressions, as shown in Equation 2.
[0026]
number
[0027] Here, F2(x) is an objective function term that includes a quadratic equation, and F1(x) is an objective function term that includes only a linear equation. Using F2(x) and F1(x), H(x) and φ(x) are set as follows:
[0028]
number
[0029]
number
[0030]
number
[0031] Here, α is in the range of [0,1]. From the above equation, the objective function of Equation 1 can be rewritten as Equation 6 below.
[0032]
number
[0033] Next, a method for solving a constrained mixed binary quadratic programming problem using the alternating direction method of multipliers will be explained. As a constrained mixed binary quadratic programming problem, consider the following equation 7 using the previously mentioned equation 6.
[0034]
number
[0035] The function φ is a linear function. The set X:={{xi}i=1,···,n|xi∈Di}, where Di is a closed interval. This formulation includes QUBO (Quadratic Unconstrained Binary Optimization) and mixed-binary QP (Quadratic Programming). The indicator function IS for a set S is defined as follows:
[0036]
number
[0037] Here, independently of the function H, the function φ has a vector X~ as a variable, and the set X~:={x~∈R n |ξ(x~)≦0} is a convex set. Since ξ(x~) can be a linear function of x~, x~ is not necessarily a closed set.
[0038] Using number 8, number 7 can be expressed as follows:
[0039]
number
[0040] where A1 := In, A2 := -In, B := -In (In is the identity matrix).
[0041] The following extended Lagrangian function is defined based on Equation 9. Here, the first to fifth terms on the right-hand side correspond to the objective function, the polynomial in the following sixth term corresponds to the constraint equation, and the seventh term corresponds to the penalty term based on the constraint equation.
[0042]
number
[0043] It is known that when the following optimization calculation is repeated in accordance with ADMM, x and x~ converge to a certain point as shown in Equation 11 when ρ is sufficiently large.
[0044]
number
[0045] The specific calculation method for equation 11 will be shown below. The first equation of equation 11 can be transformed as in equation 12. In other words, the coefficient matrix of the quadratic term in equation 7 is J~:=J-ρI, and the coefficient vector of the linear term is h~:=h+ρ(x~+y)-λ, which reduces to an unconstrained mixed binary quadratic programming problem where x~ is fixed and x is moved. Here, I is an identity matrix.
[0046]
number
[0047] The second equation of equation 11 can be expressed as equation 13 using the vector c = x - y + λ / ρ. However, this x is the x just obtained from the first equation of equation 11. In other words, this reduces to a constrained mixed binary quadratic programming problem where x is fixed and x~ is moved.
[0048]
number
[0049] The third equation in Equation 11 is a calculation formula for updating vector y using x and x~ obtained immediately before from the first and second equations in Equation 11 and vector λ before update.
[0050]
number
[0051] Equation 14 can be analytically determined as follows:
[0052]
number
[0053] In the aforementioned iterative calculation, the update formulas for various parameters for the next calculation are shown in Equation 16. The results obtained in the k-th iterative calculation are used to calculate the parameters to be used in the next k+1-th iterative calculation.
[0054] where f uptade is a function of the parameter ρ used in the k-th iterative calculation, and can be a function that simply multiplies it by 1 (meaning ρ remains the same during the iterative calculation), or a function that multiplies the k-th ρ by a constant. A sufficiently large ρ improves the convergence of the solution, but if it is made too large, it will hinder the search for a more global solution and increase the possibility of converging to a local optimum.
[0055] Therefore, it is effective to start the calculation with a sufficiently small value of ρ and gradually increase it. Also, as is clear from equation 10, when x = x~ and y = 0, the constraints are satisfied and the solution has converged.
[0056] Therefore, a function that updates ρ according to the change in the absolute value of y is also expected to be effective. For example, a function that selects whether to multiply the solution obtained in the kth calculation by a constant, or multiply it by 1 and use the same value for the kth+1th calculation as for the kth calculation is conceivable.
[0057]
number
[0058] In the update formula for γ in Equation 16, it is desirable to set α between 0 and 1. Empirically, a value close to 1 shows good convergence.
[0059] Function ξ1(x~),…,ξ m Let (x~) be convex. The function ξ(x~)=max i=1,…,m ξ i (x~) is convex. For these, ξ1(x~)≦0,…,ξ m(x~) ≦ 0 ⇔ ξ(x~) ≦ 0 holds. From now on, we will consider constraints expressed as convex functions.
[0060] finite real number u i ξ with m (x)=a i T xu i Considering a convex function, ξ(x~)≦0⇔a i T x≦u i Also, for a finite real number l i ξ with i (x~)=l i -a i T Consider a convex function x, ξ(x~)≦0⇔l i ≦a i T It is x.
[0061] Therefore, for a finite real number l i ,u i ξ with i (x~)=(a i T xl i )(a i T xu i ) in a convex function, ξ i (x~)≦0⇔l i ≦a i T x≦u i holds true.
[0062] Therefore, the constraint L≦Ax≦U can be treated as ξ(x~)≦0. This constraint includes equality constraints, and is an important inequality constraint that appears in many real problems.
[0063] ξ in the number 13 i (x~)≦0 is replaced with L≦Ax≦U, and further the part minimizing the square of the L2 norm is changed to minimizing the L1 norm, resulting in Equation 17.
[0064]
number
[0065] Equation 17 is input to a mixed integer programming solver (branch and bound method), and the second equation of Equation 11 is solved in ADMM.
[0066] When solving the second block of the ADMM (the second equation in Equation 11), Equation 13 can be rewritten as Equation 18 below.
[0067]
number
[0068] Changing equation 18 to minimize the L1 norm will ultimately solve equation 19.
[0069]
number
[0070] The L2 norm is the square root of the sum of the squares of each component of a vector. When solving an optimization problem to minimize the L2 norm, the solution tends to take a more uniform value. It is also susceptible to outliers.
[0071] On the other hand, the L1 norm is the sum of the absolute values of each component of a vector. When solving an optimization problem to minimize the L1 norm, the solution tends to be sparsity-promoting and less susceptible to outliers.
[0072] As a specific example, this embodiment is effective when the optimum solutions coincide between an objective function term including a quadratic expression and an objective function term including only a linear expression.
[0073] Here, the effectiveness of this embodiment will be explained by referring to the solution method for the constrained mixed binary quadratic programming problem using the ADMM in this embodiment explained so far.
[0074] For example, the objective function is as follows:
[0075]
number
[0076] In this case, H(x) in Equation 6 is the first term which is an objective function including a quadratic expression, and φ(x) is the second term which is an objective function including only a linear expression.
[0077] In the first block of ADMM (the first equation in Equation 11), we first solve the following Equation 21 to minimize the quadratic objective function by annealing. Specifically, we solve the unconstrained mixed binary quadratic programming problem shown in Equation 12.
[0078]
number
[0079] Next, in the second block of ADMM (the second equation in Equation 11), the first-order objective function term is minimized using a mixed integer programming solver (branch and bound method). Specifically, Equation 17, which is a mixed integer programming problem, is solved.
[0080]
number
[0081] Since Equation 21 and Equation 22 are connected by ADMM via the L1 norm, the solution is minimized.
[0082] When solving the second block of the ADMM, we changed the L2 norm squared minimization to L1 norm minimization, which promotes sparsity in the solution and is more robust to outliers.
[0083] Due to the above characteristics, L1 norm minimization is effective when sparsity is desired or when dealing with data sets with many outliers.
[0084] Problems to which this embodiment can be applied include compressed sensing and feature selection.
[0085] The Hamiltonian that arises when treating the constraint equations using the penalty function method is placed in H(x).
[0086] FIG. 2 is a diagram illustrating a functional configuration for realizing an optimization system according to an embodiment.
[0087] The optimization system comprises the following functional blocks: a problem input unit 11, a problem dividing unit 12, an annealing unit 13, a mixed integer programming problem optimization unit 14, a parameter updating unit 15, a termination condition determination unit 16, and an output unit 17.
[0088] The problem input unit 11 has a function of inputting a mixed binary quadratic programming problem expressed by Equation 1 and Equation 7 into the information processing device. At the same time, it also has a function of inputting the definition of the decision variable x and the definition of various constraint conditions in the form of a mathematical formula according to the problem to be solved.
[0089] The problem division unit 12 has a function of dividing the problem input by the problem input unit 11 into a mathematical formula to be solved by the annealing unit 13 and a mathematical formula to be solved by the mixed integer programming problem optimization unit 14, and outputting them. Specifically, it outputs a QUBO formula 101 to the annealing unit 13, and outputs a mixed integer programming problem 102 to the mixed integer programming problem optimization unit 14.
[0090] The annealing unit 13 searches for a solution aiming for the minimum energy in the state space as shown in FIG. 1. The algorithm used here is an annealing method based on MCMC (Markov Chain Monte Carlo methods). The problem to be solved by the annealing unit 13 is shown in Equation 12. The QUBO formula 101 passed from the problem dividing unit 12 is J in Equation 12. ij and h.
[0091] The mixed integer programming problem optimization unit 14 is a functional block that solves the problem expressed by Equation 17 using the mixed integer programming problem 102 output from the problem dividing unit 12.
[0092] The objective function used in the calculations in the mixed integer programming problem optimization unit 14 includes an objective function expressed as a linear expression derived from the augmented Lagrangian function method. A mixed integer programming solver such as a branch and bound method is used to search for a solution to the decision variables x~. However, the present invention is not limited to this, and any solver that operates according to an algorithm that has the function of solving a mixed integer programming problem while treating integer variables as integer variables may be used.
[0093] The parameter update unit 15 updates the update equation for y, λ, ρ, and γ, which are expressed as the third equation in Expression 11. The parameters updated here are used in the next iterative calculation, and therefore have a feedback path to the annealing unit 13 and the mixed integer programming optimization unit 14. Here, one iterative calculation consists of a series of calculations in the series of functional blocks of the annealing unit 13, the mixed integer programming optimization unit 14, the parameter update unit 15, and the termination condition determination unit 16.
[0094] The termination condition determination unit 16 determines whether to perform the next iterative calculation or terminate the optimization calculation based on the result of the parameter update unit 15. The criteria for the determination can be when a predetermined number of iterative calculations have been completed, when a predetermined certain amount of time has elapsed, when no update of the solution or the objective function value has been observed for a predetermined number of times, etc.
[0095] The output unit 17 has a function of outputting the obtained solution after the termination condition determination unit 16 determines that the optimization calculation has ended. There are various possible output methods, such as displaying the results on a screen or outputting them to a file. In addition, if the output is to be input to a larger system, the output of the results to the system may be via communication or the like.
[0096] FIG. 3 is a diagram illustrating an example of computer hardware that realizes the optimization system 20 according to the embodiment.
[0097] The optimization system 20 includes, as hardware, a processor 21, a main memory device 22, an auxiliary memory device 23, an annealing device 24, an input / output device 25, and a system bus 26 that communicatively connects these devices.
[0098] The optimization system 20 may be realized, for example, by using virtual information processing resources such as a cloud server provided in part or in whole by a cloud system. Alternatively, the optimization system 20 may be realized, for example, by a plurality of information processing devices that are communicatively connected and operate in cooperation with each other.
[0099] The processor 21 controls the entire optimization system 20, refers to data in the main memory device 22, and executes programs loaded into the main memory device 22. For example, the processor 21 is configured using a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
[0100] The main memory device 22 is a volatile memory device that stores programs and data, such as a ROM (Read Only Memory), SRAM (Static Random Access Memory), NVRAM (Non-Volatile RAM), Mask ROM (Mask Read Only Memory), PROM (Programmable ROM, etc.), RAM (Random Access Memory), or DRAM (Dynamic Random Access Memory).
[0101] The auxiliary storage device 23 is a non-volatile large-capacity storage device, such as a hard disk drive (HDD), a flash memory, a solid state drive (SSD), an optical storage device (compact disc (CD), digital versatile disc (DVD)), etc. The programs and data stored in the auxiliary storage device 23 are read into the main storage device 22 as needed.
[0102] A problem division program 201, a mixed integer programming problem program 202, a parameter update program 203, and a termination condition determination program 204 are installed in the auxiliary storage device 23. The problem division program 201, the mixed integer programming problem program 202, the parameter update program 203, and the termination condition determination program 204 are programs that execute the functions of the problem division unit 12, the mixed integer programming problem optimization unit 14, the parameter update unit 15, and the termination condition determination unit 16, respectively.
[0103] The auxiliary storage device 23 also stores a QUBO formula 101 and a mixed integer programming problem 102.
[0104] The annealing device 24 has the functions of the annealing unit 13 and is a device that executes processing related to searching for an optimal solution to a combinatorial optimization problem. For example, it may take the form of an expansion card that is attached to the optimization system 20, such as a GPU (Graphic Processing Unit). The annealing device 24 is configured with hardware such as a CMOS (Complementary Metal Oxide Semiconductors) circuit, an FPGA (Field-Programmable Gate Array), or an ASIC (Application Specific Integrated Circuit). The annealing apparatus 24 includes a control device, a storage device, an interface for connecting to the system bus 26, and transmits and receives commands and information to and from the processor 21 via the system bus 26. The annealing apparatus 24 may be communicably connected to other annealing apparatuses 24 via a communication line, for example, and may operate in cooperation with the other annealing apparatuses 24. The functions realized by the annealing apparatus 24 may be realized, for example, by having the processor 21 execute a program.
[0105] The input / output device 25 includes a user interface that accepts information input from a user and a user interface that outputs calculation results. Examples of input devices include a keyboard, a mouse, a card reader, a touch panel, etc. Examples of output devices include a display device (LCD (Liquid Crystal Display), a graphics card, etc.) that visualizes various types of information, an audio output device (speaker), a printer, etc. The input / output device 25 executes the functions of the question input unit 11 and the output unit 17. Instead of the input / output device 25, an input device and an output device may be provided separately.
[0106] In the optimization system 20, a program is read from the auxiliary storage device 23 and executed by the processor 30 and the main storage device 22 in cooperation with each other, thereby realizing the functions of the optimization system 20. Alternatively, the program for realizing the functions of the optimization system 20 may be acquired from an external computer via communication. Alternatively, the program for realizing the functions of the optimization system 20 may be recorded on a portable recording medium (optical disk, magnetic disk, magneto-optical disk, semiconductor storage medium, etc.) and read by a medium reading device.
[0107] The optimization system 20 may also be an information processing system in which multiple devices cooperate to execute processing. The program that realizes the optimization system realizes the same functions as the optimization system 20 by causing each device to realize each function through each program.
[0108] Figure 4 shows the overall flow of the optimization process.
[0109] First, variable definition S1 is performed. Here, a variable is a quantity or index to be optimized in an optimization problem, and is x in Equations 1 to 7.
[0110] Next, objective function definition S2 is performed. The optimization target is expressed and defined mathematically as an objective function using the defined variables. Next, constraint definition S3 is performed. Constraint conditions are expressed in the form of linear constraints. Generally, constraints in real-world optimization problems are often written in natural language, and these are expressed and defined mathematically.
[0111] The variable definition S1, the objective function definition S2, and the constraint definition S3 are executed by the input / output device 25 which performs the function of the problem input unit 11 in the optimization system 20.
[0112] Now that we have defined the objective function and constraints of the problem, we can output the optimization problem (S4). The output is a QUBO and a mixed integer programming problem.
[0113] The problem output S4 is executed for the problem input by the problem input unit 11 in the problem division unit 12, which is realized by the processor 21 in the optimization system 20 reading the problem division program, and outputs a QUBO formula 101 and a mixed integer programming problem 102, respectively.
[0114] Next, problem loading S5 is performed, in which a problem is read into the optimization program. As an example of problem loading S5, the QUBO and mixed integer programming problems output as files are expanded on the auxiliary storage device 23 in this flow. Next, the optimization procedure begins, and the alternating direction multiplier method is started (S6). As the first stop of the alternating direction multiplier method, a solution is found by annealing (S7). Here, the optimization calculation described in Equation 12 is performed by annealing. The solution finding by annealing S7 is executed by the annealing device 24 in the optimization system 20.
[0115] Next, an initial solution is set in the mixed integer programming solver (S8), and then a solution is obtained by the mixed integer programming solver (S9).
[0116] The mixed integer programming solver-related processes S8 to S9 are executed by the mixed integer programming problem optimization unit 14, which is implemented by the processor 21 in the optimization system 20 reading the mixed integer programming problem program 202, after reading the mixed integer programming problem 102.
[0117] When a predetermined number of solutions are found in the solution search using the mixed integer programming solver, parameter update S10 is performed. After this, the obtained solutions are saved (S11). There are various methods for saving the predetermined solutions, such as saving only the first solution obtained, saving all of the multiple solutions obtained, or saving only the best solution compared with the solutions obtained so far, and this application includes all of these methods.
[0118] The parameter update S10 and solution saving S11 are performed by the parameter update unit 15 which is implemented by the processor 21 in the optimization system 20 reading the parameter update program 203.
[0119] After saving the solution, it is determined whether the conditions for terminating the iterative calculation of the alternating direction multiplier method have been met (S12). This can be done by considering a predetermined number of iterations, a predetermined upper limit on the calculation time, a predetermined remaining error, or a combination of these conditions. If the termination conditions have not been met, the iterative calculation of the alternating direction multiplier method continues and the solution is found again by annealing (S7). If the termination conditions have been met, the process proceeds to S13, where the solution is output. When outputting the solution, all constraint-satisfying solutions obtained can be output, or the best solution can be output. These should be designed according to the requirements that the optimization system must meet. The termination condition determination S12 is executed by the termination condition determination unit 16 which is implemented by the processor 21 in the optimization system 20 reading the termination condition determination program 204.
[0120] Next, the operation for obtaining the optimal solution (converged solution) will be described.
[0121] Search for the optimal solution (convergence solution) of a mixed binary quadratic programming problem with constraints.
[0122] The annealing unit 13 performs a first search for an annealing solution that reduces the value of the objective function of the mixed binary quadratic programming problem. The mixed integer programming problem optimization unit 14 performs a second search for a constraint satisfaction solution that reduces the value of the objective function of the linear expression and satisfies the constraint conditions.
[0123] The annealing unit 13 uses a first solver to perform a first search for an annealing solution so as to lower the objective function value near the constraint satisfying solution. Meanwhile, the mixed integer programming problem optimization unit 14 uses a second solver to lower the value of the objective function of a linear equation near the annealing solution obtained by the annealing unit, and performs a second search for a constraint satisfying solution. Then, the first search and the second search are repeated to obtain an optimal solution (converged solution).
[0124] For example, the mixed integer programming problem optimization unit 14 performs the second search using a mixed integer programming solver that operates according to an algorithm having a function of minimizing the value of the objective function as the second solver. Also, the annealing unit uses simulated annealing as the first solver, but may use another metaheuristic algorithm that heuristically searches for a solution (approximate solution) close to the solution that minimizes the value of the objective function.
[0125] Here, the operation of searching a range of nearby states and energies to update the next solution is called neighborhood search. The first search searches for a solution with low energy near the solution obtained by the mixed integer programming solver, and the second search lowers the value of the linear objective function near the solution obtained by annealing and searches for a constraint-satisfying solution, alternately repeating these steps to obtain an optimal solution (converged solution).
[0126] In this way, in the above embodiment, the QUBO is solved by annealing, and constraints that are difficult to solve quickly using annealing, a linear programming solver, or an existing continuous optimization algorithm are solved as a mixed integer programming problem while satisfying them using a second solver (a mixed integer programming solver that uses branch and bound methods, etc.).
[0127] Annealing searches for a solution that can lower the objective function value near the solution obtained by the mixed integer programming solver, and the mixed integer programming solver lowers the value of the linear objective function near the solution obtained by annealing and searches for a solution that satisfies the constraints. This process is repeated alternately to obtain the final constraint-satisfying solution.
[0128] As described above, the above embodiment derives high-quality solutions quickly to mixed binary quadratic programming problems with linear constraints that are difficult to satisfy using annealing alone. Furthermore, by treating integer variables without linear relaxation and by treating integers while preserving their integer properties, and by considering a linear objective function in the second block of the ADMM, it is possible to speed up convergence to an optimal solution in the second block as well.
[0129] The above embodiment is applicable to, for example, compressed sensing and feature selection. [Explanation of symbols]
[0130] 11: Question input section 12: Problem division part 13: Annealing Department 14: Mixed integer programming optimization part 15: Parameter update section 16: Termination condition determination section 17: Output section 20: Optimization System 21: Processor 22: Main memory 23:Auxiliary storage device 24: Annealing equipment 25: Input / output device 101:QUBO 102: Mixed integer programming problems
Claims
1. An optimization system for searching for an optimal solution to a mixed binary quadratic programming problem with constraints, comprising: an annealing unit that performs a first search for an annealing solution that reduces the value of an objective function of the mixed binary quadratic programming problem; a mixed integer programming problem optimization unit that performs a second search for a satisfying solution that reduces a value of an objective function of a linear equation in the mixed binary quadratic programming problem as a mixed integer programming problem while satisfying the constraint conditions, The annealing section comprises: using a first solver to perform the first search for the annealing solution to reduce the value of the objective function near the satisfactory solution; The mixed integer programming problem optimization unit using a second solver to perform the second search for the satisfying solution in a neighborhood of the annealing solution obtained by the annealing unit; an optimization system for obtaining the optimal solution by repeatedly performing the first search and the second search;
2. The mixed integer programming problem optimization unit 2. The optimization system according to claim 1, wherein the second search is performed using, as the second solver, a mixed integer programming solver that operates according to an algorithm having a function of minimizing the value of the objective function.
3. The mixed integer programming problem optimization unit 2. The optimization system according to claim 1, wherein the second search is terminated when a predetermined number of satisfying solutions are found.
4. The mixed integer programming problem optimization unit 2. The optimization system according to claim 1, wherein the second search is terminated when a pre-specified solution search time has elapsed.
5. The system further includes a problem input unit, a problem division unit, a parameter update unit, a termination condition determination unit, and an output unit, The question input unit Input the mixed binary quadratic programming problem, The problem division unit Dividing the mixed binary quadratic programming problem input by the problem input unit into a QUBO equation to be solved by the annealing unit and an objective function and constraint equation of a linear equation to be solved by the mixed integer programming problem optimization unit, and outputting the results; The annealing section comprises: conducting the first search for the annealing solution using the QUBO formula; The mixed integer programming problem optimization unit performing the second search for a constraint satisfying solution using the linear objective function and constraint equations; The parameter update unit updating predetermined parameters and feeding the updated parameters back to the annealing unit and the mixed integer programming problem optimization unit; The termination condition determination unit determining whether to terminate the iterative processing of the first search and the second search based on a predetermined termination condition based on the result of the parameter update unit; when it is determined not to terminate the iterative process based on the predetermined termination condition, executing the iterative process of the first search in the annealing unit and the second search in the mixed integer programming problem optimization unit; 2. The optimization system according to claim 1, wherein when it is determined that the iterative process is to be terminated based on the predetermined termination condition, the optimal solution is output to the output unit.
6. The question input unit performing a conversion process of converting the mixed binary quadratic programming problem into an augmented Lagrangian function having variables a first variable vector and a second variable vector, the first variable vector including the objective function, the constraint equation, and a penalty term based on the constraint equation; The problem division unit converting the objective function and the penalty term into the QUBO formula and transmitting them to the annealing unit, and transmitting the linear objective function and constraint formula to the mixed integer programming problem optimization unit; The annealing section comprises: a search for an optimal solution of the first variable vector that optimizes the augmented Lagrangian function in the alternating direction multiplier method using a predetermined optimization algorithm for an unconstrained mixed binary quadratic programming problem; The mixed integer programming problem optimization unit a search for an optimal solution of the second variable vector that optimizes the augmented Lagrangian function in the alternating direction method of multipliers is performed using the mixed integer programming second solver for the linear objective function so as to satisfy the constraint equation; The parameter update unit 6. The optimization system according to claim 5, wherein the parameters of the augmented Lagrangian function are updated and fed back to the annealing unit and the mixed integer programming problem optimization unit.
7. The termination condition determination unit 6. The optimization system according to claim 5, wherein the predetermined termination condition is to repeat the iterative process a predetermined number of times.
8. The termination condition determination unit 6. The optimization system according to claim 5, wherein the predetermined termination condition is to repeat the iterative process until a pre-specified time has elapsed.
9. 1. An optimization method for searching for an optimal solution to a mixed binary quadratic programming problem with constraints, comprising: a first step of performing a first search for an annealing solution that reduces the value of an objective function of the mixed binary quadratic programming problem by an annealing unit; a second step of performing, by a mixed integer programming problem optimization unit, a second search for a satisfying solution that reduces a value of an objective function of a linear expression in the mixed binary quadratic programming problem as a mixed integer programming problem while satisfying the constraint conditions, The first step comprises: using a first solver to perform the first search for the annealing solution to reduce the value of the objective function near the satisfactory solution; The second step includes: using a second solver to perform the second search for the satisfying solution in a neighborhood of the annealing solution obtained by the annealing unit; an optimization method for obtaining the optimal solution by repeating the first search and the second search;
10. An optimization program for searching for an optimal solution to a mixed binary quadratic programming problem with constraints, comprising: an annealing function for performing a first search for an annealing solution that reduces a value of an objective function of the mixed binary quadratic programming problem; a mixed integer programming problem optimization function that performs a second search for a satisfying solution that reduces the value of an objective function of a linear expression in the mixed binary quadratic programming problem as a mixed integer programming problem while satisfying the constraint conditions, The annealing function is using a first solver to perform the first search for the annealing solution to reduce the value of the objective function near the satisfactory solution; The mixed integer programming problem optimization function is using a second solver to perform the second search for the satisfying solution in a neighborhood of the annealing solution obtained by the annealing function; an optimization program for obtaining the optimal solution by repeatedly performing the first search and the second search;
Citation Information
Patent Citations
Information processing system, information processing method, and information processing program
JP2023121046A