WO2023179386A1 - 数据处理方法、设备、存储介质及程序产品 - Google Patents

数据处理方法、设备、存储介质及程序产品 Download PDF

Info

Publication number
WO2023179386A1
WO2023179386A1 PCT/CN2023/080974 CN2023080974W WO2023179386A1 WO 2023179386 A1 WO2023179386 A1 WO 2023179386A1 CN 2023080974 W CN2023080974 W CN 2023080974W WO 2023179386 A1 WO2023179386 A1 WO 2023179386A1
Authority
WO
WIPO (PCT)
Prior art keywords
solver
graph
neural network
optimization
network model
Prior art date
Application number
PCT/CN2023/080974
Other languages
English (en)
French (fr)
Inventor
赵亮
黄国凌
印卧涛
Original Assignee
阿里巴巴(中国)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴(中国)有限公司 filed Critical 阿里巴巴(中国)有限公司
Publication of WO2023179386A1 publication Critical patent/WO2023179386A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Definitions

  • This application relates to the field of data processing technology, and in particular, to a data processing method, equipment, storage medium and program product.
  • Optimization problem refers to the problem of solving the maximum or minimum value of an objective function under certain constraints. Optimization problems will exist in various fields such as production, economy, and transportation.
  • the user inputs the optimization model in the form of algebraic modeling language, introduces data, establishes the optimization model file, and then solves it by calling the optimization solver.
  • Different optimization problems have different structures and properties, so different solvers need to be selected for optimization problems with different structures and properties.
  • it is often impossible to quickly understand the characteristics of each optimization problem and the advantages of different solvers, and thus cannot choose the appropriate solver for solution. Therefore, when users use modeling language software, how to improve the accuracy of solver selection has become an urgent problem to be solved.
  • the main purpose of the embodiments of this application is to provide a data processing method, equipment, storage medium and program product to improve the accuracy of selecting a solver.
  • embodiments of the present application provide a data processing method, including:
  • the problem to be solved is solved based on the solver.
  • the type information corresponding to the problem to be solved is determined; the type information is used to describe at least one of the following: linearity, concavity and smoothness;
  • a solver corresponding to the problem to be solved is selected from at least one solver.
  • each solver solves the problem through at least one algorithm; the method further includes:
  • an algorithm for solving the problem to be solved is selected from at least one algorithm corresponding to the solver, so as to solve the problem to be solved through the corresponding algorithm based on the solver.
  • the method also includes:
  • the optimization model file is used to represent the objective function and constraints of the problem to be solved
  • the graph data corresponding to the problem to be solved is the directed acyclic graph.
  • the method also includes:
  • solving the problem to be solved based on the solver includes:
  • the model instance is solved.
  • the demand information set by the user for selecting a solver includes at least one of the following: accuracy demand, efficiency demand, precision demand, and cost demand;
  • the solver corresponding to the problem to be solved is determined.
  • the method also includes:
  • the optimization sample set is used to optimize the graph neural network model.
  • embodiments of the present application also provide a data processing method, including:
  • the graph data corresponding to the supply chain scheduling problem and the pre-built graph neural network model determine the solver corresponding to the supply chain scheduling problem, and solve the supply chain scheduling problem based on the solver, and obtain many The quantity of raw materials purchased by each supplier is output.
  • an electronic device including:
  • a memory communicatively connected to the at least one processor
  • the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor, so that the electronic device performs the method described in any of the above aspects.
  • embodiments of the present application provide a computer-readable storage medium.
  • Computer-executable instructions are stored in the computer-readable storage medium.
  • the processor executes the computer-executable instructions, any of the above aspects are implemented. method.
  • embodiments of the present application provide a computer program product, including a computer program that implements the method described in any of the above aspects when executed by a processor.
  • the data processing methods, equipment, storage media and program products provided by this application can determine the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model. Based on the solver To solve the problem to be solved, the graph data corresponding to the problem to be solved is processed according to the graph neural network model, and the selected solver can be automatically determined without the need for the user to manually select the solver, and the solver determined by the above method is based on the graph.
  • the neural network is obtained by processing the graph data corresponding to the problem to be solved. It can make full use of the structural information and subgraph information in the graph data, improve the accuracy of determining the solver, and eliminate the need to determine the problem to be solved multiple times based on different judgment rules.
  • the type information can effectively improve the efficiency of determining the solver, thereby solving optimization problems more efficiently and accurately, and improving user experience.
  • Figure 1 is an application scenario diagram provided by an embodiment of the present application.
  • Figure 2 is a schematic flow chart of a data processing method provided by an embodiment of the present application.
  • Figure 3 is a schematic diagram of a directed acyclic graph provided by an embodiment of the present application.
  • Figure 4 is a flow chart of a data processing method provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of user interaction provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram for updating a graph neural network model provided by an embodiment of the present application.
  • Figure 7 is a schematic flow chart of another data processing method provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • Algebraic modeling language Convert complex optimization models into abstract algebraic expressions, input them into script programs, and connect various optimization solvers.
  • Optimization solver Professional design software for solving optimization problems, such as MindOpt, Gurobi, CPLEX, etc.
  • Graph Neural Networks A deep learning method that can be applied to data with graph structure characteristics.
  • the modeling language software users can input a specific optimization model in the form of algebraic modeling language and call the solver to solve it.
  • the advantage of the general modeling language is that it can call many solvers, including general solvers (such as MindOpt, Gurobi, Knitro, etc.) and special solvers (such as OSQP, etc.), and each solver can be solved by setting parameters for optimal performance.
  • general solvers such as MindOpt, Gurobi, Knitro, etc.
  • special solvers such as OSQP, etc.
  • each solver can be solved by setting parameters for optimal performance.
  • the judgment of convexity and concavity can greatly affect the choice of solver and solution parameters.
  • users who use modeling language software are often unable to determine the type of optimization problem and do not understand the advantages of each solver, so they are unable to choose the appropriate solver.
  • the graph structure corresponding to the expression can be traversed. Whenever an expression is traversed, the type of expression is determined based on the judgment rules of concavity and convexity, and the graph structure is continued to be traversed until finally Determine the concavity of an expression. Specifically, when traversing to x+5, it can be determined to be a convex function according to the judgment rule.
  • (x+5) can be determined according to the judgment rule of whether the square of the convex function is a convex function. 2 is also a convex function; similarly, the process of judging the concavity and convexity of (y-8) 2 is the same, that is, it is also a convex function. Finally, the corresponding optimization problem can be determined according to the judgment rule that the sum of two convex functions is a convex function.
  • the expression is a convex function.
  • the above method needs to traverse the graph structure when determining the concavity and convexity of the optimization problem.
  • the process is relatively cumbersome and needs to be judged according to the judgment rules of concavity and convexity.
  • it is necessary to judge another characteristic of the optimization problem such as smoothness it is necessary to The smoothness judgment rules are used for judgment. Therefore, this method has the problems of cumbersome processing and low efficiency.
  • the machine learning method is used to perform feature engineering on the graph structure, and the solver is determined based on the processed features, the extracted features will lose part of the information of the graph structure, which will have a certain impact on the choice of the solver. Causing the deterministic solver to be inaccurate.
  • this application provides a data processing method that utilizes the characteristics of graph neural network to process graph data, and determines the solver corresponding to the problem to be solved based on the graph data of the problem to be solved and the pre-built graph neural network model. , and then solve the problem to be solved according to the solver, the solver can be directly determined to avoid users choosing inappropriate solvers due to unclear types of optimization problems and the advantages of different solvers; at the same time, compared with heuristic methods and Feature extraction method, which can better utilize the structured information and subgraph information of graph data, improve the accuracy of the determined solver, and eliminate the need to use different judgment rules multiple times to determine different types of optimization problems. , thereby improving the efficiency of the deterministic solver.
  • the embodiments of this application can be applied to any scenario where optimization problems need to be solved.
  • optimization problems need to be solved.
  • scenarios such as supply chain dispatching, power grid dispatching, commodity flow distribution, advertising distribution, and asset dispatching
  • it is often necessary to solve optimization problems and obtain scheduling plans or allocation plans.
  • it can be implemented based on the corresponding supply chain dispatching software, power grid dispatching software, traffic distribution software, advertising distribution software and asset dispatching software.
  • the modeling language software can be embedded in the above software.
  • the modeling language software can establish an optimization model of the problem to be solved.
  • the algorithm of this application can automatically determine the solver suitable for the problem to be solved and call the solver to solve the problem. Solve the problem and obtain the solution results, such as scheduling plan or allocation plan.
  • the embodiments of the present application can be applied to scenarios where supply chain scheduling optimization problems are solved.
  • the objective function can be the total cost determined based on the quantity and price of raw materials obtained from each supplier;
  • the constraint condition can be: the sum of the quantities of raw materials obtained from each supplier is equal to the target quantity;
  • the quantity of raw materials is the decision variable.
  • the graph data corresponding to the problem to be solved can be determined, a suitable solver is determined based on the graph data and the pre-built graph neural network model, and the solution is output based on the optimization goal of minimizing the total cost.
  • the result that is, the quantity of raw materials obtained from each supplier, facilitates the scheduling of raw materials based on the solution results.
  • the objective function can is the sum of power generation cost and dispatch cost; the constraint can be that power consumption is equal to power generation; each power generation
  • the solver suitable for processing the problem to be solved is determined through the solver determination method, and the solution result is determined according to the optimization goal of minimum cost, that is, the turning on and off times of each generating unit. , thereby controlling each generating unit according to the solution results.
  • the user inputs the objective constraint function and constraint conditions into the modeling language software.
  • the objective constraint function can be the total advertising cost determined based on the number of advertisements on each platform;
  • the constraint can be that the number of ad views reaches the target number; the number of ads placed on each platform is the decision variable.
  • the problems to be solved can be different.
  • the above objective functions, constraints and decision variables are only examples. In practical applications, the problems to be solved can be set according to user needs. Therefore, the problems to be solved by different users in the same field may correspond to different solvers.
  • the objective function can not only include the total cost, but also include multiple-dimensional indicators such as arrival time and raw material quality.
  • the objective function changes, it may lead to problems in the problem to be solved. Characteristics, linearity, etc. change, ultimately affecting the choice of solver.
  • Figure 1 is an application scenario diagram provided by an embodiment of the present application.
  • modeling language software is provided in a terminal device or server, and users can input problems to be solved into the modeling language according to a preset format.
  • the terminal device or server can process the graph data corresponding to the problem to be solved based on the pre-built graph neural network model.
  • the graph data can be obtained by semantic analysis of the problem to be solved.
  • the solver can be determined through the above processing process. , and process the solution problem according to the solver to obtain the solution results, and feedback the solution results to the user.
  • the structured information and subgraph information of the graph data can be fully utilized, so that the data processed by the graph neural network model contains the original data of the problem to be solved. Without feature extraction, There is no feature loss, improving the accuracy of deterministic solvers.
  • FIG. 2 is a schematic flowchart of a data processing method provided by an embodiment of the present application.
  • the execution subject of the method in this embodiment can be any device with data processing functions, such as servers and terminal devices.
  • the method may include:
  • Step 201 Determine the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model.
  • the problem to be solved can be any optimization problem.
  • the problem to be solved can include objective functions and constraints condition.
  • the objective function is the basis for comparing various design options to choose from.
  • the purpose of optimization is to make the objective function take the extreme value.
  • Constraints refer to the restrictions that variables need to satisfy when the objective function takes an extreme value.
  • the problem to be solved can be solved using a solver.
  • solvers In the modeling language software, a variety of solvers can be called, such as MindOpt, Gurobi, CPLEX, etc.
  • Embodiments of the present application can be used to determine a solver suitable for the problem to be solved from multiple solvers.
  • graph data can be used to represent the problem to be solved, and the type of graph data is not limited.
  • the graph data can be a collection composed of multiple points and connections between these points.
  • the modeling language software can determine the corresponding graph data based on the problem to be solved and store it in memory.
  • graph neural network models include but are not limited to graph convolutional network (Graph Convolutional Network) and graph attention network (Graph Attention Network).
  • the pre-built graph neural network model refers to the graph neural network model obtained through pre-training.
  • the pre-built graph neural network model can exist in two forms.
  • the input data is the graph data corresponding to the problem to be solved
  • the output data is the solver corresponding to the problem to be solved.
  • the solver can be output directly, which is more efficient. has high advantages;
  • another form of input data is the graph data corresponding to the problem to be solved, the output data is the type information of the problem to be solved, and then the corresponding solver is determined based on the type information, and the type information of the problem to be solved can be obtained
  • the intermediate results can enable users to verify the type information corresponding to the problem to be solved, and reduce the probability that the output solver does not match the problem to be solved.
  • the input data are the same, both are graph data corresponding to the optimization problem, and the output data are different.
  • the output data corresponding to the first method of training the graph neural network model is the solver, and the output data corresponding to the first method of training the graph neural network model is the solver.
  • the output data corresponding to the two methods of training the graph neural network model is type information.
  • the graph data corresponding to the problem to be solved stored in the memory can be input into the pre-built graph neural network model, and the corresponding solver or type information can be output.
  • Step 202 Solve the problem to be solved based on the solver.
  • the solver can be embedded inside the modeling language software, and can also be set on the hardware device belonging to the modeling language software for calling by the modeling language software.
  • the solver solves the problem to be solved, it can output the solution results and output the solution results so that the user can obtain the solution results.
  • the graph data contains structured information and subgraph information, this information can be used to effectively determine the solver.
  • the subgraph refers to the graph data in which all nodes and edges are included in the original graph;
  • structured information refers to the graph data that can It is decomposed into multiple interrelated components, and there is a clear hierarchical structure between each component. This hierarchical structure is structured information.
  • the data processing method provided by the embodiment of the present application can determine the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model, and based on the solver, the solver can be
  • the problem to be solved is solved by describing the problem to be solved, so that the solver can be output directly in the modeling language software without the user of the modeling language software needing to manually select the solver, and the solver determined by the above method is based on the graph neural network for the problem to be solved.
  • determining the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model includes:
  • the type information corresponding to the problem to be solved is determined; the type information is used to describe at least one of the following: linearity, concavity and smoothness; According to the type information, a solver corresponding to the problem to be solved is selected from at least one solver.
  • the graph neural network can output type information corresponding to the problem to be solved based on the graph data.
  • the manually determined type information can be compared with the type information output by the graph neural network to determine whether the two are consistent.
  • the accuracy of the output results can be improved by updating the model; or, when it is determined that the manually determined type information is wrong, the accuracy of the user's subsequent judgment of the type information can be improved.
  • type information can reflect the structure and nature of the problem to be solved.
  • the type information may be at least one of linearity, concave-convexity, smoothness, etc.
  • corresponding solvers can be determined for different types of problems to be solved.
  • the modeling language software can call multiple solvers, and when the solvers solve different types of optimization problems, their performance is different. For example, when the convex optimization solver solves optimization problems whose type information is convex, it can maximize its performance and obtain better solution results. However, when a convex optimization solver solves an optimization problem whose type information is concave, it cannot exert its maximum performance, and the solution results obtained may not be the best results. Therefore, after determining the type information, a corresponding solver can be selected from at least one solver.
  • At least one solver that can solve the optimization problem of this type is determined, and then one solver is selected from the determined multiple solvers.
  • auxiliary model transformation (reformulation) or post-processing (postprocessing) and other processes can also be performed based on the type information.
  • the type information corresponding to the problem to be solved is first determined, and then the type information is determined based on the type information.
  • the corresponding solver can be determined based on accurate type information, which can improve the accuracy of the determined solver.
  • each solver solves the problem through at least one algorithm; the method further includes:
  • an algorithm for solving the problem to be solved is selected from at least one algorithm corresponding to the solver, so as to solve the problem to be solved through the corresponding algorithm based on the solver.
  • Each solver provides at least one algorithm for solving optimization problems.
  • a linear solver provides multiple different algorithms, and the same solver has different effects on different algorithms. Therefore, before solving the problem to be solved, not only can a suitable solver be selected, but also the algorithm used by the solver can be determined.
  • a solver may be determined first, and then an algorithm for solving the problem to be solved may be determined from at least one algorithm corresponding to the solver.
  • the algorithm for the problem to be solved can be determined by selecting parameters.
  • a certain solver contains two algorithms, namely the first algorithm and the second algorithm. When the value corresponding to the parameter is 0, it can mean that the first algorithm is selected; when the value corresponding to the parameter is 1, it can mean that the algorithm is selected. Two algorithms. The selection of parameters can be determined directly based on the type information corresponding to the problem to be solved.
  • the above method selects the algorithm used by the solver so that the solver can perform its best performance according to the selected algorithm and further improve the accuracy of the solution.
  • the method further includes: converting the optimization model file corresponding to the problem to be solved into a corresponding model instance;
  • solving the problem to be solved based on the solver includes: solving the model instance according to the solver.
  • the solver After determining the solver, the solver needs to be called to solve the problem to be solved.
  • the problem to be solved input by the user is in the form of an optimization model file, and the optimization model file may not be directly transferred and read. Therefore, a model instance corresponding to the optimization model file can be generated.
  • the user also needs to input a data file.
  • the data file refers to the value of the parameters in the objective function, such as The value of a and the value of b.
  • the user can input the data file while inputting the optimization model file, and can also send prompt information to the user when generating the model instance, so that the user can input according to the prompt information. data file.
  • the model instance when generating a model instance, can be generated based on the directed acyclic graph and the data file. There is no restriction on the format of model instances and can be set according to requirements, such as LP format, MPS format, and NL format. After the file of the model instance is generated, it can be output to the corresponding solver for the solver to solve the model instance.
  • the above method generates corresponding model instances according to the selected solver and outputs the model instances to the solver, thereby smoothly realizing the solving processing of the problem to be solved by the solver and meeting the solving needs of different problems.
  • the method further includes:
  • the optimization model file is used to represent the objective function and constraint conditions of the problem to be solved; determine the directed acyclic graph corresponding to the optimization model file through semantic analysis; wherein, the optimization model file is The graph data corresponding to the solution problem is the directed acyclic graph.
  • the user in order to determine the directed acyclic graph corresponding to the optimization model file, the user can first input the optimization model file into the modeling language software.
  • the optimization model file can be used to express the objective function and constraints.
  • the modeling language software can determine the directed acyclic graph corresponding to the optimization model file through semantic analysis.
  • semantic analysis includes lexical analysis and syntax analysis.
  • Lexical analysis also known as lexical analysis, can convert character sequences into word sequences.
  • the program or function that performs lexical analysis is called a lexical analyzer.
  • Semantic parsing also known as semantic analysis, can review the context-related nature of a structurally correct source program and perform type review, that is, review the source program for semantic errors.
  • semantic rules are defined in the modeling language software, and the user needs to input the optimized model file according to the semantic rules, so that the lexical analyzer in the modeling language software can perform lexical analysis according to the semantic rules.
  • the lexical analyzer can determine the meaning of each of the above basic elements according to semantic rules. For example, it can determine that each of the above basic elements refers to parameters, sets, etc. , variables, objective functions and constraints, etc.
  • semantic analysis can be performed on the lexical analysis results. After semantic analysis, if it is determined that there is no semantic error, the optimized model expression can be output. After obtaining the optimized model expression, the corresponding directed acyclic graph can be further determined.
  • the following methods can be used: determine all operands, such as decision variables and non-decision variables in the objective function, and determine them as leaf nodes; determine the effectiveness of each operator order, and add operators hierarchically between the operands in order, and determine each operator as an intermediate node; Add directional edges between nodes at two adjacent levels, and finally determine whether operators on the same level can be merged (when the operators are the same and the two variables or expressions corresponding to the operators are also the same, they can be merged). If they can be merged, then Get the merged graph data. Through the merge operator, the repeated parts of the expression can be represented as a subgraph, so that the stored graph data has the advantage of taking up little space.
  • Figure 3 is a schematic diagram of a directed acyclic graph provided by an embodiment of the present application.
  • x, y, 5, and 8 are all operands.
  • the operators include the subtraction operator, the first addition operator, the square operator and the second addition operator. They can be divided into three levels according to the order of effectiveness. , to obtain each intermediate node.
  • the form of the nodes does not need to be limited. Circles can be used as nodes, or leaf nodes can be represented by circles, and intermediate nodes can be represented by rectangular boxes.
  • the above method determines the directed acyclic graph corresponding to the optimized model file as graph data.
  • the same part in the expression can be removed through the directed acyclic graph to achieve compressed storage, which can save space and reduce the need for graph data by graph neural networks. processing capacity, further improving processing efficiency.
  • Figure 4 is a flow chart of a data processing method provided by an embodiment of the present application.
  • users can input optimization model files and data files into the modeling language software.
  • the modeling language software is provided with a semantic parsing module,
  • the model generation module and structure identification module can output solvers, algorithms and model instances through the modeling language software.
  • the semantic parsing module can parse the optimization model file to obtain the optimization model expression, and the model generation module can generate a directed acyclic graph based on the optimization model expression.
  • the model generation module can generate a model instance corresponding to the optimized model file based on the directed acyclic graph and the data file; on the other hand, the structure identification module can input the directed acyclic graph into Graph neural network, and output the judgment conclusion of type information. After determining the judgment conclusion of the type information, the judgment conclusion can be input into the parameter selection module.
  • the parameter selection module can obtain the selection results of the solver and algorithm, and finally obtain the solver, algorithm and model instance. Finally, the solver can be called according to the selection result by calling the solver module, and the model instance can be solved according to the algorithm to obtain the solution result and output it.
  • the steps of generating model instances corresponding to the optimized model files based on the directed acyclic graph and the steps of using the graph neural network to generate type information based on the directed acyclic graph may not be in a fixed order, or may be executed at the same time.
  • determining the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model includes:
  • the demand information set by the user for selecting the solver includes at least one of the following: accuracy demand, efficiency demand, precision demand, cost demand; based on the graph data corresponding to the problem to be solved, the pre-built graph neural network The model and the demand information determine the solver corresponding to the problem to be solved.
  • FIG. 5 is a schematic diagram of user interaction provided by an embodiment of the present application. As shown in Figure 5, in addition to inputting the problem to be solved to the terminal device or server, the user can also input demand information, so that the terminal device and the server determine the solver. can be determined based on demand information.
  • the demand information is used to determine the solver corresponding to the problem to be solved.
  • the above demand information can also be regarded as the constraints of the solution.
  • the user can input the demand information when inputting the optimization model file to the modeling language software; it can also input the demand information before determining the solver after the graph neural network model outputs the type information.
  • users can input different demand information for different optimization problems, or they can input the same demand information for different optimization problems.
  • the user information can be bound to the demand information. There is no need for the user to input the same demand information every time.
  • the modeling language software outputs the solver, it can be directly based on The bound requirement information determines the solver.
  • the solver with the highest matching degree to the requirement information can be directly output.
  • the requirement information is an accuracy requirement
  • the solver with the highest accuracy can be directly output.
  • a solver can be determined based on the selected at least two pieces of demand information, so that the determined solver can satisfy at least two pieces of demand information at the same time.
  • the graph neural network model when determining the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved, the pre-built graph neural network model and the demand information, if the output of the graph neural network model is a solver, then the above process In order to input graph data and demand information into the graph neural network model, the graph neural network model directly outputs the solver. If the graph neural network model outputs type information, the above process is to input the graph data into the graph neural network model to obtain the type. information, and then determine the solver based on the type information and demand information.
  • the above method can obtain a solver that meets the user's needs and improve the user's experience.
  • the solver corresponding to the problem to be solved can also be determined in the order of pre-set solver priorities. For example, give preference to a certain solver.
  • the preference information of the solver input by the user can also be received, and the solver corresponding to the problem to be solved is determined based on the preference information. For example, if the user prefers to select the MindOpt solver, then when a MindOpt solver exists among the output solvers, the solver will be determined as the solver corresponding to the problem to be solved.
  • the method further includes:
  • Figure 6 is a schematic diagram for updating a graph neural network model provided by an embodiment of the present application. As shown in Figure 6, after solving the problem to be solved according to the determined solver, the feedback information corresponding to the solution result can also be determined. , according to the feedback information, the samples in the optimized sample set can be changed, and the changed optimized sample set is used to train the graph neural network model to improve the accuracy of the graph neural network model output solver.
  • the feedback information can be user feedback or market feedback.
  • User feedback can be direct feedback from users based on the solution results, for example, whether the effect is good or not.
  • Market feedback can be to apply the solution results to actual dispatch scenarios or allocation scenarios to obtain revenue information, and determine the feedback information based on the revenue information. The feedback results are positively correlated with the revenue information.
  • the training sample corresponding to the problem to be solved can be added to the training sample set.
  • the preset conditions can be as many as possible for the types of problems to be solved in the optimization sample set.
  • the preset conditions can change according to time. For example, when there is a lack of problems of type A to be solved in the optimization sample set within a time period, then each time after determining the feedback information, if the feedback information is not good, it is determined whether the type information corresponding to the problem to be solved is Type A, if yes, generate a training sample corresponding to the problem to be solved and add it to the optimization sample set. As time goes by, the type of problem to be solved that is missing in the optimization sample set may be type B. At this time, even if the feedback information corresponding to the problem to be solved of type A is not good, it will not be added to the optimization sample set. When the type of problem to be solved is type B and the feedback information is not good, it will be added to the optimization sample set.
  • the above method updates the optimized sample set based on feedback information, so that the graph neural network can be dynamically updated to meet current usage needs, and further improves the accuracy of the graph neural network model to determine the solver.
  • Figure 7 is a schematic flowchart of another data processing method provided by an embodiment of the present application. As shown in Figure 7, the method may include:
  • Step 701 Determine the supply chain scheduling problem to be solved, where the supply chain scheduling problem is used to determine the quantity of raw materials purchased from multiple suppliers based on the objective function under constraint conditions.
  • the supply chain scheduling problem can be an optimization problem of a supply chain scheduling scenario containing any optimization objective.
  • Users can input supply chain scheduling problems to be solved into the supply chain scheduling platform through algebraic language, where modeling language software can be embedded in the supply chain scheduling platform.
  • the types corresponding to different supply chain scheduling problems can also be There can be differences.
  • the type information may be a convex function; for a supply chain scheduling problem with another part of the objective function, the type information may be a concave function.
  • different solvers can be called from the modeling language software.
  • Step 702 Determine the solver corresponding to the supply chain scheduling problem based on the graph data corresponding to the supply chain scheduling problem and the pre-built graph neural network model, and solve the supply chain scheduling problem based on the solver , obtain the quantity of raw materials purchased from multiple suppliers and output it.
  • graph data can be used to represent supply chain scheduling problems.
  • the graph data can be a collection composed of multiple points and connections between these points.
  • the modeling language software can determine the corresponding graph data based on the supply chain scheduling problem and store it in memory.
  • the graph data corresponding to the supply chain scheduling problem can be determined, and the graph data can be input into the pre-built graph neural network model.
  • the pre-built graph neural network model can be obtained after training based on the graph data corresponding to the solved supply chain scheduling problem and the corresponding type information.
  • the pre-built graph neural network can also be obtained by training based on the graph data corresponding to the solved supply chain scheduling problem and the solver.
  • the graph neural network model can directly output the solver, or it can first output the type information and then determine the solver based on the type information.
  • the solver After the solver is determined, the solver can be directly called and the supply chain scheduling problem is solved to output the solution result, where the solution result can be the quantity of raw materials purchased from each supplier.
  • the data processing method provided by the embodiment of the present application can determine the supply chain scheduling problem to be solved, and determine the supply chain scheduling problem based on the graph data corresponding to the supply chain scheduling problem and the pre-built graph neural network model.
  • the corresponding solver is used to solve the supply chain scheduling problem based on the solver, and the quantities of raw materials purchased from multiple suppliers are obtained and output, so that the solver can be directly output on the supply chain scheduling platform without the need for Users of the supply chain scheduling platform manually select the solver, and since the solver determined by the above method is obtained by processing the graph data corresponding to the supply chain scheduling problem based on the graph neural network, it can make full use of the structural information and subgraphs in the graph data.
  • the execution subject of the method can be set according to actual needs.
  • it can be The terminal device may execute it, or it may be executed by the server, or part of the steps may be executed by the terminal device and part of the steps may be executed by the server.
  • a data processing device which may include:
  • a determination module configured to determine the solver corresponding to the problem to be solved based on the graph data corresponding to the problem to be solved and the pre-built graph neural network model;
  • a solving module configured to solve the problem to be solved based on the solver.
  • the determining module is specifically used to:
  • the type information corresponding to the problem to be solved is determined; the type information is used to describe at least one of the following: linearity, concavity and smoothness;
  • a solver corresponding to the problem to be solved is selected from at least one solver.
  • each solver solves the problem through at least one algorithm; the device further includes: an algorithm determination module, specifically used for:
  • an algorithm for solving the problem to be solved is selected from at least one algorithm corresponding to the solver, so as to solve the problem to be solved through the corresponding algorithm based on the solver.
  • the device further includes a semantic parsing module, specifically used for:
  • the optimization model file is used to represent the objective function and constraints of the problem to be solved
  • the graph data corresponding to the problem to be solved is the directed acyclic graph.
  • the device further includes: a conversion module, specifically used for:
  • solution module is specifically used for:
  • the model instance is solved.
  • the determining module is also used to:
  • the demand information set by the user for selecting a solver includes at least one of the following: accuracy demand, efficiency demand, precision demand, and cost demand;
  • the solver corresponding to the problem to be solved is determined.
  • the device further includes an adding module, specifically used for:
  • the optimization sample set is used to optimize the graph neural network model.
  • the data processing device provided by the embodiment of the present application can be used to implement the technical solutions of the embodiments shown in Figures 1 to 6.
  • the implementation principles and technical effects are similar, and will not be described again in this embodiment.
  • the embodiment of the present application also provides another data processing device, which may include:
  • the supply chain scheduling problem determination module is used to determine the supply chain scheduling problem to be solved, wherein the supply chain scheduling problem is used to determine the quantity of raw materials purchased from multiple suppliers based on the objective function under constraint conditions;
  • a solver determination module configured to determine the solver corresponding to the supply chain scheduling problem based on the graph data corresponding to the supply chain scheduling problem and the pre-built graph neural network model;
  • the solving module solves the supply chain scheduling problem based on the solver, obtains and outputs the quantity of raw materials purchased from multiple suppliers.
  • FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As shown in Figure 8, the electronic device of this embodiment may include:
  • At least one processor 801 At least one processor 801; and
  • the memory 802 stores instructions that can be executed by the at least one processor 801, and the instructions are executed by the at least one processor 801, so that the electronic device executes the steps described in any of the above embodiments. method.
  • the memory 802 can be independent or integrated with the processor 801 .
  • Embodiments of the present application also provide a computer-readable storage medium.
  • Computer-executable instructions are stored in the computer-readable storage medium.
  • the processor executes the computer-executable instructions, the method described in any of the foregoing embodiments is implemented.
  • An embodiment of the present application also provides a computer program product, including a computer program, which implements the method described in any of the foregoing embodiments when executed by a processor.
  • the disclosed devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of modules is only a logical function division.
  • there may be other division methods for example, multiple modules may be combined or integrated. to another system, or some features can be ignored, or not implemented.
  • the above integrated modules implemented in the form of software function modules can be stored in a computer-readable storage medium.
  • the above-mentioned software function module is stored in a storage medium and includes a number of instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute some steps of the methods described in various embodiments of this application.
  • processor can be a central processing unit (Central Processing Unit, referred to as CPU), or other general-purpose processor, digital signal processor (Digital Signal Processor, referred to as DSP), application specific integrated circuit (Application Specific Integrated Circuit, (referred to as ASIC), etc.
  • CPU Central Processing Unit
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • 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 application can be directly implemented by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory may include high-speed RAM memory, and may also include non-volatile storage NVM, such as at least one disk memory, which may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk, or an optical disk.
  • NVM non-volatile storage
  • the above storage medium can be implemented by any type of volatile or non-volatile storage device or their combination, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable Except programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
  • SRAM static random access memory
  • EEPROM electrically erasable programmable read-only memory
  • EPROM erasable except programmable read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • magnetic memory flash memory
  • flash memory magnetic disk or optical disk.
  • Storage media can be any available media that can be accessed by a general purpose or special purpose computer.
  • An exemplary storage medium is coupled to the processor such that the processor can read information from the storage medium and write information to the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium can be located in Application Specific Integrated Circuits (ASICs for short).
  • ASICs Application Specific Integrated Circuits
  • the processor and the storage medium may also exist as discrete components in an electronic device or a host control device.
  • the methods of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. implementation.
  • the technical solution of the present application can be embodied in the form of a software product in essence or that contributes to the existing technology.
  • the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD), including several instructions to make a terminal device (which can be a mobile phone, computer machine, server, air conditioner, or network device, etc.) to perform the methods described in various embodiments of this application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提供一种数据处理方法、设备、存储介质及程序产品,所述方法包括:根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,基于所述求解器对所述待求解问题进行求解。本申请根据图神经网络模型对待求解问题对应的图数据进行处理,可以自动确定选择的求解器,无需用户手动选择求解器,且上述方法确定的求解器由于是基于图神经网络对待求解问题对应的图数据进行处理后得到的,能够充分利用图数据中的结构信息和子图信息,能够提高确定求解器的准确性,并且无需多次根据不同的判断规则确定待求解问题的类型信息,能够有效提高确定求解器的效率,从而更加高效、准确地求解优化问题,提升用户体验度。

