Calculation program, calculation method, and information processing device
The method enhances combinatorial optimization accuracy by applying continuous relaxation simulated annealing to mixed-integer programming, adjusting a loss term based on variable continuity, ensuring global optimal solutions are found.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-18
- Publication Date
- 2026-03-31
AI Technical Summary
Existing methods for solving combinatorial optimization problems, such as continuous relaxation and penalty methods, face challenges in maintaining accuracy due to difficulties in adjusting penalty coefficients and obtaining local solutions, especially in mixed-integer programming problems involving real and binary variables.
A computational method that applies continuous relaxation simulated annealing to mixed-integer programming by continuously relaxing binary variables while maintaining real variables intact, and adjusts a loss term based on the degree of continuity and discreteness of decision variables, changing the loss term as the search process progresses to enhance accuracy.
Improves the accuracy of solving combinatorial optimization problems by ensuring the solution converges to a global optimal solution, avoiding local solutions and constraint violations.
Smart Images

Figure 2026055266000001_ABST
Abstract
Description
[Technical Field]
[0001] This matter relates to arithmetic programs, arithmetic methods, and information processing devices. [Background technology]
[0002] Techniques for optimizing complex combinations have been disclosed (see, for example, Non-Patent Documents 1 and 2). [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] Schuetz, MJ, Brubaker, JK, and Katzgraber, HG (2022a). Combinatorial optimization with physics-inspired graph neural networks. Nature Machine Intelligence, 4(4):367?377. [Non-Patent Document 2] Schuetz, MJ, Brubaker, JK, Zhu, Z., and Katzgraber, HG (2022b). Graph coloring with physics-inspired graph neural networks. Physical Review Research, 4(4):043131. [Overview of the project] [Problems that the invention aims to solve]
[0004] In combinatorial optimization, the search for the optimal solution using a continuous relaxation method with a machine learning model is considered. However, with the continuous relaxation method, the solution obtained may differ from the original solution. This may reduce the accuracy of solving combinatorial optimization problems.
[0005] In one aspect, the present invention aims to provide a computation program, a computation method, and an information processing device that can improve the accuracy of solving combinatorial optimization problems. [Means for solving the problem]
[0006] In one embodiment, the computation program causes the computer to perform a process in which, in a mixed integer programming problem in which real and binary variables are to be optimized, the real variables are not continuously relaxed while the binary variables are continuously relaxed, and to the cost function obtained by continuously relaxing the binary variables, a loss term is added to the cost function obtained by continuously relaxing the binary variables, according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and the loss term is changed as the search process progresses in which a solution is searched using the cost function. [Effects of the Invention]
[0007] This can improve the accuracy of solving combinatorial optimization problems. [Brief explanation of the drawing]
[0008] [Figure 1] This is a diagram illustrating a GNN. [Figure 2] This is a diagram illustrating a GNN. [Figure 3] (a) is a functional block diagram representing the overall configuration of the information processing device, and (b) is a hardware configuration diagram of the information processing device. [Figure 4] This flowchart illustrates an example of how an information processing device operates during machine learning. [Figure 5] This flowchart illustrates an example of how an information processing device operates when it uses the results of a machine learning model obtained through machine learning to output an approximate solution to an optimization problem. [Modes for carrying out the invention]
[0009] Optimization problems exist in the sites of various industries, including manufacturing and distribution. In particular, the combinatorial optimization problem of optimizing combinations is one of the most important fields in the field of optimization. The combinatorial optimization problem is applied in various fields such as transportation, logistics, communication, and finance.
[0010] The constrained combinatorial optimization problem is the most important problem in the combinatorial optimization problem and has many practical applications. For example, general solvers such as the Egging machine use the penalty method to search for a constraint-satisfactory solution. However, with general solvers, it is difficult to solve depending on the penalty coefficient. Also, in local transition algorithms such as the Egging machine, it is difficult to search for anything other than local solutions, so it is difficult to obtain multiple solutions at once.
[0011] Here, an overview of the constrained combinatorial optimization problem will be explained. First, the penalty method will be explained. The constrained optimization problem is represented by the following formula (1). In general, in f(x; A), x represents the variable to be optimized, and A represents a constant that is not the optimization target. Therefore, in the following formula (1), C represents a constant and is a parameter characterizing the problem example. C is, for example, a graph G(V, E), etc. x represents a variable and is a vector represented by 0 and 1 and has N elements. Also, "s.t." means "subject to". f is represented by the following formula (2) and represents a cost function. The feasible region is represented by the following formula (3). The following formula (4) represents an equality constraint in the feasible region. The following formula (5) represents an inequality constraint in the feasible region.
Number
Number
Number
Number
Mathematics
[0012] In the penalty method, constrained combinatorial optimization is considered as the optimization problem of the following formula (6). That is, in the penalty method, a penalty term in the second term on the right side is introduced.
Mathematics
[0013] The following formula (7) represents a penalty term and is typically defined as the following formula (8) and the following formula (9).
Mathematics
Mathematics
Mathematics
[0014] λ in the following formula (10) is a penalty coefficient and is a parameter for controlling the balance between the cost function and the penalty term. In the penalty method, it is required to appropriately adjust the penalty coefficient.
Mathematics
[0015] In the above penalty method, it is difficult to adjust the parameter λ. For example, if λ is too large, the solution to be searched is likely to be a local solution, and if λ is too small, the solution to be searched is likely to violate the constraints.
[0016] Subsequently, combinatorial optimization using machine learning will be described. With the development of information science, technologies aiming at high-speed solution of combinatorial optimization using machine learning have been developed. One of such technologies is an optimal solution method by the continuous relaxation solution method.
[0017] The continuous relaxation method is a method for approximately solving combinatorial optimization problems as continuous optimization problems. Instead of solving discrete optimization problems, it relaxes discrete variables into continuous variables and solves the corresponding continuous optimization problem. The continuous optimization problem can be expressed as shown in equation (11) below. Note that in equation (11) below, [0,1] N This represents an N-dimensional hypercube lattice that takes values of 0 or 1. In equation (11) below, the variable vector p is the variable to be optimized.
number
[0018] In equation (11) above, equation (12) below is true for any x ∈ {0,1} N It is common practice to transform it so that it becomes the following equation (13).
number
number
[0019] However, even with the continuous relaxation method, adjusting the penalty coefficient λ remains difficult.
[0020] Therefore, it is being considered to apply the continuous relaxation simulated annealing method to the continuous relaxation solution method. In the continuous relaxation simulated annealing method, the variable p is parameterized using a statistical model, and the loss function in equation (14) below is optimized.
number
[0021] λ is a parameter for controlling the loss term in equation (14) above, and is a hyperparameter for controlling the degree of continuity and discreteness. For example, in equation (15) below, when γ is negative, the relaxation variable p θWhen γ is positive, the relaxation variable pθ prefers a binary value of {0,1}.
number
[0022] As machine learning progresses, the hyperparameter λ is changed to a negative value λ. (0) < 0 to positive values λ (T) The loss term is gradually changed down to >0. As a result, the loss term changes as machine learning progresses, from one where the loss decreases as the discrete vector p becomes more continuous, to one where the loss increases as the discrete vector p becomes more continuous. For example, if λ is -∞, the output solution will be 1 / 2. If λ is +∞, the output solution will be a discrete variable of 0 or 1. This method is sometimes called continuous relaxation simulated annealing. By controlling it in this way, machine learning will terminate when the discrete vector becomes almost discrete.
[0023] As an example, we will explain how to optimize a variable vector p by parametrizing it using a GNN (Graph Neural Network). G is the feature vector of the graph in the GNN. For example, in Figure 1, the graph feature vector G is transformed into a graph embedding vector with 4 nodes and 4 edges. Note that R E×N R is an E×N dimension Euclidean space. In this optimization, the graph G of the optimization problem is R. H×N The embedding vector is [0,1] 1×4 Outputs.
[0024] However, continuous relaxed simulated annealing cannot be directly applied to mixed-integer programming problems involving real-valued decision variables.
[0025] Therefore, the following examples illustrate how continuous relaxed simulated annealing can be applied to mixed-integer programming problems involving real-valued decision variables. [Examples]
[0026] First, let's explain the principle of this embodiment. This embodiment deals with a mixed integer programming problem involving real variables (continuous variables) and discrete variables (binary variables). As an example, when searching for the optimal price of a product, the cost price of the product is used as a discrete variable, and the actual selling price is used as a real variable.
[0027] In a mixed-integer programming problem, the real variables are represented by equation (16) below, where R represents a real number. Next, the binary variables are represented by equation (17) below. The decision variables are obtained by continuously relaxing only the binary variables, as shown in equation (18), without relaxing the real variables. Using these decision variables, we can solve, for example, the optimization problem shown in equation (19) below.
number
number
number
number
[0028] In equation (19) above, Φ acts only on the decision variable, which was originally a binary variable. Therefore, by increasing γ, the continuous relaxation variable also asymptotically approaches the binary {0,1}. Since the second term acts only on the decision variable, which was originally a binary variable, it does not affect the range of the real variable in equation (16) above, and the range of only the relaxed binary variable is restricted to {0,1}. From the above, the accuracy of solving combinatorial optimization problems can be improved.
[0029] An example of applying this solution principle to an unsupervised learning solver will be described. As an example, for instance, α and p are characterized by a statistical model as shown in the following formula (20). Here, assuming that the space where θ can take values is H, a statistical model is defined to satisfy the following formula (21).
Number
Number
[0030] Next, the case of using a GNN as a statistical model will be described. In this case, as illustrated in FIG. 2, the graph is divided into a sub-graph for binary variables and a sub-graph for real numbers, and each is defined such that the output of the final layer becomes the following formula (22). In FIG. 2, the portion surrounded by the dotted line is the sub-graph for real numbers.
Number
[0031] Subsequently, the above solution principle will be verified. As an example, real variables α1 and binary variables β1 to β3 are represented by the following formula (23). Using these variables, a simple mixed-integer programming problem of the following formula (24) is considered.
Number
Number
[0032] The global optimal solution of the above formula (23) is as follows formula (25).
Number
[0033] For this problem, as shown in the following formula (26), continuous relaxation is performed and Φ is added. And the relaxation variable p θBy characterizing and solving the problem using a GNN, we successfully obtained the global optimal solution for equation (25) above.
number
[0034] Next, we will explain the device configuration for realizing the above solution principle. Figure 3(a) is a functional block diagram showing the overall configuration of the information processing device 100 according to Embodiment 1. The information processing device 100 is a server for optimization processing, etc. As illustrated in Figure 3(a), the information processing device 100 functions as an optimization problem storage unit 10, a model parameter storage unit 20, a node embedding unit 30, a relaxation variable unit 40, a search unit 50, a gradient storage unit 60, an approximate solution output unit 70, etc.
[0035] For example, in a mixed integer programming problem where the variables to be optimized include real and binary variables, the search unit 50 adds a loss term to the cost function obtained by continuously relaxing the binary variables without continuously relaxing the real variables, according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and changes the loss term as the search process progresses in searching for a solution using the cost function.
[0036] Furthermore, as the search process progresses, the search unit 50 changes the loss term from one in which the loss decreases as the decision variable is continuous, to one in which the loss increases as the decision variable is continuous.
[0037] Furthermore, the search unit 50 performs machine learning on the model by repeatedly changing the loss term, changing the model parameters of the model in which the mixed-integer programming problem is embedded, and calculating the cost function and loss term.
[0038] Figure 3(b) is a hardware configuration diagram of the information processing device 100. As illustrated in Figure 3(b), the information processing device 100 includes a CPU 101, RAM 102, storage device 103, input device 104, display device 105, etc.
[0039] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, etc. The storage device 103 is a non-volatile storage device. As the storage device 103, for example, a ROM (Read Only Memory), a solid-state drive (SSD) such as flash memory, or a hard disk driven by a hard disk drive can be used. The storage device 103 stores the calculation program. The input device 104 is a device for the user to input necessary information, such as a keyboard or mouse. The display device 105 is a display device that displays the approximate solution output by the approximate solution output unit 70 on the screen. The CPU 101 executes the calculation program, thereby realizing each part of the information processing device 100. Note that dedicated hardware such as circuits may be used as each part of the information processing device 100.
[0040] Figure 4 is a flowchart illustrating an example of the operation of the information processing device 100 during machine learning. As illustrated in Figure 4, the search unit 50 initializes the model (step S1). Specifically, the search unit 50 sets the model parameters stored in the model parameter storage unit 20 to predetermined initial values.
[0041] Next, the node embedding unit 30 embeds the optimization problem (step S2). For example, in a graph-based problem, the node embedding unit 30 converts the graph feature vectors of the given optimization problem into embedding vectors. The relaxation variable unit 40 sets the dynamical variables to be relaxed, which are parameterized by the neural network. In this process, only binary variables are continuously relaxed, while real variables are not continuously relaxed. This yields the loss function represented by equation (19) above.
[0042] Next, the search unit 50 updates the model parameters using the gradient descent method (step S3). The model parameters are updated using the gradients stored in the gradient storage unit 60. When step S3 is executed for the first time, the model parameters are not updated.
[0043] Next, the search unit 50 adjusts the degree of discrete-continuity (step S4). Specifically, in equation (19) above, the search unit 50 sets the hyperparameter λ to a negative value λ. (0) < 0 to positive values λ (T) The loss function is calculated while gradually changing it down to >0.
[0044] Next, the search unit 50 determines whether the convergence condition is met (step S5). For example, it determines whether the loss function in equation (19) above no longer becomes smaller than a specified value even if step S4 is executed repeatedly. If "No" is determined in step S5, the process is executed again from step S3.
[0045] If "Yes" is determined in step S5, the execution of the flowchart ends. In this case, the model parameter storage unit 20 stores the model parameters that result in the smallest loss function.
[0046] The machine learning method shown in Figure 4 yields a machine learning model that minimizes the loss function in equation (19) above. The machine learning model (model parameters) is stored in the model parameter storage unit 20.
[0047] Figure 5 is a flowchart illustrating an example of the operation of the information processing device 100 when it outputs an approximate solution to an optimization problem using the results of the machine learning model obtained by machine learning in Figure 4. As illustrated in Figure 5, the node embedding unit 30 embeds the optimization problem (step S11).
[0048] Next, the approximate solution output unit 70 obtains the output of the machine learning model (step S12).
[0049] Next, the approximate solution output unit 70 performs thresholding on the optimal solution output by the machine learning model (step S13). For example, a threshold is set for each value output by the machine learning model to convert it into two values, 0 and 1. For example, if each value is converted into two values, such as 0.5, the threshold is set to 1 for values greater than 0.5 and 0 for values less than 0.5.
[0050] Although embodiments of the present invention have been described in detail above, the present invention is not limited to these specific embodiments, and various modifications and changes are possible within the scope of the gist of the present invention as described in the claims. (Note 1) On the computer, A computational program characterized by performing a process in which, in a mixed integer programming problem including real and binary variables as variables to be optimized, the program adds a loss term to a cost function obtained by continuously relaxing the binary variable without continuously relaxing the real variable, the loss term being changed according to the degree of continuity and discreteness of the decision variable obtained by continuously relaxing the binary variable, and then changes the loss term as the search process progresses in searching for a solution using the cost function. (Note 2) The arithmetic program according to Appendix 1, characterized in that the computer is instructed to perform a process that changes the loss term from one in which the loss decreases as the decision variable is continuous, to one in which the loss increases as the decision variable is continuous, as the search process progresses. (Note 3) The calculation program according to Appendix 1, characterized in that it causes the computer to perform a machine learning process by repeatedly changing the loss term, changing the model parameters of the model in which the mixed integer programming problem is embedded, and calculating the cost function and the loss term. (Note 4) Computers In a mixed integer programming problem where the variables to be optimized include real and binary variables, the method is characterized by adding a loss term to a cost function obtained by continuously relaxing the binary variables without continuously relaxing the real variables, the loss term being changed according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and then changing the loss term as the search process progresses in which a solution is searched using the cost function. (Note 5) The calculation method according to Appendix 4, characterized in that the computer performs a process to change the loss term from one in which the loss decreases as the decision variable is continuous, to one in which the loss increases as the decision variable is continuous, as the search process progresses. (Note 6) The calculation method according to Appendix 4, characterized in that the computer performs a machine learning process by repeatedly changing the loss term, changing the model parameters of the model in which the mixed integer programming problem is embedded, and calculating the cost function and the loss term. (Note 7) An information processing device characterized by comprising a search unit that, in a mixed integer programming problem including real variables and binary variables as variables to be optimized, adds a loss term to a cost function obtained by continuously relaxing the binary variables without continuously relaxing the real variables, the loss term being adjusted according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and changes the loss term as the search process progresses in searching for a solution using the cost function. (Note 8) The information processing apparatus according to Appendix 7, characterized in that the search unit changes the loss term from one in which the loss decreases as the decision variable is continuous to one in which the loss increases as the decision variable is continuous, as the search process progresses. (Note 9) The information processing apparatus according to Appendix 7, characterized in that the search unit changes the loss term, changes the model parameters of the model in which the mixed-integer programming problem is embedded, and repeatedly calculates the cost function and the loss term to machine learn the model. [Explanation of Symbols]
[0051] 10 Optimization Problem Storage Unit 20 Model parameter storage section 30 node embedded section 40 Relaxation Variable Section 50 Exploration Department 60 Gradient storage section 70 Approximate Solution Output Unit 100 Information Processing Devices
Claims
1. On the computer, A computational program characterized by performing a process in which, in a mixed integer programming problem including real and binary variables as variables to be optimized, the program adds a loss term to a cost function obtained by continuously relaxing the binary variable without continuously relaxing the real variable, the loss term being changed according to the degree of continuity and discreteness of the decision variable obtained by continuously relaxing the binary variable, and then changes the loss term as the search process progresses in searching for a solution using the cost function.
2. The arithmetic program according to claim 1, characterized in that the computer is instructed to perform a process that changes the loss term from one in which the loss decreases as the decision variable is continuous, to one in which the loss increases as the decision variable is continuous, as the search process progresses.
3. The calculation program according to claim 1, characterized in that it causes the computer to perform a machine learning process by repeatedly changing the loss term, changing the model parameters of the model in which the mixed-integer programming problem is embedded, and calculating the cost function and the loss term.
4. Computers In a mixed integer programming problem where the variables to be optimized include real and binary variables, the method is characterized by adding a loss term to a cost function obtained by continuously relaxing the binary variables without continuously relaxing the real variables, the loss term being changed according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and then changing the loss term as the search process progresses in which a solution is searched using the cost function.
5. An information processing device characterized by comprising a search unit that, in a mixed integer programming problem including real variables and binary variables as variables to be optimized, adds a loss term to a cost function obtained by continuously relaxing the binary variables without continuously relaxing the real variables, the loss term being adjusted according to the degree of continuity and discreteness of the decision variables obtained by continuously relaxing the binary variables, and changes the loss term as the search process progresses in searching for a solution using the cost function.