Processing method and processing device for combined optimization task

By grouping candidate solutions for combinatorial optimization tasks and using neural network models, the problem of low processing efficiency for large-scale combinatorial optimization tasks is solved and a faster solution process is achieved.

CN111915060BActive Publication Date: 2025-01-21HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010612243.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-30
Publication Date
2025-01-21
Estimated Expiration
2040-06-30

AI Technical Summary

Technical Problem

When the prior art deals with large-scale combination optimization tasks, the solution time is too long and the processing efficiency is low.

Method used

The candidate solutions in the first solution set are grouped by the computing device, input into the pre-trained neural network model, multiple target confidences are obtained, and the solution set corresponding to the maximum target confidence is selected as the second solution set, thereby selecting the target solution .

Benefits of technology

The processing time of the combination optimization task is shortened and the processing efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111915060B_ABST
    Figure CN111915060B_ABST
Patent Text Reader

Abstract

The present application provides a processing method and processing device for a combinatorial optimization task, which belongs to the field of artificial intelligence technology. The processing method includes: a computing device obtains a first solution set for a target problem from a memory, and the target problem is a problem that needs to be solved to achieve the target combinatorial optimization task; the computing device groups the candidate solutions in the first solution set to obtain multiple solution sets; the computing device inputs the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution; the computing device selects the solution set corresponding to the maximum target confidence in the multiple target confidences from the multiple solution sets according to the multiple target confidences to obtain a second solution set; the computing device selects the target solution from the second solution set. Based on the technical method of the present application, the processing time of the combinatorial optimization task can be shortened and the processing efficiency of the combinatorial optimization task can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence, and more specifically, to a processing method and a processing device for a combinatorial optimization task. Background Art

[0002] Artificial intelligence (AI) is the theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a branch of computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is also the study of the design principles and implementation methods of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.

[0003] Combinatorial optimization tasks have always been a difficult problem in the computer field. Specifically, a specific algorithm is required to obtain N optimal or approximately optimal combination solutions for combinatorial optimization from several alternative results. At present, the branch-and-bound algorithm is usually used to solve combinatorial optimization tasks. The pre-trained neural network model can imitate and learn the path characteristics of branch-and-bound for a large number of similar types of problems, so that in the process of solving new problems, the pre-trained sorting model can be used to replace the node selection of the traditional branch-and-bound method. However, the current neural network model takes too long to solve combinatorial optimization tasks involving large-scale data, that is, the processing efficiency of combinatorial optimization tasks is low.

[0004] Therefore, how to improve the processing efficiency of combinatorial optimization tasks has become a technical problem that needs to be solved urgently. Summary of the invention

[0005] The present application provides a method and a device for processing a combinatorial optimization task, which can shorten the processing time of the combinatorial optimization task and improve the processing efficiency of the combinatorial optimization task.

[0006] In a first aspect, a method for processing a combinatorial optimization task is provided, comprising: a computing device obtains a first solution set for a target problem from a memory, the target problem being a problem to be solved to achieve a target combinatorial optimization task, the first solution set comprising M candidate solutions for the target problem, where M is an integer greater than 1; the computing device groups the candidate solutions in the first solution set to obtain a plurality of solution sets; the computing device inputs the plurality of solution sets into a pre-trained neural network model to obtain a plurality of target confidences, the plurality of target confidences corresponding one-to-one to the plurality of solution sets, each target confidence in the plurality of target confidences being used to indicate that the corresponding solution set includes the confidence of the target solution, the target solution being a candidate solution in the first solution set that makes a planning result of the target problem satisfy a preset constraint condition; the computing device selects, from the plurality of solution sets, a solution set corresponding to a maximum target confidence in the plurality of target confidences, to obtain a second solution set according to the plurality of target confidences; the computing device selects the target solution from the second solution set.

[0007] It should be understood that a combinatorial optimization task can refer to a task of finding an optimal solution or a near-optimal solution within a finite set to solve a combinatorial optimization problem. Generally speaking, a combinatorial optimization task can be represented by a mixed integer programming problem, and can also be represented by a non-deterministic problem.

[0008] It should be noted that the target solution may refer to a candidate solution that enables the planning result of the target problem to satisfy preset constraints; wherein, the target problem may refer to a functional relationship including multiple variables; the candidate solution may refer to the candidate value of each variable in the multiple variables in the functional relationship; the target solution may refer to the candidate value of multiple variables that enables the multiple variables to satisfy the preset constraints; the preset constraints may refer to the constraints on the candidate values ​​of each variable and / or the constraints on multiple variables as a whole; for example, the preset constraints may refer to the candidate values ​​of multiple variables that enable the multiple variables as a whole to reach the maximum value, minimum value or other constraints.

[0009] For example, a candidate solution may refer to a candidate target capacity of each of the multiple generation objects in a production scheduling task; a preset constraint may refer to a constraint on the daily capacity of each generation object, or a preset constraint may refer to a condition where the raw materials are certain, so that multiple generation objects can complete the required quantity of products and maximize the benefits of each generation object; the target solution may be a candidate target capacity corresponding to the candidate target capacity of each generation object that can maximize the benefits of each generation object. It should also be understood that each target confidence in multiple target confidences is used to indicate the confidence that the corresponding solution set includes the target solution, which may refer to the probability that each target confidence can be used to indicate the corresponding solution set includes the target solution; the greater the confidence that a solution set includes the target solution, the greater the probability that the solution set includes the target solution.

[0010] The computing device may be a device with a combined optimization task processing function, for example, it may include any device with a computing function known in the current technology, such as a server, a computer, etc.; or, the computing device may also refer to a chip with a computing function; for example, a chip configured in a server, a chip in a computer. The computing device may include a memory and a processor; the memory may be used to store program code, and the processor may be used to call the program code stored in the memory to implement the corresponding function of the computing device. The processor and memory included in the computing device may be implemented by a chip, and no specific limitation is made here.

[0011] In an embodiment of the present application, by adopting a pre-trained neural network model, it is possible to select some candidate solutions from all candidate solutions corresponding to the target problem, wherein the number of some candidate solutions is less than the number of all candidate solutions; further, the target solution is selected from the some candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problems of long solution time and low solution efficiency that exist in directly selecting the target solution from a large data set; through the processing method in the embodiment of the present application, the time for solving the problem required to achieve the combinatorial optimization task can be shortened when processing the combinatorial optimization task, thereby improving the processing efficiency of the combinatorial optimization task.

[0012] In a possible implementation, the above-mentioned multiple target confidences can be reflected by the scoring labels of multiple solution sets; if the numerical value of the scoring label of solution set 1 among multiple solution sets is greater than the numerical value of the scoring label of solution set 2, it can be explained that the probability of solution set 1 including the target solution is greater than the probability of solution set 2 including the target solution; then solution set 1 can be selected from the multiple solution sets as the second solution set.

[0013] In combination with the first aspect, in some implementations of the first aspect, the computing device groups candidate solutions in the first solution set to obtain multiple solution sets, including:

[0014] The computing device randomly groups candidate solutions in the first solution set to obtain the multiple solution sets.

[0015] In a possible implementation, the computing device may perform random and average grouping of candidate solutions in the first solution set to obtain the multiple solution sets.

[0016] In combination with the first aspect, in some implementations of the first aspect, the computing device selects the target solution from the second solution set, including:

[0017] The computing device selects, from the second solution set, a candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task as the target solution.

[0018] In one possible implementation, the computing device may select a candidate solution from the second solution set that makes the planning result of the target problem satisfy preset constraints as the target solution. The preset constraints may include maximizing the resource allocation rate or maximizing the benefit when achieving the target combination optimization task.

[0019] In combination with the first aspect, in certain implementations of the first aspect, the target combination optimization task includes any one of a production scheduling task, a three-dimensional packing task, and a site selection task.

[0020] In combination with the first aspect, in certain implementations of the first aspect, when the target combination optimization task is a production scheduling task, the target problem refers to achieving maximum production revenue based on the product demand quantity and the raw material quantity, and the first set includes M planning results, one of the M planning results is used to represent the target capacity of each production object in multiple generation objects, and the target solution refers to the planning result that achieves the maximum production revenue among the M planning results.

[0021] In combination with the first aspect, in certain implementations of the first aspect, when the target combinatorial optimization task is a three-dimensional packing task, the target problem refers to achieving maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, and the first candidate solution set includes M packing results, one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the target solution refers to the packing result among the M packing results that achieves the maximum space utilization of the box.

[0022] In combination with the first aspect, in certain implementations of the first aspect, when the target combination optimization task is a site selection task, the target problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, and the first solution set includes M site selection results, one of the M site selection results is used to represent the target site for each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site for each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0023] It should be noted that the above is an example of the target combination optimization task being a production scheduling task, a three-dimensional packing task, and a site selection task; the processing method of the combination optimization task of this application can also be applied to other combination optimization tasks, and this application does not impose any limitation on this.

[0024] In combination with the first aspect, in some implementations of the first aspect, the neural network model is obtained using the following training method:

[0025] Acquire training data, wherein the training data includes a sample problem, a first sample solution set, a second sample solution set, and a sample target solution, wherein the sample problem is a problem that needs to be solved to achieve a sample combination optimization task, the first sample solution set includes K candidate solutions for the sample problem, the sample target solution refers to a candidate solution in the first sample solution set that makes the planning result of the sample problem meet preset constraints, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set includes the sample target solution, K is an integer greater than 1, and L is an integer less than K; the neural network model is trained by taking the first sample solution set as input data to obtain the second sample solution set as a training target.

[0026] In conjunction with the first aspect, in some implementations of the first aspect, the method further includes:

[0027] The computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set;

[0028] The step of training the neural network model using the training data includes:

[0029] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the confidence level.

[0030] It should be noted that in the process of training the neural network, the neural network model is enabled to identify the second solution set including the target solution, that is, when multiple solution sets are input into the neural network model, the neural network model can output the confidences corresponding to the multiple solution sets, and the confidences can be used to indicate the confidences that the corresponding solution sets in the multiple solution sets include the sample target solution; by training the neural network model, the confidence of the second sample solution set output by the trained neural network model is greater than the confidences of other solution sets in the multiple solution sets, that is, the neural network model can identify the second sample solution set including the sample target solution in the multiple solution sets.

[0031] In an embodiment of the present application, multiple sample solution sets may be fixed, and the neural network model may be trained by dynamically adjusting the confidence levels of the multiple sample solution sets, that is, dynamically adjusting the confidence levels of the sample target solutions included in each sample solution set; compared with the training method of dynamically grouping multiple sample solution sets, the use of dynamically adjusting the confidence levels of multiple sample solution sets can shorten the training time of the neural network model.

[0032] In combination with the first aspect, in some implementations of the first aspect, the computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set, including:

[0033] The computing device randomly groups candidate solutions in the first sample solution set to obtain the second sample solution set.

[0034] In a possible implementation manner, the computer device may randomly and evenly group the candidate solutions in the first sample solution set to obtain multiple sample solution sets, wherein the multiple sample solution sets include the second sample solution set.

[0035] In combination with the first aspect, in some implementations of the first aspect, the step of using the neural network model to obtain the second sample target solution set including a first confidence of the sample target solution includes:

[0036] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0037] In an embodiment of the present application, a label representing the confidence of a target solution in each solution set among multiple solution sets may be obtained by weighting the confidence of multiple candidate solutions included in one solution set as the target solution.

[0038] In combination with the first aspect, in certain implementations of the first aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0039] In combination with the first aspect, in certain implementations of the first aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0040] In a second aspect, a training method for a combinatorial optimization task processing model is provided, comprising: obtaining training data, wherein the training data comprises a sample problem, a first sample solution set, a second sample solution set, and a sample target solution, the sample problem is a problem that needs to be solved to implement a sample combinatorial optimization task, the first sample solution set comprises K candidate solutions for the sample problem, the sample target solution refers to a candidate solution in the first sample solution set that makes a planning result of the sample problem satisfy a preset constraint condition, the second sample solution set comprises L candidate solutions selected from the first sample solution set, the second sample solution set comprises the sample target solution, K is an integer greater than 1, and L is an integer less than K; the neural network model is trained by taking the first sample solution set as input data and taking the second sample solution set as a training target to obtain a trained neural network model.

[0041] It should be understood that the above-mentioned trained neural network model can be used to select N candidate solutions from the first solution set corresponding to the combinatorial optimization problem to be processed to form a second solution set, wherein the first solution set includes M candidate solutions to the combinatorial optimization problem to be processed, and the combinatorial optimization problem to be processed is the problem that needs to be solved to achieve the combinatorial optimization task to be processed.

[0042] In conjunction with the second aspect, in some implementations of the second aspect, the method further includes:

[0043] The computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set;

[0044] The training of the neural network model by taking the first sample solution set as input data and obtaining the second sample solution set as a training target includes:

[0045] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the first confidence level.

[0046] In combination with the second aspect, in some implementations of the second aspect, the second sample solution set is obtained by randomly grouping candidate solutions in the first sample solution set.

[0047] In combination with the second aspect, in some implementations of the second aspect, the step of using the neural network model to obtain the second sample solution set including a first confidence of the sample target solution includes:

