Configuration method of mixed integer programming solver, controller, device and medium
Through the intelligent parameter configuration method of the hybrid integer planning solver, the graph feature extraction and similarity inference module are used to determine the parameter configuration of target similar instances, which solves the problem of dependence on experience and high computing resource consumption in the existing technology, and achieves efficient solution efficiency and adaptability.
Patent Information
- Application Number
- CN202510704803.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-07-01
AI Technical Summary
The existing hybrid integer planning solvers rely on experience in parameter configuration, and attempting to combine different parameters consumes a lot of computing resources, making it difficult to effectively improve the solution efficiency and adaptability.
By obtaining the data set of example problems and historical problem instances to be solved, graph feature extraction and feature representation are performed, similarity calculation is performed using the pre-trained problem instance similarity inference module, nearest neighbor search determines the target similarity instance, and applies its solver configuration to the instance to be solved.
The intelligent parameter configuration of the solver is realized, the solution efficiency and adaptability are improved, and the computing resource consumption is reduced.
Smart Images

Figure CN120234591A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of combinatorial optimization and solvers, and particularly relates to a configuration method, a controller, a device and a medium of a mixed-integer programming solver. Background Art
[0002] In the related art, Mixed-Integer Linear Programming (MILP) is a commonly used mathematical modeling and optimization tool, which has been widely applied in many industrial scenarios such as traffic scheduling, energy management, financial optimization, and supply chain management. The solution of such problems depends on a mathematical optimization software called a "solver". There are often hundreds or thousands of configuration parameters inside the solver, which are used to control its search strategy, pruning method, heuristic rules, preprocessing method, etc. These parameters involve multiple sub-modules and have complex relationships such as interdependence or conditional enabling. In practical applications, different mixed-integer programming problems vary greatly in structure, scale, and difficulty. In order to improve the solution efficiency or reduce the consumption of computing resources, it is often necessary to select different "parameter configuration schemes" for different problem instances. However, the parameter configuration process is highly dependent on experience, and trying different parameter combinations may consume a large amount of computing resources. Summary of the Invention
[0003] The present application aims to at least solve one of the technical problems existing in the prior art. For this purpose, the present application provides a configuration method, a controller, a device and a medium of a mixed-integer programming solver, aiming to realize the intelligent parameter configuration of the solver, thereby improving the solution efficiency and adaptability.
[0004] In a first aspect, an embodiment of the present application provides a configuration method of a mixed-integer programming solver, and the method includes: Obtain a problem instance to be solved and a historical problem instance data set; Extract graph features from the problem instance to be solved to obtain a first bipartite graph; Through a pre-trained problem instance feature representation module, extract features according to the first bipartite graph to obtain a feature representation of the similarity space of the problem instance to be solved; Through a pre-trained problem instance similarity inference module, perform similarity calculation in the historical problem instance data set according to the feature representation to obtain a similarity vector; Perform a nearest neighbor search in the historical problem instances according to the similarity vector to determine a target similar instance, and use the solver configuration of the target similar instance as the solver configuration of the problem instance to be solved.
[0005] According to some embodiments of the present application, the extracting graph features from the problem instance to be solved to obtain a first bipartite graph includes: Extract graph features from the instance problem to be solved, and obtain the first bipartite graph construction feature of the instance problem to be solved; Construct according to the first bipartite graph construction feature to obtain the first bipartite graph.
[0006] According to some embodiments of the present application, the historical problem instance dataset contains multiple historical problem instances, and the problem instance feature representation module and the problem instance similarity inference module are trained through the following steps: Under various different and orthogonal solver configuration conditions, collect features of each of the historical problem instances to obtain a feedback vector group for each of the historical problem instances; In the historical problem instance dataset, calculate any two of the historical problem instances in sequence according to the feedback vector group to obtain a similarity label matrix; Extract graph features from each of the historical problem instances to obtain a second bipartite graph; Extract features from the second bipartite graph to obtain problem features; Calculate a loss value according to the similarity label matrix and the problem features; Train the problem instance feature representation module and the problem instance similarity inference module according to the loss value to obtain the trained problem instance feature representation module and the problem instance similarity inference module.
[0007] According to some embodiments of the present application, the collecting features of each of the historical problem instances to obtain a feedback vector group for each of the historical problem instances includes: Collect features of each of the historical problem instances to obtain feedback information of each of the historical problem instances under various solver configuration conditions; Construct a vector group for the feedback information of each of the historical problem instances in sequence to obtain each of the feedback vector groups.
[0008] According to some embodiments of the present application, the calculating any two of the historical problem instances in sequence according to the feedback vector group to obtain a similarity label matrix includes: Calculate any two of the historical problem instances in sequence according to the feedback vector group through a preset similarity calculation formula to obtain a plurality of feedback similarity scores; Construct a matrix according to the feedback similarity scores to obtain the similarity label matrix.
[0009] According to some embodiments of the present application, the similarity calculation formula is: ; Among them, the represents the feedback similarity score, and the and the represent two of the historical problem instances, and the represents the total number of solution conditions, and the and the respectively represent the feedback vector groups of two of the historical problem instances under the i-th solver configuration condition, and the and the respectively represent the feedback vector groups of two of the historical problem instances under the j-th solver configuration condition.
[0010] According to some embodiments of the present application, the graph feature extraction of each of the historical problem instances to obtain a second bipartite graph includes: Performing graph feature extraction on each of the historical problem instances to obtain the second bipartite graph construction features of each of the historical problem instances; Constructing according to the second bipartite graph construction features to obtain a second bipartite graph.
[0011] In a second aspect, an embodiment of the present application provides a controller, including: a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor runs the computer program, it executes the configuration method of the mixed-integer programming solver in the first aspect as described above.
[0012] In a third aspect, an embodiment of the present application provides a configuration device for a mixed-integer programming solver, including the controller as described in the second aspect.
[0013] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium storing computer-executable instructions for executing the configuration method of the mixed-integer programming solver in the first aspect as described above.
[0014] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program or computer instructions, the computer program or the computer instructions are stored in a computer-readable storage medium, a processor of a computer device reads the computer program or the computer instructions from the computer-readable storage medium, and the processor executes the computer program or the computer instructions, so that the computer device executes the configuration method of the mixed-integer programming solver in the first aspect as described above.
[0015] According to the technical solution of the embodiment of the present application, it has at least the following beneficial effects: The present application proposes a configuration method, a controller, a device and a medium for a mixed integer programming solver. The method includes: First, obtain the problem instance to be solved and the historical problem instance data set; Second, extract the graph features of the obtained problem instance to be solved to obtain a first bipartite graph, and then extract the features of the first bipartite graph through a pre-trained problem instance feature representation module to obtain the feature representation of the similarity space of the problem instance to be solved; Third, through a pre-trained problem instance similarity inference module, perform similarity calculation in the historical problem instance data set according to the feature representation to obtain a similarity vector, and then perform a nearest neighbor search in the historical problem instances according to the similarity vector to determine the target similar instance, and use the solver configuration of the target similar instance as the solver configuration of the problem instance to be solved. Since the present application can perform a nearest neighbor search in the historical problem instances through the similarity vector to obtain the target similar instance, and use the optimal solver configuration of the target similar instance as the solver configuration of the problem instance to be solved, the present application can realize the intelligent parameter configuration of the solver and improve the solving efficiency and adaptation ability.
[0016] Additional aspects and advantages of the present application will be given in part in the following description, become apparent in part from the following description, or be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings are used to provide a further understanding of the technical solution of the present application, and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application, and do not constitute a limitation to the technical solution of the present application.
[0018] Figure 1 is a flowchart of a configuration method for a mixed integer programming solver provided by an embodiment of the present application; Figure 2 is Figure 1 a sub-step flowchart of step S120 shown; Figure 3 is a flowchart of a configuration method for a mixed integer programming solver provided by another embodiment of the present application; Figure 4 is Figure 3 a sub-step flowchart of step S310 shown; Figure 5 is Figure 3 a sub-step flowchart of step S320 shown; Figure 6 is Figure 3 a sub-step flowchart of step S330 shown; Figure 7 is a schematic diagram of the learning stage provided by an embodiment of the present application; Figure 8 It is a schematic diagram of the solution stage provided by an embodiment of the present application; Figure 9 It is a schematic diagram of a controller for a configuration method for executing a mixed-integer programming solver provided by an embodiment of the present application. Detailed implementation manners
[0019] The embodiments of the present application will be described in detail below. The examples of the embodiments are shown in the drawings, where the same or similar reference numerals denote the same or similar elements or elements with the same or similar functions from beginning to end. The embodiments described below with reference to the drawings are exemplary and are only used to explain the present application, and should not be construed as a limitation to the present application.
[0020] In the description of the present application, it should be understood that for the orientation description, such as the upper, lower, front, rear, left, right, etc., the orientation or positional relationship indicated is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be construed as a limitation to the present application.
[0021] In the description of the present application, the meaning of "several" is one or more, the meaning of "multiple" is two or more, "greater than", "less than", "exceeding", etc. are understood as not including the present number, and "above", "below", "within", etc. are understood as including the present number. If the first and second are described only for the purpose of distinguishing technical features, they should not be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features or implicitly indicating the sequence of the indicated technical features.
[0022] In the description of the present application, unless otherwise clearly defined, words such as "set", "installed", "connected", etc. should be understood in a broad sense, and those skilled in the art can reasonably determine the specific meanings of the above words in the present application in combination with the specific content of the technical solution.
[0023] In some cases, Mixed-Integer Linear Programming (MILP) is a commonly used mathematical modeling and optimization tool, which has been widely applied in many industrial scenarios such as traffic scheduling, energy management, financial optimization, and supply chain management. Solving such problems depends on a mathematical optimization software called "solver". There are often hundreds or thousands of configuration parameters inside the solver, which are used to control its search strategy, pruning method, heuristic rules, preprocessing method, etc. These parameters involve multiple sub-modules and have complex relationships such as mutual dependence or conditional enabling. In practical applications, different mixed-integer programming problems vary greatly in structure, scale, and difficulty. In order to improve the solving efficiency or reduce the consumption of computing resources, it is often necessary to select different "parameter configuration schemes" for different problem instances. However, the parameter configuration process is highly dependent on experience, and trying different parameter combinations may consume a large amount of computing resources.
[0024] Based on the above situation, the present application proposes a configuration method, a controller, a device, and a medium for a mixed-integer programming solver, aiming to achieve intelligent parameter configuration of the solver, thereby improving the solving efficiency and adaptability.
[0025] The following further elaborates on each embodiment of the configuration method for the mixed-integer programming solver of the present application with reference to the accompanying drawings.
[0026] As Figure 1 shown, Figure 1 is a flowchart of a configuration method for a mixed-integer programming solver provided by an embodiment of the present application; the configuration method of the solver includes but is not limited to steps S110, S120, S130, S140, and S150.
[0027] Step S110: Obtain the problem instance to be solved and the historical problem instance dataset; Step S120: Extract graph features from the problem instance to be solved to obtain a first bipartite graph; Step S130: Through a pre-trained problem instance feature representation module, extract features according to the first bipartite graph to obtain the feature representation of the similarity space of the problem instance to be solved; Step S140: Through a pre-trained problem instance similarity inference module, perform similarity calculation in the historical problem instance dataset according to the feature representation to obtain a similarity vector; Step S150: Perform a nearest neighbor search in the historical problem instances according to the similarity vector to determine the target similar instance, and use the solver configuration of the target similar instance as the solver configuration of the problem instance to be solved.
[0028] In one embodiment, first, the embodiment of the present application obtains the instance problem to be solved and the historical problem instance dataset; secondly, performs graph feature extraction on the obtained instance problem to be solved to obtain a first bipartite graph, and then extracts features of the first bipartite graph through a pre-trained problem instance feature representation module to obtain the feature representation of the similarity space of the instance problem to be solved; thirdly, through a pre-trained problem instance similarity reasoning module, performs similarity calculation in the historical problem instance dataset according to the feature representation to obtain a similarity vector, and then performs nearest neighbor retrieval in the historical problem instances according to the similarity vector to determine the target similar instance, and uses the solver configuration of the target similar instance as the solver configuration of the instance problem to be solved. Since the present application can perform nearest neighbor retrieval in the historical problem instances through the similarity vector to obtain the target similar instance, and use the solver configuration of the target similar instance as the solver configuration of the instance problem to be solved, the present application can realize the intelligent parameter configuration of the solver and improve the solving efficiency and adaptation ability.
[0029] It can be understood that the traditional method is less efficient in dealing with large-scale configuration spaces, needs to repeatedly solve a large number of instances, and is time-consuming and expensive. However, the embodiment of the present application can determine the configuration of the instance problem to be solved through the problem instance feature representation module and the problem instance similarity reasoning module, so that it is not necessary to traverse all parameter combinations, effectively reducing the computational overhead and improving the configuration efficiency.
[0030] It can be understood that the structure of the instance problem to be solved in the embodiment of the present application is known, including a variable set, a constraint matrix, and an objective function.
[0031] It can be understood that the embodiment of the present application uses a nearest neighbor retrieval strategy to find the most similar instance to the current instance problem to be solved in the historical problem instance dataset as the target similar instance, and then uses the optimal solver configuration of the target similar instance as the solver configuration of the instance problem to be solved.
[0032] It can be understood that the above preset loss function is: ; where represents the loss value, t represents the number of historical problem instances, represents the similarity label matrix, represents the problem feature.
[0033] As Figure 2 shown, Figure 2 is Figure 1 the sub-step flowchart of step S120 shown; regarding the above step S120, it includes but is not limited to step S210 and step S220.
[0034] Step S210: Extract graph features from the instance problem to be solved to obtain the first bipartite graph construction features of the instance problem to be solved. Step S220: Construct according to the first bipartite graph construction features to obtain the first bipartite graph.
[0035] In one embodiment, the embodiment of the present application extracts graph features from the instance problem to be solved to obtain the first bipartite graph construction features of the instance problem to be solved, including node types, connection relationships of the constructed graph, node features, and edge features, and thus constructs according to the first bipartite graph construction features to obtain the first bipartite graph. Therefore, the embodiment of the present application can extract features through the first bipartite graph to obtain the feature representation of the similarity space of the instance problem to be solved, and thus obtain a similarity vector according to the feature representation. Furthermore, it can perform nearest neighbor retrieval in the historical problem instances through the similarity vector to obtain the target similar instance, and use the optimal solver configuration of the target similar instance as the solver configuration of the instance problem to be solved. Therefore, the present application can achieve intelligent parameter configuration of the solver, improving the solving efficiency and adaptation ability.
[0036] As Figure 3 shown, Figure 3 is a flowchart of a configuration method for a mixed integer programming solver provided by another embodiment of the present application; the historical problem instance dataset contains multiple historical problem instances, and the problem instance feature representation module and the problem instance similarity inference module are trained through the following steps, including but not limited to Step S310, Step S320, Step S330, Step S340, Step S350, and Step S360.
[0037] Step S310: Under various different and orthogonal solver configuration conditions, collect features of each historical problem instance to obtain a feedback vector group of each historical problem instance. Step S320: In the historical problem instance dataset, calculate any two historical problem instances in sequence according to the feedback vector group to obtain a similarity label matrix. Step S330: Extract graph features from each historical problem instance to obtain a second bipartite graph. Step S340: Extract features from the second bipartite graph to obtain problem features. Step S350: Calculate the loss according to the similarity label matrix and the problem features to obtain a loss value. Step S360: Train the problem instance feature representation module and the problem instance similarity inference module according to the loss value to obtain the trained problem instance feature representation module and the problem instance similarity inference module.
[0038] In one embodiment, first, in the embodiments of the present application, under various different and orthogonal solver configuration conditions, feature collection is performed on each historical problem instance to obtain a feedback vector group for each historical problem instance. Thus, in the historical problem instance dataset, calculations are sequentially performed on any two historical problem instances through the feedback vector group to obtain a similarity label matrix. Secondly, the embodiments of the present application perform graph feature extraction on each historical problem instance to obtain a second bipartite graph. Then, feature extraction is performed on the second bipartite graph to obtain problem features. Furthermore, loss calculation is performed through the similarity label matrix and the problem features to obtain a loss value. Finally, the problem instance feature representation module and the problem instance similarity inference module are trained according to the loss value to obtain a trained problem instance feature representation module and a problem instance similarity inference module. Therefore, the embodiments of the present application can obtain a similarity vector through the trained problem instance feature representation module and the problem instance similarity inference module, thereby obtaining the solver configuration for the problem instance to be solved, realizing intelligent parameter configuration of the solver, and improving the solving efficiency and adaptation ability.
[0039] As Figure 4 shown, Figure 4 is Figure 3 the sub-step flowchart of step S310 shown; regarding the feature collection of each historical problem instance in the above step S310 to obtain a feedback vector group for each historical problem instance, it includes but is not limited to step S410 and step S420.
[0040] Step S410: Perform feature collection on each historical problem instance to obtain feedback information of each historical problem instance under various solver configuration conditions; Step S420: Sequentially construct a vector group for the feedback information of each historical problem instance to obtain each feedback vector group.
[0041] It can be understood that for each historical problem instance, the solver is run under various different and orthogonal solver configuration conditions, and feedback information such as the solving time, optimal solution, solving state, gap value, etc. of each historical problem instance is collected, and a feedback vector group for each historical problem instance is constructed through the feedback information as a feedback tensor.
[0042] As Figure 5 shown, Figure 5 is Figure 3 the sub-step flowchart of step S320 shown; regarding the calculation of any two historical problem instances in sequence according to the feedback vector group in the above step S320 to obtain a similarity label matrix, it includes but is not limited to step S510 and step S520.
[0043] Step S510: Calculate multiple feedback similarity scores by successively calculating any two historical problem instances according to a preset similarity calculation formula based on the feedback vector group. Step S520: Construct a matrix based on the feedback similarity scores to obtain a similarity label matrix.
[0044] It can be understood that in order to measure the sorting consistency of the feedback results of two historical problem instances under different configurations of the solver, through a preset similarity calculation formula, calculate the consistency of the feedback sorting of each pair of historical problem instances under each configuration condition, obtain the feedback similarity score of this pair of historical problem instances, and construct a matrix to obtain a similarity label matrix.
[0045] It can be understood that the above preset similarity calculation formula is: ; where represents the feedback similarity score, and represent two historical problem instances, represents the total number of solution conditions, and respectively represent the feedback vector groups of two historical problem instances under the i-th solver configuration condition, and respectively represent the feedback vector groups of two historical problem instances under the j-th solver configuration condition.
[0046] It can be understood that the meaning of the preset similarity calculation formula is: traverse all configuration pairs (i, j), calculate whether the relative order of the feedback information of two historical problem instances under these two configuration conditions is consistent respectively, and perform normalization globally. If the two historical problem instances show a highly consistent feedback trend under each configuration condition, then the value is close to 1; if the order is exactly the opposite, then the value approaches -1.
[0047] As Figure 6 shown, Figure 6 is Figure 3 the sub-step flowchart of step S330 shown; regarding the above step S330, it includes but is not limited to step S610 and step S620.
[0048] Step S610: Extract graph features for each historical problem instance to obtain the second bipartite graph construction features of each historical problem instance. Step S620: Construct according to the second bipartite graph construction features to obtain the second bipartite graph.
[0049] In one embodiment, the embodiments of the present application perform graph feature extraction on each historical problem instance to obtain the second bipartite graph construction features of each historical problem instance, including node types, connection relationships of the constructed graph, node features, and edge features. Then, based on the second bipartite graph construction features, a second bipartite graph is constructed. Therefore, the embodiments of the present application can extract problem features through the second bipartite graph, obtain a loss value through the similarity label matrix and the problem features, and train the problem instance feature representation module and the problem instance similarity inference module to obtain the trained problem instance feature representation module and the problem instance similarity inference module. Furthermore, the trained problem instance feature representation module and the problem instance similarity inference module can be used to obtain a similarity vector, and the similarity vector can be used for nearest neighbor retrieval to obtain the solver configuration for the instance problem to be solved, realizing the intelligent parameter configuration of the solver and improving the solving efficiency and adaptation ability.
[0050] Based on the configuration methods of the mixed-integer programming solver in the above various embodiments, the overall embodiments of the configuration method of the mixed-integer programming solver of the present application are proposed below.
[0051] As Figure 7 and Figure 8 shown, Figure 7 is a schematic diagram of the learning stage provided by an embodiment of the present application, Figure 8 is a schematic diagram of the solving stage provided by an embodiment of the present application.
[0052] I. The learning stage mainly includes the following modules: 1. Historical problem instance input module: used to read historical problem instances; 2. Conditional solver feedback acquisition module: runs the solver under different configuration conditions and collects feedback information, such as solving time, solving quality, etc.; 3. Feedback similarity calculation module: defines the feedback similarity of the solver based on the feedback ranking consistency; 4. Problem instance feature representation module: converts the historical problem instance into a variable-constraint bipartite graph representation and extracts features using a neural network; 5. Problem instance similarity learning module: performs representation learning on historical problem instances using a neural network; 6. Problem instance similarity inference module: a prediction model for estimating the similarity between any two problem instances.
[0053] II. The solving stage mainly includes the following modules: 1. Solving problem instance input module: reads the instance problem to be solved; 2. Problem instance feature standard module: runs the solver under different configuration conditions and collects feedback information, such as solving time, solving quality, etc.; 3. Problem instance similarity reasoning module: A prediction model for estimating the similarity between any two problem instances; 4. Solving problem instance condition recommendation module: Select the optimal parameter conditions from similar instances as the solver configuration for the problem to be solved.
[0054] Exemplarily, in the learning stage, construct a problem instance feature representation module and a problem instance similarity reasoning module that can feedback similarity vectors between mixed-integer programming problem instances. The process includes the following steps: 1. Collection of historical problem instance data set: In the embodiment of the present application, 120 historical problem instances are collected from a typical mixed-integer programming problem set coverage. These historical problem instances are synthesized by an existing generator, and their solving times are controlled between 10 seconds and 1000 seconds to ensure the effectiveness of the sampling feedback.
[0055] 2. Collection of conditional solver feedback: For each historical problem instance, run the solver under 64 different and orthogonal solver configuration conditions, and collect feedback information such as solving time, optimal solution, solving status, gap value, etc., to construct a feedback vector group for each historical problem instance as a feedback tensor.
[0056] 3. Calculation of conditional solver feedback similarity. For each pair of historical problem instances, calculate the consistency of their feedback rankings under each configuration condition, obtain the feedback similarity score of this pair of historical problem instances, and form a similarity label matrix for supervised learning. In the embodiment of the present application, in order to measure the ranking consistency of the feedback results of two historical problem instances under different solver configuration conditions, a preset similarity calculation formula is used to calculate the feedback similarity score of the two historical problem instances. The preset similarity calculation formula is: Where, represents the feedback similarity score, and represent two historical problem instances, represents the total number of solving conditions, and respectively represent the feedback vector groups of the two historical problem instances under the i-th solver configuration condition, and respectively represent the feedback vector groups of the two historical problem instances under the j-th solver configuration condition; the meaning of this preset similarity calculation formula is: traverse all configuration pairs (i, j), and calculate whether the relative order of the feedback information of the two historical problem instances under these two configuration conditions is consistent, and perform global normalization. If the two historical problem instances show a highly consistent feedback trend under each configuration condition, then is close to 1; if the order is exactly the opposite, then tends to -1.
[0057] 4. Problem structure graph construction and feature generation. Through the pre-trained problem instance feature representation module, graph features are extracted from each historical problem instance to obtain the second bipartite graph construction features of each historical problem instance. Then, construction is carried out through the second bipartite graph construction features, and each historical problem instance is further represented as a second bipartite graph composed of variable nodes and constraint nodes.
[0058] 5. Feature extraction is performed on the second bipartite graph through a graph neural network model to obtain problem features.
[0059] 6. Similarity metric learning model training: For each pair of historical problem instances, the problem instance similarity learning module simultaneously receives the similarity label matrix of each historical problem instance and each problem feature, and thus calculates the loss value through a preset loss function where, represents the loss value, t represents the number of historical problem instances, represents the similarity label matrix, represents the problem feature. Furthermore, the loss value calculated through the loss function is used to train the pre-trained problem instance feature representation module and the pre-trained problem instance similarity inference module, so that instances with similar feedback are closer in the embedding space, and instances with dissimilar feedback are more separated. Finally, an instance embedding mapping function with feedback perception ability is formed, and finally the optimized problem instance feature representation module and the problem instance similarity inference module are returned.
[0060] In the inference stage, for a problem instance to be solved, its optimal solver parameter configuration is quickly predicted to improve the actual solving performance. The steps are as follows: 1. Input the problem instance to be solved: The requester submits a problem instance to be solved, whose structure is known, including a variable set, a constraint matrix, and an objective function.
[0061] 2. Solving problem graph construction and feature extraction: The problem instance to be solved is constructed into a variable-constraint first bipartite graph, and the pre-trained problem instance feature representation module is called to obtain its feature representation in the similarity space.
[0062] 3. Inference of the similarity of the problem instance to be solved: After obtaining the feature representation of the problem instance to be solved, the pre-trained problem instance similarity inference module is used to calculate the similarity vector between the problem instance to be solved and the historical problem instances to assist in subsequent solver condition recommendation.
[0063] 4. Recommend the optimal conditional parameters for the problem instance to be solved: Use the nearest neighbor retrieval strategy, that is, find the k most similar instances (k = 1 is set in this embodiment) in the historical problem instances of the historical instance dataset, select the configuration with the best performance (such as the shortest total solution time) as the target similar instance, and use the solver configuration of the target similar instance as the solver configuration for the problem instance to be solved.
[0064] Based on the configuration methods of the mixed-integer programming solver in the above various embodiments, the following respectively present the various embodiments of the controller, the configuration device of the mixed-integer programming solver, the computer-readable storage medium, and the computer program product of the present application.
[0065] As Figure 9 shown, Figure 9 is a schematic diagram of a controller for executing the configuration method of the mixed-integer programming solver provided by an embodiment of the present application. The controller 700 implemented in the present application includes: a processor 710, a memory 720, and a computer program stored on the memory 720 and executable on the processor 710. Among them, Figure 9 one processor 710 and one memory 720 are taken as examples.
[0066] The processor 710 and the memory 720 can be connected through a bus or other means. Figure 9 Taking the connection through the bus as an example.
[0067] The memory 720, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. In addition, the memory 720 can include high-speed random access memory, and can also include non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some embodiments, the memory 720 may optionally include a memory 720 remotely set relative to the processor 710, and these remote memories 720 can be connected to the controller 700 through a network. Examples of the above network include but are not limited to the Internet, an enterprise intranet, a local area network, a mobile communication network, and their combinations.
[0068] Those skilled in the art can understand that Figure 9 the device structure shown in
[0069] does not constitute a limitation on the controller 700, and may include more or fewer components than shown in the figure, or combine certain components, or arrange different components. Figure 9In the illustrated controller 700, the processor 710 may be used to call the control program stored in the memory 720, so as to implement the configuration method of the above-mentioned mixed-integer programming solver. Specifically, the non-transitory software program and instructions required to implement the configuration method of the mixed-integer programming solver in the above embodiments are stored in the memory 720, and when executed by the processor 710, they execute the configuration method of the mixed-integer programming solver in the above embodiments.
[0070] It should be noted that since the controller 700 in the embodiments of the present application can execute the configuration method of the mixed-integer programming solver in any of the above embodiments, therefore, the specific implementation manners and technical effects of the controller 700 in the embodiments of the present application can refer to the specific implementation manners and technical effects of the configuration method of the mixed-integer programming solver in any of the above embodiments.
[0071] In addition, an embodiment of the present application further provides a configuration device for a mixed-integer programming solver, and the configuration device for the mixed-integer programming solver includes the controller in the above embodiment.
[0072] It should be noted that since the configuration device for the mixed-integer programming solver in the embodiments of the present application includes the controller in the above embodiment, and the controller in the above embodiment can execute the configuration method of the mixed-integer programming solver in any of the above embodiments, therefore, the specific implementation manners and technical effects of the configuration device for the mixed-integer programming solver in the embodiments of the present application can refer to the specific implementation manners and technical effects of the configuration method of the mixed-integer programming solver in any of the above embodiments.
[0073] In addition, an embodiment of the present application further provides a computer-readable storage medium, and the computer-readable storage medium stores computer-executable instructions for executing the above-mentioned configuration method of the mixed-integer programming solver. Exemplarily, execute the Figures 1 to 6 method steps in the above description.
[0074] It should be noted that since the computer-readable storage medium in the embodiments of the present application can execute the configuration method of the mixed-integer programming solver in any of the above embodiments, therefore, the specific implementation manners and technical effects of the computer-readable storage medium in the embodiments of the present application can refer to the specific implementation manners and technical effects of the configuration method of the mixed-integer programming solver in any of the above embodiments.
[0075] In addition, an embodiment of the present application further provides a computer program product, including a computer program or computer instructions. The computer program or computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer program or computer instructions from the computer-readable storage medium, and the processor executes the computer program or computer instructions, so that the computer device executes the configuration method of the above-mentioned mixed integer programming solver. Exemplarily, execute the method steps described above Figures 1 to 6 in the above.
[0076] It should be noted that since the computer program product of the embodiment of the present application can execute the configuration method of the mixed integer programming solver in any of the above embodiments, therefore, for the specific implementation manners and technical effects of the computer program product of the embodiment of the present application, reference may be made to the specific implementation manners and technical effects of the configuration method of the mixed integer programming solver in any of the above embodiments.
[0077] Those of ordinary skill in the art can understand that all or some of the steps and systems in the methods disclosed above can be implemented as software, firmware, hardware, and their appropriate combinations. Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or can be implemented as hardware, or can be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include a computer storage medium (or non-transitory medium) and a communication medium (or transitory medium). As is well known to those of ordinary skill in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, as is well known to those of ordinary skill in the art, a communication medium generally includes computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and can include any information delivery medium.
[0078] It should be understood that in this application, "at least one (item)" means one or more, and "a plurality" means two or more. "And / or" is used to describe the relationship between associated objects and indicates that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and both A and B exist at the same time. Here, A and B can be singular or plural. The character " / " generally indicates an "or" relationship between the associated objects before and after. "At least one (item) of the following" or a similar expression means any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b, or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0079] In several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces, and the indirect coupling or communication connection of devices or units can be in electrical, mechanical, or other forms. The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0080] It should also be understood that the various embodiments provided in the embodiments of this application can be combined arbitrarily to achieve different technical effects.
[0081] The above is a specific description of the preferred embodiments of this application, but this application is not limited to the above embodiments. Those skilled in the art can also make various equivalent deformations or substitutions without departing from the spirit of this application, and these equivalent deformations or substitutions are all included within the scope defined by the claims of this application.
Claims
1. A configuration method for a mixed-integer programming solver, characterized in that The method includes: Obtaining an instance problem to be solved and a historical problem instance data set; Performing graph feature extraction on the instance problem to be solved to obtain a first bipartite graph; Through a pre-trained problem instance feature representation module, performing feature extraction according to the first bipartite graph to obtain a feature representation of the similarity space of the instance problem to be solved; Through a pre-trained problem instance similarity inference module, performing similarity calculation in the historical problem instance data set according to the feature representation to obtain a similarity vector; Performing nearest neighbor retrieval in the historical problem instances according to the similarity vector to determine a target similar instance, and using the solver configuration of the target similar instance as the solver configuration of the instance problem to be solved.
2. The method according to claim 1, characterized in that, The performing graph feature extraction on the instance problem to be solved to obtain a first bipartite graph includes: Performing graph feature extraction on the instance problem to be solved to obtain the first bipartite graph construction feature of the instance problem to be solved; Constructing according to the first bipartite graph construction feature to obtain a first bipartite graph.
3. The method according to claim 1, wherein The historical problem instance data set contains multiple historical problem instances, and the problem instance feature representation module and the problem instance similarity inference module are trained through the following steps: Under various different and orthogonal solver configuration conditions, performing feature collection on each of the historical problem instances to obtain a feedback vector group for each of the historical problem instances; In the historical problem instance data set, sequentially calculating any two historical problem instances according to the feedback vector group to obtain a similarity label matrix; Performing graph feature extraction on each of the historical problem instances to obtain a second bipartite graph; Performing feature extraction on the second bipartite graph to obtain problem features; Calculating a loss value according to the similarity label matrix and the problem features; Training the problem instance feature representation module and the problem instance similarity inference module according to the loss value to obtain the trained problem instance feature representation module and the problem instance similarity inference module.
4. The method according to claim 3, wherein The performing feature collection on each of the historical problem instances to obtain a feedback vector group for each of the historical problem instances includes: Performing feature collection on each of the historical problem instances to obtain the feedback information of each of the historical problem instances under various solver configuration conditions; Sequentially constructing a vector group for the feedback information of each of the historical problem instances to obtain each feedback vector group.
5. The method according to claim 3, characterized in that, The sequentially calculating any two historical problem instances according to the feedback vector group to obtain a similarity label matrix includes: Through a preset similarity calculation formula, sequentially calculating any two historical problem instances according to the feedback vector group to obtain a plurality of feedback similarity scores; Constructing a matrix according to the feedback similarity scores to obtain the similarity label matrix.
6. The method according to claim 5, characterized in that The similarity calculation formula is: ; Among them, the represents the feedback similarity score, the and the represent two of the historical problem instances, the represents the total number of solution conditions, the and the respectively represent the feedback vector groups of two of the historical problem instances under the i-th solver configuration condition, the and the respectively represent the feedback vector groups of two of the historical problem instances under the j-th solver configuration condition.
7. The method according to claim 3, characterized in that, The performing graph feature extraction on each of the historical problem instances to obtain a second bipartite graph includes: Performing graph feature extraction on each of the historical problem instances to obtain the second bipartite graph construction feature of each of the historical problem instances; Construct according to the construction feature of the second bipartite graph to obtain the second bipartite graph.
8. A controller, characterized in that, Including: A memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor runs the computer program, it executes the configuration method of the mixed-integer programming solver according to any one of claims 1 to 7.
9. A configuration device for a mixed integer programming solver, characterized in that, Including the controller according to claim 8.
10. A computer-readable storage medium, characterized in that: Stored with computer-executable instructions for executing the configuration method of the mixed-integer programming solver according to any one of claims 1 to 7.