Calculation program, calculation method, and information processing device

The integration of continuous relaxation annealing with GNNs generates embedding vectors to address multiple combinatorial optimization problems, ensuring efficient and accurate transition from continuous to discrete solutions, thereby solving multiple problems concurrently.

JP2026066641APending Publication Date: 2026-04-17FUJITSU LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJITSU LTD
Filing Date
2024-10-07
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing methods for solving combinatorial optimization problems using continuous relaxation methods face challenges in finding optimal solutions for multiple problems due to complex loss landscapes and difficulties in transitioning from continuous to discrete solutions, especially with machine learning techniques like deep neural networks.

Method used

An arithmetic program and method that incorporates continuous relaxation annealing with graph neural networks (GNNs) to generate embedding vectors representing problem similarity, introducing a loss term that adjusts from continuous to discrete as the search progresses, allowing parallel solution finding for multiple problems.

Benefits of technology

This approach effectively solves multiple combinatorial optimization problems efficiently, reducing computational complexity and maintaining solution accuracy by controlling the transition from continuous to discrete solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026066641000001_ABST
    Figure 2026066641000001_ABST
Patent Text Reader

Abstract

The present invention provides an computational program, computational method, and information processing device capable of finding solutions to multiple problems in a combinatorial optimization problem. [Solution] The computer is instructed to perform the following steps in an optimization method using continuous relaxation simulated annealing, which involves incorporating continuous relaxation into discrete optimization problems: an embedding vector generation process that generates embedding vectors representing the similarity of each problem for multiple problems; and a search process that introduces a loss term based on the embedding vectors into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and then searches for solutions to the multiple problems in parallel.
Need to check novelty before this filing date? Find Prior Art

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 Initiative] [Problems that the invention aims to solve]

[0004] In combinatorial optimization, the search for the optimal solution using a continuous relaxation method with machine learning models is being considered. However, finding solutions for multiple problems is difficult.

[0005] On one side, an object of the present invention is to provide an arithmetic program, an arithmetic method, and an information processing apparatus capable of solving solutions for a plurality of problems in a combinatorial optimization problem.

Means for Solving the Problems

[0006] In one aspect, the arithmetic program causes a computer to perform, in optimization by a continuous relaxation annealing method that incorporates continuous relaxation into a discrete optimization problem and performs search, for a plurality of problems, an embedding vector generation process for generating an embedding vector representing the similarity of each problem, and a search process for introducing a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing a discrete variable to be optimized into a continuous matrix becomes a discrete optimization problem, and parallelly searching for solutions to the plurality of problems.

Effects of the Invention

[0007] Solutions for a plurality of problems can be solved in a combinatorial optimization problem.

Brief Description of the Drawings

[0008] [Figure 1] It is a diagram illustrating conversion to a graph embedding vector. [Figure 2] It is a conceptual diagram for recalling solutions from a plurality of embeddings in the feed-forward pass of a GNN. [Figure 3] (a) is a functional block diagram showing the overall configuration of the information processing apparatus according to Example 1, and (b) is a hardware configuration diagram of the information processing apparatus. [Figure 4] It is a flowchart showing an example of the operation of the information processing apparatus during machine learning. [Figure 5] It is a flowchart showing an example of the operation of the information processing apparatus when performing optimization using the results of machine learning.

Modes for Carrying Out the Invention

[0009] Optimization problems exist in various industries, including manufacturing and distribution. In particular, combinatorial optimization problems, which involve optimizing combinations, are one of the most important areas in the field of optimization. Combinatorial optimization problems are applied in a wide range of fields, including transportation, logistics, telecommunications, and finance.

[0010] Combinatorial optimization is an optimization problem formulated as shown in equation (1) below. In equation (1), "C" is a parameter that characterizes the problem. In equation (1), x is a vector represented by 0s and 1s, with N elements. In general, in f(x;A), x represents the variable to be optimized, and A represents a constant that is not to be optimized. Therefore, in equation (1), the variable vector x is the variable to be optimized, and the parameter C is a constant.

number