[0048] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0049] In combination with the second aspect, in certain implementations of the second aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0050] In combination with the second aspect, in certain implementations of the second aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0051] In combination with the second aspect, in certain implementations of the second aspect, the sample combination optimization task includes any one of a factory production scheduling task, a production scheduling task, a three-dimensional packing task, and a factory site selection task.

[0052] In combination with the second aspect, in certain implementations of the second aspect, when the sample combination optimization task is a production scheduling task, the sample problem refers to achieving maximum production revenue based on the product demand quantity and the raw material quantity, and the first sample set includes M planning results, one of the M planning results is used to represent the target capacity of each production object in multiple generation objects, and the sample target solution refers to the planning result that achieves the maximum production revenue among the M planning results.

[0053] In combination with the second aspect, in certain implementations of the second aspect, when the sample combination optimization task is a three-dimensional packing task, the sample problem refers to achieving the maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, and the first sample solution set includes M packing results, and one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the sample target solution refers to the packing result among the M packing results that achieves the maximum space utilization of the box.

[0054] In combination with the second aspect, in certain implementations of the second aspect, when the sample combination optimization task is a site selection task, the sample problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, and the first sample solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the sample target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0055] It should be noted that the above are examples of sample combination optimization tasks such as production scheduling tasks, three-dimensional packing tasks, and site selection tasks; the sample combination optimization tasks of this application may also refer to other combination optimization tasks, and this application does not impose any limitations on this.

[0056] In a third aspect, a processing device for a combinatorial optimization task is provided, comprising: an acquisition unit, configured to acquire a first solution set for a target problem from a memory, wherein the target problem is a problem to be solved to achieve a target combinatorial optimization task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; a processing unit, configured to group the candidate solutions in the first solution set to obtain multiple solution sets; input the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, wherein the multiple target confidences correspond one-to-one to the multiple solution sets, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution refers to a candidate solution in the first solution set that makes the planning result of the target problem satisfy a preset constraint condition; according to the multiple target confidences, a solution set corresponding to the maximum target confidence in the multiple target confidences is selected from the multiple solution sets to obtain a second solution set; and the target solution is selected from the second solution set.

[0057] In conjunction with the third aspect, in some implementations of the third aspect, the processing unit is specifically configured to:

[0058] The candidate solutions in the first solution set are randomly grouped to obtain the multiple solution sets.

[0059] In a possible implementation manner, the candidate solutions in the first solution set may be randomly and evenly grouped to obtain multiple solution sets.

[0060] In conjunction with the third aspect, in some implementations of the third aspect, the processing unit is specifically configured to:

[0061] A candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task is selected from the second solution set as the target solution.

[0062] In combination with the third aspect, in certain implementations of the third aspect, the target combination optimization task includes any one of a production scheduling task, a three-dimensional packing task, and a site selection task.

[0063] In combination with the third aspect, in certain implementations of the third aspect, when the target combination optimization task is a production scheduling task, the target problem refers to achieving maximum production revenue based on the product demand quantity and the raw material quantity, and the first set includes M planning results, one of the M planning results is used to represent the target capacity of each production object in multiple generation objects, and the target solution refers to the planning result that achieves the maximum production revenue among the M planning results.

[0064] In combination with the third aspect, in certain implementations of the third aspect, when the target combination optimization task is a three-dimensional packing task, the target problem refers to achieving maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, and the first candidate solution set includes M packing results, and one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the target solution refers to the packing result among the M packing results that achieves the maximum space utilization of the box.

[0065] In combination with the third aspect, in certain implementations of the third aspect, when the target combination optimization task is a site selection task, the target problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, and the first solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0066] It should be noted that the above is an example of the target combination optimization task being a production scheduling task, a three-dimensional packing task, and a site selection task; the combination optimization task of this application may refer to other combination optimization tasks, and this application does not impose any limitation on this.

[0067] In conjunction with the third aspect, in some implementations of the third aspect, the neural network model is obtained using the following training method:

[0068] Acquire training data, wherein the training data includes a sample problem, a first sample solution set, a second sample solution set, and a sample target solution, wherein the sample problem is a problem that needs to be solved to achieve a sample combination optimization task, the first sample solution set includes K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set includes the sample target solution, and the sample target solution refers to a candidate in the first sample solution set that makes the planning result of the sample problem meet preset constraints, K is an integer greater than 1, and L is an integer less than K; train the neural network model by taking the first sample solution set as input data to obtain the second sample solution set as a training target.

[0069] In conjunction with the third aspect, in some implementations of the third aspect, the processing unit is further configured to:

[0070] Grouping candidate solutions in the first sample solution set to obtain the second sample solution set;

[0071] The step of training the neural network model using the training data includes:

[0072] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the confidence level.

[0073] In conjunction with the third aspect, in some implementations of the third aspect, the processing unit is specifically configured to:

[0074] The candidate solutions in the first sample solution set are randomly grouped to obtain the second sample solution set.

[0075] In conjunction with the third aspect, in some implementations of the third aspect, the processing unit is specifically configured to:

[0076] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0077] In combination with the third aspect, in certain implementations of the third aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0078] In combination with the third aspect, in certain implementations of the third aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0079] In a fourth aspect, a training method for a combinatorial optimization task processing model is provided, comprising: an acquisition unit, for acquiring training data, wherein the training data comprises a sample problem, a first sample solution set, a second sample solution set and a sample target solution, the sample problem is a problem that needs to be solved to implement a sample combinatorial optimization task, the first sample solution set comprises K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set comprises the sample target solution, the sample target solution refers to a candidate in the first sample solution set that makes the planning result of the sample problem meet preset constraints, K is an integer greater than 1, and L is an integer less than K; a processing unit, for training the neural network model by taking the first sample solution set as input data and taking the second sample solution set as a training target to obtain a trained neural network model.

[0080] It should be understood that the above-mentioned trained neural network model can be used to select N candidate solutions from the first solution set corresponding to the combinatorial optimization problem to be processed to form a second solution set, wherein the first solution set includes M candidate solutions to the combinatorial optimization problem to be processed, and the combinatorial optimization problem to be processed is the problem that needs to be solved to achieve the combinatorial optimization task to be processed.

[0081] In conjunction with the fourth aspect, in some implementations of the fourth aspect, the processing unit is further configured to:

[0082] Grouping candidate solutions in the first sample solution set to obtain the second sample solution set;

[0083] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the first confidence level.

[0084] In combination with the fourth aspect, in certain implementations of the fourth aspect, the second sample solution set is obtained by randomly grouping candidate solutions in the first sample solution set.

[0085] In conjunction with the fourth aspect, in some implementations of the fourth aspect, the processing unit is specifically configured to:

[0086] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0087] In combination with the fourth aspect, in certain implementations of the fourth aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0088] In combination with the fourth aspect, in certain implementations of the fourth aspect, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0089] In combination with the fourth aspect, in certain implementations of the fourth aspect, the sample combination optimization task includes any one of a production scheduling task, a three-dimensional packing task, and a site selection task.

[0090] In combination with the fourth aspect, in certain implementations of the fourth aspect, when the sample combination optimization task is a production scheduling task, the sample problem refers to achieving maximum production revenue based on the product demand quantity and the raw material quantity, and the first sample solution set includes M planning results, one of the M planning results is used to represent the target capacity of each production object in multiple generation objects, and the sample target solution refers to the planning result that achieves the maximum production revenue among the M planning results.

[0091] In combination with the fourth aspect, in certain implementations of the fourth aspect, when the sample combination optimization task is a three-dimensional packing task, the sample problem refers to achieving the maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, and the first sample solution set includes M packing results, and one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the sample target solution refers to the packing result among the M packing results that achieves the maximum space utilization of the box.

[0092] In combination with the fourth aspect, in certain implementations of the fourth aspect, when the sample combination optimization task is a site selection task, the sample problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, and the first sample solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the sample target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0093] It should be noted that the above are examples of sample combination optimization tasks such as production scheduling tasks, three-dimensional packing tasks, and site selection tasks; the sample combination optimization tasks of this application may also refer to other combination optimization tasks, and this application does not impose any limitations on this.

[0094] In a fifth aspect, a processing device for a combinatorial optimization task is provided, comprising: a memory for storing a program; a processor for executing the program stored in the memory, and when the program stored in the memory is executed, the processor is used to execute: obtaining a first solution set for a target problem from the memory, wherein the target problem is a problem to be solved to achieve a target combinatorial optimization task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; grouping the candidate solutions in the first solution set to obtain multiple solution sets; inputting the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, wherein the multiple target confidences correspond one-to-one to the multiple solution sets, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution refers to a candidate solution in the first solution set that makes the planning result of the target problem meet the preset constraints; according to the multiple target confidences, selecting a solution set corresponding to the maximum target confidence in the multiple target confidences from the multiple solution sets to obtain a second solution set; and selecting the target solution from the second solution set.

[0095] In a possible implementation manner, the processor included in the above-mentioned device is also used to execute the processing method in any implementation manner of the first aspect.

[0096] It should be understood that the expansion, limitation, explanation and description of the relevant contents in the above-mentioned first aspect also apply to the same contents in the fifth aspect.

[0097] In a sixth aspect, a processing device for a combinatorial optimization task is provided, comprising: a memory for storing a program; a processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is used to execute: obtaining training data, wherein the training data comprises a sample problem, a first sample solution set, a second sample solution set and a sample target solution, wherein the sample problem is a problem to be solved to implement the sample combinatorial optimization task, the first sample solution set comprises K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set comprises the sample target solution, and the sample target solution refers to a candidate solution in the first sample solution set that makes the planning result of the sample problem satisfy a preset constraint condition, K is an integer greater than 1, and L is an integer less than K; training the neural network model by taking the first sample solution set as input data and taking the second sample solution set as a training target to obtain a trained neural network model.

[0098] In a possible implementation manner, the processor included in the above-mentioned device is also used to execute the processing method in any implementation manner of the second aspect.

[0099] It should be understood that the expansion, limitation, explanation and description of the relevant contents in the above-mentioned first aspect also apply to the same contents in the sixth aspect.

[0100] In a seventh aspect, a computer-readable medium is provided, which stores a program code for execution by a device, wherein the program code includes a processing method for executing the above-mentioned first aspect and any one of the implementations of the first aspect.

[0101] In an eighth aspect, a computer-readable medium is provided, which stores a program code for execution by a device, wherein the program code includes a training method for executing the above-mentioned second aspect and any one of the implementations of the second aspect.

[0102] In a ninth aspect, a computer program product comprising instructions is provided. When the computer program product is run on a computer, the computer executes the processing method in the above-mentioned first aspect and any one of the implementation methods of the first aspect.

[0103] In a tenth aspect, a computer program product comprising instructions is provided. When the computer program product is run on a computer, the computer executes the training method in the above-mentioned second aspect and any one of the implementations of the second aspect.

[0104] In the eleventh aspect, a chip is provided, comprising a processor and a data interface, wherein the processor reads instructions stored in a memory through the data interface and executes the processing method in the above-mentioned first aspect and any one of the implementation methods of the first aspect.

[0105] Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the processing method in the above-mentioned first aspect and any one of the implementation methods of the first aspect.

[0106] In the twelfth aspect, a chip is provided, comprising a processor and a data interface, wherein the processor reads instructions stored in a memory through the data interface to execute the training method in the above-mentioned second aspect and any one of the implementation methods of the second aspect.

[0107] Optionally, as an implementation method, the chip may also include a memory, in which instructions are stored, and the processor is used to execute the instructions stored in the memory. When the instructions are executed, the processor is used to execute the training method in the above-mentioned second aspect and any one of the implementation methods of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0108] Figure 1 It is a schematic diagram of the artificial intelligence main framework provided by the embodiment of the present application;

[0109] Figure 2 It is a schematic diagram of an application scenario provided by an embodiment of the present application;

[0110] Figure 3 is a schematic diagram of a vehicle dispatch application scenario provided by an embodiment of the present application;

[0111] Figure 4 is a schematic diagram of a supply management application scenario provided by an embodiment of the present application;

[0112] Figure 5 It is a schematic diagram of a system architecture provided by an embodiment of the present application;

[0113] Figure 6 is a schematic diagram of the hardware structure of a chip provided in an embodiment of the present application;

[0114] Figure 7 It is a schematic diagram of a system architecture provided by an embodiment of the present application;

[0115] Figure 8 is a schematic flow chart of a method for processing a combined optimization task provided in an embodiment of the present application;

[0116] Fig. 9 It is an illustration of a processing method for a combined optimization task provided in an embodiment of the present application;

[0117] Fig.10 is a schematic diagram of dynamic scoring between groups provided in an embodiment of the present application;

[0118] Fig.11 is a schematic flow chart of a training method for a neural network model provided in an embodiment of the present application;

[0119] Fig.12 is a schematic flow chart of a method for processing a combined optimization task provided in an embodiment of the present application;

[0120] Fig.13 It is a schematic diagram of a test effect provided by an embodiment of the present application;

[0121] Fig.14 It is a schematic diagram of a test effect provided by an embodiment of the present application;

[0122] Fig.15 is a schematic diagram of a test effect provided by another embodiment of the present application;

[0123] Fig.16 is a schematic block diagram of a processing device for a combined optimization task provided by the present application;

