CN117370715A - Cloud computing technology-based objective function solving method and device and computing equipment - Google Patents

Cloud computing technology-based objective function solving method and device and computing equipment Download PDF

Info

Publication number
CN117370715A
CN117370715A CN202211089130.8A CN202211089130A CN117370715A CN 117370715 A CN117370715 A CN 117370715A CN 202211089130 A CN202211089130 A CN 202211089130A CN 117370715 A CN117370715 A CN 117370715A
Authority
CN
China
Prior art keywords
model
objective function
cutting
cutting planes
planes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211089130.8A
Other languages
Chinese (zh)
Inventor
李希君
李建树
王治海
曾嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to PCT/CN2023/084031 priority Critical patent/WO2024001344A1/en
Publication of CN117370715A publication Critical patent/CN117370715A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

An objective function solving method, an objective function solving device and computing equipment based on a cloud computing technology are applied to a cloud management platform, and the method comprises the following steps: the cloud management platform obtains user data uploaded by a tenant, a first cutting plane set corresponding to the user data is determined according to a first artificial intelligent AI model, a solving result of the objective function is obtained by solving according to the first cutting plane set and the objective function included in the user data, the solving result is provided for the tenant, or the solving result is stored in a storage module of the cloud management platform, wherein the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, the M cutting planes to be selected are a plurality of constraint conditions for solving the objective function, M and N are positive integers, and N is smaller than M. According to the method, a cutting plane set aiming at an objective function in user data is selected from M cutting planes to be selected according to an artificial intelligence AI model, so that the solving performance of the objective function is improved.

Description

