Distributed multi-project scheduling method and device, medium and equipment
By improving the parallel scheduling generation mechanism and the genetic algorithm embedded in key chain technology, the problems of carbon emissions and resource transfer in distributed multi-project scheduling are solved, and efficient and low-carbon multi-project scheduling schemes are realized, and resource usage and construction periods are optimized.
Patent Information
- Application Number
- CN202510508264.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-07-29
AI Technical Summary
The existing distributed multi-project scheduling technology fails to effectively consider the carbon emissions generated by global resources during the transfer of projects, resulting in increased competitiveness in resource use, extended project construction period, and lack of effective solution algorithms.
Using an improved parallel scheduling generation mechanism based on time series and a genetic algorithm embedded in key chain technology, a distributed multi-project scheduling solution that meets resource transfer time and carbon emission constraints is generated, and the optimal scheduling plan is obtained through the optimization algorithm.
While ensuring the global feasibility and efficiency of the scheduling plan, it significantly reduces carbon emissions, optimizes resource use, shortens project construction period, and improves management efficiency.
Smart Images

Figure CN120387642A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of distributed multi-project scheduling, and in particular to a distributed multi-project scheduling method, device, medium and equipment. Background Art
[0002] Since the early 21st century, an increasing number of companies worldwide have been operating on a multi-project basis, making resource management and scheduling crucial in operational management. In multi-project management, a company's operational management often has high authority, allowing them to allocate "scarce resources" (hereinafter referred to as "global resources") required for each sub-project, such as high-end equipment and experienced experts. Project managers at the operational level have exclusive control over and control over resources used by each project (hereinafter referred to as "local resources"), such as standard equipment and skilled workers. However, the scarcity of global resources leads to a certain degree of competition among projects for their use. Furthermore, in practice, projects are often implemented across diverse geographical areas, which increases the time required to transfer global resources between projects, extending the planned duration of each project and negatively impacting the environment. In reality, due to the diverse geographical locations of projects, the transfer of resources between projects consumes energy, resulting in corresponding carbon emissions. Furthermore, governments set carbon emission limits for each company, requiring companies or project managers to manage resources and develop multi-project implementation schedules within these limits. However, traditional distributed multi-project scheduling technology has not yet considered the carbon emissions that may be generated during the transfer of global resources between projects, and lacks effective algorithms to solve such problems.
[0003] The distributed resource constrained multi-project scheduling problem (DRCMPSP) is a widespread problem in industrial manufacturing, engineering construction, and product R&D. In DRCMPSP, resources are divided into global and local resources. Global resources, such as senior technical personnel and machinery, are shared among projects through competition, while local resources, such as general personnel and equipment, are owned by a specific project and compete for use among activities within that project. The core of DRCMPSP is to generate global project scheduling plans and resource scheduling solutions that meet the desired optimization objectives, while satisfying the logical relationships between activities in multiple projects and global and local resource constraints. Furthermore, the transfer of global resources between projects incurs transfer time and energy consumption, resulting in significant carbon emissions that have a significant impact on the natural environment. Furthermore, my country has clearly stated its "dual carbon" emission targets, requiring specific carbon emission limits for different projects during implementation to meet corporate carbon emission limits. Therefore, in practice, it is necessary to develop optimization models for different types of DRCMPSP and its extensions. Given the strong NP-hard nature of DRCMPSP and its extensions, existing algorithms for solving such optimization models primarily fall into two categories: agent-based solutions and metaheuristics. In agent-based solutions, each project is managed by an agent. This agent maintains information about the project's progress, costs, and global and local resource usage, and is responsible for developing both the project's schedule and local resource usage plans. When conflicts arise regarding global resource usage, the project agent submits project status information to the multi-project global resource management agent. The global resource management agent receives this information and allocates global resources based on coordination mechanisms and management objectives, thereby resolving the conflict. However, agent-based solutions require the design of coordination and communication mechanisms between different agents, making the solution dependent on the decision-maker's preferences, scheduling priorities, or rules. Consequently, the resulting solution is often the optimal solution under certain conditions, leading to limitations in the application of these algorithms. Existing meta-heuristic algorithms (such as genetic algorithms, ant colony algorithms, etc.) can obtain satisfactory solutions to DRCMPSP based on the initial solution (population) through algorithm iteration.
[0004] However, the application of such metaheuristic algorithms requires combining specific problem-design encoding methods and schedule generation mechanisms for decoding, such as serial and parallel schedule generation mechanisms. The serial scheduling mechanism is less efficient, while the parallel scheduling mechanism may not guarantee the rationality of the plan; this makes such metaheuristic algorithms have certain limitations when applied to DRCMPSP-related extended application scenarios. Summary of the Invention
[0005] Based on this, in order to solve the technical problems in the prior art, the present invention provides a distributed multi-project scheduling method, apparatus, medium and equipment.
[0006] The present invention provides a distributed multi-project scheduling method, comprising: Obtaining an overall network of multiple projects, each of which shares resources and includes several activities, wherein the transfer of resources between different activities or different projects incurs time costs and carbon emission costs; encoding the overall network to generate an activity list that represents the priority relationship between activities in the project; Use the time series-based parallel scheduling generation mechanism to decode the activity list and obtain the initial global scheduling plan and initial resource transfer plan; The initial global scheduling plan and the initial resource transfer plan are optimized using an optimization algorithm to obtain the optimal distributed multi-project scheduling solution.
[0007] Furthermore, decoding the activity list using the time series-based parallel scheduling generation mechanism specifically includes: Step 1: Initialize parameters, including: Scheduling phase n =1, qualified activity set , activity collection has been arranged , a collection of ongoing activities , completed activity collection , the sum of the number of activities for all projects ; Step 2: Determine whether it is satisfied If satisfied, execute: Determination stage n Scheduling time , Yes Activity End time of acquisition phase n Global resource headroom ,project p Carbon emissions balance ,project p Local resource margin ; Update the ongoing activities collection , Completed activity collection and eligible activity sets , ,in, Yes Activity The immediate preceding activity set, It is a project Activities For local resources demand, Yes Activity duration, 、 and Represents projects, local resources and global resources respectively, 、 and They are project collection, local resource collection and global resource collection respectively; otherwise, execute step 7; Step 3: Select the activity with the highest priority from the activity list based on the priority of the activities in the activity list , obtain permission to transfer to the activity Active collection of global resources ,in, Is a global resource From the activity Transfer to Activity time; Yes Activity Allow to send activity Transferred global resources; Step 4: Determine the set All allowed transfers to activities Can the global resources meet the needs of activities? Global resource requirements , and judge whether the local resources and carbon emissions meet the constraints; if the judgment conditions meet the requirements, execute step 5; otherwise, execute step 7; Step 5: Update the Project p Activities j* Start time and completion time , and update the ongoing activities collection and eligible activity sets ; Step 6: Make , , return to step 4; Step 7: Determine the completed activity set Is there any activity in i Allow to send activity Transfer global resources; and determine the global resources transferred to the activity The subsequent transfer time is still less than the earliest completion time of the currently ongoing activity If all the judgment conditions are met, then , , return to step 4; otherwise, go to step 8; Step 8: Judgement Is it true: If it is true, the algorithm ends and outputs the obtained global scheduling plan and resource transfer plan; otherwise, return to step 2.
[0008] Furthermore, the optimization of the initial global scheduling plan and the initial resource transfer plan using the optimization algorithm is achieved using an improved genetic optimization algorithm, which is achieved by introducing a critical chain method to perform local search on the new population individuals generated by the original genetic optimization algorithm.
[0009] Furthermore, the improved genetic optimization algorithm specifically includes: Randomly generate an initial global scheduling plan and an initial resource transfer plan to obtain an initial population, where individuals in the initial population are activity sequences that satisfy a logical relationship between tasks preceding and following each other; Perform selection, crossover and mutation operations on individuals in the initial population to form a new population; Based on the critical chain method, local search is performed on individuals in the new population to output the optimal distributed multi-project scheduling solution.
[0010] Furthermore, the local search for individuals in the new population based on the critical chain method specifically includes: Step 1: Perform forward scheduling decoding on the individuals in the new population, determine the start and end times of activities under resource constraints, and calculate the multi-project planned duration based on the end time of the last virtual activity T , the virtual activity is a virtual activity that does not occupy resources and has a duration of zero; Step 2: Sort the activities of individuals in the new population in non-increasing order according to their earliest end time to obtain an activity list , based on the activity list and multi-project schedules T Perform reverse scheduling to determine the latest completion time and free time difference of each activity, and select the key activity set with zero free time difference ; Step 3: Set up in key activities Randomly select an activity h , the activity h Place in active list The rightmost adjacent gene position of all the previous activities in the activity list The insertion position in the activity hAll activities between the original positions are moved one position to the right in turn, generating a new list of activities that meet the logical priority relationship ; Step 4: List of Activities Decode, if the decoded activity list The objective function value of is better than the active list The objective function value of , then save the activity list after the local search ; Otherwise, in the key activity set Randomly select an unselected activity to perform the next operation until the collection All key activities in the process have their positions changed once on the activity list.
[0011] Furthermore, the selection, crossover and mutation operations on individuals in the initial population specifically include: Calculate the fitness value of each individual in the initial population, record For the gen The maximum objective function value of all individuals in the generation, Representative individual pop The objective function value of the individual pop The objective function value is transformed into = , No. gen mid-generation individuals pop The fitness value is calculated as follows: The individuals in the initial population are selected using a roulette wheel method according to the fitness value: The selected individuals are crossovered using a two-point crossover method; The active position is changed to perform mutation operation on each active gene position of the individual according to the preset probability.
[0012] Furthermore, the acquisition of the overall network including multiple projects specifically includes: Using the activities in a single project as nodes in a single-code network and the sequence of activities in a single project as arrows in a single-code network diagram, several single-code networks corresponding to the individual projects are constructed. Combine several single-code networks to obtain an overall network that includes multiple projects.
[0013] The present invention provides a distributed multi-project scheduling device, comprising: An encoding module, configured to obtain an overall network including multiple projects, where each project shares resources and includes several activities respectively, and the transfer of resources between different activities or different projects incurs time costs and carbon emission costs; encode the overall network to generate an activity list representing the precedence relationship of activities in the project; A decoding module, configured to decode the activity list using an improved parallel scheduling generation mechanism based on time series to obtain an initial global scheduling plan and an initial resource transfer plan; the improved parallel scheduling generation mechanism based on time series schedules the activities in the activity list considering resource transfer time constraints and carbon emission constraints; An optimization module, configured to optimize the initial global scheduling plan and the initial resource transfer plan using an optimization algorithm to obtain an optimal distributed multi-project scheduling scheme.
[0014] The present invention provides a computer-readable storage medium, where the storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned distributed multi-project scheduling method is implemented.
[0015] The present invention provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the program, the above-mentioned distributed multi-project scheduling method is implemented.
[0016] The above at least one technical solution adopted by the present invention can achieve the following beneficial effects: In the distributed multi-project scheduling method provided by the present invention, first, an activity list is obtained from the global perspective of the overall network, and then the activity list is decoded by an improved parallel scheduling generation mechanism based on time series. While the parallel scheduling mechanism ensures the operation efficiency, the feasibility of the scheduling scheme from the global perspective is ensured by introducing carbon emission constraints during the activity process and resource transfer time constraints between different activities; thus, the limitations of traditional meta-heuristic algorithms in encoding, decoding, and scheduling generation mechanisms are overcome. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings described herein are used to provide a further understanding of the present invention, and constitute a part of the present invention. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation to the present invention. In the drawings:
[0018] Figure 1 is a schematic flow chart of a distributed multi-project scheduling method provided by the present invention; Figure 2 is a schematic activity-on-node network diagram of two projects provided by the present invention; Figure 3A large single-code network diagram containing two projects provided by the present invention; Figure 4 Schematic diagram of the activity priority list provided by the present invention. DETAILED DESCRIPTION
[0019] To make the objectives, technical solutions, and advantages of the present invention more clear, the technical solutions of the present invention will be clearly and completely described below in conjunction with specific embodiments of the present invention and corresponding drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments in this specification, all other embodiments obtained by ordinary technicians in this field without making any creative efforts are within the scope of protection of the present invention.
[0020] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0021] Because the application of such metaheuristic algorithms requires decoding based on specific problem design encoding methods and schedule generation mechanisms, such as serial and parallel schedule generation mechanisms, these metaheuristic algorithms have certain limitations when applied to extended application scenarios related to DRCMPSP. Furthermore, existing metaheuristic algorithms only involve global search mechanisms, primarily relying on the algorithm's search mechanism and structure to search within the solution space. This makes it difficult to perform local searches for high-quality solutions, resulting in a certain difference between the satisfactory solutions obtained when solving large-scale problems and the exact solutions. Therefore, in practice, it is necessary to solve optimization models for different types of DRCMPSP and its extensions.
[0022] In view of the above reasons, it is necessary to develop a more widely applicable DRCMPSP solution algorithm to solve DMRCPSP and its related extension problems. To this end, the present invention is based on the practical background of "carbon emission limit". The present invention aims at the distributed multi-project scheduling problem considering resource transfer time, and designs a distributed multi-project scheduling genetic algorithm embedded with critical chain technology. It can solve the distributed multi-project scheduling problem with NP-hard characteristics, optimize the distributed multi-project scheduling model with resource transfer time and carbon emission constraints, and achieve the optimization goal of minimizing the average delay time of multiple projects. It is verified in combination with numerical experiments to provide technical support for managers at different levels of the enterprise to carry out multi-project management and decision-making.
[0023] Figure 1 The process of the distributed multi-project scheduling method of this embodiment is shown. Figure 1 The method is described in detail and specifically comprises the following steps:
[0024] S1: Obtain an overall network including multiple projects; encode the overall network and generate an activity list for representing the priority relationship of activities in the projects.
[0025] S2: Use an improved parallel scheduling generation mechanism based on time series to decode the activity list and obtain an initial global scheduling plan and an initial resource transfer plan; the improved parallel scheduling generation mechanism based on time series considers scheduling the activities in the activity list under resource transfer time constraints and carbon emission constraints.
[0026] S3: Use the optimization algorithm to optimize the initial global scheduling plan and the initial resource transfer plan to obtain the optimal distributed multi-project scheduling solution.
[0027] In a specific embodiment, step 1 includes: S101: Using several activities in a single project as nodes in a single-code network and using the sequence of several activities in the single project as arrows in a single-code network diagram, construct a single-code network corresponding to several single projects.
[0028] Each project is represented by an AON. The first (starting) activity and the last (terminating) activity in the project are virtual activities. The logical relationship between each activity in the project is end-start type. Furthermore, all the AONs of the projects are combined into a multi-project AON. An initial virtual activity 0 is added to the AON to connect the starting virtual activities of each project. At the same time, a termination activity is added after all project activities are completed. J The specific operation is as follows. Figure 1 shown.
[0029] Distributed multi-projects include Projects, i.e. projects ,project The CCP includes activities. Each activity uses G Global resources and K Local resources, projects p Activities j For global resources g ( ) is demanded for , for local resources k ( ) is demanded for The limits of global resources and local resources available are and To represent, and both types of resources are updateable resources. Global resources g From the activity i Transfer to Activity jThe time of is represented by . The energy consumption generated during the transfer process is . . Among them is the carbon emission factor. The carbon emission limit allocated to project p is . The start time, duration, and end time of activity p in project i are represented by , and respectively.
[0030] The DRCMPSP solved by the present invention can be described as follows: Under the conditions of satisfying the logical relationships between all activities, the local resource and global resource requirements, and the project carbon emissions requirements, based on considering the global resource transfer time situation between activities, with the goal of minimizing the average late completion time of all projects, a satisfactory activity scheduling implementation plan and resource transfer plan are generated for distributed multi-projects.
[0031] Design a genetic algorithm with critical chain method (GA-CCM) to solve the above problem. The critical chain method can identify the critical activities in the project activity network under resource constraints. Since the project planned duration is mainly determined by the critical activities on the critical chain, changing the arrangement order of critical activities under global resource constraints can preferentially allocate resources to critical activities. Based on this method, the project planned duration can be improved to the greatest extent.
[0032] S102: Combine several activity-on-node networks to obtain an overall network including multiple projects; encode the overall network to generate an activity priority list representing the precedence relationship of activities in all projects.
[0033] Before encoding, first combine the activity-on-node network diagrams of each project into a large activity-on-node network diagram, and add a dummy activity before the start and after the end of all projects. Specific implementation examples can be seen in Figure 2 and Figure 3 . For the combined project activity-on-node network, use an activity list (AL) to represent the arrangement order of all activities in the multi-project. The activities in the AL list can satisfy the logical precedence relationship between activities. Based on the example of Figure 3 , the formed activity list is as shown in Figure 4 .
[0034] In a specific embodiment, step S2 decodes the activity priority list using an improved parallel scheduling generation mechanism heuristic method to convert it into an initial global scheduling plan and an initial resource transfer plan. The execution process of this heuristic method is as follows:
[0035] Step 1: Initialize parameters, including: scheduling phase n = 1, qualified activity set , scheduled activity set , ongoing activity set , completed activity set .
[0036] Step 2: When is true, where J is the total number of activities of all projects, determine the scheduling time n of phase , calculate the carbon emission margin p of the global resource margin project ; the local resource margin of each project, and at the same time, update ; and the qualified activity set , , where is the project set, L and G are the local resource and global resource sets respectively; otherwise, execute step 7.
[0037] Step 3: Select the activity with the highest priority from the activities in the activity list , update the activity set of global resource g that can be transferred to activity , where .
[0038] Step 4: According to the global resource transfer rule, judge whether all the global resources in the set that can be transferred to activity can meet its global resource demand , and further judge whether the local resources and carbon emissions after arranging this activity can meet the requirements. If the above conditions are all met, execute step 5; otherwise, execute step 7.
[0039] Step 5: Update the start time p and completion time j* of activity in project , , , and update the set , 。
[0040] Step 6: Set , and return to Step 4.
[0041] Step 7: Determine whether there is an activity in the set to which the global resource g can be transferred ( i ); meanwhile, if the global resource transfer time is still less than the earliest completion time of the currently ongoing activity after the transfer to the activity ( ), at this time set , , and return to Step 4; otherwise, execute Step 8. , and return to Step 4; otherwise, execute Step 8.
[0042] Step 8: Determine whether holds. If it holds, the algorithm ends, and the obtained global scheduling plan and resource transfer plan are output; otherwise, return to Step 2.
[0043] Therefore, the above scheduling generation mechanism combines four common global resource transfer rules, namely the minimum transfer time (minTT), the minimum transfer gap (minGAP), the minimum resource stock (minRS), and the maximum resource stock (maxRS), and can obtain a feasible multi-project scheduling plan and a global resource transfer scheme.
[0044] The existing meta-heuristic algorithms only involve the global search mechanism, mainly searching within the solution space by means of the search mechanism and structure of the algorithm. Therefore, they cannot perform local search on solutions of higher quality, resulting in a certain difference between the satisfactory solutions obtained in solving large-scale problems and the exact solutions.
[0045] In a specific embodiment, Step S3 takes the minimum average delay completion time of all projects as the optimization objective of the optimization algorithm, and uses an improved genetic optimization algorithm to optimize the initial global scheduling plan and the initial resource transfer plan to obtain an optimal distributed multi-project scheduling scheme; the genetic optimization algorithm includes: using the critical path method to perform local search on the new population individuals generated by the genetic optimization algorithm to improve the quality of the individuals. Specifically, it includes:
[0046] The designed genetic algorithm mainly includes the generation of the initial population, selection operation, crossover operation, and mutation operation.
[0047] 1) Generation of the initial population. The initial population with a population size is generated randomly. Each individual satisfies the logical relationship between the predecessors and successors, that is, its position in the activity list is after the positions of all its predecessor activities and between the positions of all its successor activities.
[0048] 2) Selection operator. The roulette wheel method is used for selection operation. During the selection operation, individuals with larger fitness values have a higher probability of being selected. Denote as the maximum objective function value of all individuals in the gen -th generation, representing the objective function value of individual pop ; Since the objective of optimization is a minimization problem, convert the objective function value of individual pop into = , so the fitness value of individual gen in the pop -th generation is calculated as shown in the following formula:
[0049] ; 3) Crossover operator. The two-point crossover method is used for crossover operation. The selected parent individuals and mother individuals are denoted as Fat and Mon respectively. According to the crossover probability P c , perform crossover operation to form the offspring son individual and daughter individual, denoted as Son and Dau respectively. The implementation process of two-point crossover is as follows: First, randomly set two crossover point positions pos 1 and pos 2 (1 < pos 1 < pos 2 < J ). Second, for individual Son , the first pos 1 gene positions in its activity list are directly copied from the gene positions of Fat; for the gene positions from pos 1 + 1 to pos 2, start checking from the first gene position of Mon . If the activity has already appeared in the gene positions of Son , it cannot be inherited, and then continue to check and update until position pos 2; for the gene positions from pos 2 to J, start checking from the Fat -th pos 1 + 1; similarly, if an activity has already appeared in the gene positions of individual Son , it cannot be inherited, and finally continue to check and update until all gene positions are completed. For the daughter individual Dau , the generation order of its gene positions is just the opposite of that of individual Son .
[0050] 4) Mutation operator. The gene positions of each activity on the individual are mutated by changing the activity positions according to the probability P mPerform mutation operations. For an activity that requires mutation operations, the specific implementation process is as follows: First, determine the rightmost position of all the immediate predecessors of this activity in the activity list p 1, and the leftmost position of all the immediate successors of this activity in the activity list p 2. Second, randomly place this activity at p a position other than its original position between p 1 and
[0051] Finally, if the position where the activity is placed is to the left of its current position, then move all the activities between the placed position and the original position one position to the right in sequence. If the placed position is to the right of the activity's current position, then move all the activities between the placed position and the original position one position to the left in sequence.
[0052] 1) Use a heuristic method based on an improved parallel scheduling generation mechanism for time series to perform forward scheduling decoding on the new individual AL1 to obtain the start / end times of activities j under resource constraints, and obtain the multi-project planned duration based on the end time of the last dummy activity T .
[0053] 2) Sort the activities in the individual in non-increasing order of their end times to obtain a new activity list, perform reverse scheduling based on the multi-project planned duration, and use T as the latest completion time of the last dummy activity of the multi-project. Determine the latest completion time of activity j based on the project arrival time and resource transfer time, and obtain the latest start times of each activity under resource constraints.
[0054] 3) Determine the free float of activity j under resource constraints. The activities with a free float of 0 constitute the critical activities on the project critical chain, and store the critical activities in the critical activity set.
[0055] 4) Randomly select an activity from the critical activity set, place the activity at the immediate adjacent gene position that is the rightmost among all the immediate predecessors in, and move all the activities between the insertion position in the original activity list and the original position where it is located one position to the right in sequence, thereby generating a new activity list (individual) that satisfies the logical precedence relationship; then, delete activity h from.
[0056] 5) Decode the new individual using the heuristic method of the improved parallel scheduling generation mechanism based on time series. If the objective function value of the solved individual is better than that of the original individual, save the new individual after local search.
[0057] 6) Determine whether the set is an empty set. If it is an empty set, execute step 7; otherwise, return to step 4.
[0058] 7) Replace the original individual; decode the new individual using the improved parallel scheduling generation mechanism, save the obtained multi-project schedule, global resource transfer plan, local resource usage plan, and project carbon emission usage plan, and end the critical chain local search algorithm for the individual.
[0059] The above genetic algorithm embedded with the critical chain technology can be applied not only to the DRCMPSP with resource transfer time and carbon emission constraints, but also extended to the conventional DRCMPSP.
[0060] In addition, in one or more embodiments of the present invention, experimental verification is also provided: Select 5 problem sets with a problem scale of 450 and below from the problem sets of DRCMPSP in the MPSPLIB case library, which altogether contain 10 cases. Each case set uses 3 types of local resources and 1 type of global resource. The specific standard cases used are shown in Table 1 below.
[0061] Table 1 Cases for numerical experimental testing Since there is no information on global resource transfer time and energy consumption in the DRCMPSP case set in MPSPLIB, the following settings are made: (1) Consider the time generated by the transfer of global resources between the resource pool and projects and between projects. The global resource transfer time is randomly generated within [0, 10]. Do not consider the global resource transfer time between activities within a project. At the same time, after the project is completed, the global resource is transferred to the last completed project and then returned to the global resource pool uniformly.
[0062] (2) Global resource transfer energy consumption. Refer to the activity energy consumption values of each case in the project scheduling case library PSPLIB-ENERGY (http: / / gps.webs.upv.es / psplib-energy / ). The function expression defining the transfer energy consumption and transfer time is shown as follows. Where represents the global resource g From activity i Transfer to activity j The maximum transfer time generated; represents when the global resource g From activity i Transfer to activity jThe minimum transfer energy consumption generated when the maximum transfer time is generated; represents the global resources g From activity i The marginal energy consumption generated by transferring to activity j; set the maximum transfer time , , the marginal energy consumption .
[0063] .
[0064] Allocate carbon emission quotas for each project through preliminary experiments. The specific steps are as follows: Step 1: Decode based on four different global resource transfer rules (minTT, minRS, maxRS, minGAP) respectively under the condition of ignoring the carbon quota constraint, obtain the actual number of transfers generated by each project's global resources, calculate the transfer energy consumption and carbon emissions generated by each project. Among them, the carbon emission factor is taken as 3.1, and the genetic algorithm program under each resource transfer rule runs 10 times, and record the maximum and minimum carbon emissions of the project obtained by each algorithm each time.
[0065] Step 2: Take the maximum value among the minimum carbon emissions and the minimum value among the maximum carbon emissions in the 10 calculation results as the minimum carbon emission and the maximum carbon emission of the project under this resource transfer rule.
[0066] Step 3: Take the maximum value among the minimum carbon emissions and the minimum value among the maximum carbon emissions of each project under the four resource transfer rules as the minimum and maximum carbon emissions of the project in this example.
[0067] Step 4: If the minimum carbon emission of a certain project in the example exceeds the maximum carbon emission, then take the minimum carbon emission as the carbon emission quota of the project; otherwise, take the average value of the minimum carbon emission and the maximum carbon emission as the carbon emission quota of the project.
[0068] Genetic algorithm parameter configuration: population size, number of evolutionary generations Gen = 100, crossover probability P c = 0.8, mutation probability P m = 0.05, and the GA-CCM algorithm is run 10 times for each example.
[0069] Based on the designed GA-CCM solution algorithm, the solution results for different cases are shown in Table 2. APD represents the average difference between the planned duration of all projects and their critical path duration, and CPU represents the algorithm's computation time. It should be noted that the results listed in the table are the average of 10 solution results. Table 2 shows that as the case size increases, the algorithm's computation time increases significantly, and the average project delay also increases. Among the four global resource transfer rules, the maximum resource stock (minRS) priority rule achieved the best solution results in most cases. In a small-scale case (j30_a2_nr2), the minimum transfer gap (minGAP) resource transfer rule performed well.
[0070] Table 2 Solution results based on GA-CCM algorithm Note: The bold font added in the table indicates the best results obtained.
[0071] To verify the effectiveness of the GA-CCM algorithm, a genetic algorithm without CCM local search was used to solve the example set listed in Table 1. The initial population generation, fitness calculation, and evolution operations in the genetic algorithm were identical to those in the GA-CCM. Table 3 shows the solution results of the GA algorithm based on different resource transfer rules and carbon emission limits. Compared with the results in Table 3, the GA-CCM algorithm outperformed the GA algorithm for all four resource transfer rules for each example, indicating that the GA-CCM algorithm searched a wider solution space and achieved good results. Therefore, the CMM's local search plays an important role in shortening multi-project durations by changing the order of scheduling activities in the critical chain.
[0072] Table 3 Solution results obtained using GA Note: The bold font added in the table indicates the best results obtained.
[0073] The significant effects brought about by the technology of the present invention are reflected in the following three aspects: (1) An efficient algorithm for solving distributed multi-project scheduling with resource transfer time and carbon emission constraints is designed. It can quickly obtain a satisfactory solution to the problem and provides a reference for the algorithm design ideas for solving such distributed multi-project scheduling problems with NP-hard characteristics.
[0074] (2) It can provide technical support and reference for project managers to develop management software and scientific decision-making for distributed multi-project scheduling problems.
[0075] (3) By applying the genetic algorithm embedded with the critical chain technology designed in the present invention, the management and governance level of managers for large-scale complex projects can be significantly improved, and the performance management level of multi-project duration, resource utilization, and green indicators can be enhanced.
[0076] The above is the distributed multi-project scheduling method provided by one or more embodiments of the present invention. Based on the same idea, the present invention also provides a corresponding distributed multi-project scheduling device, including: An encoding module, configured to obtain an overall network including multiple projects; encode the overall network to generate an activity list for representing the precedence relationship of activities in the projects.
[0077] A decoding module, configured to decode the activity list using an improved parallel scheduling generation mechanism based on time series to obtain an initial global scheduling plan and an initial resource transfer plan; the improved parallel scheduling generation mechanism based on time series schedules the activities in the activity list considering resource transfer time constraints and carbon emission constraints.
[0078] An optimization module, configured to optimize the initial global scheduling plan and the initial resource transfer plan using an optimization algorithm to obtain an optimal distributed multi-project scheduling scheme.
[0079] For the specific limitations on the distributed multi-project scheduling device, reference can be made to the limitations on the distributed multi-project scheduling method in the above text, which will not be elaborated here. Each module in the above distributed multi-project scheduling device can be implemented in whole or in part through software, hardware, and their combinations. The above modules can be embedded in the processor of the computer device in hardware form or be independent of it, or can be stored in the memory of the computer device in software form, so as to facilitate the processor to call and execute the operations corresponding to the above modules.
[0080] The present invention also provides a computer-readable storage medium, which stores a computer program, and the computer program can be used to execute the above Figure 1 provided distributed multi-project scheduling method.
[0081] The present invention also provides the structure of a computer device. At the hardware level, the computer device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory. Of course, it may also include other hardware required for other services. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to implement the above Figure 1 provided distributed multi-project scheduling method.
[0082] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided by the present invention can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0083] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered to be within the scope recorded by the present invention.
Claims
1. A distributed multi-project scheduling method, characterized in that including; Obtain an overall network including multiple projects, where each project shares resources and contains several activities respectively, and the transfer of resources between different activities or different projects incurs time costs and carbon emission costs; encode the overall network to generate an activity list representing the precedence relationship of activities in the project; Decode the activity list using an improved parallel scheduling generation mechanism based on time series to obtain an initial global scheduling plan and an initial resource transfer plan; the improved parallel scheduling generation mechanism based on time series schedules the activities in the activity list considering resource transfer time constraints and carbon emission constraints; Optimize the initial global scheduling plan and the initial resource transfer plan using an optimization algorithm to obtain an optimal distributed multi-project scheduling scheme.
2. The distributed multi-project scheduling method according to claim 1, characterized in that, The step of decoding the activity list using an improved parallel scheduling generation mechanism based on time series to obtain an initial global scheduling plan and an initial resource transfer plan specifically includes: Step 1: Initialize parameters, including: scheduling phase n = 1, set of qualified activities , set of scheduled activities Combined , the set of ongoing activities , the set of completed activities , the total number of activities for all projects ; Step 2: Determine whether it meets . If it meets, then execute: Determine the scheduling time n of , which is the end time of the activity ; Obtain the global resource margin n of , the carbon emission margin p of the project , and the local resource margin p of the project ; Update the set of ongoing activities , the set of completed activities and the set of qualified activities , , where is the set of immediate predecessor activities of the activity , is the demand for local resources by the activity in the project , is the duration of the activity , , and respectively represent the project, local resources and global resources, , and are respectively the set of projects, the set of local resources and the set of global resources; Otherwise, execute Step 7; Step 3: Select the activity with the highest priority from the activity list according to the priority order of the activities in the activity list , obtain the set of activities that are allowed to transfer to the activity for the global resources , where is the global resource transferring from the activity to the activity ; is the global resource that the activity allows to transfer to the activity . Step 4: Determine the set All allowed transfers to activities Can the global resources meet the needs of activities? Global resource requirements , and judge whether the local resources and carbon emissions meet the constraints; if the judgment conditions meet the requirements, execute step 5; otherwise, execute step 7; Step 5: Update the project p in the activity j* start time and completion time , and update the set of ongoing activities and the set of eligible activities ; Step 6: Let , , and return to Step 4; Step 7: Determine whether there is an activity in the set of completed activities If so i Allow the transfer of global resources to the activity And determine whether the transfer time after the global resources are transferred to the activity Is still less than the earliest completion time of the currently ongoing activity If all the judgment conditions are met Then Return to Step 4; otherwise, execute Step 8 Step 8: Determine whether it holds: If it holds, the algorithm ends and outputs the obtained global scheduling plan and resource transfer plan; otherwise, return to Step 2.
3. The distributed multi-project scheduling method according to claim 1, wherein The step of optimizing the initial global scheduling plan and the initial resource transfer plan using an optimization algorithm is implemented using an improved genetic optimization algorithm, and the improved genetic optimization algorithm is realized by introducing the critical chain method to perform local search on the individuals of the new population generated by the original genetic optimization algorithm.
4. The distributed multi-project scheduling method according to claim 3, wherein The improved genetic optimization algorithm specifically includes: Perform a random generation operation on the initial global scheduling plan and the initial resource transfer plan to obtain an initial population, where the individuals in the initial population are activity sequences that satisfy the logical relationship of task predecessors and successors; Perform selection, crossover, and mutation operations on the individuals in the initial population to form a new population; Perform local search on the individuals in the new population based on the critical chain method and output an optimal distributed multi-project scheduling scheme.
5. The distributed multi-project scheduling method according to claim 4, wherein The step of performing local search on the individuals in the new population based on the critical chain method specifically includes: Step 1: Perform forward scheduling decoding on the individuals in the new population to determine the start and end times of activities under resource constraints, and calculate the multi-project planned duration based on the end time of the last dummy activity T , where the dummy activity is a virtual activity that does not consume resources and has a zero duration; Step 2: Sort the activities of the individuals in the new population in non-increasing order according to their earliest finish time to obtain an activity list , based on the activity list and the multi-project planned duration T perform backward scheduling to determine the latest completion time and free float of each activity, and screen out the set of critical activities with zero free float ; Step 3: Set up in key activities Randomly select an activity h , the activity h Place in active list The rightmost adjacent gene position of all the previous activities in the activity list The insertion position in the activity h All activities between the original positions are moved one position to the right in turn, generating a new list of activities that meet the logical priority relationship ; Step 4: Decode the activity list If the objective function value of the decoded activity list is better than that of the activity list , then save the activity list after local search ; otherwise, randomly select an unselected activity from the critical activity set for the next operation until all critical activities in the set have completed a position transformation on the activity list once.
6. The distributed multi-project scheduling method according to claim 4, wherein The step of performing selection, crossover, and mutation operations on the individuals in the initial population specifically includes: Calculate the fitness value of each individual in the initial population, denoted as the maximum objective function value of all individuals in the gen th generation, represents the objective function value of individual pop . Convert the objective function value of individual pop to = . The fitness value of individual gen in the pop th generation is calculated as follows: Select the individuals in the initial population by roulette wheel according to the fitness value; Perform a crossover operation on the selected individuals by two-point crossover; Perform a mutation operation on the gene positions of each activity on the individual by changing the activity position according to a preset probability.
7. The distributed multi-project scheduling method according to claim 1, characterized in that The step of obtaining an overall network including multiple projects specifically includes: Construct several single-code networks corresponding to each single project one by one, using the activities in a single project as the nodes in the single-code network and the sequence of activities in a single project as the arrows in the single-code network diagram; Combine several single-code networks to obtain an overall network including multiple projects.
8. A distributed multi-project scheduling device, characterized in that, including: An encoding module, configured to obtain an overall network including multiple projects, where each project shares resources and contains several activities respectively, and the transfer of resources between different activities or different projects incurs time costs and carbon emission costs; encode the overall network to generate an activity list representing the precedence relationship of activities in the project; A decoding module, configured to decode the activity list by using an improved parallel scheduling generation mechanism based on time series, so as to obtain an initial global scheduling plan and an initial resource transfer plan; the improved parallel scheduling generation mechanism based on time series schedules the activities in the activity list considering resource transfer time constraints and carbon emission constraints; An optimization module, configured to optimize the initial global scheduling plan and the initial resource transfer plan by using an optimization algorithm, so as to obtain an optimal distributed multi-project scheduling scheme.
9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 7 above is implemented.
10. A computer device, characterized in that, It includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the method described in any one of claims 1 to 7 above is implemented.