[0124] Fig.17 It is a schematic diagram of the hardware structure of the processing device for the combined optimization task provided in the embodiment of the present application. DETAILED DESCRIPTION

[0125] The following will describe the technical solutions in the embodiments of the present application in conjunction with the drawings in the embodiments of the present application; it is obvious that the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0126] Figure 1 A schematic diagram of an artificial intelligence main framework is shown, which describes the overall workflow of the artificial intelligence system and is applicable to general artificial intelligence field requirements.

[0127] The above artificial intelligence theme framework 100 is elaborated in detail below from two dimensions: "intelligent information chain" (horizontal axis) and "information technology (IT) value chain" (vertical axis).

[0128] The "intelligent information chain" reflects a series of processes from data acquisition to processing. For example, it can be a general process of intelligent information perception, intelligent information representation and formation, intelligent reasoning, intelligent decision-making, intelligent execution and output. In this process, data undergoes a condensed process of "data-information-knowledge-wisdom".

[0129] The "IT value chain" reflects the value that artificial intelligence brings to the information technology industry, from the underlying infrastructure of human intelligence, information (providing and processing technology implementation) to the system's industrial ecological process.

[0130] (1) Infrastructure 110

[0131] Infrastructure can provide computing power support for artificial intelligence systems, enable communication with the outside world, and provide support through a basic platform.

[0132] The infrastructure can communicate with the outside world through sensors, and the computing power of the infrastructure can be provided by smart chips.

[0133] The smart chips here can be hardware acceleration chips such as central processing unit (CPU), neural-network processing unit (NPU), graphics processing unit (GPU), application specific integrated circuit (ASIC) and field programmable gate array (FPGA).

[0134] The basic platform of the infrastructure can include related platform guarantees and support such as distributed computing frameworks and networks, and can include cloud storage and computing, interconnected networks, etc.

[0135] For example, for infrastructure, data can be obtained through sensors and external communication, and then provided to the smart chips in the distributed computing system provided by the basic platform for calculation.

[0136] (2) Data 120

[0137] The data on the upper layer of the infrastructure is used to represent the data sources in the field of artificial intelligence. This data involves graphics, images, voice, text, and IoT data of traditional devices, including business data of existing systems and perception data such as force, displacement, liquid level, temperature, and humidity.

[0138] (3) Data processing 130

[0139] The above data processing usually includes data training, machine learning, deep learning, search, reasoning, decision-making and other processing methods.

[0140] Among them, machine learning and deep learning can symbolize and formalize data for intelligent information modeling, extraction, preprocessing, and training.

[0141] Reasoning refers to the process of simulating human intelligent reasoning in computers or intelligent systems, using formalized information to perform machine thinking and solve problems based on reasoning control strategies. Typical functions are search and matching.

[0142] Decision-making refers to the process of making decisions after intelligent information is reasoned, usually providing functions such as classification, sorting, and prediction.

[0143] (4) General ability 140

[0144] After the data has undergone the data processing mentioned above, some general capabilities can be further formed based on the results of the data processing, such as an algorithm or a general system, for example, translation, text analysis, computer vision processing, speech recognition, image recognition, etc.

[0145] (5) Smart products and industry applications 150

[0146] Smart products and industry applications refer to the products and applications of artificial intelligence systems in various fields. They are the encapsulation of the overall artificial intelligence solution, which productizes intelligent information decision-making and realizes practical application. Its application areas mainly include: smart manufacturing, smart transportation, smart home, smart medical care, smart security, autonomous driving, safe cities, smart terminals, etc.

[0147] The embodiments of the present application can be applied to solve combinatorial optimization problems, wherein the combinatorial optimization may include: intelligent transportation, intelligent production, intelligent scheduling, intelligent site selection and other fields.

[0148] For example, Figure 2 As shown, the processing method of the combinatorial optimization task provided in the embodiment of the present application can be applied to solve the combinatorial optimization problem; obtaining the data to be processed can refer to obtaining the first solution set, and the first solution set can include M candidate solutions of the target problem; through the processing method provided in the embodiment of the present application, the first N candidate solutions can be selected from the first solution set through the pre-trained neural network model to form the second solution set, and the target solution can be further selected from the second solution set. For example, the predicted optimal solution of the combinatorial optimization task is output.

[0149] The above combinatorial optimization task can refer to the problem of finding the optimal object in a finite set. Generally speaking, combinatorial optimization can be represented by mixed integer programming (MIP), and can also be a non-deterministic polynomial hard (NP-hard) problem.

[0150] It should be understood that the above-mentioned pre-trained sorting model can be applied to mathematical programming (MP) problems, that is, the problem of maximizing or minimizing a certain goal under certain resource and condition constraints.

[0151] For example, the embodiments of the present application can be applied to various scenarios of combinatorial optimization problems. For example, the embodiments of the present application can be specifically applied to various scenarios such as vehicle dispatching problems, three-dimensional packing problems, multi-level supply chain management problems, advertising / product bidding problems, factory scheduling problems, and factory selection problems. In addition, the embodiments of the present application can also be combined with other technologies, which are not limited here.

[0152] The following is a brief introduction to the application scenarios of the method for processing the combined optimization task in the embodiments of the present application.

[0153] Application scenario 1: production scheduling tasks

[0154] In a specific application scenario, the processing method of the embodiment of the present application can be applied to production scheduling tasks; through the processing method of the combination optimization task of the embodiment of the present application, the maximum production profit of each generation object among multiple generation objects can be achieved according to the product demand quantity and the raw material quantity.

[0155] In the processing method of the present application, by adopting a pre-trained neural network model, some candidate solutions can be selected from all candidate solutions corresponding to the target problem, and the number of some candidate solutions is less than the number of all candidate solutions; further, the target solution is selected from the partial candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problem of long solution time and low solution efficiency that exists in directly selecting the target solution from a large data set; through the processing method in the embodiment of the present application, the time for solving the problem required to achieve the production scheduling task can be shortened when processing the production scheduling task, thereby improving the processing efficiency of the production scheduling task.

[0156] Exemplarily, when the processing method of the present application is applied to a production scheduling task, the computing device obtains a first solution set for a target problem from a memory, the target problem being to achieve maximum production revenue based on the product demand quantity and the raw material quantity, the first solution set including M planning results for the target problem, one of the M planning results being used to represent the target capacity of each production object in multiple generation objects; the computing device groups the candidate solutions in the first solution set to obtain multiple solution sets; the computing device inputs the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, the multiple target confidences corresponding to the multiple solution sets one by one, each of the multiple target confidences being used to represent that the corresponding solution set includes the confidence of the target solution; the computing device selects, from the multiple solution sets, a solution set corresponding to the maximum target confidence among the multiple target confidences, to obtain a second solution set based on the multiple target confidences; the computing device selects the target solution from the second solution set, the target solution being the planning result that achieves the maximum production revenue among the M planning results.

[0157] Application scenario 2: 3D packing task

[0158] In a specific application scenario, the processing method of the embodiment of the present application can be applied to three-dimensional packing tasks; through the processing method of the combined optimization task of the embodiment of the present application, the maximum space utilization of the box can be achieved according to the sizes of multiple items to be packed and the size of the box.

[0159] In the processing method of the present application, by adopting a pre-trained neural network model, some candidate solutions can be selected from all candidate solutions corresponding to the target problem, and the number of some candidate solutions is less than the number of all candidate solutions; further, the target solution is selected from the partial candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problems of long solution time and low solution efficiency that exist in directly selecting the target solution from a large data set; through the processing method in the embodiment of the present application, the time for solving the problem required to achieve the three-dimensional packing task can be shortened when processing the three-dimensional packing task, thereby improving the processing efficiency of the three-dimensional packing task.

[0160] Exemplarily, when the processing method of the present application is applied to a three-dimensional box packing task, the computing device obtains a first solution set for a target problem from a memory, wherein the target problem is to achieve the maximum space utilization of the box according to the sizes of a plurality of items to be packed and the size of the box, and the first solution set includes M packing results for the target problem, wherein one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the plurality of items to be packed and packed into the box; the computing device groups the candidate solutions in the first solution set to obtain a plurality of solution sets; the computing device groups the candidate solutions in the first solution set to obtain the plurality of solution sets; The multiple solution sets are input into a pre-trained neural network model to obtain multiple target confidences, the multiple target confidences correspond to the multiple solution sets one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution; the computing device selects a solution set corresponding to the maximum target confidence in the multiple target confidences from the multiple solution sets according to the multiple target confidences to obtain a second solution set; the computing device selects the target solution from the second solution set, and the target solution refers to a packing result that achieves the maximum space utilization of the box among the M packing results.

[0161] For example, the three-dimensional size of a box and the sizes of K objects to be packed can be given; the target problem is to select some of the K objects to be packed to maximize the space utilization of the box; specifically, a coordinate orientation can be selected, and the items can be laid out in the positive direction along the coordinate orientation when packing; the packing layer can be checked to calculate the height difference of the gap of the items according to the selected coordinate orientation; check whether there are suitable items to fill the gap among the unpacked items, that is, the size of the items after placement is required to be no larger than the gap; calculate the utilization rate of the box, and output the packing result if the utilization rate of the box is higher than that of the previous packing result, which may include the item number, item coordinates and packing orientation.

[0162] Application scenario three: site selection task

[0163] In a specific application scenario, the processing method of the embodiment of the present application can be applied to site selection tasks; through the processing method of the combined optimization task of the embodiment of the present application, the maximum total service area can be achieved based on multiple candidate addresses of objects to be constructed and the service areas corresponding to each candidate address.

[0164] In the processing method of the present application, by adopting a pre-trained neural network model, some candidate solutions can be selected from all candidate solutions corresponding to the target problem, and the number of some candidate solutions is less than the number of all candidate solutions; further, the target solution is selected from the partial candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problems of long solution time and low solution efficiency that exist in directly selecting the target solution from a large data set; through the processing method in the embodiment of the present application, the time for solving the problem required to achieve the site selection task can be shortened when processing the site selection task, thereby improving the processing efficiency of the site selection task.

[0165] Exemplarily, when the processing method of the present application is applied to a site selection task, the computing device obtains a first solution set for a target problem from a memory, wherein the target problem refers to achieving a maximum total service area based on candidate addresses of multiple objects to be constructed and a service area corresponding to each candidate address, and the first solution set includes M site selection results for the target problem, and one site selection result among the M site selection results is used to represent a target site selection for each object to be constructed among the multiple objects to be constructed and a service area corresponding to each object to be constructed at the target site selection; the computing device groups the candidate solutions in the first solution set to obtain multiple solution sets. The computing device inputs the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, the multiple target confidences correspond to the multiple solution sets one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution; the computing device selects, from the multiple solution sets, a solution set corresponding to the maximum target confidence in the multiple target confidences to obtain a second solution set according to the multiple target confidences; the computing device selects the target solution from the second solution set, and the target solution refers to a location selection result that achieves the maximum total service area among the M location selection results.

[0166] For example, the above-mentioned site selection task may refer to the problem of selecting the construction location of a sewage treatment plant, since each different construction location can serve several different cities; therefore, the target problem may refer to maximizing the total service range based on multiple different locations of the sewage treatment plant and the service area of ​​each location, that is, it may refer to maximizing the total service range while building a smaller number of sewage treatment plants.

[0167] For example, the above-mentioned site selection task may refer to selecting a radio station that broadcasts a radio program, assuming that listeners in 30 cities are to listen to this radio program; therefore, it is necessary to select which radio stations broadcast the radio program so that more areas in the 30 cities can listen to this radio program through smaller radio stations; therefore, the target problem may refer to achieving the maximum total service range, that is, the maximum coverage range, of multiple radio stations when broadcasting the radio program in 30 cities based on multiple radio stations and the service areas corresponding to each radio station.

[0168] In addition, in a specific application scenario, the processing method of the embodiment of the present application can be applied to the field of intelligent transportation, for example, Figure 3 In the vehicle dispatch problem shown in FIG. 1 , based on three different pickup points, three different destinations, and four dispatchable vehicles, the target problem may be the problem of dispatching vehicles to achieve the shortest transportation time and the lowest transportation cost. Alternatively, in a specific application scenario, the processing method of the embodiment of the present application may be applied to the field of intelligent scheduling. For example, Figure 4 In the supply management problem shown, based on the situation of two suppliers, two production plants, three distribution centers and four consumers, the target problem can refer to the problem that needs to be solved to maximize the supply profit.

[0169] It should be understood that the above is an example of an application scenario and does not limit the application scenario of the present application.

[0170] Since the embodiments of the present application involve the application of a large number of neural networks, in order to facilitate understanding, the relevant terms and concepts of the neural networks that may be involved in the embodiments of the present application are first introduced below.

[0171] 1. Neural Networks

[0172] A neural network can be composed of neural units. A neural unit can be a s The output of the operation unit with the intercept 1 as input can be:

[0173]

[0174] Where, s = 1, 2, ... n, n is a natural number greater than 1, W s For x s, b is the bias of the neural unit. f is the activation function of the neural unit, which is used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into the output signal. The output signal of the activation function can be used as the input of the next convolutional layer, and the activation function can be a sigmoid function. A neural network is a network formed by connecting multiple single neural units mentioned above, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field. The local receptive field can be an area composed of several neural units.

[0175] 2. Deep Neural Networks