Cloud computing technology-based objective function solving method and device and computing equipment
The present application claims priority from the chinese patent application filed on month 07 and 01 of 2022, filed on the national intellectual property agency of China, application number 202210773918.4, application name "method and apparatus for cutting plane selection", the entire contents of which are incorporated herein by reference.
Technical Field
The present application relates to the field of cloud computing, and more particularly, to a method and apparatus for solving an objective function based on cloud computing technology, and a computing device.
Background
The operation research mainly uses mathematical methods to research the optimization approaches and schemes of various systems, and provides scientific decision basis for decision makers. Mathematical planning is an important branch of operations research, whose main research objective (or objective function) is to find the optimal solution in a given region that can minimize or maximize a certain function. To solve the mathematical programming problem, industry has developed specialized software systems, i.e., mathematical programming solvers (also simply called solvers), for linear, integer, mixed integer, and various nonlinear programming models.
The solver includes a facet module that generates a series of constraints called a set of facets to be selected. However, if all the cutting planes to be selected are added to the solving process of the objective function, the solving load is increased, so that the aim of optimally accelerating the solving cannot be achieved. The cutting plane module therefore needs to select a part of the cutting planes from the set of cutting planes to be selected and add this part of the cutting planes to the solving process of the objective function. The selection process of the cutting plane can reduce the feasible region of the objective function for searching the optimal solution, so as to achieve the effect of optimal acceleration solution.
In a related technical scheme, the selection process of the cutting plane is performed based on heuristic rules. That is, in this technical scheme, based on expert knowledge, various evaluation indexes such as target parallelism, integer support, linear programming optimal solution distance, and the like are designed. Scoring all the cutting planes to be selected, and finally selecting a part of high-score cutting planes from the cutting planes to be selected and adding the part of high-score cutting planes to the solving process of the objective function. Such methods are highly dependent on expert knowledge design, and if a set of rules is used for all objective functions to select a cutting plane from a cutting plane set to be selected, there is a problem that the rule universality is poor, and the solving performance of the corresponding objective function is not optimal. If one class of objective function is specially designed with one set of rules, there is a problem that the cost of expert design is too high, which is not acceptable in practical applications.
Therefore, how to improve the solving performance of the objective function is a technical problem to be solved.
Disclosure of Invention
The application provides a cloud computing technology-based objective function solving method, a cloud computing technology-based objective function solving device and computing equipment.
In a first aspect, a method for solving an objective function based on a cloud computing technology is provided, where the method is applied to a cloud management platform, and the method includes: the cloud management platform obtains user data uploaded by the tenant, determines a first cutting plane set corresponding to the user data according to a first artificial intelligent AI model, and obtains a solving result of the objective function by solving according to the first cutting plane set and the objective function included in the user data, so that the solving result is provided for the tenant, or the solving result is stored in a storage module of the cloud management platform. The user data comprises an objective function and constraint information, the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, the M cutting planes to be selected are a plurality of constraint conditions for solving the objective function, M and N are positive integers, and N is smaller than M.
In the above technical solution, a cutting plane set for an objective function in user data may be selected from M cutting planes to be selected according to the first AI model, and since the selected cutting plane set is determined for the objective function in the user data, the solution performance of the corresponding objective function is also optimal. Meanwhile, compared with the method that a set of rules are specially designed for the objective function through expert knowledge, the method can save expert design cost and is easy to accept in practical application.
With reference to the first aspect, in some implementations of the first aspect, the cloud management platform may further determine a first AI model input or selected by the tenant, and generate M to-be-selected cutting planes according to the objective function and constraint information. The cloud management platform may further determine a selection ratio of the cutting planes corresponding to the objective function according to the first AI model, and select N cutting planes from the M cutting planes to be selected as the first cutting plane set according to the selection ratio of the cutting planes, where input of the first AI model includes the objective function, constraint information, and the M cutting planes to be selected.
In the above technical solution, compared with the fixed selection ratio of the cutting plane, the self-adaptation can help to learn the globally optimal selection ratio of the cutting plane according to the characteristics of the objective function and the characteristics of the cutting plane to be selected, thereby achieving full search in the whole action space and avoiding sinking into the locally optimal solution.
With reference to the first aspect, in certain implementations of the first aspect, the first AI model is any one of: neural network model, decision tree model, logistic regression model.
With reference to the first aspect, in some implementations of the first aspect, the cloud management platform may further perform a dimension reduction process on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function; and/or the cloud management platform can also perform dimension reduction processing on the constraint information according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or the cloud management platform may further perform dimension reduction processing on the M planes to be selected according to the second AI model to obtain a low-dimensional representation of the M planes to be selected.
With reference to the first aspect, in certain implementations of the first aspect, the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M to-be-selected cutting planes.
In the technical scheme, the input information of the first AI model is subjected to the dimension reduction processing, so that the low-dimension representation of the input information can be obtained, and the complexity of the processing of the first AI model is reduced.
With reference to the first aspect, in certain implementations of the first aspect, the second AI model is any one of: the graph convolves the neural network with a principal component analysis model.
With reference to the first aspect, in some implementations of the first aspect, the cloud management platform may further determine an adding order of N cutting planes included in the first cutting plane set according to a third AI model, where an input of the third AI model is a selection ratio of M cutting planes to be selected and a cutting plane corresponding to the objective function.
According to the technical scheme, the N cutting planes are added according to a certain sequence by determining the adding sequence of the N cutting planes in the first cutting plane set, so that the efficiency of solving the objective function is improved.
With reference to the first aspect, in certain implementations of the first aspect, the third AI model is any one of: pointer network model, regression model, decision tree model.
With reference to the first aspect, in certain implementations of the first aspect, the cloud management platform may further provide any one or a combination of any of the following information to the tenant: the selection proportion of the cutting planes corresponding to the objective function is N cutting planes in the first cutting plane set, and the N cutting planes are added in sequence.
With reference to the first aspect, in some implementations of the first aspect, the first AI model is obtained by training the cloud management platform according to the objective function, constraint information, M planes to be selected, and a selection ratio of the planes corresponding to the objective function.
In a second aspect, there is provided an apparatus for selecting a cutting plane, the apparatus being applied to a cloud management platform, the apparatus comprising: the system comprises an acquisition module, a determination module and a solving module, wherein the acquisition module is used for acquiring user data uploaded by a tenant; the determining module is used for determining a first cutting plane set corresponding to the user data according to the first AI model, and the solving module is used for solving to obtain a solving result of the objective function according to the first cutting plane set and the objective function, and providing the solving result for the tenant and/or storing the solving result. The user data comprises an objective function and constraint information, the first cutting plane set comprises N cutting planes, the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, and the N cutting planes to be selected are a plurality of constraint conditions for solving the objective function.
With reference to the second aspect, in certain implementations of the second aspect, the apparatus further includes: the generation module is further used for determining the first AI model input or selected by the tenant; the generation module is used for generating M cutting planes to be selected according to the objective function and the constraint information; the determining module is further used for determining the selection proportion of the cutting plane corresponding to the objective function according to the first AI model; the determining module is further configured to select the first cutting plane set from the M cutting planes to be selected according to a selection ratio of the cutting planes. Wherein the inputs to the first AI model include the objective function, the constraint information, and the M planes to be selected.
With reference to the second aspect, in certain implementations of the second aspect, the first AI model is any one of: neural network model, decision tree model, logistic regression model.
With reference to the second aspect, in certain implementations of the second aspect, the apparatus further includes: the dimension reduction module is used for carrying out dimension reduction processing on the objective function according to the second AI model to obtain a low-dimension representation of the objective function; and/or the method is used for carrying out dimension reduction processing on the constraint information according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or performing dimension reduction processing on the M cutting planes to be selected according to the second AI model to obtain low-dimensional representations of the M cutting planes to be selected.
With reference to the second aspect, in certain implementations of the second aspect, the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M to-be-selected cutting planes.
With reference to the second aspect, in certain implementations of the second aspect, the second AI model is any one of: the graph convolves the neural network with a principal component analysis model.
With reference to the second aspect, in some implementations of the second aspect, the determining module is further configured to determine an order of addition of N cutting planes included in the first cutting plane set according to a third AI model, where an input of the third AI model is a selection ratio of the M cutting planes to be selected and cutting planes corresponding to an objective function.
With reference to the second aspect, in certain implementations of the second aspect, the third AI model is any one of: pointer network model, regression model, decision tree model.
With reference to the second aspect, in certain implementations of the second aspect, the apparatus further includes: a sending module, configured to provide any one or a combination of any of the following information to the tenant: the selection proportion of the cutting planes corresponding to the objective function is N cutting planes in the first cutting plane set, and the N cutting planes are added in sequence.
With reference to the second aspect, in some implementations of the second aspect, the first AI model is obtained by training the cloud management platform according to an objective function, constraint information, M planes to be selected, and a selection ratio of the planes corresponding to the objective function.
In a third aspect, a computing device is provided that includes a processor and a memory, and optionally, an input-output interface. Wherein the processor is configured to control the input-output interface to receive and send information, the memory is configured to store a computer program, and the processor is configured to invoke and run the computer program from the memory, so that the method according to the first aspect or any of the possible implementation manners of the first aspect is performed.
In the alternative, the processor may be a general purpose processor, and may be implemented in hardware or in software. When implemented in hardware, the processor may be a logic circuit, an integrated circuit, or the like; when implemented in software, the processor may be a general-purpose processor, implemented by reading software code stored in a memory, which may be integrated in the processor, or may reside outside the processor, and exist separately.
In a fourth aspect, a cluster of computing devices is provided, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method of the first aspect or any one of the possible implementations of the first aspect.
In a fifth aspect, a chip is provided, which obtains instructions and executes the instructions to implement the method of the first aspect and any implementation manner of the first aspect.
Optionally, as an implementation manner, the chip includes a processor and a data interface, where the processor reads instructions stored on a memory through the data interface, and performs the method in any implementation manner of the first aspect and the first aspect.
Optionally, as an implementation manner, the chip may further include a memory, where the memory stores instructions, and the processor is configured to execute the instructions stored on the memory, where the instructions, when executed, are configured to perform the method in the first aspect and any implementation manner of the first aspect.
In a sixth aspect, there is provided a computer program product comprising instructions which, when executed by a computing device, cause the computing device to perform a method as in the first aspect and any implementation of the first aspect described above.
In a seventh aspect, there is provided a computer program product comprising instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform a method as in any of the implementations of the first aspect and the first aspect described above.
An eighth aspect provides a computer readable storage medium comprising computer program instructions which, when executed by a computing device, perform a method as in the first aspect and any implementation of the first aspect.
By way of example, these computer-readable stores include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard disk drive (hard drive).
Alternatively, as an implementation manner, the storage medium may be a nonvolatile storage medium.
A ninth aspect provides a computer readable storage medium comprising computer program instructions which, when executed by a cluster of computing devices, performs a method as in the first aspect and any implementation of the first aspect above.
By way of example, these computer-readable stores include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), flash memory, electrically EPROM (EEPROM), and hard disk drive (hard drive).
Alternatively, as an implementation manner, the storage medium may be a nonvolatile storage medium.
Drawings
Fig. 1 is a schematic flowchart of an objective function solving method based on a cloud computing technology according to an embodiment of the present application.
Fig. 2 is a schematic flowchart of another objective function solving method based on the cloud computing technology provided in the embodiment of the present application.
Fig. 3 is a schematic flow chart of a method for AI model training provided in an embodiment of the present application.
Fig. 4 is a schematic block diagram of an interaction form of a tenant and an AI-based development platform provided in an embodiment of the present application.
Fig. 5 is a schematic block diagram of data parallel training in an AI model training process provided by an embodiment of the present application.
Fig. 6 is a schematic block diagram of model parallel training in an AI model training process provided by an embodiment of the present application.
Fig. 7 is a schematic diagram of AI model deployment provided in an embodiment of the present application.
Fig. 8 is a schematic diagram of providing an online service by using an AI model according to an embodiment of the present application.
Fig. 9 is a schematic block diagram of an objective function solving apparatus 900 based on a cloud computing technology according to an embodiment of the present application.
Fig. 10 is a schematic architecture diagram of a computing device 1000 provided in an embodiment of the present application.
Fig. 11 is a schematic architecture diagram of a computing device cluster according to an embodiment of the present application.
Fig. 12 is a schematic diagram of a connection between computing devices 1000A and 1000B through a network provided in an embodiment of the present application.
Detailed Description
The technical solutions in the present application will be described below with reference to the accompanying drawings.
The present application will present various aspects, embodiments, or features about a system comprising a plurality of devices, components, modules, etc. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. Furthermore, combinations of these schemes may also be used.
In addition, in the embodiments of the present application, words such as "exemplary," "for example," and the like are used to indicate an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, the term use of an example is intended to present concepts in a concrete fashion.
In the embodiments of the present application, "corresponding" and "corresponding" may sometimes be used in combination, and it should be noted that the meaning to be expressed is consistent when the distinction is not emphasized.
The service scenario described in the embodiments of the present application is to more clearly illustrate the technical solution of the embodiments of the present application, and does not constitute a limitation to the technical solution provided in the embodiments of the present application, and as a person of ordinary skill in the art can know that, with the evolution of the network architecture and the appearance of a new service scenario, the technical solution provided in the embodiments of the present application is equally applicable to similar technical problems.
Reference in the specification to "one embodiment" or "some embodiments" or the like means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," and the like in the specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments" unless expressly specified otherwise. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
In the present application, "at least one" means one or more, and "a plurality" means two or more. "and/or", describes an association relationship of an association object, and indicates that there may be three relationships, for example, a and/or B, and may indicate: including the case where a alone exists, both a and B together, and B alone, where a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b, or c may represent: a, b, c, a-b, a-c, b-c, or a-b-c, wherein a, b, c may be single or plural.
For ease of understanding, related terms and concepts that may be referred to in embodiments of the present application are described below.
1. Operation study
Operational research is an emerging interdisciplinary developed in the forty-third generation of the 20 th century. The method mainly researches the application and planning of human beings on various resources, and under the condition of meeting certain constraint, the method can be used for exerting the maximum benefit of limited resources and achieving the overall optimal target.
2. Mathematical programming (mathematical programming)
Mathematical planning is a branch of mathematics whose main research goal is to find optimal solutions in a given area that can minimize or maximize a certain function. Mathematical programming can be divided into many different branches, such as linear programming, integer programming, nonlinear programming, combinatorial optimization, multi-objective programming, stochastic programming, dynamic programming, parametric programming, and the like.
3. Linear programming (linear programming)
Linear programming is an important branch of early research, quick development, wide application and mature method in operational research, and is a mathematical method for assisting people in scientific management. It is a mathematical theory and method for researching extremum problem of linear objective function under linear constraint condition.
4. Mixed integer programming (mixed integer linear programming, MILP)
Mixed integer linear programming refers to the problem of linear programming where part of the decision variables are limited to integers.
5. Mathematics planning solver (mathematical programming solver)
And may be called simply as a solver, which is a software system that solves for established linear, integer, mixed integer, and various nonlinear programming models.
6. Cutting plane
The cutting plane is a series of constraint conditions which are used for being added into the original problem so as to reduce the solving feasible area and obtain the optimal solution of the original problem.
The operation research mainly uses mathematical methods to research the optimization approaches and schemes of various systems, and provides scientific decision basis for decision makers. Mathematical planning is an important branch of operations research, whose main research objective (or objective function) is to find the optimal solution in a given region that can minimize or maximize a certain function. Mathematical planning is very popular, and can be divided into a plurality of different branches according to the nature of the problem and the difference of the processing methods, such as linear planning, integer planning, nonlinear planning, combined optimization, multi-objective planning, random planning, dynamic planning, parameter planning and the like, and the problems have a great deal of application in a plurality of fields of supply chains, finance, traffic, communication and the like. To solve the mathematical programming problem, industry has developed specialized software systems, i.e., mathematical programming solvers (also simply called solvers), for linear, integer, mixed integer, and various nonlinear programming models.
Taking the solution of the mixed integer programming MILP problem as an example. In many real scenarios, problems are always with integer constraints, such as production scheduling, supply chain, production scheduling, factory site selection, etc., which can typically be modeled as a mixed integer programming problem. The essence of solving the MILP problem is to solve a series of linear programming problems, thereby obtaining an optimal solution. The core solving steps of the solver for the MILP problem are as follows: (1) Pre-solution (Presolve): deleting redundant constraints and variables; (2) Relaxation (Relaxation) the MILP problem is relaxed to get an initial solution; (3) Branch (Branch) of re-solving the variables according to the initial solution; (4) cutting plane (Cut): and generating a series of linear constraints according to the solution obtained after the relaxation, selecting a part of linear constraints to be added into the original problem, and reducing the solving feasible region.
The solver includes a facet module that generates a series of constraints called a set of facets to be selected. However, if all the cutting planes to be selected are added to the solving process of the objective function, the solving load is increased, so that the aim of optimally accelerating the solving cannot be achieved. The cutting plane module therefore needs to select a part of the cutting planes from the set of cutting planes to be selected and add this part of the cutting planes to the solving process of the objective function. The selection process of the cutting plane can reduce the feasible region of the objective function for searching the optimal solution, so as to achieve the effect of optimal acceleration solution.
In a related technical scheme, the selection process of the cutting plane is performed based on heuristic rules. That is, in this technical scheme, based on expert knowledge, various evaluation indexes such as target parallelism, integer support, linear programming optimal solution distance, and the like are designed. Scoring all the cutting planes to be selected, and finally selecting a part of high-score cutting planes from the cutting planes to be selected and adding the part of high-score cutting planes to the solving process of the objective function. Such methods are highly dependent on expert knowledge design, and if a set of rules is used for all objective functions to select a cutting plane from a cutting plane set to be selected, there is a problem that the rule universality is poor, and the solving performance of the corresponding objective function is not optimal. If one class of objective function is specially designed with one set of rules, there is a problem that the cost of expert design is too high, which is not acceptable in practical applications.
In view of this, the embodiment of the application provides an objective function solving method based on a cloud computing technology, which can select a cutting plane set for an objective function in user data from a plurality of cutting planes to be selected according to an AI model (hereinafter may also be simply referred to as a model), so as to improve the solving performance of the objective function. .
An objective function solving method based on a cloud computing technology provided in the embodiment of the present application is described in detail below with reference to fig. 1.
Fig. 1 is a schematic flowchart of an objective function solving method based on a cloud computing technology according to an embodiment of the present application. As shown in FIG. 1, the method is applied to a cloud management platform, and the method may include steps 110-140, and the steps 110-140 are described in detail below.
Step 110: and the cloud management platform acquires user data uploaded by the tenant, wherein the user data comprises an objective function and constraint information.
It should be appreciated that the cloud management platform is located in a cloud data center that may provide an access interface (e.g., interface or application program interface (application program interface, API)). The tenant may operate the client-side remote Cheng Jieru access interface to register the cloud account and password with the cloud management platform and log into the cloud management platform. After the cloud account and the password are successfully authenticated by the cloud management platform, the tenant can pay for selecting and purchasing the virtual machine with specific specifications (processor, memory and disk) in the cloud management platform. After the payment purchase is successful, the cloud management platform provides the remote login account password of the purchased virtual machine, and the client can remotely log in the virtual machine, and install and run the tenant application in the virtual machine. Thus, tenants can create, manage, log in, and operate virtual machines in a cloud data center through a cloud management platform. Among them, the virtual machine may also be called a cloud server (elastic compute service, ECS), an elastic instance (different cloud service providers have different names).
In the embodiment of the application, the cloud management platform acquires the user data uploaded by the tenant, and specifically, the tenant can upload the user data to the cloud management platform through the client of the cloud management platform. The user data may include objective functions and constraint information, wherein the constraint information is used to constrain variables in the objective functions, and the objective functions are problem functions to be solved.
Step 120: and the cloud management platform determines a first cutting plane set corresponding to the user data according to a first model.
According to the embodiment of the application, the cloud management platform can determine the first cutting plane set corresponding to the objective function in the user data according to the first model. Wherein the first set of cutting planes includes at least one cutting plane, the first set of cutting planes being a portion of the first model selected from a plurality of cutting planes to be selected, the plurality of cutting planes to be selected being a plurality of constraints for solving the objective function.
Optionally, before step 120, the method further comprises: a cloud management platform determines the first model entered or selected by the tenant.
It should be appreciated that the plurality of to-be-selected cutplanes are determined by the cloud management platform from the objective function included in the user data and the constraint information. Thus, optionally, prior to step 120, the method further comprises: and the cloud management platform generates the plurality of cutting planes to be selected according to the objective function and the constraint information included in the user data.
As an example, the input information of the first model includes the user data and the plurality of planes to be selected, and the output information of the first model includes the first plane set. As an example, the embodiment of the present application does not specifically limit the first model, as long as the selection ratio of the cutting plane corresponding to the objective function can be determined. One possible implementation, the first model may include, but is not limited to, any of the following: neural network model, decision tree model, logistic regression model.
Optionally, before step 120, the cloud management platform may further perform model training to obtain the first model. For example, the cloud management platform may train a plurality of to-be-selected cutting planes to obtain the first model according to the objective function and constraint information. The training process of the model will be described in detail below and will not be described in detail here.
Optionally, in some embodiments, in a specific implementation process of determining, by the cloud management platform according to the first model, the first cutting plane set corresponding to the user data, the cloud management platform may further determine a selection ratio of the cutting plane corresponding to the objective function according to the first model, and select the first cutting plane set from a plurality of cutting planes to be selected according to the selection ratio of the cutting plane.
As an example, in the above implementation manner, the input of the first model includes the objective function, the constraint information, and the plurality of planes to be selected, and the output information includes a selection ratio of the planes corresponding to the objective function. Optionally, the cloud management platform may further perform model training to obtain the first model. For example, the cloud management platform may train to obtain the first model according to the objective function, constraint information, a plurality of cutting planes to be selected, and a selection ratio of the cutting planes. The training process of the model will be described in detail below and will not be described in detail here.
Optionally, in some embodiments, the cloud management platform may further perform a dimension reduction process on the input of the first model, so as to facilitate model reasoning on the first model. As an example, the cloud management platform may perform a dimension reduction process on one or more of the following information: objective function, constraint information, second set of cutting planes. For example, the objective function may be dimensionality reduced according to a second model to obtain a low-dimensional representation of the objective function. In another example, the constraint information is subjected to dimension reduction according to the second model to obtain a low-dimensional representation of the constraint information. For another example, the dimension reduction processing is performed on the plurality of cutting planes to be selected, which are included in the second cutting plane set, according to the second model, so as to obtain a low-dimension representation of the plurality of cutting planes to be selected.
It should be understood that the above-mentioned low dimension is expressed as a result of performing a dimension reduction process on certain information. For example, the low dimension of the objective function is expressed as a result of performing the dimension reduction processing on the objective function.
By way of example, a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of a plurality of cut planes to be selected are taken as examples, respectively. In such an implementation, the input of the first model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the plurality of cut planes to be selected.
The second model is not particularly limited in the embodiment of the present application, as long as the dimension reduction process (for example, feature extraction) can be implemented. In one possible implementation, the second model may include, but is not limited to, any of the following: the graph convolves the neural network with a principal component analysis model.
In the technical scheme, the information is embedded and represented by the graph convolution network, so that on one hand, mathematical programming models with different scales can be processed, and on the other hand, the mathematical programming models are insensitive to the arrangement of the input.
Optionally, the cloud management platform may further perform model training to obtain the second model. For example, the second model may be trained from one or more of the following: an objective function and a low-dimensional representation of the objective function, constraint information and a low-dimensional representation of the constraint information, a plurality of cut planes to be selected and a low-dimensional representation of the plurality of cut planes to be selected.
Optionally, in some embodiments, the cloud management platform may further determine an adding order of at least one cutting plane included in the first cutting plane set according to a third model, where an input of the third model includes the plurality of cutting planes to be selected and a selection ratio of the cutting planes corresponding to the objective function. The input of the third model is the selection ratio of a plurality of cutting planes to be selected and the cutting planes corresponding to the objective function, and the output of the third model is the addition sequence of at least one cutting plane included in the first cutting plane set.
The third model is not particularly limited in the embodiment of the present application, as long as determining the addition order of at least one cutting plane can be achieved. One possible implementation, the third model may include, but is not limited to, any of the following: pointer network model, regression model, decision tree model.
Optionally, the cloud management platform may further perform model training to obtain the third model. For example, the cloud management platform may train to obtain the third model according to the plurality of to-be-selected cutting planes, the selection proportion of the cutting planes corresponding to the objective function, and the addition sequence of at least one cutting plane in the first cutting plane set.
Step 130: and solving by the cloud management platform according to the first cutting plane set and the objective function to obtain a solving result of the objective function.
In a possible implementation manner, a solver is deployed on the cloud management platform, and the solver can solve and obtain a solving result of the objective function according to the first cutting plane set and the objective function and constraint information included in the user data.
Step 140: and providing the solving result for the tenant by a cloud management platform, or storing the solving result in a storage module of the cloud management platform by the cloud management platform.
In this embodiment of the present application, after obtaining the solution result of the objective function, in one possible implementation manner, the cloud management platform may provide the solution result to the tenant. In another possible implementation manner, the cloud management platform may further store the solution result in a storage module of the cloud management platform.
Optionally, in some embodiments, the cloud management platform may further provide any one or a combination of any of the following information to the tenant: and selecting the proportion of the cutting planes corresponding to the objective function, wherein at least one cutting plane in the first cutting plane set is added in sequence.
Another objective function solving method based on the cloud computing technology provided in the embodiment of the present application is described in detail below with reference to fig. 2. It should be appreciated that the example of fig. 2 is merely to aid one skilled in the art in understanding the present embodiments, and is not intended to limit the present embodiments to the specific values or particular scenarios illustrated. Various equivalent modifications and variations will be apparent to those skilled in the art from the example of fig. 2 given below, and such modifications and variations are intended to be within the scope of the embodiments of the present application.
Fig. 2 is a schematic flowchart of another objective function solving method based on the cloud computing technology provided in the embodiment of the present application. As shown in FIG. 2, the method may include steps 210-250, with steps 210-250 being described in detail below, respectively.
Step 210: the tenant inputs the user data to the cloud management platform.
In this embodiment, the tenant may upload user data to the cloud management platform through an access interface (such as an interface or API) of the cloud management platform, where the user data may include, but is not limited to: objective function, constraint information. The objective function is a problem to be solved by the tenant, and the constraint information is constraint information which is input by the tenant and aims at variables in the objective function.
Step 220: and the cloud management platform generates a second cutting plane set according to the user data.
As an example, a solver is deployed on a cloud management platform. The solver may generate a plurality of constraints, which may also be referred to as a plurality of cutting planes, which constitute a second set of cutting planes, from the objective function and constraint information in the user data. The second set of cutting planes may also be referred to as a set of cutting planes to be selected, which includes a plurality of cutting planes to be selected. The plurality of cutting planes to be selected are used for further constraining variables in the objective function based on constraint conditions input by tenants.
It should be appreciated that the constraint information in step 210 is a tenant entered constraint for the objective function. The plurality of planes to be selected included in the second set of planes in step 220 are additional constraints generated by the solver for the objective function, where the additional constraints are used to further constrain or define variables in the objective function, thereby narrowing the solution range for the optimal solution of the objective function.
Step 230: the cloud management platform obtains a first cutting plane set from the second cutting plane set and an adding sequence of at least one cutting plane included in the first cutting plane set.
In this embodiment of the present application, the cloud management platform may obtain a certain proportion of the cutting planes from the second cutting plane set according to the user data, and an adding sequence of the cutting planes in the certain proportion. The above-mentioned proportion of cutting planes may also be referred to as a first set of cutting planes, which first set of cutting planes comprises at least one cutting plane.
For example, the cloud management platform may determine a feature extraction model of the tenant input or selection, and obtain a low-dimensional representation of the objective function, the low-dimensional representation of the constraint information, and the low-dimensional representations of the plurality of to-be-selected cutplanes according to the feature extraction model. The cloud management platform can also determine a cutting plane adding proportion model input or selected by the tenant, and obtain the selection proportion of the cutting plane corresponding to the objective function according to the cutting plane adding proportion model. The cloud management platform may further determine a cutting plane addition sequence model input or selected by the tenant, and obtain at least one cutting plane included in the first cutting plane set corresponding to the objective function and an addition sequence of the at least one cutting plane according to the cutting plane addition sequence model.
It should be appreciated that for any one AI model, a training phase and an inference phase are included. The training stage is a process of calculating training data by using a designated initial model, and adjusting parameters in the initial model by adopting a certain method according to a calculation result so that the model gradually learns a certain rule and has a specific function. The AI model with the stable function after training can be used for reasoning. The reasoning of the AI model takes the data of the actual application scene as input data, and the reasoning of the AI model after training can obtain a reasoning result. The reasoning stage is the actual application of the trained AI model, and the AI capability can be rapidly utilized to solve the specific technical problem.
The following describes in detail the process of reasoning by the cloud management platform according to the above models. The training process of each model is described in the following examples, which are not described in detail herein.
1. Feature extraction model
The feature extraction model is used for performing dimension reduction processing on the user data and a plurality of cutting planes to be selected, which are included in the second cutting plane set, for example, performing embedded representation (embedding) on the user data and the plurality of cutting planes to be selected respectively, so as to obtain a plurality of cutting planes to be selected after dimension reduction and the user data (including objective function and constraint information) after dimension reduction. The feature extraction model is further used for processing the plurality of cut planes to be selected after the dimension reduction and the user data after the dimension reduction, and obtaining the relation between each cut plane to be selected and the user data according to the user data or the influence of the user data on each cut plane to be selected, that is, obtaining the feature (the feature may be a set of vectors, for example, and may be understood as a description of each cut plane to be selected) of each cut plane to be selected according to the user data.
It should be appreciated that the plurality of cut planes to be selected after the dimension reduction may also be referred to as a low-dimensional embedded representation of the plurality of cut planes to be selected. The reduced-dimension objective function may also be referred to as a low-dimensional embedded representation of the objective function.
As an example, the input of the feature extraction model is user data including an objective function and constraint information, and the plurality of cutting planes to be selected included in the second cutting plane set is output as a feature of each cutting plane to be selected in the second cutting plane set. The specific implementation process of embedding the plurality of cutting planes to be selected is described in detail below by taking the plurality of cutting planes to be selected included in the second cutting plane set as an example.
For example, in one possible implementation, the feature extraction model is implemented by a graph convolution neural network. The graph convolution neural network is equivalent to a feature extractor, and has the main function of embedding and representing high-dimensional mathematical programming model information (such as the cutting planes to be selected in the above description), namely, performing dimension reduction representation on a plurality of cutting planes to be selected, so as to facilitate the reasoning of a downstream module or a downstream model. Specifically, as an example, first, a plurality of cut plane information (a, b, C) to be selected is converted into a bipartite graph (bipartite graph representation), that is, (a, b, C) is filled in according to a connection relation. And secondly, inputting the connection relation of the two parts of the graphs into a graph rolling network to obtain a plurality of low-dimensional embedded representation information of the cutting planes to be selected.
In the embodiment of the application, the information is embedded and represented by using the graph convolutional network, so that on one hand, mathematical programming models with different scales can be processed, and on the other hand, the mathematical programming models are insensitive to the arrangement of the input.
2. Cutting plane adding proportion model
The cut plane addition proportion model is used for adaptively learning the optimal selection proportion K of the cut plane according to objective functions in different user data. The optimal selection ratio K of the cutting planes means that a part of the cutting planes to be selected from the plurality of cutting planes to be selected included in the second cutting plane set is selected, and the proportion of the part of the cutting planes to be occupied in the second cutting plane set is K. As an example, the inputs of the cut plane addition scale model are a low-dimensional embedded representation of the user data output by the feature extraction model and a low-dimensional embedded representation of a plurality of cut planes to be selected, the output of which is the best selection scale K of the cut plane.
For example, in one possible implementation manner, the above-mentioned slice plane addition proportion model is implemented through a fully connected neural network. Specifically, as an example, the low-dimensional embedded representation of the user data output by the feature extraction model and the low-dimensional embedded representations of the plurality of to-be-selected cutting planes may be used as inputs of a cutting plane addition proportion model, and after the input information passes through the fully-connected neural network, the optimal selection proportion K of the cutting plane may be output. For example, after the low-dimensional embedded representation of the user data and the low-dimensional embedded representations of the plurality of to-be-selected cutting planes pass through the self-encoder of the neural network, a layer of fully-connected neural network is further passed through, and an optimal selection proportion K of the cutting planes determined according to characteristics of the user data (for example, characteristics of an objective function itself in the user data) and characteristics of the plurality of to-be-selected cutting planes is output.
In this embodiment of the present application, compared to a fixed selection ratio of a cutting plane, the above-mentioned adaptive method may help to learn a globally optimal selection ratio of a cutting plane according to a feature of an objective function itself and an optimal selection ratio K of a cutting plane learned by features of a plurality of cutting planes to be selected, so as to achieve full search in a full space of actions and avoid sinking into a locally optimal solution.
3. Cutting plane adding sequence model
The cutting plane addition sequence model is used for adaptively considering the arrangement sequence among a plurality of cutting planes to be selected and removing redundant cutting planes to obtain the optimal arrangement sequence among the plurality of cutting planes to be selected. The cutting plane addition order model may also give an optimal cutting plane addition order for a specified length among a plurality of cutting planes to be selected given the optimal selection ratio K of the cutting planes. As an example, the input of the cutting plane addition order model is a low-dimensional embedded representation of a plurality of cutting planes to be selected output by the feature extraction model and an optimal selection ratio K of the cutting planes output by the cutting plane addition order model, the output is a first cutting plane set, the first cutting plane set comprises at least one cutting plane, the at least one cutting plane has an optimal arrangement sequence, and the proportion of the first cutting plane set in the second cutting plane set is K.
For example, in one possible implementation manner, the slice plane addition order model is implemented through a pointer network. Specifically, as an example, a low-dimensional embedded representation of a plurality of cut planes to be selected, which are output by the feature extraction model, and an optimal selection scale K of the cut planes, which are output by the cut plane addition scale model, may be taken as inputs to the pointer network. The pointer network may adaptively learn an optimal arrangement order among the plurality of planes to be selected according to the low-dimensional embedded representation of the plurality of planes to be selected, and output at least one plane of a specified length (e.g., the ratio K) from the plurality of planes to be selected in the arranged order based on the pointer based on the optimal selection ratio K of the planes, the at least one plane having the optimal arrangement order therebetween, the at least one plane constituting the first plane set.
In this embodiment of the present application, compared to performing independent scoring on each cutting plane to be selected, the above pointer network is based on the characteristics of each cutting plane to be selected, so that not only can similar redundant cutting planes in multiple cutting planes to be selected be removed, but also an optimal arrangement sequence among multiple cutting planes to be selected can be dynamically and adaptively obtained. And based on the optimal selection proportion K of the cutting planes which are dynamically and adaptively learned, the addition sequence of the optimal cutting planes under the specified length can be given through a pointer network.
Step 240: and solving the objective function by the cloud management platform according to the first cutting plane set and the adding sequence of at least one cutting plane included in the first cutting plane set to obtain a solving result.
In a possible implementation manner, a solver is deployed on the cloud management platform, and after the first cutting plane set and the adding sequence of at least one cutting plane included in the first cutting plane set are obtained, the solver can add the at least one cutting plane according to the adding sequence of the at least one cutting plane included in the first cutting plane set. And solving an objective function in the user data according to constraint information in the user data and the added at least one cutting plane and the adding sequence of the at least one cutting plane to obtain a solving result. As an example, the result of this solution may be an optimal solution to the determined objective function.
Step 250: and providing the solving result for the tenant by a cloud management platform, or storing the solving result in a storage module of the cloud management platform by the cloud management platform.
The training process of each of the above models is described in detail below with reference to fig. 3. It should be understood that the example of fig. 3 is merely to aid one skilled in the art in understanding the present embodiments, and is not intended to limit the present embodiments to the specific values or particular scenarios illustrated. Various equivalent modifications and variations will be apparent to those skilled in the art from the example of fig. 3 given below, and such modifications and variations are intended to be within the scope of the embodiments of the present application.
It should be appreciated that any AI model may need to be trained before it can be used to address a particular technical problem. The training of the AI model refers to a process of calculating training data by using a designated initial model, and adjusting parameters in the initial model by adopting a certain method according to a calculation result so that the model gradually learns a certain rule and has a specific function. The AI model with the stable function after training can be used for reasoning.
In the training stage, a training set for the AI model needs to be constructed based on the target first, the training set includes a plurality of training data, each training data is provided with a label, the label of the training data is a correct answer of the training data on a specific problem, and the label can represent the target for training the AI model by using the training data. For example, for training an AI model that can be used to identify different animals, the training set can include a plurality of images of the different animals (i.e., training data), each of which can have a tag identifying the type of animal contained therein, such as: cats, dogs, in this example, each image corresponds to the type of animal, i.e., the tag of the training data.
When training the AI model, the training data can be input to the AI model after parameter initialization in batches, and the AI model calculates (i.e. infers) the training data to obtain a prediction result for the training data. The predicted result obtained through reasoning and the label corresponding to the training data are used as the data for calculating the loss according to the loss function. The loss function is a function for calculating the difference (i.e., loss value) between the predicted result of the model for the training data and the label of the training data in the model training stage, and the loss function can be implemented by adopting different mathematical functions, and the expression of the common loss function is as follows: mean square error loss function, logarithmic loss function, least squares method, etc.
The loss value calculated based on the loss function can be used for updating the parameters of the AI model, and a gradient descent method is often adopted for a specific parameter updating mode. Training of the model is a repeated iterative process, each iteration infers different training data and calculates a loss value, and the aim of multiple iterations is to continuously update parameters of the AI model and find a parameter configuration which enables the loss value of the loss function to be the lowest or to be stable.
In the training stage, in order to make the training efficiency of the model and the performance of the model after training better, some reasonable super parameters need to be set for training, and the super parameters of the AI model refer to parameters which cannot be obtained through learning training data in the training process or cannot be changed due to driving of the training data, and are a concept relative to the parameters in the model. Taking a deep learning model as an example, the super parameters of the model are usually set manually according to experience or experiment, and the super parameters comprise: learning rate (learning rate), batch size (batch size), network structure superparameters (e.g., number of network layers (also referred to as depth), interaction between network layers, number and size of convolution kernels, activation function), etc.
Fig. 3 is a schematic flow chart of a method of model training provided in an embodiment of the present application. As illustrated in FIG. 3, the method may include steps 310-360, with steps 310-360 being described in detail below, respectively.
Step 310: the feature extraction model obtains a training data set from a training database and outputs a low-dimensional embedded representation of a plurality of cutting planes to be selected and a low-dimensional embedding of user data according to the training data set.
In this embodiment of the present application, the tenant may input user data (including an objective function and constraint information) to the solver, and the solver may generate a plurality of planes to be selected according to the user data. The solver may also store the user data (including the objective function and constraint information) and the generated plurality of cut planes to be selected into a training dataset.
In one example, the feature extraction model is a convolutional neural network, and the training data set input by the convolutional neural network includes user data (including objective functions and constraint information) and a plurality of cutting planes to be selected. The graph convolution neural network is used for carrying out dimension reduction processing on the user data and a plurality of cutting planes to be selected, and outputting low-dimension embedded representations of the cutting planes to be selected and low-dimension embedded of the user data.
Step 320: the cutting plane adding proportion model obtains a training data set from the characteristic extraction model, and outputs the optimal selection proportion K of the cutting plane according to the training data set.
For example, in one possible implementation, the above-mentioned cut plane addition proportion model is a fully connected neural network. The cut plane addition proportion model may obtain a low-dimensional embedded representation of user data and a plurality of cut planes to be selected from the feature extraction model, and after the input information passes through the fully connected neural network, the optimal selection proportion K of the cut plane is output.
Step 330: the cutting plane adding sequence model obtains a training data set from the feature extraction model and the cutting plane adding proportion model, and outputs a first cutting plane set according to the training data set.
For example, in one possible implementation, the slice plane addition order model is a pointer network. The input of the cutting plane addition sequence model is the low-dimensional embedded representation of a plurality of cutting planes to be selected output by the feature extraction model and the optimal selection proportion K of the cutting planes output by the cutting plane addition proportion model, after the input information passes through a pointer network, the optimal arrangement sequence among the plurality of cutting planes to be selected is output and self-adaptively learned, and a first cutting plane set with specified length (for example, proportion K) is output from the plurality of cutting planes to be selected in the arranged sequence based on the pointer based on the optimal selection proportion K of the cutting planes.
Step 340: the cut plane addition order model outputs at least one cut plane in the first set of cut planes to a solver in the cloud management platform.
Step 350: and solving the objective function by a solver in the cloud management platform according to the first cutting plane set and the adding sequence of at least one cutting plane included in the first cutting plane set to obtain a predicted solving result.
After the solver obtains the first set of facet planes, at least one facet plane included in the first set of facet planes may be added in an order of addition of the at least one facet plane. And solving an objective function in the user data according to constraint information in the user data and the added at least one cutting plane and the adding sequence of the at least one cutting plane to obtain a predicted solving result.
Step 360: and a solver in the cloud management platform adjusts parameters in the feature extraction model, the cutting plane addition proportion model and the cutting plane addition sequence model according to the predicted solving result and the real solving result.
As an example, in the embodiment of the present application, according to the predicted solution result and the real solution result corresponding to the objective function, the loss data may be calculated according to the loss function, and the parameters of each model may be updated based on the loss value calculated by the loss function. The loss function may calculate the lost data, for example, as an error between the predicted solution result and the actual solution result, or as a time difference between the time taken for the predicted solution result and the time taken for the actual solution result, or the like.
After the parameters in the feature extraction model, the cutting plane addition proportion model and the cutting plane addition sequence model are adjusted, each model can be processed and iterated and circulated according to the method of the steps 310-360. Parameters of each model are continuously adjusted according to the predicted solving result and the loss between the real solving results corresponding to the objective function until the loss between the predicted solving result and the real solving result output by the solver is within a certain error range, and the fact that each model has a stable function after training is explained and can be used for carrying out the reasoning process shown in fig. 2.
In one possible implementation manner of the embodiment of the present application, an AI-based development platform is deployed on a cloud management platform (may also be simply referred to as a cloud platform), and a tenant may train each model on the AI-based development platform.
It should be understood that the AI-based development platform is a platform-as-a-service (PaaS) cloud service in a cloud management platform, and is a software platform for building, training, deploying an AI model and developing and deploying an AI application based on a large amount of basic resources and software capabilities owned by a public cloud service provider to assist in the provision of a tenant (also referred to as a user, an AI developer, etc.). As shown in fig. 4, the interaction form of the tenant and the AI basic development platform mainly includes: the tenant logs in the cloud platform through the client webpage, selects and purchases cloud services of the AI basic development platform in the cloud platform, and after purchase, the tenant can perform full-flow AI development based on functions provided by the AI basic development platform. The tenant develops and trains its own AI model on the AI-based development platform based on basic resources (mainly computing resources such as central processing units (central processing unit, CPU), graphics processing units (graphics processing unit, GPU), embedded neural network processors (neural-network process units, NPU), etc.) in the data center of the cloud service provider. Therefore, when the tenant purchases and uses the AI-based development platform, the tenant mainly pays for the used resources.
For convenience of description, the process of training the feature extraction model on the AI-based development platform will be exemplified below by taking the training process of the feature extraction model on the AI-based development platform as an example.
As an example, when training the feature extraction model on the AI-based development platform, in order to improve the training efficiency of the feature extraction model, a distributed parallel training manner may be adopted. Distributed parallel training of models includes two types, one referred to as data parallelism and the other as model parallelism.
For example, as shown in FIG. 5, data parallelism specifically refers to deploying the same feature extraction model to be trained on multiple nodes (e.g., nodes 1, 2, 3, …, N), and dividing the data set for training into multiple data subsets, distributed to the various nodes. Each node independently trains the feature extraction model in the node by utilizing the data in the corresponding data subset, and in each training iteration process, the gradient value calculated by each node can be synchronized to other nodes, so that each node can obtain the gradient mean value of one iteration process, the gradient mean value is the average value of the gradient of each node in the same iteration process, and each node can update the parameters of the respective feature extraction model according to the gradient mean value. The method is equivalent to training the feature extraction model by aggregating the mini-batch data on a plurality of nodes to form a large batch data, so that the convergence speed of the feature extraction model is faster, and the model training efficiency is improved. Wherein each node may be a GPU, a virtual machine instance, or a container instance.
As another example, as shown in fig. 6, model parallelism (also referred to as network parallelism) specifically refers to splitting a feature extraction model to obtain multiple sub-model portions, where different sub-model portions are deployed on different nodes. During training, the same data in one data set is calculated by the sub-model parts on different nodes according to the structural sequence of the model. In an iterative process, gradient values can be obtained through calculation of the sub-model parts on different nodes, and parameters of each sub-model part can be updated by forward propagation or backward propagation according to the gradient values. After the training requirement is met through multiple iterations, the sub-model parts on all the nodes are recombined according to the structure of the feature extraction model, and the feature extraction model after training is completed can be obtained. When the scale of the feature extraction model is large, the feature extraction model can be split and trained, and the training of the feature extraction model can be realized by combining the calculation forces of a plurality of nodes. Alternatively, if the feature extraction model that is trained is also distributed deployed in terms of a split structure, distributed reasoning is performed when reasoning is performed using the feature extraction model.
The AI-based development platform may also deploy the aforementioned trained models (e.g., feature extraction model, cut plane addition scale model, and cut plane addition order model) at nodes in the cloud environment or at nodes in the edge environment. The nodes in the cloud environment may be virtual machine instances, container instances, physical servers, etc., and the nodes in the edge environment may be various edge devices. As shown in fig. 7, an example, when the scale of the model is large, the model may be distributed to be deployed on a plurality of nodes based on the idea of model parallelism. As another example, models may also be deployed independently at multiple nodes, respectively, to support a larger access volume to online services. As another example, the AI-based development platform may also deploy AI applications to edge devices registered with the cloud platform according to the application requirements of the AI model.
The deployed AI model may be an AI application or may be part of an AI application. As shown in fig. 8, the tenant may access the AI application online through a Web page, or through a client app. When an AI application is used, the AI model deployed in an edge environment or cloud environment may be invoked to provide a response by way of an online call. Therefore, the AI model developed and trained by the AI basic development platform can realize the reasoning of the online request data and return the reasoning result.
In the process of providing the online reasoning service, the AI basic development platform can continuously collect input and output data of the reasoning process, continuously enrich a training data set by using the input and output data of the reasoning stage, and continuously optimize and train the AI model based on the data of the reasoning stage and the corresponding manually confirmed result.
It should be appreciated that in other cases, the AI model developed and trained by the foregoing AI-based development platform may also be deployed off-line, but rather for the tenant to download the trained AI model to local, for the tenant to freely deploy locally. For example: the tenant may choose to save the trained AI model to the OBS, and the tenant downloads the AI model from the OBS to the local.
The objective function solving method based on the cloud computing technology provided in the embodiment of the present application is described in detail above with reference to fig. 1 to 8, and the embodiment of the apparatus of the present application will be described in detail below with reference to fig. 9 to 12. It is to be understood that the description of the method embodiments corresponds to the description of the device embodiments, and that parts not described in detail can therefore be seen in the preceding method embodiments.
Fig. 9 is a schematic block diagram of an objective function solving apparatus 900 based on a cloud computing technology according to an embodiment of the present application. The apparatus 900 is applied to a cloud management platform, and may be implemented by software, hardware, or a combination of both. The objective function solving apparatus 900 based on the cloud computing technology provided in the embodiment of the present application may implement the method flows shown in fig. 1 to 3 in the embodiment of the present application, where the objective function solving apparatus 900 based on the cloud computing technology includes: the system comprises an acquisition module 910, a determination module 920 and a solution module 930, wherein the acquisition module 910 is configured to acquire user data uploaded by a tenant, the user data including an objective function and constraint information; the determining module 920 is configured to determine, according to a first artificial intelligence AI model, a first cutting plane set corresponding to the user data, where the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, and the M cutting planes to be selected are a plurality of constraint conditions for solving the objective function, where M and N are positive integers, and N is less than M; the solving module 930 is configured to solve, according to the first cutting plane set and the objective function, to obtain a solution result of the objective function, and provide the solution result to the tenant and/or save the solution result.
Optionally, the apparatus 900 further includes: a generation module 940, wherein the determination module 920 is further configured to determine the first AI model entered or selected by the tenant; the generating module 940 is configured to generate the M planes to be selected according to the objective function and the constraint information; the determining module 920 is further configured to determine a selection ratio of the cutting planes corresponding to the objective function according to the first AI model, where the input of the first model includes the objective function, the constraint information, and the M cutting planes to be selected; the determining module 920 is further configured to select the first cutting plane set from the M cutting planes to be selected according to a selection ratio of the cutting planes.
Optionally, the first AI model is any one of: neural network model, decision tree model, logistic regression model.
Optionally, the apparatus 900 further includes: a dimension reduction module 950, configured to perform dimension reduction processing on the objective function according to a second AI model to obtain a low-dimension representation of the objective function; and/or the method is used for carrying out dimension reduction processing on the constraint information according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or the method is used for carrying out dimension reduction processing on the M cutting planes to be selected according to the second AI model to obtain low-dimension representations of the M cutting planes to be selected.
Optionally, the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M to-be-selected cutting planes.
Optionally, the second AI model is any one of: the graph convolves the neural network with a principal component analysis model.
Optionally, the determining module 920 is further configured to: and determining the adding sequence of N cutting planes included in the first cutting plane set according to a third AI model, wherein the input of the third AI model is the selection proportion of the M cutting planes to be selected and the cutting planes corresponding to the objective function.
Optionally, the third AI model is any one of the following: pointer network model, regression model, decision tree model.
Optionally, the apparatus 900 further includes: a sending module 960 configured to provide any one or a combination of any of the following information to the tenant: and selecting the proportion of the cutting planes corresponding to the objective function, wherein N cutting planes in the first cutting plane set are added in sequence.
Optionally, the first AI model is obtained by training the cloud management platform according to an objective function, constraint information, M cutting planes to be selected and a selection proportion of the cutting planes corresponding to the objective function.
The apparatus 900 herein may be embodied in the form of functional modules. The term "module" herein may be implemented in software and/or hardware, and is not specifically limited thereto.
For example, a "module" may be a software program, a hardware circuit, or a combination of both that implements the functionality described above. Illustratively, the implementation of the acquisition module is described next as an example of the acquisition module. Similarly, other modules, such as a determination module, a solution module, and an implementation of the processing module may refer to an implementation of the acquisition module.
Acquisition module as an example of a software functional unit, the acquisition module may comprise code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container, among others. Further, the above-described computing examples may be one or more. For example, the acquisition module may include code running on multiple hosts/virtual machines/containers. It should be noted that, multiple hosts/virtual machines/containers for running the code may be distributed in the same region (region), or may be distributed in different regions. Further, multiple hosts/virtual machines/containers for running the code may be distributed in the same availability zone (availability zone, AZ) or may be distributed in different AZs, each AZ comprising a data center or multiple geographically close data centers. Wherein typically a region may comprise a plurality of AZs.
Also, multiple hosts/virtual machines/containers for running the code may be distributed in the same virtual private cloud (virtual private cloud, VPC) or in multiple VPCs. In general, one VPC is disposed in one region, and a communication gateway is disposed in each VPC for implementing inter-connection between VPCs in the same region and between VPCs in different regions.
Acquisition module as an example of a hardware functional unit, the acquisition module may comprise at least one computing device, such as a server or the like. Alternatively, the acquisition module may be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (programmable logic device, PLD), etc. The PLD may be implemented as a complex program logic device (complex programmable logical device, CPLD), a field-programmable gate array (FPGA), a general-purpose array logic (generic array logic, GAL), or any combination thereof.
Multiple computing devices included in the acquisition module may be distributed in the same region or may be distributed in different regions. The plurality of computing devices included in the acquisition module may be distributed in the same AZ or may be distributed in different AZ. Likewise, multiple computing devices included in the acquisition module may be distributed in the same VPC, or may be distributed among multiple VPCs. Wherein the plurality of computing devices may be any combination of computing devices such as servers, ASIC, PLD, CPLD, FPGA, and GAL.
Thus, the modules of the examples described in the embodiments of the present application can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It should be noted that: in the apparatus provided in the above embodiment, when the method is executed, only the division of the above functional modules is used as an example, in practical application, the above functional allocation may be performed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules, so as to perform all or part of the functions described above. For example, the acquisition module may be used to perform any of the methods described above, the determination module may be used to perform any of the methods described above, the solution module may be used to perform any of the methods described above, and the processing module may be used to perform any of the methods described above. The steps of the acquisition module, the determination module, the solving module and the processing module which are responsible for implementation can be designated according to the needs, and all functions of the device are realized by respectively realizing different steps in the method through the acquisition module, the determination module, the solving module and the processing module.
In addition, the apparatus and the method embodiments provided in the foregoing embodiments belong to the same concept, and specific implementation processes of the apparatus and the method embodiments are detailed in the foregoing method embodiments, which are not repeated herein.
The methods provided by embodiments of the present application may be performed by a computing device, which may also be referred to as a computer system. Including a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on top of the operating system layer. The hardware layer includes hardware such as a processing unit, a memory control unit, and the like, and the functions and structures of the hardware are described in detail later. The operating system is any one or more computer operating systems for realizing business processing through processes (processes), for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, a windows operating system, or the like. The application layer comprises application programs such as a browser, an address book, word processing software, instant messaging software and the like. Alternatively, the computer system may be a handheld device such as a smart phone or a terminal device such as a personal computer, which is not particularly limited in the present application, so long as the method provided in the embodiments of the present application can be used. The execution subject of the method provided in the embodiments of the present application may be a computing device, or may be a functional module in the computing device that can call a program and execute the program.
A computing device provided in an embodiment of the present application is described in detail below in conjunction with fig. 10.
Fig. 10 is a schematic architecture diagram of a computing device 1000 provided in an embodiment of the present application. The computing device 1000 may be a server or a computer or other computing device. The computing device 1000 shown in fig. 10 includes: at least one processor 1010 and a memory 1020.
It should be understood that the present application is not limited to the number of processors, memories in computing device 1000.
The processor 1010 executes instructions in the memory 1020, causing the computing device 1000 to implement the methods provided herein. Alternatively, processor 1010 executes instructions in memory 1020, causing computing device 1000 to implement the functional modules provided herein, thereby implementing the methods provided herein.
Optionally, the computing device 1000 also includes a communication interface 1030. The communication interface 1030 enables communication between the computing device 1000 and other devices or communication networks using a transceiver module such as, but not limited to, a network interface card, transceiver or the like.
Optionally, the computing device 1000 also includes a system bus 1040, wherein the processor 1010, the memory 1020, and the communication interface 1030 are each connected to the system bus 1040. The processor 1010 can access the memory 1020 via a system bus 1040, for example, the processor 1010 can read and write data or code execution in the memory 1020 via the system bus 1040. The system bus 1040 is a peripheral component interconnect express (peripheral component interconnect express, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, or the like. The system bus 1040 is classified into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in fig. 10, but not only one bus or one type of bus.
In one possible implementation, the functions of the processor 1010 are mainly to interpret instructions (or code) of a computer program and process data in computer software. Wherein the instructions of the computer program and data in the computer software can be stored in memory 1020 or cache 1016.
Alternatively, the processor 1010 may be an integrated circuit chip with signal processing capabilities. By way of example, and not limitation, the processor 1010 is a general purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), an off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. Wherein the general purpose processor is a microprocessor or the like. For example, the processor 1010 is a central processing unit (central processing unit, CPU).
Optionally, each processor 1010 includes at least one processing unit 1012 and a memory control unit 1014.
Alternatively, processing unit 1012, also referred to as a core or kernel, is the most important component of the processor. The processing unit 1012 is manufactured from single crystal silicon in a certain manufacturing process, and all the calculation, the acceptance command, the storage command and the processing data of the processor are executed by the core. The processing units respectively and independently run the program instructions, and the running speed of the program is increased by utilizing the parallel computing capability. Various processing units have a fixed logic structure, e.g., processing units include logic units such as a first-level cache, a second-level cache, an execution unit, an instruction-level unit, and a bus interface.
By way of example, memory control unit 1014 is used to control the interaction of data between memory 1020 and processing unit 1012. Specifically, the memory control unit 1014 receives memory access requests from the processing unit 1012 and controls access to memory based on the memory access requests. By way of example, and not limitation, the memory control unit is a memory management unit (memory management unit, MMU) or the like.
For example, each memory control unit 1014 can be addressed to memory 1020 via the system bus. And an arbiter (not shown in fig. 10) is configured in the system bus, which is responsible for handling and coordinating competing accesses by the multiple processing units 1512.
For example, the processing unit 1012 and the memory control unit 1014 are communicatively connected via connection lines, such as address lines, within the chip, so as to enable communication between the processing unit 1012 and the memory control unit 1014.
Optionally, each processor 1010 also includes a cache 1016, where the cache is a buffer of data exchanges (referred to as a cache). When the processing unit 1012 is to read data, it will first look up the required data from the cache, execute it directly if found, and look up it from the memory if not found. Since the cache operates at a much faster rate than the memory, the cache functions to help the processing unit 1012 operate faster.
Memory 1020 can provide a runtime space for processes in computing device 1000, e.g., memory 1020 holds computer programs (specifically, code for programs) used to generate the processes. After the computer program is run by the processor to generate a process, the processor allocates a corresponding memory space for the process in memory 1020. Further, the storage space further includes a text segment, an initialization data segment, a bit initialization data segment, a stack segment, a heap segment, and the like. The memory 1020 holds data generated during the running of the process, for example, intermediate data, or process data, etc., in the memory space corresponding to the above process.
Optionally, the memory is also referred to as a memory, and is used to temporarily store operation data in the processor 1010 and data exchanged with an external memory such as a hard disk. As long as the computer is running, the processor 1010 will call the data to be operated on into the memory for operation, and the processing unit 1012 will send out the result when the operation is completed.
By way of example, and not limitation, memory 1020 is either volatile memory or nonvolatile memory or may include both volatile and nonvolatile memory. The nonvolatile memory is a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory is random access memory (random access memory, RAM), which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous DRAM (SLDRAM), and direct memory bus RAM (DR RAM). It should be noted that the memory 1020 of the systems and methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
The above-listed structure of the computing device 1000 is merely an exemplary illustration, and the present application is not limited thereto, and the computing device 1000 of the embodiments of the present application includes various hardware in the computer system in the prior art, for example, the computing device 1000 includes other memories besides the memory 1020, for example, a disk memory, and the like. Those skilled in the art will appreciate that the computing device 1000 may also include other components necessary to achieve proper operation. Also, those skilled in the art will appreciate that the computing device 1000 described above may also include hardware devices that implement other additional functions, as desired. Furthermore, those skilled in the art will appreciate that the computing device 1000 described above may also include only the components necessary to implement embodiments of the present application, and not necessarily all of the components shown in FIG. 10.
The embodiment of the application also provides a computing device cluster. The cluster of computing devices includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a terminal device such as a desktop, notebook, or smart phone.
As shown in fig. 11, the cluster of computing devices includes at least one computing device 1000. The same instructions for performing the methods described above may be stored in memory 1020 in one or more computing devices 1000 in a cluster of computing devices.
In some possible implementations, the memory 1020 in one or more computing devices 1000 in the cluster of computing devices may also each have stored therein a portion of the instructions for performing the methods described above. In other words, a combination of one or more computing devices 1000 may collectively perform the instructions of the above-described methods.
It should be noted that, the memory 1020 in different computing devices 1000 in the computing device cluster may store different instructions for performing part of the functions of the foregoing apparatus, respectively. That is, the instructions stored in memory 1020 in different computing devices 1000 may implement the functionality of one or more modules in the apparatus described above.
In some possible implementations, one or more computing devices in a cluster of computing devices may be connected through a network. Wherein the network may be a wide area network or a local area network, etc. Fig. 12 shows one possible implementation. As shown in fig. 12, two computing devices 1000A and 1000B are connected by a network. Specifically, the connection to the network is made through a communication interface in each computing device.
It should be appreciated that the functionality of computing device 1000A shown in fig. 12 may also be performed by multiple computing devices 1000. Likewise, the functionality of computing device 1000B may also be performed by multiple computing devices 1000.
In this embodiment, a computer program product comprising instructions is also provided, which may be a software or program product comprising instructions, capable of running on a computing device or stored in any available medium. Which, when executed on a computing device, causes the computing device to perform the methods provided above, or causes the computing device to perform the functions of the apparatus provided above.
In this embodiment, a computer program product comprising instructions is also provided, which may be a software or program product comprising instructions, capable of running on a cluster of computing devices or stored in any available medium. Which, when executed by a cluster of computing devices, causes the cluster of computing devices to perform the methods provided above, or causes the cluster of computing devices to perform the functions of the apparatus provided above.
In this embodiment, a computer-readable storage medium is also provided, where the computer-readable storage medium may be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The usable medium may 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 disk), etc. The computer readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the methods provided above.
In this embodiment, a computer-readable storage medium is also provided, where the computer-readable storage medium may be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The usable medium may 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 disk), etc. The computer readable storage medium includes instructions that, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method provided above.
It should be understood that, in various embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic thereof, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, and are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a read-only memory (ROM), a random access memory (random access memory, RAM), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (26)