Description

数据处理方法、设备、存储介质及程序产品
本申请要求于2022年03月22日提交中国专利局、申请号为202210286725.6、申请名称为“数据处理方法、设备、存储介质及程序产品”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、设备、存储介质及程序产品。
背景技术
优化问题,是指在一定约束条件下,求解一个目标函数的最大值或最小值的问题,在生产、经济以及交通等各个领域中都会存在优化问题。
在建模语言软件中,用户通过代数建模语言的形式将优化模型输入,并通过引入数据,建立优化模型文件,再通过调用优化求解器进行求解。不同优化问题的结构和性质不同,因此对于结构和性质不同的优化问题需要选择不同的求解器。对于建模语言的使用者来说,往往无法快速了解每一优化问题的特性和不同求解器的优势,从而无法选择合适的求解器进行求解。因此,当用户在使用建模语言软件时,如何提高选择求解器的准确性成为亟待解决的问题。
发明内容
本申请实施例的主要目的在于提供一种数据处理方法、设备、存储介质及程序产品,以提高选择求解器的准确性。
第一方面,本申请实施例提供一种数据处理方法,包括:
根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器;
基于所述求解器对所述待求解问题进行求解。
可选的,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
根据所述待求解问题对应的图数据和所述图神经网络模型,确定所述待求解问题对应的类型信息;所述类型信息用于描述下述至少一项:线性、凹凸性、光滑性;
根据所述类型信息,从至少一个求解器选择所述待求解问题对应的求解器。
可选的,每一求解器通过至少一种算法求解问题;所述方法还包括:
根据所述待求解问题对应的类型信息,从所述求解器对应的至少一种算法中选择求解所述待求解问题的算法,以基于所述求解器通过对应的算法求解所述待求解问题。
可选的,所述方法还包括:
接收用户输入的优化模型文件;所述优化模型文件用于表示所述待求解问题的目标函数和约束条件;
通过语义解析确定所述优化模型文件对应的有向无环图;
其中,所述待求解问题对应的图数据为所述有向无环图。
可选的,所述方法还包括:
将所述待求解问题对应的优化模型文件转换为对应的模型实例;
相应的,基于所述求解器对所述待求解问题进行求解,包括:
根据求解器,对所述模型实例进行求解。
可选的,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
获取用户为选择求解器设置的需求信息;所述需求信息包括下述至少一项:准确性需求、效率需求、精度需求、费用需求;
根据待求解问题对应的图数据、预先构建的图神经网络模型以及所述需求信息,确定所述待求解问题对应的求解器。
可选的,所述方法还包括:
在根据所述求解器对所述待求解问题进行求解后,获取求解结果对应的反馈信息;
若所述反馈信息以及所述待求解问题对应的类型信息满足预设条件,则根据所述待求解问题生成对应的训练样本添加到优化样本集中;
其中,所述优化样本集用于对所述图神经网络模型进行优化。
第二方面,本申请实施例还提供一种数据处理方法,包括:
确定待求解的供应链调度问题,其中,所述供应链调度问题用于在约束条件下,基于目标函数确定从多个供应商分别采购的原料数量;
根据所述供应链调度问题对应的图数据和预先构建的图神经网络模型,确定所述供应链调度问题对应的求解器,并基于所述求解器对所述供应链调度问题进行求解,得到从多 个供应商分别采购的原料数量并输出。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行上述任一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方面所述的方法。
本申请提供的数据处理方法、设备、存储介质及程序产品,可以根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,基于所述求解器对所述待求解问题进行求解,根据图神经网络模型对待求解问题对应的图数据进行处理,可以自动确定选择的求解器,无需用户手动选择求解器,且上述方法确定的求解器由于是基于图神经网络对待求解问题对应的图数据进行处理后得到的,能够充分利用图数据中的结构信息和子图信息,能够提高确定求解器的准确性,并且无需多次根据不同的判断规则确定待求解问题的类型信息,能够有效提高确定求解器的效率,从而更加高效、准确地求解优化问题,提升用户体验度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种有向无环图的示意图;
图4为本申请实施例提供的一种数据处理方法的流程框图;
图5为本申请实施例提供的一种用户交互示意图;
图6为本申请实施例提供的一种对图神经网络模型进行更新的原理图;
图7为本申请实施例提供的另一种数据处理方法的流程示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
首先对本申请所涉及的名词进行解释:
代数建模语言:将复杂的优化模型转化为抽象的代数表达形式,并在脚本程序中进行输入,且连接了各个优化求解器。
优化求解器:求解优化问题的专业设计软件,如MindOpt、Gurobi、CPLEX等。
图神经网络(Graph Neural Networks,GNN):一种可应用于带有图结构特征数据的深度学习方法。
下面对本申请的应用场景及发明构思进行解释说明。
在建模语言软件中,用户可以通过代数建模语言的形式将某一具体的优化模型进行输入,并调用求解器进行求解。通用建模语言的优势在于,其可以调用的求解器较多,包括通用求解器(如MindOpt、Gurobi、Knitro等)和专用求解器(如OSQP等),并且每一求解器均可以通过设置求解参数来发挥最佳性能。例如,对于非线性优化问题而言,凸凹性的判断可以极大地影响求解器及求解参数的选择。但是对于使用建模语言软件的用户来说,往往不能确定优化问题的类型且不了解各个求解器的优势,因而无法选择合适的求解器。
在一些技术中,通过启发式的方法可以实现对优化问题的类型进行判断,例如,当对表达式为f(x,y)=(x+5)2+(y-8)2的优化问题的凹凸性进行判断时,可以对该表达式对应的图结构进行遍历,每当遍历到一个表达式时,基于凹凸性的判断规则确定表达式的类型,并继续对图结构进行遍历,直至最终确定表达式的凹凸性。具体的,当遍历到x+5时,根据判断规则可以确定为凸函数,当继续遍历得到(x+5)2时,根据凸函数的平方还是凸函数的判断规则可以确定(x+5)2还为凸函数;同样的,对于(y-8)2的凹凸性的判断过程相同,即也为凸函数,最后可以根据两个凸函数的和为凸函数的判断规则确定优化问题对应的表达式为凸函数。
上述方法在确定优化问题的凹凸性时需要对图结构进行遍历,过程较为繁琐,且需要根据凹凸性的判断规则进行判断,当需要对优化问题的另一特性如光滑性进行判断时,则需要采用光滑性的判断规则进行判断。因此,该方法存在处理过程繁琐,效率较低的问题。
此外,若采用机器学习的方法对图结构进行特征工程的处理,根据处理后的特征确定求解器,则提取的特征丢失了图结构的部分信息,这会对求解器的选择存在一定的影响,导致确定的求解器不准确。
有鉴于此,本申请提供了一种数据处理方法,利用图神经网络可以对图数据进行处理的特点,根据待求解问题的图数据和预先构建的图神经网络模型确定待求解问题对应的求解器,再根据求解器对待求解问题进行求解,可以直接确定求解器,避免用户由于不清楚优化问题的类型及不同求解器的优势而选择不合适的求解器;同时,相较于启发式的方法和特征提取方法,该方法可以更好的利用图数据的结构化信息和子图信息,提高了对确定的求解器的准确度,以及,无需多次采用不同的判断规则对优化问题的不同类型进行确定,进而提高确定求解器的效率。
本申请实施例可以应用于任意需要对优化问题进行求解的场景。例如,在供应链调度、电网调度、商品流量分配、广告分配以及资产调度等场景中,常常需要对优化问题进行求解,得到调度方案或分配方案。在上述场景中,可以分别基于相应的供应链调度软件、电网调度软件、流量分配软件、广告分配软件以及资产调度软件来实现。其中,在上述软件中均可以嵌入建模语言软件,建模语言软件可以建立待求解问题的优化模型,本申请的算法可以自动确定适合待求解问题的求解器,并通过调用该求解器对待求解问题进行求解,得到求解结果,如调度方案或分配方案。
可选的,本申请实施例可以应用于对供应链调度的优化问题进行求解的场景。示例性的,在供应链调度的场景中,用户可以通过代数语言将目标函数和约束条件输入到建模语言软件中。示例性地,目标函数可以为根据各个供应商获取的原材料的数量以及价格确定的总费用;约束条件可以为:从各个供应商获取的原材料的数量之和等于目标数量;从各个供应商获取的原材料的数量为决策变量。在生成供应链调度的待求解问题后,可以确定待求解问题对应的图数据,根据图数据和预先构建的图神经网络模型确定适合的求解器,并根据按照总费用最少为优化目标来输出求解结果,即从各个供应商获取的原材料的数量,便于根据求解结果进行原材料的调度。
在电网调度领域,用户可以向建模语言软件输入目标函数和约束条件,由于各个发电机组的打开是需要消耗能源及成本的,且发出的电能无法存储仅可以调度,示例性地,目标函数可以为发电量成本与调度成本之和;约束条件可以为用电量等于发电量;每一发电 机组的开启与关闭的时刻为决策变量。在得到电网调度的待求解问题后,通过求解器的确定方法确定适合对该待求解问题进行处理的求解器,并按照成本最小为优化目标确定求解结果,即各个发电机组的开启与关闭的时刻,从而根据求解结果对各个发电机组进行控制。
在广告分配领域,如商家将广告投放在不同平台,用户向建模语言软件输入目标约束函数和约束条件,示例性地,目标约束函数可以为根据每一平台的广告次数确定的总广告费用;约束条件可以为广告的观看数量达到目标数量;在各个平台投放的广告次数为决策变量。通过求解器的确定方法确定适合求解广告分配问题的求解器,并按照总广告费用最少的优化目标确定求解结果,从而根据求解结果将广告投放不同平台。
需要说明的是,在同一领域,不同的用户或不同的场景下,待求解问题可以是不同的,以上的目标函数、约束条件和决策变量仅仅是示例。实际应用中,待求解问题可以根据用户需要来设置,因此,同一领域中不同用户的待求解问题可能对应于不同的求解器。
示例性地,在供应链调度的场景中,目标函数不仅可以包含总费用,还可以包含到货时间、原材料质量等多个维度的指标,当目标函数发生变化时,可能导致待求解问题的凹凸性、线性等发生变化,最终影响求解器的选择。
图1为本申请实施例提供的一种应用场景图,如图1所示,在终端设备或服务器中设置有建模语言软件,用户可以按照预设的格式将待求解问题输入到建模语言软件中,终端设备或服务器可以基于预先构建的图神经网络模型对待求解问题对应的图数据进行处理,其中,图数据可以是根据对待求解问题进行语义解析得到的,通过上述处理过程可以确定求解器,并根据求解器对求解问题进行处理以得到求解结果,并将求解结果反馈给用户。
通过采用预先构建的图神经网络模型对图数据进行处理,能够充分利用图数据的结构化信息和子图信息,使得图神经网络模型处理的数据包含了待求解问题的原始数据,未进行特征提取则不会存在特征丢失,提升了确定的求解器的准确度。
下面结合附图,对本申请的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图2为本申请实施例提供的一种数据处理方法的流程示意图。本实施例中方法的执行主体可以为任意具有数据处理功能的设备,例如服务器和终端设备等。如图2所示,所述方法可以包括:
步骤201、根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器。
其中,所述待求解问题可以为任意的优化问题。待求解问题可以包括目标函数和约束 条件。目标函数是比较可供选择的多种设计方案的依据,优化的目的就是要使目标函数取极值。约束条件是指在使目标函数取极值时变量需要满足的限制条件。
其中,待求解问题可以采用求解器进行求解,在建模语言软件中,可以调用多种求解器,例如MindOpt、Gurobi、CPLEX等。本申请实施例可以用于从多个求解器中确定适合待求解问题的求解器。
可选的,图数据可以用于表示待求解问题,对图数据的类型不作限制,图数据可以为由多个点和这些点之间的连线所组成的集合。建模语言软件可以根据待求解问题确定对应的图数据,并存储在内存中。
可选的,图神经网络模型包括但不限于图卷积网络(Graph Convolutional Network)和图注意力网络(Graph Attention Network)。可选的,预先构建的图神经网络模型是指通过预先训练得到的图神经网络模型。
其中,预先构建的图神经网络模型可以存在两种形式,一种形式的输入数据为待求解问题对应的图数据,输出数据为待求解问题对应的求解器,可以直接输出求解器,具有效率较高的优点;另一种形式的输入数据为待求解问题对应的图数据,输出数据为待求解问题的类型信息,再根据类型信息确定对应的求解器,可以得到待求解问题的类型信息这一中间结果,可以实现用户对待求解问题对应的类型信息的验证,减少输出的求解器与待求解问题不匹配的概率。
对于上述两种训练图神经网络模型的方式,输入数据相同,均为优化问题对应的图数据,输出数据有所不同,第一种训练图神经网络模型的方式对应的输出数据为求解器,第二种训练图神经网络模型的方式对应的输出数据为类型信息。在应用过程中,可以将内存中存储的待求解问题对应的图数据输入到预先构建的图神经网络模型,输出对应的求解器或类型信息。
步骤202、基于所述求解器对所述待求解问题进行求解。
在确定求解器后,可以通过调用该求解器对待求解问题进行求解。其中,求解器可以嵌入在建模语言软件内部,还可以设置在建模语言软件所属的硬件设备上,供建模语言软件调用。
当求解器对待求解问题进行求解后,可以输出求解结果,并将求解结果进行输出,使得用户可以得到求解结果。
由于图数据中包含有结构化信息和子图信息,利用这些信息可以有效确定求解器,其中,子图是指所有的节点和边均包含于原图的图数据;结构化信息是指图数据可分解成多个互相关联的组成部分,各组成部分间有明确的层次结构,该层次结构即为结构化信息。
综上,本申请实施例提供的数据处理方法,可以根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,并基于所述求解器对所述待求解问题进行求解,从而可以实现在建模语言软件中直接输出求解器,而无需建模语言软件的用户手动选择求解器,且上述方法确定的求解器由于是基于图神经网络对待求解问题对应的图数据进行处理后得到的,能够充分利用图数据中的结构信息和子图信息,能够提高确定求解器的准确性,并且无需多次根据不同的判断规则确定待求解问题的类型信息,能够有效提高确定求解器的效率,从而更加高效、准确地求解优化问题,提升用户体验度。
在本申请的一个或多个实施例中,可选的,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
根据所述待求解问题对应的图数据和所述图神经网络模型,确定所述待求解问题对应的类型信息;所述类型信息用于描述下述至少一项:线性、凹凸性、光滑性;根据所述类型信息,从至少一个求解器选择所述待求解问题对应的求解器。
其中,在根据图数据和预先构建的图神经网络模型确定求解器时,若直接输出求解器,则用户对于输出的求解器是否适合当前的待求解问题是不确定的。基于上述问题,图神经网络可以根据图数据输出待求解问题对应的类型信息。
若用户能够直接对优化问题的类型信息进行确定,则可以将人工确定的类型信息与图神经网络输出的类型信息进行比较,判断二者是否一致,当确定图神经网络模型输出的类型信息出错时,可以通过更新模型提高输出结果的准确率;或者,当确定人工确定的类型信息出错时,可以提高用户后续对类型信息判断的准确性。
其中,类型信息可以反映待求解问题的结构和性质。其中,类型信息可以为线性、凹凸性、光滑性等中的至少一种。其中,对于不同类型的待求解问题可以确定对应的求解器。
其中,建模语言软件可以调用的求解器为多个,当求解器求解不同类型的优化问题时其发挥的性能不同。例如,凸优化求解器对类型信息为凸性的优化问题进行求解时,能够发挥最大的性能,得到较好的求解结果。但是,当凸优化求解器对类型信息为凹性的优化问题进行求解时,则无法发挥最大的性能,得到的求解结果可能并不是最佳结果。因此,在确定类型信息后,可以从至少一个求解器中选择对应的求解器。
具体的,在确定待求解问题对应的类型信息后,确定能够对该类型的优化问题进行求解的至少一个求解器,再从确定的多个求解器种选择一个求解器。
进一步的,在确定待求解问题对应的类型信息后,还可以根据类型信息进行辅助模型变换(reformulation)或是后处理(postprocessing)等过程。
综上,通过图神经网络模型先确定待求解问题对应的类型信息,再根据类型信息确定 对应的求解器可以在确定类型信息准确的基础上再确定求解器,能够提高确定的求解器的准确性。
在本申请的一个或多个实施例中,可选的,每一求解器通过至少一种算法求解问题;所述方法还包括:
根据所述待求解问题对应的类型信息,从所述求解器对应的至少一种算法中选择求解所述待求解问题的算法,以基于所述求解器通过对应的算法求解所述待求解问题。
其中,对于每一求解器提供了求解优化问题的至少一种算法,例如对于线性的求解器提供了多种不同的算法,同一求解器对于不同的算法效果不同。因此,在对待求解问题进行求解之前,不仅可以选择合适的求解器,还可以确定该求解器所采用的算法。
具体的,在确定待求解问题对应的类型信息后,可以先确定求解器,再从求解器对应的至少一种算法中确定求解所述待求解问题的算法。
具体的,可以通过选择参数的方式来确定待求解问题的算法。例如,某一求解器包含两个算法,分别为第一算法和第二算法,当参数对应的数值为0时,可以表示选择第一算法;当参数对应的数值为1时,可以表示选择第二算法。对于参数的选择可以直接根据待求解问题对应的类型信息来确定。
此外,在对待求解问题进行求解之前还可以确定是否执行预处理的操作,也可以根据待求解问题对应的类型信息来确定是否进行预处理,并确定预处理参数的数值,以便于求解器根据该参数的数值确定是否执行预处理的操作。其中,预处理的具体操作可以根据实际需要来设计,例如,格式转换等。
上述方法在选择求解器的基础上,还对求解器采用的算法进行选择,以使求解器可以根据选择的算法发挥最佳性能,进一步提高求解的准确性。
在本申请的一个或多个实施例中,可选的,所述方法还包括:将所述待求解问题对应的优化模型文件转换为对应的模型实例;
相应的,基于所述求解器对所述待求解问题进行求解,包括:根据求解器,对所述模型实例进行求解。
当在确定求解器后,需要调用求解器对待求解问题进行求解。其中,用户输入的待求解问题是优化模型文件的形式,而优化模型文件可能无法直接被传递及读取,因此,可以生成优化模型文件对应的模型实例。例如,对于用代数语言表示的目标函数f(x)=ax+b,其为一个抽象模型,若要生成模型实例还需要用户输入数据文件,数据文件是指目标函数中参数的取值,如a的取值及b的取值。其中,用户可以在输入优化模型文件的同时输入数据文件,还可以在生成模型实例时,向用户发送提示信息,以使用户根据提示信息输入 数据文件。
具体的,在生成模型实例时,可以根据有向无环图和数据文件生成模型实例。对于模型实例的格式可以不做限制,可以根据需求进行设置,如LP格式、MPS格式、NL格式。在生成模型实例的文件后,可以输出给相应的求解器,以供求解器对模型实例进行求解。
上述方法根据所选择的求解器,生成对应的模型实例并将模型实例输出给求解器,顺利实现求解器对待求解问题的求解处理,满足不同问题的求解需求。
在本申请的一个或多个实施例中,可选的,所述方法还包括:
接收用户输入的优化模型文件;所述优化模型文件用于表示所述待求解问题的目标函数和约束条件;通过语义解析确定所述优化模型文件对应的有向无环图;其中,所述待求解问题对应的图数据为所述有向无环图。
其中,为了确定优化模型文件对应的有向无环图,用户可以先将优化模型文件输入到建模语言软件中。其中,优化模型文件为通过代数语言的方式对优化问题进行描述的文件。例如,可以通过代数语言描述一个目标函数f(x)=ax+b,根据用户的输入可以得到优化模型文件。其中,优化模型文件中可以用于表示目标函数和约束条件。
建模语言软件在接收到用户输入的优化模型文件后,可以通过语义解析的方式确定优化模型文件对应的有向无环图。具体的,语义解析包括词法解析和语法解析,词法解析又称词法分析,可以实现将字符序列转换为单词序列,进行词法解析的程序或函数被称为词法分析器。语义解析又称为语义分析,可以实现对结构上正确的源程序进行上下文有关性质的审查,进行类型审查,即审查源程序是否存在语义错误。
其中,在建模语言软件中定义了语义规则,用户需要按照语义规则输入优化模型文件,使得建模语言软件中的词法分析器可以根据语义规则进行词法解析。例如,在优化模型文件中存在param、set、var、minimize、subject to等基本要素,词法分析器可以根据语义规则确定上述各个基本要素的含义,例如可以确定上述各个基本要素分别是指参数、集合、变量、目标函数及约束条件等。此外,对于代数语言的目标函数f(x)=ax+b,还可以识别出赋值操作符、数字、加法操作符等。
在进行词法解析后,可以对词法分析的结果进行语义解析,在进行语义解析后,若确定不存在语义错误,则可以输出优化模型表达式。再得到优化模型表达式后,可以进一步确定对应的有向无环图。
在根据优化模型表达式确定有向无环图时,可以采用如下方式:确定所有的操作数,如目标函数中的决策变量及非决策变量,将其确定为叶子节点;确定各个运算符的生效顺序,并按照顺序有层次的在操作数之间加入运算符,将各个运算符确定为中间节点;在相 邻两层节点之间添加有方向的边,最后判断同层的运算符是否可以合并(当运算符相同且运算符对应的两个变量或表达式也相同时,可以合并),若可以合并则得到合并后的图数据。通过合并运算符可以将表达式中重复的部分采用一个子图进行表示,使得存储的图数据具有占用空间小的优点。
图3为本申请实施例提供的一种有向无环图的示意图。如图3所示,该有向无环图对应的表达式为f(x,y)=(x+5)2+(y-8)2。其中,x、y、5、8为所有的操作数,运算符包括减法运算符、第一个加法运算符、平方运算符以及第二个加法运算符,按照生效顺序,可以分为三个层次,以得到各个中间节点。其中,对于节点的形式可以不做限定,可以均采用圆圈作为节点,也可以将叶子节点用圆圈表示,中间节点用矩形框表示。
上述方法通过将优化模型文件对应的有向无环图确定为图数据,通过有向无环图可以去掉表达式中的相同部分,实现压缩存储,能够节省空间,以及减少图神经网络对图数据的处理量,进一步的提高处理效率。
图4为本申请实施例提供的一种数据处理方法的流程框图,如图4所示,用户可以向建模语言软件输入优化模型文件和数据文件,建模语言软件中设置有语义解析模块、模型生成模块和结构识别模块,通过建模语言软件可以输出求解器、算法以及模型实例。具体的,语义解析模块可以对优化模型文件进行解析以得到优化模型表达式,模型生成模块可以根据优化模型表达生成有向无环图。在生成有向无环图后,一方面,模型生成模块可以根据有向无环图和数据文件生成优化模型文件对应的模型实例;另一方面,结构识别模块可以将有向无环图输入到图神经网络,并输出类型信息的判定结论。在确定类型信息的判定结论后,可以将判定结论输入到参数选择模块,参数选择模块可以得到求解器及算法的选择结果,最终得到求解器、算法以及模型实例。最后,可以通过调用求解器模块根据选择结果调用求解器,并根据算法对模型实例进行求解,以得到求解结果并输出。
需要说明的是,根据有向无环图生成优化模型文件对应的模型实例的步骤以及图神经网络根据有向无环图生成类型信息的步骤可以不存在固定的先后顺序,也可以同时执行。
在本申请的一个或多个实施例中,可选的,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
获取用户为选择求解器设置的需求信息;所述需求信息包括下述至少一项:准确性需求、效率需求、精度需求、费用需求;根据待求解问题对应的图数据、预先构建的图神经网络模型以及所述需求信息,确定所述待求解问题对应的求解器。
由于不同的用户在选择求解器时需求不同,当建模语言软件直接输出确定的求解器时,则可能存在输出的求解器不满足用户的需求,导致用户的体验较差的问题。基于此,可以 获取用户为选择求解器设置的需求信息,其中,需求信息可以为准确性需求、效率需求、精度需求和费用需求中的至少一项。图5为本申请实施例提供的一种用户交互示意图,如图5所示,用户在向终端设备或服务器输入待求解问题以外,还可以输入需求信息,以使终端设备和服务器在确定求解器时可以根据需求信息进行确定。
需求信息用于确定待求解问题对应的求解器,上述需求信息也可以看作是求解的限制条件。其中,可以为用户在向建模语言软件输入优化模型文件时输入需求信息;还可以是当图神经网络模型在输出类型信息后,确定求解器之前输入需求信息。其中,用户可以针对不同的优化问题输入不同的需求信息,也可以针对不同的优化问题输入相同的需求信息。当一个用户对于不同的优化问题设置的需求信息相同时,可以将用户信息与需求信息进行绑定,无需用户每次输入相同的需求信息,当建模语言软件在输出求解器时,可以直接根据绑定的需求信息确定求解器。
当用户设置的需求信息为一项时,可以直接输出与该需求信息匹配度最高的求解器,例如,当需求信息为准确性需求时,则可以直接输出准确性最高的求解器。当用户设置的需求信息为至少两项时,则可以综合选择的至少两项需求信息确定一个求解器,使得确定的求解器可以同时满足至少两项需求信息。
其中,根据待求解问题对应的图数据、预先构建的图神经网络模型以及所述需求信息,确定所述待求解问题对应的求解器时,若图神经网络模型输出的为求解器,则上述过程为根据将图数据和需求信息输入到图神经网络模型,图神经网络模型直接输出求解器,若图神经网络模型输出的为类型信息,则上述过程为将图数据输入到图神经网络模型得到类型信息,再根据类型信息和需求信息共同确定求解器。
上述方法通过设置需求信息并根据需求信息确定求解器,能够得到符合用户需求的求解器,提高用户的使用体验。
可选的,在确定求解器时,若图神经网络模型输出的求解器的个数为至少两个时,还可以按照预先设置求解器的优先级的顺序确定待求解问题对应的求解器。例如,优先选择某一求解器。或者,若图神经网络模型输出的求解器的个数为至少两个时,还可以接收用户输入的求解器的偏好信息,根据偏好信息确定待求解问题对应的求解器。例如,用户偏好选择MindOpt求解器,则当输出的求解器中存在MindOpt求解器时,则将该求解器确定为待求解问题对应的求解器。
在本申请的一个或多个实施例中,可选的,所述方法还包括:
在根据所述求解器对所述待求解问题进行求解后,获取求解结果对应的反馈信息;若所述反馈信息以及所述待求解问题对应的类型信息满足预设条件,则根据所述待求解问题 生成对应的训练样本添加到优化样本集中;其中,所述优化样本集用于对所述图神经网络模型进行优化。
图6为本申请实施例提供的一种对图神经网络模型进行更新的原理图,如图6所示,在根据确定的求解器对待求解问题进行求解后,还可以确定求解结果对应的反馈信息,根据反馈信息可以更改优化样本集中的样本,并采用更改后的优化样本集对图神经网络模型进行训练,以提高图神经网络模型输出求解器的准确率。
其中,反馈信息可以为用户反馈,还可以为市场反馈。用户反馈可以是用户根据求解结果进行的直接反馈,例如,效果较好或效果不好。市场反馈可以是将该求解结果运用到实际调度场景或分配场景下得到收益信息,根据收益信息确定反馈信息,反馈结果与收益信息成正相关。
在确定反馈信息后,若反馈信息以及所述待求解问题对应的类型信息满足预设条件时,则可以将该待求解问题对应的训练样本添加到训练样本集。其中,预设条件可以为优化样本集中的待求解问题的类型尽可能的多。
需要说明的是,预设条件可以根据时间发生变化。例如,当在一个时间段内,当优化样本集中缺少A类型的待求解问题时,则当每次在确定反馈信息后,若反馈信息不好,则确定该待求解问题对应的类型信息是否为A类型,若是,则生成该待求解问题对应的训练样本,并添加到优化样本集中。当随着时间的推移,优化样本集中缺少的待求解问题的类型可能为B类型,则此时即使A类型的待求解问题对应的反馈信息不好,则不会将其添加到优化样本集中,当待求解问题的类型为B类型且反馈信息不好时,才会加入到优化样本集中。
需要说明的是,反馈信息及待求解问题的收集和使用,可以是在用户知情并同意的情况下进行的。
上述方法根据反馈信息对优化样本集的更新,可以使得图神经网络能够实现动态更新,满足当前的使用需求,进一步提高了图神经网络模型确定求解器的准确性。
图7为本申请实施例提供的另一种数据处理方法的流程示意图。如图7所示,所述方法可以包括:
步骤701、确定待求解的供应链调度问题,其中,所述供应链调度问题用于在约束条件下,基于目标函数确定从多个供应商分别采购的原料数量。
供应链调度问题可以为包含任意优化目标的供应链调度场景的优化问题。用户可以通过代数语言向供应链调度平台输入待求解的供应链调度问题,其中,供应链调度平台中可以嵌入建模语言软件。其中,由于目标函数的不同,不同供应链调度问题对应的类型也可 能存在不同。例如,对于一部分目标函数的供应链调度问题,其类型信息能为凸函数;对于另一部分目标函数的供应链调度问题,其类型信息可能为凹函数。对于不同类型的供应链调度问题,可以从建模语言软件中调用不同的求解器。
通过本申请的实施例可以实现从多个求解器中确定适合输入的供应链调度问题的求解器。
步骤702、根据所述供应链调度问题对应的图数据和预先构建的图神经网络模型,确定所述供应链调度问题对应的求解器,并基于所述求解器对所述供应链调度问题进行求解,得到从多个供应商分别采购的原料数量并输出。
可选的,图数据可以用于表示供应链调度问题,对图数据的类型不作限制,图数据可以为由多个点和这些点之间的连线所组成的集合。建模语言软件可以根据供应链调度问题确定对应的图数据,并存储在内存中。
可选的,在确定供应链调度问题后,可以确定供应链调度问题对应的图数据,并将图数据输入到预先构建的图神经网络模型中。其中,预先构建的图神经网络模型可以是根据已求解的供应链调度问题对应的图数据以及对应的类型信息进行训练后得到的。或者,预先构建的图神经网络还可以是根据已求解的供应链调度问题对应的图数据以及求解器进行训练后得到的。相应的,在根据供应链调度问题对应的图数据和图神经网络模型确定求解器时,图神经网络模型可以直接输出求解器,也可以先输出类型信息,再根据类型信息确定求解器。
在确定求解器后,可以直接调用该求解器并对供应链调度问题进行求解,以输出求解结果,其中,求解结果可以为从各个供应商分别采购的原材料的数量。
本实施例中,各步骤的具体实现过程和原理可以参见前述实施例,此处不再赘述。
综上,本申请实施例提供的数据处理方法,可以确定待求解的供应链调度问题,根据所述供应链调度问题对应的图数据和预先构建的图神经网络模型,确定所述供应链调度问题对应的求解器,并基于所述求解器对所述供应链调度问题进行求解,得到从多个供应商分别采购的原料数量并输出,从而可以实现在供应链调度平台直接输出求解器,而无需供应链调度平台的用户手动选择求解器,且上述方法确定的求解器由于是基于图神经网络对供应链调度问题对应的图数据进行处理后得到的,能够充分利用图数据中的结构信息和子图信息,能够提高确定求解器的准确性,并且无需多次根据不同的判断规则确定待求解问题的类型信息,能够有效提高确定求解器的效率,从而更加高效、准确地求解供应链问题,提升用户体验度,满足供应链实现需求。
在本申请各实施例中,方法的执行主体可以根据实际需要来设置。示例性地,可以由 终端设备执行,或者,可以由服务器执行,或者,部分步骤由终端设备执行,部分步骤由服务器执行。
对应于上述数据处理方法,本申请实施例还提供一种数据处理装置,所述装置可以包括:
确定模块,用于根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器;
求解模块,用于基于所述求解器对所述待求解问题进行求解。
在本申请的一个或多个实施例中,可选的,确定模块具体用于:
根据所述待求解问题对应的图数据和所述图神经网络模型,确定所述待求解问题对应的类型信息;所述类型信息用于描述下述至少一项:线性、凹凸性、光滑性;
根据所述类型信息,从至少一个求解器选择所述待求解问题对应的求解器。
在本申请的一个或多个实施例中,可选的,每一求解器通过至少一种算法求解问题;所述装置还包括:算法确定模块,具体用于:
根据所述待求解问题对应的类型信息,从所述求解器对应的至少一种算法中选择求解所述待求解问题的算法,以基于所述求解器通过对应的算法求解所述待求解问题。
在本申请的一个或多个实施例中,可选的,所述装置还包括语义解析模块,具体用于:
接收用户输入的优化模型文件;所述优化模型文件用于表示所述待求解问题的目标函数和约束条件;
通过语义解析确定所述优化模型文件对应的有向无环图;
其中,所述待求解问题对应的图数据为所述有向无环图。
在本申请的一个或多个实施例中,可选的,所述装置还包括:转换模块,具体用于:
将所述待求解问题对应的优化模型文件转换为对应的模型实例;
相应的,所述求解模块具体用于:
根据求解器,对所述模型实例进行求解。
在本申请的一个或多个实施例中,可选的,所述确定模块还用于:
获取用户为选择求解器设置的需求信息;所述需求信息包括下述至少一项:准确性需求、效率需求、精度需求、费用需求;
根据待求解问题对应的图数据、预先构建的图神经网络模型以及所述需求信息,确定所述待求解问题对应的求解器。
在本申请的一个或多个实施例中,可选的,所述装置还包括添加模块,具体用于:
在根据所述求解器对所述待求解问题进行求解后,获取求解结果对应的反馈信息;
若所述反馈信息以及所述待求解问题对应的类型信息满足预设条件,则根据所述待求解问题生成对应的训练样本添加到优化样本集中;
其中,所述优化样本集用于对所述图神经网络模型进行优化。
本申请实施例提供的数据处理装置,可用于执行上述图1至图6所示实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供另一种数据处理装置,所述装置可以包括:
供应链调度问题确定模块,用于确定待求解的供应链调度问题,其中,所述供应链调度问题用于在约束条件下,基于目标函数确定从多个供应商分别采购的原料数量;
求解器确定模块,用于根据所述供应链调度问题对应的图数据和预先构建的图神经网络模型,确定所述供应链调度问题对应的求解器;
求解模块,基于所述求解器对所述供应链调度问题进行求解,得到从多个供应商分别采购的原料数量并输出。
本申请实施例提供的数据处理装置,可用于执行上述图7所示实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8所示,本实施例的电子设备可以包括:
至少一个处理器801;以及
与所述至少一个处理器通信连接的存储器802;
其中,所述存储器802存储有可被所述至少一个处理器801执行的指令,所述指令被所述至少一个处理器801执行,以使所述电子设备执行如上述任一实施例所述的方法。
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一实施例所述的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算 机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
本申请的技术方案中,所涉及的用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

  1. 一种数据处理方法,其特征在于,包括:
    根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器;
    基于所述求解器对所述待求解问题进行求解。
  2. 根据权利要求1所述的方法,其特征在于,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
    根据所述待求解问题对应的图数据和所述图神经网络模型,确定所述待求解问题对应的类型信息;所述类型信息用于描述下述至少一项:线性、凹凸性、光滑性;
    根据所述类型信息,从至少一个求解器选择所述待求解问题对应的求解器。
  3. 根据权利要求2所述的方法,其特征在于,每一求解器通过至少一种算法求解问题;所述方法还包括:
    根据所述待求解问题对应的类型信息,从所述求解器对应的至少一种算法中选择求解所述待求解问题的算法,以基于所述求解器通过对应的算法求解所述待求解问题。
  4. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    接收用户输入的优化模型文件;所述优化模型文件用于表示所述待求解问题的目标函数和约束条件;
    通过语义解析确定所述优化模型文件对应的有向无环图;
    其中,所述待求解问题对应的图数据为所述有向无环图。
  5. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    将所述待求解问题对应的优化模型文件转换为对应的模型实例;
    相应的,基于所述求解器对所述待求解问题进行求解,包括:
    根据求解器,对所述模型实例进行求解。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,根据待求解问题对应的图数据和预先构建的图神经网络模型,确定所述待求解问题对应的求解器,包括:
    获取用户为选择求解器设置的需求信息;所述需求信息包括下述至少一项:准确性需求、效率需求、精度需求、费用需求;
    根据待求解问题对应的图数据、预先构建的图神经网络模型以及所述需求信息,确定所述待求解问题对应的求解器。
  7. 根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
    在根据所述求解器对所述待求解问题进行求解后,获取求解结果对应的反馈信息;
    若所述反馈信息以及所述待求解问题对应的类型信息满足预设条件,则根据所述待求解问题生成对应的训练样本添加到优化样本集中;
    其中,所述优化样本集用于对所述图神经网络模型进行优化。
  8. 一种数据处理方法,其特征在于,包括:
    确定待求解的供应链调度问题,其中,所述供应链调度问题用于在约束条件下,基于目标函数确定从多个供应商分别采购的原料数量;
    根据所述供应链调度问题对应的图数据和预先构建的图神经网络模型,确定所述供应链调度问题对应的求解器,并基于所述求解器对所述供应链调度问题进行求解,得到从多个供应商分别采购的原料数量并输出。
  9. 一种电子设备,其特征在于,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;
    其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行权利要求1-8任一项所述的方法。
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的方法。
  11. 一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。