[0176] A deep neural network (DNN), also known as a multi-layer neural network, can be understood as a neural network with multiple hidden layers. According to the position of different layers, the neural network inside the DNN can be divided into three categories: input layer, hidden layer, and output layer. Generally speaking, the first layer is the input layer, the last layer is the output layer, and the layers in between are all hidden layers. The layers are fully connected, that is, any neuron in the i-th layer must be connected to any neuron in the i+1-th layer.

[0177] Although DNN looks complicated, the work of each layer is not complicated. In simple terms, it can be expressed as the following linear relationship: in, is the input vector, is the output vector, is the offset vector, W is the weight matrix (also called coefficient), and α() is the activation function. Each layer is just an input vector After such a simple operation, the output vector Since DNN has many layers, the coefficient W and the offset vector The number of these parameters is also relatively large. The definitions of these parameters in DNN are as follows: Take the coefficient W as an example: Assume that in a three-layer DNN, the linear coefficient from the 4th neuron in the second layer to the 2nd neuron in the third layer is defined as The superscript 3 represents the layer number of the coefficient W, while the subscripts correspond to the third layer index 2 of the output and the second layer index 4 of the input.

[0178] In summary, the coefficients from the kth neuron in the L-1th layer to the jth neuron in the Lth layer are defined as

[0179] It should be noted that the input layer does not have a W parameter. In a deep neural network, more hidden layers allow the network to better describe complex situations in the real world. Theoretically, the more parameters a model has, the higher its complexity and the greater its "capacity", which means it can complete more complex learning tasks. Training a deep neural network is the process of learning the weight matrix, and its ultimate goal is to obtain the weight matrix of all layers of the trained deep neural network (the weight matrix formed by many layers of vector W).

[0180] 3. Convolutional Neural Networks

[0181] Convolutional neural network (CNN) is a deep neural network with a convolutional structure. Convolutional neural network contains a feature extractor consisting of a convolution layer and a subsampling layer, which can be regarded as a filter. The convolution layer refers to the neuron layer in the convolutional neural network that performs convolution processing on the input signal. In the convolution layer of the convolutional neural network, a neuron can only be connected to some neurons in the adjacent layers. A convolutional layer usually contains several feature planes, and each feature plane can be composed of some neural units arranged in a rectangular shape. The neural units in the same feature plane share weights, and the shared weights here are the convolution kernels.

[0182] 4. Loss Function

[0183] In the process of training a deep neural network, because we hope that the output of the deep neural network is as close as possible to the value we really want to predict, we can compare the predicted value of the current network with the target value we really want, and then update the weight vector of each layer of the neural network according to the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring parameters for each layer in the deep neural network); for example, if the predicted value of the network is high, adjust the weight vector to make it predict a lower value, and keep adjusting it until the deep neural network can predict the target value we really want or a value very close to the target value we really want. Therefore, it is necessary to pre-define "how to compare the difference between the predicted value and the target value", which is the loss function or objective function, which are important equations used to measure the difference between the predicted value and the target value. Among them, taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so the training of the deep neural network becomes a process of minimizing this loss as much as possible.

[0184] 5. Back Propagation Algorithm

[0185] The neural network can use the error back propagation (BP) algorithm to correct the size of the parameters in the initial neural network model during the training process, so that the reconstruction error loss of the neural network model becomes smaller and smaller.

[0186] Specifically, forward propagation of the input signal to the output will generate error loss, and the parameters in the initial neural network model are updated by backpropagating the error loss information, so that the error loss converges. The backpropagation algorithm is a backpropagation movement dominated by error loss, aiming to obtain the optimal parameters of the neural network model, such as the weight matrix.

[0187] 6. Mixed Integer Programming

[0188] Mixed integer programming (MIP) refers to a mathematical programming problem that requires some or all variables to be integers in order to maximize or minimize a certain objective under certain resource and condition constraints.

[0189] 7. Branch and Bound Method

[0190] The branch and bound method is the most commonly used algorithm for solving integer programming problems. This method can not only solve pure integer programming, but also solve mixed integer programming problems. The branch and bound method is a search and iteration method that selects different branch variables and sub-problems for branching. It is essentially a method for searching for the target solution of a problem on the solution space tree of the problem.

[0191] First, the system architecture of the method for processing the combined optimization task provided by the embodiment of the present application is introduced. Figure 5 , the present application embodiment provides a system architecture 200. Figure 5 As shown in the system architecture 200 in FIG. 1 , the data acquisition device 260 is used to collect training data. For the processing method of the combinatorial optimization task of the embodiment of the present application, the sorting model can be further trained by the training data, that is, the training data collected by the data acquisition device 260 can include a first sample solution set, a second sample solution set, and a sample target solution.

[0192] After the training data is collected, the data collection device 260 stores the training data in the database 230, and the training device 220 obtains the target model / rule 201 (i.e., the pre-trained neural network model in the embodiment of the present application) through training based on the training data maintained in the database 230. The training device 220 inputs the training data into the neural network model until the difference between the predicted data and the sample data output by the training neural network model meets the preset conditions (for example, the difference between the predicted data and the sample data is less than a certain threshold, or the difference between the predicted data and the sample data remains unchanged or no longer decreases), thereby completing the training of the target model / rule 201.

[0193] In the embodiment provided in the present application, the target model / rule 201 is a first sorting model obtained through training data, and the first sorting model can be used to select a solution set corresponding to the maximum target confidence among multiple target confidences from multiple solution sets according to multiple target confidences corresponding to multiple solution sets, as the second solution set; wherein the multiple solution sets are obtained by randomly grouping candidate solutions in the first solution set, and the multiple solution sets correspond to multiple target confidences one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution may refer to a candidate solution in the first solution set that makes the planning result of the target problem meet the preset constraints. It should be noted that in actual applications, the training data maintained in the database 230 may not all come from the collection of the data acquisition device 260, but may also be received from other devices.

[0194] It should be noted that the training device 220 does not necessarily train the target model / rule 201 entirely based on the training data maintained by the database 230, and it is also possible to obtain training data from the cloud or other places for model training. The above description should not be regarded as a limitation on the embodiments of the present application.

[0195] It should also be noted that at least part of the training data maintained in the database 230 may also be used for the execution device 210 to process the process to be processed.

[0196] The target model / rule 201 trained by the training device 220 can be applied to different systems or devices, such as Figure 5 The execution device 110 shown may be a terminal, such as a mobile phone terminal, a tablet computer, a laptop computer, AR / VR, a vehicle-mounted terminal, etc., or may be a server or a cloud, etc.

[0197] exist Figure 5In the embodiment, the execution device 210 is configured with an input / output (I / O) interface 212 for data interaction with an external device. A user may input data to the I / O interface 212 through a client device 240. The input data may include: problems to be processed input by the client device in the embodiment of the application.

[0198] Among them, the preprocessing module 213 and the preprocessing module 214 are used to preprocess the input data (such as the problem to be processed) received by the I / O interface 212. In the embodiment of the present application, there may be no preprocessing module 213 and the preprocessing module 214 (or only one of the preprocessing modules), and the calculation module 211 is directly used to process the input data.

[0199] When the execution device 210 preprocesses the input data, or when the computing module 211 of the execution device 210 performs calculations and other related processing, the execution device 210 can call the data, code, etc. in the data storage system 250 for corresponding processing, and can also store the data, instructions, etc. obtained from the corresponding processing into the data storage system 250.

[0200] Finally, the I / O interface 212 returns the processing result, such as the target node of the problem to be processed, to the client device 240, thereby providing the user with the path information of the branch and bound algorithm.

[0201] It is worth noting that the training device 220 can generate corresponding target models / rules 201 based on different training data for different goals or different tasks. The corresponding target models / rules 201 can be used to achieve the above goals or complete the above tasks, thereby providing users with the desired results.

[0202] exist Figure 5 In the case shown in FIG. 2 , in one case, the user can manually provide input data, and the manual provision can be operated through the interface provided by the I / O interface 212 .

[0203] In another case, the client device 240 can automatically send input data to the I / O interface 212. If the client device 240 needs to obtain the user's authorization to automatically send the input data, the user can set the corresponding permissions in the client device 240. The user can view the results output by the execution device 210 in the client device 240, and the specific presentation form can be a specific method such as display, sound, action, etc. The client device 240 can also be used as a data acquisition terminal to collect the input data of the input I / O interface 212 and the output results of the output I / O interface 212 as shown in the figure as new sample data, and store them in the database 230. Of course, it is also possible not to collect through the client device 240, but the I / O interface 212 directly stores the input data of the input I / O interface 212 and the output results of the output I / O interface 212 as new sample data in the database 230.

[0204] It is worth noting that Figure 5 This is only a schematic diagram of a system architecture provided by an embodiment of the present application, and the positional relationship between the devices, components, modules, etc. shown in the figure does not constitute any limitation. Figure 5 In the embodiment, the data storage system 250 is an external memory relative to the execution device 210. In other cases, the data storage system 250 can also be placed in the execution device 210.

[0205] like Figure 5 As shown, the target model / rule 201 is obtained by training according to the training device 220, and the target model / rule 201 can be a sorting model in the embodiment of the present application; exemplarily, the pre-trained neural network model provided in the embodiment of the present application can be used to output N candidate solutions in the first solution set, and the pre-trained neural network model can be a deep neural network, a convolutional neural network, or a deep convolutional neural network, etc.

[0206] Figure 6 It is a schematic diagram of the hardware structure of a chip provided in an embodiment of the present application.

[0207] Figure 6 The chip shown may include a neural-network processing unit (NPU) 300; the chip may be arranged in a Figure 5 The execution device 210 shown in FIG. 1 is used to complete the calculation work of the calculation module 211. The chip can also be set in Figure 5 The training device 220 shown is used to complete the training work of the training device 220 and output the target model / rule 201.

[0208] The NPU 300 is mounted on the main central processing unit (CPU) as a coprocessor, and the main CPU assigns tasks. The core part of the NPU 300 is the operation circuit 303, and the controller 304 controls the operation circuit 303 to extract data from the memory (weight memory or input memory) and perform operations.

[0209] In some implementations, the operation circuit 303 includes multiple processing units (PEs) inside. In some implementations, the operation circuit 303 is a two-dimensional systolic array; the operation circuit 303 can also be a one-dimensional systolic array or other electronic circuits capable of performing mathematical operations such as multiplication and addition. In some implementations, the operation circuit 303 is a general-purpose matrix processor.

[0210] For example, assume there is an input matrix A, a weight matrix B, and an output matrix C; the operation circuit 303 takes the corresponding data of matrix B from the weight memory 302 and caches it on each PE in the operation circuit 303; the operation circuit 303 takes the matrix A data from the input memory 301 and performs matrix operations with matrix B, and the partial results or final results of the matrix are obtained and stored in the accumulator 308 (accumulator).

[0211] The vector calculation unit 307 can further process the output of the operation circuit 303, such as vector multiplication, vector addition, exponential operation, logarithmic operation, size comparison, etc. For example, the vector calculation unit 307 can be used for network calculations of non-convolutional / non-FC layers in a neural network, such as pooling, batch normalization, local response normalization, etc.

[0212] In some implementations, the vector calculation unit 307 can store the processed output vector to the unified memory 306. For example, the vector calculation unit 307 can apply a nonlinear function to the output of the operation circuit 303, such as a vector of accumulated values, to generate an activation value. In some implementations, the vector calculation unit 307 generates a normalized value, a merged value, or both.

[0213] In some implementations, the vector of processed outputs can be used as activation input to the computational circuit 303, for example for use in subsequent layers in a neural network.

[0214] The unified memory 306 is used to store input data and output data. The weight data is directly stored in the input data in the external memory into the input memory 301 and / or the unified memory 306 through the storage unit access controller 305 (direct memory access controller, DMAC), the weight data in the external memory is stored in the weight memory 302, and the data in the unified memory 306 is stored in the external memory.

[0215] The bus interface unit 310 (BIU) is used to implement the interaction between the main CPU, DMAC and instruction fetch memory 309 through the bus.

[0216] The instruction fetch buffer 309 connected to the controller 304 is used to store instructions used by the controller 304; the controller 304 is used to call the instructions cached in the instruction fetch buffer 309 to realize the working process of controlling the computing accelerator.

[0217] Generally, the unified memory 306, the input memory 301, the weight memory 302 and the instruction fetch memory 309 are all on-chip memories, and the external memory is a memory outside the NPU, which can be a double data rate synchronous dynamic random access memory (DDR SDRAM), a high bandwidth memory (HBM) or other readable and writable memory.

[0218] Exemplarily, the operation of the pre-trained neural network model in the embodiment of the present application can be performed by the operation circuit 303 or the vector calculation unit 307.

[0219] Introduced above Figure 5 The execution device 210 in can execute the various steps of the processing method of the combination optimization task of the embodiment of the present application, and the chip shown in 6 can also be used to execute the various steps of the processing method of the combination optimization task of the embodiment of the present application.

[0220] Figure 7 The system architecture provided by the embodiment of the present application is shown in FIG. The system architecture 400 may include a local device 420, a local device 430, an execution device 410 and a data storage system 450, wherein the local device 420 and the local device 430 are connected to the execution device 410 via a communication network.

[0221] By way of example, the execution device 410 may be implemented by one or more servers.