1. An objective function solving method based on a cloud computing technology, the method being applied to a cloud management platform, the method comprising:
the cloud management platform acquires user data uploaded by a tenant, wherein the user data comprises an objective function and constraint information;
the cloud management platform determines a first cutting plane set corresponding to the user data according to a first artificial intelligent AI model, wherein the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, and the M cutting planes to be selected are a plurality of constraint conditions for solving the objective function, wherein M and N are positive integers, and N is smaller than M;
and solving by the cloud management platform according to the first cutting plane set and the objective function to obtain a solving result of the objective function, and providing the solving result for the tenant and/or storing.
2. The method according to claim 1, wherein the method further comprises:
the cloud management platform determines the first AI model input or selected by the tenant;
the cloud management platform generates M cutting planes to be selected according to the objective function and the constraint information;
The cloud management platform determines a first cutting plane set corresponding to the user data according to a first model, and comprises the following steps:
the cloud management platform determines the selection proportion of the cutting planes corresponding to the objective function according to the first AI model, wherein the input of the first model comprises the objective function, the constraint information and the M cutting planes to be selected;
and the cloud management platform selects the first cutting plane set from the M cutting planes to be selected according to the selection proportion of the cutting planes.
3. The method of claim 1 or 2, wherein the first AI model is any one of: neural network model, decision tree model, logistic regression model.
4. A method according to any one of claims 1 to 3, further comprising:
the cloud management platform performs dimension reduction processing on the objective function according to a second AI model to obtain a low-dimensional representation of the objective function; and/or
The cloud management platform performs dimension reduction processing on the constraint information according to the second AI model to obtain low-dimensional representation of the constraint information; and/or
And the cloud management platform performs dimension reduction processing on the M cutting planes to be selected according to the second AI model to obtain low-dimensional representations of the M cutting planes to be selected.
5. The method of claim 4, wherein the input of the first AI model comprises a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M planes to be selected.
6. The method of claim 4 or 5, wherein the second AI model is any one of: the graph convolves the neural network with a principal component analysis model.
7. The method according to any one of claims 2 to 6, further comprising:
and the cloud management platform determines the adding sequence of N cutting planes included in the first cutting plane set according to a third AI model, wherein the input of the third AI model is the selection proportion of the M cutting planes to be selected and the cutting planes corresponding to the objective function.
8. The method of claim 7, wherein the third AI model is any one of: pointer network model, regression model, decision tree model.
9. The method according to any one of claims 1 to 8, further comprising:
the cloud management platform provides any one or a combination of any of the following information to the tenant: and selecting the proportion of the cutting planes corresponding to the objective function, wherein N cutting planes in the first cutting plane set are added in sequence.
10. The method according to any one of claims 1 to 9, wherein the first AI model is obtained by training the cloud management platform according to an objective function, constraint information, M planes to be selected and a selection ratio of the planes corresponding to the objective function.
11. An objective function solving device based on a cloud computing technology, which is characterized in that the device is applied to a cloud management platform and comprises:
the system comprises an acquisition module, a processing module and a processing module, wherein the acquisition module is used for acquiring user data uploaded by a tenant, and the user data comprises an objective function and constraint information;
the determining module is used for determining a first cutting plane set corresponding to the user data according to a first artificial intelligence AI model, wherein the first cutting plane set is N cutting planes selected by the first AI model from M cutting planes to be selected, and the M cutting planes to be selected are a plurality of constraint conditions for solving the objective function, wherein M and N are positive integers, and N is smaller than M;
and the solving module is used for solving the objective function according to the first cutting plane set and the objective function to obtain a solving result of the objective function, and providing the solving result for the tenant and/or storing the solving result.
12. The apparatus of claim 11, wherein the device comprises a plurality of sensors,
the determining module is further configured to determine the first AI model input or selected by the tenant;
the apparatus further comprises:
the generation module is used for generating the M cutting planes to be selected according to the objective function and the constraint information;
the determining module is further configured to determine a selection proportion of a cutting plane corresponding to the objective function according to the first AI model, where input of the first model includes the objective function, the constraint information, and the M cutting planes to be selected;
the determining module is further configured to select the first cutting plane set from the M cutting planes to be selected according to a selection ratio of the cutting planes.
13. The apparatus of claim 11 or 12, wherein the first AI model is any one of: neural network model, decision tree model, logistic regression model.
14. The apparatus of claim 13, wherein the apparatus further comprises:
the dimension reduction module is used for carrying out dimension reduction processing on the objective function according to a second AI model to obtain a low-dimension representation of the objective function; and/or
The dimension reduction module is further configured to perform dimension reduction processing on the constraint information according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or
The dimension reduction module is further configured to perform dimension reduction processing on the M cutting planes to be selected according to the second AI model to obtain a low-dimension representation of the M cutting planes to be selected.
15. The apparatus of claim 14, wherein the input of the first AI model comprises a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M planes to be selected.
16. The apparatus of claim 15, wherein the second AI model is any one of: the graph convolves the neural network with a principal component analysis model.
17. The apparatus of any one of claims 12 to 16, wherein the determining module is further configured to:
and determining the adding sequence of N cutting planes included in the first cutting plane set according to a third AI model, wherein the input of the third AI model is the selection proportion of the M cutting planes to be selected and the cutting planes corresponding to the objective function.
18. The apparatus of claim 17, wherein the third AI model is any one of: pointer network model, regression model, decision tree model.
19. The apparatus according to any one of claims 11 to 18, further comprising:
a sending module, configured to provide any one or a combination of any of the following information to the tenant: and selecting the proportion of the cutting planes corresponding to the objective function, wherein N cutting planes in the first cutting plane set are added in sequence.
20. The apparatus of any one of claims 11 to 19, wherein the first AI model is trained by the cloud management platform according to an objective function, constraint information, M planes to be selected, and a selection ratio of planes corresponding to the objective function.
21. A computing device comprising a processor and a memory, the processor to execute instructions stored in the memory to cause the computing device to perform the method of any of claims 1-10.
22. A cluster of computing devices, comprising at least one computing device, each computing device comprising a processor and a memory;
the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the method of any one of claims 1 to 10.
23. A computer program product containing instructions that, when executed by a computing device, cause the computing device to perform the method of any of claims 1 to 10.
24. A computer program product containing instructions that, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1 to 10.
25. A computer readable storage medium comprising computer program instructions which, when executed by a computing device, perform the method of any of claims 1 to 10.
26. A computer readable storage medium comprising computer program instructions which, when executed by a cluster of computing devices, perform the method of any of claims 1 to 10.
CN202211089130.8A 2022-07-01 2022-09-07 Cloud computing technology-based objective function solving method and device and computing equipment Pending CN117370715A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/084031 WO2024001344A1 (en) 2022-07-01 2023-03-27 Target function solving method and apparatus based on cloud computing technology and computing device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210773918 2022-07-01
CN2022107739184 2022-07-01