PCT/CN2023/080974 2022-03-22 2023-03-13 数据处理方法、设备、存储介质及程序产品 WO2023179386A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210286725.6 2022-03-22
CN202210286725.6A CN114647981A (zh) 2022-03-22 2022-03-22 数据处理方法、设备、存储介质及程序产品

Publications (1)

Publication Number Publication Date
WO2023179386A1 true WO2023179386A1 (zh) 2023-09-28

Family

ID=81996293

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/080974 WO2023179386A1 (zh) 2022-03-22 2023-03-13 数据处理方法、设备、存储介质及程序产品

Country Status (2)

Country Link
CN (1) CN114647981A (zh)
WO (1) WO2023179386A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647981A (zh) * 2022-03-22 2022-06-21 阿里巴巴(中国)有限公司 数据处理方法、设备、存储介质及程序产品
CN116996398B (zh) * 2023-09-27 2024-02-27 联通在线信息科技有限公司 一种基于数学规划的cdn业务带宽优化方法及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110585A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Energy consumption optimization in a data-processing system
CN108108994A (zh) * 2017-11-10 2018-06-01 浙江中控软件技术有限公司 用于化工企业供应链的计划优化方法
CN111340661A (zh) * 2020-02-21 2020-06-26 电子科技大学 一种基于图神经网络的应用题自动解题方法
CN113065714A (zh) * 2021-04-20 2021-07-02 上海交通大学 一种多项目式多目标集中采购决策优化方法及系统
CN113656651A (zh) * 2021-08-30 2021-11-16 支付宝(杭州)信息技术有限公司 图节点关系表征生成和图节点业务关系预测方法及装置
CN113722564A (zh) * 2021-09-09 2021-11-30 国网电子商务有限公司 基于空间图卷积能源物资供应链的可视化方法及装置
CN114647981A (zh) * 2022-03-22 2022-06-21 阿里巴巴(中国)有限公司 数据处理方法、设备、存储介质及程序产品

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110585A1 (en) * 2010-10-29 2012-05-03 International Business Machines Corporation Energy consumption optimization in a data-processing system
CN108108994A (zh) * 2017-11-10 2018-06-01 浙江中控软件技术有限公司 用于化工企业供应链的计划优化方法
CN111340661A (zh) * 2020-02-21 2020-06-26 电子科技大学 一种基于图神经网络的应用题自动解题方法
CN113065714A (zh) * 2021-04-20 2021-07-02 上海交通大学 一种多项目式多目标集中采购决策优化方法及系统
CN113656651A (zh) * 2021-08-30 2021-11-16 支付宝(杭州)信息技术有限公司 图节点关系表征生成和图节点业务关系预测方法及装置
CN113722564A (zh) * 2021-09-09 2021-11-30 国网电子商务有限公司 基于空间图卷积能源物资供应链的可视化方法及装置
CN114647981A (zh) * 2022-03-22 2022-06-21 阿里巴巴(中国)有限公司 数据处理方法、设备、存储介质及程序产品