[0222] Optionally, the execution device 410 can be used in conjunction with other computing devices. For example, data storage, routers, load balancers and other devices. The execution device 410 can be arranged at a physical site, or distributed at multiple physical sites. The execution device 410 can use the data in the data storage system 450, or call the program code in the data storage system 450 to implement the processing method of the combined optimization task of the embodiment of the present application.

[0223] It should be noted that the above-mentioned execution device 410 can also be called a cloud device, and in this case the execution device 410 can be deployed in the cloud.

[0224] Specifically, the execution device 410 may perform the following process:

[0225] A first solution set for a target problem is obtained from a memory, wherein the target problem is a problem to be solved to achieve a target combination optimization task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; the candidate solutions in the first solution set are grouped to obtain multiple solution sets; the multiple solution sets are input into a pre-trained neural network model to obtain multiple target confidences, wherein the multiple target confidences correspond to the multiple solution sets one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution refers to a candidate solution in the first solution set that makes the planning result of the target problem meet preset constraints; according to the multiple target confidences, a solution set corresponding to the maximum target confidence in the multiple target confidences is selected from the multiple solution sets to obtain a second solution set; and the target solution is selected from the second solution set.

[0226] In a possible implementation, the processing method of the combined optimization task of the embodiment of the present application may be an offline method executed in the cloud. For example, the processing method of the embodiment of the present application may be executed by the above-mentioned execution device 410.

[0227] In a possible implementation, the method for processing the combined optimization task in the embodiment of the present application may be executed by the local device 420 or the local device 430 .

[0228] For example, users may operate their respective user devices (e.g., local device 420 and local device 430) to interact with execution device 410. Each local device may represent any computing device, such as a personal computer, a computer workstation, a smart phone, a tablet computer, a smart camera, a smart car or other type of cellular phone, a media consumption device, a wearable device, a set-top box, a game console, etc. Each user's local device may interact with execution device 410 through a communication network of any communication mechanism / communication standard, and the communication network may be a wide area network, a local area network, a point-to-point connection, etc., or any combination thereof.

[0229] In one implementation, local device 420 and local device 430 may obtain relevant parameters of the pre-trained neural network model from execution device 410, deploy the pre-trained neural network model on local device 420 and local device 430, and use the pre-trained neural network model to process combinatorial optimization tasks, etc.

[0230] In another implementation, a pre-trained neural network model may be directly deployed on the execution device 410 , and the execution device 410 obtains relevant parameters of the pre-trained neural network model from the local device 420 and the local device 430 .

[0231] Combine the following Figures 8 to 15 The technical solution of the embodiment of the present application is described in detail.

[0232] Figure 8 is a schematic flow chart of a method for processing a combined optimization task provided in an embodiment of the present application. In some examples, the method 500 may be Figure 5 The execution device 210, Figure 6 The chip shown and Figure 7 The execution is performed by the execution device 410 and other devices. Figure 8 The method 500 may include steps S510 to S550, and these steps are described in detail below.

[0233] S510: The computing device obtains a first solution set for a target problem from a memory.

[0234] The target problem is a problem that needs to be solved to achieve the target combinatorial optimization task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1.

[0235] In a possible implementation, the target combinatorial optimization task may include combinatorial optimization problems in industrial production. Combinatorial optimization problems in industrial production may include any one of the following problems: vehicle dispatching problem, three-dimensional packing problem, multi-level supply chain management problem, advertising / product bidding problem, factory scheduling problem, and factory selection problem.

[0236] It should be understood that a combinatorial optimization task may refer to a task of finding an optimal solution or a near-optimal solution within a finite set in order to solve a combinatorial optimization problem. Generally speaking, a combinatorial optimization problem can be represented by mixed integer programming and can also be a non-deterministic problem.

[0237] The computing device may be a device with a combined optimization task processing function, for example, it may include any device with a computing function known in the current technology, such as a server, a computer, etc.; or, the computing device may also refer to a chip with a computing function; for example, a chip configured in a server, a chip in a computer. The computing device may include a memory and a processor; the memory may be used to store program code, and the processor may be used to call the program code stored in the memory to implement the corresponding function of the computing device. The processor and memory included in the computing device may be implemented by a chip, and no specific limitation is made here.

[0238] S520: The computing device groups candidate solutions in the first solution set to obtain multiple solution sets.

[0239] Optionally, in a possible implementation manner, the computing device groups candidate solutions in the first solution set to obtain multiple solution sets, including:

[0240] The computing device randomly groups candidate solutions in the first solution set to obtain the multiple solution sets.

[0241] Exemplarily, the computer device may perform random and average grouping of candidate solutions in the first solution set to obtain multiple solution sets.

[0242] It should be noted that the number of candidate solutions included in each of the above-mentioned multiple solution sets is less than M.

[0243] S530: The computing device inputs multiple solution sets into a pre-trained neural network model to obtain multiple target confidences.

[0244] Among them, multiple target confidences correspond one-to-one to multiple solution sets, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution refers to the candidate solution in the first solution set that makes the planning result of the target problem meet the preset constraints.

[0245] It should be understood that each target confidence among multiple target confidences is used to indicate the confidence that the corresponding solution set includes the target solution, which may mean that each target confidence is used to indicate the probability that the corresponding solution set includes the target solution; the greater the confidence that a solution set includes the target solution, the greater the probability that the solution set includes the target solution.

[0246] It should also be understood that since the nature and applicable scenarios of the sample problems corresponding to the training neural network model are different, the solution paths are also different. Therefore, after the neural network model is trained, it is only applicable to the same type of target problems in the same or similar scenarios as the training data; for example, if the neural network is trained with data corresponding to the factory production scheduling combination optimization task, the pre-trained neural network model is only applicable to processing the factory production scheduling combination optimization task.

[0247] S540. The computing device selects, according to the multiple target confidences, a solution set corresponding to the maximum target confidence among the multiple solution sets to obtain a second solution set.

[0248] S550: The computing device selects a target solution from the second solution set.

[0249] In an embodiment of the present application, by adopting a pre-trained neural network model, it is possible to select some candidate solutions from all candidate solutions corresponding to the target problem, wherein the number of some candidate solutions is less than the number of all candidate solutions; further, the target solution is selected from the some candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problems of long solution time and low solution efficiency that exist in directly selecting the target solution from a large data set; through the processing method in the embodiment of the present application, the time for solving the problem required to achieve the combinatorial optimization task can be shortened when processing the combinatorial optimization task, thereby improving the processing efficiency of the combinatorial optimization task.

[0250] It should be noted that the above-mentioned target solution may refer to a candidate solution that enables the planning result of the target problem to meet the preset constraints; wherein, the target problem may refer to a functional relationship including multiple variables; the candidate solution may refer to the candidate value of each variable in the multiple variables in the functional relationship; the target solution may refer to the candidate value of multiple variables that enables the multiple variables to meet the preset constraints; the preset constraints may refer to the constraints on the candidate values ​​of each variable and / or the constraints on multiple variables as a whole; for example, the preset constraints may refer to the candidate values ​​of multiple variables that enable the multiple variables as a whole to reach the maximum value, minimum value or other constraints.

[0251] For example, the candidate solution may refer to the candidate target capacity of each of the multiple generation objects in the production scheduling task; the preset constraint condition may refer to the constraint limit on the daily capacity of each generation object, or the preset constraint condition may also refer to the condition that the raw materials are certain, so that multiple generation objects can complete the product demand quantity and maximize the benefits of each generation object; the target solution may be the candidate target capacity corresponding to the maximum benefit of each generation object in the candidate target production of each generation object. Optionally, in a possible implementation, the computing device selects the target solution from the second solution set, including:

[0252] The computing device selects a candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task from the second solution set to obtain the target solution.

[0253] In a specific application scenario, when the target combination optimization task is a production scheduling task, the target problem refers to achieving the maximum production benefit based on the product demand quantity and the raw material quantity, the first set includes M planning results, and one planning result among the M planning results is used to represent the target capacity of each production object among multiple generation objects, and the target solution refers to the planning result that achieves the maximum production benefit among the M planning results.

[0254] In a specific application scenario, when the target combination optimization task is a three-dimensional packing task, the target problem refers to achieving the maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, the first candidate solution set includes M packing results, and one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the target solution refers to the packing result that achieves the maximum space utilization of the box among the M packing results.

[0255] In a specific application scenario, when the target combination optimization task is a site selection task, the target problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, the first solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0256] In one example, the computing device selecting the target solution from the second solution set may refer to the computing device obtaining the labels of the candidate solutions in the second solution set through the sorting model, and selecting the target solution according to the labels of the second candidate solutions. Fig.11 The second sorting model in .

[0257] In an embodiment of the present application, in the process of processing the combinatorial optimization task in step S530, all candidate solutions included in the first solution set can be first divided into multiple solution sets; multiple target confidences corresponding to the multiple solution sets are obtained through a pre-trained neural network, and a solution set corresponding to the maximum target confidence among the multiple target confidences is selected from the multiple solution sets as the second solution set; further, the target solution can be determined from the second solution set. Through the processing method in the embodiment of the present application, the time for solving the problems required to realize the combinatorial optimization task can be shortened when processing the combinatorial optimization task, thereby improving the processing efficiency of the combinatorial optimization task.

[0258] Optionally, in a possible implementation, the pre-trained neural network model is obtained using the following training method: obtaining training data, wherein the training data includes a sample problem, a first sample solution set, a second sample solution set and a sample target solution, the sample problem is a problem that needs to be solved to achieve a sample combination optimization task, the first sample solution set includes K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set includes the sample target solution, and the sample target solution refers to a candidate solution in the first sample solution set that makes the planning result of the sample target problem meet preset constraints, K is an integer greater than 1, and L is an integer less than K; the neural network model is trained by taking the first sample solution set as input data to obtain the second sample solution set as a training target.

[0259] Exemplarily, the processing method further includes: the computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set; and the training of the neural network model using the training data includes:

[0260] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the confidence level.

[0261] When training a pre-trained neural network model, the first sample solution set can be grouped to obtain multiple sample solution sets; the multiple sample solution sets include a second sample solution set, and the second sample solution set refers to a solution set including a sample target solution in the multiple solution sets. The multiple sample solution sets are input into the neural network model, and the neural network model is used to obtain a first confidence that the second sample solution set includes the sample target solution; and the neural network model is trained according to the first confidence.

[0262] In other words, the neural network model can be used to obtain the first confidence level of the sample target solution included in multiple sample solution sets, and then the model parameters of the neural network can be continuously updated through a reverse iterative algorithm based on the first confidence level of the multiple sample solution sets including the sample target solution, so that the first confidence level of the second sample solution set in the multiple sample solution sets is greater than the first confidence level of other sample solution sets in the multiple sample solution sets including the sample target solution, so that the neural network model can obtain the second sample solution set including the sample target solution from the multiple sample solution sets.

[0263] In an embodiment of the present application, multiple sample solution sets can be fixed and unchanged. By dynamically adjusting the corresponding confidences of the multiple solution sets, that is, the label of each sample solution set can be dynamically adjusted, the label of each sample solution set is used to indicate the confidence that each sample solution set includes the target solution, and the neural network model is trained according to the confidences of the multiple sample solution sets. Compared with the training method of dynamically grouping multiple sample solution sets, the dynamic adjustment of the label of each sample solution set can shorten the training time of the neural network model.

[0264] Optionally, in a possible implementation manner, the computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set, including:

[0265] The computing device randomly groups candidate solutions in the first sample solution set to obtain the second sample solution set.

[0266] Exemplarily, when the computing device groups the first sample solution set, the computing device may group the first sample solution set by means of random averaging.

[0267] Furthermore, the first confidence that each sample solution set in the plurality of sample solution sets includes a sample target solution may be calculated by calculating the confidence that each sample solution in each sample solution set is a sample target solution.

[0268] Optionally, in a possible implementation manner, the using the neural network model to obtain the second sample solution set including a first confidence of the sample target solution includes:

[0269] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0270] Exemplarily, a sample solution set includes three sample solutions, and the first confidence of the sample target solution included in the sample solution set can be obtained by weighted summing the confidence that each sample solution in the three sample solutions is the sample target solution.

[0271] Optionally, in a possible implementation, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0272] Exemplarily, the confidence that each solution in each sample solution set is a sample target solution may be obtained by using an adaptive boost (Adaboost) algorithm.

[0273] It should be understood that Adaboost is an iterative algorithm, and its core idea is to train different classifiers (weak classifiers) for the same training set, and then combine these weak classifiers to form a stronger final classifier (strong classifier). The algorithm itself is implemented by changing the data distribution. It determines the weight of each sample based on whether the classification of each sample in each training set is correct and the accuracy of the last overall classification. The new data set with modified weights is sent to the lower-level classifier for training, and finally the classifiers obtained from each training are finally fused as the final decision classifier.

[0274] The essence of the adaptive enhancement algorithm mechanism may be to form a weighted average label for each group (eg, a score for the group).

[0275] The specific steps may include:

[0276] Step 1: Initially, the weight of each sample solution is equal, and the initial groups are divided according to the position; the score of the initial group is the average of the scores of all sample solutions in the initial group;