[0011] In recent years, continuous relaxation methods have been developed as an alternative to discrete optimization problems. Continuous relaxation methods are techniques that, instead of solving discrete optimization problems directly, relax the discrete optimization problem and then solve the corresponding continuous optimization problem. A continuous optimization problem can be expressed as shown in equation (2) below. Note that in equation (2) below, [0,1] N This represents an N-dimensional hypercube lattice that takes values ​​of 0 or 1. In equation (2) below, the variable vector p is the variable to be optimized.

number

[0012] However, even with continuous relaxation methods, the Loss Landscape can still be complex. Furthermore, the relaxed optimal solution may differ significantly from the original optimal solution.

[0013] Next, we will explain the combination of unsupervised learning and combinatorial optimization in continuous relaxation solving. In this case, the above variable vector p is characterized by a deep model (DNN: Deep Neural Network), and optimization is performed using the loss function of equation (3) below. In this case, the optimization problem of the continuously relaxed variable p is reduced to the optimization of the DNN parameter θ.

number

[0014] This optimization method may output continuous solutions. Here, a continuous solution is a value greater than 0 and less than 1. When continuous solutions are output, it becomes necessary to round them to either "1" or "0", for example, by using thresholding to set values ​​greater than 1 / 2 to "1" and values ​​less than 1 / 2 to "0". Also, even with the Greedy Algorithm, it suddenly becomes difficult to find a solution once the region where good solutions are obtained is exceeded. Furthermore, transfer learning is difficult.

[0015] Therefore, it is conceivable to introduce a penalty term into the cost function, as shown in equation (4) below. The penalty term is the part of equation (5) below, and is a loss term for controlling the degree of continuity and discreteness.

number

number

[0016] λ is a parameter used to control the penalty term in equation (5) above, and is a hyperparameter used to control the degree of continuity and discreteness. For example, if λ < 0, continuous solutions will be preferred to be searched, and if λ > 0, discrete solutions will be preferred to be searched.

[0017] As machine learning progresses, the hyperparameter λ is changed to a negative value λ. (0) < 0 to positive values ​​λ (T)The value is gradually changed down to >0. As a result, the penalty term changes as machine learning progresses, from one where the loss decreases as the discrete vector p is continuous, to one where the loss increases as the discrete vector p is 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.

[0018] Here, we will explain an example of optimizing a variable vector p using a GNN (Graph Neural Network) with parametrized representation. In this optimization, the graph G of the optimization problem is represented by an embedding vector h (0) Transform into (G). G is the feature vector of the graph in the GNN. For a combinatorial optimization problem on graph G, the relaxation variable p is transformed into p θ (h (0) The graph is characterized as (G);G). For example, in Figure 1, the feature vector G of the graph is transformed into a graph embedding vector with 4 nodes and 4 edges. Equation (6) below is the embedding vector that characterizes the graph G in question. Note that embedding is the process of creating real vectors on the nodes.

number

[0019] Specifically, given a graph G, embedding is performed using a feature vector G. The embedded vector corresponds to a real number vector. In the example in Figure 1, [0,1] 4 This is a real vector. This real vector is gradually transformed into one dimension, and the network is constructed so that the optimal solution is obtained in the final layer.

[0020] However, in the above optimal solution method by the continuous relaxation annealing method, when a problem example is given, one solution is output. Therefore, it is difficult to solve solutions for multiple problems.

[0021] Therefore, in the following embodiments, an example that can solve solutions for multiple problems will be described.

Embodiment

[0022] First, the principle of this embodiment will be described. In this embodiment, an Annealing Hopfieled GNN that outputs the solution of the corresponding problem according to the initial value, such as a Hopfield Neural Network, will be described.

[0023] To simplify the explanation, it will be described using the combinatorial optimization problem on a graph. First, collect S problems on the graph. Next, for the set of problem examples of S graphs G as shown in the following formula (7), create a set of embedding vectors as shown in the following formula (8) that reflects the similarity between the sets of problem examples. The embedding vector h i (0) is a vector that reflects the structure of the graph G i The set of embedding vectors means that when the graph G i and the graph G j are similar, the embedding vector h i corresponding to the graph G i (0) and the embedding vector h j corresponding to the graph G j (0) are similar. For example, the higher the similarity between the graph G i and the graph G j , the larger the inner product between the embedding vector h i (0) and the embedding vector h j (0) . The lower the similarity between the graph G i and the graph G j , the lower the inner product between the embedding vector h i (0) and the embedding vector hj (0) The dot product with becomes smaller.

