Method for determining initial solution, and related device
By splitting the mathematical programming model and using multiple neural networks to predict the initial solution of variables, the problem of low efficiency of initial solutions in existing technologies is solved, achieving faster solution speed and more efficient processing of mathematical programming models.
Patent Information
- Application Number
- PCT/CN2025/070973
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-09-29
- Filing Date
- 2025-01-07
- Publication Date
- 2025-12-26
AI Technical Summary
Existing technologies for solving mathematical programming models typically rely on default or expert-based initial solutions, which are difficult to adapt to changes under different circumstances, resulting in low processing efficiency.
By breaking down the information in a mathematical programming model, multiple neural networks are used to predict the initial solutions for each entity's variables, and parallel inference of the neural networks is employed to generate efficient initial solutions.
It improves the speed and efficiency of solving mathematical programming models, reduces reliance on expert experience, and enhances the solution capabilities of computing devices.
Smart Images

Figure CN2025070973_26122025_PF_FP_ABST
Abstract
Description
A method for determining an initial solution and related equipment
[0001] This application claims priority to Chinese Patent Application No. 202410799818.8, filed with the State Intellectual Property Office of China on June 19, 2024, entitled "Mathematical Solution Method, Apparatus, Computing Device Cluster and Storage Medium", and to Chinese Patent Application No. 202411375356.3, filed with the State Intellectual Property Office of China on September 29, 2024, entitled "A Method for Determining an Initial Solution and Related Apparatus", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of artificial intelligence technology, specifically to a method and related equipment for determining an initial solution. Background Technology
[0003] Business problems in application areas such as logistics, supply chain, energy, finance, and engineering can often be abstracted into mathematical programming problems and solved by constructing mathematical programming models to address practical business problems in the application areas, such as solving logistics transportation planning problems and energy supply problems.
[0004] Currently, when solving mathematical programming models for specific application scenarios, the initial solution of the mathematical programming model is usually determined based on expert experience, or a default initial solution is adopted.
[0005] However, mathematical programming models often change under different circumstances and at different times. Default initial solutions usually fail to produce good results, while expert experience often requires long-term accumulation and the involvement of relevant experts during the solution process, affecting processing efficiency. Therefore, there is an urgent need for a method that can efficiently generate suitable initial solutions for mathematical programming models involved in practical applications, in order to better calculate the corresponding solution results. Summary of the Invention
[0006] This application provides a method for determining an initial solution, which can conveniently and efficiently generate a suitable initial solution for a mathematical programming model to be solved, thereby improving the solution speed of the mathematical programming model by the computing device. This application also provides corresponding apparatus, devices, computer-readable storage media, and computer program products.
[0007] The first aspect of this application provides a method for determining an initial solution. The method includes: acquiring information about a first mathematical programming model; splitting the information of the first mathematical programming model according to multiple entities associated with the first mathematical programming model to obtain first entity information of each entity regarding the first mathematical programming model; performing a first inference on the first entity information of each entity through a neural network corresponding to each entity to obtain a first initial solution for the variables associated with each entity in the first mathematical programming model, wherein, during the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and the output of a neural network includes the first initial solution for the variables associated with the entity corresponding to the neural network; and obtaining a first target initial solution for the first mathematical programming model based on the first initial solution for the variables associated with each entity, wherein the first target initial solution is used to solve the first mathematical programming model.
[0008] In the first aspect, considering scenarios such as sequential optimization of identically distributed mathematical programming problems, the characteristics of entities do not change fundamentally across a series of identical problems and usually have correlations such as sustainability. Therefore, it is possible to predict the variables corresponding to different entities based on their respective characteristics.
[0009] Based on this, in the first aspect, multiple neural networks corresponding to multiple entities can be obtained. Furthermore, based on the multiple entities associated with the first mathematical programming problem, the information of the first mathematical programming model can be decomposed to obtain the first entity information of each entity in the multiple entities regarding the first mathematical programming model. Thus, the first initial solutions of the relevant variables of different entities associated with the first mathematical programming model can be predicted by different neural networks to obtain the first objective initial solution of the first mathematical programming model.
[0010] In this approach, the initial solution prediction task of the variables in the first mathematical programming model is broken down into multiple subtasks, each executed by a different neural network. Since each individual neural network's prediction task only covers a subset of the variables in the first mathematical programming model, the scale of a single neural network is typically small. Furthermore, multiple neural networks can perform inference operations in parallel, enabling rapid and efficient completion of the inference task. The smaller size of each individual neural network and the fewer inference tasks it undertakes make it easier to deduce a high-quality initial solution. Therefore, different neural networks can accurately and efficiently complete inference based on the initial entity information of their respective entities, achieving faster inference speeds and thus efficiently obtaining the initial solution to the first objective, thereby improving the solution speed of the first mathematical programming model.
[0011] In one possible implementation of the first aspect, different neural networks correspond to different entities, or different neural networks correspond to different types of entities.
[0012] In this possible implementation, the correspondence between neural networks and entities can take many forms. For example, different entities may each have different neural networks; or, different types of entities may each have different neural networks.
[0013] In one possible implementation of the first aspect, the information of the first mathematical programming model includes at least one of the following: descriptive information of the variables in the first mathematical programming model, and descriptive information of the constraints in the first mathematical programming model; the first entity information of an entity includes at least one of the following: descriptive information of the variables associated with an entity in the first mathematical programming model, and descriptive information of the constraints associated with an entity in the constraints of the first mathematical programming model.
[0014] In this possible implementation, the descriptive information of the variables in the first mathematical programming model can describe the specific business meaning (e.g., physical meaning) of the variables, thereby identifying the entities associated with the variables. The descriptive information of the constraints in the first mathematical programming model is used to describe the business meaning of the constraints, for example, describing which aspects of which entities in the actual business scenario are specifically constrained by the constraints of the first mathematical programming model.
[0015] In one possible implementation of the first aspect, during the first inference, the input of a neural network further includes first parameter information, which includes information on at least one business parameter associated with the first data planning model, and the first parameter information is contained in the first business data used to construct the first mathematical programming model.
[0016] In this possible implementation, the first parameter information can describe the current business scenario so that the neural network can identify the characteristics of the current business scenario and thus deduce a first initial solution suitable for the current business scenario.
[0017] In one possible implementation of the first aspect, during the first inference, the first parameter information included in the input of a neural network is the first parameter information after feature dimensionality reduction, which is obtained by performing feature dimensionality reduction on the first parameter information.
[0018] In this possible implementation, feature dimensionality reduction can be performed on the first parameter information to represent it using a more concentrated dimension. This allows the key information of the first parameter information to be condensed into data with a smaller dimension, thereby reducing the training and computational overhead of the neural network, reducing resource consumption, and improving the processing efficiency of the neural network.
[0019] In one possible implementation of the first aspect, the first business data is the business data corresponding to the business at the first time node; the first parameter information includes the first dynamic data, which includes the data of the dynamic parameters in the first business data. The data of the dynamic parameters corresponding to the first time node is different from the data of the dynamic parameters corresponding to the second time node, and the second time node is different from the first time node.
[0020] In this possible implementation, in scenarios such as sequential optimization of identically distributed mathematical programming problems, the differences between mathematical programming models at different time points are usually caused by dynamic data. That is to say, the data corresponding to the dynamic parameters at different time points (i.e., dynamic data) can effectively reflect the scenario characteristics of mathematical programming models at different time points in scenarios such as sequential optimization of identically distributed mathematical programming problems, and will affect the solution results of mathematical programming models at different time points.
[0021] Based on this, during the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, as well as the first dynamic data (specifically including the dynamic parameter data in the first business data).
[0022] Among them, the first entity information can fully reflect the characteristics of the entity, while the first dynamic data can fully reflect the scene differences between the current first time point and other time points. Therefore, through the neural network, based on the first entity information and the first dynamic data, the characteristics of the scene at the current first time point and the features of the associated entities can be fully captured, thereby fully inferring the appropriate first initial solution for the variables associated with the entity corresponding to the neural network in the current scene.
[0023] In one possible implementation of the first aspect, the method further includes: obtaining second dynamic data from second business data corresponding to a second time node, the second business data being used to construct a second mathematical programming model, the second dynamic data including dynamic parameter data in the second business data, the second mathematical programming model having the same structure as the first mathematical programming model, and the coefficients in the second mathematical programming model being different from the coefficients in the first mathematical programming model; splitting the information of the second mathematical programming model according to multiple entities to obtain second entity information of each entity regarding the second mathematical programming model; performing second inference on the second dynamic data and the second entity information of each entity through a neural network corresponding to each entity to obtain a second initial solution of the variables associated with each entity in the second mathematical programming model, wherein, during the second inference, the input of a neural network includes the second dynamic data and the second entity information of the entity corresponding to the neural network, and the output of a neural network includes the second initial solution of the variables associated with the entity corresponding to the neural network; obtaining a second objective initial solution of the second mathematical programming model based on the second initial solution of the variables associated with each entity, the second objective initial solution being used to solve the second mathematical programming model.
[0024] In this possible implementation, the difference between the second dynamic data and the first dynamic data is the key reason why the second mathematical programming model has the same structure as the first mathematical programming model, but the coefficients (such as the coefficient matrix) are different.
[0025] It is evident that in scenarios such as sequential optimization of identically distributed mathematical programming problems, the differences between mathematical programming models at different time points are usually caused by dynamic data. That is to say, the data corresponding to the dynamic parameters at different time points (i.e., dynamic data) can effectively reflect the scenario characteristics of mathematical programming models at different time points in scenarios such as sequential optimization of identically distributed mathematical programming problems, and will affect the solution results of mathematical programming models at different time points.
[0026] Based on this, during the second inference, a neural network can be used to fully capture the characteristics of the scene at the second time node and the features of the associated entities based on the first entity information and the second dynamic data, thereby fully inferring the appropriate second initial solution for the variables associated with the entity corresponding to the neural network in the scene corresponding to the second time node.
[0027] In one possible implementation of the first aspect, a neural network is obtained by training a neural network to be trained based on a loss function, the loss function including a first loss term and / or a second loss term, the first loss term being used to evaluate the accuracy of the output data of a neural network to be trained, and the second loss term being used to evaluate the degree of violation of the output data by the output data on the preset constraints associated with the output data, the preset constraints being the constraints of the preset mathematical programming model corresponding to the output data that are associated with the entity corresponding to the neural network to be trained.
[0028] In this possible implementation, the first loss term can calculate the difference between the output data of the neural network to be trained and the labels of the training data. Based on the first loss term, through iterative training, the output data of the neural network to be trained tends to output the correct initial solution.
[0029] The second loss term assesses the degree to which the output data violates the predefined constraints associated with it; that is, it evaluates whether the output data is within the corresponding feasible region. Based on the second loss term, iterative training makes the output data of the neural network being trained more likely to be within the feasible region, thus making the initial solution output by the trained neural network close to or conform to the requirements of the feasible region, thereby improving the solution speed.
[0030] A second aspect of this application provides an apparatus for determining an initial solution, which has the function of implementing the method described in the first aspect or any possible implementation of the first aspect. This function can be implemented in hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described function, such as an acquisition module and a processing module.
[0031] A third aspect of this application provides a computing device cluster including at least one computing device, the at least one computing device including a processor and a memory, the memory of the at least one computing device storing computer-executable instructions that can run on the processor, and when the computer-executable instructions are executed by the processor, the processor executes a method as described in the first aspect or any possible implementation of the first aspect.
[0032] The fourth aspect of this application provides a computer-readable storage medium storing one or more computer-executable instructions, wherein when the computer-executable instructions are executed by a processor, the processor performs a method as described in the first aspect or any possible implementation thereof.
[0033] The fifth aspect of this application provides a computer program product that stores one or more computer-executable instructions, wherein when the computer-executable instructions are executed by a processor, the processor executes a method as described in the first aspect or any possible implementation thereof.
[0034] A sixth aspect of this application provides a chip system including a processor for supporting the processor in implementing the functions involved in the first aspect or any possible implementation thereof. In one possible design, the chip system may further include a memory for storing necessary program instructions and data. This chip system may be composed of chips or may include chips and other discrete devices.
[0035] The technical effects of the second to sixth aspects or any of their possible implementations can be found in the first aspect or the technical effects of its related possible implementations, and will not be repeated here. Attached Figure Description
[0036] Figure 1 is an exemplary schematic diagram of a data center provided in an embodiment of this application;
[0037] Figure 2 is a schematic diagram of an exemplary system framework provided in an embodiment of this application;
[0038] Figure 3 is a schematic diagram of an embodiment of the method for determining an initial solution provided in this application;
[0039] Figure 4 is an exemplary flowchart provided in an embodiment of this application;
[0040] Figure 5 is an exemplary schematic diagram of a unit combination for solving safety constraints provided in an embodiment of this application;
[0041] Figure 6 is an exemplary schematic diagram of obtaining an initial solution to a first target using multiple neural networks, provided in an embodiment of this application.
[0042] Figure 7 is a schematic diagram of an embodiment of the apparatus for determining an initial solution provided in this application;
[0043] Figure 8 is a structural schematic diagram of a computing device provided in an embodiment of this application;
[0044] Figure 9 is a schematic diagram of a computing device cluster provided in an embodiment of this application;
[0045] Figure 10 is a schematic diagram of a computing device cluster provided in an embodiment of this application. Detailed Implementation
[0046] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is for explaining specific embodiments only and is not intended to limit the scope of this application.
[0047] As will be known to those skilled in the art, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0048] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that comprises a series of units is not necessarily limited to those units, but may include other units not expressly listed or inherent to those processes, methods, products, or apparatus.
[0049] The concepts involved in this application will be introduced below.
[0050] 1. Solver
[0051] A solver can be considered as a computer program that solves a specific problem.
[0052] For example, for mathematical programming solvers,
[0053] A mathematical programming solver is software that solves established mathematical programming models, such as linear, integer, mixed integer, and / or nonlinear programming models. By inputting the objective function and constraints of the mathematical programming model into the solver, it can find the optimal or feasible solution to the mathematical programming model. It is commonly used to solve problems involving linear programming, nonlinear programming, integer programming, and constrained optimization.
[0054] 2. Mathematical Programming
[0055] The primary goal of mathematical programming is to find the optimal solution that minimizes or maximizes a certain function within a given region. Mathematical programming can encompass many different branches, such as linear programming, integer programming, nonlinear programming, combinatorial optimization, multi-objective programming, stochastic programming, dynamic programming, and parametric programming.
[0056] 3. Mathematical Programming Model
[0057] Mathematical programming models are models that use mathematical methods to describe and solve optimization problems. They describe the constraints and objective function of the problem by establishing mathematical equations and / or inequalities, and then use mathematical algorithms to find the optimal solution.
[0058] Mathematical programming models can be of one or more types, including but not limited to: linear programming, integer linear programming, nonlinear programming, multi-objective programming, and dynamic programming.
[0059] 4. Sequential optimization of mathematical programming problems with identical distributions
[0060] Sequential optimization of identically distributed mathematical programming problems refers to a series of similar mathematical programming problems that are solved continuously. The abstract mathematical programming models involved in this series of mathematical programming problems have the same structure, differing only in the coefficient matrix. Furthermore, the data changes in the coefficient matrix usually follow a regular pattern and originate from the same distribution.
[0061] Sequential optimization of identically distributed mathematical programming problems has the following characteristics:
[0062] (1) Solve the same problem at a certain frequency over a period of time;
[0063] (2) The data involved in the problem shows a certain regularity over a period of time;
[0064] (3) The type and structure of the abstract mathematical model of the problem remain unchanged;
[0065] (4) The data of some parameters involved in the problem remain unchanged.
[0066] For example, the logistics transportation planning problem requires determining daily transportation routes and plans with the goal of maximizing logistics efficiency under limited resources. Furthermore, the daily transportation planning problem needs to be updated and solved for different daily transportation resource allocations to ensure the timeliness of the transportation plan and to meet the daily transportation demand. Therefore, the logistics transportation planning problem can be regarded as a sequential optimization identically distributed mathematical programming problem.
[0067] 5. Hot start for solving mathematical programming models
[0068] A warm start refers to the process of restarting an already running system or application using existing cache and state information, thereby speeding up the startup process. In solver scenarios, a warm start is a solution to accelerate the solution of optimization problems, meaning starting the optimization algorithm from an informative or better initial point, rather than starting from a random or empty starting point.
[0069] In scenarios such as sequential optimization of identically distributed mathematical programming problems, a hot-start approach can be used to address the characteristics of these problems. Hot-start involves using the computational results and data from historical mathematical programming models within the same problem set to generate an initial solution for the current model, thereby accelerating the solution process. In practical applications, hot-start can significantly improve the solver's speed, especially for large and complex problems, saving substantial computation time and resources.
[0070] 6. Entity
[0071] In mathematical programming models and related application scenarios, some data objects can be referred to as entities.
[0072] The types of entities associated with a data programming model can be varied and can be determined based on the actual application scenario. For example, the entities associated with a mathematical programming model can be physical entities in space or abstract entities.
[0073] 7. Neural Networks
[0074] A neural network can be composed of neural units, which can be defined as a computational unit that takes xs (i.e., input data) and an intercept of 1 as input. The output of this computational unit can be:
[0075] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into an output signal. The output signal of this activation function can be used as the input of the next convolutional layer, and the activation function can be the sigmoid function. A neural network is a network formed by connecting multiple of the above-mentioned individual neural units together, 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, which can be a region composed of several neural units.
[0076] 8. Loss Function
[0077] During the training of a neural network, to ensure that the network's output is as close as possible to the desired predicted value, we compare the current network's prediction with the target value. Based on the difference, we update the weight vector of each layer (usually initialized before the first update, pre-configuring parameters for each layer in the deep neural network). For example, if the network's prediction is too high, the weight vector is adjusted to lower it. This process is repeated until the neural network can predict the target value or a value very close to it. Therefore, we need to predefine "how to compare the difference between the predicted and target values," which is the loss function or objective function. These are important equations used to measure the difference between the predicted and target values. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and the training process of the neural network is to minimize this loss as much as possible.
[0078] 9. Backpropagation Algorithm
[0079] Neural networks can employ backpropagation (BP) to correct the initial parameter values during training, thereby minimizing the reconstruction error loss. Specifically, forward propagation of the input signal to the output generates error loss. This error loss information is then propagated back to update the parameters of the neural network during training, leading to convergence of the error loss. The backpropagation algorithm is an error-loss-driven backpropagation process aimed at obtaining optimal neural network parameters, such as the weight matrix.
[0080] Currently, when solving mathematical programming models such as sequential optimization of identically distributed mathematical programming problems in specific application scenarios, the initial solution of the mathematical programming model is usually determined based on expert experience, or a default initial solution is adopted.
[0081] However, in mathematical programming problems such as sequential optimization of identically distributed mathematical programming problems, the mathematical programming model can change under different circumstances and at different times. Default initial solutions often fail to produce good results, and expert experience often requires long-term accumulation and the participation of relevant experts during the solution process, which affects processing efficiency. Therefore, there is an urgent need for a method to efficiently generate suitable initial solutions for mathematical programming models involved in practical application scenarios, so as to better calculate the corresponding solution results.
[0082] Based on this, embodiments of this application provide a method for determining an initial solution, which can conveniently and efficiently generate a suitable initial solution for a mathematical programming model to be solved, thereby improving the solution speed of the mathematical programming model by the computing device.
[0083] The method described in this application embodiment can be applied to a computing device cluster, which may include one or more computing devices.
[0084] The type of computing device is not limited here. For example, any computing device can be a terminal device, a server, a container, or a virtual machine, etc. Different computing devices can be of the same type or different types.
[0085] In one example, the cluster of computing devices can be used to implement a cloud management platform; in other words, the embodiments of this application can be applied to a cloud management platform.
[0086] A cloud management platform is used to manage the infrastructure that provides cloud services. It can provide computing, networking, and storage capabilities based on hardware and software resources. For example, the cloud management platform and infrastructure can reside in one or more data centers to provide cloud resources through those data centers.
[0087] The following is an exemplary description of a data center, illustrated in Figure 1.
[0088] In Figure 1, the cloud management platform interacts with one or more servers (Server 1 and Server 2 in Figure 1) through the data center's internal network. The servers consist of a hardware layer and a software layer. The hardware layer includes the server's hardware configuration, such as PCI devices like network interface cards (NICs), graphics processing units (GPUs), and offloading cards, which can be plugged into peripheral component interconnect (PCI) or peripheral component interconnect express (PCIe) slots. The software layer includes the operating system installed and running on the server (the operating system relative to the virtual machine can be called the host operating system). The host operating system contains a virtual machine manager (also called a hypervisor), whose role is to implement compute virtualization, network virtualization, and storage virtualization of the virtual machines and to manage them. A virtual machine (VM) refers to a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment. In the system architecture shown in Figure 1, the infrastructure includes multiple servers, which can be used to run virtual machines. The specifications of the virtual machines can be the same or different. Virtual machines can also be called cloud servers (elastic compute service, ECS), elastic instances, etc., and different cloud service providers may have different names for them.
[0089] In one example of an embodiment of this application, the cloud management platform can be a public cloud platform. In this case, cloud service providers such as individuals or software developers with cloud resource development capabilities can provide cloud services to users. Users obtain cloud services through the Internet but do not own cloud computing resources. In other embodiments of this application, the cloud management platform can be a private cloud platform or a hybrid cloud platform, and this application does not impose any restrictions on this.
[0090] Specifically, in the example shown in Figure 1, the cloud management platform can provide an access interface (such as a user interface or application programming interface (API)). Users of the cloud management platform and cloud service providers can operate the client to remotely access the access interface to register a cloud account and password on the cloud management platform. After the cloud management platform successfully authenticates the cloud account and password, they can log in to the cloud management platform to create, manage, log in to and operate virtual machines in the cloud data center.
[0091] For example, when it is necessary to perform data planning problem solving tasks, some enterprises, organizations, or individuals can use the cloud resources of a cloud management platform to perform the task of obtaining the initial solution to the data planning problem, and obtain the corresponding initial solution from the cloud management platform, so as to perform subsequent solving tasks based on the initial solution; or, enterprises, organizations, or individuals can also purchase cloud services, and then use the cloud resources of a cloud management platform to perform the task of obtaining the initial solution to the data planning problem, obtain the corresponding initial solution, and then perform the relevant data planning problem solving tasks based on the corresponding initial solution, and obtain the corresponding solution results from the cloud management platform.
[0092] Of course, the cloud management platform can also be other types of cloud management platforms, and this application embodiment does not limit this.
[0093] In some examples, the cloud management platform can provide users with solution services and warm-up services.
[0094] Figure 2 shows an exemplary schematic diagram of a service in a cloud management platform.
[0095] The cloud management platform may include a solution service and a warm-start service. The solution service may include mathematical modeling services and mathematical programming solver services. The warm-start service may include one or more of the following: data preprocessing services, machine learning modules, or initial solution combination services.
[0096] In practical applications, users can upload business data from actual business scenarios to the solution service, and then call the solution service through the cloud management platform to build a mathematical programming model and execute the solution task for the mathematical programming model according to the optimization requirements of the specified business scenario.
[0097] If a user sends a service request to the warm-start service and receives a notification from the warm-start service confirming its provision, the user can invoke the warm-start service to obtain the target initial solution of the mathematical programming model when executing the solution task. For example, after preprocessing the information of the mathematical programming model through a data preprocessing service (such as feature reduction), multiple neural networks in the machine learning module can be used to obtain the first initial solutions for the variables corresponding to each entity. These first initial solutions can then be combined using an initial solution combination service to obtain the first target initial solution. The warm-start service then returns the first target initial solution to the solution service, allowing the user to execute the solution task for the mathematical programming model based on this solution, obtain the solution result, and output the solution result to the user. The specific implementation of the solution service and the warm-start service can be found in any of the subsequent embodiments and will not be elaborated further here.
[0098] The solution service and warm-start service can be implemented using resources from development platforms such as operations research platforms (e.g., ModelArts). Furthermore, operations research platforms can connect to storage services (e.g., Object Storage Service (OBS)). After obtaining the solution results through the solution service, users can save some or all of the business data, solution results, data planning models, and intermediate data from the solution process to the operations research platform providing the storage service for management. During storage, the relevant data can be encrypted and anonymized (e.g., with added noise) to ensure data security. In this example, the solution service, warm-start service, and storage service can be deployed on the operations research platform, which provides data storage and management.
[0099] It should be noted that the services shown in Figure 2 are only one example of the services provided by the cloud management platform, and not a limitation.
[0100] For example, in another scenario, the cloud management platform does not provide a solution service, but only a warm-start service. In this example, the user constructs a mathematical programming model through a client and sends a request to the cloud management platform's warm-start service to obtain the target initial solution for the mathematical programming model. After receiving the request, the cloud management platform can invoke the warm-start service to obtain the initial solution of the mathematical programming model and send it to the user, allowing the user to solve the mathematical programming model using the initial solution through the client.
[0101] Furthermore, in other examples provided in this application, the aforementioned solution service and / or warm-start service can be deployed as a whole in the user's server cluster; and the functional division of each service may differ from that shown in Figure 2, and the deployment methods of each service may also differ. Each service can provide services independently, or it can be embedded in other services, or multiple services can be combined and deployed; this application does not impose any restrictions on this.
[0102] Based on the aforementioned computing device cluster, referring to the system architecture shown in Figure 2, as shown in Figure 3, the method for determining the initial solution in this application embodiment may include steps 301-304.
[0103] Step 301: Obtain information about the first mathematical programming model.
[0104] In this application embodiment, there are multiple ways to construct the first mathematical programming model and to obtain information about the first mathematical programming model.
[0105] For example, the first mathematical programming model can be constructed by the user and then transmitted to the computing device cluster executing the embodiments of this application via the user's client. In this example, the user can generate the first mathematical programming model through the client and then transmit the information of the first mathematical programming model to the computing device cluster.
[0106] Alternatively, the first mathematical programming model can be pre-built by the user on a computing device cluster. For example, the user can send first business data to the computing device cluster to build the first mathematical programming model, and then use the mathematical modeling service shown in Figure 2, through the processing resources provided by the computing device cluster, to perform mathematical modeling based on the first business data and generate the first mathematical programming model. In this example, the computing device cluster can obtain information about the first mathematical programming model based on the generated model.
[0107] The first mathematical programming model can be constructed based on the first business data of a certain business.
[0108] The application area and specific business content of this service are not limited here.
[0109] For example, this service can be used in application areas such as logistics, supply chain, energy, finance, and engineering. In the logistics field, for instance, it could be a transportation service, while in the energy field, it could be an energy production service.
[0110] The first business data is used to describe the business; for example, it may describe data about one or more business parameters in the business.
[0111] The specific method for constructing the first mathematical programming model based on the first business data can be determined according to the type of mathematical programming model, etc. It can adopt the existing or future development methods of mathematical programming models, and is not limited here.
[0112] The information for the first mathematical programming model may include the objective function and constraints of the first mathematical programming model, as well as descriptive information about the first mathematical programming model.
[0113] The descriptive information of the first mathematical programming model is used to describe the scenario information of the first mathematical programming model, so as to describe the business meaning of the first mathematical programming model in the actual business scenario.
[0114] For example, the descriptive information of the first mathematical programming model may include one or more of the following:
[0115] The first mathematical programming model contains descriptions of the variables and constraints.
[0116] For example, the descriptive information of the variables in the first mathematical programming model is used to describe the business meaning of the variables in the first mathematical programming model.
[0117] For example, if the first mathematical programming model is used to solve the power generation planning problem of generator sets, then the multiple entities associated with the first mathematical programming model can be multiple generators, namely generator 1, generator 2 and generator 3.
[0118] The variables in the first mathematical programming model include p1, and the description information of the variables in the first mathematical programming model can describe p1 as the maximum power generation of generator 1.
[0119] It is evident that the descriptive information of the variables in the first mathematical programming model can describe the specific business meaning of the variables (such as physical meaning), thereby identifying the entities associated with the variables.
[0120] The description information of the constraints of the first mathematical programming model is used to describe the business meaning of the constraints of the first mathematical programming model. For example, it describes which aspects of which entities in the actual business scenario are specifically constrained by the constraints of the first mathematical programming model.
[0121] Step 302: Based on the multiple entities associated with the first mathematical programming model, split the information of the first mathematical programming model to obtain the first entity information of each entity in the multiple entities regarding the first mathematical programming model.
[0122] In this embodiment of the application, the first mathematical programming model can be associated with multiple entities.
[0123] Any entity can be of multiple types. For example, any entity can be an object of a certain type in space in the first mathematical programming model, such as a physical entity like a generator; or, any entity can be an abstract entity, and the type of entity is not limited here.
[0124] In this embodiment of the application, among the different entities associated with the first mathematical programming model, any two different entities can be different entities of the same type in space, or any two different entities can be entities of different types.
[0125] For example, if the first mathematical programming model is used to solve the power generation planning problem of generator sets, then the multiple entities associated with the first mathematical programming model can be multiple generators, such as generator 1, generator 2 and generator 3; or, the multiple entities associated with the first mathematical programming model can be multiple types of generators, such as wind power generators, solar power generators and hydropower generators.
[0126] In this embodiment of the application, the information of the first mathematical programming model can be split according to the multiple entities associated with the first mathematical programming model.
[0127] The following example illustrates how information in the first mathematical programming model can be split. It can be understood that this splitting method may include one or more combinations of the following splitting methods.
[0128] 1. The information of the first mathematical programming model includes the descriptive information of the variables in the first mathematical programming model. Therefore, the variables in the first mathematical programming model can be decomposed according to the entities associated with the descriptive information of the variables.
[0129] For example, in one example, the variables of the first mathematical programming model include p1, and the descriptive information of the variables of the first mathematical programming model can describe p1 as the maximum power generation of generator 1.
[0130] Therefore, based on the description information of the variables in the first mathematical programming model, it can be determined that the first entity information of the generator 1 entity with respect to the first mathematical programming model can include the description information of the variable p1 in the first mathematical programming model.
[0131] Referring to this method, the descriptive information of one or more variables in the first mathematical programming model can be divided, so that the descriptive information of one or more variables in the first mathematical programming model can be divided into the first entity information of each entity about the first mathematical programming model, so that the first entity information of an entity includes the descriptive information of the variables associated with that entity in the first mathematical programming model.
[0132] 2. The information of the first mathematical programming model includes the description information of the constraints of the first mathematical programming model. Therefore, the constraints of the first mathematical programming model can be decomposed according to the entities associated with the description information of the constraints.
[0133] For example, in one instance, the constraints of the first mathematical programming model may specifically include constraints A, B, C, D, and E.
[0134] Among them, the description information of constraint A indicates that constraint A is specifically used to constrain the load balancing of the power generation system including generator 1, generator 2 and generator 3; the description information of constraint B indicates that constraint B is specifically used to describe the spinning reserve requirements of the power generation system; the description information of constraint C indicates that constraint C is specifically used to constrain the transmission line capacity, and constraint C can be considered a safety constraint; the description information of constraint D indicates that constraint D is specifically used to constrain the power generation of each generator, that is, constraint D can include multiple constraints, which are used to constrain the power generation of different generators respectively; and the description information of constraint E indicates that constraint E is specifically used to constrain the ramp rate of each generator, that is, constraint E can include multiple constraints, which are used to constrain the ramp rate of different generators respectively.
[0135] As can be seen in this example, based on the description information of each constraint AE in the first mathematical programming model, it can be determined that constraints A, B, and C are system constraints of the power generation system, and any one of constraints A, B, and C is associated with multiple entities.
[0136] Constraints D and E are entity-related constraints, and each constraint in D or E contains only one entity. Therefore, based on the constraint description information of the first mathematical programming model, it can be determined that the first entity information of the generator 1 entity with respect to the first mathematical programming model can include the constraint description information of the generator 1 in constraint D of the first mathematical programming model (specifically, the constraint in constraint D that constrains the power generation of generator 1), and the constraint description information of the generator 1 in constraint E of the first mathematical programming model (specifically, the constraint in constraint E that constrains the acceleration and deceleration rates of generator 1).
[0137] Referring to this method, the descriptive information of one or more constraints of the first mathematical programming model can be divided, so that the descriptive information of one or more constraints of the first mathematical programming model can be divided into the first entity information of each entity with respect to the first mathematical programming model, thereby making the first entity information of an entity include the descriptive information of the constraints associated with that entity in the first mathematical programming model.
[0138] As can be seen, in some embodiments, taking one entity from a plurality of entities as an example, the first entity information of that entity includes at least one of the following:
[0139] The first mathematical programming model contains descriptions of the variables associated with an entity and the constraints associated with an entity.
[0140] Step 303: Through the neural network corresponding to each entity, perform the first inference on the first entity information of each entity to obtain the first initial solution of the variables associated with each entity in the first mathematical programming model.
[0141] In the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and the output of a neural network includes the first initial solution of the variables associated with the entity corresponding to the neural network.
[0142] In this embodiment, multiple entities may correspond to multiple neural networks. These multiple neural networks may be trained neural networks.
[0143] In these multiple neural networks, the structures of the different neural networks can be the same or different. For example, in one example, the different neural networks can be prediction models with the same structure, but the parameters such as the weights included may differ based on their respective training processes.
[0144] In this embodiment of the application, considering that in scenarios such as sequential optimization of identically distributed mathematical programming problems, the characteristics of entities do not change substantially between a series of identical problems and usually have correlations such as sustainability, it is possible to predict the variables corresponding to different entities based on their respective characteristics.
[0145] Based on this, in the embodiments of this application, multiple neural networks corresponding to multiple entities can be obtained. Furthermore, the information of the mathematical programming model can be split according to different entities, and the initial solutions of the variables corresponding to different entities in the mathematical programming model can be predicted separately through the neural networks corresponding to each entity. This divides the task of predicting the initial solutions of the variables in the mathematical programming model into multiple subtasks, which are then executed separately by multiple neural networks, for example, in parallel, to efficiently and accurately obtain suitable initial solutions for the mathematical programming model, thereby improving the solution speed of the mathematical programming model.
[0146] In this embodiment of the application, the correspondence between the neural network and the entity can also be in various forms.
[0147] Specifically, in some embodiments, different neural networks correspond to different entities, or different neural networks correspond to different types of entities.
[0148] For example, in one instance, a first mathematical programming model is used to solve the power generation planning problem of a generator set. The multiple entities associated with the first mathematical programming model can be multiple generators, such as generator 1, generator 2, and generator 3.
[0149] In this example, different neural networks correspond to different entities. Specifically, the multiple neural networks may include neural network 11, neural network 12, and neural network 13. Neural network 11 corresponds to generator 1 and is specifically used to process the first entity information of generator 1 to obtain the first initial solution of the variables associated with generator 1; neural network 12 corresponds to generator 2 and is specifically used to process the first entity information of generator 2 to obtain the first initial solution of the variables associated with generator 2; while neural network 13 corresponds to generator 3 and is specifically used to process the first entity information of generator 3 to obtain the first initial solution of the variables associated with generator 3.
[0150] Alternatively, the multiple entities associated with the first mathematical programming model can be multiple types of generators.
[0151] For example, in one instance, multiple entities include wind power generators, solar power generators, and hydropower generators.
[0152] In this example, different neural networks correspond to different types of entities. Specifically, multiple neural networks may include neural network 21, neural network 22, and neural network 23. Neural network 21 corresponds to a wind turbine generator, specifically used to process the first entity information of the wind turbine generator to obtain the first initial solution of the variables associated with the wind turbine generator; wherein the wind turbine generator may specifically include one or more generators. Neural network 22 corresponds to a solar power generator, specifically used to process the first entity information of the solar power generator to obtain the first initial solution of the variables associated with the solar power generator; wherein the solar power generator may specifically include one or more generators. Neural network 23 corresponds to a hydroelectric generator, specifically used to process the first entity information of the hydroelectric generator to obtain the first initial solution of the variables associated with the hydroelectric generator; wherein the hydroelectric generator may specifically include one or more generators.
[0153] In the embodiments of this application, during the first inference, the input of any neural network includes, but is not limited to, the first entity information of the entity corresponding to a neural network.
[0154] For example, in some embodiments, the input to any neural network may further include first parameter information, which includes information about at least one business parameter associated with the first data planning model, and the first parameter information is contained in the first business data used to construct the first mathematical programming model.
[0155] The first parameter information may include at least one business parameter from the first business data, or it may include all business parameters from the first business data. Therefore, this first parameter information can describe the current business scenario, enabling the neural network to identify the characteristics of the current business scenario and thus infer a suitable initial solution for the current business scenario.
[0156] The specific details of the first parameter information, as well as the relevant scheme for the neural network to perform inference based on the first parameter information and the first entity information, can be found in the detailed description of the subsequent related embodiments, and will not be repeated here.
[0157] During inference, the specific data format of the first entity information and / or first parameter information, etc., which serve as input data to the neural network, can vary and is not limited here. For example, the first entity information and / or first parameter information can be input into the neural network in the form of natural language, or it can be input into the neural network after encoding processing such as word embedding. Furthermore, in some examples, the first entity information and / or first parameter information can be subjected to feature dimensionality reduction before being input into the neural network.
[0158] For example, in some embodiments, the first parameter information included in the input of a neural network may specifically be the first parameter information after feature dimensionality reduction, which is obtained by performing feature dimensionality reduction on the first parameter information.
[0159] In this application embodiment, there can be a variety of specific methods for feature dimensionality reduction. For example, specific methods for feature dimensionality reduction can include principal component analysis (PCA), linear discriminant analysis (LDA), or feature selection methods such as filtering, wrapping, and embedding.
[0160] The following section uses principal component analysis as an example to describe the specific method for feature dimensionality reduction of the first parameter information.
[0161] For example, if the first parameter information involves m business parameters, and the data of each business parameter includes 192 dimensions, then principal component analysis can be used to reduce the dimensionality of the data of each business parameter to obtain K-dimensional features, where K is less than 192. Furthermore, after dimensionality reduction, the overall mapping error is set to be less than a threshold θ. Then, the feature matrix of the first parameter information is x. m×192 Let x be the equivalent of K-dimensional features, where the K-dimensional features must satisfy the following formula:
[0162] Where, x (i) Let i be the feature matrix of the business parameter i. Let be the feature matrix of the K-dimensional features of the business parameter i.
[0163] In the example shown in Figure 2, the first parameter information can be dimensionality reduced by a data preprocessing service to obtain the first parameter information after dimensionality reduction. The first parameter information after dimensionality reduction is then input into the machine learning module as the input to the multiple neural networks called by the machine learning module.
[0164] In this embodiment, the first parameter information can be dimensionality reduced to use a more concentrated dimension to represent the first parameter information, so that the key information of the first parameter information is condensed into data with a smaller dimension, thereby reducing the training and computational overhead of the neural network, reducing resource consumption, and improving the processing efficiency of the neural network.
[0165] Furthermore, in some embodiments, considering that the amount of data for the description information of variables and / or constraints in the first entity information is usually small, the first entity information may not need to undergo feature dimensionality reduction before being input into the neural network. Of course, in other embodiments, feature dimensionality reduction can be performed on the first entity information before it is input into the neural network.
[0166] In this embodiment, the first parameter information can be used as the input of each neural network. In this way, each neural network can not only extract the entity feature information of the corresponding entity, but also extract the business scenario information described by the first parameter information, thereby determining a suitable initial solution for the variables of the corresponding entity in the current business scenario.
[0167] After determining the inputs for each neural network, the first inference operation can be performed by each neural network based on its respective input to obtain output data. Specifically, the output of any neural network includes the first initial solution of the variables associated with the entity corresponding to that neural network.
[0168] Step 304: Obtain the first objective initial solution of the first mathematical programming model based on the first initial solution of the variables associated with each entity.
[0169] The initial solution of the first objective is used to solve the first mathematical programming model.
[0170] In this embodiment, the first initial solutions of the variables associated with each entity can be combined to obtain the first initial solutions of the variables associated with all entities, thereby obtaining the complete first target initial solution required to solve the first mathematical programming model. For example, neural network 1 can obtain the first initial solutions of the variables p1, p2, and p3 associated with entity 1, while neural network 2 can obtain the first initial solutions of the variables t1, t2, and t3 associated with entity 2. Since all variables of the first mathematical programming model include p1, p2, and p3, as well as t1, t2, and t3, combining the first initial solutions of variables p1, p2, and p3 with the first initial solutions of variables t1, t2, and t3 yields the first target initial solution of the first mathematical programming model.
[0171] After obtaining the initial solution to the first objective, the initial solution to the first objective can be output to the user, so that the user can solve the first mathematical programming model through the client based on the initial solution to the first objective and obtain the solution result.
[0172] Alternatively, as shown in the example in Figure 2, the computing device cluster includes a warm-start service and a solution service. After obtaining the first initial solution to the objective through the warm-start service, the first initial solution to the objective can be passed to the solution service. The solution service can then solve the first mathematical programming model based on the first initial solution to obtain the solution result, which is then output to the user.
[0173] Figure 4 shows an exemplary solution process diagram of an embodiment of this application.
[0174] Users can input user data into the solution service, which may include first parameter information (i.e., information about at least one business parameter). If, based on pre-configuration (e.g., user selection or default configuration), it is determined that the first parameter information from the user data can be used for the warm-start service, then the first parameter information can be passed to the warm-start service.
[0175] The mathematical modeling service in the solution service can model based on user data to obtain a first mathematical programming model. Specifically, it can include the first mathematical programming model and its descriptive information, such as the descriptive information of variables and constraints, to describe the business meaning of the variables and constraints in the first mathematical programming model.
[0176] After obtaining the first mathematical programming model, if it is determined from the pre-configuration that the information of the first mathematical programming model can be provided for the hot start service, then the information of the first mathematical programming model can be passed to the hot start service.
[0177] After receiving the first parameter information, the warm-start service can perform feature dimensionality reduction on the first parameter information to obtain the feature-reduced first parameter information. Furthermore, it can split the information of the first mathematical programming model according to entities to obtain the first entity information corresponding to each entity. The feature dimensionality reduction and splitting operations can be performed through the data preprocessing service.
[0178] Then, the machine learning module in the hot start service can call multiple neural networks (such as neural network 1 and neural network 2) for inference. The input of any neural network includes the first parameter information after feature dimensionality reduction and the first entity information of the entity corresponding to that neural network.
[0179] After reasoning through each neural network to obtain the first initial solution for the variables associated with the corresponding entities of each neural network, the first initial solutions can be combined to obtain the first target initial solution. Furthermore, the warm-start service can pass the first target initial solution to the solver service for solving using the mathematical programming solver, obtaining and outputting the solution result.
[0180] In this embodiment of the application, considering that in scenarios such as sequential optimization of identically distributed mathematical programming problems, the characteristics of entities do not change substantially between a series of identical problems and usually have correlations such as sustainability, it is possible to predict the variables corresponding to different entities based on their respective characteristics.
[0181] Based on this, in the embodiments of this application, multiple neural networks corresponding to multiple entities can be obtained. Furthermore, based on the multiple entities associated with the first mathematical programming problem, the information of the first mathematical programming model can be split to obtain the first entity information of each entity regarding the first mathematical programming model. Thus, different neural networks can be used to predict the first initial solutions of the relevant variables of different entities associated with the first mathematical programming model, thereby obtaining the first target initial solution of the first mathematical programming model.
[0182] In this approach, the initial solution prediction task of the variables in the first mathematical programming model is broken down into multiple subtasks, each executed by a different neural network. Since each individual neural network's prediction task only covers a subset of the variables in the first mathematical programming model, the scale of a single neural network is typically small. Furthermore, multiple neural networks can perform inference operations in parallel, enabling rapid and efficient completion of the inference task. Since each individual neural network undertakes a smaller inference task, it is easier to deduce a higher-quality initial solution. Therefore, different neural networks can accurately and efficiently complete inference based on the initial entity information of their respective entities, achieving faster inference speeds and thus efficiently obtaining the initial solution to the first objective, thereby improving the solution speed of the first mathematical programming model.
[0183] The following provides an exemplary description of the specific details of the first parameter information included in the input of the neural network in some embodiments, as well as the relevant schemes for the neural network to perform inference based on the first parameter information and the first entity information.
[0184] In this embodiment of the application, the first parameter information is included in the first business data used to construct the first mathematical programming model.
[0185] There are various ways to obtain the first business data, and no restrictions are placed here. For example, the first business data may be transmitted by the user to the computing device cluster through the client; or it may be received by the computing device cluster from other devices besides the client; or it may be pre-stored in the computing device cluster; or it may be obtained by the computing device cluster processing data such as text data, image data, voice data, tables, etc.
[0186] The first business data may include information on one or more business parameters, and at least one business parameter involved in the first parameter information may include some or all of the business parameters in the first business data.
[0187] For example, taking the scenario of sequentially optimizing identically distributed mathematical programming problems as an example, at least one business parameter associated with the mathematical programming model may include static parameters and / or dynamic parameters.
[0188] The static and / or dynamic parameters associated with the mathematical programming model in the embodiments of this application are described below by way of example.
[0189] 1. Static parameters
[0190] In sequential optimization of identically distributed mathematical programming problems, it is necessary to solve the same business problem at different time points within a certain period. In this scenario, the business parameters involved in the business problem that have the same data at different time points are static parameters.
[0191] In other words, in sequential optimization of identically distributed mathematical programming problems, the business parameters whose data remain unchanged at different time points within a certain period are called static parameters. The data of static parameters can be considered as the static data corresponding to the mathematical programming model.
[0192] For example, as shown in Figure 5, an exemplary service is the generator set power generation planning service, which requires predicting the generator set power generation plan and solving the safety-constrained unit combination problem.
[0193] Specifically, in this operation, a mathematical programming model needs to be constructed each day based on the available power generation resources and demand, and a suitable power generation plan needs to be predicted based on this model. Therefore, this operation conforms to the characteristics of a sequential optimization mathematical programming problem with identical distributions.
[0194] As shown in Figure 5, among the business parameters involved in the safety-constrained unit combination problem, the specific values of business parameters such as power generation, transmission, and transformation maintenance plans, provincial power transmission plans, power generation system parameters, and network topology usually remain unchanged between different time periods (e.g., different dates in this example). Therefore, these business parameters can be considered static parameters. For example, power generation, transmission, and transformation refers to the process of transmitting electrical energy from power plants to substations in various locations, and then distributing the energy to users in those locations. The business parameters involved in the power generation, transmission, and transformation maintenance plan can include business parameters such as the amount of electrical energy the power generation system needs to send to the substations. In many scenarios, this parameter usually remains stable; therefore, this business parameter can be considered a static parameter.
[0195] 2. Dynamic parameters
[0196] In sequential optimization of identically distributed mathematical programming problems, the business parameters involved in the problem that have different data at different time points are called dynamic parameters. In other words, in sequential optimization of identically distributed mathematical programming problems, the business parameters whose data change dynamically at different time points within a certain period are called static parameters. The data of dynamic parameters can be considered as the dynamic data corresponding to the mathematical programming model.
[0197] For example, in the example shown in Figure 5, among the operational parameters involved in the safety-constrained unit combination problem, the specific values of operational parameters such as the load forecast information of the power generation system, the stability control section limits, and the power plant quantity and price information will change with the time period (e.g., different dates). Therefore, this operational parameter can be considered a dynamic parameter. For example, when a power grid transmits electricity, the power flow of several transmission channels will affect each other. The grid dispatch defines the combination of these transmission channels as a section, and each section corresponds to a transmission limit. The operational parameters involved in the stability control section limits can include operational parameters such as the transmission limit of each section. Because this operational parameter is affected by factors such as load, transmission capacity, and transmission distance, in many scenarios, this operational parameter will change over time; that is, the data corresponding to different time points is different. Therefore, this operational parameter can be considered a dynamic parameter.
[0198] In this embodiment of the application, there can be multiple scenarios for different time points, which are determined according to the actual business scenario.
[0199] For example, in the example shown in Figure 5, different time points can be located on different dates, describing either the date itself or a specific moment within that date. In other examples, different time points can be located in different months, different years, etc.
[0200] As can be seen, a time node can simply indicate the moment in which it occurs; specifically, the data corresponding to a certain time node can be the data at that moment. Alternatively, a time node can also indicate the time period in which it occurs; specifically, the data corresponding to a certain time node can be the data corresponding to the time period (e.g., the date) in which it occurs.
[0201] In some embodiments, the first business data is the business data corresponding to the business at a first time node; the first parameter information includes the first dynamic data, which includes the data of the dynamic parameters in the first business data. The data of the dynamic parameters corresponding to the first time node is different from the data of the dynamic parameters corresponding to the second time node, and the second time node is different from the first time node.
[0202] In scenarios such as sequential optimization of identically distributed mathematical programming problems, it is necessary to solve the same business problem at different points in time within a period of time. This requires constructing separate mathematical programming models for each time point. However, since the data corresponding to the dynamic parameters changes dynamically with each time point, this data is the key reason for the differences in the mathematical programming models at different time points. Specifically, the data corresponding to the dynamic parameters at different time points can result in mathematical programming models with the same structure but different coefficients (e.g., coefficient matrices).
[0203] It is evident that in scenarios such as sequential optimization of identically distributed mathematical programming problems, the differences between mathematical programming models at different time points are usually caused by dynamic data. That is to say, the data corresponding to the dynamic parameters at different time points (i.e., dynamic data) can effectively reflect the scenario characteristics of mathematical programming models at different time points in scenarios such as sequential optimization of identically distributed mathematical programming problems, and will affect the solution results of mathematical programming models at different time points.
[0204] Based on this, in the embodiments of this application, when performing the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and also includes the first dynamic data (specifically including the dynamic parameter data in the first business data).
[0205] Among them, the first entity information can fully reflect the characteristics of the entity, while the first dynamic data can fully reflect the scene differences between the current first time point and other time points. Therefore, through the neural network, based on the first entity information and the first dynamic data, the characteristics of the scene at the current first time point and the features of the associated entities can be fully captured, thereby fully inferring the appropriate first initial solution for the variables associated with the entity corresponding to the neural network in the current scene.
[0206] The following section uses the second time point as an example to illustrate the characteristics of the solution scenario for sequential optimization of identically distributed mathematical programming problems.
[0207] In some embodiments, the method further includes:
[0208] The second dynamic data is obtained from the second business data corresponding to the second time node. The second business data is used to construct the second mathematical programming model. The second dynamic data includes the dynamic parameter data in the second business data. The second mathematical programming model has the same structure as the first mathematical programming model, but the coefficients in the second mathematical programming model are different from the coefficients in the first mathematical programming model.
[0209] Based on multiple entities, the information of the second mathematical programming model is split to obtain the second entity information of each entity in the multiple entities regarding the second mathematical programming model;
[0210] By using the neural network corresponding to each entity, a second inference is performed on the second dynamic data and the second entity information of each entity to obtain the second initial solution of the variables associated with each entity in the second mathematical programming model. When performing the second inference, the input of a neural network includes the second dynamic data and the second entity information of the entity corresponding to the neural network, and the output of a neural network includes the second initial solution of the variables associated with the entity corresponding to the neural network.
[0211] Based on the second initial solution of the variables associated with each entity, the second objective initial solution of the second mathematical programming model is obtained, and the second objective initial solution is used to solve the second mathematical programming model.
[0212] The specific implementation of the steps in this application embodiment can refer to the specific implementation of the steps corresponding to the first time node in any of the above embodiments, that is, refer to the specific implementation of the generation process of the first objective initial solution of the first mathematical programming model in any of the above embodiments. For example, the second mathematical programming model can refer to the relevant description of the first mathematical programming model, and the second dynamic data can refer to the relevant description of the first dynamic data, which will not be repeated here.
[0213] In this embodiment of the application, the difference between the second dynamic data and the first dynamic data is the key reason why the second mathematical programming model and the first mathematical programming model have the same structure but different coefficients (e.g., coefficient matrix).
[0214] It is evident that in scenarios such as sequential optimization of identically distributed mathematical programming problems, the differences between mathematical programming models at different time points are usually caused by dynamic data. That is to say, the data corresponding to the dynamic parameters at different time points (i.e., dynamic data) can effectively reflect the scenario characteristics of mathematical programming models at different time points in scenarios such as sequential optimization of identically distributed mathematical programming problems, and will affect the solution results of mathematical programming models at different time points.
[0215] Based on this, in the embodiments of this application, when performing the second reasoning, the input of a neural network includes the second entity information of the entity corresponding to the neural network, and also includes the second dynamic data.
[0216] The second entity information can fully reflect the characteristics of the entity, while the second dynamic data can fully reflect the scene differences between the second time node and other time nodes. Therefore, a neural network can be used to fully capture the characteristics of the scene at the second time node and the features of the associated entities based on the first entity information and the second dynamic data, thereby fully inferring the appropriate second initial solution for the variables associated with the entity corresponding to the neural network in the scene corresponding to the second time node.
[0217] In this embodiment, the neural network used for inference to obtain an initial solution can be a trained network. This neural network can be trained in a cluster of computing devices, or it can be trained on other devices and then transmitted and deployed to the cluster of computing devices.
[0218] In this embodiment, multiple neural networks corresponding to multiple entities can be trained jointly or separately, and this embodiment does not impose any restrictions on this.
[0219] The following example uses a neural network corresponding to any entity to illustrate the training process of that neural network.
[0220] In some embodiments, for a certain neural network, the neural network to be trained can be trained according to the dataset, and the neural network can be obtained after training.
[0221] The method of collecting the dataset is not limited here. For example, the dataset can be obtained from an open-source dataset, or it can be generated by manually collecting preset business data corresponding to preset mathematical programming models in various scenarios.
[0222] The dataset includes one or more training data sets and the label for each training data set.
[0223] The training data may include, within the information of a preset mathematical programming model, preset entity information of the entity corresponding to the neural network to be trained, and may also include information of at least one preset business parameter (e.g., preset dynamic parameter) corresponding to the preset mathematical programming model. In some examples, the information of the at least one preset business parameter may be information obtained after feature dimensionality reduction. The labels of the training data may include preset solutions of variables associated with the entity corresponding to the neural network to be trained, within the variables of the preset mathematical programming model.
[0224] The training process may include multiple iterations. In each iteration, the parameters of the neural network to be trained can be updated based on the loss function and backpropagation. The specific form of this loss function is not limited here.
[0225] In some embodiments, a neural network is obtained by training a neural network to be trained based on a loss function, the loss function including a first loss term and / or a second loss term, the first loss term being used to evaluate the accuracy of the output data of a neural network to be trained, and the second loss term being used to evaluate the degree of violation of the output data by the preset constraints associated with the output data, the preset constraints being the constraints of the preset mathematical programming model corresponding to the output data that are associated with the entity corresponding to the neural network to be trained.
[0226] For example, the first loss term can calculate the difference between the output data of the neural network to be trained and the labels of the training data, such as calculating the mean squared error (MSE) or cross entropy between the output data of the neural network to be trained and the labels of the training data. Based on the first loss term, through iterative training, the output data of the neural network to be trained tends to output the correct initial solution.
[0227] The second loss term assesses the degree to which the output data violates the predefined constraints associated with it; that is, it evaluates whether the output data is within the corresponding feasible region. Based on the second loss term, iterative training makes the output data of the neural network being trained more likely to be within the feasible region, thus making the initial solution output by the trained neural network close to or conform to the requirements of the feasible region, thereby improving the solution speed.
[0228] For example, taking the d-th neural network in a set of multiple neural networks as an example, the label of the training data (i.e., the preset optimal solution) is y. d The output data of the neural network to be trained during the training process is y′ d, and y d The relevant preset constraint is a j y pd =b j j = 1, 2, ..., s, where s is the total number of preset constraints, and the loss function corresponding to the neural network d is Loss. d for:
[0229] in, The first loss term is used to evaluate the difference between the output data and the labels. The second loss term is used to assess the degree to which the output data violates the preset constraints associated with the output data.
[0230] Referring to this loss function, multiple neural networks can be trained in parallel through backpropagation based on the training data and the labels of the training data. The training is completed after the number of training iterations reaches a preset number and / or the loss value converges to the desired state, so as to obtain multiple neural networks for the inference stage in practical applications.
[0231] The following specific example illustrates a particular implementation of an embodiment of this application.
[0232] The example shown in Figure 5 involves the power generation planning of generator sets, which requires solving a safety-constrained unit combination problem.
[0233] Specifically, safety-constrained unit combination is a process of developing a power generation plan based on load forecasts, photovoltaic power generation forecasts, and wind power generation forecasts for various time periods within the study period. The goal is to minimize the total cost of the power generation system (including generation cost, start-up cost, and / or shutdown cost). This plan includes unit start-up and shutdown methods and unit output. Constraints include load balance, system reserve requirements, (upper and lower limits of unit output, minimum continuous start-up and shutdown time, line power flow constraints based on ramp rate, cross-sectional power limits, and node voltage). Safety-constrained unit combination is the core element in determining the power generation plan; it enables decisions on unit start-up and shutdown and power output, achieving structural optimization of power generation resources.
[0234] In practical applications, the process of solving for safety-constrained unit combinations conforms to a sequential optimization mathematical programming problem with identical distributions.
[0235] As shown in the example in Figure 5, the power system operator needs to formulate a power generation schedule for the generator units every day, which means solving a safety-constrained unit combination problem once a day. In this process, the modeling method of the safety-constrained unit combination problem remains unchanged, and the power generation system parameters such as the number, distribution, and power limits of the units remain unchanged, while load forecasting information and power plant quantity and price information are updated daily and follow a regular pattern.
[0236] Therefore, as shown in the example in Figure 5, a mathematical programming model can be constructed on a given day based on the static and dynamic parameters of that day, and then solved to obtain the numerical solution of the variables in the mathematical programming model.
[0237] In the example shown in Figure 5, the variables in this mathematical programming model describe the unit switch combinations, specifically the switching of each generator. The variable describing the switching of any generator can be a binary variable, describing the opening and closing of the corresponding switch. In this way, the switch combinations of the scheduling unit can be determined based on the solution results to control the generators for optimal power generation.
[0238] Specifically, as shown in the example in Figure 5, information on the static and dynamic parameters included in the solution process for the safety-constrained unit combination is illustrated.
[0239] The static parameters include power generation, transmission, and transformation maintenance plans, provincial power transmission plans, as well as power generation system parameters and network topology. The dynamic parameters include load forecasting information for the power generation system, stability control section limits, and power plant quantity and price information.
[0240] In the specific scheme for determining the initial solution of the objective corresponding to the example shown in Figure 5, dynamic data can be obtained for the safety-constrained unit combination problem. For example, this dynamic data includes the load power value and reserve power demand value of the load system at a 15-minute granularity within a day. It can be seen that the dimension of this dynamic data is (24*60 / 15)*2 = 192 dimensions. Then, feature reduction can be performed on this dynamic data. Specifically, principal component analysis can be used to reduce the dimensionality of the 192-dimensional dynamic data, obtaining K-dimensional features as the dynamic data after feature reduction. Specific schemes for feature reduction using principal component analysis can be found in the relevant examples of feature reduction in the above embodiments, and will not be repeated here.
[0241] Furthermore, in this example, the variables and constraints of the mathematical programming model corresponding to the safety-constrained unit combination problem can be decomposed according to the entities to obtain the entity information corresponding to each entity.
[0242] For example, the variables in this mathematical programming model include variables describing the switching of each generator, which are binary variables. In this example, entities are spatially independent objects that can exist in multiple quantities. Specifically, in this example, an entity can be a generator, and multiple entities can be multiple generators in a generator set, for example, generator 1, generator 2, and generator 3. Based on different generators, the variables and their descriptive information in this mathematical programming model can be categorized. For example, the variable describing the switching of generator 1 and its descriptive information belong to the entity information corresponding to generator 1. Following this method, the entity information corresponding to generator 2 and generator 3 can be obtained.
[0243] Furthermore, the constraints and their descriptive information of the mathematical programming model can be divided according to different generators. For example, the constraints related to generator units in the mathematical programming model can also be divided in a similar way. Constraints such as ramp constraints, start-up and shutdown time constraints, and generator state constraints are related to generator units and can be divided according to different generators to obtain the constraints corresponding to each generator, so as to be included in the entity information of each generator. However, the system constraints between the power generation system, such as load balancing and system reserve requirements, cannot be decoupled and split based on different generators, so they do not need to be included in the entity information of each generator.
[0244] After obtaining the entity information corresponding to each entity and the dynamic data after feature dimensionality reduction, inference can be performed through multiple neural networks as shown in Figure 6.
[0245] In the example shown in Figure 6, three neural networks can be included: neural network 1 corresponding to generator 1, neural network 2 corresponding to generator 2, and neural network 3 corresponding to generator 3. During inference, the input of each neural network includes entity information of the entity corresponding to that neural network and dynamic data after feature dimensionality reduction. For example, the example shown in Figure 6 specifically illustrates that the input of neural network 1 includes entity information corresponding to generator 1 and dynamic data after feature dimensionality reduction.
[0246] In this way, the first initial solution P1 (1110) corresponding to variable 1 describing the switch of generator 1 can be obtained through the reasoning of neural network 1, the first initial solution P2 (000) corresponding to variable 2 describing the switch of generator 2 can be obtained through the reasoning of neural network 2, and the first initial solution P3 (1100) corresponding to variable 3 describing the switch of generator 3 can be obtained through the reasoning of neural network 3.
[0247] By combining P1, P2, and P3, the first objective initial solution of the mathematical programming model can be obtained, which can then be used to solve the mathematical programming model.
[0248] By employing the aforementioned multiple neural networks, neural network training methods, and inference techniques, we can effectively reduce the solution time and improve solution efficiency while ensuring the acquisition of a suitable and accurate initial solution for the target.
[0249] For example, in a specific exemplary scenario, the performance of obtaining an initial solution using any of the above embodiments can be compared with that of obtaining an initial solution using existing methods to solve a mathematical programming model.
[0250] Specifically, in this exemplary scenario, training data for the safety-constrained unit combination problem can be generated using the UnitCommitment.jl open-source package based on the MatPower118 public dataset of the power system. The training data consists of approximately 100,000 continuous variables, 46,000 0-1 binary variables, and 170,000 rows of constraints for each mathematical programming problem.
[0251] In actual experiments, four methods were included, specifically a solution scheme without hot start, comparative experiment one, comparative experiment two, and a scheme using any of the method embodiments of this application.
[0252] Specifically, Comparative Experiment 1 involves using the k-nearest neighbor (KNN) clustering method to predict the initial target solution of the variables in a mathematical programming model for a warm start, thereby solving the mathematical programming model. Comparative Experiment 2 involves using a traditional neural network training method to obtain a single neural network for uniformly predicting the initial target solution of the variables, without considering constraints in the loss function, and without obtaining multiple neural networks for inference based on the entities, in the absence of information about the mathematical programming model (e.g., variable and constraint information), for a warm start, thereby solving the mathematical programming model.
[0253] In this example, the prediction accuracy and solution time of the variables are considered separately. The prediction accuracy refers to the accuracy of the initial solution obtained through prediction for hot start, and the solution time is calculated using the shifted geometric mean (SGM).
[0254] Table 1 lists the experimental results of various methods.
[0255] Table 1: Experimental Results
[0256] As can be seen from Comparative Experiments 1 and 2, the prediction accuracy of the initial target solution obtained by using a neural network is higher than that obtained by the K-nearest neighbor clustering method. However, the prediction accuracy of the initial target solution is not entirely positively correlated with the solution time; the solution time corresponding to the initial target solution obtained by the K-nearest neighbor clustering method is shorter. The scheme using any embodiment of this application achieves a prediction accuracy of the initial target solution that is basically consistent with that of Comparative Experiment 2, with only minor differences, but the solution time is significantly reduced, clearly outperforming other methods. Therefore, the scheme using any embodiment of this application can effectively reduce the solution time and improve the solution efficiency while obtaining a relatively suitable and accurate initial target solution.
[0257] The above describes the method for determining the initial solution provided by the embodiments of this application from multiple aspects. The following describes the apparatus for determining the initial solution provided by the embodiments of this application in conjunction with the accompanying drawings.
[0258] As shown in Figure 7, this embodiment of the application provides a device 70 for determining an initial solution, the device 70 for determining an initial solution includes:
[0259] Module 701 is used to obtain information about the first mathematical programming model;
[0260] Processing module 702 is used for:
[0261] Based on the multiple entities associated with the first mathematical programming model, the information of the first mathematical programming model is split to obtain the first entity information of each entity in the multiple entities regarding the first mathematical programming model;
[0262] By using the neural network corresponding to each entity, the first entity information of each entity is used for the first reasoning to obtain the first initial solution of the variables associated with each entity in the first mathematical programming model. In the first reasoning, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and the output of a neural network includes the first initial solution of the variables associated with the entity corresponding to the neural network.
[0263] Based on the first initial solution of the variables associated with each entity, the first objective initial solution of the first mathematical programming model is obtained, and the first objective initial solution is used to solve the first mathematical programming model.
[0264] Alternatively, different neural networks may correspond to different entities, or different neural networks may correspond to different types of entities.
[0265] Optionally, the information in the first mathematical programming model includes at least one of the following:
[0266] Description information of variables and constraints in the first mathematical programming model;
[0267] The first entity information of an entity includes at least one of the following:
[0268] The first mathematical programming model contains descriptions of the variables associated with an entity and the constraints associated with an entity.
[0269] Optionally, during the first inference, the input of a neural network also includes first parameter information, which includes information about at least one business parameter associated with the first data planning model. The first parameter information is contained in the first business data used to construct the first mathematical programming model.
[0270] Optionally, during the first inference, the first parameter information included in the input of a neural network is the first parameter information after feature dimensionality reduction, which is obtained by performing feature dimensionality reduction on the first parameter information.
[0271] Optionally, the first business data is the business data corresponding to the business at the first time point;
[0272] The first parameter information includes the first dynamic data, which includes the dynamic parameter data in the first business data. The data corresponding to the dynamic parameter at the first time node is different from the data corresponding to the dynamic parameter at the second time node, and the second time node is different from the first time node.
[0273] Optionally, the acquisition module 701 is further configured to: acquire second dynamic data from the second business data corresponding to the second time node of the business, the second business data being used to construct a second mathematical programming model, the second dynamic data including the dynamic parameter data in the second business data, the second mathematical programming model having the same structure as the first mathematical programming model, and the coefficients in the second mathematical programming model being different from the coefficients in the first mathematical programming model;
[0274] Processing module 702 is also used for:
[0275] Based on multiple entities, the information of the second mathematical programming model is split to obtain the second entity information of each entity in the multiple entities regarding the second mathematical programming model;
[0276] By using the neural network corresponding to each entity, a second inference is performed on the second dynamic data and the second entity information of each entity to obtain the second initial solution of the variables associated with each entity in the second mathematical programming model. When performing the second inference, the input of a neural network includes the second dynamic data and the second entity information of the entity corresponding to the neural network, and the output of a neural network includes the second initial solution of the variables associated with the entity corresponding to the neural network.
[0277] Based on the second initial solution of the variables associated with each entity, the second objective initial solution of the second mathematical programming model is obtained, and the second objective initial solution is used to solve the second mathematical programming model.
[0278] Optionally, a neural network is obtained by training a neural network to be trained based on a loss function. The loss function includes a first loss term and / or a second loss term. The first loss term is used to evaluate the accuracy of the output data of a neural network to be trained, and the second loss term is used to evaluate the degree of violation of the preset constraints associated with the output data. The preset constraints are the constraints of the preset mathematical programming model corresponding to the output data that are associated with the entity corresponding to the neural network to be trained.
[0279] Both the acquisition module and the processing module can be implemented in software or hardware. For example, the implementation of the acquisition module will be described below. Similarly, the implementation methods of modules B and C can refer to the implementation method of the acquisition module.
[0280] As an example of a software functional unit, a module can include code running on a computing instance. A computing instance can include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance can be one or more. For example, a module can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region can include multiple AZs.
[0281] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0282] As an example of a hardware functional unit, an acquisition module may include at least one computing device, such as a server. Alternatively, the acquisition module may be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a neural network processing unit (NPU), a system-on-chip (SoC), an offload card, an accelerator card, or any combination thereof.
[0283] The acquisition module includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the acquisition module can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the acquisition module can be distributed within the same VPC or across multiple VPCs. These computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, GALs, DPUs, NPUs, SoCs, offloading cards, and accelerator cards.
[0284] It should be noted that, in other embodiments, the acquisition module can be used to execute any step in the method for determining the initial solution, and the processing module can be used to execute any step in the method for determining the initial solution. The steps that the acquisition module and the processing module are responsible for implementing can be specified as needed. By implementing different steps in the method for determining the initial solution through the acquisition module and the processing module respectively, all functions of the device for determining the initial solution can be realized.
[0285] This application also provides a computing device 80. As shown in FIG8, the computing device 80 includes a bus 82, a processor 84, a memory 86, and a communication interface 88. The processor 84, the memory 86, and the communication interface 88 communicate with each other via the bus 82. The computing device 80 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 80.
[0286] Bus 82 can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL), a Cache Coherent Interconnect for Accelerators (CCIX), etc. The Unified Bus is also known as the Lingqu Bus. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, only one line is used in Figure 8, but this does not indicate that there is only one bus or one type of bus. Bus 84 can include pathways for transmitting information between various components of the computing device 80 (e.g., memory 86, processor 84, communication interface 88).
[0287] The processor 84 may include any one or more computing devices such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP), an ASIC, an FPGA, a CPLD, an NPU, a SoC, an offload card, or an accelerator card.
[0288] Memory 86 may include volatile memory, such as random access memory (RAM). Memory 86 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD) or one or more of these. Furthermore, memory 86 may be implemented using storage class memory (SCM), phase change memory (PCM), or other types of storage media.
[0289] It is worth noting that the same type of storage medium can be configured in the same computing device to realize the function of memory 86, or two or more types of storage media can be configured to realize the function of memory 86. This application does not limit this.
[0290] The memory 86 stores executable program code, and the processor 84 executes the executable program code to implement the functions of the aforementioned acquisition module and processing module, thereby implementing the method for determining an initial solution applied to a computing device cluster in the above embodiments. That is, the memory 86 stores instructions for executing the method for determining an initial solution applied to a computing device cluster in the above embodiments.
[0291] The communication interface 88 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 80 and other devices or communication networks.
[0292] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0293] As shown in Figure 9, the computing device cluster includes at least one computing device 80. The memory 86 of one or more computing devices 80 in the computing device cluster may store the same instructions for executing a method to determine an initial solution.
[0294] In some possible implementations, the memory 86 of one or more computing devices 80 in the computing device cluster may also store partial instructions for executing the method of determining the initial solution. In other words, a combination of one or more computing devices 80 can jointly execute the instructions for executing the method of determining the initial solution.
[0295] It should be noted that the memories 86 in different computing devices 80 within the computing device cluster can store different instructions, each used to execute a portion of the function of the method for determining the initial solution. That is, the instructions stored in the memories 86 of different computing devices 80 can implement the functions of one or more modules in the acquisition and processing modules.
[0296] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 10 illustrates one possible implementation. As shown in Figure 10, two computing devices 80A and 80B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 86 in computing device 80A can store instructions for executing the functions of the acquisition module. Simultaneously, the memory 86 in computing device 80B can store instructions for executing the functions of the processing module. Alternatively, the memory 86 in computing device 80A can store instructions for executing part of the functions of the processing module. Simultaneously, the memory 86 in computing device 80B can store instructions for executing another part of the functions of the processing module.
[0297] It should be understood that the functions of computing device 80A shown in Figure 10 can also be performed by multiple computing devices 80. Similarly, the functions of computing device 80B can also be performed by multiple computing devices 80.
[0298] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device clusters in Figures 9 and 10. The difference is that the memory 86 of one or more computing devices 80 in this computing device cluster can store the same instructions for executing the method of determining the initial solution.
[0299] In some possible implementations, the memory 86 of one or more computing devices 80 in the computing device cluster may also store partial instructions for executing the method of determining the initial solution. In other words, a combination of one or more computing devices 80 can jointly execute the instructions for executing the method of determining the initial solution.
[0300] It should be noted that the memory 86 in different computing devices 80 within the computing device cluster can store different instructions for executing parts of the function of the method for determining the initial solution. That is, the instructions stored in the memory 86 of different computing devices 80 can implement the functions of one or more modules in the acquisition module and processing module.
[0301] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform a method for determining an initial solution.
[0302] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a method for determining an initial solution.
[0303] This application also provides a chip system including a processor for implementing the steps performed by the aforementioned computing device cluster. In one possible design, the chip system may further include a memory for storing necessary program instructions and data. This chip system may be composed of chips or may include chips and other discrete devices.
[0304] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0305] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.
[0306] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0307] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0308] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A method for determining an initial solution, characterized in that, The method includes: Obtain information from the first mathematical programming model; Based on the multiple entities associated with the first mathematical programming model, the information of the first mathematical programming model is split to obtain the first entity information of each of the multiple entities regarding the first mathematical programming model; By using the neural network corresponding to each entity, a first inference is performed on the first entity information of each entity to obtain the first initial solution of the variables associated with each entity in the first mathematical programming model. In the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and the output of a neural network includes the first initial solution of the variables associated with the entity corresponding to the neural network. Based on the first initial solution of the variable associated with each entity, a first objective initial solution of the first mathematical programming model is obtained, and the first objective initial solution is used to solve the first mathematical programming model.
2. The method according to claim 1, characterized in that, Different neural networks correspond to different entities, or different neural networks correspond to different types of entities.
3. The method according to claim 1 or 2, characterized in that, The information in the first mathematical programming model includes at least one of the following: Description information of the variables in the first mathematical programming model; description information of the constraints in the first mathematical programming model; The first entity information of one of the entities includes at least one of the following: The descriptive information of the variables associated with an entity in the first mathematical programming model, and the descriptive information of the constraints associated with an entity in the constraints of the first mathematical programming model.
4. The method according to any one of claims 1-3, characterized in that, During the first inference, the input of the neural network further includes first parameter information, which includes information on at least one business parameter associated with the first data planning model, and the first parameter information is contained in the first business data used to construct the first mathematical planning model.
5. The method according to claim 4, characterized in that, During the first inference, the first parameter information included in the input of the neural network is the first parameter information after feature dimensionality reduction, which is obtained by performing feature dimensionality reduction on the first parameter information.
6. The method according to claim 4 or 5, characterized in that, The first business data is the business data corresponding to the business at the first time node; The first parameter information includes first dynamic data, which includes dynamic parameter data in the first business data. The data corresponding to the dynamic parameter at the first time node is different from the data corresponding to the dynamic parameter at the second time node, and the second time node is different from the first time node.
7. The method according to claim 6, characterized in that, The method further includes: Second dynamic data is obtained from the second business data corresponding to the second time node of the business. The second business data is used to construct a second mathematical programming model. The second dynamic data includes the dynamic parameter data in the second business data. The second mathematical programming model has the same structure as the first mathematical programming model, and the coefficients in the second mathematical programming model are different from the coefficients in the first mathematical programming model. Based on the plurality of entities, the information of the second mathematical programming model is split to obtain second entity information of each of the plurality of entities regarding the second mathematical programming model; By using the neural network corresponding to each entity, a second inference is performed on the second dynamic data and the second entity information of each entity to obtain the second initial solution of the variables associated with each entity in the second mathematical programming model. When performing the second inference, the input of a neural network includes the second dynamic data and the second entity information of the entity corresponding to the neural network, and the output of a neural network includes the second initial solution of the variables associated with the entity corresponding to the neural network. Based on the second initial solution of the variable associated with each entity, a second objective initial solution of the second mathematical programming model is obtained, and the second objective initial solution is used to solve the second mathematical programming model.
8. The method according to any one of claims 1-7, characterized in that, A neural network is obtained by training a neural network to be trained based on a loss function, the loss function including a first loss term and / or a second loss term, the first loss term being used to evaluate the accuracy of the output data of the neural network to be trained, and the second loss term being used to evaluate the degree of violation of the output data by the preset constraints associated with the output data, the preset constraints being the constraints of the preset mathematical programming model corresponding to the output data, which are the constraints associated with the entity corresponding to the neural network to be trained.
9. An apparatus for determining an initial solution, characterized in that, include: The acquisition module is used to acquire information from the first mathematical programming model; Processing module, used for: Based on the multiple entities associated with the first mathematical programming model, the information of the first mathematical programming model is split to obtain the first entity information of each of the multiple entities regarding the first mathematical programming model; By using the neural network corresponding to each entity, a first inference is performed on the first entity information of each entity to obtain the first initial solution of the variables associated with each entity in the first mathematical programming model. In the first inference, the input of a neural network includes the first entity information of the entity corresponding to the neural network, and the output of a neural network includes the first initial solution of the variables associated with the entity corresponding to the neural network. Based on the first initial solution of the variable associated with each entity, a first objective initial solution of the first mathematical programming model is obtained, and the first objective initial solution is used to solve the first mathematical programming model.
10. The apparatus according to claim 9, characterized in that, Different neural networks correspond to different entities, or different neural networks correspond to different types of entities.
11. The apparatus according to claim 9 or 10, characterized in that, The information in the first mathematical programming model includes at least one of the following: Description information of the variables in the first mathematical programming model; description information of the constraints in the first mathematical programming model; The first entity information of one of the entities includes at least one of the following: The descriptive information of the variables associated with an entity in the first mathematical programming model, and the descriptive information of the constraints associated with an entity in the constraints of the first mathematical programming model.
12. The apparatus according to any one of claims 9-11, characterized in that, During the first inference, the input of the neural network further includes first parameter information, which includes information on at least one business parameter associated with the first data planning model, and the first parameter information is contained in the first business data used to construct the first mathematical planning model.
13. The apparatus according to claim 12, characterized in that, During the first inference, the first parameter information included in the input of the neural network is the first parameter information after feature dimensionality reduction, which is obtained by performing feature dimensionality reduction on the first parameter information.
14. The apparatus according to claim 12 or 13, characterized in that, The first business data is the business data corresponding to the business at the first time node; The first parameter information includes first dynamic data, which includes dynamic parameter data in the first business data. The data corresponding to the dynamic parameter at the first time node is different from the data corresponding to the dynamic parameter at the second time node, and the second time node is different from the first time node.
15. The apparatus according to claim 14, characterized in that, The acquisition module is further configured to: acquire second dynamic data from the second business data corresponding to the second time node of the business, the second business data being used to construct a second mathematical programming model, the second dynamic data including the dynamic parameter data in the second business data, the second mathematical programming model having the same structure as the first mathematical programming model, and the coefficients in the second mathematical programming model being different from the coefficients in the first mathematical programming model; The processing module is also used for: Based on the plurality of entities, the information of the second mathematical programming model is split to obtain second entity information of each of the plurality of entities regarding the second mathematical programming model; By using the neural network corresponding to each entity, a second inference is performed on the second dynamic data and the second entity information of each entity to obtain the second initial solution of the variables associated with each entity in the second mathematical programming model. When performing the second inference, the input of a neural network includes the second dynamic data and the second entity information of the entity corresponding to the neural network, and the output of a neural network includes the second initial solution of the variables associated with the entity corresponding to the neural network. Based on the second initial solution of the variable associated with each entity, a second objective initial solution of the second mathematical programming model is obtained, and the second objective initial solution is used to solve the second mathematical programming model.
16. The apparatus according to any one of claims 9-15, characterized in that, A neural network is obtained by training a neural network to be trained based on a loss function, the loss function including a first loss term and / or a second loss term, the first loss term being used to evaluate the accuracy of the output data of the neural network to be trained, and the second loss term being used to evaluate the degree of violation of the output data by the preset constraints associated with the output data, the preset constraints being the constraints of the preset mathematical programming model corresponding to the output data, which are the constraints associated with the entity corresponding to the neural network to be trained.
17. A computing device cluster, characterized in that, It includes at least one computing device, said at least one computing device including a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the computing device cluster to perform the method as described in any one of claims 1-8.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when run on a processor, causes the processor to perform the method as described in any one of claims 1-8.
19. A computer program product containing instructions, characterized in that, When the instructions are executed by the processor, the method described in any one of claims 1-8 is implemented.
Citation Information
Patent Citations
Object scheduling method and device, equipment and storage medium
CN114912654A
Method and device for optimizing power management system
CN115906601A
Mixed integer linear programming problem prediction solution method and system
CN116431958A
Method, system and equipment for searching solution of parallel integer linear programming problem
CN118193930A
Prediction and operational efficiency for system-wide optimization of an industrial processing system
US20230297073A1