[0277] Step 2: sort all sample solutions and initial groupings respectively, and determine the grouping where the optimal solution (e.g., the candidate solution with the highest score) is located;

[0278] Step 3: If a group includes the optimal solution, stop the iteration and the final score of the group is the score at this moment; otherwise, execute step 4;

[0279] Step 4: If a group does not include the optimal solution, increase the weight of the optimal solution and re-score the group;

[0280] Step 5: Re-sort the groups and return to step 3.

[0281] The mechanism of the above-mentioned adaptive enhancement algorithm can ensure that the sample target solution set includes the sample target solution, that is, the target solution among multiple candidate solutions is included in the group with the best sorting.

[0282] For example, assuming that the number of all sample candidate solutions is 9, and 3 of the 9 sample candidate solutions are grouped into 1 group during the initial grouping, then three groups of the initial grouping can be obtained, namely, group 1: sample candidate solution 1, sample candidate solution 2, sample candidate solution 3; group 2: sample candidate solution 4, sample candidate solution 5, sample candidate solution 6; group 3: sample candidate solution 7, sample candidate solution 8, sample candidate solution 9; assuming that the weight of each sample candidate solution in the initial grouping is 1, the sample candidate solutions in the initial grouping are scored, namely, the scores corresponding to each variable in group 1 are: 1, 2, 3; the scores corresponding to each variable in group 2 are: 2, 2, 2; the scores corresponding to each variable in group 3 are: 1, 1, 4; by scoring the above groups The initial scores are weighted and averaged, and the score for group 1 is 2; the score for group 2 is 2; and the score for group 3 is 2. Through the scores of the variables in the above groups, it can be seen that the score of sample candidate solution 9 is the variable with the highest score among the 9 variables, so variable 9 can be considered the optimal solution. Then the weight values ​​of each sample candidate solution can be adjusted. For example, the weight values ​​in group 1 are adjusted to 1, 1, 3 respectively; the weight values ​​in group 3 are adjusted to 1, 1, 4; the weight value of group 2 does not need to be adjusted. Further, the scores of each group after the weight values ​​are adjusted are calculated, so that the score for group 1 is 4; the score for group 2 is 2; and the score for group 3 is 6. Therefore, group 3 can be determined to be the best group, and group 3 includes the optimal solution.

[0283] Optionally, in a possible implementation, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0284] Exemplarily, a 0-1 binary classification scoring mechanism may be adopted.

[0285] For example, all candidate solutions are randomly grouped to obtain initial groups; each candidate solution in the initial groups is scored, and the label of the group including the optimal solution is set to 1, and the labels of the remaining groups are all set to 0.

[0286] In one example, if Fig. 9 As shown, the processing method of the combinatorial optimization task in the embodiment of the present application may mainly include two steps of respectively determining the target group (for example, the second solution set) and determining the target solution of the target group.

[0287] Specifically, the first step is to group all candidate solutions to obtain initial groups; score each group in the initial group to obtain a target group in the initial group;

[0288] The second step is to sort the candidate solutions in the target group to obtain the top-K ranked candidate solutions, that is, to select the target solution in the target group.

[0289] Exemplarily, the first step may be performed in a pre-trained neural network model in the above-mentioned embodiment of the present application, that is, it may refer to a pre-trained inter-group sorting model; the second step may be performed in a pre-trained intra-group sorting model.

[0290] It should be noted that the specific process of the above-mentioned pre-trained intra-group sorting model can refer to the training method of the sorting model in the prior art, and this application does not make any limitation.

[0291] For example, Fig. 9 As shown, a second solution set among the multiple solution sets can be determined based on the confidence level of the target solution included in the solution set, based on multiple solution sets obtained by randomly grouping all candidate solutions in the first candidate solution set, wherein the second solution set can refer to a solution set including a target solution with a confidence level greater than the confidence level of the target solution included in other solution sets among the multiple solution sets; for example, the second solution set can refer to a group with the highest score in the initial grouping; further, the multiple candidate solutions included in the second solution set can be sorted, for example, the multiple candidate solutions in the second solution set can be scored, so as to obtain the target solution with the highest score among the multiple candidate solutions.

[0292] Fig.10 Schematic diagram of dynamic scoring between groups provided in the embodiment of the present application. Fig.10 As shown, the learning of the inter-group ranking model can be completed by scoring and defining labels for different groups (for example, initial groups with random average scores).

[0293] It should be understood that Fig.10 The candidate solutions shown may refer to solutions for the individual variables required to solve the combinatorial optimization problem.

[0294] It should be noted that the most intuitive idea for grouping is to dynamically group these candidate solutions so that the order of the N groups is consistent with the ranking of the candidate solutions, that is, the best group contains M / N candidate solutions ranked from 1st to M / Nth, the second group contains M / N candidate solutions ranked from M / N+1th to 2M / Nth, and so on. However, it should be noted that the learning goal of the pre-trained neural network model, i.e., the inter-group ranking model, in the embodiments of the present application is not to divide the candidate solutions into exactly N parts, but to make the best group include the target solution among multiple candidate solutions, i.e., the target group includes the target solution.

[0295] Exemplarily, when dynamically scoring each group, the above-mentioned adaptive enhancement algorithm or a binary classification label mechanism may be used.

[0296] In the embodiment of the present application, through the above two scoring strategies, that is, through learning the inter-group sorting model, a relatively accurate group sorting can be learned, so as to select the target group; then, relative to the candidate solutions in the target group (directly ignoring the candidate solutions in the group that has not been selected), the candidate solution sorting is learned. This method can make better use of existing samples, and the reason is that the number of groups is relatively small relative to the number of candidate solutions; for example, for the problem solving process of 10,000 variables, the candidate solutions can usually be divided into 10-20 groups, and the number of groups is much smaller than the number of candidate solutions. Therefore, the process of learning the inter-group sorting model is also relatively simple; for example, for the above example, the inter-group sorting model is actually a sorting model between only 10-20 groups; in the process of training the inter-group sorting model, the "group" is regarded as "a whole", that is, the "variable" in the model. It is relatively easy to learn an inter-group sorting model on a fixed number and fixed quality of samples. Furthermore, for the target group determined from multiple candidate groupings, that is, the group or multiple groups with the highest ranking obtained by the inter-group ranking model, a model for ranking between variables can be learned; for example, still taking the above example, selecting the best group among 10,000 variables means that the number of candidate solutions processed at this time is 1000-500, and the number of candidate solutions processed is much smaller than the number of all candidate solutions of 10,000; therefore, by adopting the processing method of the combinatorial optimization task provided in the embodiment of the present application, the processing efficiency of the combinatorial optimization task can be improved.

[0297] Fig.11 is a schematic flow chart of a training method for a neural network model (i.e., the above-mentioned inter-group sorting model) provided in an embodiment of the present application. In some examples, the training method 600 may be Figure 5 The execution device 210, Figure 6 The chip shown and Figure 7 The execution is performed by the execution device 410 and other devices. Fig.11 The training method 600 may include steps S610 to S640, and these steps are described in detail below.

[0298] It should be understood that in the embodiment of the present application, the component sorting model can be the above Figure 8 Pre-trained neural network models in .

[0299] S610. Input sample questions.

[0300] Among them, the training problem can refer to the problem that needs to be solved to achieve the sample combination optimization task; for example, the combinatorial optimization problems in industrial production such as resource allocation and resource scheduling; the goal is to maximize or minimize a certain goal under certain resource and condition constraints.

[0301] Exemplarily, the training problem may include, but is not limited to, any one of factory scheduling, production scheduling, three-dimensional packing, and factory site selection.

[0302] It should be understood that since the nature and applicable scenarios of the sample problems corresponding to the training neural network model are different, the solution paths are also different. Therefore, after the neural network model is trained, the training data of the sample problems used in the training is only applicable to the same type of problems in the same or similar scenarios; for example, if the training is completed on the factory scheduling data, it is only applicable to testing on the factory scheduling problem.

[0303] S620: Obtain a sample set, that is, obtain training data.

[0304] For example, for a certain sample problem, it is necessary to obtain a sample set based on the characteristics of the sample problem definition, and divide these sample sets into training sets, test sets, and validation sets; among them, the training set refers to the sample set used for training, which is mainly used to train the parameters in the neural network; the validation set refers to the sample set used to verify the performance of the model. After different neural networks are trained on the training set, the performance of each model is compared and judged through the validation set. The different models here mainly refer to neural networks with different hyperparameters, or neural networks with completely different structures; the test set is used to objectively evaluate the performance of the trained neural network.

[0305] Exemplarily, the training data may refer to historical strategies for solving the sample problems; for example, historical allocation results corresponding to solving the sample problems and data on historical profits corresponding to the historical allocation results.

[0306] In an example, assume that the training problem refers to a factory production problem on a certain day in the future; for example, how to allocate 10,000 raw materials to 5 factories so as to maximize the profit of each of the 5 factories; then the training sample set can refer to historical data, for example, the allocation results of allocating the above 10,000 raw materials to the 5 factories within 30 days before the certain day in the future and the profit value of each of the 5 factories every day.

[0307] In another example, suppose the training problem refers to the assembly line balancing problem on a certain day in the future; for example, how to allocate 100,000 products to 100 production lines for production so that the assembly line cycle for producing 100,000 products is the shortest; then the training sample set can refer to historical data, for example, the allocation results of allocating the above 100,000 products to 100 production lines within 50 days before the certain day in the future and the completion efficiency of each production line every day.

[0308] It should be understood that the above is an example of training problems and training samples, and this application does not impose any limitation on this.

[0309] S630: training a sorting model.

[0310] It should be understood that the above sorting model can be Figure 8 The sorting model shown in , wherein the sorting model may include a first sorting model and a second sorting model; the first sorting model may refer to an inter-group sorting model, that is, Figure 8 The pre-trained neural network model shown; the second ranking model may refer to an within-group ranking model.

[0311] For example, through the first sorting model, N candidate solutions can be selected from the first solution set to form a second solution set; through the second sorting model, a target solution can be selected from the second solution set, wherein the first solution set includes M candidate solutions to the target problem, the target problem is the problem that needs to be solved to achieve the target combinatorial optimization task, M is an integer greater than 1, and N is an integer less than M.

[0312] For example, the training method of the inter-group ranking model can refer to Figures 8 to 10 The process shown is that by dynamically adjusting the labels of the randomly obtained initial groups, the inter-group sorting model can select the target group from multiple groups, and the target group includes the target solution.

[0313] In one example, when extracting group features, adjacent information of candidate solutions within the group can be extracted; the specific operation process is: the window size can be set, and when extracting features of candidate solutions within the group, the features within the group can be extracted according to the size of the given window size; the average score of the nodes within the window, the score variance, and the average impact of the combination of different nodes on the objective function, multiple sampling methods can be used here, such as using a sliding window, 3, 4, and 5 nodes respectively to test the impact, so as to enhance accuracy and the correspondence between nodes and groups.

[0314] The characteristics of each candidate solution may refer to the score of the candidate solution, the impact of deleting the candidate solution on solving the sample problem, etc.; the grouping characteristics may be reflected by the average score, score variance, covariance, etc. of the candidate solutions included in a group.

[0315] It should be understood that the above-mentioned candidate solutions may refer to candidate values ​​of variables corresponding to solving the mathematical programming problem.

[0316] For example, if each group includes 10,000 nodes, a window size of 100 means randomly selecting 100 nodes from all nodes and putting them into the group, so selecting 10,000 nodes requires 100 selections; if the window size is 1000, it means randomly selecting 1000 variables from all nodes and putting them into the group, so selecting 10,000 nodes requires 10 selections.

[0317] Exemplarily, the second sorting model may refer to a model for sorting multiple variables, for example, it may refer to a sorting model obtained through a supervised learning mechanism; the training method of the second sorting model may also refer to the training method of the sorting model in the prior art, which will not be repeated here.

[0318] S640, sorting model training is completed.

[0319] For example, a sorting model is obtained through the trained inter-group sorting model and the intra-group sorting model, and the sorting model is used to determine the path information of the branch and bound algorithm corresponding to the mathematical programming problem.

[0320] It should be noted that the training methods of the above-mentioned first sorting model and the second sorting model can be trained using either traditional machine learning regression classification models or deep learning neural networks; the present application does not impose any limitations on the training methods of the first sorting model and the second model.

[0321] In an embodiment of the present application, two pre-trained sorting models are adopted, that is, the pre-trained first sorting model is used to select partial solutions (for example, the second solution set) from all candidate solutions (for example, the first solution set), wherein the number of partial candidate solutions is less than the number of all candidate solutions; and then the pre-trained second sorting model is used to select the target solution from the partial candidate solutions; that is, when solving the problem required to achieve the target combinatorial optimization task, a partial data set can be first selected from a large data candidate set, and then the target solution can be selected from the partial data set; thereby avoiding the problem of long solution time and low solution efficiency that exists in directly selecting the target solution from a large data set; through the two pre-trained sorting models in the embodiment of the present application, the solution efficiency can be improved when determining the path information of the branch and bound algorithm corresponding to the combinatorial optimization problem.

[0322] Fig.12 is a schematic flow chart of a method for processing a combined optimization task provided by an embodiment of the present application. In some examples, the method 700 may be Figure 5 The execution device 210, Figure 6 The chip shown and Figure 7 The execution is performed by the execution device 410 and other devices. Fig.12 The method 700 may include steps S701 to S705, and these steps are described in detail below.

