Engineering budget processing method based on budget mechanical requirements
By setting up a task scheduling queue and task execution unit on the server, building a mechanical configuration algorithm model, and automatically computing the optimal solution of construction machinery configuration, the inaccuracy and inefficiency caused by manual input of data in the existing technology are solved, and efficient , accurate construction machinery configuration.
Patent Information
- Application Number
- CN202411580543.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2044-11-06
AI Technical Summary
The prior art relies on manual input data in construction machinery configuration, resulting in inaccurate calculation results and low efficiency, and the inability to realize automated distribution calculations.
It provides an engineering budget processing method based on budget machinery needs, using the task scheduling queue and task execution unit on the server to build a mechanical configuration algorithm model and automatically calculate the optimal solution of construction machinery configuration.
It realizes automated construction machinery configuration without manual intervention, significantly improves calculation speed and accuracy, reduces the possibility of human error, and improves construction efficiency and resource utilization.
Smart Images

Figure CN119443713A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of engineering cost, and in particular to an engineering budget processing method based on budget machinery requirements. Background Art
[0002] In modern large-scale engineering construction, reasonable configuration of construction machinery is an important link to ensure the smooth progress of construction. The configuration of construction machinery involves scientific and reasonable arrangements of the types, quantities and dispatch of various construction machinery and equipment to meet the actual needs and construction progress of the project. This process not only affects the construction efficiency of the project, but is also directly related to the cost control and resource utilization of the project.
[0003] Reasonable configuration of construction machinery is of great significance. First, it can improve construction efficiency and ensure that all operations are carried out as planned, thereby shortening the project cycle. Secondly, through scientific configuration, the idle rate of machinery and equipment can be effectively reduced, unnecessary investment expenditures can be reduced, and the economic benefits of the project can be improved. In addition, reasonable configuration helps to optimize the overall utilization of resources, avoid duplicate purchases and waste, and bring greater competitive advantages to enterprises.
[0004] However, the inventors have realized that, at present, in the large-scale engineering construction industry, after a new construction project is put on site, the mechanical configuration is generally still calculated based on manually input data and combined with the demand. This traditional method is not only time-consuming and labor-intensive, but also easily affected by human factors, resulting in inaccurate calculation results. In addition, the manual method cannot achieve efficient and concurrent automated distributed calculations of multiple tasks, and the efficiency is low, which seriously restricts the improvement of construction efficiency and the efficient use of resources. Therefore, in order to improve the economy of the construction machinery configuration results, it is necessary to increase the demand for automatically calculating the optimal solution for the construction machinery configuration based on the overall consideration of the entire project. Summary of the invention
[0005] The present application provides an engineering budget processing method based on budget machinery requirements, which aims to automatically calculate the optimal solution for construction machinery configuration without relying on manual labor.
[0006] A method for processing engineering budget based on budget machinery requirements is applied to a server, wherein a task scheduling queue and a task execution unit are provided on the server, and the method comprises:
[0007] S1, building a mechanical configuration algorithm model;
[0008] S2, the task execution unit monitors the task scheduling queue in real time, and in response to the client initiating the mechanical resource optimization configuration task, extracts the mechanical resource optimization configuration task initiated by the client from the task scheduling queue;
[0009] S3, the task execution unit extracts the known parameters uploaded by the client from the mechanical resource optimization configuration task;
[0010] S4, the task execution unit solves the mechanical configuration algorithm model according to the known parameters to obtain the optimal solution of the mechanical configuration algorithm model, wherein the optimal solution is a construction machinery configuration scheme that can minimize the total cost of the construction project, and calculates the total cost of the construction project corresponding to the optimal solution.
[0011] In the above scheme, optionally, when constructing the machinery configuration algorithm model, the objective function of the machinery configuration algorithm model is to minimize the total cost of the construction project, the decision variables of the machinery configuration algorithm model include the number of on-site construction machinery and the total number of shifts of replacement budget machinery, and the constraints of the machinery configuration algorithm model are multiple constraints to ensure that the construction machinery configuration plan meets the requirements of the machinery resource optimization configuration task.
[0012] In the above solution, further optionally, the objective function of the mechanical configuration algorithm model is specifically:
[0013] minC=C0+C1+C 2_1 +C 2_2 +C3+C4+C5+C6;
[0014] Among them, C0 is the idle cost of construction machinery, C1 is the cost of using construction machinery, and C 2_1 To calculate the depreciation cost of construction machinery according to the number of days on site, C 2_2 To calculate the depreciation cost according to the fixed depreciation cost, C3 is the construction machinery entry dispatch cost, C4 is the construction machinery exit dispatch cost, C5 is the priority penalty cost, and C6 is the unsolvable penalty cost;
[0015] The constraints of the mechanical configuration algorithm model specifically include:
[0016] The first constraint is the number of entries of the jth type of construction machinery;
[0017] The second constraint is the number of appearances of the jth type of construction machinery;
[0018] The third constraint is that the number of shifts of construction machinery replacing budgeted machinery should not exceed the maximum available number of shifts;
[0019] The fourth constraint is to consider the efficiency conversion coefficient when replacing the budgeted machinery with construction machinery;
[0020] The fifth constraint is that when calculating the depreciation cost based on the number of days on site, the number of days on site must not be greater than the remaining depreciation period; when calculating the depreciation cost based on the fixed depreciation cost, it is determined whether the construction machinery has been on site;
[0021] The sixth constraint, the priority is achieved by adding penalty cost, and the construction machinery with small penalty is selected through the objective function of optimal cost;
[0022] The seventh constraint is that construction machinery cannot replace budget machinery with a conversion coefficient of 0.
[0023] In the above scheme, further optionally,
[0024]
[0025] Where j∈[1,J] is the construction machinery index, J=J1+J2+J3, J1 represents the set of owned machinery, J2 represents the set of newly purchased machinery, and J3 represents the set of leased machinery; i∈[1,I] is the construction period index, I represents the construction period set; k∈[1,K] is the budget machinery index, K represents the budget machinery set; c 0,j is the unit on-site idle cost of the j-th type of construction machinery, j∈[1,J]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; X ij is the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J], X 0j represents the number of construction machinery of type j on site before the start of the construction period, X I+1,j Y represents the number of construction machinery of type j on site after the end of the construction period; ijk The number of shifts of the j-type construction machinery replacing the k-type budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K];
[0026]
[0027] Among them, c 1,j is the unit cost of the j-th type of construction machinery, j∈[1,J];
[0028]
[0029] Among them, c 2_1,j is the unit depreciation cost of the jth type of construction machinery, j∈[1,J]; z jt is the actual depreciation days of the t-th construction machine in the j-th type of construction machinery, j∈[1,J], t∈[1,N j ],N j is the number of construction machinery of the jth type, j∈[1,J]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J];
[0030]
[0031] Among them, c 2_2,j is the fixed depreciation cost of the j-th type of construction machinery, j∈[1,J]; Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J];
[0032]
[0033] Among them, c 3,j is the single entry cost of the j-th type of construction machinery, j∈[1,J]; h ij is the number of construction machinery of type j entering the site on the i-th day, i∈[1,I+1], j∈[1,J];
[0034]
[0035] Among them, c 4,j is the single appearance cost of the j-th type of construction machinery, j∈[1,J]; g ij is the number of construction machinery of type j that appeared on the i-th day, i∈[1,I+1], j∈[1,J];
[0036]
[0037] Among them, c 5,j,k The penalty cost of replacing the k-th budget machine with the j-th construction machine, j∈[1,J], k∈[1,K];
[0038]
[0039] Where c6 is the penalty cost when the k-th budgeted machinery demand cannot be met, k∈[1,K]; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K].
[0040] In the above solution, further optionally, the first constraint is specifically:
[0041]
[0042] h ij ≥X ij -X i-1,j ,i∈[1,I+1],j∈[1,J]
[0043] h ij ≥0,i∈[1,I+1],j∈[1,J]
[0044] Among them, h ij is the number of construction machinery of type j entering the site on day i, i∈[1,I+1], j∈[1,J]; X ijis the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J]; h ij and X ij All are integer variables;
[0045] The second constraint is:
[0046]
[0047] g ij ≥X i-1,j -X ij ,i∈[1,I+1],j∈[1,J]
[0048] g ij ≥0,i∈[1,I+1],j∈[1,J]
[0049] Among them, i∈[1,I+1], j∈[1,J], g ij is the number of construction machinery of type j that appeared on the i-th day, g ij ≥0;
[0050] The third constraint is:
[0051]
[0052] Among them, Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day;
[0053] The fourth constraint is specifically:
[0054]
[0055] τ ik ≥0,i∈[1,I],k∈[1,K]
[0056] Among them, β jk Y is the conversion coefficient of replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ijk *β jk represents the effective number of shifts of the jth type of construction machinery replacing the kth type of budget machinery on the i-th day; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; D ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K];
[0057] The fifth constraint specifically includes:
[0058] Calculate depreciation cost based on days on site:
[0059] (N j +1)θ ijt ≥X ij -t+1,i∈[1,I],j∈[1,J],t∈[1,N j ]
[0060]
[0061] Among them, N j is the number of construction machinery of the jth type, j∈[1,J]; θ ijt Indicates whether the t-th construction machine in the j-th type of construction machine is present on the i-th day, i∈[1,I],j∈[1,J],t∈[1,Nj]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J]; v j is the remaining depreciation period of the j-th type of construction machinery, j∈[1,J];
[0062] Calculate depreciation cost based on fixed depreciation cost:
[0063] Z j ≥X ij ,i∈[1,I],j∈[1,J],
[0064] Among them, Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J].
[0065] In the above solution, further optionally, step S4 also includes:
[0066] When solving the mechanical configuration algorithm model, determining whether the mechanical configuration algorithm model has a feasible solution;
[0067] If it is determined that there is no feasible solution, the subsequent model solution is stopped, and a prompt message is output to inform the budget machinery needs that cannot be met in the machinery resource optimization configuration task.
[0068] In the above solution, further optionally, when judging whether the mechanical configuration algorithm model has a feasible solution, the influence of cost is ignored and a simplified model is used to judge whether there is a feasible solution; the simplified model is expressed as:
[0069]
[0070] τ ik ≥0,i∈[1,I],k∈[1,K]
[0071] Y ijk ≥0,i∈[1,I],j∈[1,J],k∈[1,K]
[0072] Among them, τ ik ≥0,τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; Y ijk ≥0, i∈[1,I], j∈[1,J], k∈[1,K]; Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; η ij N is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; j is the number of construction machinery of the jth type, j∈[1,J]; β jk D is the conversion coefficient for replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K];
[0073] When the C6 value is 0, it indicates that the model has a feasible solution and can continue the subsequent optimization; when the C6 value is positive, it indicates that the model has no feasible solution, and the existence of τ ik >0 budget machine k and stop subsequent model solving.
[0074] In the above solution, optionally, a task execution result storage module is further provided on the server, and after step S4, the method further includes:
[0075] S5, the task execution unit sends the obtained optimal solution and the corresponding total cost of the construction project to the task execution result storage module for storage.
[0076] In the above solution, optionally, in step S2, the client specifically initiates a mechanical resource optimization configuration task through an API;
[0077] After step S4, the method further comprises:
[0078] S6, receiving a task status query request sent by the client via an API;
[0079] Return the execution status of the mechanical resource optimization configuration task in the task execution unit to the client;
[0080] S7, receiving a task result query request sent by the client via an API;
[0081] The optimal solution obtained in the task execution unit and the corresponding total cost of the construction project are returned to the client.
[0082] In the above scheme, optionally, when there are multiple mechanical resource optimization configuration tasks in the task scheduling queue, after extracting the mechanical resource optimization configuration task from the task scheduling queue, steps S3-S4 are executed for each mechanical resource optimization configuration task in the order of extraction, or steps S3-S4 are executed for each mechanical resource optimization configuration task according to the planned time.
[0083] Compared with the prior art, this application has at least the following beneficial effects:
[0084] The method provided in the embodiment of the present application, by utilizing a task scheduling queue, a task execution unit and a constructed mechanical configuration algorithm model, can quickly provide the optimal construction machinery configuration plan based on the mechanical resource optimization configuration task initiated by the client without relying on manual labor, thereby realizing the automated processing of mechanical resource optimization configuration tasks. Compared with the traditional manual data input method, it can significantly improve the processing speed and accuracy and reduce the possibility of human errors; the traditional method relies on manual data input and is easily affected by human factors, resulting in inaccurate results; the method provided in the embodiment of the present application eliminates human intervention and improves processing efficiency and accuracy through real-time monitoring and automatic data extraction; the setting of the task scheduling queue and the task execution unit enables the system to process multiple mechanical resource optimization configuration tasks at the same time, overcomes the single task processing bottleneck of the traditional method, and improves the overall construction efficiency; not only does the system support the automatic calculation of the optimal solution for the construction machinery configuration, thereby improving the economy of the construction machinery configuration results, but the concurrent calculation of multiple tasks can also maximize the utilization of system resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0085] Figure 1 A schematic diagram of an application environment of an engineering budget processing method based on budget machinery requirements provided by an embodiment of the present application;
[0086] Figure 2 A flowchart of a method for processing engineering budget based on budgeted machinery requirements provided by one embodiment of the present application;
[0087] Figure 3 This is a schematic diagram of an algorithm application service in one embodiment of the present application;
[0088] Figure 4 This is a technical stack diagram of the algorithm application service in one embodiment of the present application;
[0089] Figure 5 This is a distributed task scheduling module interaction diagram in one embodiment of the present application;
[0090] Figure 6An internal structure diagram of a computer device is provided for one embodiment of the present application. DETAILED DESCRIPTION
[0091] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0092] In the description of the present application: unless otherwise specified, expressions such as “include”, “comprising”, “having”, etc. also mean “not limited to” (certain units, components, materials, steps, etc.).
[0093] The engineering budget processing method based on budget machinery demand provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the client 101 communicates with the server 102 through a network. The client 101 can be, but is not limited to, various personal computers, laptops, smart phones, and tablet computers, and the server 102 can be implemented as an independent server or a server cluster consisting of multiple servers.
[0094] In one embodiment, Figure 1 As shown in the figure, a method for processing engineering budget based on budgeted machinery demand is provided, that is, a method for optimizing mechanical resource allocation based on budgeted machinery demand. Figure 1 Taking the server 102 in the example as an example, the server 102 is provided with a task scheduling queue and a task execution unit, and the method includes the following steps:
[0095] S1, build a mechanical configuration algorithm model.
[0096] S2, the task execution unit monitors the task scheduling queue in real time, and in response to the client initiating the mechanical resource optimization configuration task, extracts the mechanical resource optimization configuration task initiated by the client from the task scheduling queue;
[0097] S3, the task execution unit extracts the known parameters uploaded by the client from the mechanical resource optimization configuration task;
[0098] S4, the task execution unit solves the mechanical configuration algorithm model according to the known parameters to obtain the optimal solution of the mechanical configuration algorithm model. The optimal solution is a construction machinery configuration plan that can meet the schedule requirements and minimize the total cost of the construction project, and the total cost of the construction project corresponding to the optimal solution is calculated.
[0099] Furthermore, when constructing the machinery configuration algorithm model, the objective function of the machinery configuration algorithm model is to minimize the total cost of the construction project. The decision variables of the machinery configuration algorithm model include the number of construction machinery on site and the total number of machines to replace the budgeted machinery. The constraints of the machinery configuration algorithm model are multiple constraints to ensure that the construction machinery configuration plan meets the requirements of the machinery resource optimization configuration task.
[0100] In other words, the method provided in the embodiment of the present application is based on model requirements and data provided by the customer, with the goal of minimizing costs, and with the known parameters provided by the customer and various requirements as constraints. A mathematical algorithm model is designed and constructed, and the algorithm model is optimally solved to obtain: the number of a certain type of construction machinery on site on a certain day, the total number of shifts of a certain type of construction machinery replacing a certain type of budgeted machinery on a certain day, and the total cost value of the project under the current solution.
[0101] The mathematical model is divided into the following parts:
[0102] (1) Objective function: defines the goal to be optimized by the model, i.e., minimizing the total project cost.
[0103] (2) Decision variables: represent the variable quantities in the model, namely the number of construction machines on site and the total number of machines to be replaced.
[0104] (3) Constraints: Ensure that the solution meets various customer needs and known parameters, such as the number of machines on site, the number of machines to be replaced, time limits, and cost budgets; ensure that the machine configuration algorithm model is implemented while meeting customer needs. For example, the number of machines on site cannot exceed a certain threshold, the number of machines to be replaced must be completed within a specified time, and the budget cannot be overspent.
[0105] (4) Known parameters: Provide specific values required by the model, such as machinery costs, construction requirements, time constraints, and budget.
[0106] (5) Solution and results: Use optimization methods to solve the model, obtain the optimal solution, and calculate the total cost of the project.
[0107] The mathematical model to be constructed is essentially a resource optimization allocation problem, which belongs to the problems of operations research and management science. Specifically, this is a linear programming problem with linear constraints. The core of the problem is how to minimize the total cost of the project by reasonably allocating the number of construction machines and the total number of machines to replace the budgeted machines under the premise of meeting a series of constraints (such as construction demand, machine availability, time limit, budget, etc.).
[0108] The above scheme mapped to the mathematical model is described as follows:
[0109] Known conditions include:
[0110] (1) The various machines used in the budget and the number of machines that need to be replenished every day (i.e., demand);
[0111] (2) Available construction machinery. Construction machinery is divided into self-owned, planned new purchase, and leased according to different channels. The second type of expenses incurred by each type of construction machinery is different, even for the same type of construction machinery in the same channel type;
[0112] (3) variable cost of each construction machine;
[0113] (4) The upper limit of the number of available construction machines;
[0114] (5) The efficiency conversion coefficient between construction machinery and budget machinery, such as Figure 4 As shown, the efficiency conversion coefficients of the same construction machinery and the same budget machinery of the same channel type are not necessarily the same;
[0115] (6) Cost calculation of different channels for construction machinery;
[0116] Total cost of a certain self-owned construction machinery:
[0117] (Unit fuel consumption*fuel price+unit electricity consumption*electricity price)*work shift+maintenance unit price*work shift+number of staff*salary*work shift+(residual value / (depreciation period*365))*depreciation days)
[0118] The total cost of a new construction machinery to be purchased:
[0119] (Unit fuel consumption*fuel price+unit electricity consumption*electricity price)*work shift+maintenance unit price*work shift+number of staff*salary*work shift+(original value / (depreciation period*365))*depreciation days)
[0120] The total cost of leasing a construction machinery:
[0121] (work shift * rental unit price + (unit fuel consumption * fuel price + unit electricity consumption * electricity price) * work shift + number of staff * salary * work shift)
[0122] (7) Depreciation days are the time the machine is on site + the dispatch period before it enters the site + the dispatch period after it leaves the site.
[0123] Development Solution:
[0124]
Objective Function
[0125]
Decision variables
[0126] X ij: The number of construction machinery of the jth type on the i-th day (unit: unit), integer variable, i∈[0,I+1], j∈[1,J], where X 0j represents the number of construction machinery of type j on site before the start of the construction period, X I+1,j Indicates the number of construction machinery of type j on site after the end of the construction period.
[0127] Y ijk : The number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day (unit: shift), continuous variable, i∈[1,I], j∈[1,J], k∈[1,K].
[0128]
Known parameters
[0129] Collections and Indexes:
[0130] j, j∈[1,J] construction machinery index, where J=J1+J2+J3, J1 represents the set of owned machinery, J2 represents the set of newly purchased machinery, and J3 represents the set of leased machinery.
[0131] k, k∈[1,K] budget machine index, where K represents the budget machine set.
[0132] i, i∈[1,I] duration index, where I represents the duration set.
[0133]
Unit cost parameters
[0134] c 0,j : Unit on-site idle cost of the j-th type of construction machinery (unit: US dollars / shift), j∈[1,J].
[0135] c 1,j : Unit cost of use of the j-th type of construction machinery (unit: US dollars / shift), j∈[1,J].
[0136] c 2_1,j : Unit depreciation cost of the j-th type of construction machinery (unit: US dollars / day / unit)2, j∈[1,J].
[0137] c 2_2,j : Fixed depreciation cost of the j-th type of construction machinery (unit: US dollars / unit)3, j∈[1,J].
[0138] c 3,j : The single entry cost of the j-th type of construction machinery (unit: US dollars / time / unit), j∈[1,J].
[0139] c 4,j : The single appearance cost of the j-th type of construction machinery (unit: US dollars / time / unit), j∈[1,J].
[0140] Other known parameters:
[0141] N j : The number of construction machinery of the jth type (unit: unit), j∈[1,J].
[0142] D ik : The required number of shifts for the k-th budgeted machine on the i-th day (unit: shift), i∈[1,I], k∈[1,K].
[0143] η ij : The maximum number of working shifts for each construction machine of the jth type of construction machinery on the i-th day (unit: shift / machine), i∈[1,I],j∈[1,J].
[0144] β jk : Conversion coefficient of the j-th type of construction machinery replacing the k-th type of budget machinery, j∈[1,J], k∈[1,K].
[0145] v j : The remaining depreciation period of the j-th type of construction machinery (unit: day), j∈[1,J].
[0146] s j : The number of construction machinery of the jth type on site before the start of the construction period. By default, its value is 0. It is an integer variable (unit: unit), j∈[1,J].
[0147] e j : The number of construction machinery of the jth type on site after the end of the construction period. By default, its value is 0. It is an integer variable (unit: unit), j∈[1,J].
[0148] c 5,j,k : The penalty cost of replacing the k-th budgeted machinery with the j-th construction machinery (unit: US dollars / shift), j∈[1,J], k∈[1,K].
[0149] c6: Penalty cost when the k-th budgeted machinery demand cannot be met (unit: US dollars / shift), k∈[1,K].
[0150]
Intermediate variables
[0151] h ij : The number of the j-th type of construction machinery entering the site on the i-th day, integer variable (unit: unit), i∈[1,I+1], j∈[1,J].
[0152] g ij : The number of the j-th type of construction machinery that appeared on the i-th day, integer variable (unit: unit), i∈[1,I+1], j∈[1,J].
[0153] z jt: The actual depreciation days (unit: day) of the t-th construction machine in the j-th type of construction machinery, j∈[1,J], t∈[1,Nj].
[0154] μ jt : An intermediate variable between 0 and 1, used to linearize the min function, has no practical meaning, j∈[1,J], t∈[1,Nj].
[0155] θ ijt : Whether the t-th construction machine in the j-th type of construction machine is present on the i-th day, a 0-1 variable, i∈[1,I], j∈[1,J], t∈[1,N j ].
[0156] Z j : The maximum number of construction machinery of the jth type on site (unit: unit), j∈[1,J].
[0157] τ ik : The unsatisfied amount of the k-th budgeted machinery demand on the i-th day, used to determine whether there is no solution, i∈[1,I], k∈[1,K].
[0158] Furthermore, the objective function of the mechanical configuration algorithm model is minC = C0 + C1 + C 2_1 +C 2_2 +C3+C4+C5+C6, where C0 is the idle cost of construction machinery, C1 is the cost of using construction machinery, and C 2_1 To calculate the depreciation cost of construction machinery according to the number of days on site, C 2_2 In order to calculate the depreciation cost according to the fixed depreciation cost, C3 is the cost of dispatching construction machinery into the site, C4 is the cost of dispatching construction machinery out of the site, C5 is the priority penalty cost, and C6 is the penalty cost of no solution.
[0159] Specifically:
[0160]
[0161] Where j∈[1,J] is the construction machinery index, J=J1+J2+J3, J1 represents the set of owned machinery, J2 represents the set of newly purchased machinery, and J3 represents the set of leased machinery; i∈[1,I] is the construction period index, I represents the construction period set; k∈[1,K] is the budget machinery index, K represents the budget machinery set; c 0,j is the unit on-site idle cost of the j-th type of construction machinery, j∈[1,J]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; X ij is the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J], X 0jrepresents the number of construction machinery of type j on site before the start of the construction period, X I+1,j Y represents the number of construction machinery of type j on site after the end of the construction period; ijk The number of shifts of the j-type construction machinery replacing the k-type budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K];
[0162]
[0163] Among them, c 1,j is the unit cost of the j-th type of construction machinery, j∈[1,J];
[0164]
[0165] Among them, c 2_1,j is the unit depreciation cost of the jth type of construction machinery, j∈[1,J]; z jt is the actual depreciation days of the t-th construction machine in the j-th type of construction machinery, j∈[1,J], t∈[1,N j ],N j is the number of construction machinery of the jth type, j∈[1,J]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J];
[0166]
[0167] Among them, c 2_2,j is the fixed depreciation cost of the j-th type of construction machinery, j∈[1,J]; Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J];
[0168]
[0169] Among them, c 3,j is the single entry cost of the j-th type of construction machinery, j∈[1,J]; h ij is the number of construction machinery of type j entering the site on the i-th day, i∈[1,I+1], j∈[1,J];
[0170]
[0171] Among them, c 4,j is the single appearance cost of the j-th type of construction machinery, j∈[1,J]; g ij is the number of construction machinery of type j that appeared on the i-th day, i∈[1,I+1], j∈[1,J];
[0172]
[0173] Among them, c 5,j,k The penalty cost of replacing the k-th budget machine with the j-th construction machine, j∈[1,J], k∈[1,K];
[0174]
[0175] Where c6 is the penalty cost when the k-th budgeted machinery demand cannot be met, k∈[1,K]; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K].
[0176] In other words, the objective function of the model is:
[0177] minC=C0+C1+C 2_1 +C 2_2 +C3+C4+C5+C6
[0178] Cost 0: Idle construction machinery cost: Unit idle cost * Idle shifts
[0179]
[0180] Cost 1: Construction machinery use cost: unit use cost * actual work shifts
[0181]
[0182] Cost 2.1: Calculate the depreciation cost of construction machinery based on the number of days on site: unit depreciation cost * actual depreciation days
[0183]
[0184] Cost 2.2: Calculate depreciation cost based on fixed depreciation cost
[0185]
[0186] Cost 3: Construction machinery entry and dispatch cost: Single entry cost * Number of equipment entry times
[0187]
[0188] Cost 4: Construction machinery dispatch cost: single dispatch cost * equipment dispatch times
[0189]
[0190] Cost 5: Priority Penalty Cost
[0191]
[0192] Cost 6: Unsolvable Penalty Cost
[0193]
[0194] Furthermore, the constraints of the mechanical configuration algorithm model specifically include:
[0195] The first constraint is the number of entries of the jth type of construction machinery;
[0196] The second constraint is the number of appearances of the jth type of construction machinery;
[0197] The third constraint is that the number of shifts of construction machinery replacing budgeted machinery should not exceed the maximum available number of shifts;
[0198] The fourth constraint is to consider the efficiency conversion coefficient when replacing the budgeted machinery with construction machinery;
[0199] The fifth constraint is that when calculating the depreciation cost based on the number of days on site, the number of days on site must not be greater than the remaining depreciation period; when calculating the depreciation cost based on the fixed depreciation cost, it is determined whether the construction machinery has been on site;
[0200] The sixth constraint, the priority is achieved by adding penalty cost, and the construction machinery with small penalty is selected through the objective function of optimal cost;
[0201] The seventh constraint is that construction machinery cannot replace budget machinery with a conversion coefficient of 0.
[0202] Specifically, the first constraint is:
[0203]
[0204] h ij ≥X ij -X i-1,j ,i∈[1,I+1],j∈[1,J]
[0205] h ij ≥0,i∈[1,I+1],j∈[1,J]
[0206] Among them, h ij is the number of construction machinery of type j entering the site on day i, i∈[1,I+1], j∈[1,J]; X ij is the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J]; h ij and X ij All are integer variables;
[0207] The second constraint is:
[0208]
[0209] gij ≥X i-1,j -X ij ,i∈[1,I+1],j∈[1,J]
[0210] g ij ≥0,i∈[1,I+1],j∈[1,J]
[0211] Among them, i∈[1,I+1], j∈[1,J], g ij is the number of construction machinery of type j that appeared on the i-th day, g ij ≥0;
[0212] The third constraint is:
[0213]
[0214] Among them, Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,K], k∈[1,K]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day;
[0215] The fourth constraint is specifically:
[0216]
[0217] τ ik ≥0,i∈[1,I],k∈[1,K]
[0218] Among them, β jk Y is the conversion coefficient of replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ijk *β jk represents the effective number of shifts of the jth type of construction machinery replacing the kth type of budget machinery on the i-th day; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; D ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K];
[0219] The fifth constraint specifically includes:
[0220] Calculate depreciation cost based on days on site:
[0221] (N j +1)θ ijt ≥X ij -t+1,i∈[1,I],j∈[1,J],t∈[1,N j ]
[0222]
[0223] Among them, N j is the number of construction machinery of the jth type, j∈[1,J]; θ ijt Indicates whether the t-th construction machine in the j-th type of construction machine is present on the i-th day, i∈[1,I],j∈[1,J],t∈[1,Nj]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J]; v j is the remaining depreciation period of the j-th type of construction machinery, j∈[1,J];
[0224] Calculate depreciation cost based on fixed depreciation cost:
[0225] Z j ≥X ij , i∈[1,I], j∈[1,J];
[0226] Among them, Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J].
[0227] In other words, the constraints of the mechanical configuration algorithm model include:
[0228] Constraint 1 (constraints related to entry and dispatch costs) The number of entries of the j-th type of construction machinery (unit: unit) is:
[0229]
[0230] h ij ≥X ij -X i-1,j ,i∈[1,I+1],j∈[1,J]
[0231] h ij ≥0,i∈[1,I+1],j∈[1,J]
[0232] Constraint 1 analysis:
[0233] h ij and X ij All are integer variables, h ij It represents the number of construction machinery of the jth type entering the site on the i-th day, and Xij represents the number of construction machinery of the jth type present on the i-th day.
[0234] Therefore, X ij -X i-1,j >0, indicating the number of construction machinery of type j entering the site on day i. At this time, h ij =X ij -X i-1,j, indicating that the number of construction machinery of type j entering the site on day i is X ij -X i-1,j ; When X ij -X i-1,j When ≤0, it means that there is no construction machinery of type j entering the site on the i-th day or there is construction machinery of type j leaving the site on the i-th day. At this time, h ij ≥0, but due to the mechanical entry cost in the objective function, h i j must be 0, indicating that the number of construction machinery of type j entering the site on the i-th day is 0.
[0235] Constraint 2 (constraints related to the cost of deployment) The number of deployments of the j-th type of construction machinery (unit: unit) is:
[0236]
[0237] g ij ≥X i-1,j -X ij ,i∈[1,I+1],j∈[1,J]
[0238] g ij ≥0,i∈[1,I+1],j∈[1,J]
[0239] Constraint 2 analysis:
[0240] The same is true for constraint 1 analysis.
[0241] Constraint 3 (constraints related to available machine shifts): The number of construction machinery shifts that replace the budgeted machinery shall not exceed its maximum available machine shifts.
[0242]
[0243] Constraint 3 analysis:
[0244] ∑Y ijk K k =1 means the total working hours of the j-th type of construction machinery on the i-th day must meet the maximum working hours of the j-th type of construction machinery on the i-th day.
[0245] Constraint 4 (no feasible solution and construction machinery must meet the constraints related to budget machinery requirements) When construction machinery replaces budget machinery, the efficiency conversion coefficient must be considered
[0246]
[0247] τ ik ≥0,i∈[1,I],k∈[1,K]
[0248] Constraint 4 analysis:
[0249] Y ijkrepresents the number of shifts of the j-th type of construction machinery replacing the k-th type of budget machinery on the i-th day,
[0250] β jk represents the conversion coefficient of the jth type of construction machinery replacing the kth type of budget machinery,
[0251] Y ijk *β jk It represents the effective number of shifts of the jth type of construction machinery replacing the kth type of budgeted machinery on the i-th day.
[0252] τik represents the insufficient demand for construction machinery when replacing budgeted machinery, τ ik is a slack variable. Due to the penalty cost 6, τ ik Therefore, the left formula indicates that the effective shift quantity of all construction machinery replacing the k-th budget machinery on the i-th day should not be less than the required shift quantity of the k-th budget machinery on the i-th day in the right formula. For the solution obtained by the model, we should first determine τ ik Is the value not 0? For each τ ik >0 budget mechanical k, give a hint.
[0253] Constraint 5 (constraints related to depreciation costs): When calculating depreciation costs based on days on site, the number of days should not be greater than the remaining depreciation period; when calculating based on fixed depreciation costs, it is necessary to determine whether the construction machinery has been on site.
[0254] Constraint 5.1: Calculate depreciation cost based on days on site
[0255] (N j +1)θ ijt ≥X ij -t+1,i∈[1,I],j∈[1,J],t∈[1,N j ]
[0256]
[0257] Constraint 5.1 Analysis: To determine whether the number of days a construction machine is on-site is greater than the remaining number, we need to know the number of days a construction machine is on-site. Here we can find that for construction machines with the same other parameters, letting one machine work all the time saves more dispatch fees and depreciation fees (if the depreciation period has expired) than rotating construction machines. Therefore, a new auxiliary 0-1 variable θ is added ijt Indicates whether the t-th construction machine in the j-th type of construction machine is present on the i-th day. (N j +1)θ ijt Medium j The function of is similar to M and is used to control inequalities. ij -t+1, X ijrepresents the number of construction machinery of type j on day i. For example, when X ij When the value is 3, it means that there are 3 construction machines of the jth type on the i-th day, namely the 1st, 2nd, and 3rd.
[0258] Therefore, when t = 1, t = 2, t = 3, X ij -t+1 values are 3, 2, and 1 respectively, and the left formula θ ijt The value must be 1 at t=1, 2, 3.
[0259] When t>3, X ij -t+1<0, combined with the characteristic of the objective function containing depreciation cost, the left formula θ ijt Must be 0.
[0260] In summary, θ ijt It can perfectly express its meaning, that is, whether the t-th construction machine in the j-th type of construction machinery is present on the i-th day.
[0261] ∑θ ijt I i =1 represents the number of days the t-th construction machine in the j-th type of construction machinery is on site during the entire construction period. The smaller value of its value and the parameter vj is taken as the actual number of days the machine is on site.
[0262] Constraint 5.1 Linearization (min function linearization):
[0263]
[0264] z jt ≥v j -Mμ jt ,j∈[1,J],t∈[1,N j ]
[0265] μ jt ∈{0,1},j∈[1,J],t∈[1,N j ]
[0266] Constraint 5.2: Calculate depreciation cost based on fixed depreciation cost
[0267] Z j ≥X ij ,i∈[1,I],j∈[1,J],
[0268] Constraint 5.2 analysis: When calculating according to the fixed depreciation cost, it is necessary to determine whether a construction machine has been present. Therefore, similarly to constraint 5.1 analysis, it is considered that: X ij The maximum value during the construction period is the maximum number of construction machinery of type j that have been present during the construction period.
[0269] Constraint 6 (priority-related constraints) Priority can be achieved by adding penalty costs, and through the cost-optimal objective function, the construction machinery with the smaller penalty is selected.
[0270] Constraint 6 analysis: Constraint 6 is reflected in cost 5. For each shift of a construction machine that replaces a budgeted machine, a certain penalty cost is required (the lower the priority, the higher the penalty cost). Therefore, under the optimization goal of optimal cost, the algorithm will select the construction machine with a higher priority for replacement, unless the machine is not present or conflicts with other constraints.
[0271] Constraint 7 (Conversion coefficient related constraints): Construction machinery cannot replace budget machinery with a conversion coefficient of 0.
[0272] Y ijk =0,i∈[1,I],j∈[1,J],k∈[1,K],β jk =0
[0273] In summary, this model can meet the model-related requirements in project requirements.
[0274] μ jt ∈{0,1},j∈[1,J],t∈[1,N j ]
[0275] Furthermore, step S4 further includes:
[0276] When solving the mechanical configuration algorithm model, determining whether the mechanical configuration algorithm model has a feasible solution;
[0277] If it is determined that there is no feasible solution, the subsequent model solution is stopped, and a prompt message is output to inform the budget machinery needs that cannot be met in the machinery resource optimization configuration task.
[0278] When judging whether the mechanical configuration algorithm model has a feasible solution, the influence of cost is ignored and a simplified model is used to judge whether there is a feasible solution; the simplified model is expressed as:
[0279]
[0280] τ ik ≥0,i∈[1,I],k∈[1,K]
[0281] Y ijk ≥0,i∈[1,I],j∈[1,J],k∈[1,K]
[0282] Among them, τ ik ≥0,τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; Y ijk≥0, i∈[1,I], j∈[1,J], k∈[1,K]; Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; η ij N is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; j is the number of construction machinery of the jth type, j∈[1,J]; β jk D is the conversion coefficient for replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K];
[0283] When the C6 value is 0, it indicates that the model has a feasible solution and can continue the subsequent optimization; when the C6 value is positive, it indicates that the model has no feasible solution, and the existence of τ ik >0 budget machine k and stop subsequent model solving.
[0284] In other words, this environment is an improvement on the model, and if there is no feasible solution, it is judged first. It corresponds to class Model_Judge in the algorithm source code.
[0285] For the current given parameters, the model may have no feasible solution. It is necessary to prompt this situation and inform which budget machinery needs cannot be met. For the judgment of no feasible solution, the impact of cost can be ignored. Therefore, a simplified model can be used to judge the no feasible solution.
[0286] Assuming that all construction machines are present and the original model is modified to contain only objective functions and constraints that may make the model infeasible, it is possible to determine whether the original model has no feasible solution.
[0287] Therefore, the original model can be expressed as:
[0288]
[0289] τ ik ≥0,i∈[1,I],k∈[1,K]
[0290] Y ijk ≥0,i∈[1,I],j∈[1,J],k∈[1,K]
[0291] When the C6 value is 0, it indicates that the model has a feasible solution and subsequent optimization can continue.
[0292] When the C6 value is positive, it indicates that the model has no feasible solution. In this case, it is necessary to give the existence of τ ik>0 budget machine k and stop subsequent model solving.
[0293] In the case of no solution, the solution can be accelerated by dividing the construction period into one day and parallel computing. Therefore, the original model is updated to (for every i):
[0294] min C=C6
[0295]
[0296] τ k ≥0,k∈[1,K]
[0297] Y jk ≥0,j∈[1,J],k∈[1,K]
[0298] There is an equation relationship between the number of entries and the number of exits. Therefore, the number of entries is used to replace the number of exits.
[0299] By observing the data structure, we can know that the number of times the j-th type of construction machinery appears = the number of times the j-th type of construction machinery enters + the number of times the j-th type of construction machinery is present before the start of the construction period - the number of times the j-th type of construction machinery is present after the end of the construction period. That is: ∑g ij I+1i=1=∑h ij I+1i=1+s j -e j Therefore, h ij Linear substitution g ij .
[0300] At the same time, j -e j As a constant, even if combined with the cost of a single outing, it will have an impact on the objective function value, but it will not affect the choice of the solution. Therefore, the cost of the constant can be deleted when solving the algorithm.
[0301] On the other hand, the optimized solution of the model will only be given when the model has a feasible solution. Therefore, only the case where the model has a feasible solution needs to be considered here.
[0302] In summary, the original formula is equivalent to the following mathematical model: Model_Optimal corresponding to the algorithm source code
[0303] min C=C0+C1+C2+C3+C5
[0304]
[0305] X ij ≤N j ,i∈[1,I+2],j∈[1,J]
[0306] hij ≥X ij -X i-1,j ,i∈[1,I+1],j∈[1,J]
[0307]
[0308] (N j +1)θ ijt ≥X ij -t+1,i∈[1,I],j∈[1,J],t∈[1,N j ]
[0309] Z j ≥X ij ,i∈[1,I],j∈[1,J]
[0310]
[0311] z jt ≤v j ,j∈[1,J],t∈[1,N j ]
[0312]
[0313] z jt ≥v j -Mμ jt ,j∈[1,J],t∈[1,N j ]
[0314] Y ijk =0,i∈[1,I],j∈[1,J],k∈[1,K],β jk =0
[0315] μ jt ∈{0,1},j∈[1,J],t∈[1,N j ]
[0316] X ij ∈[0,N j ],i∈[1,I],j∈[1,J]
[0317] h ij ≥0,i∈[1,I+1],j∈[1,J]
[0318] The following are some of the source codes corresponding to the above methods:
[0319] class AlgoModel(object):
[0320] """Algorithm model"""Main class
[0321] dataset_files=["attribution.csv","zhuanhuanxishu.csv","youxianji.csv","jihe.csv","worktime.csv","demand.csv"]
[0322] file_name_no_solution="result_no_solution.csv"
[0323] file_name_cost="result_cost.csv"
[0324] file_name_machine_status="result_machine_status.csv"
[0325] file_name_machine_worktime="result_machine_worktime.csv"
[0326] Algorithm model class, including: data acceptance, data validity verification, data splitting, parallel computing, merging calculation results, returning results, etc.
[0327] def run_algo(self, base_path=None, split_judge_interval_days=1, split_compute_interval_days=30):
[0328] A unified function entry for running algorithm calculations, connecting multiple links in series, and returning the calculation results.
[0329] defcheck_data(self,dataset_path=None):
[0330] """
[0331] Check the dataset
[0332] Compliance
[0333] """
[0334] Check the rationality and compliance of data
[0335] defsplit_dataset(self,base_path,sub_dirname="sub_A",days=1):
[0336] """
[0337] Splitting the Dataset
[0338] The cutting granularity is in the specified number of days.
[0339] """
[0340] Data splitting and effective calculation according to calculation units
[0341] defparallel_processes(self,func,args_list,timeout=1024):
[0342] """Parallel computing-multi-process (multi-core) computing model"""
[0343] Parallel computing to improve computing efficiency
[0344] defmerge_dataset(self,sub_path_list=None, base_path=None, merge_type="has_solution"):
[0345] """
[0346] Merge subdatasets
[0347] """
[0348] Combine the calculation results and return whether there is a solution.
[0349] Furthermore, a task execution result storage module is also provided on the server. After step S4, the method further includes:
[0350] S5, the task execution unit sends the obtained optimal solution and the corresponding total cost of the construction project to the task execution result storage module for storage.
[0351] Further, in step S2, the client specifically initiates a mechanical resource optimization configuration task through an API;
[0352] After step S4, the method further comprises:
[0353] S6, receiving a task status query request sent by the client via an API;
[0354] Return the execution status of the mechanical resource optimization configuration task in the task execution unit to the client.
[0355] S7, receiving a task result query request sent by the client via an API;
[0356] The optimal solution obtained in the task execution unit and the corresponding total cost of the construction project are returned to the client.
[0357] Provides API interfaces for initiating computing tasks, querying status, and obtaining results to facilitate system integration and user access.
[0358] Furthermore, when there are multiple mechanical resource optimization configuration tasks in the task scheduling queue, after the mechanical resource optimization configuration task is extracted from the task scheduling queue, steps S3-S4 are executed for each mechanical resource optimization configuration task in the order of extraction, or steps S3-S4 are executed for each mechanical resource optimization configuration task according to the planned time.
[0359] In other words, the method provided in the embodiment of the present application is divided into the following parts:
[0360] The client clicks the "Automatically calculate machine quantity" function button on the mechanical resource efficiency conversion page of the engineering cost management system. The program calculates and processes the types, quantities, efficiency conversion coefficients, priorities and other data of the budget machinery and construction machinery into the format required by the algorithm, and then uploads it to the server for linear programming calculations.
[0361] The core of the method is divided into the following parts:
[0362] File application service: provides file upload and download, mainly including: the number of owned machinery uploaded by the client (the number, type and status information of existing machinery), budgeted daily machinery demand (daily machinery demand plan, including expected construction tasks and required machinery) and other files; the construction machinery on-site plan, construction machinery replacement budget machinery plan and other files provided by the algorithm application service.
[0363] Algorithm application services: Figure 3 As shown, it provides functions such as initiating computing tasks, querying status, and querying results in an API manner, so that various parts of the system can interact efficiently.
[0364] Distributed task scheduling module: It can be roughly divided into three parts: task scheduling queue, task execution unit, and task execution result storage:
[0365] (1) The task scheduling queue is an independent service and a producer-consumer model. The producer puts the task into the queue, and the consumer takes the task out of the task queue for execution. The tasks can be executed in sequence or according to the planned time.
[0366] Supports sequential execution and scheduled execution of tasks to improve flexibility.
[0367] (2) The task execution unit is the program that executes the task, which can have multiple concurrent tasks. It monitors the message queue in real time, obtains the scheduled tasks in the queue, and executes them.
[0368] This is the program module that actually performs the calculation. You can deploy multiple concurrent instances, monitor the message queue in real time, and obtain tasks to be executed. Each instance can run independently to improve the overall processing efficiency.
[0369] (3) The existence of the task execution result storage module is because the execution of the task is separated from the main program. If the main program wants to obtain the results of the task execution, it must be stored through the middleware. If you do not need to save the execution results, you can also not configure this module. The execution results are stored in the middleware so that the main program can obtain them when needed. The design of this module enables the system to effectively manage the calculation results and support subsequent analysis and decision-making.
[0370] Using API to initiate computing tasks, query status, query results, etc. means that the system provides a set of interfaces that enable users or other systems to interact with it programmatically. Specifically:
[0371] Task initiation: Users can submit new computing tasks through the API.
[0372] Status query: Users can check the current status of a task, such as whether it is being executed or completed.
[0373] Result query: Once the task is completed, users can obtain the calculation results through the API.
[0374] This approach improves the flexibility and automation of the system, making integration and operation more efficient. The overall implementation of the multi-task concurrent computing solution of the complete algorithm solution is to task the algorithm, customize the algorithm scheduling framework, engineer the algorithm, and feedback data via HTTP.
[0375] The algorithm application service technology stack diagram of the method provided in the embodiment of this application can be found in Figure 4 , the distributed task scheduling module interaction diagram can be found in Figure 5 .
[0376] Relying on the method provided in the embodiment of the present application, multi-task concurrent calculation of the solution algorithm is realized through distributed computing method, which can help engineering construction companies to efficiently and automatically complete the distribution budget of construction machinery in engineering cost management, while maximizing the utilization of system resources and dynamically expanding the capacity of computing nodes, making full use of system resources and improving computing efficiency and system performance.
[0377] This application performs task-based processing on the calculation process in the engineering cost management system, executes concurrent calculations according to business scheduling rules, obtains calculation results, and finally realizes the application of distributed calculation method multi-task concurrent calculation in the engineering cost management system.
[0378] This application realizes the distributed computing and deployment of linear programming algorithms, breaking the traditional single-task, single-process approach of similar computing, maximizing the utilization of system resources and dynamically expanding computing nodes.
[0379] Since the construction cost management system integrates multi-task concurrent calculation of the solution algorithm, it not only supports the automatic calculation of the optimal solution for the construction machinery configuration, improving the economy of the construction machinery configuration results, but also the multi-task concurrent calculation can maximize the utilization of system resources.
[0380] This application is integrated into the "Mechanical Resource Efficiency Conversion" page of the engineering cost management system. The file application service is developed using the Java programming language, Spring Boot, Spring Framework and other frameworks, and the algorithm application service is developed using the Python programming language, Flask, SQLAlchemy and other frameworks. It can be deployed in the Windows or Linux system of any virtual machine server.
[0381] Using the method provided in the embodiment of the present application, a certain overseas project was randomly selected for testing, and the results were as follows:
[0382] 1) Small sample data test results: Input 6 types of construction machinery to replace 5 budgeted machinery, 18 working days. The algorithm takes 2.23 seconds, and the cost is reduced by 1.08% compared with the original.
[0383] 2) Project test results: Cost calculation is reduced by 0.8% compared to the original, which improves efficiency and reduces project costs.
[0384] The method provided in the embodiment of the present application coordinates and manages all mechanical equipment through an algorithm, outputs the distribution quantity and total cost of the machinery, and can further promote the refined management of various unit costs (unit usage cost, unit on-site idle cost, unit depreciation cost, single entry and exit cost, etc.).
[0385] By using the constraints of the algorithm to meet the budgeted machinery requirements in the project, the optimal resource allocation is performed while minimizing the project cost, providing the machinery dispatcher with a cost-optimized configuration reference. Through the calculation of the mixed integer programming algorithm of operations research, the automation and intelligence level of the cost management software is improved.
[0386] This application solves the mathematical model based on known data and constraints in the engineering cost management system. The algorithm needs to optimize the solution of replacing the budgeted machinery based on the existing construction machinery so that it can meet the budgeted machinery requirements while minimizing the total project cost.
[0387] The method provided in the embodiment of the present application, by utilizing a task scheduling queue, a task execution unit and a constructed mechanical configuration algorithm model, can quickly provide the optimal construction machinery configuration plan based on the mechanical resource optimization configuration tasks initiated by the client without relying on manual labor, thereby realizing the automated processing of mechanical resource optimization configuration tasks. Compared with the traditional manual data input method, it can significantly improve the processing speed and accuracy and reduce the possibility of human error.
[0388] Traditional methods rely on manual data input and are easily affected by human factors, resulting in inaccurate results. The method provided in the embodiment of the present application eliminates manual intervention and improves processing efficiency and accuracy through real-time monitoring and automatic data extraction. The setting of the task scheduling queue and the task execution unit enables the system to process multiple mechanical resource optimization configuration tasks at the same time, overcoming the single task processing bottleneck of the traditional method and improving the overall construction efficiency.
[0389] Through the mechanical configuration algorithm model, this method can comprehensively consider various parameters and quickly provide the optimal solution for the construction machinery configuration, avoiding the unreasonable configuration problem caused by the lack of systematicity of traditional methods.
[0390] In summary, the engineering budget processing method based on budget machinery demand realizes efficient automatic calculation by setting up task scheduling queues and task execution units on the server. The constructed mechanical configuration algorithm model can respond to the client's mechanical resource optimization configuration tasks in real time, extract known parameters, and then quickly calculate the optimal construction machinery configuration plan and the corresponding total cost of the construction project. This process significantly improves work efficiency and reduces the errors caused by manual input. At the same time, the automated data monitoring and processing mechanism ensures the real-time and accuracy of information, thereby overcoming the inefficiency and inaccuracy caused by reliance on manual input in traditional methods. In addition, this method flexibly adapts to different project requirements, optimizes resource allocation, effectively reduces engineering costs, and provides enterprises with a scientific and reasonable budget management solution.
[0391] That is to say, the method provided in the embodiment of the present application has the following features:
[0392] Efficiency: Through automated calculation and distributed processing, the efficiency of construction machinery configuration is greatly improved and manual intervention is reduced.
[0393] Economical: The machinery distribution algorithm can provide the optimal machinery configuration solution for the project, thereby reducing the overall project cost.
[0394] Flexibility: The system can respond quickly to changing needs and conditions and adapt to dynamic construction environments.
[0395] Scalability: API-based architecture facilitates future expansion and integration of functions and supports interconnection with other management systems.
[0396] It should be understood that although Figure 2 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. Moreover, Figure 2 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.
[0397] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 6 As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. The processor of the computer device is used to provide computing and control capabilities, and the network interface is used to communicate with an external terminal through a network connection. The computer device loads and runs a computer program to implement the above-mentioned engineering budget processing method based on budget machinery requirements.
[0398] Those skilled in the art will understand that Figure 6 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0399] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which involves all or part of the processes in the above-mentioned embodiment method.
[0400] In one embodiment, a computer program product is also provided, including a computer program / instruction, which implements all or part of the process in the above-mentioned embodiment method when executed by a processor.
[0401] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
Claims
1. A method for processing engineering budget based on budget machinery requirements, characterized in that: Applied to a server, the server is provided with a task scheduling queue and a task execution unit, the method comprises: S1, building a mechanical configuration algorithm model; S2, the task execution unit monitors the task scheduling queue in real time, and in response to the client initiating the mechanical resource optimization configuration task, extracts the mechanical resource optimization configuration task initiated by the client from the task scheduling queue; S3, the task execution unit extracts the known parameters uploaded by the client from the mechanical resource optimization configuration task; S4, the task execution unit solves the mechanical configuration algorithm model according to the known parameters to obtain the optimal solution of the mechanical configuration algorithm model, wherein the optimal solution is a construction machinery configuration scheme that can minimize the total cost of the construction project, and calculates the total cost of the construction project corresponding to the optimal solution.
2. The engineering budget processing method based on budget machinery demand according to claim 1 is characterized in that: When constructing the machinery configuration algorithm model, the objective function of the machinery configuration algorithm model is to minimize the total cost of the construction project. The decision variables of the machinery configuration algorithm model include the number of construction machinery on site and the total number of machines to be replaced with the budgeted machinery. The constraints of the machinery configuration algorithm model are multiple constraints to ensure that the construction machinery configuration plan meets the requirements of the machinery resource optimization configuration task.
3. The engineering budget processing method based on budget machinery demand according to claim 2 is characterized in that: The objective function of the mechanical configuration algorithm model is specifically: minC=C0+C1+C 2_1 +C 2_2 +C3+C4+C5+C6; Among them, C0 is the idle cost of construction machinery, C1 is the cost of using construction machinery, and C 2_1 To calculate the depreciation cost of construction machinery according to the number of days on site, C 2_2 To calculate the depreciation cost according to the fixed depreciation cost, C3 is the construction machinery entry dispatch cost, C4 is the construction machinery exit dispatch cost, C5 is the priority penalty cost, and C6 is the unsolvable penalty cost; The constraints of the mechanical configuration algorithm model specifically include: The first constraint is the number of entries of the jth type of construction machinery; The second constraint is the number of appearances of the jth type of construction machinery; The third constraint is that the number of shifts of construction machinery replacing budgeted machinery should not exceed the maximum available number of shifts; The fourth constraint is to consider the efficiency conversion coefficient when replacing the budgeted machinery with construction machinery; The fifth constraint is that when calculating the depreciation cost based on the number of days on site, the number of days on site must not be greater than the remaining depreciation period; when calculating the depreciation cost based on the fixed depreciation cost, it is determined whether the construction machinery has been on site; The sixth constraint, the priority is achieved by adding penalty cost, and the construction machinery with small penalty is selected through the objective function of optimal cost; The seventh constraint is that construction machinery cannot replace budget machinery with a conversion coefficient of 0.
4. The engineering budget processing method based on budget machinery demand according to claim 3 is characterized in that: Where j∈[1,J] is the construction machinery index, J=J1+J2+J3, J1 represents the set of owned machinery, J2 represents the set of newly purchased machinery, and J3 represents the set of leased machinery; i∈[1,I] is the construction period index, I represents the construction period set; k∈[1,K] is the budget machinery index, K represents the budget machinery set; c 0,j is the unit on-site idle cost of the j-th type of construction machinery, j∈[1,J]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; X ij is the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J], X 0j represents the number of construction machinery of type j on site before the start of the construction period, X I+1,j Y represents the number of construction machinery of type j on site after the end of the construction period; ijk The number of shifts of the j-type construction machinery replacing the k-type budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; Among them, c 1,j is the unit cost of the j-th type of construction machinery, j∈[1,J]; Among them, c 2_1,j is the unit depreciation cost of the jth type of construction machinery, j∈[1,J]; z jt is the actual depreciation days of the t-th construction machine in the j-th type of construction machinery, j∈[1,J], t∈[1,N j ],N j is the number of construction machinery of the jth type, j∈[1,J]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J]; Among them, c 2_2,j is the fixed depreciation cost of the j-th type of construction machinery, j∈[1,J]; Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J]; Among them, c 3,j is the single entry cost of the j-th type of construction machinery, j∈[1,J]; h ij is the number of construction machinery of type j entering the site on the i-th day, i∈[1,I+1], j∈[1,J]; Among them, c 4,j is the single appearance cost of the j-th type of construction machinery, j∈[1,J]; g ij is the number of construction machinery of type j that appeared on the i-th day, i∈[1,I+1], j∈[1,J]; Among them, c 5,j,k The penalty cost of replacing the k-th budget machine with the j-th construction machine, j∈[1,J], k∈[1,K]; Where c6 is the penalty cost when the k-th budgeted machinery demand cannot be met, k∈[1,K]; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K].
5. The engineering budget processing method based on budget machinery demand according to claim 3 is characterized in that: The first constraint is: Among them, h ij is the number of construction machinery of type j entering the site on day i, i∈[1,I+1], j∈[1,J]; X ij is the number of construction machinery of the jth type on the i-th day, i∈[0,I+1], j∈[1,J]; h ij and X ij All are integer variables; The second constraint is: Among them, i∈[1,I+1], j∈[1,J], g ij is the number of construction machinery of type j that appeared on the i-th day, g ij ≥0; The third constraint is: Among them, Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; η ij is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; The fourth constraint is specifically: Among them, β jk Y is the conversion coefficient of replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ijk *β jk represents the effective number of shifts of the jth type of construction machinery replacing the kth type of budget machinery on the i-th day; τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; D ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K]; The fifth constraint specifically includes: Calculate depreciation cost based on days on site: Among them, N j is the number of construction machinery of the jth type, j∈[1,J]; θ ijt Indicates whether the t-th construction machine in the j-th type of construction machine is present on the i-th day, i∈[1,I],j∈[1,J],t∈[1,Nj]; N jt is the maximum number of working shifts that each construction machine of the jth type of construction machine can work on the i-th day, i∈[1,I],j∈[1,J]; v j is the remaining depreciation period of the j-th type of construction machinery, j∈[1,J]; Calculate depreciation cost based on fixed depreciation cost: Z j ≥X ij ,i∈[1,I],j∈[1,J], Among them, Z j is the maximum number of construction machinery of the jth type on site, j∈[1,J].
6. The engineering budget processing method based on budget machinery demand according to claim 4 is characterized in that: Step S4 also includes: When solving the mechanical configuration algorithm model, determining whether the mechanical configuration algorithm model has a feasible solution; If it is determined that there is no feasible solution, the subsequent model solution is stopped, and a prompt message is output to inform the budget machinery needs that cannot be met in the machinery resource optimization configuration task.
7. The engineering budget processing method based on budget machinery demand according to claim 6 is characterized in that: When judging whether the mechanical configuration algorithm model has a feasible solution, the influence of cost is ignored and a simplified model is used to judge whether there is a feasible solution; the simplified model is expressed as: Among them, τ ik ≥0,τ ik When replacing budgeted machinery with construction machinery, the unsatisfied demand for the k-th budgeted machinery on the i-th day, i∈[1,I],k∈[1,K]; Y ijk ≥0, i∈[1,I], j∈[1,J], k∈[1,K]; Y ijk is the number of shifts of the j-th type of construction machinery replacing the k-th type of budgeted machinery on the i-th day, i∈[1,I], j∈[1,J], k∈[1,K]; η ij N is the maximum number of working shifts that each construction machine of the jth type of construction machine can perform on the i-th day; j is the number of construction machinery of the jth type, j∈[1,J]; β jk D is the conversion coefficient for replacing the k-th budget machinery with the j-th construction machinery, j∈[1,J], k∈[1,K]; ik is the budgeted machine-shift demand of the k-th type on the i-th day, i∈[1,I], k∈[1,K]; When the C6 value is 0, it indicates that the model has a feasible solution and can continue the subsequent optimization; when the C6 value is positive, it indicates that the model has no feasible solution, and the existence of τ ik >0 budget machine k and stop subsequent model solving.
8. The engineering budget processing method based on budget machinery demand according to claim 1 is characterized in that: The server is also provided with a task execution result storage module. After step S4, the method further includes: S5, the task execution unit sends the obtained optimal solution and the corresponding total cost of the construction project to the task execution result storage module for storage.
9. The engineering budget processing method based on budget machinery demand according to claim 1 is characterized in that: In step S2, the client specifically initiates a mechanical resource optimization configuration task through an API; After step S4, the method further comprises: S6, receiving a task status query request sent by the client via an API; Return the execution status of the mechanical resource optimization configuration task in the task execution unit to the client; S7, receiving a task result query request sent by the client via an API; The optimal solution obtained in the task execution unit and the corresponding total cost of the construction project are returned to the client.
10. The engineering budget processing method based on budget machinery demand according to claim 1, characterized in that: When there are multiple mechanical resource optimization configuration tasks in the task scheduling queue, after the mechanical resource optimization configuration task is extracted from the task scheduling queue, steps S3-S4 are executed for each mechanical resource optimization configuration task in the extraction order, or steps S3-S4 are executed for each mechanical resource optimization configuration task according to the planned time.
Citation Information
Patent Citations
Dual-target robust resource allocation method and system under resource exclusion and transfer perspectives
CN111667191A
Engineering cost optimization method based on multi-task coevolution algorithm
CN118134429A
Task scheduling optimization method and system based on equipment state analysis
CN118193169A
Multi-objective intelligent compilation optimization method for comprehensive multi-factor construction organization design
CN118365013A
Method and apparatus for creating and evaluating strategies
US20050096950A1