Publications (1)

Publication Number Publication Date
CN117370715A true CN117370715A (en) 2024-01-09

Family

ID=89389877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211089130.8A Pending CN117370715A (en) 2022-07-01 2022-09-07 Cloud computing technology-based objective function solving method and device and computing equipment

Country Status (1)

Country Link
CN (1) CN117370715A (en)

Similar Documents

Publication Publication Date Title
Xu et al. Unleashing the power of edge-cloud generative ai in mobile networks: A survey of aigc services
US9990558B2 (en) Generating image features based on robust feature-learning
CN111406267B (en) Neural architecture search using performance prediction neural networks
EP3711000B1 (en) Regularized neural network architecture search
US11100399B2 (en) Feature extraction using multi-task learning
Barnes Azure machine learning
McClure TensorFlow machine learning cookbook
US11645548B1 (en) Automated cloud data and technology solution delivery using machine learning and artificial intelligence modeling
KR20190113928A (en) Device placement optimization through reinforcement learning
CN107169573A (en) Using composite machine learning model come the method and system of perform prediction
CN111406264A (en) Neural architecture search
US20190228297A1 (en) Artificial Intelligence Modelling Engine
CN113822315A (en) Attribute graph processing method and device, electronic equipment and readable storage medium
US11836220B2 (en) Updating of statistical sets for decentralized distributed training of a machine learning model
Wang et al. A Task Scheduling Strategy in Edge‐Cloud Collaborative Scenario Based on Deadline
CN116684330A (en) Traffic prediction method, device, equipment and storage medium based on artificial intelligence
Eban et al. Learning the experts for online sequence prediction
CN116861877A (en) Template construction method, device, equipment and storage medium based on reinforcement learning
CN111898766A (en) Ether house fuel limitation prediction method and device based on automatic machine learning
Yu et al. An improved artificial bee colony algorithm based on factor library and dynamic search balance
US20230186145A1 (en) Knowledge augmented sequential decision-making under uncertainty
CN117370715A (en) Cloud computing technology-based objective function solving method and device and computing equipment
US20230139396A1 (en) Using learned physical knowledge to guide feature engineering
JP2024504179A (en) Method and system for lightweighting artificial intelligence inference models
WO2024001344A1 (en) Target function solving method and apparatus based on cloud computing technology and computing device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Xijun

Inventor after: Li Jianshu

Inventor after: Wang Zhihai

Inventor after: Zeng Jia

Inventor after: Wang Jie

Inventor before: Li Xijun

Inventor before: Li Jianshu

Inventor before: Wang Zhihai

Inventor before: Zeng Jia

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240222

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant after: Huawei Cloud Computing Technologies Co.,Ltd.

Country or region after: China

Applicant after: University of Science and Technology of China

Address before: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Applicant before: Huawei Cloud Computing Technologies Co.,Ltd.

Country or region before: China