[0323] S701. Obtain pending issues.

[0324] Exemplarily, the data to be processed includes the problem to be processed and information of a candidate node set corresponding to the problem to be processed; wherein the candidate nodes in the candidate node set corresponding to the problem to be processed may refer to candidate solutions corresponding to solving the problem to be processed.

[0325] For example, the candidate node may refer to a variable corresponding to solving the problem to be processed, and the information of the candidate node may refer to the constraint conditions on the variable during the solution process.

[0326] S702: First sorting model processing.

[0327] Exemplarily, based on all candidate solutions corresponding to the problem to be processed (e.g., a first solution set) and a pre-trained first ranking model, multiple target confidences can be obtained, and the multiple target confidences may refer to multiple prediction labels output by the pre-trained first ranking model.

[0328] In one example, a computing device may randomly group all candidate solutions corresponding to a problem to be processed to obtain multiple solution sets; the multiple solution sets are input into a pre-trained first sorting model to obtain multiple target confidences, the multiple target confidences correspond one-to-one to the multiple solution sets, each of the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, the target solution refers to a candidate solution in the first solution set that makes the planning result of the target problem meet preset constraints; according to the multiple target confidences, the solution set corresponding to the maximum target confidence can be selected from the multiple solution sets as the second solution set.

[0329] For example, the labels of the above-mentioned solution sets can be reflected by the scores of each group; if the score of solution set 1 among multiple solution sets is greater than the score of solution set 2, it can be said that the probability of solution set 1 including the target solution is greater than the probability of solution set 2 including the target solution; then solution set 1 can be selected as the above-mentioned second solution set.

[0330] S703: second sorting model processing.

[0331] Exemplarily, the target group in the grouping can be obtained through the above step S702, that is, the second solution set can be selected from multiple solution sets; further, the target solution can be obtained based on the candidate solutions included in the second solution set and the pre-trained second sorting model.

[0332] In one example, multiple candidate solutions included in the second solution set can be input into a pre-trained second ranking model to obtain labels for the multiple candidate solutions, and the labels can be used to label the confidence of each candidate solution as the target solution; the target solution in the second solution set can be selected based on the labels of the multiple candidate solutions in the second solution set.

[0333] S704: Determine path information of the branch and bound algorithm.

[0334] Exemplarily, path information of the branch and bound algorithm can be determined according to the ranking of each candidate solution in the second solution set; the path information of the branch and bound algorithm is used to indicate the order in which each candidate solution in the target group is selected in the branch and bound algorithm.

[0335] S705: Predict the target solution.

[0336] For example, the problem to be processed can be solved through the branch and bound path information obtained above, thereby obtaining the target solution of each variable corresponding to the problem to be processed.

[0337] Furthermore, the target combination result of the problem to be solved can be predicted based on the target solution of each variable.

[0338] It should be understood that the target combination optimization result may refer to solving the target solution of each variable when solving the combinatorial optimization problem to be processed, provided that each variable satisfies the constraint conditions, and obtaining the combinatorial optimization result according to the target solution of each variable.

[0339] Exemplarily, the target solution may refer to a candidate solution that can achieve the maximum resource allocation rate or the maximum benefit corresponding to the problem to be processed among the multiple candidate solutions included in the second solution set; a combined optimization result can be obtained according to the target solution of each variable. It should also be understood that the above examples are intended to help those skilled in the art understand the embodiments of the present application, and are not intended to limit the embodiments of the present application to the specific numerical values ​​or specific scenarios illustrated. It is obvious that those skilled in the art can make various equivalent modifications or changes based on the above examples, and such modifications or changes also fall within the scope of the embodiments of the present application.

[0340] Fig.13 Schematic diagram of the test results provided by the embodiment of the present application. Fig.13 The test data used in the paper is the mixed integer programming problem set (MIP-1), the number of constraints is 500, and the number of variables is 1000; Fig.13 (a) shows a comparison diagram of the solution efficiency of different models in MIP-1. Fig.13 (b) is a schematic diagram showing the comparison of the number of nodes traversed by different models; the test models used include the best open source software currently known for scientific constraint integer programming (SCIP), Original indicates that the target model has been made public; 1 indicates the first sorting model trained by the adaptive boosting algorithm; 2 indicates the first sorting model pre-trained by the binary classification label mechanism.

[0341] like Fig.13 As shown in (a) of , the solution time of different processing methods for combinatorial optimization tasks is provided; Fig.13 As shown in (b), different processing methods for combinatorial optimization tasks require traversing the number of all variables; the processing method for combinatorial optimization tasks provided in the embodiment of the present application only needs to traverse 70% of the nodes to find the optimal solution, that is, the target solution; compared with the current processing method that needs to traverse 100% of the variables to determine the optimal solution, the solution efficiency is improved.

[0342] In one example, the processing method for the combinatorial optimization task provided by the present application is tested on the set cover (SetCover) problem.

[0343] Among them, the set covering problem can refer to a type of standard combinatorial optimization problem, and the corresponding industrial problems may include factory site selection, production line planning, etc.

[0344] Specifically, the set cover problem describes a set U and several sub-class sets S consisting of the elements in U. The goal is to find a subset of S that satisfies the requirement that the elements contained in it include all the elements in U and minimizes the number of sub-class sets. For example, U = {1,2,3,4,5}, S = {{1,2},{3,4},{2,4,5},{4,5}}, the sets that can meet the conditions are O = {{1,2},{3,4}{4,5}}, or O = {{1,2},{3,4},{2,4,5}}. Therefore, the essence of the set cover problem is to find the minimum covering subset of a set; for example, the set cover problem can often be expressed as:

[0345]

[0346] Here, x represents the variable to be solved, and c and a represent the coefficient matrices. As can be seen, the set covering problem is very similar to the standard MIP representation, but it does not only require the variables to be integers, but also requires the variables to be selected between 0 and 1. Therefore, such mixed integer programming is also called 0-1 mixed integer programming (0-1MIP).

[0347] Fig.14 is a schematic diagram of the test effect of the set cover problem provided by the embodiment of the present application. Fig.14 The test data used in the paper is the SC-1 problem set (SC-1), which includes 5000 problems, 500 constraints, and 1000 variables; Fig.14 (a) shows a comparison diagram of the solution efficiency of different models in SC-1. Fig.14 (b) is a schematic diagram showing the comparison of the number of nodes traversed by different models; the test models used include the best open source software currently known for scientific constraint integer programming (SCIP), Original indicates that the target model has been made public; 1 indicates the first sorting model trained by the adaptive boosting algorithm; 2 indicates the first sorting model pre-trained by the binary classification label mechanism.

[0348] like Fig.14 As shown in (a) in FIG. 1 , it can be seen that the processing method for the combined optimization task proposed in this application has an advantage in computational efficiency; Fig.14As shown in (b), it can be seen that the reason for improving the computational efficiency is that the present application only needs to traverse 50% of the variables, while the original method needs to traverse 60% of the variables. Therefore, the processing method for the combinatorial optimization task provided by the present application is applied to the set covering problem to improve the computational efficiency of the existing processing method.

[0349] In one example, the processing method for the combined optimization task provided in this application is tested on the problem of advertising pricing / delivery.

[0350] It should be understood that problems such as advertising pricing / placement problems differ from other types of problems in that their constraint matrices are more complex.

[0351] The dataset used in this application is a standard advertising bidding / auction problem dataset. For example, problems such as advertising pricing / delivery can also be expressed as integer programming problems:

[0352]

[0353] Among them, b represents the parameters in the optimization objective (for example, price per unit time / area); y represents the decision variable (for example, production volume, sales volume, extension volume); S represents the indirect solution variable (for example, worker hours, sales relationship); j represents the sequence relationship of the variable (for example, the serial numbers of different machines, the serial numbers of different production lines).

[0354] Fig.15 Schematic diagram of the test results of the present application embodiment for the problem of advertising pricing / delivery. Fig.15 The test data used in the paper is a standard advertising bidding / auction problem dataset, with 200 constraints and 400 variables. Fig.15 (a) shows a comparison diagram of the solution efficiency of different models in SC-1. Fig.15 (b) is a schematic diagram showing the comparison of the number of nodes traversed by different models; the test models used include the best open source software currently known for scientific constraint integer programming (SCIP), Original indicates that the target model has been made public; 1 indicates the first sorting model trained by the adaptive boosting algorithm; 2 indicates the first sorting model pre-trained by the binary classification label mechanism.

[0355] like Fig.15 As shown in (a) in FIG. 1 , it can be seen that the processing method for the combined optimization task proposed in this application has an advantage in computational efficiency; Fig.15As shown in (b), it can be seen that the reason for improving the computational efficiency is that the original processing method needs to traverse all variables, while the processing method of this application only needs to traverse 90% of the variables to obtain the optimal solution. Therefore, the processing method of the combined optimization task provided by this application is applied to the advertising pricing / delivery problem to improve the computational efficiency of the existing processing method.

[0356] It should be noted that the above examples illustrate the test results of the processing method of the combinatorial optimization task proposed in this application on the set coverage problem and the advertising pricing / placement problem. The processing method of the combinatorial optimization task adopted in the embodiment of this application can also be applied to other mixed integer programming problems, and this application does not impose any limitations on this.

[0357] Combination of the above Figures 1 to 15 , describes in detail the processing method and test results of the combined optimization task provided by the embodiment of the present application; the following will be combined with Figure 16 to Figure 17 , describes the device embodiment of the present application in detail. It should be understood that the processing device of the combined optimization task in the embodiment of the present application can execute the various processing methods of the aforementioned embodiment of the present application, that is, the specific working process of the following various products can refer to the corresponding process in the aforementioned method embodiment.

[0358] Fig.16 It is a schematic block diagram of a processing device for a combined optimization task provided in this application.

[0359] It should be understood that the processing device 800 may execute Figures 8 to 12 The processing device 800 includes: an acquisition unit 810 and a processing unit 820.

[0360] Among them, the acquisition unit 810 is used to obtain a first solution set for the target problem from the memory, where the target problem is a problem that needs to be solved to achieve the target combination optimization task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; the processing unit 820 is used to group the candidate solutions in the first solution set to obtain multiple solution sets; the multiple solution sets are input into a pre-trained neural network model to obtain multiple target confidences, and the multiple target confidences correspond to the multiple solution sets one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes the confidence of the target solution, and the target solution refers to the candidate solution in the first solution set that makes the planning result of the target problem meet the preset constraints; according to the multiple target confidences, a solution set corresponding to the maximum target confidence in the multiple target confidences is selected from the multiple solution sets to obtain a second solution set; and the target solution is selected from the second solution set.

[0361] Optionally, as an embodiment, the processing unit 820 is specifically configured to:

[0362] The candidate solutions in the first solution set are randomly grouped to obtain the multiple solution sets.

[0363] Optionally, as an embodiment, the processing unit 820 is specifically configured to:

[0364] A candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task is selected from the second solution set as the target solution.

[0365] Optionally, as an embodiment, the target combination optimization task includes any one of a factory production scheduling task, a production dispatching task, a three-dimensional packing task, and a factory site selection task.

[0366] Optionally, as an embodiment, when the target combination optimization task is a production scheduling task, the target problem refers to achieving maximum production revenue based on product demand quantity and raw material quantity, the first set includes M planning results, and one planning result among the M planning results is used to represent the target capacity of each production object among multiple generation objects, and the target solution refers to the planning result among the M planning results that achieves the maximum production revenue.

[0367] Optionally, as an embodiment, when the target combination optimization task is a three-dimensional packing task, the target problem refers to achieving maximum space utilization of the box based on the sizes of multiple items to be packed and the size of the box, and the first candidate solution set includes M packing results, and one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and loaded into the box, and the target solution refers to the packing result among the M packing results that achieves the maximum space utilization of the box.

[0368] Optionally, as an embodiment, when the target combination optimization task is a site selection task, the target problem refers to achieving the maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, the first solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site of each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

[0369] Optionally, as an embodiment, the neural network model is obtained using the following training method:

[0370] Acquire training data, wherein the training data includes a first sample solution set, a second sample solution set, and a sample target solution, the first sample solution set includes K candidate solutions to a sample problem, the sample problem is a problem to be solved to achieve a sample combination optimization task, the second sample solution set includes the sample target solution, and K is an integer greater than 1;

[0371] The neural network model is trained by taking the first sample solution set as input data and obtaining the second sample solution set as a training target, wherein the second sample solution set is composed of L candidate solutions selected from the first sample solution set, and L is an integer less than K.

[0372] Optionally, as an embodiment, the processing unit 820 is further configured to:

[0373] The computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set;

[0374] The step of training the neural network model using the training data includes:

[0375] The second sample solution set is obtained using the neural network model, including a first confidence level of the sample target solution; and the neural network model is trained according to the first confidence level.

[0376] Optionally, as an embodiment, the processing unit 820 is specifically configured to:

[0377] The computing device randomly groups candidate solutions in the first sample solution set to obtain the second sample solution set.

[0378] Optionally, as an embodiment, the processing unit 820 is specifically configured to:

[0379] The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

[0380] Optionally, as an embodiment, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

[0381] Optionally, as an embodiment, the confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