Also Published As

Publication number Publication date
CN114647981A (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
WO2023179386A1 (zh) 数据处理方法、设备、存储介质及程序产品
Benhabib et al. Reconciling models of diffusion and innovation: A theory of the productivity distribution and technology frontier
US20120150820A1 (en) System and method for testing data at a data warehouse
US20070162482A1 (en) Method and system of using artifacts to identify elements of a component business model
WO2019214029A1 (zh) 财务数据制证方法、装置、计算机设备及存储介质
US11367008B2 (en) Artificial intelligence techniques for improving efficiency
CN107169052A (zh) 推荐方法及装置
EP3061047A1 (en) Systems and methods for flexible sourcing systems
CN114625353A (zh) 模型框架代码生成系统及方法
CN102929646A (zh) 应用程序生成方法及装置
CN114860916A (zh) 知识检索方法及装置
CN117454278A (zh) 一种标准企业数字化规则引擎的实现方法和系统
Bao et al. An orthogonal genetic algorithm for QoS-aware service composition
CN108804685B (zh) 一种资产托管监督任务的处理方法及装置
CN111984882A (zh) 数据处理方法、系统及设备
CN115292473A (zh) 低代码方案中的扩展的选择性推荐和部署
CN117009401A (zh) 生态设计评估方法及系统、存储介质、电子装置
CN116561134A (zh) 业务规则处理方法、装置、设备及存储介质
CN116595191A (zh) 一种交互式低代码知识图谱的构建方法及装置
KR20180022047A (ko) 원자력 발전소의 노심설계 자동 검증 시스템
CN110765100A (zh) 标签的生成方法、装置、计算机可读存储介质及服务器
CN114968246A (zh) 数据分析组件生成方法、设备及计算机可读存储介质
CN109508185B (zh) 一种代码复查方法和装置
CN113962205A (zh) 电子表格内容的粘贴方法、装置、电子设备及存储介质
CN113222493A (zh) 一种供应链库存管理方法、装置和电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23773634

Country of ref document: EP

Kind code of ref document: A1