Project execution path planning method and device based on multi-path resource detection and multi-strategy decision and electronic product
By parsing the project description file to generate a task dependency path tree, resource requirements and execution paths are automatically determined, solving the problems of low efficiency and high error rate in traditional human planning, realizing intelligent automation and rapid change response in project management, and generating the best planning solution.
Patent Information
- Application Number
- CN202411874110.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-18
- Publication Date
- 2025-10-21
- Estimated Expiration
- 2044-12-18
AI Technical Summary
Existing project management tools rely on manpower to develop project plans, which is time-consuming and error-prone. It is difficult to generate optimal planning solutions, unable to respond quickly to project changes, and unable to fully utilize computer intelligent algorithms for automatic planning.
By parsing the project description file, generating a task dependency path tree, determining the minimum resource requirements, automatically allocating task execution paths, and adjusting them according to planning constraints until they match the planning strategy, project execution path planning is achieved.
It improves the efficiency of task analysis, accurately determines resource requirements, optimizes the order of task execution, quickly responds to project changes, automates project planning and generates optimal solutions, and meets the efficiency needs of modern project management.
Smart Images

Figure CN119809550B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of artificial intelligence technology, and in particular to a project execution path planning method, device and electronic product based on multi-path resource detection and multi-strategy decision-making. Background Art
[0002] In project management, project planning is a critical task, and its quality often plays a decisive role in project success. A well-crafted plan provides a clear roadmap for project implementation, effectively coordinating resources, prioritizing tasks, and clarifying deadlines, thereby ensuring the smooth achievement of project objectives. Generally, a good project plan can significantly predict project success and, ideally, even be considered halfway to success.
[0003] Currently, project planning within enterprises primarily relies on project managers or project leaders using simple tools. However, this approach presents numerous problems when faced with complex or multiple related projects. Planning with human resources is extremely time-consuming, as project managers must comprehensively consider numerous factors, such as the detailed content of tasks, the rational allocation of resources, and the logical relationships between tasks. This requires not only in-depth professional knowledge and extensive experience, but also a significant investment of time and effort in analysis and calculation. For example, in large-scale engineering projects, involving numerous construction processes, various types of construction resources (such as manpower, materials, equipment, etc.), and complex dependencies between processes, it is difficult for project managers to develop a comprehensive plan in a short period of time using only human resources.
[0004] Complex project plans involve extensive calculations, sequencing, and dependency analysis, among other complex logic. Human error is common when handling these tasks due to limitations in thinking and fatigue. Furthermore, relying solely on human resources makes it difficult to fully consider all possible scenarios, often resulting in only locally optimal solutions rather than the true optimal solution. For example, when scheduling the execution order of multiple tasks, negligence or a lack of understanding of the relationships between certain tasks can lead to an illogical order, impacting the overall project progress and resource utilization efficiency.
[0005] During project execution, unexpected situations often arise, such as project delays and personnel changes. When these situations occur, changes to the project plan must be made promptly, quickly, and accurately. However, this is an extremely difficult task for human resources. On the one hand, reassessing and adjusting plans requires reorganizing the entire project's logic and resource allocation, which is time-consuming and labor-intensive. On the other hand, in emergency situations, human resources are prone to making more errors due to pressure, making it difficult to ensure the quality of the revised plan. For example, in a software development project, if a key developer suddenly leaves, tasks need to be reassigned and the schedule adjusted. These adjustments are difficult for human resources to complete quickly and accurately, potentially leading to further project delays.
[0006] Most current project management tools on the market primarily provide visual interfaces, simplifying project managers' daily tasks during project execution, such as task tracking and progress display. However, the core process of project planning still relies heavily on the project manager's brainpower. These tools fail to fully utilize the powerful computing power and intelligent algorithms of computers, are unable to automate the complex planning process, cannot automatically generate optimal project plans based on project requirements, and cannot complete planning calculations in a short time (e.g., seconds). Consequently, they struggle to meet the requirements of modern project management for efficient and accurate planning. Summary of the Invention
[0007] In view of this, embodiments of the present invention provide a project execution path planning method, device, and electronic product based on multi-path resource detection and multi-strategy decision-making to at least partially solve the above-mentioned problems.
[0008] According to a first aspect of an embodiment of the present invention, a project execution path planning method based on multi-path resource detection and multi-strategy decision-making is provided, which includes:
[0009] Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module;
[0010] Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project;
[0011] Based on the minimum resource requirement, assigning a task initialization configuration to each target task to determine a task execution path;
[0012] Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations;
[0013] Generate project execution path planning based on resource configuration and task execution path during matching.
[0014] A project execution path planning device based on multi-path resource detection and multi-strategy decision-making, comprising:
[0015] A first program unit is configured to parse a description file of a target project to identify functional modules defined in the target project and target tasks matching each functional module;
[0016] A second program unit is used to generate a task dependency path tree for the target task and determine the minimum resource requirement when executing the target project;
[0017] A third program unit is configured to allocate a task initialization configuration to each target task based on the minimum resource requirement to determine a task execution path;
[0018] a fourth program unit, configured to adjust the initial configuration of the task and / or the execution path of the task based on the set plan execution constraint conditions until the task matches the set multiple planning strategy configurations;
[0019] The fifth program unit is used to generate a project execution path plan based on the resource configuration and task execution path during matching.
[0020] A computer program product having computer-executable instructions stored thereon, wherein when the computer-executable instructions are executed, the following steps are performed:
[0021] Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module;
[0022] Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project;
[0023] Based on the minimum resource requirement, assigning a task initialization configuration to each target task to determine a task execution path;
[0024] Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations;
[0025] Generate project execution path planning based on resource configuration and task execution path during matching.
[0026] An electronic device includes a memory, wherein the memory stores computer-executable instructions, and when the computer-executable instructions are executed, the following steps are performed:
[0027] Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module;
[0028] Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project;
[0029] Based on the minimum resource requirement, assigning a task initialization configuration to each target task to determine a task execution path;
[0030] Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations;
[0031] Generate project execution path planning based on resource configuration and task execution path during matching.
[0032] A project execution path planning method, comprising:
[0033] Generate a task dependency path tree for all target tasks of the target project and determine the minimum resource requirements for executing the target project;
[0034] Based on the minimum resource requirement, adjusting the task initialization configuration and / or the task execution path assigned to each target task until they match the set planning strategy configuration;
[0035] Generate project execution path planning based on resource configuration and task execution path during matching.
[0036] The solution of the embodiment of the present invention has the following technical advantages:
[0037] 1. Solutions to the Problems of Traditional Human Resource Planning
[0038] 1. Efficient task and resource analysis
[0039] Automatic Parsing and Identification: This method parses the target project's description file to automatically identify its functional modules and the target tasks that match each module. This eliminates the tedious process of manually sorting through task details for complex projects. For example, in large software projects, description files may contain numerous functional modules and task details, which can be time-consuming for manual analysis. However, this method can quickly and accurately extract key information, significantly improving the efficiency of task analysis.
[0040] Accurately determine minimum resource requirements: Generate a task dependency path tree for the target task and determine the minimum resource requirements for project execution. Compared to human resource estimation based on experience, this method, based on systematic analysis and calculation, can more accurately determine resource requirements. For example, in engineering projects, it can accurately calculate the minimum amount of resources such as manpower, materials, and equipment required for each construction process, avoiding over-allocation or under-allocation of resources, improving resource utilization efficiency, and resolving the problem of irrational resource allocation during human resource planning.
[0041] 2. Intelligent task execution path determination
[0042] Resource-based initialization configuration: Assigns a task initialization configuration to each target task based on minimum resource requirements and determines the task execution path. This process utilizes system algorithms to comprehensively consider resource constraints and task dependencies, automatically generating a reasonable execution path. However, when working on complex projects, it is difficult for humans to comprehensively consider the various resource and task relationships to determine the optimal path. This method overcomes the limitations of human thinking and effectively solves the problem of humans having difficulty determining the optimal task execution sequence. For example, in a project with multiple parallel tasks and limited resources, the system can calculate and find the task execution sequence that optimizes resource utilization, reducing overall project execution time.
[0043] 2. Advantages of coping with changes during project execution
[0044] 1. Quickly adapt to changes
[0045] When situations such as personnel changes or project delays occur during project execution, this method can quickly adjust the initial configuration of tasks and the task execution path based on the set planned execution constraints. Because the system has built a task dependency path tree and clarified information such as resource requirements, it can quickly re-evaluate the impact of the change on the entire project and make corresponding adjustments. Compared to the need for manpower to re-sort out project logic and resource allocation in emergency situations, this method is more efficient and accurate. For example, when personnel changes occur, the system can quickly reallocate tasks and adjust execution paths based on the new personnel skills and number, ensuring that the project can continue smoothly and avoiding further aggravation of project delays caused by changes.
[0046] 2. Ensure the quality of the plan after the change
[0047] This method ensures that the revised plan remains consistent with the project's overall goals and strategy by continuously adjusting until it matches the multiple planning strategy configurations set. While human error is common when changing plans due to pressure and time constraints, the system, through precise calculations and strategy matching, ensures the rationality of the revised plan in terms of resource utilization and task sequencing, thereby improving the quality of the revised plan. For example, if a project is delayed, the system can adjust the task execution path based on the new time constraints and resource availability, ensuring that the project continues to progress optimally under the new conditions, maintaining high resource utilization and task execution efficiency.
[0048] 3. Make up for the shortcomings of existing project management tools
[0049] 1. Make full use of computer capabilities to achieve automatic planning
[0050] While existing project management tools rely on human brainpower for core planning, the method presented in this paper fully leverages computer computing power and intelligent algorithms. From parsing files to generating project execution path plans, the entire process eliminates the need for extensive human intervention, thus automating project planning. For example, when faced with complex multi-project management, the system can simultaneously handle the tasks, resources, and dependencies of multiple projects, rapidly generating a comprehensive planning solution. Traditional tools can only assist with simple task management and are unable to achieve such complex automated planning.
[0051] 2. Obtain the best planning solution and calculate quickly
[0052] Through multi-path resource exploration and multi-strategy decision-making, this method can obtain the optimal project planning solution based on project requirements. It traverses multiple possible resource configurations and execution paths, and selects a solution based on planning strategies, overcoming the inability of existing tools to automatically generate the optimal solution. Furthermore, it can complete planning calculations in seconds, meeting the requirements of modern project management for efficient planning. For example, in situations of intense market competition and tight project cycles, companies can quickly utilize this method to develop optimal plans, respond quickly to market changes, and enhance project competitiveness. Existing tools, however, are slow to compute and lack intelligent decision-making capabilities, preventing them from providing high-quality planning solutions in such a short time. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present invention. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.
[0054] Figure 1A schematic diagram of a project execution path planning method, device and electronic product flow based on multi-path resource detection and multi-strategy decision-making is provided in an embodiment of the present invention.
[0055] Figure 2 A schematic diagram of a content creation object search device provided by an embodiment of the present invention.
[0056] Figure 3 A structural diagram of an electronic device is provided for an embodiment of the present invention. DETAILED DESCRIPTION
[0057] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present invention, the technical solutions in the embodiments of the present invention will be clearly and detailedly described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by those skilled in the art based on the embodiments in the embodiments of the present invention should fall within the scope of protection of the embodiments of the present invention.
[0058] It should be understood that the terms "first," "second," and "third," etc. in the claims, specification, and drawings of this disclosure are used to distinguish different objects rather than to describe a specific order. The terms "include" and "comprising" used in the specification and claims of this disclosure indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.
[0059] It should also be understood that the terminology used in this disclosure is for the purpose of describing specific embodiments only and is not intended to limit the disclosure. As used in this disclosure and the claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should be further understood that the term "and / or" as used in this disclosure and the claims refers to any and all possible combinations of one or more of the associated listed items, including and including these combinations.
[0060] Figure 1 The present invention provides a method, device and electronic product flow chart for project execution path planning based on multi-path resource detection and multi-strategy decision-making. Figure 1 Shown, including:
[0061] According to a first aspect of an embodiment of the present invention, a project execution path planning method based on multi-path resource detection and multi-strategy decision-making is provided, which includes:
[0062] Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module;
[0063] Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project;
[0064] Based on the minimum resource requirement, assigning a task initialization configuration to each target task to determine a task execution path;
[0065] Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations;
[0066] Generate project execution path planning based on resource configuration and task execution path during matching.
[0067] To this end, the project execution path planning method based on multi-way resource detection and multi-strategy decision-making provided by the present invention effectively solves many problems existing in traditional human resource planning and existing project management tools, and brings significant advantages. In solving the problem of traditional human resource planning, by automatically parsing and identifying the functional modules and target tasks of the target project, the tediousness of human labor sorting out one by one is avoided, and the efficiency of task analysis is greatly improved; the minimum resource requirements are accurately determined, the inaccuracy of human resource estimation is overcome, and resource utilization efficiency is improved; based on the initial configuration of resources, a reasonable execution path is automatically generated to overcome the limitations of human thinking and optimize the order of task execution. When responding to changes in project execution, the initial configuration and execution path of the task can be quickly adjusted based on the planned execution constraints to avoid increased delays; the quality of the plan after the change is guaranteed by matching with the planning strategy configuration. In terms of making up for the shortcomings of existing tools, the computer power is fully utilized to realize project planning automation, which can handle complex multi-project management; the optimal planning scheme is obtained through multi-way resource detection and multi-strategy decision-making and the calculation is completed in seconds, meeting the efficiency requirements of modern project management and enhancing the competitiveness of enterprise projects.
[0068] Optionally, generating a task dependency path tree for the target task includes:
[0069] Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules;
[0070] Based on the internal dependency and the cross-module dependency, determine the task dependency path to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: parent-child relationship, predecessor task, successor task, no earlier than, later than task start, and end.
[0071] To this end, the above process of generating a task dependency path tree for the target task has the following technical advantages:
[0072] 1. Comprehensive and accurate task relationship sorting
[0073] By determining the internal dependencies between target tasks within functional modules and the cross-module dependencies between target tasks in different functional modules, the task relationships in the project can be comprehensively and meticulously sorted out. This comprehensive sorting helps to accurately grasp the overall logical structure of project tasks and ensure that no task relationships are missed or misunderstood. For example, in a large-scale enterprise-level information system development project, multiple functional modules such as user management, data storage, and business logic processing are involved. Clarifying internal dependencies, such as the relationship between the user registration task (predecessor task) and the user login task (post-task) in the user management module, and cross-module dependencies, such as the relationship between the user permission setting task in the user management module and the data access permission control task in the business logic processing module, can clearly present the task flow of the entire project and provide a solid foundation for subsequent planning and resource allocation.
[0074] 2. Establish a reasonable task execution order
[0075] By determining task dependency paths and generating a task dependency path tree based on various types of dependency relationships (parent-child relationships, predecessor tasks, successor tasks, no earlier than, no later than task start / end, etc.), we can rationally plan the execution order of tasks. This ensures that the task execution process conforms to the inherent logic and actual needs of the project, avoiding resource waste, time delays, or project failure caused by a misaligned task execution sequence. For example, in a construction project, foundation construction tasks (predecessors) must be completed before the main building construction tasks (successors), and some renovation tasks (such as interior wiring) cannot be completed earlier than a certain stage after the main building structure construction (no earlier than relationship). Furthermore, certain key acceptance tasks must be performed near the end of the entire project (no earlier than task end relationship). By accurately constructing a task dependency path tree, we can determine the optimal task execution order, such as following the order of foundation construction, main building construction, interior wiring, other renovation tasks, and key acceptance tasks, to ensure efficient project progress.
[0076] 3. Improve the accuracy of resource allocation and plan adjustment
[0077] A detailed and accurate task dependency path tree provides an important basis for resource allocation. Based on the dependencies between tasks, human, material, and financial resources can be rationally allocated according to the order and time requirements of the tasks, so that resources are invested in the right tasks at the right time. For example, in a software development project, if one task depends on the completion of another task before it can begin, then when allocating resources, it is possible to ensure that the developers, equipment, and other resources required for the predecessor task are sufficient to avoid idle resources or excessive resource tension. At the same time, when changes occur during project execution (such as task delays or resource adjustments), the task dependency path tree can clearly display the scope and path of the affected tasks, helping project managers to quickly and accurately adjust plans and reduce the impact of changes on the overall progress and quality of the project.
[0078] 4. Enhance the controllability and predictability of the project
[0079] A clear task dependency path tree enables project managers to better control project progress. By visually presenting task dependencies (in the form of a path tree), managers can intuitively understand the project's critical path, bottleneck tasks, and the parallel and serial relationships between tasks. This helps to predict possible problems and risks in advance, such as the risk of delays for tasks on the critical path, so that timely measures can be taken to prevent and respond. For example, in a new product R&D project, if the task dependency path tree reveals that a key technology R&D task (on the critical path) may be at risk of time delay, managers can allocate more resources or adjust task plans in advance to ensure that the project is completed on time. At the same time, this controllability and predictability also helps improve communication efficiency among project team members, so that each member is aware of the upstream and downstream relationships and importance of their tasks, thereby better collaborating to complete the project.
[0080] In addition, the process of generating a task dependency path tree for the target task is as follows:
[0081] 1. Mathematical modeling and quantitative representation of dependency data
[0082] Matrix representation of tasks and relationships: First, in order to facilitate computer processing, the target tasks in the project and the dependencies between them are mathematically modeled. Suppose there are n target tasks in the project, and define an n×n matrix R, where the element r ij Represents the dependency relationship between task i and task j. If task i is the predecessor task of task j (including the parent task in the parent-child relationship), then r ij =1; if task j is a subsequent task of task i, then r ji =1; if there is a relationship that task i cannot start earlier than task j, define a time difference variable Δt ij≥0, indicating that task i must start at least Δt after task j starts ij time to start; for the relationship of later than task end, let task i be completed later than task j, and define the time difference variable Δt ji′ ≥0, indicating that task i must complete task j after Δt ji′ If there is no direct dependency between task i and task j, then r ij =r ji =0.
[0083] Division and identification of functional modules: The project contains m functional modules, and a vector F = [f1, f2, ..., f n ], where f k Indicates the functional module to which task k belongs, f k ∈{1,2,…,m}. In this way, through the matrix R and the vector F, the dependencies between the target tasks and the functional modules to which they belong can be mathematically described.
[0084] 2. Algorithm for determining internal dependencies
[0085] Dependency judgment based on matrix operations: For the target tasks within the functional module, the internal dependency relationship is determined by traversing the sub-matrices corresponding to the same functional module in the matrix R (determined by the vector F). Suppose that task i and task j belong to the same functional module. If r ij =1 and f i =f j , then task i is the internal predecessor task of task j (or the parent task in the parent-child relationship), otherwise if r ji =1 and f i =f j , then task j is an internal successor to task i. This matrix operation method can quickly and accurately determine the dependencies between tasks within a module, avoiding the inefficiency of traditional task-by-task analysis and improving processing speed and accuracy.
[0086] Dependency calculation under time constraints: For internal dependencies involving not earlier than or later than the start / end of a task, in addition to the above matrix judgment, time constraints also need to be considered. Suppose task i and task j are in the same module and there is a not earlier than task start relationship, that is, r ij =1 and f i =f j , and Δt ij , then the actual start time of task i is The inequality must be satisfied: in is the start time of task j. Similarly, for the later than task end relationship, if r ji =1,f i=f j And there is Δt ji′ , then the start time of task i Need to meet in is the end time of task j. By introducing these time constraint inequalities, the time sequence requirements of task execution can be more accurately considered when determining internal dependencies, which can better adapt to the time constraints of task execution in actual projects.
[0087] 3. Algorithm for determining cross-module dependencies
[0088] Cross-module dependency search and association: Find cross-module dependency relationships by traversing the elements between the sub-matrices corresponding to different functional modules in the matrix R. For task i and task j, if r ij =1 and f i ≠f j , then task i is a cross-module predecessor task of task j, otherwise if r ji =1 and f i ≠f j , then task j is the cross-module post-task of task i. At the same time, for the cross-module relationship involving time constraints, according to Δt ij and Δt ji’ The judgment and calculation are performed as shown in the time constraint formula above, but now task i and task j belong to different functional modules. This cross-module dependency search algorithm can comprehensively explore the relationships between tasks in different functional modules, breaking through the limitations of traditional inter-module relationship processing in project management and helping to build a more complete and accurate task dependency network.
[0089] Integration and optimization of cross-module relationships: After determining the cross-module dependencies, in order to build a reasonable task dependency path tree, these cross-module relationships need to be integrated and optimized. Let the set of tasks with cross-module dependencies be M. For each task i∈M, find the set of all its cross-module predecessor tasks P. i ={j|r ji =1,f i ≠f j} and post-task set S i ={j|r ij =1,f i ≠f j Then, based on the logical relationships and time constraints between tasks, the positions of tasks within the overall dependency structure are adjusted to ensure that the dependency paths between cross-module tasks are reasonable and conflict-free. Integrating and optimizing cross-module relationships through these algorithms is a key innovation in this technology, ensuring the validity and feasibility of the task dependency path tree when handling complex multi-module projects.
[0090] 4. Task dependency path tree construction algorithm
[0091] Initialization of tree structure and node creation: Create a root node to represent the entire project. Then, for each target task, create a corresponding tree node and organize the nodes according to the functional module to which the task belongs. Let the tree node of task i be N i , its function module is f i , node N i Add it to the subtree structure of the corresponding functional module. This step lays the foundation for the subsequent construction of an accurate task dependency path tree through a reasonable node organization method, reflects the rationality of technological innovation in data structure design, and facilitates the efficient processing and management of task nodes by computers.
[0092] Dependency mapping to tree structure: According to the determined internal dependencies and cross-module dependencies, the task nodes are connected to form a task dependency path tree. For each task i, if there is a predecessor task j (either internal or cross-module), that is, r ji =1, then in the tree structure, node N j Connect to node N i The parent node position of i (if j is the only predecessor task of i) or added to node N i In the list of predecessor task nodes (if i has multiple predecessor tasks); similarly, if task i is the predecessor task of task j, that is, r ij =1, then the node N i Connect to node N j At the same time, for dependencies involving time constraints, the corresponding time difference information (such as Δt ij or Δt ji′ ) for reference when subsequently calculating task execution times. This method accurately maps complex task dependencies into a tree structure, constructing a complete task dependency path tree. This is one of the core innovations of this technology. By constructing a structured task dependency path tree, it provides an intuitive and efficient basic data structure for project planning and resource allocation, facilitating rapid computer analysis and decision-making.
[0093] 5. Path tree verification and optimization algorithm
[0094] Detection and elimination of circular dependencies: In order to ensure the rationality of the task dependency path tree, it is necessary to detect and eliminate circular dependencies. Use the depth-first search (DFS) or breadth-first search (BFS) algorithm to traverse the task dependency path tree, starting from the root node, and mark each visited node. If a marked node is encountered during the search process, and the node is not the direct ancestor node of the current node, it means that there is a circular dependency. Let the detected circular dependency path be C = {c1, c2, ..., c k}, where task c i Depends on task c i+1 (i=1,2,…,k-1) and task c k To eliminate circular dependencies, the dependencies between tasks in the circular path can be adjusted based on factors such as task priority and resource requirements. For example, if task c1 has a lower priority, it can be removed from task c1. k , and adjusts the execution time and resource allocation of task c1 to ensure the correctness of the overall project logic. This circular dependency detection and elimination algorithm is a key innovation in this technology to ensure the feasibility and stability of project plans, avoiding project execution chaos caused by circular dependencies.
[0095] Verification of path integrity and rationality: Verify whether the task dependency path tree covers all target tasks and whether the dependency relationship of each task complies with logic and time constraints. Traverse the task list and path tree nodes to check whether there are tasks that are not included in the path tree. At the same time, for each task node, check whether the connection between its predecessor and successor tasks is correct and whether the time constraints are met. If incomplete or unreasonable situations are found, such as missing tasks or time constraint conflicts, they can be repaired and optimized by backtracking the dependency chain, re-analyzing the task description file, etc. This step ensures the quality of the task dependency path tree through a comprehensive verification and optimization process, reflects the attention to detail and accuracy when dealing with project task relationships, and helps improve the reliability and executability of the project plan.
[0096] Optionally, determining the minimum resource requirement for executing the target project includes:
[0097] Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
[0098] To this end, the above-mentioned technical process for determining the minimum resource requirements for executing the target project has the following technical advantages:
[0099] 1. Accurate resource planning and optimized allocation
[0100] By evaluating the multi-path resource requirements of the target tasks under each functional module and screening out the minimum resource requirements, accurate resource planning can be achieved. Taking software development projects as an example, for tasks under different functional modules (such as user interface design, database management, algorithm development, etc.), the demand for various types of resources (such as programmer manpower, server resources, software tools, etc.) is analyzed in detail. This can avoid over-allocation of resources and prevent certain tasks from occupying too many unnecessary resources, while ensuring that each task has sufficient resources to support its smooth execution. For example, in the database management functional module, the number and performance configuration of the required database servers are accurately determined based on the complexity of the task and the amount of data, rather than blindly allocating a large number of server resources, thereby improving resource utilization efficiency and reducing project costs.
[0101] 2. Improve overall project efficiency
[0102] Accurately determining minimum resource requirements helps improve overall project efficiency. Because each task is assigned the most appropriate resource based on its actual needs, resource waiting time and task queue time are reduced. For example, in a multi-task project, if the minimum resource requirements for each task can be accurately determined, these tasks can be initiated and executed as quickly as possible with the appropriate resources, avoiding delays caused by insufficient or inappropriate resource allocation. Furthermore, proper resource allocation can reduce resource competition between tasks, making project execution smoother, thereby shortening project cycles and accelerating project delivery.
[0103] 3. Enhance the project's ability to cope with resource changes
[0104] Clarifying minimum resource requirements provides a strong basis for projects to respond to resource changes. During project execution, resource availability may change, such as due to equipment failure or staff taking temporary leave. When this happens, knowing the minimum resource requirements for each task allows project managers to quickly determine which tasks will be affected and flexibly adjust based on the actual situation. For example, if a server resource fails, the project team can assess which tasks can continue to run on the remaining server resources based on the predetermined minimum resource requirements and which tasks need to be suspended or reallocated. This minimizes the impact of resource changes on the project schedule and enhances the project's stability and risk resilience.
[0105] 4. Support modular management and expansion of projects
[0106] This resource requirement assessment method facilitates modular project management and expansion. Resource requirements for each functional module are independently assessed and determined, making resource relationships between modules clearer. When expanding a project or adjusting functional modules, resource allocation can be easily reassessed and adjusted based on the new module requirements. For example, when adding a payment module to an e-commerce project, its resource requirements can be assessed based on the characteristics of the module's tasks and integrated and optimized with the resource requirements of existing modules to ensure that the new module can be smoothly integrated into the overall project architecture without significantly impacting the resource allocation and project execution of the original modules, facilitating the continued evolution and expansion of the project.
[0107] Optionally, the technical steps of generating a task dependency path tree and determining minimum resource requirements are implemented as follows:
[0108] 1. Generate task dependency path tree
[0109] 1. Dependency data structure definition and initialization
[0110] Define a two-dimensional array D[n][n] to represent the dependency relationship between tasks, where n is the number of target tasks. If task i is the predecessor task of task j (including the case where the parent task comes first in the parent-child relationship), then D[i][j] = 1; if task j is the successor task of task i, then D[j][i] = 1; if there is no direct dependency relationship between tasks i and j, then D[i][j] = D[j][i] = 0. At the same time, define a one-dimensional array F[n] to represent the functional module to which each task belongs. The value of F[i] is the number of the functional module to which task i belongs, and the number range is 1 to m (m is the number of functional modules).
[0111] Define a structure array T[n] to store detailed information of the task. Each structure contains the task name, task execution time estimate (set as t i ) and other fields. In addition, a structure is defined to represent the nodes in the task dependency path tree. The structure contains a task pointer (pointing to the corresponding T[i]), a child node pointer array (used to store its child task nodes), a parent node pointer (pointing to its parent task node), a predecessor task pointer array (used to store its predecessor task nodes), a successor task pointer array (used to store its successor task nodes), and variables related to time constraints (such as the time difference array Δt not earlier than the task start time). ij [n] and the time difference array Δt later than the task end time ji′ [n]).
[0112] 2. Internal Dependency Determination Algorithm
[0113] For each functional module k (k = 1 to m), traverse the tasks within that module. For tasks i and j (i, j belong to functional module k), if D[i][j] = 1 and F[i] = F[j] = k, then task i is an internal predecessor task of task j. When constructing the task dependency path tree, add task j's node to task i's child node pointer array and task i's node to task j's predecessor task pointer array.
[0114] For tasks i and j (i, j belong to functional module k) that involve a relationship not earlier than the start of task, if there is Δt ij >0 (obtained by parsing the project description file or other input data), then record Δt in the node of task j ij , represents the start time of task j Inequality must be satisfied in is the start time of task i. For the relationship later than the end of task, if Δt ji′ >0, then record Δt in the node of task i ji′ , represents the start time of task i Need to meet in is the end time of task j. This step accurately describes the time constraint relationship between tasks through mathematical formulas, ensuring the rationality of the task execution sequence. It is a manifestation of technological innovation and helps to deal with complex task dependencies and time constraints.
[0115] 3. Cross-module dependency determination algorithm
[0116] Traverse all tasks. For task i and task j (F[i] ≠ F[j]), if D[i][j] = 1, then task i is the cross-module predecessor task of task j. When constructing the task dependency path tree, add the node of task j to the cross-module successor task pointer array of task i, and at the same time add the node of task i to the cross-module predecessor task pointer array of task j. And, just like the time constraints in internal dependency processing, based on the time difference information in the project description file, record the no earlier than and later than time differences between cross-module tasks in the corresponding nodes to ensure that the execution order of cross-module tasks meets project requirements.
[0117] In order to optimize the dependency relationship between cross-module tasks, the shortest path algorithm in graph theory (such as the Dijkstra algorithm or a variant of the Floyd-Warshall algorithm) can be used to calculate the optimal dependency path between cross-module tasks. Let the dependency path length between cross-module tasks i and j (which can be weighted by considering factors such as time and resources) be L ij , calculated by the algorithm so that L ijThe smallest path adjusts the connections between cross-module tasks in the task dependency tree to ensure optimal dependencies between them, improving overall project execution efficiency. This optimization algorithm is a key innovation in this technology for handling complex dependencies in multi-module projects, helping to improve the quality of project plans.
[0118] 4. Task dependency path tree construction algorithm
[0119] Create a root node root, representing the entire project. Then, for each task i, create a task node N i , and point its task pointer to the corresponding T[i]. Connect the corresponding nodes according to the relationship between the predecessor and successor tasks of task i. If task i has no predecessor tasks (except the root node), connect its node to the child node pointer array of the root node; if task i has a predecessor task, connect its node to the child node pointer array of the predecessor task node. Similarly, for successor tasks, connect the successor task node to the successor task pointer array of the node of task i.
[0120] In the process of building the tree, for each node, according to the functional module to which it belongs, it is organized into the corresponding functional module subtree structure (if the functional module subtree does not exist, it is created first). This helps to modularize the task dependency path tree and facilitates subsequent resource allocation and project execution analysis. At the same time, by continuously updating the pointer relationship between nodes, a complete task dependency path tree is constructed. This tree structure can accurately reflect the dependency relationship, time constraint relationship and functional module relationship between tasks, providing a powerful basic data structure support for project planning and execution. It is one of the core innovations of this technology. Through this structured approach, it is convenient for computers to perform efficient analysis, decision-making and resource allocation.
[0121] 5. Path tree verification and optimization algorithm
[0122] Circular dependency detection: Use the depth-first search (DFS) or breadth-first search (BFS) algorithm to traverse the task dependency path tree. Starting from the root node, mark each visited node. If a node that has been marked and is not the direct ancestor of the current node is encountered during the search, it means that there is a circular dependency. Let the detected circular dependency path be C = {c1, c2, ..., c k}(where task c i Depends on task c i+1 , i=1,2,…,k-1, and task c k Depends on task c1). To eliminate circular dependencies, we can prioritize tasks (set as p i , which can be determined by the project description file or other preset rules), resource requirements (set as r i) and other factors to adjust the dependencies between tasks in the loop path. For example, calculate the comprehensive impact factor I of each task in the loop path i =αp i +βr i (where α and β are weight coefficients, which can be adjusted according to project requirements), select the task with the smallest comprehensive impact factor (set as c m ), remove it from the dependency cycle, that is, adjust the pointer relationship of the relevant nodes so that task c m-1 No longer depends on task c m , and adjust task c at the same time m This circular dependency detection and elimination algorithm is a key innovation in this technology to ensure the feasibility and stability of project plans, avoiding project execution chaos caused by circular dependencies.
[0123] Path integrity and rationality verification: Verify that the task dependency path tree covers all target tasks and that the dependencies of each task conform to logic and time constraints. Traverse the task list and path tree nodes to check for any tasks not included in the path tree. For each task node, check whether the connections between its predecessor and successor tasks are correct and whether time constraints are met. Specifically, for each predecessor task j of task i, check whether D[j][i] = 1 and, based on the recorded time difference information, verify whether the start time of task i satisfies the corresponding inequality constraints. If incomplete or unreasonable situations are found, such as missing tasks or time constraint conflicts, they can be repaired and optimized by backtracking the dependency chain and reanalyzing the task description file. This step ensures the quality of the task dependency path tree through a comprehensive verification and optimization process. It reflects the attention to detail and accuracy of this technology in handling project task relationships, helping to improve the reliability and implementability of project plans.
[0124] 2. Determine the minimum resource requirements for executing the target project
[0125] 1. Resource requirement matrix definition and initialization
[0126] Define a three-dimensional array R[m][n][l] to represent the resource requirements of each task within each functional module for different types of resources, where m is the number of functional modules, n is the number of target tasks, and l is the number of resource types. Element R[k][i][j] represents the required quantity of resource type j for task i within functional module k. Also, define a one-dimensional array A[l] to represent the total available quantity of each resource type.
[0127] 2. Multi-path resource demand assessment algorithm
[0128] For each functional module k (k = 1 to m), traverse the tasks i (i = 1 to n) within the module. For each task i, based on the nature and complexity of the task (which can be determined by the relevant parameters in the task description file or the preset task evaluation model), evaluate the number r of different resource types j (j = 1 to l) it requires. ij and store it in R[k][i][j].
[0129] When evaluating resource requirements, consider the impact of dependencies between tasks on resource requirements. Let the set of predecessor tasks of task i be P i , for each predecessor task p∈P i If there is a resource sharing or collaboration relationship between task p and task i (which can be determined by the task relationship description in the project description file or the preset resource collaboration rules), then when calculating the resource requirements of task i, it is necessary to comprehensively consider the resource usage of task p. For example, if task p uses a certain resource and releases part of it before task i starts, then the quantity required by task i for that resource needs to be adjusted accordingly. This step improves the accuracy of resource demand assessment by considering the dynamic impact of task dependencies on resource demand. It is a manifestation of technological innovation and helps to plan resources more accurately.
[0130] 3. Minimum resource requirement screening algorithm
[0131] For each resource type j (j = 1 to l), calculate the total demand for that resource type during the entire project execution Then, according to the total available amount A[j] of resource type j, we can judge whether the demand is met, that is, we can judge whether T j ≤A[j]. If this inequality is satisfied for all resource types, then the current resource allocation scheme (i.e., the number of resource requirements for each task) is feasible.
[0132] In order to find the minimum resource requirement, we use the greedy algorithm or dynamic programming algorithm to optimize. Taking the greedy algorithm as an example, starting from the initial resource requirement assessment result, we gradually reduce the number of resources required by each task (under the premise of meeting the task execution requirements), and recalculate the total resource requirement and judge the feasibility. Let the reduced resource requirement array be R'[m][n][l]
[0133] Each time a resource reduction is made, the task with the least impact on the overall project is selected for resource adjustment (this can be determined by calculating the task's importance coefficient or resource adjustment sensitivity. For example, the task's importance coefficient can be determined based on factors such as its position on the critical path and its impact on the project objectives). This process is repeated until a minimum resource requirement allocation solution is found that satisfies the total available resources of all resource types. This optimization algorithm is a key innovation in resource management, minimizing resource waste and improving resource utilization efficiency while ensuring smooth project execution.
[0134] 4. Verification and adjustment of resource demand rationality
[0135] Verify the rationality of the minimum resource requirement solution. Consider factors such as the parallel use efficiency of resources and the resource switching cost. Let the parallel use efficiency coefficient of resource type j be η j (It represents the ratio of the actual utilization efficiency of the resource in the parallel task to the theoretical maximum utilization efficiency, which can be determined through historical project data or simulation experiments). The resource switching cost is C ij (It represents the cost of switching task i from one state to another when using resource type j, such as equipment warm-up time, personnel training cost, etc.) Calculate the resource utilization efficiency index of the project under the minimum resource requirement configuration and the total cost of resource switching
[0136] If the resource utilization efficiency index E is lower than the preset minimum efficiency threshold θ E Or the total resource switching cost C is higher than the preset maximum cost threshold θ C , the minimum resource requirement plan needs to be adjusted. Adjustments can include reallocating resource types and adjusting the order of task execution to optimize resource parallelization. For example, if the parallel utilization efficiency of a particular resource is too low, you can try shifting some tasks that rely on that resource to other resources, or adjust the order of task execution to ensure more efficient resource switching between tasks, thereby improving resource utilization efficiency and reducing costs. This step further optimizes the minimum resource requirement plan by comprehensively considering multiple practical factors.
[0137] Optionally, allocating a task initialization configuration to each target task based on the minimum resource requirement to determine a task execution path includes:
[0138] Allocating a task initialization configuration to each target task based on the minimum resource requirement;
[0139] Based on the initial task configuration, a task execution path is determined.
[0140] Therefore, the above process of allocating task initialization configuration to each target task based on the minimum resource requirements to determine the task execution path has the following technical benefits:
[0141] 1. Accurate matching of resources and tasks
[0142] By assigning initial configurations to each target task based on minimum resource requirements, precise matching of resources and tasks can be achieved. This means that each task receives the exact amount of resources required to execute it, avoiding over- or under-allocation of resources. For example, in a construction project, if the minimum resource requirements for a concrete pouring task are calculated to be three concrete mixers and five operators, initial configuration based on these requirements can ensure the smooth execution of the task, preventing idle waste due to excessive resources and construction delays due to insufficient resources. This optimizes resource utilization and improves the resource utilization efficiency and cost-effectiveness of the entire project.
[0143] 2. Enhance the planning and predictability of task execution
[0144] Determining the task execution path based on the initial task configuration helps to enhance the planning and predictability of task execution. Once the resources allocated to each task are clarified, the order and timing of task execution can be reasonably planned based on factors such as resource usage characteristics and the dependencies between tasks. For example, in a software development project, a certain module's code writing task is assigned to a specific number of programmers (resource allocation). Based on the skill level and work efficiency of these programmers (resource characteristics), combined with the dependency of this task with other module integration, testing and other tasks, the execution path of the code writing task in the entire project can be accurately determined, such as which predecessor tasks it will start after completion, how long it will take, and which subsequent tasks will be connected, etc. This allows the project team to prepare in advance, control progress, and effectively respond to various situations that may arise during project execution.
[0145] 3. Improve the project's flexibility in responding to changes
[0146] When some variables arise during the project execution process, such as a temporary shortage of some resources or an advance / delay in task progress, the project team can respond and adjust more flexibly based on the initial configuration allocated based on the minimum resource requirements and the determined task execution path. Since the initial configuration of each task is based on the minimum resource requirements, it is possible to more clearly determine which resources are indispensable and which resources can be flexibly deployed within a certain range. For example, if a device resource fails (resource change), by checking the initial configuration and execution path of each task, the scope of the affected tasks can be quickly understood, and the execution order of related tasks can be reasonably adjusted or other alternative resources can be deployed to ensure that the overall project progress is affected as little as possible, thereby improving the project's adaptability and risk resistance in a complex and changing environment.
[0147] 4. Facilitate overall project coordination and monitoring
[0148] This method of allocating resources based on minimum resource requirements and then determining the execution path is conducive to the overall coordination and monitoring of the project. For project managers, each task has a clear resource allocation and a clear execution path, which makes it easier for them to control the allocation and flow of resources in the project, as well as the coordination and cooperation between tasks from a macro perspective. By comparing the actual execution status with the established initial configuration and execution path, managers can promptly identify deviations and take corrective measures to ensure that the project proceeds in an orderly manner as planned. For example, in a large-scale manufacturing project, tasks in different production links have their own corresponding initial resource configuration and execution path. By monitoring resource usage and task progress in real time, managers can effectively coordinate the relationship between each link, avoid problems such as resource competition or poor task coordination, and ensure the smooth operation of the entire production process.
[0149] Optionally, in a specific scenario, the process of allocating a task initialization configuration to each target task based on the minimum resource requirement to determine the task execution path is as follows:
[0150] 1. Assign task initialization configuration to each target task based on minimum resource requirements
[0151] 1. Definition and initialization of relevant data structures
[0152] First, define the following data structures to assist in calculation and storage of information:
[0153] Assume there are n target tasks and define a two-dimensional array R min [n][m] represents the minimum resource requirement of each target task, where the element R min [i][j] represents the minimum requirement of the i-th target task for the j-th resource, i∈{1,2,…,n}, j∈{1,2,…,m} (m is the number of resource types).
[0154] Define a two-dimensional array A[m] to represent the actual available amount of each resource, that is, A[j] is the total amount of the j-th resource currently available for allocation.
[0155] Define a structure array T[n] to store the detailed information of each target task. The structure contains fields such as task number (corresponding to i), task name, and allocated resource amount (initialized to 0). Here, the allocated resource amount is represented by a two-dimensional array R alloc [n][m] means, R alloc [i][j] represents the number of j-th resources currently allocated to the i-th task.
[0156] Define another two-dimensional array C[n][n] to represent the resource coordination coefficient between tasks. If there is a synergistic relationship between task i and task j in resource usage (for example, simultaneous execution can improve resource utilization), then C[i][j]>0; if there is a resource competition relationship (for example, sharing a certain scarce resource), then C[i][j]<0; if there is no obvious resource association, then C[i][j]=0.
[0157] 2. Resource Allocation Algorithm
[0158] Consider the initial allocation of resource coordination:
[0159] Traverse each target task i (i = 1 to n), for each task i, according to its minimum resource requirement R min [i][j], try to allocate resources for the first time. When allocating, the coordination of resources needs to be considered. Let the set of predecessor tasks of task i be P i , for each resource j, calculate the resource allocation amount R after the collaborative impact temp [i][j], the calculation formula is as follows:
[0160]
[0161] The idea here is that, in addition to its own minimum demand, the resource allocation for task i will also be appropriately adjusted based on its collaborative or competitive relationship with the predecessor task in resource use. For example, if the predecessor task and the current task have a synergistic relationship in the use of a certain equipment resource (C[i][p]>0), and the predecessor task has already allocated a certain amount of this resource, then the initial allocation of the current task can be appropriately increased. Conversely, if there is resource competition (C[i][p]<0), the initial allocation will be reduced accordingly to comprehensively consider the overall utilization efficiency of resources in the task chain. This reflects the meticulous handling of resource synergy in technological innovation.
[0162] Resource availability verification and adjustment:
[0163] For each resource j, after completing the initial allocation calculation of all tasks (get R temp [i][j] array), we need to check resource availability. Calculate the total temporary allocation of all tasks to resource j Then determine whether T j ≤A[j], that is, the total allocation cannot exceed the actual available amount of the resource.
[0164] If for a resource j, T j > A[j], then adjustment is required. The adjustment strategy adopts the method of allocating resources according to task priority. Let the priority of task i be PR i (It can be pre-set based on factors such as the criticality of the task in the project and the time urgency, and the value range is between 0 and 1. The larger the value, the higher the priority.) Sort the tasks from high to low priority. Then, starting with the task with the lowest priority, gradually reduce its temporary allocation of resource j, R temp [i][j], each time reduce one unit (can be determined according to the minimum allocation granularity of resources), and recalculate T j , until T is satisfied j ≤A[j]. This adjustment process ensures that critical tasks receive sufficient resources first through priority sorting, while also rationally allocating limited resources. It is a reflection of technological innovation in ensuring the rationality of resource allocation.
[0165] Final resource allocation confirmation:
[0166] After the above adjustments, the final resource allocation R temp [i][j] is the amount of allocated resources R assigned to task i alloc [i][j], complete the task initialization configuration of each target task, that is, determine the specific quantity of various resources that can be obtained by each task initially, laying the foundation for the subsequent determination of the task execution path.
[0167] 2. Determine the task execution path based on the initial task configuration
[0168] 1. Execution path related data structure definition
[0169] Define a directed graph data structure G(V,E) to represent the dependencies between tasks and the impact of resource allocation on the execution path, where V is a set of vertices representing all target tasks (corresponding to task numbers 1 to n), and E is a set of directed edges. Each directed edge (i,j) indicates that task j can only start after task i is completed. The weight of the edge can be used to represent some limiting factors between tasks (such as time interval, resource switching cost, etc.).
[0170] Define a weight array W[i][j][k] for each directed edge (i, j), where k represents different weight factors, for example, k = 1 represents the time interval weight, k = 2 represents the resource switching cost weight, etc. Let the time interval from task i to task j be t ij , the resource switching cost is c ij , then W[i][j][1]=t ij , W[i][j][2]=c ij In addition, according to the initial resource configuration of the task, define a function f res (i, j) is used to judge the feasibility of resource switching from task i to task j. If the resource configuration meets the switching conditions (for example, the required resources can be deployed in place in time, etc.), then f res (i,j)=1, otherwise f res (i,j)=0.
[0171] 2. Execution path determination based on graph theory algorithms
[0172] Construct the initial directed graph:
[0173] According to the dependency relationship between tasks (which can be determined based on the previously generated task dependency path tree or pre-set dependency rules), add directed edges between the dependent tasks to the graph G. For example, if the predecessor task of task 3 is task 2, add a directed edge (2,3) to the graph. At the same time, according to the initial configuration of the tasks, calculate the value of the weight array W[i][j][k] corresponding to each edge and the resource switching feasibility function f res The value of (i,j).
[0174] Execute the path search algorithm:
[0175] An improved shortest path algorithm (such as a Dijkstra algorithm or a variant of the A* algorithm) is used to determine the task execution path. The "shortest path" here refers to the optimal path that takes into account multiple weighted factors. Using the A* algorithm as an example, a heuristic function h(i) is defined to estimate the comprehensive cost (taking into account factors such as time and resource costs) from task i to the project's final target task (which can be set to task n). The design of this heuristic function is a key part of this technological innovation, as it incorporates resource allocation and the overall project goals.
[0176] Let the current search node be s, the target node be t (in the entire project, t is the task node that represents the completion of the project), start the search from the starting task node (set as task 1), and calculate the evaluation function value F(s) from each node s to the target node t. The calculation formula is as follows:
[0177] F(s)=g(s)+h(s)
[0178] Where g(s) is the actual cost from the starting node to the current node s (obtained by accumulating the weights of the traversed edges, such as the sum of time intervals, the sum of resource switching costs, etc.), and h(s) is the cost from the current node s to the target node t estimated by the heuristic function. By continuously selecting the node with the smallest F(s) value to perform an extended search until the target node t is found, the node sequence passed through is the determined task execution path. During the search process, according to the resource switching feasibility function f res (i, j) is used to screen feasible edges, avoiding infeasible paths caused by the inability to allocate resources in a timely manner, and ensuring that the found execution path is feasible in terms of resource allocation and task dependency. This reflects the advantage of technological innovation in comprehensively considering multiple factors to determine the execution path.
[0179] 3. Execution path optimization and verification
[0180] Path optimization:
[0181] After finding the preliminary task execution path, you can also optimize it. Considering factors such as the idle time of resources, suppose that after task i is executed, the resource j it occupies will have an idle time of idle ij , define a resource idle utilization function U idle (i, j) is used to measure the utilization value of resource idle time (for example, idle time can be used for other auxiliary tasks, bringing certain benefits, etc.). By adjusting the task execution order (under the premise of satisfying task dependencies and resource availability), we try to maximize the total resource idle utilization rate. Intelligent optimization algorithms such as simulated annealing algorithm and genetic algorithm are used to search for better task execution paths, further tap the potential of resource utilization and optimize project execution.
[0182] Path Validation:
[0183] Verify that the determined task execution path satisfies all constraints, including task dependencies, the rationality of resource allocation, the feasibility of resource switching, and the overall project time and cost requirements. Traverse each task node and corresponding edge on the execution path to check for violations of the above conditions. For example, check whether the resource allocation for each task is consistent with the initial task configuration, whether the dependencies between tasks are correct, and whether the resource switching costs are within an acceptable range. If any non-compliance with the constraints is found, return to the execution path determination step and readjust the path until verification passes. This ensures that the finalized task execution path is a high-quality solution that meets the actual project needs, reflecting the rigor of the technology in ensuring the accuracy and feasibility of the execution path.
[0184] Optionally, adjusting the task initial configuration and / or the task execution path based on the set plan execution constraint until matching the set multiple planning strategy configurations includes:
[0185] Calculating the estimated time requirements for the target tasks to determine the overall time requirements for completing the target project;
[0186] Assigning a task start time and a task end time to each target task based on the task execution path and the overall time requirement indicator for completing the project;
[0187] Based on the set plan execution constraints, and according to the task start time and task end time assigned to each target task, each task dependency path on the task dependency path tree is traversed to determine whether there is a resource conflict between the target tasks. If there is a conflict, the initial resource configuration of the task and / or the task execution path are adjusted until there is no resource conflict;
[0188] Generate project planning result-related data structures based on resource allocation and task execution paths corresponding to the non-resource conflict situation;
[0189] Calculating actual resource consumption indicators when executing the target project based on the planning result task tree, and matching them with the set multiple planning strategy configurations to evaluate the matching degree;
[0190] If the matching degree does not reach the set matching degree threshold, adjusting the initial resource configuration of the task and / or adjusting the task execution path until the matching degree reaches the set matching degree threshold;
[0191] When the matching degree reaches a set matching degree threshold, it is determined that the adjusted resource configuration and / or task execution path matches the set multiple planning strategy configurations.
[0192] To this end, the above-mentioned technical process of adjusting the initial configuration of the task and / or adjusting the task execution path based on the set plan execution constraints until matching the set multiple planning strategy configurations has the following technical benefits:
[0193] 1. Accurate time control and efficient resource utilization
[0194] By calculating the estimated time requirements of the target tasks to determine the overall time requirements for completing the target project, project managers can clearly grasp the time span of the project from a macro perspective and make advance planning for various resource allocations and schedule arrangements. Based on this, specific start and end times are assigned to each target task, allowing each task to be carried out in an orderly manner in the time dimension, avoiding confusion in task execution, improving the time utilization efficiency of the entire project execution process, ensuring that resources can be put into use in the appropriate time period, reducing idle or overused resources, and maximizing the efficient use of resources. For example, in a large-scale event planning project, accurately estimating the time requirements of each sub-activity (target task) and reasonably arranging their sequence and start and end times can ensure that resources such as venues, props, and personnel are systematically coordinated with the needs of each stage of the activity, avoiding the problem of idle and wasted resources in certain periods and insufficient supply in key links.
[0195] 2. Prevent and resolve resource conflicts in advance
[0196] Based on the set execution constraints, the task dependency tree is traversed to determine whether resource conflicts exist between target tasks. This mechanism can proactively identify potential resource allocation issues. Resource conflicts are a key factor hindering smooth project progress before or during project execution, such as when multiple tasks require specific critical equipment or specialized personnel during the same period. This proactive detection approach allows for timely identification of resource conflicts and targeted adjustments to the initial resource allocation and execution paths until the conflicts are resolved. This ensures the rationality and feasibility of resource allocation during project execution, avoids task delays and project stalls caused by resource conflicts, and ensures that projects proceed as planned. For example, in a software development project, if both the testing phase and the new feature development phase require experienced senior programmers (resource conflict), this conflict can be resolved by adjusting the execution order of the tasks or allocating additional human resources, allowing both tasks to proceed smoothly.
[0197] 3. Generate scientific project planning results
[0198] The data structure related to the project planning results is generated based on the resource allocation and task execution path in the absence of resource conflicts, providing the project with a clear, accurate and complete execution blueprint. This data structure not only includes the execution order and time schedule of tasks, but also covers the specific allocation of resources, making it easier for project team members to fully understand the project plan, clarify their respective responsibilities and key nodes for task execution, and also facilitate managers to monitor and dynamically adjust the project in real time. For example, in a construction project, based on this data structure, the construction team can clearly know when each construction process (task) starts and ends, and what construction materials and construction equipment (resources) are needed. The project manager can also use it to accurately control the project progress and resource usage.
[0199] 4. Match planning strategies to achieve project optimization
[0200] The actual resource consumption indicators when executing the target project based on the planning result task tree are calculated and matched with the multiple planning strategy configurations set to evaluate the matching degree. This process can measure the degree of fit between the current planning scheme and the preset goals. Different projects have different focuses, such as pursuing planning strategies such as the lowest cost, the most balanced resource consumption, or the shortest project completion time. Through this matching evaluation mechanism, it can be found whether the current planning scheme is in line with the project's desired development direction. If the matching degree does not reach the threshold, the initial resource configuration of the task and the task execution path are continuously adjusted and optimized until the set threshold is reached. This ensures that the final resource configuration and execution path of the project can closely match the preset planning strategy, achieve multi-faceted optimization of the project, and improve the overall project benefits. For example, for a research and development project with a tight budget, by continuously adjusting the resource allocation and task sequence to make it more in line with the lowest cost planning strategy, the project can be completed with high quality within limited funds.
[0201] 5. Ensure that the planning scheme meets the overall requirements of the project
[0202] When the matching degree reaches the set threshold, the adjusted resource allocation and task execution path are determined to match the multiple planning strategy configurations set. This mechanism ensures that the finalized project planning scheme has been rigorously verified and meets the overall project requirements. This avoids the use of unreasonable planning schemes due to human misjudgment or poor consideration, improves the scientific nature, accuracy, and reliability of project planning, and lays a solid foundation for successful project implementation. Whether it is a simple project or a complex large-scale project, this planning scheme determination based on strict matching verification helps enhance the project's ability to cope with various internal and external changes, ensuring smooth project delivery and achieving expected goals.
[0203] Optionally, the technical process of adjusting the initial configuration of the task and / or adjusting the task execution path based on the set plan execution constraints until the task matches the set multiple planning strategy configurations is as follows:
[0204] 1. Calculate the estimated time required for the target task to determine the overall time required to complete the target project
[0205] 1. Related data structure and parameter definition
[0206] Assume that the project contains n target tasks and define a one-dimensional array T est [n] to store the estimated required time indicator of each target task, where T est [i] represents the estimated execution time of the i-th target task (the unit can be set according to the actual situation of the project, such as hours, days, etc.), i∈{1,2,…,n}.
[0207] Define a directed graph structure G(V,E) to represent the dependency relationship between tasks, where V is a set of vertices representing all target tasks (corresponding to the task numbers), E is a set of directed edges, and edge (i,j) indicates that task j can only start after task i is completed.
[0208] Suppose there is a two-dimensional array D[n][n]. If task i is the direct predecessor of task j (that is, there is a directed edge (i, j)∈E), then D[i][j]=1, otherwise D[i][j]=0.
[0209] 2. Calculation algorithm for estimated demand time index
[0210] Forward recursive calculation based on task dependencies:
[0211] First, for tasks without predecessor tasks (i.e., vertex tasks with in-degree 0), the estimated required time indicator is the original estimated execution time of the task itself, that is, if for task k, but ( is the initial estimated basic execution time of task k).
[0212] Then, for other tasks j that have predecessor tasks, calculate their estimated required time indicators using the following formula:
[0213]
[0214] This formula means that the estimated time required for task j is the sum of the longest estimated time required for all its predecessor tasks, plus its own basic execution time. By iterating through all tasks and calculating them sequentially according to their dependencies, we ultimately obtain the estimated time required for each task. This recursive calculation method based on dependencies fully considers the impact of task sequence on time and is the foundation for accurate time estimation in technological innovation. It is more accurate than simple average estimation methods and is more responsive to actual project situations.
[0215] Determine the overall time requirement indicator:
[0216] After calculating the estimated time requirements for all tasks, determine the overall time requirement for completing the target project, T total , that is, take the maximum value of the estimated time requirements of all tasks:
[0217] T total =max i∈{1,2,…,n} (T est [i])
[0218] Because the project completion time depends on the last completed task, using the longest task chain time as the time requirement indicator for the entire project can accurately reflect the actual time span required for the project and provide an important basis for the time allocation of subsequent tasks.
[0219] 2. Assign a start time and end time to each target task based on the task execution path and the overall time required to complete the project
[0220] 1. Data structure expansion and initialization
[0221] Based on the previously defined data structure, a new one-dimensional array S is added tart [n] to store the start time of each target task, and a one-dimensional array E nd [n] is used to store the end time of each target task, and the initial value is set to 0.
[0222] Assume that the task execution path is represented as a task sequence P = {p1, p2, ..., p m}(m≤n,p i The execution path can be determined by combining the previously generated task dependency path tree with factors such as resource configuration.
[0223] 2. Task time allocation algorithm
[0224] Allocate time in order of execution paths:
[0225] First determine the start time S of the first task (i.e. task p1) tart[p1] = 0 (the project starts at time 0), and its end time is:
[0226] E nd [p1]=S tart [p1]+T est [p1]
[0227] Then, for the subsequent task p in the execution path k (k>1), its start time is the end time of the predecessor task, that is:
[0228] S tart [p k ]=E nd [p k-1 ]
[0229] The end time is:
[0230] E nd [p k ]vS tart [p k ]+T est [p k ]
[0231] By calculating the start and end time of each task in sequence according to the task execution path, we ensure that the tasks are connected in an orderly manner in time, and fully consider the estimated required time of each task itself, so that time allocation conforms to the task execution logic. This reflects the characteristics of technological innovation in combining execution paths and time estimates for detailed time arrangements, which helps to improve the planning and efficiency of project execution.
[0232] 3. Based on the set plan execution constraints, according to the task start time and task end time assigned to each target task, traverse each task dependency path on the task dependency path tree to determine whether there is a resource conflict between the target tasks. If there is a conflict, adjust the initial task resource configuration and / or adjust the task execution path until there is no resource conflict
[0233] 1. Resource-related data structure definition and plan execution constraint expression
[0234] Assume there are r resource types and define a three-dimensional array R alloc [n][r][2] represents the resource allocation of each target task to different resource types, where R alloc [i][j][0] represents the number of resource type j assigned to task i, R alloc [i][j][1] represents the time interval during which task i uses resource type j (which can be represented by the start time and end time, for example [S tart [i],E nd[i]]).
[0235] Plan execution constraints are expressed as a set of inequalities or rules, such as:
[0236] Total resource limit: For each resource type j, there is Among them A vail [j] represents the total available amount of resource type j.
[0237] Resource concurrent use restrictions: If the resource type j is specified to be used by C at most max [j] tasks are used, then for any time point t, That is, the number of tasks using the resource at the same time cannot exceed the limit.
[0238] Resource switching cost constraint: Let the cost of switching resource type j between task i and task k be C switch [i][k][j], stipulates that the total cost of each resource switching cannot exceed a certain threshold but (The actual calculation needs to consider the task execution order and the actual resource switching situation).
[0239] 2. Resource conflict detection algorithm
[0240] Traverse the task dependency tree to detect conflicts:
[0241] Traverse the task dependency path tree (i.e., graph G) through the depth-first search (DFS) or breadth-first search (BFS) algorithm, and for each task pair (i, j) on the task dependency path (satisfying the existence of a directed edge (i, j) ∈ E), check whether the task pair (i, j) is the same as the task pair (i, j) in their respective task time intervals ([S tart [i],E nd [i]] and [S tart [j],E nd [j]]) to check for resource conflicts. Specifically, check the following situations:
[0242] Resource total amount conflict detection: For each resource type s, check whether That is, check whether the total amount of resources allocated to the task using the resource exceeds the available amount of resources within the time overlap interval of the two tasks. If so, there is a total resource conflict.
[0243] Resource concurrency conflict detection: For a resource type s, calculate the number of tasks that use the resource in overlapping time intervals. If N s >C max [s], there is a resource concurrency conflict.
[0244] Conflict adjustment algorithm (taking resource allocation adjustment as an example):
[0245] Resource allocation strategy: If a resource conflict is detected, first try to adjust the initial resource configuration of the task. In the case of a total resource conflict, the resource allocation priority strategy is adopted, and the resource allocation priority of task i is set to PR res [i] (This can be determined based on a combination of factors such as task importance and resource dependency, with a value range of 0 to 1, where higher values indicate higher priority) Sort the conflicting tasks by priority, from low to high. Starting with the lowest-priority task, gradually reduce its allocation of conflicting resources (one unit at a time, determined by the minimum resource allocation granularity) and recheck for resource conflicts until the conflict is resolved.
[0246] Execution path adjustment (optional): If adjusting resource allocation alone cannot resolve the conflict, or the adjustment cost is too high, consider adjusting the task execution path. This can be done by replanning task dependencies, such as adjusting conflicting tasks to other times for execution, or inserting some buffer tasks to change the order of task execution so that resources can be reasonably allocated in time. The adjusted task execution path needs to be re-verified to see whether it meets the task dependencies and other planned execution constraints. Through continuous iterative adjustments to resource allocation and task execution paths until there are no resource conflicts, this flexible conflict resolution mechanism, which comprehensively considers resource and execution path adjustments, is a reflection of technological innovation in addressing complex project resource management issues and can effectively ensure the smooth progress of the project.
[0247] 4. Generate the data structure related to the project planning results based on the resource configuration and task execution path corresponding to the situation without resource conflicts
[0248] 1. Define the project planning results data structure
[0249] Define a structure array PLAN[n] to store project planning result related information. Each structure corresponds to a target task, including task number, task name, task start time (S tart [i]), task end time (E nd [i]), the type and amount of resources allocated (through R alloc [i][j][0] represents) and other fields. This data structure will fully record the detailed execution plan after project planning, which is convenient for subsequent query, display and further analysis.
[0250] 2. Data filling and construction
[0251] Traverse all target tasks, and for each task i, fill the corresponding relevant information into the structure PLAN[i], and assign values according to the task start time, end time and resource configuration determined in the above-mentioned case of no resource conflict, so as to construct a complete project planning result data structure, clearly present the project execution blueprint, and provide accurate guidance for project implementation.
[0252] 5. Calculate the actual resource consumption indicators when executing the target project based on the planning result task tree, and match them with the multiple planning strategy configurations set to evaluate the matching degree
[0253] 1. Calculation of actual resource consumption indicators
[0254] Define several variables to calculate the actual resource consumption index, and set the actual total resource consumption vector R actual [r] represents the actual total consumption of each resource type during the project execution, and the initial values are all 0.
[0255] For each resource type j, traverse all tasks i in the project planning result data structure and calculate the actual resource consumption:
[0256]
[0257] Here, the number of resources used by each task is multiplied by its usage time, and the actual total consumption of each resource is accumulated to accurately reflect the resource consumption during the actual execution of the project, providing a quantitative basis for matching with the planning strategy.
[0258] Other relevant indicators can also be defined, such as the resource utilization balance index (used to measure whether resources are used evenly at different stages) and the resource idle rate index (reflecting the idle situation of resources), etc., and calculated through the corresponding calculation formula (the specific formula can be determined according to the actual project needs and definitions), to comprehensively evaluate resource consumption from multiple dimensions, reflecting the characteristics of technological innovation in the refined evaluation of resource management.
[0259] 2. Matching with planning strategy configuration and matching degree calculation
[0260] Assume that the planning strategy configuration is represented by a set of target vectors and thresholds. For example, for the resource consumption minimization strategy, there is a target resource consumption vector R target [r] and the allowed deviation threshold vector ΔR[r], which represent the target amount of each resource expected to be consumed and the acceptable deviation range.
[0261] There are many ways to calculate the matching degree. The following is an example:
[0262] First, calculate the resource consumption deviation vector ΔR diff [r]=|Ractual [r]-R target [r]| represents the absolute value of the difference between the actual consumption and the target consumption of each resource.
[0263] Then, the matching degree M is calculated through a comprehensive evaluation function, for example:
[0264]
[0265] Here, ò is a very small positive number used to avoid the denominator being zero. The matching degree, M, ranges from 0 to 1. Values closer to 1 indicate a closer match between actual resource consumption and the planned strategy configuration. This matching degree calculation method, which comprehensively considers deviations from various resource types, can comprehensively and accurately measure the degree of fit between planning schemes and pre-set strategies. It is a key manifestation of technological innovation in planning effectiveness evaluation and helps scientifically determine the rationality of project planning.
[0266] 6. If the matching degree does not reach the set matching degree threshold, the initial resource configuration of the task and / or the task execution path will be adjusted until the matching degree reaches the set matching degree threshold.
[0267] 1. Adjust strategy and iterative optimization
[0268] When M<M threshold (M threshold When the matching degree threshold is reached, the adjustment mechanism is activated. The adjustment process is similar to the adjustment method used to resolve resource conflicts, but the adjustment goal is to improve the matching degree.
[0269] Resource allocation adjustment strategy:
[0270] Analyze the consumption deviation of each resource. For resource types with large deviations, determine the adjustment direction based on the task's dependence on the resource and the adjustment cost. For example, if the actual consumption of a resource far exceeds the target consumption, consider reducing the resource allocation for tasks that are highly dependent on the resource and relatively less important. This can be done by re-evaluating the task's resource demand function (dynamically adjusting the resource demand estimate based on factors such as task characteristics and complexity) and reducing the allocation by a certain proportion (such as determining the adjustment proportion based on the size of the deviation). Then, recalculate the actual resource consumption index and matching degree, observe the change in matching degree, and continue optimization if the matching degree improves. If it does not improve or causes larger deviations in other resources, roll back the adjustment and try other adjustment strategies.
[0271] Task execution path adjustment strategy:
[0272] From the perspective of the entire project, consider the impact of adjusting the task execution path on resource consumption. For example, by appropriately postponing or advancing the execution of tasks during peak resource consumption periods (based on the feasibility of tasks' time elasticity, dependencies, and other factors), observe the changes in the temporal distribution of resource usage, thereby affecting actual resource consumption indicators and matching. Intelligent optimization algorithms such as simulated annealing and genetic algorithms can be used to globally search and optimize task execution paths with the goal of maximizing matching. Resource allocation and task execution paths are continuously and iteratively adjusted until the matching reaches a set threshold. This iterative adjustment mechanism based on intelligent optimization algorithms is a prominent embodiment of technological innovation in the pursuit of optimal planning solutions. It can continuously approach the optimal planning results that meet the project's preset strategies and improve the overall project benefits.
[0273] 7. When the matching degree reaches the set matching degree threshold, it is determined that the adjusted resource configuration and task execution path match the set multiple planning strategy configurations.
[0274] Once M ≥ M threshold , determining that the currently adjusted resource allocation and task execution path meet the matching requirements of the multiple planning strategy configurations that have been set, means that the current project planning scheme has achieved the preset project goals in terms of resource consumption, task execution sequence, etc. This scheme can be used as the final project execution plan to ensure that the project can be carried out smoothly in a scientific, reasonable and expected manner, reflecting the rigor and reliability of technological innovation in ensuring the quality and effectiveness of project planning.
[0275] Optionally, adjusting the task initial configuration and / or the task execution path based on the set plan execution constraint until matching the set multiple planning strategy configurations includes:
[0276] Calculate the estimated resource requirements for the target tasks to determine the overall resource requirements for completing the target project;
[0277] Assigning a task start time and a task end time to each target task based on the task execution path and the overall resource requirement indicators for completing the project;
[0278] Based on the set plan execution constraints, and according to the task start time and task end time assigned to each target task, each task dependency path on the task dependency path tree is traversed to determine whether there is a time conflict between the target tasks. If there is a conflict, the initial task time configuration and / or the task execution path are adjusted until there is no time conflict;
[0279] Generate project planning result-related data structures based on resource allocation and task execution paths corresponding to the time-free situation;
[0280] Calculating an actual time consumption index when executing the target project based on the planning result task tree, and matching it with the set multiple planning strategy configurations to evaluate the matching degree;
[0281] If the matching degree does not reach the set matching degree threshold, adjusting the task initial time configuration and / or adjusting the task execution path until the matching degree reaches the set matching degree threshold;
[0282] When the matching degree reaches a set matching degree threshold, it is determined that the adjusted time configuration and / or task execution path matches the set multiple planning strategy configurations.
[0283] To this end, the technical steps of adjusting the initial task configuration and / or the task execution path based on the set plan execution constraints until the task matches the set multiple planning strategy configurations bring the following technical benefits:
[0284] 1. Accurate resource control and overall coordination
[0285] By calculating the estimated resource requirements for target tasks to determine the overall resource requirements for completing the target project, project managers can clearly understand the overall resource requirements for the entire project in advance and achieve macro-control of resources. This helps to plan resources from a global perspective and avoid project execution problems caused by insufficient or excessive resource estimates. For example, in a manufacturing project, accurately calculating resource indicators such as raw materials and equipment usage time required for each production link (target task) and then determining the overall resource requirements of the project can make procurement and deployment more targeted, ensure the coordination of resource supply in all links of the project, and improve the overall efficiency of resource utilization.
[0286] 2. Reasonable time arrangement and orderly execution
[0287] Based on the task execution path and overall resource demand indicators, each target task is assigned a start time and a task end time, allowing tasks to be planned in an orderly manner in the time dimension. Each task has a clear time range, which can effectively avoid disorder and chaos in task execution and ensure that the project progresses at a reasonable pace. For example, in a software development project, according to the resource requirements and interdependencies of different functional module development tasks (target tasks), the respective start and end times are arranged. Developers can clearly understand the sequence and time nodes of the work, reduce time wasted in the task connection process, and improve the overall execution efficiency of the project.
[0288] 3. Check and resolve time conflicts in advance
[0289] Based on the planned execution constraints, the system determines whether there are time conflicts between target tasks by traversing the task dependency path tree. This mechanism can proactively identify potential scheduling issues. In real-world projects, time conflicts can lead to adverse consequences such as task delays and idle resources, impacting project progress. For example, if two interdependent tasks are scheduled for the same time period, or if the time schedule of tasks on the critical path is unreasonable, proactively detecting and promptly adjusting the initial task time configuration or task execution path until the conflict is resolved can ensure the temporal consistency and rationality of each task during project execution, ensuring that the project can be delivered on time.
[0290] 4. Generate a clear and effective project planning blueprint
[0291] Based on the corresponding resource allocation and task execution path in the absence of time conflicts, a data structure related to the project planning results is generated, creating a clear, accurate and complete execution blueprint for the project. This data structure covers key information such as task scheduling and resource allocation, making it easier for project team members to fully understand the project plan, clarify their respective responsibilities and the key time nodes and resource requirements of each task, and also facilitate managers to monitor and dynamically adjust the project in real time. Taking a construction project as an example, the construction team can clearly know the specific construction time, required materials and equipment and other resource conditions of each construction process (task) based on this data structure, and the project manager can accurately control the project progress and resource usage status based on this.
[0292] 5. Match planning strategies and optimize project execution
[0293] Calculate the actual time consumption indicators when executing the target project based on the planning result task tree, and match them with the multiple planning strategy configurations set to evaluate the matching degree. This process can measure the degree of fit between the current planning scheme and the preset target in the time dimension. Different projects may have different time management focuses, such as pursuing the shortest construction period, balanced time allocation, or meeting specific phased time requirements and other planning strategies. Through the matching evaluation mechanism, it can be found whether the current planning scheme meets the expected time management direction of the project. If the matching degree does not reach the threshold, the initial time configuration of the task and the task execution path will continue to be adjusted and optimized until the set threshold is reached. Ensure that the final time arrangement and execution path of the project can closely fit the preset planning strategy, achieve the optimization of the project in time management, and improve the overall project benefits.
[0294] 6. Ensure that the plan meets the overall project requirements
[0295] When the matching degree reaches the set matching degree threshold, the adjusted time configuration and task execution path are determined to match the multiple planning strategy configurations set. This mechanism ensures that the finalized project planning scheme has been rigorously verified and meets the overall project time management requirements. This planning scheme determination method based on strict matching verification avoids the situation where unreasonable time planning schemes are adopted due to human misjudgment or lack of consideration. It improves the scientific nature, accuracy, and reliability of project planning, lays a solid foundation for the smooth completion of the project on time, and enhances the project's ability to cope with various internal and external changes that affect the time schedule.
[0296] Optionally, the steps of adjusting the initial configuration of the task and / or adjusting the task execution path based on the set plan execution constraint until the task matches the set multiple planning strategy configurations may specifically include:
[0297] 1. Calculate the estimated resource requirements for the target task to determine the overall resource requirements for completing the target project
[0298] 1. Data structure definition and initialization
[0299] Assume that the project contains n target tasks and m resource types. Define a two-dimensional array R est [n][m] is used to store the estimated resource requirements of each target task for different resource types, where R est [i][j] represents the estimated quantity of the j-th resource required for the i-th target task (the unit depends on the specific resource, such as the number of manpower, the number of equipment, etc.), i∈{1,2,…,n}, j∈{1,2,…,m}.
[0300] At the same time, define a one-dimensional array R total [m] is used to store the overall resource requirement indicator of each resource to complete the entire target project, and the initial values are all set to 0.
[0301] 2. Calculation algorithm for estimated resource demand indicators
[0302] Resource estimation based on task characteristics: For each target task i, the demand for each resource j is estimated based on the nature, scale, complexity and other factors of the task. For example, if task i is a functional module development task in software development, its demand for programmer manpower (of resource type j) can be determined by comprehensively considering factors such as the code volume estimation formula and the functional complexity coefficient. Suppose that through a specific estimation function F res (i,j) to calculate, that is:
[0303] R est [i][j]=F res (i,j)
[0304] Here the estimated function F res (i, j) can be a mathematical model constructed based on historical project data, industry experience, and specific project requirements. It reflects the characteristics of combining multiple factors to accurately estimate resources in technological innovation, and is more scientific and accurate than simple empirical estimates.
[0305] Determine the overall resource requirement: After calculating the estimated resource requirements for each task, determine the overall resource requirement for each resource to complete the entire project by adding them up. For each resource type j, the calculation formula is as follows:
[0306]
[0307] That is, the estimated demand for the resource for all tasks is summed up to obtain the overall demand for each resource of the project, providing a basic resource-level basis for subsequent task time allocation and overall planning.
[0308] 2. Assign a start time and end time to each target task based on the task execution path and the overall resource requirements for completing the project
[0309] 1. Related data structures and execution path representation
[0310] The task execution path is represented by a directed graph G(V,E), where V is a vertex set representing all target tasks (corresponding to the task number), E is a set of directed edges, and edge (i,j) indicates that task j can only start after task i is completed, reflecting the dependency relationship between tasks.
[0311] Define a one-dimensional array S tart [n] to store the start time of each target task, and a one-dimensional array E nd [n] is used to store the end time of each target task, and the initial value is set to 0.
[0312] Suppose there exists a sequence P = {p1, p2, ..., p k}(k≤n, and tasks that satisfy the dependency relationship are arranged in sequence). This sequence can be obtained by performing algorithms such as topological sorting on the task dependency path tree (reflecting the characteristics of technological innovation in using appropriate algorithms to determine the execution order), providing a sequential basis for subsequent time allocation.
[0313] 2. Task time allocation algorithm
[0314] Allocate time in order of execution paths:
[0315] First, determine the start time S of the first task (i.e. task p1) tart[p1] = 0 (the project starts at time 0), and its end time is determined by the estimated execution time of the task and the resource allocation. Assume that the resource demand of task p1 is determined by R est [p1][j] represents (calculated in the previous step). The resource allocation satisfaction affects the task execution efficiency, and thus affects the execution time. Suppose there is a time adjustment function T based on resource allocation. adj (p1,R est [p1]) to calculate the actual execution time of task p1 (taking into account the impact of factors such as resource sufficiency and resource allocation efficiency on time, which is a reflection of the careful consideration of the relationship between resources and time in technological innovation), then the end time of task p1 is:
[0316] E nd [p1]=S tart [p1]+T adj (p1,R est [p1])
[0317] For the subsequent task p in the execution path sequence s (s>1), its start time is the end time of the predecessor task, that is:
[0318] S tart [p s ]=E nd [p s-1 ]
[0319] The end time also takes into account the impact of resource allocation on execution time and is calculated using the time adjustment function:
[0320] E nd [p s ]=S tart [p s ]+T adj (p s ,R est [p s ])
[0321] By calculating the start and end time of each task in sequence according to the task execution path, the task dependencies and the impact of resources on task execution time are fully considered, making time allocation more in line with the actual project execution situation, which helps to improve the planning and efficiency of project execution.
[0322] 3. Based on the set plan execution constraints, according to the task start time and task end time assigned to each target task, traverse each task dependency path on the task dependency path tree to determine whether there is a time conflict between the target tasks. If there is a conflict, adjust the task initial time configuration and / or adjust the task execution path until there is no time conflict
[0323] 1. Data structures related to plan execution constraints and time conflict judgment
[0324] Plan execution constraints can be expressed as a set of inequalities or rules. For example:
[0325] Task order constraint: Based on the task dependency, for a directed edge (i, j)∈E (task i is the predecessor task of task j), E must be satisfied. nd [i]≤S tart [j], that is, the end time of the predecessor task must be earlier than or equal to the start time of the successor task. This is the most basic manifestation of the task sequence constraint.
[0326] Time interval constraint: It stipulates that there must be a minimum time interval between certain task pairs. Let the minimum time interval required between task i and task k be ΔT min [i][k], then S tart [k]-E nd [i]≥ΔT min [i][k], to ensure that there is sufficient buffer time during task execution to meet some special requirements of actual projects, such as equipment cooling and personnel handover, which reflects the characteristics of technological innovation in considering the time requirements of actual operation details.
[0327] Define a two-dimensional array C time [n][n] is used to help determine time conflicts. If the time intervals of tasks i and j overlap (i.e. ), then C time [i][j]=1, indicating the possibility of time conflict, otherwise C time [i][j]=0.
[0328] 2. Time conflict detection algorithm
[0329] Traverse the path tree to detect conflicts:
[0330] Traverse the task dependency path tree (i.e., graph G) through the depth-first search (DFS) or breadth-first search (BFS) algorithm, and for each task pair (i, j) on the task dependency path (satisfying the existence of a directed edge (i, j) ∈ E), check whether its time interval meets the planned execution constraints and whether there is time overlap (through C time [i][j] judgment). Specific checks are as follows:
[0331] For the task sequence constraints, verify whether E is satisfied. nd [i]≤S tart [j], if not satisfied, it is determined that there is a time conflict.
[0332] For time interval constraints, check whether the task pairs with corresponding requirements meet S tart [j]-E nd [i]≥ΔT min [i][j], if not satisfied, it is also determined that there is a time conflict.
[0333] Conflict adjustment algorithm (taking time configuration adjustment as an example): Priority-based time adjustment strategy: If a time conflict is detected, first try to adjust the initial time configuration of the task. Let the time adjustment priority of task i be PR time [i] (It can be determined based on multiple factors such as task importance, resource dependency, and impact on project progress. The value range is between 0 and 1, and the higher the value, the higher the priority). Sort the conflicting tasks from low to high priority.
[0334] For a task pair (i, j) with a conflicting order, if E nd [i]>S tart [j], starting from the task with the lower priority (task i), gradually postpone its start time (one time unit each time, the unit can be set according to the minimum time granularity of the project, such as minutes, hours, etc.), that is, update S tart [i] and E nd [i], recalculate the time interval and check if there is still a conflict until the order constraint is met.
[0335] For task pairs with insufficient time interval conflicts, the start or end time of the related tasks can be appropriately adjusted to meet the minimum time interval requirement based on the flexibility and adjustable space of the tasks (for example, some tasks have relatively fixed time, while others have a certain degree of flexibility). For example, if the time interval between task k and task l is insufficient, and the end time of task k is relatively more flexible, E can be appropriately extended. nd The value of [k] is adjusted, and the time configuration of subsequent dependent tasks is adjusted accordingly, and conflicts are re-checked until all conflicts are eliminated.
[0336] Execution path adjustment: If adjusting the time configuration alone is difficult to resolve the conflict or the adjustment cost is too high (such as causing new conflicts in other tasks), consider adjusting the task execution path. This can be done by re-analyzing the task dependencies and adjusting the conflicting tasks to other appropriate locations for execution. For example, by swapping the execution order of two parallel tasks (provided that their respective predecessor and successor task dependencies are met), or inserting some buffer tasks to change the execution order and timing of the tasks to make the overall time configuration more reasonable. The adjusted task execution path needs to be re-verified to see whether it meets all planned execution constraints and whether new time conflicts are introduced. By continuously iteratively adjusting the time configuration and task execution path until there are no time conflicts, this flexible conflict resolution mechanism, which comprehensively considers time and execution path adjustments, is a reflection of technological innovation in addressing complex project time management issues and can effectively ensure the smooth progress of the project in the time dimension.
[0337] 4. Generate the data structure related to the project planning results based on the resource allocation and task execution path corresponding to the situation without time conflict
[0338] 1. Define the project planning results data structure
[0339] Define a structure array PLAN[n] to store project planning result related information. Each structure corresponds to a target task, including task number, task name, task start time (S tart [i]), task end time (E nd [i]), the type and amount of resources allocated (the R est [i][j] and other related resource configuration information). This data structure will fully record the detailed execution plan after project planning, which is convenient for subsequent query, display and further analysis and use. It reflects the advantages of technological innovation in integrating planning information and structured representation, and facilitates project team members to intuitively understand and execute project plans.
[0340] 2. Data filling and construction
[0341] Traverse all target tasks, and for each task i, fill the corresponding relevant information into the structure PLAN[i], and assign values according to the task start time, end time and existing resource configuration determined in the above-mentioned case of no time conflict, so as to construct a complete project planning result data structure, clearly present the project execution blueprint, and provide accurate guidance for project implementation.
[0342] 5. Calculate the actual time consumption indicators when executing the target project based on the planning result task tree, and match them with the set multiple planning strategy configurations to evaluate the matching degree
[0343] 1. Calculation of actual time consumption indicators
[0344] Define a variable T_{actual} to represent the actual time consumption indicator when executing the target project based on the planning result task tree, that is, the total time actually spent from the beginning to the end of the entire project. During the project execution process, the actual execution time of each task is recorded in sequence according to the task execution path. Let the actual execution time of task i be t actual [i] (This can be obtained by subtracting the actual start time from the actual end time of the task, which is recorded during project execution). Then:
[0345]
[0346] By accumulating the actual execution time of all tasks, the total time actually spent on the project can be accurately obtained, providing an objective and quantitative time indicator basis for matching with the planning strategy configuration, reflecting the characteristics of technological innovation in accurately measuring the actual execution status.
[0347] 2. Matching with planning strategy configuration and matching degree calculation
[0348] Assume that the planning strategy configuration is represented by a set of target time indicators and thresholds. For example, for the strategy of pursuing the shortest duration, the target total time T target and the allowed time deviation threshold ΔT, which represents the expected project completion time and the acceptable deviation range from the target time.
[0349] There are many ways to calculate the matching degree. The following is an example:
[0350] First calculate the time deviation value ΔT diff =|T actual -T target |, represents the absolute value of the difference between the actual total time and the target total time.
[0351] Then, the matching degree M is calculated through a matching function, for example:
[0352]
[0353] Here, ò is a very small positive number used to avoid the denominator being zero. The matching degree M ranges from 0 to 1. Values closer to 1 indicate a closer match between actual time consumption and the planned strategy configuration. This matching degree calculation method, based on the relationship between deviation and threshold, intuitively and effectively measures the degree of fit between the planning scheme and the preset strategy in the time dimension. It is a key manifestation of technological innovation in planning effectiveness evaluation and helps scientifically determine the rationality of project planning.
[0354] 6. If the matching degree does not reach the set matching degree threshold, adjust the initial time configuration of the task and / or adjust the task execution path until the matching degree reaches the set matching degree threshold
[0355] 1. Adjust strategy and iterative optimization
[0356] When M<M threshold (M threshold When the matching degree threshold is reached, the adjustment mechanism is activated. The adjustment process is similar to the adjustment method used to resolve time conflicts, but the adjustment goal is to improve the matching degree.
[0357] Time configuration adjustment strategy: Analyze the reasons for time deviation. If the actual total time exceeds the target total time, focus on those tasks that take a long time to execute and have a greater impact on the overall time (this can be determined by analyzing factors such as the critical path of the task and time flexibility). For these tasks, try to adjust their time configuration, for example, by optimizing resource allocation (because resource configuration affects task execution time) to shorten the task execution time. This can be done based on the correlation function between resources and time (such as the T mentioned above). adj (i,R est [i]) function) re-evaluates and adjusts resource allocation, thereby changing the actual execution time of the task, recalculates the actual time consumption index and matching degree, and observes the change in matching degree. If the matching degree improves, continue to optimize. If it does not improve or causes other problems (such as new time conflicts), roll back the adjustment and try other adjustment strategies.
[0358] Task execution path adjustment strategy: From the perspective of the entire project, consider the impact of adjusting the task execution path on the total time. For example, by advancing or postponing the execution of some tasks on non-critical paths (based on the feasibility of the task's time elasticity, dependencies, and other factors), observe the changes in the actual total project time, thereby affecting the matching degree. Intelligent optimization algorithms such as simulated annealing algorithms and genetic algorithms can be used to maximize the matching degree, conduct a global search and optimization of the task execution path, and continuously iterate and adjust the time configuration and task execution path until the matching degree reaches the set threshold. This iterative adjustment mechanism based on intelligent optimization algorithms is a prominent embodiment of technological innovation in the pursuit of optimal planning solutions. It can continuously approach the optimal planning results that meet the project's preset strategies and improve the overall project benefits.
[0359] 7. When the matching degree reaches the set matching degree threshold, it is determined that the adjusted time configuration and task execution path match the set multiple planning strategy configurations.
[0360] Once M ≥ M threshold, it is determined that the currently adjusted time configuration and task execution path meet the matching requirements of the multiple planning strategy configurations that have been set, which means that the current project planning scheme has achieved the preset project goals in terms of time arrangement, task execution sequence, etc. This scheme can be used as the final project execution plan to ensure that the project can be carried out smoothly in a scientific, reasonable and expected manner, reflecting the rigor and reliability of technological innovation in ensuring the quality and effectiveness of project planning.
[0361] Figure 2 This is a schematic diagram of a project execution path planning device based on multi-path resource detection and multi-strategy decision-making provided in an embodiment of the present application. Figure 2 As shown, it includes: a first program unit, which is used to parse the description file of the target project to identify the functional modules defined in the target project and the target tasks that match each functional module; a second program unit, which is used to generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project; a third program unit, which is used to assign a task initialization configuration to each target task based on the minimum resource requirements to determine the task execution path; a fourth program unit, which is used to adjust the task initial configuration and / or adjust the task execution path based on the set plan execution constraints until it matches the set multiple planning strategy configurations; a fifth program unit, which is used to generate a project execution path plan based on the resource configuration and task execution path at the time of matching.
[0362] An embodiment of the present application also provides a computer program product having computer executable instructions stored thereon, which, when executed, performs the following steps: parsing a description file of a target project to identify functional modules defined in the target project and target tasks matching each functional module; generating a task dependency path tree for the target task and determining the minimum resource requirement when executing the target project; assigning a task initialization configuration to each target task based on the minimum resource requirement to determine the task execution path; adjusting the task initial configuration and / or the task execution path based on the set planned execution constraints until it matches the set multiple planning strategy configurations; generating a project execution path plan based on the resource configuration and task execution path at the time of matching.
[0363] For an exemplary explanation of the technical processing process for executing each step in the above-mentioned computer program product embodiment, please refer to the above-mentioned Figure 1 Records of.
[0364] An embodiment of the present application also provides an electronic device, which includes a memory and, the memory stores computer-executable instructions, and when the computer-executable instructions are run, the following steps are performed: parsing a description file of a target project to identify functional modules defined in the target project and target tasks matching each functional module; generating a task dependency path tree for the target task and determining the minimum resource requirement when executing the target project; based on the minimum resource requirement, assigning a task initialization configuration to each target task to determine the task execution path; based on the set planned execution constraints, adjusting the task initial configuration and / or adjusting the task execution path until it matches the set multiple planning strategy configurations; generating a project execution path plan based on the resource configuration and task execution path at the time of matching.
[0365] The embodiment of the present application also provides a project execution path planning method, which includes: generating a task dependency path tree for all target tasks of the target project, and determining the minimum resource requirements when executing the target project; based on the minimum resource requirements, adjusting the task initialization configuration and / or the task execution path assigned to each target task until it matches the set planning strategy configuration; based on the resource configuration and task execution path at the time of matching, generating a project execution path plan. In the above embodiment of the project execution path planning method, the exemplary explanation of the technical processing process of each step execution can be found in the above Figure 1 Records of.
[0366] Figure 3 The present invention provides a schematic diagram of the structure of an electronic device. Figure 3 As shown, the electronic device includes a memory and a computer executable program stored on the memory, and the computer executable program is run to implement the following steps: parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module; generating a task dependency path tree for the target task and determining the minimum resource requirements when executing the target project; based on the minimum resource requirements, assigning a task initialization configuration to each target task to determine the task execution path; based on the set planned execution constraints, adjusting the task initial configuration and / or adjusting the task execution path until it matches the set multiple planning strategy configurations; generating a project execution path plan based on the resource configuration and task execution path during matching.
[0367] above Figure 3 In the embodiment, the exemplary explanation of the technical processing process of each step can be found in the above Figure 1 Records of.
[0368] The above embodiments are only used to illustrate the embodiments of the present invention, and are not intended to limit the embodiments of the present invention. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present invention. Therefore, all equivalent technical solutions also fall within the scope of the embodiments of the present invention, and the scope of patent protection of the embodiments of the present invention should be defined by the claims. The systems, devices, modules or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions.
Claims
1. A project execution path planning method based on multi-path resource detection and multi-strategy decision-making, characterized in that: include: Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module; Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project; Based on the minimum resource requirements, assigning an initial task configuration to each target task to determine a task execution path; Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations; Generate project execution path planning based on resource configuration and task execution path during matching; The step of generating a task dependency path tree for the target task includes: Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules; Determine a task dependency path based on the internal dependency and the cross-module dependency to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: a parent-child relationship, a predecessor task, a successor task, a task start no earlier than, a task start later than, and an end; The step of determining the minimum resource requirements for executing the target project includes: Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
2. The project execution path planning method based on multi-path resource detection and multi-strategy decision-making according to claim 1 is characterized in that: Allocating an initial task configuration to each target task based on the minimum resource requirement to determine a task execution path includes: Based on the minimum resource requirements, assign an initial task configuration to each target task; Based on the initial task configuration, a task execution path is determined.
3. The project execution path planning method based on multi-path resource detection and multi-strategy decision-making according to claim 1 is characterized in that: The adjusting of the initial configuration of the task and / or the execution path of the task based on the set plan execution constraint condition until the task matches the set multiple planning strategy configurations includes: Calculating the estimated time requirements for the target tasks to determine the overall time requirements for completing the target project; Assigning a task start time and a task end time to each target task based on the task execution path and the overall time requirement indicator for completing the project; Based on the set plan execution constraints, and according to the task start time and task end time assigned to each target task, each task dependency path on the task dependency path tree is traversed to determine whether there is a resource conflict between the target tasks. If there is a conflict, the initial resource configuration of the task and / or the task execution path are adjusted until there is no resource conflict; Generate project planning result-related data structures based on resource allocation and task execution paths corresponding to the resource-free situation; Calculating actual resource consumption indicators when executing the target project based on the planning result task tree, and matching them with the set multiple planning strategy configurations to evaluate the matching degree; If the matching degree does not reach the set matching degree threshold, adjusting the initial resource configuration of the task and / or adjusting the task execution path until the matching degree reaches the set matching degree threshold; When the matching degree reaches a set matching degree threshold, it is determined that the adjusted resource configuration and / or task execution path matches the set multiple planning strategy configurations.
4. The project execution path planning method based on multi-path resource detection and multi-strategy decision-making according to claim 1 is characterized in that: The adjusting of the initial configuration of the task and / or the execution path of the task based on the set plan execution constraint condition until the task matches the set multiple planning strategy configurations includes: Calculate the estimated resource requirements for the target tasks to determine the overall resource requirements for completing the target project; Assigning a task start time and a task end time to each target task based on the task execution path and the overall resource requirement indicators for completing the project; Based on the set plan execution constraints, and according to the task start time and task end time assigned to each target task, each task dependency path on the task dependency path tree is traversed to determine whether there is a time conflict between the target tasks. If there is a conflict, the initial task time configuration and / or the task execution path are adjusted until there is no time conflict; Generate project planning result-related data structures based on resource allocation and task execution paths corresponding to the time-free situation; Calculating an actual time consumption index when executing the target project based on the planning result task tree, and matching it with the set multiple planning strategy configurations to evaluate the matching degree; If the matching degree does not reach the set matching degree threshold, adjusting the task initial time configuration and / or adjusting the task execution path until the matching degree reaches the set matching degree threshold; When the matching degree reaches a set matching degree threshold, it is determined that the adjusted time configuration and / or task execution path matches the set multiple planning strategy configurations.
5. A project execution path planning device based on multi-path resource detection and multi-strategy decision-making, characterized in that: include: A first program unit is configured to parse a description file of a target project to identify functional modules defined in the target project and target tasks matching each functional module; A second program unit is used to generate a task dependency path tree for the target task and determine the minimum resource requirement when executing the target project; A third program unit is configured to allocate an initial task configuration to each target task based on the minimum resource requirement to determine a task execution path; a fourth program unit, configured to adjust the initial configuration of the task and / or the execution path of the task based on the set plan execution constraint conditions until the task matches the set multiple planning strategy configurations; The fifth program unit is used to generate a project execution path plan based on the resource configuration and task execution path during matching; The step of generating a task dependency path tree for the target task includes: Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules; Determine a task dependency path based on the internal dependency and the cross-module dependency to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: a parent-child relationship, a predecessor task, a successor task, a task start no earlier than, a task start later than, and an end; The step of determining the minimum resource requirements for executing the target project includes: Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
6. A computer program product, characterized in that Computer-executable instructions are stored thereon, and when the computer-executable instructions are executed, the following steps are performed: Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module; Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project; Based on the minimum resource requirements, assigning an initial task configuration to each target task to determine a task execution path; Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations; Generate project execution path planning based on resource configuration and task execution path during matching; The step of generating a task dependency path tree for the target task includes: Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules; Determine a task dependency path based on the internal dependency and the cross-module dependency to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: a parent-child relationship, a predecessor task, a successor task, a task start no earlier than, a task start later than, and an end; The step of determining the minimum resource requirements for executing the target project includes: Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
7. An electronic device, characterized in that: The device comprises a memory storing computer-executable instructions, wherein when the computer-executable instructions are executed, the following steps are performed: Parsing the description file of the target project to identify the functional modules defined in the target project and the target tasks matching each functional module; Generate a task dependency path tree for the target task and determine the minimum resource requirements when executing the target project; Based on the minimum resource requirements, assigning an initial task configuration to each target task to determine a task execution path; Based on the set plan execution constraints, adjust the initial configuration of the task and / or adjust the task execution path until it matches the set multiple planning strategy configurations; Generate project execution path planning based on resource configuration and task execution path during matching; The step of generating a task dependency path tree for the target task includes: Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules; Determine a task dependency path based on the internal dependency and the cross-module dependency to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: a parent-child relationship, a predecessor task, a successor task, a task start no earlier than, a task start later than, and an end; The step of determining the minimum resource requirements for executing the target project includes: Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
8. A project execution path planning method, characterized in that: include: Generate a task dependency path tree for all target tasks of the target project and determine the minimum resource requirements for executing the target project; Based on the minimum resource requirement, adjusting the initial task configuration and / or task execution path assigned to each target task until it matches the set planning strategy configuration; Generate project execution path planning based on resource configuration and task execution path during matching; Generating a task dependency path tree for the target task includes: Determine the internal dependencies between target tasks within each functional module and the cross-module dependencies between target tasks in different functional modules; Determine a task dependency path based on the internal dependency and the cross-module dependency to generate a task dependency path tree, wherein the internal dependency and the cross-module dependency are at least one of the following: a parent-child relationship, a predecessor task, a successor task, a task start no earlier than, a task start later than, and an end; The step of determining the minimum resource requirements for executing the target project includes: Evaluate the multiple resource requirements required to execute each target task under each functional module to filter out the minimum resource requirements when executing the target project. Each resource requirement includes the type and quantity of available resources.
Citation Information
Patent Citations
Optimization method for supporting project parallelism and multiple resource schemes
CN112465451A
Project data processing method and device, equipment, medium and program product
CN114169866A