[0382] It should be noted that the processing device 800 is implemented in the form of a functional unit. The term "unit" here can be implemented in the form of software and / or hardware, and is not specifically limited to this.

[0383] For example, a "unit" may be a software program, a hardware circuit, or a combination of the two that implements the above functions. The hardware circuit may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (e.g., a shared processor, a dedicated processor, or a group processor, etc.) and a memory for executing one or more software or firmware programs, a combined logic circuit, and / or other suitable components that support the described functions.

[0384] Therefore, the units of each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present application.

[0385] Fig.17 It is a schematic diagram of the hardware structure of the processing device for the combined optimization task provided in the embodiment of the present application.

[0386] Fig.17 The processing device 900 shown (the processing device 900 may be a computer device) includes a memory 910, a processor 920, a communication interface 9030 and a bus 940. The memory 910, the processor 920 and the communication interface 9030 are connected to each other through the bus 940.

[0387] The memory 910 may be a read-only memory (ROM), a static storage device, a dynamic storage device or a random access memory (RAM). The memory 910 may store a program. When the program stored in the memory 910 is executed by the processor 920, the processor 920 is used to execute each step of the processing method for the combined optimization task of the embodiment of the present application; for example, executing Figures 8 to 12 The steps shown.

[0388] It should be understood that the processing device for the combined optimization task shown in the embodiment of the present application can be a computing device or a chip in a computing device configured in the cloud.

[0389] Among them, the computing device can be a device with a combinatorial optimization task processing function, for example, it can include any computing function known in the current technology, such as a server, a computer, etc.; or, the computing device can also refer to a chip with a computing function; for example, a chip configured in a server, a chip in a computer. The computing device may include a memory and a processor; the memory can be used to store program code, and the processor can be used to call the program code stored in the memory to implement the corresponding functions of the computing device. The processor and memory included in the computing device can be implemented by a chip, which is not specifically limited here. For example, the memory can be used to store the relevant program instructions of the processing method of the combinatorial optimization task provided in the embodiment of the present application, and the processor can be used to call the relevant program instructions of the processing method stored in the memory when solving the target problem, execute the processing method of the embodiment of the present application to select part of the solutions from the first solution set to form a second solution set, and select the target solution from the second solution set.

[0390] The processor 920 can adopt a general-purpose central processing unit (CPU), a microprocessor, an application specific integrated circuit (ASIC), or one or more integrated circuits to execute relevant programs to implement the processing method of the combinatorial optimization task of the method embodiment of the present application.

[0391] The processor 920 may also be an integrated circuit chip with signal processing capability. In the implementation process, each step of the processing method of the combined optimization task of the present application may be completed by an integrated logic circuit of hardware in the processor 920 or by instructions in the form of software.

[0392] The processor 920 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, or the like. The storage medium is located in the memory 910, and the processor 920 reads the information in the memory 910, and completes the implementation of the present application in combination with its hardware. Fig.16 The functions required to be performed by the units included in the processing device shown, or the execution of the method embodiment of the present application Figures 8 to 12 The processing method of the combinatorial optimization task is shown.

[0393] The communication interface 930 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the processing device 900 and other devices or a communication network.

[0394] The bus 940 may include a path for transmitting information between the various components of the processing device 900 (eg, the memory 910 , the processor 920 , and the communication interface 930 ).

[0395] It should be noted that although the above processing device 900 only shows a memory, a processor, and a communication interface, in the specific implementation process, those skilled in the art should understand that the processing device 900 may also include other devices necessary for normal operation. At the same time, those skilled in the art should understand that the above processing device 9009 may also include hardware devices for implementing other additional functions according to specific needs. In addition, those skilled in the art should understand that the above processing device 900 may also only include the devices necessary for implementing the embodiments of the present application, and does not necessarily include Fig.17 All devices shown in .

[0396] Illustratively, the embodiment of the present application further provides a chip, which includes a transceiver unit and a processing unit. The transceiver unit may be an input / output circuit or a communication interface; the processing unit may be a processor or a microprocessor or an integrated circuit integrated on the chip; and the chip may execute the processing method of the combined optimization task in the above method embodiment.

[0397] Exemplarily, an embodiment of the present application further provides a computer-readable storage medium having instructions stored thereon, which, when executed, execute the processing method of the combined optimization task in the above method embodiment.

[0398] Exemplarily, an embodiment of the present application further provides a computer program product comprising instructions, which, when executed, perform the processing method of the combined optimization task in the above method embodiment.

[0399] It should be understood that the processor in the embodiment of the present application may be a central processing unit (CPU), and the processor may also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0400] It should also be understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0401] The above embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented by software, the above embodiments can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media sets. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state hard disk.

[0402] It should be understood that the term "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. A and B can be singular or plural. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship, but it may also indicate an "and / or" relationship. Please refer to the context for specific understanding.

[0403] In this application, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can be represented by: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.

[0404] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0405] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0406] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0407] In the several embodiments provided in the present 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 only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0408] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0409] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0410] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage media include: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memories (ROM), random access memories (RAM), magnetic disks or optical disks.

[0411] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for processing a combinatorial optimization task, characterized in that: include: The computing device obtains a first solution set for a target problem from a memory, where the target problem is a problem to be solved to achieve a target combination optimization task, where the target combination optimization task includes any one of a production scheduling task, a three-dimensional packing task, and a site selection task, and the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; The computing device groups candidate solutions in the first solution set to obtain multiple solution sets; The computing device inputs the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, the multiple target confidences corresponding to the multiple solution sets one by one, each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes a confidence of a target solution, the target solution being a candidate solution in the first solution set that makes the planning result of the target problem satisfy a preset constraint condition; The computing device selects, from the multiple solution sets, a solution set corresponding to a maximum target confidence among the multiple target confidences, to obtain a second solution set; The computing device selects the target solution from the second solution set; Wherein, in the case where the target combination optimization task is a production scheduling task, the target problem refers to achieving the maximum production benefit according to the product demand quantity and the raw material quantity, the first solution set includes M planning results, one planning result among the M planning results is used to represent the target capacity of each production object among the multiple generation objects, and the target solution refers to the planning result that achieves the maximum production benefit among the M planning results; In the case where the target combination optimization task is a three-dimensional box packing task, the target problem is to achieve the maximum space utilization of the box according to the sizes of the multiple items to be packed and the size of the box, the first solution set includes M packing results, one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and packed into the box, and the target solution is the packing result that achieves the maximum space utilization of the box among the M packing results; In the case where the target combination optimization task is a site selection task, the target problem refers to achieving a maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, the first solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

2. The processing method according to claim 1, characterized in that The computing device groups candidate solutions in the first solution set to obtain multiple solution sets, including: The computing device randomly groups candidate solutions in the first solution set to obtain the multiple solution sets.

3. The processing method according to claim 1, characterized in that: The computing device selects the target solution from the second solution set, including: The computing device selects, from the second solution set, a candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task as the target solution.

4. The processing method according to any one of claims 1 to 3, characterized in that: The neural network model is obtained using the following training method: Acquire training data, wherein the training data includes a sample problem, a first sample solution set, a second sample solution set, and a sample target solution, wherein the sample problem is a problem to be solved to achieve a sample combination optimization task, the first sample solution set includes K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set includes the sample target solution, and the sample target solution refers to a candidate solution in the first sample solution set that makes the planning result of the sample problem meet a preset constraint condition, K is an integer greater than 1, and L is an integer less than K; The neural network model is trained by taking the first sample solution set as input data and obtaining the second sample solution set as a training target.

5. The processing method according to claim 4, characterized in that: Also includes: The computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set; The training of the neural network model by taking the first sample solution set as input data and obtaining the second sample solution set as a training target includes: Using the neural network model to obtain the second sample solution set including a first confidence of the sample target solution; The neural network model is trained according to the first confidence level.

6. The processing method according to claim 5, characterized in that: The computing device groups candidate solutions in the first sample solution set to obtain the second sample solution set, including: The computing device randomly groups candidate solutions in the first sample solution set to obtain the second sample solution set.

7. The processing method according to claim 5, characterized in that: The step of using the neural network model to obtain the second sample solution set including a first confidence level of the sample target solution comprises: The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

8. The processing method according to claim 7, characterized in that: The confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

9. The processing method according to claim 7, characterized in that: The confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

10. A processing device for a combined optimization task, characterized in that: include: an acquisition unit, configured to acquire a first solution set for a target problem from a memory, wherein the target problem is a problem to be solved to achieve a target combination optimization task, wherein the target combination optimization task includes any one of a production scheduling task, a three-dimensional packing task, and a site selection task, and wherein the first solution set includes M candidate solutions for the target problem, where M is an integer greater than 1; a processing unit, configured to group candidate solutions in the first solution set to obtain multiple solution sets; Inputting the multiple solution sets into a pre-trained neural network model to obtain multiple target confidences, wherein the multiple target confidences correspond to the multiple solution sets one by one, and each target confidence in the multiple target confidences is used to indicate that the corresponding solution set includes a confidence of a target solution, wherein the target solution refers to a candidate solution in the first solution set that makes the planning result of the target problem satisfy a preset constraint condition; According to the multiple target confidences, a solution set corresponding to the maximum target confidence among the multiple target confidences is selected from the multiple solution sets to obtain a second solution set; and the target solution is selected from the second solution set; Wherein, in the case where the target combination optimization task is a production scheduling task, the target problem refers to achieving the maximum production benefit according to the product demand quantity and the raw material quantity, the first solution set includes M planning results, one planning result among the M planning results is used to represent the target capacity of each production object among the multiple generation objects, and the target solution refers to the planning result that achieves the maximum production benefit among the M planning results; In the case where the target combination optimization task is a three-dimensional box packing task, the target problem is to achieve the maximum space utilization of the box according to the sizes of the multiple items to be packed and the size of the box, the first solution set includes M packing results, one packing result among the M packing results is used to indicate that some of the items to be packed are selected from the multiple items to be packed and packed into the box, and the target solution is the packing result that achieves the maximum space utilization of the box among the M packing results; In the case where the target combination optimization task is a site selection task, the target problem refers to achieving a maximum total service area based on multiple candidate addresses of objects to be constructed and the service area corresponding to each candidate address, the first solution set includes M site selection results, and one site selection result among the M site selection results is used to represent the target site selection of each object to be constructed among the multiple objects to be constructed and the service area corresponding to the target site selection of each object to be constructed, and the target solution refers to the site selection result that achieves the maximum total service area among the M site selection results.

11. The processing device according to claim 10, characterized in that The processing unit is specifically used for: The candidate solutions in the first solution set are randomly grouped to obtain the multiple solution sets.

12. The processing device according to claim 10, characterized in that The processing unit is specifically used for: A candidate solution with the maximum resource allocation rate or the maximum benefit when achieving the target combination optimization task is selected from the second solution set as the target solution.

13. The processing device according to any one of claims 10 to 12, characterized in that The neural network model is obtained using the following training method: Acquire training data, wherein the training data includes a sample problem, a first sample solution set, a second sample solution set, and a sample target solution, wherein the sample problem is a problem to be solved to achieve a sample combination optimization task, the first sample solution set includes K candidate solutions for the sample problem, the second sample solution set is composed of L candidate solutions selected from the first sample solution set, the second sample solution set includes the sample target solution, and the sample target solution refers to a candidate solution in the first sample solution set that makes the planning result of the sample problem meet a preset constraint condition, K is an integer greater than 1, and L is an integer less than K; The neural network model is trained by taking the first sample solution set as input data and obtaining the second sample solution set as a training target.

14. The processing device according to claim 13, characterized in that The processing unit is also used for: Grouping candidate solutions in the first sample solution set to obtain the second sample solution set; The neural network model is trained by taking the first sample solution set as input data and obtaining the second sample solution set as a training target, including: Using the neural network model to obtain the second sample solution set including a first confidence of the sample target solution; The neural network model is trained according to the first confidence level.

15. The processing device according to claim 14, characterized in that The processing unit is specifically used for: The candidate solutions in the first sample solution set are randomly grouped to obtain the second sample solution set.

16. The processing device according to claim 14, characterized in that The processing unit is specifically used for: The first confidence level is obtained by performing weighted calculation using the neural network model according to the confidence level that each candidate solution in the second sample solution set is the sample target solution.

17. The processing device according to claim 16, characterized in that The confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting a binary classification label mechanism.

18. The processing device according to claim 16, characterized in that The confidence that each candidate solution is the sample target solution is obtained by the neural network model by adopting an adaptive enhancement algorithm.

19. A processing device for a combined optimization task, characterized in that: The method comprises a processor and a memory, wherein the memory is used to store program instructions, and the processor is used to call the program instructions to execute the processing method according to any one of claims 1 to 9.

20. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program instructions, and when the program instructions are executed by a processor, the processing method according to any one of claims 1 to 9 is implemented.

21. A chip, characterized in that: It comprises a processor and a data interface, wherein the processor is used to read instructions stored in a memory through the data interface so that the chip executes the processing method as claimed in any one of claims 1 to 9.

22. A computer program product, characterized in that When the computer program product is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Statement analysis method and apparatus, computer device and readable medium

    CN108549656A

  • Parking lot site selection method and device, computer readable storage medium and terminal equipment

    CN110232584A