number

number

[0024] The GNN is minimized by the loss function shown in equation (9) below. The loss function in equation (9) below searches for a solution such that the sum of equation (4) above from the first example problem to the Sth example problem is minimized.

number

[0025] Figure 2 is a conceptual diagram of how a solution is recalled from multiple embeddings using a feed-forward pass in a GNN. As illustrated in Figure 2, the solution is searched in such a way that the cost function is minimized for each of the values ​​from s=1 to S.

[0026] Next, we will examine the above solution principle. Specifically, we will examine the weighted MaxCut problem on a Random Regular Graph with degree d=20 and 100 nodes. A degree d=20 and 100 nodes means that there are 100 nodes, and one node is randomly connected to 20 other nodes. In equation (10) below, A ij This represents a weighted adjacency matrix. The weights are generated uniformly and randomly from [-1, 1, 3].

number

[0027] Adjacency matrix A s Since each problem is represented by the adjacency matrix A, s unify a sThe function =flatten(As) was created. To reduce computational complexity, equation (11) below was compressed using an Autoencoder as shown in equation (12) below, and the loss for multiple problems was optimized. Also, S=3, resulting in 3 instances.

number

number

[0028] For each of the three instances, the solution x obtained using the continuous relaxation simulated annealing optimization method is shown. 1shot The following equation (13) was evaluated.

number

[0029] Table 1 shows the results of ApR. Unlike simultaneous solving of multiple problems using matrix relaxation for combinatorial optimization problems, it was confirmed that it is possible to solve multiple problems without increasing the number of unnecessary parameters. [Table 1]

[0030] Next, the device configuration for realizing the above solution principle will be described. 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, an embedding vector generation unit 20, a model parameter storage unit 30, a node embedding unit 40, a relaxation variable unit 50, a search unit 60, a gradient storage unit 70, an approximate solution output unit 80, etc. The information processing device 100 functions as a machine learning device during machine learning and as a judgment device during judgment.

[0031] 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.

[0032] 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 machine learning programs and judgment programs. 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 80 on the screen. The various parts of the information processing device 100 are realized when the CPU 101 executes an arithmetic program or a machine learning program. Note that dedicated hardware such as circuits may be used as the various parts of the information processing device 100.

[0033] 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 60 initializes the model (step S1). Specifically, the search unit 60 sets the model parameters stored in the model parameter storage unit 30 to predetermined initial values.

[0034] Next, the embedding vector generation unit 20 generates an embedding vector for each of the multiple problems stored in the optimization problem storage unit 10, thereby generating the set of embedding vectors shown in equation (8) above (step S2).

[0035] Next, the node embedding unit 40 embeds the optimization problem (step S3). This yields the loss function represented by equation (9) above.

[0036] Next, the search unit 60 updates the model parameters using the gradient method (step S4). The model parameters are updated using the gradients stored in the gradient storage unit 70. When step S4 is executed for the first time, the model parameters are not updated.

[0037] Next, the search unit 60 adjusts the degree of discrete-continuity (step S5). Specifically, each time step S5 is repeated, the search unit 60 adjusts the hyperparameter λ in equation (9) to a negative value λ. (0) < 0 to positive values ​​λ (T) Gradually change the value down to >0 and calculate the loss function.

[0038] Next, the search unit 60 determines whether the convergence condition is met (step S6). For example, it determines whether the loss function in equation (9) above no longer becomes smaller than a specified value even if step S5 is executed repeatedly. If "No" is determined in step S6, the process is executed again from step S4.

[0039] If "Yes" is determined in step S6, the execution of the flowchart ends. In this case, the model parameter storage unit 30 stores the model parameters that result in the smallest loss function.

[0040] The machine learning shown in Figure 4 yields a machine learning model that minimizes the loss function in equation (9) above. The machine learning model (model parameters) is stored in the model parameter storage unit 30.

[0041] 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 40 embeds the optimization problem (step S11).

[0042] Next, the approximate solution output unit 80 obtains the output of the machine learning model (step S12).

[0043] Next, the approximate solution output unit 80 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.

