WO2023185714A1 - Procédé de traitement de tâche informatique et son dispositif associé - Google Patents
Procédé de traitement de tâche informatique et son dispositif associé Download PDFInfo
- Publication number
- WO2023185714A1 WO2023185714A1 PCT/CN2023/084027 CN2023084027W WO2023185714A1 WO 2023185714 A1 WO2023185714 A1 WO 2023185714A1 CN 2023084027 W CN2023084027 W CN 2023084027W WO 2023185714 A1 WO2023185714 A1 WO 2023185714A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mixed integer
- integer programming
- equation
- operator
- programming equation
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 122
- 238000012545 processing Methods 0.000 claims abstract description 76
- 239000011159 matrix material Substances 0.000 claims description 176
- 238000007781 pre-processing Methods 0.000 claims description 141
- 238000004519 manufacturing process Methods 0.000 claims description 91
- 239000000463 material Substances 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000000903 blocking effect Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 11
- 238000013439 planning Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 58
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000013178 mathematical model Methods 0.000 description 7
- 239000002994 raw material Substances 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000005457 optimization Methods 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Definitions
- the present application relates to the field of computer technology, and in particular, to a computer task processing method and related equipment.
- Mixed integer programming usually includes two types of problems: linear programming and nonlinear programming.
- linear programming For example, assuming that a task to be processed is to obtain the factory's production plan, the generated plan not only needs to meet the goals of maximizing factory demand and minimizing the total factory cost, but also needs to meet the hard constraints and soft constraints specified by the actual business scenario. etc., the mathematical model abstracted based on the requirements that the production plan needs to meet can be simplified into the corresponding linear programming equation. Then, by solving the linear programming equation, the production plan of the factory can be obtained.
- the processor preprocesses (presolve) the mixed integer programming equation to reduce the size of the variables and constraint matrices in the equation, thereby obtaining the preprocessed (simplified) mixed integer programming equation, and then performs the preprocessed mixed integer programming equation Solve, which makes solving the equation less difficult.
- the solver multiple operators for preprocessing are provided, so the solver can execute all operators on the mixed integer programming equation in a certain order to achieve preprocessing of the mixed integer programming equation.
- different mixed integer programming equations may be used to describe the tasks to be processed in different fields.
- Some mixed integer programming equations may not require the use of all operators to achieve preprocessing. Therefore, existing solvers are in the process of preprocessing. , the factors considered are relatively single, causing the preprocessing process to consume too much time.
- Embodiments of the present application provide a computer task processing method and related equipment, which can effectively reduce the time consumed in the equation preprocessing process and improve the performance of the equation solving process.
- a first aspect of the embodiments of the present application provides a computer task processing method, which method includes:
- mixed integer programming equations When a task needs to be processed, the mixed integer programming equation used to describe the task to be processed can be obtained (mixed integer programming refers to that in some planning problems, the elements in the variables can be either integers or non-integers)
- mixed integer programming equations usually include two major types of equations, namely linear programming equations and nonlinear programming equations.
- linear programming equations namely linear programming equations and nonlinear programming equations.
- the mathematical model abstracted based on the production plan to be solved and the requirements that the production plan to be solved can be simplified into the corresponding linear programming equation.
- the The production plan to be solved is usually presented in the form of a vector, so the elements contained in the production plan to be solved can be integers or non-integers.
- the production plan to be solved contains 10 elements.
- the first element represents the quantity of raw materials that the factory needs to produce on day 1
- the second element represents the quantity of raw materials that the factory needs to produce on day 2
- the 10th element represents the quantity of raw materials that the factory needs to produce on the 10th day. Therefore, the values of these elements can be either integers (for example, the factory needs to produce 1 ton of raw materials on the 1st day) or non-integers (for example, on the 2nd day The factory needs to produce 0.5 tons of raw materials per day).
- the structure of the mixed integer programming equation can be identified, thereby obtaining information related to the structure of the mixed integer programming equation, which is used to indicate the structure of the mixed integer programming equation. It is worth noting that the operation of structure identification mainly focuses on analyzing the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation, thereby determining the structural composition of the mixed integer programming equation. Therefore, the obtained results are consistent with those of the mixed integer programming equation.
- the structure-related information is also associated with at least one of the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation.
- the target operator can be determined from the operator resource pool based on this information. It should be noted that the operator resource pool provides multiple operators for selection. Therefore, based on the information related to the structure of the mixed integer programming equation, the operator resource pool can be selected to implement the prediction of the mixed integer programming equation. At least one operator is processed, and the selected operators are the target operators.
- preprocessing (presolve) of the mixed integer programming equation can be implemented based on the target operator, thereby obtaining the preprocessed mixed integer programming equation.
- the preprocessed mixed integer programming equation can be solved to obtain the corresponding solution, which can be used as the processing result of the aforementioned task (for example, the solved production plan of a certain factory) .
- the target operator can be determined in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- This information is related to At least one of the following is relevant: the variables of a mixed integer programming equation and the constraint matrix of a mixed integer programming equation.
- the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation.
- the preprocessed mixed integer programming equation can be solved, and the obtained solution can be used as the processing result of the task.
- the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to describe a specific type of task), so as to select a specific target operator for the mixed integer programming equation, thereby realizing the preprocessing of the mixed integer programming equation, which can effectively reduce the cost of the equation preprocessing process time consumed and improves the performance of the equation solving process.
- the structure-related information may include at least one of the following: (1) The dimensions of the variables of the mixed integer programming equation, that is, the number of elements contained in the variables of the mixed integer programming equation. (2) The sparsity of the constraint matrix of the mixed integer programming equation, that is, the number of zero-valued elements in the constraint matrix of the mixed integer programming equation. (3) Block information of the constraint matrix of the mixed integer programming equation. The block information of the mixed integer programming equation is used to indicate the submatrix with zero elements contained in the constraint matrix of the mixed integer programming equation.
- the block information is used In the constraint matrix indicating the mixed integer programming equation, there is a certain region (several regions) in which the elements are all zero.
- the rows in the constraint matrix of the mixed integer programming equation have a calculation relationship with the variables of the mixed integer programming equation. Since each row in the constraint matrix of the mixed integer programming equation will be multiplied by the variables of the mixed integer programming equation, if the mixed integer programming equation is mixed A row (all elements) of a row in the constraint matrix of an integer programming equation is zero, It means that there is no calculation relationship between this row and the variables of the mixed integer programming equation. If a certain row (any element) in the constraint matrix of the mixed integer programming equation is not zero, it means that there is no calculation relationship between this row and the variables of the mixed integer programming equation. There is a calculation relationship between them.
- determining the target operator in the operator resource pool includes: in the equation resource pool, determining the information related to the structure of the mixed integer programming equation.
- the equation resource pool contains multiple preset equations with different structures (which can also be understood as equation templates with different structures set in advance), and information related to the structure of the mixed integer programming equation is used to indicate mixed integer programming.
- the structural category of the equation therefore, is to traverse the equation resource pool to find a preset equation that matches the information related to the structure of the mixed integer programming equation.
- the preset equation and the mixed integer programming equation have a similar structure or The same two equations.
- the preset equations since the preset equations are set in advance, it can be determined which operators in the operator resource pool are used in the preprocessing of the preset equations, and This part of the operators is determined as the operators used to realize the preprocessing of the mixed integer programming equation, that is, the target operator. It can be seen that the embodiment of the present application provides an equation resource pool.
- the operator used for preprocessing of the preset equation can be used as the operator used for preprocessing of the mixed integer programming equation to reduce the impact of human intervention on preprocessing, thereby Preprocessing effects of optimization equations.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1.
- the second threshold is usually determined based on the number of iterations k, and generally increases with the increase of the number of iterations k, That is, there is a positive correlation between the two).
- the sum of the index of the i-th target operator in the 1st iteration to the index of the i-th target operator in the j-1th iteration is greater than or equal to the first threshold, it means that there is no need to continue executing the i-th operation in the future. target operator, then in the j-th iteration to the k-th iteration, the i-th target operator is skipped. If the index of the i-th target operator in the j-1th iteration is less than the second threshold, it means that the i-th operator can currently be executed, then the i-th target operator is executed on the updated mixed integer programming equation, and Generate the index of the i-th target operator in the j-th iteration.
- the index of the i-th target operator in the j-th iteration can be generated in the following way: first, determine the rows deleted by the i-th target operator in the 1st iteration to the j-th iteration. in the updated mixed integer programming equation. Then, calculation is performed based on this proportion to obtain the index of the i-th target operator in the j-th iteration. If the index of the i-th target operator in the j-1th iteration is greater than or equal to the second threshold, it means that the i-th operator cannot be executed currently, then jump to the i+1-th target operator, and perform the operation of the i-th target operator.
- i+1 target operators execute the above steps until the jth iteration of n target operators is completed. Continue to execute the j+1th iteration of n target operators until the kth iteration of n target operators is completed, and obtain the preprocessed mixed integer programming equation.
- a certain iteration strategy that is, during the iteration process, when the role of an operator becomes smaller, it can be considered that the benefit of continuing to execute the operator in subsequent iterations is limited, and the execution of the operator should be stopped in time .
- a corresponding stopping mechanism is also designed for the preprocessing cycle. In this way, not only the mixed integer programming equation can be effectively simplified, but also unnecessary preprocessing processes can be reduced, thereby reducing the time overhead of preprocessing.
- the number of iterations of the n target operators is the same. Furthermore, in the preprocessing for the preset equation and the preprocessing for the mixed integer programming equation, the execution order of the n target operators is the same.
- the algorithm used for preprocessing of the preset equation can be The number of sub-iterations and the order of operator execution are used as the number of operator iterations and the order of operator execution used for preprocessing of the mixed integer programming equation to reduce the impact of human intervention on preprocessing and thereby optimize the preprocessing effect of the equation.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation; further, as mentioned above
- the first threshold and the aforementioned second threshold are determined based on the number of iterations of n target operators.
- the mixed integer programming equation is preprocessed based on the target operator, and before the preprocessed mixed integer programming equation is obtained, the method further includes: merging rows with a multiple relationship in the constraint matrix, or , set the multiple columns in the constraint matrix to the same column to obtain the constraint matrix after the redundancy is removed; update the mixed integer programming equation based on the constraint matrix after the redundancy is removed, and obtain the updated mixed integer programming equation; Preprocessing the mixed integer programming equation based on the objective operator to obtain the preprocessed mixed integer programming equation includes: preprocessing the updated mixed integer programming equation based on the objective operator to obtain the preprocessed mixed integer programming equation.
- the mixed integer programming equation in order to achieve better preprocessing, can be deredundant in advance.
- This operation can be any of the following three situations: (1) In the constraints of the mixed integer programming equation In the matrix, the rows with a multiple relationship can be determined in a certain way, and these rows can be merged to obtain the constraint matrix after the merged rows. In the constraint matrix after merging rows, the columns with multiple relationships can be determined in the same way, and these columns are set to the same columns to obtain the constraint matrix after redundancy is removed. (2) In the constraint matrix of the mixed integer programming equation, the rows with multiple relationships can be determined in a certain way, and these rows can be merged to obtain the constraint matrix after removing redundancy.
- the columns with a multiple relationship can be determined in a certain way, and these columns are set to the same column to obtain the constraint matrix after redundancy is removed.
- the original mixed integer programming equation can be updated with the redundancy removal constraint matrix to obtain the updated mixed integer programming equation.
- the preprocessing object is transformed from the original mixed integer programming equation to the updated mixed integer programming equation, which can optimize the preprocessing effect.
- the second aspect of the embodiment of the present application provides a method for obtaining a production plan.
- the method includes: obtaining a mixed integer programming equation, which is used to describe the production plan to be solved; based on the structure related to the mixed integer programming equation. information, determine the target operator in the operator resource pool, and the target operator is part of the operators in the operator resource pool; preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming equation; The preprocessed mixed integer programming equation is solved to obtain the solved production plan.
- the target operator can be determined in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- This information Related to at least one of the following: variables of a mixed integer programming equation and constraint matrices of a mixed integer programming equation. Then, based on the goals The operator preprocesses the mixed integer programming equation and obtains the preprocessed mixed integer programming equation. Finally, the preprocessed mixed integer programming equation can be solved to obtain the solved production plan.
- the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to solve the production plan of factories and enterprises in the field of supply chain), so as to select a specific target operator for this mixed integer programming equation, so as to achieve the preprocessing of this mixed integer programming equation, can be effective Reduce the time consumed by the equation preprocessing process and improve the performance of the equation solving process.
- variable of the mixed integer programming equation is the production plan to be solved
- constraint matrix of the mixed integer programming equation includes at least one of the following: material constraints, productivity constraints, and time that the production plan to be solved needs to satisfy.
- Processing constraints such as constraints or traffic constraints.
- material constraints can include the upper limit of materials that can be used in production and material ratios, etc.
- Productivity constraints can include the upper limit of the number of production workers required during production, the upper limit of work efficiency, etc.
- time Constraints may include the delivery date of the product, etc.
- Transportation constraints may include the upper limit of transportation costs required during production and the upper limit of the number of transportation vehicles required during production, etc.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: the dimensions of the variables, the sparsity of the constraint matrix, the block information of the constraint matrix, or the existence of a computational relationship with the variables in the constraint matrix. rows, where the blocking information is used to indicate that the constraint matrix contains submatrices with zero elements.
- determining the target operator in the operator resource pool includes: in the equation resource pool, determining the information related to the structure of the mixed integer programming equation.
- the preset equation that matches the information; in the operator resource pool, the operator corresponding to the preprocessing of the preset equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1. Integer of If the sum of indicators from the indicators in the iteration to the i-th target operator in the j-1 iteration is greater than or equal to the first threshold, then the i-th target is skipped in the j-th iteration to the k-th iteration.
- index in iterations or, if the index of the i-th target operator in the j-1th iteration is greater than or equal to the second threshold, then perform the above steps for the i+1th target operator until n The jth iteration of the target operator; execute the j+1 iteration of the n target operators until the kth iteration of the n target operators is completed, and obtain the preprocessed mixed integer programming equation.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the mixed integer programming equation is preprocessed based on the target operator, and before the preprocessed mixed integer programming equation is obtained, the method further includes: merging rows with a multiple relationship in the constraint matrix, or , set the multiple columns in the constraint matrix to the same column to obtain the constraint matrix after the redundancy is removed; based on the constraints after the redundancy is removed
- the matrix updates the mixed integer programming equation to obtain the updated mixed integer programming equation; the mixed integer programming equation is preprocessed based on the target operator, and the preprocessed mixed integer programming equation is obtained, including: based on the target operator, the updated mixed integer programming equation is obtained
- the mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation.
- the third aspect of the embodiment of the present application provides a power grid dispatching method.
- the method includes: obtaining a mixed integer programming equation, which is used to describe the power consumption dispatch plan to be solved; based on the structure of the mixed integer programming equation Relevant information, determine the target operator in the operator resource pool, and the target operator is part of the operators in the operator resource pool; preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming Equation; solve the preprocessed mixed integer programming equation to obtain the solved power consumption dispatch plan.
- the fourth aspect of the embodiment of the present application provides a central site selection method, which method includes: obtaining a mixed integer programming equation, which is used to describe the address selection plan to be solved; based on the structural correlation with the mixed integer programming equation information, determine the target operator in the operator resource pool, and the target operator is some of the operators in the operator resource pool; preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming equation ; Solve the preprocessed mixed integer programming equation to obtain the solved address selection plan.
- the fifth aspect of the embodiment of the present application provides a computer task processing device.
- the device includes: an acquisition module for acquiring a mixed integer programming equation, which is used to describe the task to be processed; and a determination module for based on Information related to the structure of the mixed integer programming equation, determine the target operator in the operator resource pool, and the target operator is part of the operators in the operator resource pool; the preprocessing module is used to perform mixed integer planning based on the target operator
- the equation is preprocessed to obtain the preprocessed mixed integer programming equation; the solving module is used to solve the preprocessed mixed integer programming equation, and the obtained solution is used as the processing result of the task.
- the target operator can be determined in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- This information is related to At least one of the following is relevant: the variables of a mixed integer programming equation and the constraint matrix of a mixed integer programming equation.
- the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation.
- the preprocessed mixed integer programming equation can be solved, and the obtained solution can be used as the processing result of the task.
- the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to describe a specific type of task), so as to select a specific target operator for the mixed integer programming equation, thereby realizing the preprocessing of the mixed integer programming equation, which can effectively reduce the cost of the equation preprocessing process time consumed and improves the performance of the equation solving process.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: the dimensions of the variables, the sparsity of the constraint matrix, the block information of the constraint matrix, and the existence of a calculation relationship with the variables in the constraint matrix. rows, where the blocking information is used to indicate that the constraint matrix contains submatrices with zero elements.
- the determination module is used to: in the equation resource pool, determine the preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine the preset equation for The operator used in the preprocessing of the equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the device further includes: a redundancy removal module, used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed; the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation; the preprocessing module is used to update the mixture based on the target operator The final mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation.
- a redundancy removal module used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed
- the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation
- the preprocessing module is used to update the mixture based on the target operator
- the final mixed integer programming equation is preprocessed to obtain the pre
- the sixth aspect of the embodiment of the present application provides a production plan acquisition device.
- the device includes: an acquisition module for acquiring a mixed integer programming equation.
- the mixed integer programming equation is used to describe the production plan to be solved in the field of supply chain; determine
- the module is used to determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- the target operator is part of the operators in the operator resource pool;
- the preprocessing module is used to determine the target operator based on the target operator resource pool.
- the module preprocesses the mixed integer programming equation to obtain the preprocessed mixed integer programming equation;
- the solving module is used to solve the preprocessed mixed integer programming equation to obtain the solved production plan.
- the target operator can be determined in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- This information Related to at least one of the following: variables of a mixed integer programming equation and constraint matrices of a mixed integer programming equation.
- the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation.
- the preprocessed mixed integer programming equation can be solved to obtain the solved production plan.
- the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to solve the production plan of factories and enterprises in the field of supply chain), so as to select a specific target operator for this mixed integer programming equation, so as to achieve the preprocessing of this mixed integer programming equation, can be effective Reduce the time consumed by the equation preprocessing process and improve the performance of the equation solving process.
- variable of the mixed integer programming equation is the production plan to be solved
- constraint matrix of the mixed integer programming equation includes at least one of the following: material constraints, productivity constraints, and time that the production plan to be solved needs to satisfy. restraints or traffic constraints.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: The dimension of the variable, the sparsity of the constraint matrix, the blocking information of the constraint matrix, or the rows in the constraint matrix that have a computational relationship with the variable, where the blocking information is used to indicate the submatrix whose elements are zero contained in the constraint matrix.
- the determination module is used to: in the equation resource pool, determine the preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine the preset equation for The operator corresponding to the preprocessing of the equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the device further includes: a redundancy removal module, used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed; the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation; the preprocessing module is used to update the mixture based on the target operator The final mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation.
- a redundancy removal module used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed
- the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation
- the preprocessing module is used to update the mixture based on the target operator
- the final mixed integer programming equation is preprocessed to obtain the pre
- the seventh aspect of the embodiment of the present application provides a power grid dispatching device.
- the device includes: an acquisition module, used to obtain a mixed integer programming equation, which is used to describe the power consumption dispatch plan to be solved; a determination module, It is used to determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- the target operator is a part of the operators in the operator resource pool; the preprocessing module is used to determine the target operator based on the target operator.
- the mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation; the solving module is used to solve the preprocessed mixed integer programming equation to obtain the solved power consumption dispatch plan.
- the eighth aspect of the embodiment of the present application provides a center site selection method.
- the device includes: an acquisition module, used to obtain a mixed integer programming equation, which is used to describe the address selection plan to be solved; a determination module, using Based on the information related to the structure of the mixed integer programming equation, the target operator is determined in the operator resource pool, and the target operator is part of the operators in the operator resource pool; the preprocessing module is used to pair the mixture based on the target operator
- the integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation; the solving module is used to solve the preprocessed mixed integer programming equation to obtain the solved address selection plan.
- a ninth aspect of the embodiment of the present application provides a computer task processing device.
- the device includes: a processor, a memory, a bus, and an input and output device.
- the processor is connected to the memory and the input and output devices.
- the bus is connected to the processor, the memory, and the input and output devices respectively.
- the input and output devices are connected; the input and output devices are used to obtain mixed integer programming equations, and the mixed integer programming equations are used to describe the tasks to be processed; an operator resource pool is stored in the memory; the processor is used to: obtain the operator resource pool from the memory , and based on the information related to the structure of the mixed integer programming equation, determine the target operator in the operator resource pool, and the target operator is some of the operators in the operator resource pool; predict the mixed integer planning equation based on the target operator Process to obtain the preprocessed mixed integer programming equation; solve the preprocessed mixed integer programming equation, and the obtained solution is used as the processing result of the task.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: dimensions of variables of the mixed integer programming equation, sparsity of the constraint matrix of the mixed integer programming equation, and block partitioning of the constraint matrix.
- the processor is configured to: in the equation resource pool, determine a preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine the preset equation for The operator corresponding to the preprocessing of the equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the processor is also used to: merge rows that are in a multiple relationship in the constraint matrix, or set columns that are in a multiple relationship in the constraint matrix to the same column to obtain the deredundant Constraint matrix; update the mixed integer programming equation based on the redundantly removed constraint matrix to obtain the updated mixed integer programming equation; processor, used for: preprocessing the updated mixed integer programming equation based on the target operator, Obtain the preprocessed mixed integer programming equation.
- the tenth aspect of the embodiment of the present application provides a production plan acquisition device.
- the device includes: a processor, a memory, a bus, and an input and output device.
- the processor is connected to the memory and the input and output devices.
- the bus is connected to the processor, the memory, and the input and output devices respectively.
- the input and output devices are connected; the input and output devices are used to obtain mixed integer programming equations, which are used to describe the production plan to be solved in the field of supply chain; an operator resource pool is stored in the memory; the processor is used to:
- the operator resource pool from the memory, and determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- the target operator is some of the operators in the operator resource pool; based on the target
- the operator preprocesses the mixed integer programming equation to obtain the preprocessed mixed integer programming equation; it solves the preprocessed mixed integer programming equation to obtain the solved production plan.
- variable of the mixed integer programming equation is the production plan to be solved
- constraint matrix of the mixed integer programming equation includes at least one of the following: material constraints, productivity constraints, and time that the production plan to be solved needs to satisfy. restraints or traffic constraints.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: dimensions of variables of the mixed integer programming equation, sparsity of the constraint matrix of the mixed integer programming equation, and block partitioning of the constraint matrix.
- the processor is configured to: in the equation resource pool, determine a preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine the preset equation for The operator corresponding to the preprocessing of the equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is k times, and both n and k are greater than or equal to 1.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the processor is also used to: merge rows that are in a multiple relationship in the constraint matrix, or set columns that are in a multiple relationship in the constraint matrix to the same column to obtain the deredundant Constraint matrix; update the mixed integer programming equation based on the redundantly removed constraint matrix to obtain the updated mixed integer programming equation; processor, used for: preprocessing the updated mixed integer programming equation based on the target operator, Obtain the preprocessed mixed integer programming equation.
- the eleventh aspect of the embodiment of the present application provides a power grid dispatching device.
- the device includes: a processor, a memory, a bus, and an input and output device.
- the processor is connected to the memory and the input and output devices.
- the bus is connected to the processor, the memory, and the input and output devices respectively.
- the input and output devices are connected; the input and output devices are used to obtain mixed integer programming equations, and the mixed integer programming equations are used to describe the power consumption scheduling plan to be solved in the power field; an operator resource pool is stored in the memory; the processor is used to: obtain from the memory Obtain the operator resource pool in the operator resource pool, and based on the information related to the structure of the mixed integer programming equation, in the operator resource pool Determine the target operator, which is part of the operator in the operator resource pool; preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming equation; perform the preprocessed mixed integer The planning equation is solved to obtain the solved power consumption schedule.
- a twelfth aspect of the embodiment of the present application provides a central address selection device.
- the device includes: a processor, a memory, a bus, and an input and output device.
- the processor is connected to the memory and the input and output devices, and the bus is connected to the processor and the memory respectively. It is connected to the input and output devices; the input and output devices are used to obtain mixed integer programming equations, and the mixed integer programming equations are used to describe the address selection plan to be solved in the field of cloud technology; an operator resource pool is stored in the memory; the processor is used to:
- the operator resource pool from the memory, and determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation.
- the target operator is some of the operators in the operator resource pool; based on the target
- the operator preprocesses the mixed integer programming equation to obtain the preprocessed mixed integer programming equation; it solves the preprocessed mixed integer programming equation to obtain the solved address selection plan.
- a thirteenth aspect of the embodiments of the present application provides a computer storage medium.
- the computer storage medium stores a computer program.
- the program When the program is executed by a computer, the computer implements the first aspect and any possible implementation manner of the first aspect. , the method described in the second aspect or any possible implementation of the second aspect.
- a fourteenth aspect of the embodiments of the present application provides a computer program product.
- the computer program product stores instructions.
- the instructions When the instructions are executed by a computer, the computer implements the first aspect and any possible implementation manner of the first aspect. , the method described in the second aspect or any possible implementation of the second aspect.
- the target operator after obtaining the mixed integer programming equation used to describe the task to be processed, the target operator can be determined in the operator resource pool based on information related to the structure of the mixed integer programming equation. This information is related to the following At least one item is relevant: the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation. Then, the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation. Finally, the preprocessed mixed integer programming equation can be solved, and the obtained solution can be used as the processing result of the task. In the foregoing process, the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to describe a specific type of task), so as to select a specific target operator for the mixed integer programming equation, thereby realizing the preprocessing of the mixed integer programming equation, which can effectively reduce the cost of the equation preprocessing process time consumed and improves the performance of the equation solving process.
- Figure 1 is a schematic structural diagram of a computer task processing system provided by an embodiment of the present application.
- Figure 2 is another structural schematic diagram of a computer task processing system provided by an embodiment of the present application.
- Figure 3a shows an exemplary structural diagram of the terminal device 300
- Figure 3b is an architectural schematic diagram of a solver provided by an embodiment of the present application.
- Figure 4 is a schematic flowchart of a computer task processing method provided by an embodiment of the present application.
- Figure 5 is a schematic flow chart of preprocessing provided by the embodiment of the present application.
- Figure 6 is a schematic diagram of an application example of the computer task processing method provided by the embodiment of the present application.
- Figure 7 is a schematic diagram of the material assembly relationship in the production process provided by the embodiment of the present application.
- Figure 8 is a schematic diagram of the comparison results provided by the embodiment of the present application.
- Figure 9 is a schematic structural diagram of a computer task processing device provided by an embodiment of the present application.
- Figure 10 is a schematic structural diagram of a production plan acquisition device provided by an embodiment of the present application.
- Embodiments of the present application provide a computer task processing method and related equipment, which can effectively reduce the time consumed in the equation preprocessing process and improve the performance of the equation solving process.
- Mixed integer programming usually includes two types of problems: linear programming and nonlinear programming.
- linear programming For example, assuming that a task to be processed is to obtain the factory's production plan, the generated plan not only needs to meet the goals of maximizing factory demand and minimizing the total factory cost, but also needs to meet the hard constraints and soft constraints specified by the actual business scenario. etc., the mathematical model abstracted based on the requirements that the production plan needs to meet can be simplified into the corresponding linear programming equation. Then, by solving the linear programming equation, the production plan of the factory can be obtained.
- the solver provided by the relevant technology can be used to preprocess (presolve) the mixed integer programming equation to reduce the size of the variables and constraint matrices in the equation, thereby obtaining the preprocessed (simplified) mixed integer programming equation. , and then solve the preprocessed mixed integer programming equation to obtain the corresponding solution. Based on this solution method, the difficulty of solving mixed integer programming equations can be effectively reduced.
- the solver multiple operators for preprocessing are provided, so the solver can execute all operators on the mixed integer programming equation in a certain order to achieve preprocessing of the mixed integer programming equation.
- different mixed integer programming equations may be used to describe tasks to be processed in different fields.
- Some mixed integer programming equations may not require the use of all operators to implement preprocessing. More operators are required, and some mixed integer programming equations require fewer operators when implementing preprocessing. Therefore, existing solvers consider only a single factor when preprocessing mixed integer programming equations. This causes the preprocessing process to consume too much time.
- the solver executes multiple operators on the mixed integer programming equation, it is usually executed multiple times in a loop, and the number of iterations of the operators is usually set artificially.
- artificial settings often rely on expert experience, and different mixed integer programming equations may be used to describe tasks to be processed in different fields.
- artificially setting the number of operator iterations is often not enough. Accurate, resulting in insufficient preprocessing effect of the equation.
- embodiments of the present application provide a computer task processing method (which can also be considered to provide a new solver).
- This method makes certain improvements on the solvers of related technologies, so that it can Mixed integer programming equations (including linear programming equations, nonlinear programming equations, etc.) used to describe tasks in different fields are preprocessed and solved with high quality to obtain the processing results of the tasks.
- the methods provided by the embodiments of this application can be applied in a variety of scenarios, The application scenarios of this method will be introduced below:
- FIG. 1 is a schematic structural diagram of a computer task processing system provided by an embodiment of the present application.
- the computer task processing system includes user equipment and data processing equipment.
- user equipment includes smart terminals such as mobile phones, personal computers, or information processing centers.
- the user equipment is the initiator of the data sequence processing. As the initiator of the data sequence processing request, the user usually initiates the request through the user equipment.
- the above-mentioned data processing equipment may be a cloud server, a network server, an application server, a management server, and other equipment or servers with data processing functions.
- the data processing device receives the task processing request from the smart terminal through the interactive interface, and then abstracts the task into a mixed data planning equation through the memory for storing data and the processor for data processing, and performs task processing in the form of equation preprocessing and solving.
- the memory in the data processing device can be a general term, including local storage and a database that stores historical data.
- the database can be on the data processing device or on other network servers.
- the user device can receive instructions from the user. For example, the user device can obtain a task input/selected by the user, and then initiate a request to the data processing device (usually including various parameters of the task, For example, variables of the task and various constraints that the task needs to satisfy, etc.), so that the data processing device executes a task processing application for the task obtained by the user device, thereby obtaining a processing result for the task.
- the user device can obtain a task input by the user and related parameters of the task, and then initiate a task processing request to the data processing device, so that the data processing device abstracts the task into a mixed integer equation and performs the processing on the mixed integer equation. Preprocessing, and then solving the preprocessed mixed integer equation to obtain the corresponding solution, which can be used as the processing result of the task.
- the data processing device can execute the computer task processing method or the production plan obtaining method according to the embodiment of the present application.
- FIG 2 is another structural schematic diagram of a computer task processing system provided by an embodiment of the present application.
- the user equipment directly serves as a data processing equipment.
- the user equipment can directly obtain input from the user and directly use the hardware of the user equipment itself.
- the specific process is similar to Figure 1. Please refer to the above description and will not be repeated here.
- the user equipment can receive instructions from the user. For example, the user equipment can obtain a task selected by the user in the user equipment, and then the user equipment itself executes a task processing application for the task. (For example, text summary generation, etc.), that is, abstract the task into a mixed integer equation, preprocess the mixed integer equation, and then solve the preprocessed mixed integer equation to obtain the corresponding solution, which can be used as the task processing results.
- a task processing application for the task For example, text summary generation, etc.
- the user equipment itself can execute the computer task processing method or the production plan obtaining method according to the embodiment of the present application.
- the user equipment in Figures 1 and 2 can usually be a terminal equipment used by the user, such as a mobile phone, a notebook, a personal computer, etc.
- the terminal device will be further introduced below in conjunction with Figure 3a ( Figure 3a shows an exemplary structural schematic diagram of the terminal device 300).
- the terminal device 300 includes: an application processor 301, a microcontroller unit (MCU) 303, a memory 305, a modem (modem) 307, a radio frequency (radio frequency, RF) module 309, and wireless fidelity.
- MCU microcontroller unit
- modem modem
- RF radio frequency
- End device 300 may include more or fewer components than illustrated, or combinations of certain components, or different component arrangements.
- the application processor 301 is the control center of the terminal device 300 and connects various components of the terminal device 300 using various interfaces and buses.
- processor 301 may include one or more processing units.
- Computer programs are stored in the memory 305, such as the operating system 361 and application programs 363 shown in Figure 3a.
- the application processor 301 is configured to execute the computer program in the memory 305 to implement functions defined by the computer program.
- the application processor 301 executes the operating system 361 to implement various functions of the operating system on the terminal device 300 .
- the memory 305 also stores other data in addition to computer programs, such as data generated during the operation of the operating system 361 and the application program 363.
- Memory 305 is a non-volatile storage medium, generally including internal memory and external memory. Memory includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), or cache (cache), etc.
- External storage includes but is not limited to flash memory, hard disk, optical disk, universal serial bus (USB) disk, etc.
- Computer programs are usually stored on external memory, and the processor loads the computer program from external memory into memory before executing it.
- the memory 305 can be independent and connected to the application processor 301 through a bus; the memory 305 can also be integrated with the application processor 301 into a chip subsystem.
- the MCU 303 is a co-processor used to obtain and process data from the sensor 314.
- the MCU 303 has less processing power and power consumption than the application processor 301, but has the feature of "always on" and can be used in the application processor.
- MCU 303 may be a sensor hub chip.
- Sensors 314 may include light sensors, motion sensors.
- the light sensor can include an ambient light sensor and a proximity sensor.
- the ambient light sensor can adjust the brightness of the display 351 according to the brightness of the ambient light.
- the proximity sensor can turn off the power of the display screen when the terminal device 300 moves to the ear. .
- the accelerometer sensor can detect the magnitude of acceleration in various directions (usually three axes), and can detect the magnitude and direction of gravity when stationary; the sensor 314 can also include a gyroscope, a barometer, a hygrometer, Other sensors such as thermometers and infrared sensors will not be described in detail here.
- the MCU 303 and the sensor 314 can be integrated on the same chip, or they can be separate components connected through a bus.
- Modem 307 and radio frequency module 309 constitute the terminal equipment 300 communication subsystem, which is used to implement the main functions of wireless communication standard protocols such as 3GPP and ETSI. Among them, Modem 307 is used for encoding and decoding, signal modulation and demodulation, equalization, etc.
- the radio frequency module 309 is used for receiving and transmitting wireless signals.
- the radio frequency module 309 includes but is not limited to an antenna, at least one amplifier, coupler, duplexer, etc.
- the radio frequency module 309 cooperates with the Modem 307 to implement wireless communication functions.
- Modem 307 can be used as a separate chip or can be combined with other chips or circuits to form a system-on-chip or integrated circuit. These chips or integrated circuits can be applied to all terminal devices that implement wireless communication functions, including: mobile phones, computers, notebooks, tablets, routers, wearable devices, cars, home appliances, etc.
- the terminal device 300 can also use the Wi-Fi module 311, the Bluetooth module 313, etc. to perform wireless communication.
- the Wi-Fi module 311 is used to provide the terminal device 300 with network access that complies with Wi-Fi related standard protocols.
- the terminal device 300 can access the Wi-Fi access point through the Wi-Fi module 311 and then access the Internet.
- the Wi-Fi module 311 can also serve as a Wi-Fi wireless access point and can provide Wi-Fi network access for other terminal devices.
- the Bluetooth module 313 is used to implement short-distance communication between the terminal device 300 and other terminal devices (such as mobile phones, smart watches, etc.).
- the Wi-Fi module 311 in the embodiment of the present application may be an integrated circuit or a Wi-Fi chip, etc.
- the Bluetooth module 313 may be an integrated circuit or a Wi-Fi chip. Bluetooth chip, etc.
- the positioning module 350 is used to determine the geographical location of the terminal device 300 . It can be understood that the positioning module 350 may be a receiver of a global positioning system (GPS) or a positioning system such as the Beidou Satellite Navigation System or the Russian GLONASS.
- GPS global positioning system
- GLONASS Russian GLONASS
- the Wi-Fi module 311, the Bluetooth module 313 and the positioning module 350 can be separate chips or integrated circuits, or they can be integrated together.
- the Wi-Fi module 311, the Bluetooth module 313 and the positioning module 350 can be integrated on the same chip.
- the Wi-Fi module 311, the Bluetooth module 313, the positioning module 350 and the MCU 303 can also be integrated into the same chip.
- Input/output devices 335 include but are not limited to: display 351, touch screen 353, audio circuit 355, and so on.
- the touch screen 353 can collect touch events on or near the user of the terminal device 300 (such as the user's operations on the touch screen 353 or near the touch screen 353 using any suitable object such as a finger or a stylus), and Send the collected touch events to other devices (eg, application processor 301).
- the user's operation near the touch screen 353 can be called floating touch; through floating touch, the user can select, move or drag targets (such as icons, etc.) without directly touching the touch screen 353 .
- touch screens 353 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave.
- the display (also called a display screen) 351 is used to display information input by the user or information presented to the user. Displays can be configured in the form of LCD screens, organic light-emitting diodes, etc.
- the touch screen 353 can be overlaid on the display 351. When the touch screen 353 detects a touch event, it is sent to the application processor 301 to determine the type of the touch event. Then the application processor 301 can provide corresponding information on the display 351 according to the type of the touch event. Visual output.
- the touch screen 353 and the display 351 are used as two independent components to implement the input and output functions of the terminal device 300, in some embodiments, the touch screen 353 and the display 351 can be integrated to implement the input and output functions of the mobile phone 300. Input and output functions. In addition, the touch screen 353 and the display 351 can be configured in the form of a full panel on the front of the terminal device 300 to achieve a frameless structure.
- the audio circuit 3355, speaker 336, and microphone 317 can provide an audio interface between the user and the terminal device 300.
- the audio circuit 309 can transmit the electrical signal converted from the received audio data to the speaker 313, and the speaker 313 converts it into a sound signal for output; on the other hand, the microphone 314 converts the collected sound signal into an electrical signal, and the audio circuit 309 After receiving, it is converted into audio data, and then the audio data is sent to another terminal device through the Modem 307 and the radio frequency module 309, or the audio data is output to the memory 305 for further processing.
- the terminal device 300 may also have a fingerprint recognition function.
- the fingerprint collection device may be configured on the back of the terminal device 300 (for example, below the rear camera), or the fingerprint collection device may be configured on the front of the terminal device 300 (for example, below the touch screen 353).
- a fingerprint collection device can be configured in the touch screen 353 to implement the fingerprint identification function, that is, the fingerprint collection device can be integrated with the touch screen 353 to implement the fingerprint identification function of the terminal device 300 .
- the fingerprint collection device is configured in the touch screen 353, may be a part of the touch screen 353, or may be configured in the touch screen 353 in other ways.
- the main component of the fingerprint collection device in the embodiment of the present application is a fingerprint sensor.
- the fingerprint sensor can use any type of sensing technology, including but not limited to optical, capacitive, piezoelectric or ultrasonic sensing technology.
- the operating system 361 installed on the terminal device 300 may be or other operating systems, the embodiments of this application do not impose any restrictions on this.
- the terminal device 300 can be logically divided into a hardware layer, an operating system 361, and an application layer.
- the hardware layer includes the hardware processor 301, microcontroller unit 305, Modem 307, Wi-Fi module 311, sensor 314, positioning module 350 and other hardware resources as mentioned above.
- the application layer includes one or more applications, such as application 363.
- the application 363 can be any type of application such as a social application, an e-commerce application, or a browser.
- the operating system 361 is a computer program that manages and controls hardware and software resources.
- operating system 361 includes a kernel, a hardware abstraction layer (HAL), libraries and runtime, and a framework.
- the kernel is used to provide underlying system components and services, such as power management, memory management, thread management, hardware drivers, etc.; hardware drivers include Wi-Fi drivers, sensor drivers, positioning module drivers, etc.
- the hardware abstraction layer encapsulates the kernel driver, provides an interface to the framework, and shields low-level implementation details.
- the hardware abstraction layer 25 runs in user space, while the kernel driver runs in kernel space.
- libraries and runtime are also called runtime libraries, which provide the library files and execution environment required for executable programs to run.
- the libraries and runtimes include Android Runtime (ART), libraries, and scenario package runtimes.
- ART is a virtual machine or virtual machine instance that can convert an application's bytecode into machine code.
- a library is a program library that provides support for executable programs at runtime, including browser engines (such as webkit), script execution engines (such as JavaScript engines), graphics processing engines, etc.
- the scene package runtime is the running environment of the scene package, which mainly includes the page execution environment (page context) and the script execution environment (script context).
- the page execution environment parses the page code in html, css and other formats by calling the corresponding library, and the script
- the execution environment parses and executes code or executable files implemented in scripting languages such as JavaScript by calling the corresponding function library.
- the framework is used to provide various basic public components and services for each application in the application layer, such as window management, location management, etc.
- the framework may include geofencing services, policy services, notification managers, and the like.
- each component of the operating system 361 can be implemented by the application processor 301 executing programs stored in the memory 305 .
- Figure 3b is an architectural schematic diagram of a solver provided by an embodiment of the present application).
- the solver includes: an equation building module, a preprocessing (presolve) module, a generation (crash) module, a pre-solving module, and a post-processing module. Processing (postsolve) module and recovery (clean up) module.
- the equation building module can construct a mixed integer programming equation based on the task to be processed.
- the preprocessing module can structurally simplify the mixed integer programming equation and obtain the preprocessed mixed integer programming equation.
- the generation module can generate initial points for solution based on the preprocessed mixed integer programming equation.
- the pre-solving module can use the dual simplex method to solve the pre-processed mixed integer programming equation starting from this initial point, and obtain the optimal solution of the pre-processed mixed integer programming equation.
- the post-processing module can convert the optimal solution of the preprocessed mixed integer programming equation into an approximate solution of the original mixed integer programming equation. If the restoration module determines that the approximate solution is not the optimal solution of the original mixed integer programming equation, it restores the approximate solution to the optimal solution of the original mixed integer programming equation.
- FIG. 4 is a schematic flow chart of a computer task processing method provided by an embodiment of the present application. As shown in Figure 4, the method includes:
- the mixed integer programming equation is used to describe the task to be processed.
- a mixed integer programming equation describing the task to be processed can be obtained.
- Mixed integer programming equations usually include two major types of equations, namely linear programming equations and nonlinear programming equations.
- the task to be processed is to obtain a production plan to be solved for a certain factory (which can also be understood as a production scheduling plan)
- the production plan to be solved for the factory must not only satisfy the maximization of the demand of the factory and the total number of the factory.
- Goals such as cost minimization also need to meet the hard constraints and soft constraints specified by the actual business scenario, etc.
- x is the variable of the linear programming equation (that is, the production plan to be solved for the factory mentioned above), and is a matrix with m rows and 1 column (each element in this matrix can be regarded as each quantity to be solved in the production plan , for example, this matrix contains 10 elements, which are the amount of raw materials that the factory needs to produce every day within 10 days, etc., and these 10 elements can be either integers or non-integers);
- A is linear programming
- the constraint matrix of the equation (including the aforementioned constraints that need to be satisfied by the production plan to be solved for the factory, such as material constraints, productivity constraints, time constraints, traffic constraints, etc.) is a matrix with h rows and m columns, and the constraint matrix A Each row in can be regarded as a constraint that the factory needs to satisfy;
- c is a matrix corresponding to the number of elements in the variable, also a matrix with m rows and 1 column;
- b is a matrix corresponding to the number of constraints, with h rows and 1
- tasks in different fields can be described by mixed integer programming equations, such as factory production planning in the supply chain field, vehicle route optimization in the logistics field, and facility location in the cloud technology field. , grid dispatching in the electric power field, etc., these tasks can be described by mixed integer programming equations.
- Mixed integer programming equations used to describe tasks in different fields often have different variables and different constraint matrices.
- the 402. Determine the target operator in the operator resource pool based on information related to the structure of the mixed integer programming equation.
- the information is related to at least one of the following: variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be identified, thereby obtaining information related to the structure of the mixed integer programming equation (it can also be called the structure information of the mixed integer programming equation, which can be used to indicate the structure of the mixed integer programming equation. structure).
- the operation of structure identification mainly focuses on analyzing the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation, thereby determining the structural composition of the mixed integer programming equation (that is, the structural composition of the task to be processed) , so the obtained information related to the structure of the mixed integer programming equation is associated with at least one of the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation.
- the information related to the structure of the mixed integer programming equation may be Contains at least one of the following: (1) The dimension of the variable of the mixed integer programming equation, that is, the number of elements contained in the variable of the mixed integer programming equation, for example, the number of elements contained in the variable x of the linear programming equation. (2) The sparsity of the constraint matrix of the mixed integer programming equation, that is, the number of elements with a value of zero in the constraint matrix of the mixed integer programming equation, for example, the number of elements with a value of 0 in the constraint matrix A of the linear programming equation quantity.
- the block information of the constraint matrix of the mixed integer programming equation is used to indicate the submatrix whose elements are zero contained in the constraint matrix of the mixed integer programming equation. For example, assuming a linear programming equation The first three rows of the constraint matrix A are all 0, then the first three rows of the constraint matrix A can be regarded as a sub-matrix, and the block information of the linear programming equation is used to indicate the sub-matrix.
- the rows in the constraint matrix of the mixed integer programming equation have a calculation relationship with the variables of the mixed integer programming equation.
- each row in the constraint matrix of the mixed integer programming equation will be multiplied by the variables of the mixed integer programming equation, if the mixed integer programming equation is mixed If (all the elements of) a certain row in the constraint matrix of the integer programming equation are zero, it means that there is no calculation relationship between the row and the variables of the mixed integer programming equation. If any of the rows (of any elements) in the constraint matrix of the mixed integer programming equation An element) is not zero, indicating that there is a computational relationship between the row and the variables of the mixed integer programming equation. For example, assuming that the first three rows of the constraint matrix A of the linear programming equation are all 0, then there is no calculation relationship between these three rows and the variable x of the linear programming equation.
- the target operator can be determined from the operator resource pool based on this information. It should be noted that the operator resource pool contains multiple operators that can be used to implement preprocessing, as shown in Table 1:
- the operator resource pool includes but is not limited to multiple optional operators shown in Table 1. Therefore, the operator resource pool can be selected from the operator resource pool based on the information related to the structure of the mixed integer programming equation. At least one operator is used to preprocess the mixed integer programming equation. This selected operator can be later called the target operator.
- the target operator can be obtained in the following ways:
- the equation resource pool determine the preset equation that matches the information related to the structure of the mixed integer programming equation.
- the equation resource pool contains multiple preset equations with different structures (can also be understood as equation templates with different structures set in advance), and the information related to the structure of the mixed integer programming equation is used to indicate the mixed integer programming
- the structural category of the equation therefore, is to traverse the equation resource pool to find a preset equation that matches the information related to the structure of the mixed integer programming equation. Then, the preset equation and the mixed integer programming equation have a similar structure or The same two equations.
- the operator resource pool determine the operator used for preprocessing of the preset equation as the target operator. It should be noted that after determining the preset equation with a similar or identical structure to the mixed integer programming equation, since the preset equation is set in advance, it can be determined that the preprocessing of the preset equation has used the operator resource pool Which operators are determined and these operators are determined as operators used to implement preprocessing of mixed integer programming equations, that is, target operators. It is worth noting that there are usually multiple target operators. In the preprocessing for the preset equation, each target operator can be recycled multiple times, so it can be determined that each target operator is used for the preset equation. The number of iterations in preprocessing.
- the multiple target operators can be divided into multiple operator sets according to the number of iterations, and each operator set contains at least one target operator among the multiple target operators.
- the number of iterations of the target operator in the first operator set is 1
- the number of iterations of the target operator in the second operator set is 2
- the kth The number of iterations of the target operator in the operator set is k times
- k is an integer greater than or equal to 1.
- this embodiment is only schematically illustrated by associating information related to the structure of the mixed integer programming equation with at least one of the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation.
- Information related to the structure of the mixed integer programming equation may also be associated with other terms of the mixed integer programming equation, for example, a matrix corresponding to the number of elements in the variables, a matrix corresponding to the number of constraints, etc.
- the information related to the structure of the mixed integer programming equation may also include at least one of the following: the sparsity of the matrix corresponding to the number of elements in the variable, the sparsity of the matrix corresponding to the number of constraints, and so on.
- the structure of the preset equation is similar or the same as the structure of the mixed integer programming equation, which usually means that the constraint matrix of the preset equation is similar or the same as the constraint matrix of the mixed integer programming equation.
- the structure of the preset equation and the structure of the mixed integer programming equation may also include: the matrices corresponding to the number of elements in the variables of the two equations are similar or the same, and/or the AND constraints of the two equations The matrices corresponding to the quantities are similar or the same, etc.
- preprocessing of the mixed integer programming equation can be implemented based on the target operator to obtain the preprocessed mixed integer programming equation.
- the mixed integer programming equation can be deredundant in advance, which includes:
- the rows with multiple relationships can be determined in a certain way, and these rows can be merged to obtain the constraint matrix after the merged rows. Still as in the above example, assuming a 1 and a 2 are the first and second rows of the constraint matrix A respectively, then the following calculations can be performed for a 1 and a 2 respectively:
- a 11 is the first element of a 1
- a 12 is the second element of a 1
- a 1m is the m-th element of a 1
- ⁇ and ⁇ are both preset parameter matrices, and each element in these two matrices is a preset value.
- ratio1 ratio2
- a 1 and a 2 may be in a multiple relationship, that is, a 1 may be equal to qa 2 , that is to say, a 1 and a 2 are Potential parallel rows.
- the columns with multiple relationships can be determined in the same way, and these columns are set to the same columns to obtain the constraint matrix after redundancy removal (which can also be called the transformed constraint matrix).
- a 1 and A 2 be respectively the first and second columns of the constraint matrix A after merging rows.
- a ratio can be set for each column of the constraint matrix A after merging rows, based on ratio of all rows to determine the real parallel columns (for the process of obtaining real parallel columns, please refer to the aforementioned process of obtaining real parallel rows, which will not be repeated here). After determining the real parallel columns, these parallel columns can be Set to one of the columns to obtain the constraint matrix A after redundancy removal.
- a 1 qA 2
- transforming the elements of the first row in the variable x from x 1 to qx 1 can make the constraint matrix after merging the rows
- clo 1 is the maximum value of x 1
- cup 1 is the minimum value of x 1 .
- the original mixed integer programming equation After obtaining the constraint matrix after removing redundancy, the original mixed integer programming equation can be updated with the constraint matrix after removing redundancy to obtain the updated mixed integer programming equation.
- the original variables After replacing the original constraint matrix with the constraint matrix after removing redundancy, the original variables also need to be replaced with the transformed variables accordingly.
- the original The matrix corresponding to the number of elements in the variable also needs to be replaced with the transformed matrix corresponding to the number of elements in the variable, so as to obtain the updated mixed integer programming equation.
- steps 403 and 404 are optional steps. In practical applications, after the target operator is determined, the mixed integer programming equation does not need to be deredundant and updated (that is, steps 403 and 404 are not performed). Then, the processing object in step 405 is the original mixed Integer programming equations.
- the objective operator can be used to implement preprocessing for the updated mixed integer programming equation, and the preprocessed mixed integer programming equation is obtained.
- the updated mixed integer programming equation can be preprocessed through the following iteration strategy:
- the second threshold is usually determined based on the number of iterations k, and generally increases as the number of iterations k increases. increases, that is, there is a positive correlation between the two).
- the index of the i-th target operator in the j-1th iteration is less than the second threshold, it means that the i-th operator can currently be executed, and the i-th target operator is executed on the updated mixed integer programming equation. operator, and generate the index of the i-th target operator in the j-th iteration. It is worth noting that the index of the i-th target operator in the j-th iteration can be generated in the following way: first, determine the rows deleted by the i-th target operator in the 1st iteration to the j-th iteration. in the updated mixed integer programming equation. Then, calculation is performed based on this proportion to obtain the index of the i-th target operator in the j-th iteration.
- the index of the i-th target operator in the j-1th iteration is greater than or equal to the second threshold, it means that the i-th operator cannot be executed currently, and then jump to the i+1-th target operator. And perform the above steps for the i+1th target operator until the jth iteration of the n target operators is completed.
- the n target operators have been sorted in a certain order (the order is the execution order of the n target operators in the preprocessing of the preset equation), so in the In the updated mixed integer programming equation, these n operators can be executed in this order in each iteration.
- the preprocessed mixed integer programming equation After obtaining the preprocessed mixed integer programming equation, the preprocessed mixed integer programming equation can be solved to obtain the corresponding solution, which can be used as the processing result of the aforementioned task.
- the output is the processing production plan (processing volume, transportation volume, delivery volume, etc.) arranged according to the order demand.
- the expected output result is the ability to Minimize processing cost, processing time and maximize order fulfillment rate (that is, deliver customer needs on time and quantity), etc., and all processing constraints need to be met.
- FIG. 7 is a schematic diagram of the bill of material (BOM) in the production process provided by the embodiment of the present application. As shown in Figure 7, the PC generation process is taken as an example to illustrate how the BOM affects the production process: It is assumed that each PC needs to be configured with a host, and each laptop can be configured individually. There are two factories A and B. Factory A can process PCs and mainframes, while factory B can process mainframes and laptops.
- BOM bill of material
- factory A can only process up to 1,000 PCs or mainframes per day.
- Factory B can only process up to 1,000 hosts or laptops per day.
- a legal and better production plan is: on the first day, factory A arranges to produce 1,000 hosts, and factory B arranges to produce 1,000 hosts. After factory B completes production, the 1,000 hosts are sent to factory A; on the second day, factory A arranges to produce 1,000 hosts.
- Factory A uses the 1,000 hosts it has already produced to complete the assembly and production of 1,000 PCs, while Factory B continues to arrange the production of 1,000 hosts; on the third day, Factory A uses the 1,000 hosts sent by Factory B on the first day to complete the assembly and production. For the assembly of 1,000 PCs, Factory B arranges to produce 800 laptops.
- the two factories will complete all customer order requirements on the third day and comply with various constraints such as materials, productivity, time, and transportation.
- the above example does not take into account multiple conflicting objectives (cost, order delivery fulfillment rate, etc.), and real industrial scenarios are far more complex than the example problem.
- Step 1 Construct the equation.
- This equation can include mathematical relationships between variables and constraint matrices.
- the variables are the factory's production plan to be solved, and the constraint matrix is the processing required for the production plan to be solved.
- Constraints, processing constraints can include at least one of the following: material constraints, productivity constraints, time constraints or traffic constraints, etc., where material constraints can include the upper limit of materials that can be used in production, material ratios, etc.
- Productivity constraints can include The upper limit of the number of production workers required during production, the upper limit of work efficiency, etc.
- the time constraints can include the delivery date of the product, etc.
- the transportation constraints can include the upper limit of the transportation cost required during production and the upper limit of the number of transportation vehicles required during production. wait. It can be seen that solving this equation is equivalent to obtaining the production plan of the factory.
- Step 2 Read the constructed mixed integer programming equation into the solver, call the specified interface of the solver, and perform preprocessing of the mixed integer programming equation.
- This preprocessing process can be divided into the following steps:
- sub-step (2) in step 2 is an optional step. In actual applications, it may or may not be executed. The selection can be made according to actual needs and is not limited here.
- Step 3 Method selection. Choose from different methods in the algorithm library, including primitive simplex method, dual simplex method, interior point method, etc.
- Step 4 Based on the method selected in step 3, complete the solution of the preprocessed mixed integer programming equation.
- the solver provided by the embodiment of the present application and the solver of the related technology can also be compared.
- the comparison result is shown in Figure 8 ( Figure 8 is provided by the embodiment of the present application A schematic diagram of the comparison results).
- the solver provided by the relevant technology and the solver provided by the embodiment of the present application can be used to respectively solve the mixed integer programming equation describing the task. Solve and compare. The comparison results are shown in Table 2:
- the solving time of the embodiment of the present application can be reduced from 1394s to less than 100s, surpassing the solving time of related technology 2 and related technology 3. It can be seen that in the solver of the embodiment of the present application Preprocessing module with excellent performance.
- the task to be processed is the vehicle route optimization problem in the logistics field.
- the vehicle routing problem was first proposed in 1959. The problem is to designate a certain number of customers, each with different quantities of goods requirements.
- the distribution center provides goods to the customers, and a fleet is responsible for distributing the goods and organizing appropriate driving routes.
- the goal is to satisfy customer needs and achieve goals such as the shortest distance, the lowest cost, and the least time consuming under certain constraints.
- This problem requires finding the optimal solution among a limited set of feasible solutions.
- This type of problem requires finding the optimal value (maximum or minimum value) of the objective function that satisfies the given constraints on a discrete and finite mathematical structure.
- Problems, also called discrete optimization problems, are all related to order.
- the variable is the vehicle adoption plan to be solved, and different elements in this variable represent different types of vehicles (since vehicle paths are often difficult to express numerically, so here a certain refers to the number of vehicles traveling along a certain route), and the constraint matrix contains one or more of the capacity constraints, product constraints, time constraints and road condition constraints that the vehicle adoption plan to be solved needs to satisfy, where , the capacity constraint includes the upper capacity limit of the vehicle during transportation, etc., the product constraint includes the product categories that the vehicle can transport during transportation, etc., the time constraint includes the time sequence of different types of vehicles arriving at the destination, etc., and the road condition constraint includes different types of vehicles. The road conditions that the vehicle can travel on, etc.
- the preprocessing method provided by the embodiment of the present application can be relied on to simplify the equation, thereby accelerating the solution of the equation.
- the task to be processed is the center location problem in the field of cloud technology.
- enterprises Companies need to consider rival competition when making location decisions.
- users need to consider a discrete network where two service providers (leader and follower) open a certain number of facilities one after another to compete for market share. Each user seeks services from the nearest facility.
- this application case requires solving a two-level linear programming equation, where the upper-level problem represents the leader's decision-making, and its goal is maximum coverage, while the lower-level problem is the corresponding NP-hard problem for the follower. Assuming that the follower adopts a greedy strategy, the follower's response can be integrated into the constraints of the leader's problem.
- the execution process needs to be executed from the bottom layer to the upper layer, and the aforementioned iteration strategy (implementing early stopping of certain operators, etc.) needs to be implemented, so as to more Further reduce the time-consuming preprocessing.
- variable of the mixed integer programming equation constructed based on the central location problem is the address selection plan to be solved.
- Different elements in the variable represent the addresses of different objects (for example, enterprises, factories, etc.) (for example, , longitude, latitude, etc.)
- the constraint matrix contains one or more of the distribution constraints, traffic environment constraints and rule constraints that the address selection plan to be solved needs to satisfy, where the distribution constraints include the current distribution of different objects, Future distribution predictions of different objects, business volume growth rates of objects, regional distribution of interactions between objects, etc.
- Traffic environment constraints include transportation conditions, distribution conditions, land use conditions, etc. when objects interact with each other.
- Rule constraints include the relationship between objects. regulations that need to be followed for interactions, etc.
- the power grid dispatching problem mainly includes two stages:
- the economic dispatch problem of the non-convex power system is converted into a mixed integer programming equation through linearization processing and mixed integer coding technology, and then an optimization software package is used to solve the mixed integer programming equation to obtain a satisfactory feasible solution;
- power grid dispatching is a multi-stage mathematical model.
- the multi-stage model needs to consider more boundary constraints of different time periods. Therefore, in the process of using the preprocessing method provided by the embodiment of this application, it is necessary to consider the segmentation of time periods.
- variable of the mixed integer programming equation constructed based on the power grid dispatch problem is the power consumption dispatch plan to be solved. Different elements in this variable represent the power consumption in different regions, and the constraint matrix contains the power consumption to be solved.
- the quantity constraints and price constraints that the electricity consumption dispatch plan needs to satisfy include the upper limit of electricity consumption in each region, etc.
- the price constraints include the upper limit of the total price of electricity in each region. etc.
- the target operator after obtaining the mixed integer programming equation used to describe the task to be processed, the target operator can be determined in the operator resource pool based on information related to the structure of the mixed integer programming equation. This information is related to the following At least one item is relevant: the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation. Then, the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation. Finally, the preprocessed mixed integer programming equation can be solved, and the obtained solution can be used as the processing result of the task. In the foregoing process, the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to describe a specific class of tasks), so as to select a specific target operator for this mixed integer programming equation, so as to achieve the mixed integer programming equation.
- the preprocessing of integrated integer programming equations can effectively reduce the time consumed in the equation preprocessing process and improve the performance of the equation solving process.
- the embodiment of the present application provides an equation resource pool. After determining which type of preset mixed integer programming equation the mixed integer programming equation belongs to, that is, a certain preset equation in the equation resource pool (which can also be called an equation An equation template in the resource pool), the operator used for preprocessing of the preset equation, the number of operator iterations and the order of operator execution can be used as the operator used for preprocessing of the mixed integer programming equation , the number of operator iterations and the order of operator execution to reduce the impact of human intervention on preprocessing, thereby optimizing the preprocessing effect of the equation.
- a certain preset equation in the equation resource pool which can also be called an equation An equation template in the resource pool
- the operator used for preprocessing of the preset equation, the number of operator iterations and the order of operator execution can be used as the operator used for preprocessing of the mixed integer programming equation , the number of operator iterations and the order of operator execution to reduce the impact of human intervention on preprocessing, thereby optimizing the preprocessing effect of
- the embodiments of this application also provide an iterative strategy, that is, during the iterative process, when the role of an operator becomes smaller, it can be considered that the benefit of continuing to execute the operator in subsequent iterations is limited, and it will be stopped in time. Execute this operator.
- a corresponding stopping mechanism is also designed for the preprocessing cycle. In this way, not only the mixed integer programming equation can be effectively simplified, but also unnecessary preprocessing processes can be reduced, thereby reducing the time overhead of preprocessing.
- Figure 9 is a schematic structural diagram of a computer task processing device provided by an embodiment of the present application.
- the device includes:
- the acquisition module 901 is used to obtain the mixed integer programming equation, which is used to describe the task to be processed;
- the determination module 902 is used to determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation, where the target operator is a part of the operators in the operator resource pool;
- the preprocessing module 903 is used to preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming equation;
- the solving module 904 is used to solve the preprocessed mixed integer programming equation, and the obtained solution is used as the processing result of the task.
- the target operator after obtaining the mixed integer programming equation used to describe the task to be processed, the target operator can be determined in the operator resource pool based on information related to the structure of the mixed integer programming equation. This information is related to the following At least one item is relevant: the variables of the mixed integer programming equation and the constraint matrix of the mixed integer programming equation. Then, the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation. Finally, the preprocessed mixed integer programming equation can be solved, and the obtained solution can be used as the processing result of the task. In the foregoing process, the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to describe a specific type of task), so as to select a specific target operator for the mixed integer programming equation, thereby realizing the preprocessing of the mixed integer programming equation, which can effectively reduce the cost of the equation preprocessing process time consumed and improves the performance of the equation solving process.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: the dimensions of the variables, the sparsity of the constraint matrix, the block information of the constraint matrix, and the existence of a calculation relationship with the variables in the constraint matrix. rows, where the blocking information is used to indicate that the constraint matrix contains submatrices with zero elements.
- the determination module 902 is configured to: in the equation resource pool, determine the preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine for The operator used in the preprocessing of the preset equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of n target operators is k times
- n and k are both integers greater than or equal to 1.
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the device further includes: a redundancy removal module, used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed; the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation; the preprocessing module 903 is used to update the mixed integer programming equation based on the target operator pair The updated mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation.
- a redundancy removal module used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy is removed
- the update module is used to update the mixed integer programming equation based on the redundant constraint matrix to obtain the updated mixed integer programming equation
- the preprocessing module 903 is used to update the mixed integer programming equation based on the target operator pair
- Figure 10 is a schematic structural diagram of a production plan acquisition device provided by the implementation method of this application. As shown in Figure 10, the device includes:
- the acquisition module 1001 is used to obtain the mixed integer programming equation, which is used to describe the production plan to be solved in the supply chain field;
- the determination module 1002 is used to determine the target operator in the operator resource pool based on the information related to the structure of the mixed integer programming equation, where the target operator is a part of the operators in the operator resource pool;
- the preprocessing module 1003 is used to preprocess the mixed integer programming equation based on the target operator to obtain the preprocessed mixed integer programming equation;
- the solving module 1004 is used to solve the preprocessed mixed integer programming equation to obtain the solved production plan.
- the target operator can be determined in the operator resource pool based on the information related to the structure of the mixed integer programming equation. This information is related to At least one of the following is relevant: the variables of a mixed integer programming equation and the constraint matrix of a mixed integer programming equation. Then, the mixed integer programming equation can be preprocessed based on the target operator to obtain the preprocessed mixed integer programming equation. Finally, the preprocessed mixed integer programming equation can be solved to obtain the solved production plan. In the foregoing process, the variables and constraint matrices of the mixed integer programming equation can be identified, thereby providing information related to the structure of the mixed integer programming equation.
- the structure of the mixed integer programming equation can be determined, that is, the mixed integer programming equation belongs to Which type of mixed integer programming equation (used to solve the production plan of factories and enterprises in the field of supply chain), so as to select a specific target operator for this mixed integer programming equation, so as to achieve the preprocessing of this mixed integer programming equation, can be effective Reduce the time consumed by equation preprocessing and Improve the performance of the equation solving process.
- variable of the mixed integer programming equation is the production plan to be solved
- constraint matrix of the mixed integer programming equation includes at least one of the following: material constraints, productivity constraints, and time that the production plan to be solved needs to satisfy. restraints or traffic constraints.
- the information related to the structure of the mixed integer programming equation includes at least one of the following: the dimensions of the variables, the sparsity of the constraint matrix, the block information of the constraint matrix, or the existence of a computational relationship with the variables in the constraint matrix. rows, where the blocking information is used to indicate that the constraint matrix contains submatrices with zero elements.
- the determination module 1002 is configured to: in the equation resource pool, determine the preset equation that matches the information related to the structure of the mixed integer programming equation; in the operator resource pool, determine the preset equation for The operator corresponding to the preprocessing of the preset equation is determined as the target operator.
- the number of target operators is n
- the number of iterations of the n target operators is the same.
- the index of the i-th target operator in the j-th iteration is determined based on the proportion of rows deleted by the i-th target operator in the mixed integer programming equation.
- the first threshold and the second threshold are determined based on the number of iterations of n target operators.
- the device further includes: a redundancy removal module, used to merge the rows with a multiple relationship in the constraint matrix, or set the columns with a multiple relationship in the constraint matrix to the same column, to obtain The constraint matrix after the redundancy has been removed; the update module is used to update the mixed integer programming equation based on the redundancy removal constraint matrix to obtain the updated mixed integer programming equation; the preprocessing module 1003 is used to update the mixed integer programming equation based on the target operator pair The updated mixed integer programming equation is preprocessed to obtain the preprocessed mixed integer programming equation.
- Embodiments of the present application also relate to a computer storage medium, which includes computer-readable instructions. When the computer-readable instructions are executed, the method steps of the embodiment shown in Figure 4 are implemented.
- Embodiments of the present application also relate to a computer program product containing instructions that, when run on a computer, cause the computer to execute the method steps of the embodiment shown in FIG. 4 .
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented.
- the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
- the above integrated units can be implemented in the form of hardware or software functional units.
- the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
- the technical solution of the present application is essentially or contributes to the existing technology, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code. .
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Educational Administration (AREA)
- Manufacturing & Machinery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
La présente demande concerne un procédé de traitement de tâche informatique et son dispositif associé, qui sont appliqués au domaine technique des ordinateurs, et qui peuvent réduire efficacement le temps consommé pendant un processus de pré-résolution d'équation, et qui peuvent également améliorer les performances d'un processus de résolution d'équation. Le procédé de la présente demande consiste : à acquérir une équation de programmation par nombres entiers mixte, qui est utilisée pour décrire une tâche à traiter, puis à effectuer une identification de structure sur l'équation de programmation par nombres entiers mixte, de façon à obtenir des informations concernant la structure de l'équation de programmation par nombres entiers mixte ; ensuite, sur la base des informations, à sélectionner, à partir d'un groupe de ressources d'opérateur, au moins un opérateur, qui est utilisé pour mettre en œuvre une pré-résolution, ces opérateurs sélectionnés étant des opérateurs cibles ; et puis à mettre en œuvre une pré-résolution concernant l'équation de programmation par nombres entiers mixte sur la base des opérateurs cibles, et à résoudre l'équation de programmation par nombres entiers mixte pré-résolue, de façon à obtenir une solution correspondante, la solution pouvant servir de résultat de traitement de la tâche.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210333041.7 | 2022-03-31 | ||
CN202210333041.7A CN116933908A (zh) | 2022-03-31 | 2022-03-31 | 一种计算机任务处理方法及其相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023185714A1 true WO2023185714A1 (fr) | 2023-10-05 |
Family
ID=88199365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/084027 WO2023185714A1 (fr) | 2022-03-31 | 2023-03-27 | Procédé de traitement de tâche informatique et son dispositif associé |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116933908A (fr) |
WO (1) | WO2023185714A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852842A (zh) * | 2024-03-07 | 2024-04-09 | 山东豪泉软件技术有限公司 | 一种订单排产方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131167A1 (en) * | 2009-12-01 | 2011-06-02 | International Business Machines Corporation | LP relaxation modification and cut selection in a MIP solver |
CN106875056A (zh) * | 2017-02-17 | 2017-06-20 | 国网天津市电力公司 | 一种基于混合整数规划的计量装置生产计划优化方法 |
CN110518591A (zh) * | 2019-08-22 | 2019-11-29 | 中国农业大学 | 一种不确定电力系统的潮流计算方法 |
CN112818280A (zh) * | 2019-11-18 | 2021-05-18 | 华为技术有限公司 | 一种信息处理方法以及相关设备 |
EP3968262A1 (fr) * | 2020-09-09 | 2022-03-16 | Chicago Mercantile Exchange Inc. | Partitionneur de modèle linéaire |
-
2022
- 2022-03-31 CN CN202210333041.7A patent/CN116933908A/zh active Pending
-
2023
- 2023-03-27 WO PCT/CN2023/084027 patent/WO2023185714A1/fr unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131167A1 (en) * | 2009-12-01 | 2011-06-02 | International Business Machines Corporation | LP relaxation modification and cut selection in a MIP solver |
CN106875056A (zh) * | 2017-02-17 | 2017-06-20 | 国网天津市电力公司 | 一种基于混合整数规划的计量装置生产计划优化方法 |
CN110518591A (zh) * | 2019-08-22 | 2019-11-29 | 中国农业大学 | 一种不确定电力系统的潮流计算方法 |
CN112818280A (zh) * | 2019-11-18 | 2021-05-18 | 华为技术有限公司 | 一种信息处理方法以及相关设备 |
EP3968262A1 (fr) * | 2020-09-09 | 2022-03-16 | Chicago Mercantile Exchange Inc. | Partitionneur de modèle linéaire |
Non-Patent Citations (1)
Title |
---|
"Master's Thesis", 12 May 2016, BEIJING JIAOTONG UNIVERSITY, CN, article ZHANG, YAQIAN: "Preprocessing Method in Mixed Integer Programming", pages: 1 - 67, XP009549136 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117852842A (zh) * | 2024-03-07 | 2024-04-09 | 山东豪泉软件技术有限公司 | 一种订单排产方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116933908A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11900478B2 (en) | Digitally cross-referencing community transaction data to determine commodity types and automatically assign tax codes to an invoice | |
US11017331B2 (en) | Method and system for predicting demand for vehicles | |
US12020575B2 (en) | Autonomous vehicle fleet management system based on application status | |
CN103197976A (zh) | 异构系统的任务处理方法及装置 | |
CN110334091A (zh) | 一种数据分片分布式处理方法、系统、介质和电子设备 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和系统 | |
WO2023185714A1 (fr) | Procédé de traitement de tâche informatique et son dispositif associé | |
US11762701B2 (en) | Computer system providing numeric calculations with less resource usage | |
US12014216B2 (en) | Method for platform-based scheduling of job flow | |
CN113032132A (zh) | 一种基于云边端架构的时空数据可视化任务执行方法 | |
CN115809777A (zh) | 用于农业机械的调度方法、系统、存储介质及处理器 | |
CN113076224B (zh) | 数据备份方法、数据备份系统、电子设备及可读存储介质 | |
CN113919734A (zh) | 订单配送方法和装置 | |
CN114491269A (zh) | 出行服务的推荐方法及装置、设备和介质 | |
CA3192266A1 (fr) | Systeme, appareil et methodes pour l'optimisation des charges de travail d'un vehicule autonome | |
US11669363B2 (en) | Task allocations based on color-coded representations | |
CN111143464B (zh) | 数据获取方法、装置和电子设备 | |
CN113986493A (zh) | 业务使用请求处理方法、相关装置及计算机程序产品 | |
CN116341838A (zh) | 一种计算机任务处理方法及其相关设备 | |
CN111985967A (zh) | 物品信息生成方法、装置、电子设备和计算机可读介质 | |
CN110908573A (zh) | 算法模型训练方法、装置、设备及存储介质 | |
US11769093B2 (en) | Systems and methods for determining path solutions associated with a supply chain network | |
CN114510521B (zh) | 基于三维模型的数据展示方法、装置和计算机设备 | |
CN111523802B (zh) | 送达时间应答方法、装置、设备及介质 | |
US20220270043A1 (en) | Systems and methods for determining duty costs associated with a supply chain network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23778081 Country of ref document: EP Kind code of ref document: A1 |