A project resource collaborative planning method based on double triangle evolution mechanism
By introducing the double-triangle evolution mechanism into project resource scheduling, the problems of low efficiency and easy falling into local optimality of existing methods are solved, and more efficient and high-quality resource scheduling is achieved.
Patent Information
- Application Number
- CN202411435746.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-01-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
When the existing project resource scheduling method deals with the optimization problem of complex type resource scheduling, it is inefficient and easy to fall into local optimal solutions, making it difficult to obtain high-quality solutions.
Adopt a project resource collaborative planning method based on the double triangle evolution mechanism, and improve the efficiency and quality of group iteration through the double triangle mechanism's resource supplement mechanism, R&D scientific research project resource scheduling task coding, and failure tolerance processing.
It significantly improves the speed and quality of complex type resource scheduling optimization algorithms, avoids local optimal solutions, and obtains more stable and better solution quality.
Smart Images

Figure CN118941063B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of project resource scheduling, and in particular to a project resource collaborative planning method based on a double triangle evolution mechanism. Background Art
[0002] Project scheduling is one of the important research and practice topics in operations research. The problem of planning and scheduling projects with limited resources is called the Resource Constrained Project Scheduling Problem (RCPSP). The RCPSP problem has been proven to be an NP-hard (non-deterministic polynomial time hard) problem. The existing methods for solving such problems are mainly divided into exact methods and meta-heuristic algorithms. Exact methods are classic algorithms that guarantee to find the optimal solution. These methods do not require multiple runs or parameter adjustments through trial and error methods. They lay the foundation for the development of meta-heuristic technology. However, due to efficiency issues, exact methods are limited in scope in practical applications.
[0003] Heuristic-based algorithms can be divided into two major categories, namely, evolution-based methods and swarm-based methods. In addition to these, there are hybrid algorithms. Hybrid algorithms combine swarm and evolutionary algorithms. Evolutionary techniques constitute a class of methods that exploit the concept of natural evolution. These techniques allow generating a set of trade-off solutions in one execution and require fewer computational resources to find a solution. Summary of the invention
[0004] The present invention provides a project resource collaborative planning method based on a double triangle evolution mechanism, which includes a resource supplement mechanism of the double triangle mechanism, resource scheduling task coding for R&D scientific research projects, and failure tolerance processing mechanisms.
[0005] The double triangle evolution mechanism algorithm is a new optimization algorithm. By integrating the resource replenishment mechanism of the double triangle mechanism, the resource scheduling task coding of R&D scientific research projects, and the tolerance processing of failure, the characteristics and model of the double triangle evolution are abstracted. Aiming at the problem of resource scheduling of R&D scientific research projects, the present invention establishes a corresponding mathematical model, and designs an evolutionary algorithm based on the double triangle model, which is applied to practical problem scenarios. The algorithm designs mechanisms such as double triangle mechanism, resource scheduling task coding and tolerance processing of failure, which improves the efficiency and quality of group iteration. Through experimental comparison with other mainstream algorithms, the algorithm designed by the present invention can obtain more stable and better solution quality. It provides a better solution to solve practical problems.
[0006] To achieve the above object, the present invention provides a project resource collaborative planning method based on a double triangle evolution mechanism, the method comprising:
[0007] Step 1: Topologically sort all subtasks in the task network and determine the execution order of the subtasks;
[0008] Step 2: Sequence flow encoding: Use a two-layer sequence flow to represent the solution to the resource-constrained project scheduling problem, where the upper layer encoding represents the allocation relationship between subtasks and resources, and the lower layer encoding represents the priority order of subtask execution;
[0009] Step 3: Read the task network diagram and task-resource information. The task network diagram includes the logical order relationship between subtasks, as well as the start task node and the end task node; the task-resource information includes the completion information of all subtasks and corresponding resources;
[0010] Step 4: Set the population size to О, randomly generate a group Р containing |O| individuals, and the code of each individual in the group corresponds to a sequence stream code;
[0011] Step 5: Calculate the time, cost, and quality objective functions for each individual;
[0012] Step 6: Set the upper limit of the number of iterations к, the upper limit of the number of executions of the double triangle mechanism to λ, and set the number of iterations i=1; set the number of tops of the regular triangles of the double triangle mechanism to ω, and the number of tops of the bottom of the reverse triangle to (О-ω) / λ;
[0013] Step 7: Remove the (О-ω) / λ individuals to be eliminated from the existing population as the base of the equilateral triangle, and set the number of tops of the bottom of the inverse triangle to (О-ω) / λ, which means that the number of individuals to be eliminated at the first level is (О-ω) / λ. After λ levels, the number of new individuals provided by the inverse triangle mechanism is (О-ω);
[0014] Step 8: Perform crossover operation:
[0015] Step 8.1: Randomly select α individuals from the population Р to form a set;
[0016] Step 8.2: Each individual takes a coded substring in random order. First, randomly sort the individuals in the set. Each sorted individual takes the corresponding substring in its own order, and then crosses these substrings to form a new individual q.
[0017] Step 8.3: Calculate the objective function of the new individual q. If the objective function of the new individual q can dominate the individual with the worst objective function in the population P, replace the individual with q and proceed to step 9.5.
[0018] Step 8.4: If the judgment condition in step 8.3 cannot be met, perform individual mutation operation on the new individual q and go to step 9;
[0019] Step 9: Implement individual mutation operation:
[0020] Step 9.1: Randomly select a substring position in the code of individual p;
[0021] Step 9.2: Perform a random search in the corresponding task-resource information to determine a new resource execution mode, and at the same time randomize the priority of the subtask and update the order of the priority;
[0022] Step 9.3: Explore new sequence flow encodings;
[0023] Step 9.4: Form a new individual q', calculate the objective function score of the new individual q', if the objective function score of q' can dominate the scores of some individuals in the population P, then use q' to replace the worst individual among these individuals, otherwise execute the failure tolerance mechanism and repeat the individual mutation operation until a new individual q' that is better than some individuals in the population P is found, and use q' to replace the worst individual among these individuals, or stop the individual mutation operation after reaching the upper limit of the number of executions;
[0024] Step 9.5: Return to step 8 and execute the set number of iterations;
[0025] Step 10: If the number of iterations i = к, or the number of consecutive iterations does not improve the index of the Pareto solution set in the population P, stop the triangular mechanism evolution, otherwise go to step 7;
[0026] The beneficial effects of the present invention are as follows:
[0027] Compared with traditional swarm intelligence optimization methods, the present invention mainly improves the speed and quality of complex type resource scheduling optimization algorithms.
[0028] In terms of speed: Traditional mainstream multi-objective optimization algorithms such as NSGA-II, SPEA-II and MOEA / D consume a lot of time in the process of screening and sorting non-dominated solution sets. In addition, due to the limitations of the algorithm, it is easy to fall into the local optimum and cannot jump out. The present invention changes the way of screening and sorting non-dominated solution sets, speeds up the number of iterations of the group, and the designed double triangle resource sharing mechanism can timely supplement high-quality members, avoid falling into the local optimum, and improve the efficiency of the algorithm.
[0029] In terms of quality: The present invention designs a new group optimization algorithm - the double triangle evolution algorithm, and designs individual variation, crossover, failure tolerance and resource sharing mechanisms based on double triangle evolution. The double triangle variation method is adopted, through the resource replenishment mechanism of the double triangle mechanism, the resource scheduling task coding of R&D scientific research projects and the tolerance processing operation of failure, to achieve rapid iteration of the algorithm, continuously discard the solutions with lower quality, and provide the power of crossover by introducing the resources of high-quality gene fragments, so as to maintain the diversity and innovation power of the group. When iterating the internal level of the triangle, the improved non-dominated solution set sorting method is used, which reduces the time complexity of the algorithm and greatly improves the iteration efficiency compared with NSGA-II. The Parote solution set finally obtained also achieved significant advantages. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] Figure 1 This is a diagram of the dual triangle variation architecture of the method of the present invention.
[0031] Figure 2 Flow chart of the method of the present invention.
[0032] Figure 3 Schematic diagram of the encoding method of the present invention.
[0033] Figure 4 It is a schematic diagram of cross operation in the process of the method of the present invention.
[0034] Figure 5 Schematic diagram of individual variation in the process of the method of the present invention.
[0035] Figure 6 Schematic diagram of filtering the non-dominated solution set in the process of the method of the present invention.
[0036] Figure 7 It is a three-dimensional simulation schematic diagram of the Pareto solution set in the process of the method of the present invention.
[0037] Figure 8 It is a three-dimensional simulation diagram of the Pareto solution set of the method of the present invention under a large problem scale.
[0038] Fig. 9 This is a line chart comparing the method of the present invention with other algorithm indicators. DETAILED DESCRIPTION
[0039] In order to better understand the purpose, structure and function of the present invention, the following is a further detailed description of a project resource collaborative planning method based on a double triangle evolution mechanism of the present invention in conjunction with the accompanying drawings.
[0040] The following embodiments of the present invention are described in further detail in conjunction with the accompanying drawings. The following embodiments or drawings are used to illustrate the present invention, but are not used to limit the scope of the present invention.
[0041] Figure 1 The following is the architecture diagram of the method of the present invention. The project resource collaborative planning method (SDA-DTEM) based on the double triangle evolution mechanism includes the following contents: As the population develops according to the development direction, that is, after several iterations, a logical layer of evolutionary algebra is generated. After entering each next level, a part of the individuals in the population will be eliminated. At this time, resources need to be supplemented to maintain the stability of the number of individuals in the population. The double triangle evolution mechanism we proposed requires that as the iterations continue, the number of eliminated individuals will increase accordingly, and accordingly, the number of supplemented individuals will also increase. Geometrically, these two are represented as two triangles. Teamwork refers to mixing the codes of two or more individuals, aiming to generate new individuals on the basis of inheriting the excellent codes of the parent generation, and intercepting excellent fragments refers to intercepting the codes of individuals with excellent performance.
[0042] In the process of solving multi-objective optimization problems, a good screening mechanism is needed to select a solution set with relatively good quality expression. Conventional multi-objective optimization algorithms such as NSGA-II and MOEA / D have problems such as insufficient evolutionary power, slow convergence speed, and insufficient diversity of solutions. In response to these shortcomings, the double triangle evolutionary algorithm has designed a double triangle screening mechanism to timely eliminate solutions with insufficient potential and supplement new solutions with excellent gene fragments. The failure tolerance mechanism is used to maximize the diversity of the solution set. The convergence effect is achieved quickly through a fast and sensitive mechanism. At the same time, a resource sharing and supplementation mechanism is designed to retain individuals with excellent performance to the greatest extent, while introducing high-quality individuals in a timely manner to enrich the diversity of the group.
[0043] Figure 2 The flowchart of the method of the present invention mainly includes the establishment of the initial group, the iterative development within the hierarchy, and the elimination and supplementation of the double triangle mechanism. Specifically, a project resource collaborative planning method based on the double triangle evolution mechanism includes the following steps:
[0044] Step 1: Topologically sort all subtasks in the task network to determine the execution order of the subtasks; the task network is a directed acyclic graph consisting of multiple subtasks with an ordered relationship, and each node represents a subtask, such as Figure 3 As shown;
[0045] Step 2: Sequence flow encoding: Use a two-layer sequence flow to represent the solution to the resource-constrained project scheduling problem, where the upper layer encoding represents the allocation relationship between subtasks and resources, and the lower layer encoding represents the priority order of subtask execution; Figure 3The figure is a schematic diagram of the coding method of the present invention. In order to express the execution order, execution resources and subtask priority of the task network through sequence coding, the present invention designs a double-layer sequence coding that can represent the solution to the problem. The coding is divided into two layers, the length of which is the number of subtasks, and the first i The position represents the i The resource number of each subtask. The lower-level code is the corresponding task. i The priority number of the .
[0046] Specifically, the priority order of subtask execution is obtained through the following steps:
[0047] Step 2.1: Check the correctness and typicality of the task network and adjust the task network;
[0048] Step 2.2: Update the number of predecessor tasks for all subtasks and set the available time of the execution resources required for the task to 0;
[0049] Step 2.3: Traverse all subtasks and take out the subtask from the task network. If the in-degree corresponding to the taskID (subtask number) is 0, add the subtask to the queue.
[0050] Step 2.4: Sort the queue in ascending order of task priority;
[0051] Step 2.5: Take out each subtask in the queue in turn, remove and get the first subtask from the queue, if the number of predecessor tasks of the subtask is 0, set the start time to 0, otherwise update the start time of the subtask to the latest end time of the predecessor task. Update the available time of the resource to the end time of the subtask; for the successor subtask of the subtask, reduce the in-degree of the successor subtask by 1, if the in-degree of the subtask is 0, add the task to the queue, and sort the queue in ascending order according to the task priority.
[0052] Step 3: Read the task network diagram and task-resource information. The task network diagram contains the logical order relationship between subtasks, as well as the start task node and the end task node. This information is read and converted and represented by a two-dimensional matrix. The task-resource information contains the completion information of all subtasks and corresponding resources, including the time, cost and quality information of a certain resource to complete the task.
[0053] Step 4: Set the population size to О, randomly generate a group Р containing |O| individuals, and the code of each individual in the group corresponds to a sequence stream code;
[0054] Step 5: Calculate the time, cost, and quality objective functions for each individual;
[0055] Step 6: Set the upper limit of the number of iterations к, and the upper limit of the number of executions of the double triangle mechanism (the upper limit of the level) is λ, so each level contains к / λ iterations. Set i=1 to record the number of iterations. The positive triangle of the double triangle mechanism represents the number of individuals remaining in the population after each elimination of individuals, and the negative triangle represents the number of new individuals provided after each elimination of individuals. See the specific diagram for details. Figure 1 . Set the number of vertices of the double triangle mechanism to ω, and the number of vertices of the bottom of the inverse triangle to (О-ω) / λ, which represent the minimum population size and the number of new individuals provided at the beginning after each elimination of individuals. It can be concluded that each time the double triangle mechanism is executed, the number of eliminated individuals in the previous level will be (О-ω) / λ more, and the number of new individuals will be (О-ω) / λ more than the next level. Because it is an isosceles triangle, the tangent value λ of the base angle of the triangle is used 3 / (О-ω)(λ-1) is used to represent the trend of the elimination and increase of the number of new additions in the double triangle mechanism. The larger the tangent value, the slower the increasing trend, and vice versa.
[0056] Step 7: Remove the (О-ω) / λ individuals to be eliminated from the existing population as the base of the equilateral triangle, and set the number of tops of the bottom of the inverse triangle to (О-ω) / λ, which means that the number of individuals to be eliminated at the first level is (О-ω) / λ. After λ levels, the number of new individuals provided by the inverse triangle mechanism is (О-ω);
[0057] Step 8: Perform crossover operation:
[0058] Step 8.1: Randomly select α individuals from the population Р to form a set;
[0059] Step 8.2: Perform a crossover operation on the individuals in the set. Each individual takes a coded substring in a random order. That is, first sort the individuals in the set randomly, and each sorted individual takes the corresponding substring in its own order. For example, the αth individual takes the αth substring, and then crosses these substrings to form a new individual q.
[0060] Step 8.3: Calculate the objective function of the new individual q. If the objective function of q can dominate the individual with the worst objective function in the population P, replace the individual with q and proceed to step 9.5.
[0061] Step 8.4: If the judgment condition in step 8.3 cannot be met, perform individual mutation operation on the new individual q and go to step 9;
[0062] Figure 4The figure is a schematic diagram of the crossover operation in the process of the method of the present invention. The circles A, B, C...H, I, J in the figure represent individuals in the group P. In order to provide high-quality power for the development of the group, a crossover operation is designed. First, α individuals are extracted from the current group to form a set. The α individuals in the set are randomly sorted and then crossover operation is performed. Each individual takes 1 / α coding segments in order, that is, in the sorted order, the first individual takes the 1st to 1 / α numbers, the second individual takes the 1st / α+1 to 2 / α numbers, and so on. The αth individual takes the (α-1) / α+1 to the αth number, and the α segments are crossed to form a new individual q. When a new individual is integrated into the group, it will first be compared with other individuals in the group, and the worst one among the individuals dominated by α will be found and eliminated.
[0063] Step 9: Implement individual mutation operation:
[0064] Step 9.1: Randomly select a substring position in the code of individual p;
[0065] Step 9.2: Perform a random search in the corresponding task-resource information to determine a new resource execution mode, and at the same time randomize the priority of the subtask and update the order of the priority;
[0066] Step 9.3: Explore new sequence flow encodings;
[0067] Step 9.4: Form a new individual q', calculate the objective function score of the new individual q', if the objective function score of q' can dominate the scores of some individuals in the population P, then use q' to replace the worst individual among these individuals, otherwise execute the failure tolerance mechanism and repeat the individual mutation operation until a new individual q' that is better than some individuals in the population P is found, and use q' to replace the worst individual among these individuals, or stop the individual mutation operation after reaching the upper limit of the number of executions;
[0068] Step 9.5: Return to step 8 and execute φ times;
[0069] Figure 5 The figure is a schematic diagram of individual variation of the method of the present invention. The individual code variation operation adopts a random number method to randomly select a position in the sequence code, search the executable resource list of the corresponding task, and select a resource in the list. If the selected resource is repeated in the original solution, the operation is continued after excluding this resource until a resource item that meets the constraint conditions is selected. The new individual q generated at this time calculates its target value: cost, time, quality. If q can dominate an individual in the group P, it is replaced; otherwise, the failure tolerance mechanism is executed. The variation operation is continued until an individual q that meets the requirements is generated.
[0070] Step 10: The reverse triangle based on the double triangle evolution mechanism provides new individuals. According to the definition, the number of new individuals provided will increase with the increase of levels;
[0071] Step 10.1: Let r = i*λ / к. If r is an integer and the number of individuals in the group is greater than the set threshold, it means entering the next level of the double triangle. Execute steps 10.2 and 10.3, that is, remove the worst individual and add new individuals;
[0072] Step 10.2: Remove the worst (О-ω)i / к individuals from the existing population Р. The number of individuals to be removed can be controlled by setting the upper limit of the number of iterations к and the number of inverse triangle vertices (О-ω) / λ.
[0073] Step 10.3: Perform individual mutation and randomly generate a total of (О-ω)i / к new solutions based on the existing high-quality individuals and add them to the existing population Р; wherein the high-quality individuals are individuals filtered by the filtering operator, and the filtering operator can be a clustering method. In the present invention, the K-means clustering method is used to filter the individuals, such as Figure 6 As shown, it is a schematic diagram of filtering the non-dominated solution set in the process of the method of the present invention, wherein Figure 6 (a) in the equation represents the non-dominated solution set before filtering. Figure 6 (b) in the figure represents the non-dominated solution set after filtering. In the process of group iteration, the non-dominated solution set will continue to expand with the number of iterations. When the number is too large, it is not conducive to the rapid sorting and screening mechanism of the non-dominated solution set. At the same time, there are too many similar solutions, which reduces the diversity of the group and is not conducive to the supplement of high-quality resources. The K-means clustering method is applied in the filtering operator designed by the present invention to limit the non-dominated solution set in the iteration process. By controlling the distribution of the center cluster, high-quality excellent individuals are effectively retained, and the size of the group is reduced, which reduces the iteration time.
[0074] Step 11: The number of iterations i increases by one;
[0075] Step 12: If the number of iterations i=к, к represents the maximum number of iterations or the number of consecutive set iterations (τ generations) does not improve the index of the Pareto solution set in the population P, then stop the triangular mechanism evolution, otherwise go to step 7, and the τ value is adjusted according to the complexity of the problem and the experiment;
[0076] Step 13: Use the final scheduling arrangement to allocate resources and tasks.
[0077] Figure 7 , Figure 8The figure is a three-dimensional simulation diagram of the Pareto solution set in the process of the team collaboration algorithm of the method of the present invention. In order to more intuitively demonstrate the performance of the present invention in multi-dimensional space, the experiment selected the non-dominated solution sets of 5 algorithms under different problem scales, and projected them in three-dimensional space for comparison. The method of the present invention is abbreviated as SDA-DTEM, and the other compared algorithms are NSGA-II, MOEA / D, SPEA-II and FP-GA algorithms. Several cases with a relatively large number of subtasks and executable resources were selected for testing, and the performance comparison of several algorithms was examined when the problem scale was relatively high in complexity. Figure 7 The projection of the non-dominated solution sets of the five algorithms in the three-dimensional space when running the same iteration time is shown, where the problem scale is 30 subtasks and 10 executable resource types. It can be seen that from the three-dimensional spatial distribution of the non-dominated solution set, the method of the present invention has a relatively obvious advantage, especially when the problem scale and the number of resources increase, the non-dominated solution set solved has a high coverage rate in the reference solution set. Figure 8 Shown in the Figure 7 The three-dimensional distribution of the final Pareto solution sets of the five algorithms under a larger problem scale, that is, the number of subtasks is 40 and the types of executable resources are 15. The purple part is the final optimal solution set of the method of the present invention, which can be clearly seen to be very dominant in the distribution of the overall reference solution set.
[0078] Fig. 9 The following is a line chart showing the comparison between the method of the present invention and other algorithm indicators when the population size is 1000. Fig. 9 In (a), the number of subtasks and types of executable resources are 30 and 10 respectively; Fig. 9 In (b), the number of subtasks and types of executable resources are 50 and 10; Fig. 9 The number of subtasks and types of executable resources in (c) are 70 and 10; Fig. 9 The number of subtasks and the types of executable resources in (d) are 90 and 10 respectively; Fig. 9 It can be seen that in the early stage, the convergence speed of NSGA-II and MOEA / D algorithms is relatively fast, and the convergence speed of SPEA-II and FP-GA algorithms is relatively slow in the early stage, but in the later stage, NSGA-II and MOEA / D obviously change relatively slowly, while SPEA-II and FP-GA algorithms are gradually optimized and improved. The method of the present invention combines the advantages of the two types of iterations, maintains a relatively good optimization speed from beginning to end, and finally obtains good experimental results.
[0079] Table 1 is a comparison of the IDG (inversion generation distance) index between the method of the present invention and the reference algorithm
[0080] Test Cases SDA-DTEM NSGA-II MOEA / D SPEA-II FP-GA 10-5 1.07(1) 5.35(4) 3.80(3) 1.78(2) 7.26(5) 10-10 0.16(1) 10.10(4) 5.55(3) 1.03(2) 12.70(5) 20-10 23.78(3) 55.75(5) 34.87(4) 22.46(2) 21.99(1) 20-15 16.61(2) 40.55(5) 26.88(4) 15.51(1) 23.16(3) 30-10 24.55(1.5) 40.92(4) 32.38(3) 24.55(1.5) 41.31(5) 30-15 20.33(3) 34.48(4) 21.28(2) 18.56(1) 55.26(5) 40-10 16.77(2) 30.17(5) 16.24(1) 23.16(4) 20.27(3) 40-20 13.11(3) 14.0(4.5) 14.04(4.5) 12.47(2) 12.43(1) 50-10 15.83(2) 31.39(5) 12.89(1) 17.42(3.5) 17.42(3.5) 50-20 13.31(1.5) 16.64(3) 19.99(4) 13.31(1.5) 29.02(5) 60-10 13.48(2) 23.41(4) 10.19(1) 17.49(3) 33.59(5) 60-20 9.25(1.5) 9.25(1.5) 15.53(4) 11.07(3) 16.81(5) 70-10 10.22(1) 17.94(4) 10.97(2) 16.15(3) 21.07(5) 70-20 6.27(2) 10.70(5) 9.35(3) 9.51(4) 5.90(1) 80-10 7.10(1) 15.67(4) 7.84(2) 8.08(3) 22.89(5) 80-20 6.32(1) 16.86(3) 12.38(2) 18.29(4) 20.13(5) 90-10 7.18(2) 13.8(3.5) 6.99(1) 17.31(5) 13.82(3.5) 90-20 6.72(1) 8.56(3) 6.88(2) 11.42(4) 13.34(5) 100-10 10.41(2) 16.63(5) 8.21(1) 15.75(4) 13.47(3) 100-20 5.03(1) 10.76(4) 5.18(2) 8.06(3) 14.94(5) Average position 1.825 4.175 2.475 2.825 3.95
[0081] Table 2 is a comparison of the HV (hypervolume) index of the method of the present invention and the reference algorithm
[0082] Test Cases SDA-DTEM NSGA-II MOEA / D SPEA-II FP-GA 10-5 0.88(1) 0.85(4) 0.85(4) 0.85(4) 0.87(2) 10-10 0.85(2) 0.85(2) 0.85(2) 0.84(4) 0.80(5) 20-10 0.87(1) 0.86(2) 0.85(3) 0.83(5) 0.84(4) 20-15 0.86(3) 0.86(3) 0.87(1) 0.82(5) 0.86(3) 30-10 0.89(2.5) 0.87(4) 0.90(1) 0.84(5) 0.89(2.5) 30-15 0.90(1.5) 0.89(3) 0.90(1.5) 0.86(5) 0.88(4) 40-10 0.91(1) 0.90(2) 0.89(3) 0.87(5) 0.88(4) 40-20 0.90(4.5) 0.94(1) 0.92(2) 0.90(4.5) 0.91(3) 50-10 0.93(1) 0.92(2) 0.91(3) 0.86(4.5) 0.86(4.5) 50-20 0.94(1.5) 0.93(3) 0.94(1.5) 0.89(5) 0.92(4) 60-10 0.91(1.5) 0.90(3) 0.91(1.5) 0.85(4) 0.84(5) 60-20 0.94(2) 0.94(2) 0.94(2) 0.90(4) 0.88(5) 70-10 0.92(3) 0.94(1.5) 0.94(1.5) 0.89(4.5) 0.89(4.5) 70-20 0.95(2) 0.95(2) 0.95(2) 0.91(5) 0.92(4) 80-10 0.94(1) 0.92(2.5) 0.92(2.5) 0.89(4) 0.88(5) 80-20 0.94(1.5) 0.94(1.5) 0.93(3) 0.91(4.5) 0.91(4.5) 90-10 0.94(1.5) 0.94(1.5) 0.93(3) 0.86(5) 0.91(4) 90-20 0.95(1.5) 0.95(1.5) 0.94(3) 0.88(5) 0.92(4) 100-10 0.94(2) 0.94(2) 0.94(2) 0.89(5) 0.92(4) 100-20 0.95(1.5) 0.94(3) 0.95(1.5) 0.91(4) 0.89(5) Average position 1.825 2.325 2.2 4.6 4.05
[0083] The final rankings of the five algorithms on all test cases are respectively counted in Tables 1 and 2. The smaller the IGD index, the higher the ranking, and the larger the HV index, the higher the ranking. If the index values of the algorithms are the same, the average of the original rankings of these algorithms is taken as the final ranking. The ranking of each algorithm is given in brackets. According to the test data in the table, the IGD and HV indicators of the method of the present invention have achieved the best ranking. It is confirmed that the method of the present invention has a better application effect.
[0084] It is to be understood that the present invention is described by some embodiments, and it is known to those skilled in the art that various changes or equivalent substitutions may be made to these features and embodiments without departing from the spirit and scope of the present invention. In addition, under the teachings of the present invention, these features and embodiments may be modified to adapt to specific circumstances and materials without departing from the spirit and scope of the present invention. Therefore, the present invention is not limited by the specific embodiments disclosed herein, and all embodiments falling within the scope of the claims of this application are within the scope of protection of the present invention.
Claims
1. A project resource collaborative planning method based on a double triangle evolution mechanism, characterized in that: The following steps are involved: Step 1: Topologically sort all subtasks in the task network and determine the execution order of the subtasks; Step 2: Sequence stream encoding; A two-layer sequence flow is used to represent the solution to the resource-constrained project scheduling problem, where the upper layer code represents the allocation relationship between subtasks and resources, and the lower layer code represents the priority order of subtask execution; the priority order of subtask execution is obtained through the following steps: Step 2.1: Check the correctness and typicality of the task network and adjust the task network; Step 2.2: Update the number of predecessor tasks for all subtasks and set the available time of the execution resources required for the task to 0; Step 2.3: Traverse all subtasks and take out subtasks from the task network. If the in-degree corresponding to the subtask number is 0, add the subtask to the queue; Step 2.4: Sort the queue in ascending order of task priority; Step 2.5: Take out each subtask in the queue in turn, remove and get the first subtask from the queue, if the number of predecessor tasks of the subtask is 0, set the start time to 0, otherwise update the start time of the subtask to the latest end time of the predecessor tasks; Update the available time of resources to the end time of the subtask; for the subsequent subtask of the subtask, the in-degree of the subsequent subtask is reduced by 1. If the in-degree of the subtask is 0, add the task to the queue and sort the queue in ascending order according to the task priority; Step 3: Read the task network diagram and task-resource information. The task network diagram includes the logical order relationship between subtasks, as well as the start task node and the end task node; the task-resource information includes the completion information of all subtasks and corresponding resources; Step 4: Set the population size to O, randomly generate a population P containing |O| individuals, and the code of each individual in the population corresponds to a sequence stream code; Step 5: Calculate the time, cost, and quality objective functions for each individual; Step 6: Set the upper limit of the number of iterations к, the upper limit of the number of executions of the double triangle mechanism is λ, and set the number of iterations i = 1; Set the number of equilateral triangle vertices of the double triangle mechanism to ω, and the number of inverse triangle bottom vertices to (Ο-ω) / λ; Step 7: Remove the (Ο-ω) / λ individuals to be eliminated from the existing population as the base of the positive triangle, and set the number of tops of the bottom of the reverse triangle to (Ο-ω) / λ, which means that the number of individuals to be eliminated at the first level is (Ο-ω) / λ. After λ levels, the number of new individuals provided by the reverse triangle mechanism is (Ο-ω); Step 8: Perform crossover operation: Step 8.1: Randomly select α individuals from the population P to form a set; Step 8.2: Each individual takes a coded substring in random order. First, randomly sort the individuals in the set. Each sorted individual takes the corresponding substring in its own order, and then crosses these substrings to form a new individual q. Step 8.3: Calculate the objective function of the new individual q. If the objective function of the new individual q can dominate the individual with the worst objective function in the population P, replace the individual with q and proceed to step 9.
5. Step 8.4: If the judgment condition in step 8.3 cannot be met, perform individual mutation operation on the new individual q and go to step 9; Step 9: Implement individual mutation operation: Step 9.1: Randomly select a substring position in the code of individual p; Step 9.2: Perform a random search in the corresponding task-resource information to determine a new resource execution mode, and at the same time randomize the priority of the subtask and update the order of the priority; Step 9.3: Explore new sequence flow encodings; Step 9.4: Form a new individual q', calculate the objective function score of the new individual q', if the objective function score of q' can dominate the scores of some individuals in the population P, then use q' to replace the worst individual among these individuals, otherwise execute the failure tolerance mechanism and repeat the individual mutation operation until a new individual q' that is better than some individuals in the population P is found, and use q' to replace the worst individual among these individuals, or stop the individual mutation operation after reaching the upper limit of the number of executions; Step 9.5: Return to step 8 and execute the set number of iterations; Step 10: If the number of iterations i = к, or the number of consecutive iterations does not improve the index of the Pareto solution set in the population P, stop the triangular mechanism evolution, otherwise go to step 7; Step 11: Use the final scheduling arrangement to allocate resources and tasks.
2. According to the project resource collaborative planning method based on the double triangle evolution mechanism of claim 1, it is characterized by: The task network is a directed acyclic graph consisting of a plurality of subtasks in an ordered relationship, and each node represents a subtask.
3. The project resource collaborative planning method based on the double triangle evolution mechanism according to claim 1 is characterized in that: The number of executions of the double triangle mechanism represents a level, and each level contains к / λ iterations.
4. The project resource collaborative planning method based on the double triangle evolution mechanism according to claim 1 is characterized in that: Use the tangent value λ 3 / (Ο-ω)(λ-1) indicates the trend of elimination and increasing number of new additions in the double triangle mechanism.
5. The project resource collaborative planning method based on the double triangle evolution mechanism according to claim 1 is characterized in that: In one iteration process, the following steps are also included: Step 10.1: Let r = i*λ / к. If r is an integer and the number of individuals in the group is greater than the set threshold, it means entering the next level of the double triangle mechanism; execute steps 10.2 and 10.3; Step 10.2: Remove the worst (Ο-ω)i / к individuals from the existing population P. The number of individuals to be removed is controlled by setting the upper limit of the number of iterations к and the number of inverse triangle vertices (Ο-ω) / λ. Step 10.3: Perform individual mutation based on the existing high-quality individuals and randomly generate a total of (Ο-ω)i / к new solutions and add them to the existing population P.
6. The project resource collaborative planning method based on the double triangle evolution mechanism according to claim 5 is characterized in that: The high-quality individuals are individuals filtered by a filtering operator, and the filtering operator is specifically a clustering method.
7. The project resource collaborative planning method based on the double triangle evolution mechanism according to claim 6 is characterized in that: The clustering method is specifically a K-means clustering method.
Citation Information
Patent Citations
Digital recording system using variable recording rate
CN1219727A
Runspace method, system and apparatus
EP2558935A1