[0044] In the above embodiment, we described an optimization problem that uses a graph as the optimization target. While the use of graphs in optimization problems is not limited, one example is the energy transport problem. The above embodiment can also be applied to optimization problems that do not use graphs as the optimization target. Similarly, optimization problems that do not use graphs are not limited, but one example is the scheduling problem for companies.

[0045] In the above embodiment, the embedding vector generation unit 20 is an example of an embedding vector generation unit that generates embedding vectors representing the similarity of each problem for multiple problems in optimization using continuous relaxation simulated annealing, which incorporates continuous relaxation into discrete optimization problems for search. The search unit 60 is an example of a search unit that introduces a loss term based on the embedding vectors into a loss function in which each element of the matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and searches for solutions to multiple problems in parallel.

[0046] 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, In optimization using continuous relaxation simulated annealing, which involves incorporating continuous relaxation into discrete optimization problems, an embedding vector generation process is performed to generate an embedding vector representing the similarity of each problem for multiple problems. A computation program characterized by introducing a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and then performing a search process to search for solutions to the multiple problems in parallel. (Note 2) The calculation program according to Appendix 1, characterized in that it changes the loss term in accordance with the progress of the search process. (Note 3) The calculation program according to Appendix 1, characterized in that, as the search process progresses, the loss term is changed from one in which the loss decreases as the variable is continuous to one in which the loss increases as the variable is continuous. (Note 4) Computers In optimization using continuous relaxation simulated annealing, which involves incorporating continuous relaxation into discrete optimization problems, an embedding vector generation process is performed to generate an embedding vector representing the similarity of each problem for multiple problems. A computation method characterized by performing a search process that searches for solutions to multiple problems in parallel, by introducing a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and then performing a search process. (Note 5) The calculation method according to Appendix 4, characterized in that the loss term is changed in accordance with the progress of the search process. (Note 6) The calculation method according to Appendix 4, characterized in that, as the search process progresses, the loss term is changed from one in which the loss decreases as the variable is continuous to one in which the loss increases as the variable is continuous. (Note 7) In optimization using continuous relaxation simulated annealing, which incorporates continuous relaxation into discrete optimization problems, an embedding vector generation unit generates embedding vectors representing the similarity of each problem for multiple problems, An information processing device comprising: a search unit that introduces a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and searches for solutions to the multiple problems in parallel. (Note 8) The information processing device according to Appendix 7, characterized in that the search unit changes the loss term in accordance with the progress of the search for the solution. (Note 9) 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 variable is continuous to one in which the loss increases as the variable is continuous, as the search for the solution progresses. [Explanation of Symbols]

[0047] 10 Optimization Problem Storage Unit 20 Embedding vector generation unit 30 Model parameter storage section 40 node embedded section 50 Relaxation Variable Section 60 Search Department 70 Gradient storage section 80 Approximate Solution Output Unit 100 Information Processing Devices 101 CPU 102 RAM 103 Storage device 104 Input device 105 Display device

Claims

1. On the computer, In optimization using continuous relaxation simulated annealing, which involves incorporating continuous relaxation into discrete optimization problems, an embedding vector generation process is performed to generate an embedding vector representing the similarity of each problem for multiple problems. A computation program characterized by introducing a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and then performing a search process to search for solutions to the multiple problems in parallel.

2. The calculation program according to claim 1, characterized in that the loss term is changed in accordance with the progress of the search process.

3. The arithmetic program according to claim 1, characterized in that, as the search process progresses, the loss term is changed from one in which the loss decreases as the variable is continuous to one in which the loss increases as the variable is continuous.

4. Computers In optimization using continuous relaxation simulated annealing, which involves incorporating continuous relaxation into discrete optimization problems, an embedding vector generation process is performed to generate an embedding vector representing the similarity of each problem for multiple problems. A computation method characterized by performing a search process that searches for solutions to multiple problems in parallel, by introducing a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and then performing a search process.

5. In optimization using continuous relaxation simulated annealing, which incorporates continuous relaxation into discrete optimization problems, an embedding vector generation unit generates embedding vectors representing the similarity of each problem for multiple problems, An information processing device comprising: a search unit that introduces a loss term based on the embedding vector into a loss function in which each element of a matrix obtained by relaxing the discrete variables to be optimized into a continuous matrix becomes a discrete optimization problem, and searches for solutions to the multiple problems in parallel.