Project scheduling optimization method based on resource limitation

By combining genetic algorithms and simulated annealing algorithms to optimize project scheduling, this method addresses the complexity of scheduling models in resource-constrained engineering projects. It simplifies the description of engineering tasks and generates optimized scheduling schemes, providing intuitive resource and time allocation charts.

CN121328764APending Publication Date: 2026-01-13SOUTH CHINA UNIV OF TECH
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511234124.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-01
Publication Date
2026-01-13

AI Technical Summary

Technical Problem

In the scheduling of resource-constrained engineering projects, existing technologies often employ overly complex genetic algorithm operators, which are unable to effectively address the issues of sequential allocation of engineering tasks and resource constraints, resulting in inaccurate or overly complex scheduling models.

Method used

A resource-constrained project scheduling optimization method is adopted, which combines genetic algorithm and simulated annealing algorithm. Using strip packing model, the project scheduling optimization problem is transformed into a mathematical model of rectangular placement order. The initial scheme is generated by genetic algorithm, and the solution is optimized by simulated annealing algorithm to generate the optimal scheduling scheme.

Benefits of technology

It simplifies the description of scheduling problems under resource constraints, provides a unique loading result, facilitates intuitive display of personnel-time arrangements, reduces the difficulty of solving scheduling problems, and intuitively displays the time and resource allocation of engineering tasks through charts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121328764A_ABST
    Figure CN121328764A_ABST
Patent Text Reader

Abstract

The invention discloses a project scheduling optimization method based on resource limitation, which comprises the following steps: a model construction step: constructing a project scheduling optimization model under the conditions of resource limitation and uncertain number of project tasks; an objective function determination step: determining an objective function of the project scheduling optimization model by taking the shortest construction period of the delivery project task as an objective; and a model solving step: combining a genetic algorithm and a simulated annealing algorithm to generate a final project scheduling optimization scheme. According to the invention, a chart for representing a personnel-time arrangement mode under the condition of multiple tasks is created according to a set mathematical model, and compared with a Gantt chart, the chart can more intuitively display the work participated by each personnel and the starting and ending time of the work.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of engineering scheduling, in particular to a project scheduling optimization method based on resource constraints. BACKGROUND

[0002] 2D strip packing problem is a problem of finding a placement method to put a fixed number of rectangles into a fixed-width rectangular bin with the shortest total length, which can be compared to the engineering project scheduling problem with the shortest total time as the goal under resource constraints.

[0003] The engineering project scheduling problem has its particularity. Compared with traditional flow line operation, the execution of engineering tasks is often completed by a fixed number of people in a fixed time, the number of participants in a single task cannot be changed at will, and the allocation of execution order is more strict. The existing mathematical model often appears inaccurate or too complex when describing the scheduling problem.

[0004] As a traditional heuristic algorithm, genetic algorithm is commonly used to solve NP-C problems such as scheduling problems. However, when solving scheduling problems with resource constraints, the genetic algorithm may have too complex operators. SUMMARY

[0005] In order to overcome the above-mentioned shortcomings and deficiencies of the prior art, the purpose of the present application is to provide a project scheduling optimization method based on resource constraints.

[0006] The purpose of the present application is achieved by the following technical solutions:

[0007] A project scheduling optimization method based on resource constraints, comprising the following steps:

[0008] The model construction step refers to constructing a project scheduling optimization model under the condition of resource constraints and a variable number of project tasks.

[0009] The objective function determination step refers to determining the objective function of the project scheduling optimization model with the shortest project task delivery period as the goal.

[0010] The model solving step uses a combination of genetic algorithm and simulated annealing algorithm to generate a final project scheduling optimization scheme.

[0011] Further, the project scheduling optimization model is a strip packing model.

[0012] Further, the objective function of the project scheduling optimization model is:

[0013] obj=max(b1+y1,b2+y2…,b m +y m )

[0014] Where bn represents the time spent to complete project task n.

[0015] y n represents the time when task n starts to execute.

[0016] Further, the strip packing model is as follows:

[0017] The matrix P is given as

[0018]

[0019] P n =(a n ,b n )

[0020] Q n =(x n ,y n )

[0021] The matrix R is a matrix with the number of rows as the number of personnel and the number of columns large enough (which can be set as the sum of the time required for all tasks), wherein the element c ij represents whether the worker is in the "working" state at the specified time;

[0022] P n represents the manpower and time resources required for project task n, wherein a n represents the manpower resources required, and b n represents the time resources required;

[0023] Q n represents the coordinates of the upper left corner of the project task n rectangle in the matrix R when placed in the matrix, x n represents the row, and y n represents the column.

[0024] Further, each target project task is set as a rectangle with fixed length and width, the length representing the time spent by the project task, and the width representing the manpower resources spent by the project task, and the project scheduling optimization problem is converted into determining the order of placing the target task in the matrix according to the strip packing model.

[0025] Further, the rectangles representing the project tasks are placed in the matrix in the order of shape without rotation.

[0026] Further, the optimal order of placing the rectangles in the matrix is:

[0027] The project tasks to be executed are numbered according to the execution order to construct a sequence of project tasks to be executed.

[0028] For the first item task in the sequence, place it in the upper left corner of the empty matrix, that is, the upper left corner of the rectangle corresponding to the item task coincides with the upper left corner coordinates of the empty matrix (0, 0), the row coordinate interval is [1, a m ], the vertical coordinate interval is [1, b m ], and all element values in the rectangular region are changed from the original "0" to "1", representing the completion of the first item task filling;

[0029] Continue placing according to the numbering order of the item tasks in the sequence, and each time a rectangle is placed, all columns of the matrix are traversed from left to right to check the number of free spaces with value "0" in each column;

[0030] Set the element with the smallest row coordinate value "0" in the searched column number as the placement point of task n rectangle, that is, the upper left corner coordinates of the rectangle placed in the matrix, Q n =(x n ,y n );

[0031] Set the upper left corner coordinates of the rectangle represented by the item task n as Q n =(x n ,y n ), and place it in the matrix. Change the element values in its rectangular region, that is, the row coordinate interval [x n , x n +a n -1] and the vertical coordinate interval [y n , y n +b n -1] from the original "0" to "1", indicating that the matrix filling is completed;

[0032] Determine whether the rectangles represented by all item tasks are placed, if completed, end the entire rectangle placement process; if not completed, continue according to the set rectangle placement order.

[0033] Further, each rectangle can only be placed once and can only be placed in the matrix in order.

[0034] Further, it also includes drawing a chart according to the project scheduling optimization scheme, the horizontal axis is the resource type, the vertical axis is the time axis, and the to-be-completed item task is set as a matrix with fixed length and width.

[0035] Further, it also includes the following two cases: when a specific item task is completed by a specific person, set the horizontal coordinate limit value when placing the rectangle into the matrix;

[0036] When a specific project task is to be completed at a specific time, the rectangle representing the project task can only be placed in the defined vertical coordinate interval when placed in the matrix, and the specific placement requirement is that after each current rectangle is inserted, it is checked whether the vertical coordinate interval can insert the rectangle of the defined vertical coordinate region, if yes, it is directly inserted, otherwise it is inserted in front of the current rectangle, and the insertion is completed.

[0037] Compared with the prior art, the present application has the following advantages and beneficial effects:

[0038] (1) The matrix model with fixed width and indefinite length is used to describe the engineer calling problem model under the resource restriction condition, the restriction condition originally expressed by a plurality of formulas is simplified, and the scheduling arrangement expressed by a complex operator is simplified to a simple sequence number, so that the difficulty of solving the scheduling problem is reduced.

[0039] (2) A rectangular filling method suitable for the strip packing model is set, and under the condition of a given placement order, a unique filling result can be obtained, which facilitates the use of genetic algorithm and simulated annealing algorithm to solve the problem

[0040] (3) According to the set mathematical model, a chart for representing the personnel-time arrangement mode under the condition of multiple tasks is created, which can more intuitively display the work participated by each personnel and the start and end time of the work compared with the Gantt chart. BRIEF DESCRIPTION OF DRAWINGS

[0041] Figure 1 It is a schematic diagram for representing the optimal scheduling chart in the present application, and the vertical coordinate is the time axis;

[0042] Figure 2 It is the operation process of the genetic algorithm when solving the scheduling problem in the present application;

[0043] Figure 3 It is the process of searching for a new solution by the simulated annealing algorithm according to the solution generated by the genetic algorithm.

[0044] Figure 4 It is a result chart generated after solving the example, which shows the scheduling method with the shortest total time of engineering tasks 1-15, each rectangle representing the task is divided by a gray line, and is marked with a task number, the horizontal coordinate represents the manpower resource number, and the vertical coordinate is the time axis. DETAILED DESCRIPTION

[0045] The present application will be further described in detail below in combination with embodiments, but the implementation mode of the present application is not limited thereto.

[0046] EMBODIMENT

[0047] As shown in Figure 1 , a resource-restricted project scheduling optimization method comprises the following steps:

[0048] The S1 model construction step refers to constructing a project scheduling optimization model under the condition of resource limitation and indefinite number of project tasks.

[0049] The resource limitation refers to the condition that the number of personnel is fixed, and individual tasks must be completed by fixed personnel.

[0050] The project scheduling optimization model is constructed based on a strip packing model, specifically:

[0051] The matrix P is given as

[0052]

[0053] P n =(a n ,b n )

[0054] Q n =(x n ,y n )

[0055] The matrix R is a matrix with the number of rows as the number of personnel and the number of columns large enough (which can be set as the sum of the required time of all tasks), where the element c ij represents whether the worker is in the "working" state at the specified time;

[0056] P n represents the manpower and time resources required for task n, where a n represents the required manpower resources, and b n represents the required time resources;

[0057] Q n represents the coordinates of the upper left corner of the task n rectangle in the matrix R when placed in the matrix, x n represents the row, and y n represents the column;

[0058] For task n, b n +y n represents the completion time of the task.

[0059] Taking road maintenance as the construction theme, there are the following construction tasks: cleaning (numbers 1, 2, and 3), crack repair (numbers 4 and 5), facility (signboard and guardrail) maintenance (numbers 6 and 7), drainage system cleaning (numbers 8, 9, and 10), roadbed renovation and reinforcement (numbers 11, 12, and 13), and asphalt paving (numbers 14 and 15), as shown in Tables 1 and 2.

[0060] Worker types include: road maintenance workers (pothole excavation and cleaning; crack cleaning and grouting), paver operators (operating pavers to evenly spread asphalt mixture), excavator operators (responsible for excavating potholes, clearing landslides, repairing slopes, etc.), traffic controllers / signposters (responsible for setting up, moving and maintaining work control zones according to specifications), road marking workers (responsible for repainting road markings and installing or updating signs after maintenance work is completed), and truck drivers (responsible for transporting asphalt mixture, gravel, waste materials and other materials).

[0061] The S2 objective function determination step refers to determining the objective function of the project scheduling optimization model with the goal of minimizing the project delivery time.

[0062] Retrieve the set of all tasks to be executed, and determine the number of personnel and time required for each task. Obtain the total number of personnel needed to execute the tasks.

[0063] The objective function is:

[0064] obj = max(b1+y1,b2+y2…,b m +y m )

[0065] Where b n This represents the time required to complete project task n.

[0066] y n This indicates the time when task n begins execution.

[0067] The essence of project scheduling optimization is to find the scheduling method that allows all tasks to complete at the earliest possible time (i.e., the time when the last task ends).

[0068] In this embodiment, each target project task is set as a rectangle with fixed length and width. The length represents the time consumed by the project task, and the width represents the human resources consumed by the project task. Based on the strip packing model, the project scheduling optimization problem is transformed into determining the order of placing the target tasks in the matrix.

[0069] The improved placement order in this embodiment is as follows:

[0070] Number the tasks to be executed in the order of execution to create a sequence of tasks to be executed;

[0071] For the first item in the sequence, place it in the top left corner of the empty matrix, meaning the top left corner of the rectangle corresponding to that item coincides with the top left corner of the empty matrix at coordinates (0,0), with a row coordinate range of [1, a]. m The ordinate interval is [1, b]. mThe values ​​of all elements within the rectangular area are changed from "0" to "1", indicating that the first task has been completed.

[0072] Continue placing the rectangles according to the order of their numbers in the sequence. Each time a rectangle is placed, traverse all columns of the matrix from left to right and check the number of empty cells with a value of "0" in each column.

[0073] The element c with the smallest row coordinate of "0" among the searched columns is set as the placement point of the rectangle in task n, that is, the coordinate of the top left corner when the rectangle is placed into the matrix, which is Q. n =(x n ,y n );

[0074] Set the coordinate of the top left corner of the rectangle represented by project task n to Q. n =(x n ,y n Place it in a matrix, and define the elements within its rectangular region, i.e., the row coordinate range [x...]. n ,x n +a n -1], the ordinate interval is [y n ,y n +b n The values ​​of all elements in [-1] are changed from "0" to "1", indicating that the matrix filling is complete;

[0075] Determine whether all rectangles represented by the project tasks have been placed. If so, end the entire rectangle placement process; otherwise, continue according to the set rectangle placement order.

[0076] Constraints for rectangular placement:

[0077] Each rectangle can only be placed once, and can only be placed sequentially within the matrix.

[0078] This also includes the following two situations: when a specific project task is completed by a specific person, coordinate limit values ​​are set when placing the rectangle into the matrix;

[0079] When a specific project task needs to be completed at a specific time, the rectangle representing the project task can only be placed within a limited vertical coordinate range when it is placed into the matrix. The specific placement requirements are as follows: after each insertion of the current rectangle, check whether the vertical coordinate range can be used to insert a rectangle within the limited vertical coordinate range. If it can, insert it directly; otherwise, insert it in front of the current rectangle to complete the insertion.

[0080] The S3 model solution process involves using a combination of genetic algorithms and simulated annealing algorithms to generate the final project scheduling optimization scheme, such as... Figure 2 and Figure 3 As shown.

[0081] The encoding part of the operator uses integer encoding. The n tasks (rectangles) are numbered as 1, 2, 3 ··· n respectively, and the chromosome encoding can be obtained as I = (π1, π2 ··· π n-1 , π n ) which represents the order of putting all rectangles into the matrix.

[0082] The fitness function is f = 1 / max(b m , y m ).

[0083] To make the calculation results converge faster, the genetic algorithm adopts the optimal preservation strategy and uses the roulette method for population screening. According to the fitness, the calculation formula for the proportion of different individuals in the roulette method is:

[0084]

[0085] P j : The proportion of chromosome j in the roulette selection

[0086] f j : The fitness calculation result of chromosome j

[0087] f j : The minimum fitness value among all chromosomes

[0088] The following details the entire process of solving by the genetic algorithm:

[0089] Set a random sequence population according to the known number of tasks. The more tasks there are, the more the population size needs to increase. Place the rectangles according to the packing rules, calculate the fitness of each individual in the population, and rank the fitness of the population individuals.

[0090] Save the top 10% of the individuals with the highest fitness in the population, which do not participate in the subsequent cross - genetic part. The remaining individuals use the formula according to their fitness to calculate the proportion they account for in the roulette screening.

[0091] Randomly select different individuals in pairs according to the proportion for crossover, and randomly generate the exchange position k i and the exchange length l i , and both need to meet the condition: k i + l i < n. If there are overlapping elements in the sequence after the exchange, replace the elements outside the exchange part according to the order of the non - missing elements before the exchange.

[0092] Perform mutation operations. According to the set mutation rate, randomly select two points in the sequence for exchange. For example, make the encoding I = (π1, π2 ··· π n-1 , πn Swap the second and (n-1)th sequences to transform it into I = (π1, π) n-1 ···π2,π n ).

[0093] After obtaining the new population, determine whether the current conditions meet the termination condition (i.e., whether the number of iterations has reached the specified target). If it does, end the iteration, output the historical best result and the corresponding sequence; if it does not, return to step 2 to continue iterating.

[0094] The results obtained by the genetic algorithm may still have room for improvement. Therefore, this invention continues to use the simulated annealing algorithm to search for a better solution based on the optimal solution obtained by the existing genetic algorithm.

[0095] The probability formula for the simulated annealing algorithm to accept a new solution:

[0096]

[0097] P: The probability of accepting the current new solution

[0098] Δ: The difference between the current solution and the historical best solution

[0099] T: Current temperature

[0100] k: Cooling coefficient

[0101] The specific steps of the simulated annealing algorithm are as follows:

[0102] Define the initial temperature T1, the final temperature T0, the cooling coefficient α, and the probability calculation formula coefficient k.

[0103] Starting from the solutions obtained by the genetic algorithm, new solutions are generated, including: swapping, which involves exchanging the positions of two random elements in the sequence; and reversing, which involves reversing the sequence segment between two random elements in the sequence.

[0104] Calculate the difference Δ between the fitness of the new solution and the previous solution. If Δ is greater than 0, accept the new solution directly and use the current sequence as the new initial solution. If Δ is less than 0, proceed according to the formula... The calculated probability is used to accept the new solution.

[0105] After completing the above steps, lower the temperature T. n =αT n-1

[0106] Determine if the current temperature has dropped below T0. If yes, end the iteration and output the historical best solution and sequence. If no, return to step 2 to continue the iteration.

[0107] The model for solving the problem in this invention is based on the strip packing problem, but it differs from the traditional packing problem. In the traditional packing problem, the rectangle is a geometric shape, and its length and width do not have specific meanings. Therefore, it can be rotated arbitrarily during the calculation of the optimal solution. However, when solving the manpower-time scheduling problem in engineering projects, the length and width of the rectangle represent the time and manpower consumed, respectively, so rotation cannot be performed.

[0108] Genetic algorithms have advantages in handling planning problems with integer sequences as operators, but they may also get trapped in local optima. To avoid this possibility, simulated annealing is used to search the space around the solution and eventually obtain a sufficiently good solution.

[0109] S4 obtains the optimization scheme based on the above solution and displays a chart of resource allocation in project management. The horizontal axis represents resource type, the vertical axis represents time, and the projects to be completed are set as a matrix with fixed length and width, simplifying the project management process into the process of placing rectangles into the matrix.

[0110] The specific application process of this embodiment is as follows:

[0111] This application example solves a real-world engineering scheduling problem. In this example, there are 15 construction tasks to be completed. Without considering commuting time for workers at different construction sites, the number of workers required and the time required for each task are fixed, limiting the number of workers that can be freely mobilized to 15. Each worker can only perform one task at a time. The personnel and time information required for each project is shown in Table 1.

[0112] Table 1

[0113] Engineering Number Manpower Required (person) Time Required (hour) 0 3 4 1 2 5 2 4 3 3 2 3 4 2 4 5 4 4 6 1 2 7 5 3 8 2 2 9 4 4 10 3 4 11 3 1 12 5 4 13 2 6 14 1 4

[0114] The bin packing method adopts the bottom-left optimal bin packing method. First, determine the row where the rectangle can be placed, and place the rectangle on the leftmost side of the row where it can be placed.

[0115] For instances with a small total number of tasks, there is no need to set too many individuals in the population. When using a genetic algorithm, set the total population to 100, the number of iterations to 50, the crossover probability to 0.8, and the mutation probability to 0.1.

[0116] After each iteration, the fitness of each individual in the population is calculated separately, and the probability of roulette wheel selection is calculated based on the fitness. When a new individual is generated, two individuals are selected according to this probability. Whether to cross over is determined according to the crossover probability. Based on the randomly selected segment, the two individuals exchange the sequence of this segment, and obtain a new sequence with the elements of the crossover segment removed according to the order of their original sequences and merge it with the new sequence. Then, the chromosome element exchange operation is performed on the two individuals respectively according to the mutation probability.

[0117]

[0118] When generating a new population, relatively superior sequences are retained and directly proceeded to the next iteration to accelerate the convergence of results.

[0119] After obtaining a solution, simulated annealing algorithm is started to calculate and generate new solutions from this solution. These operations include: swapping the positions of two elements, reversing a subsequence, or inserting an element into a new position. All three operations have the same probability of being chosen.

[0120] After generating a new solution, if the result is better, accept the new solution directly; if it is worse, accept the new solution according to the probability calculated by the formula. Then lower the temperature.

[0121]

[0122] Record the historical best solution, output the historical best solution after the cooling process ends, and use the human-resource matrix to draw a chart.

[0123] The insertion order and coordinates of the task rectangles are shown in Table 2:

[0124] Table 2

[0125] Insertion Order Task Number X Coordinate Y Coordinate Insertion Order Task Number X Coordinate Y Coordinate 1 1 0 0 9 11 11 7 2 12 2 0 10 13 0 5 3 0 7 0 11 3 2 8 4 9 10 0 12 7 4 8 5 5 2 4 13 6 14 0 6 10 6 4 14 8 9 8 7 4 9 4 15 14 14 7 8 2 11 4

[0126] Based on the calculated placement results, the final scheduling scheme can be obtained, i.e., the insertion point of each matrix. The x-coordinate represents the number of the first person used in the task minus 1, and the y-coordinate represents the start time of the task. For example, for task 12, the final scheduling result can be understood as follows: starting from time 0, five construction workers, from worker 3 to worker 7, will begin construction of task 2 until time 4 when task 12 is completed. For the 15 construction tasks in the table, each construction task has its start time and construction workers. Based on the coordinates of the insertion point, the required number of construction workers, and the duration, information such as the start and end times and participating personnel for each task can be obtained.

[0127] like Figure 4 As shown, based on the above information, all task information can be integrated into a table with personnel on the horizontal axis and time on the vertical axis. Each rectangle in the table represents a construction task. Based on this chart, the personnel scheduling and arrangement in multiple construction tasks can be easily understood.

[0128] The above embodiments are preferred embodiments of the present invention, but the embodiments of the present invention are not limited to the embodiments described above. Any changes, modifications, substitutions, combinations, or simplifications made without departing from the spirit and principle of the present invention shall be considered equivalent substitutions and shall be included within the protection scope of the present invention.

Claims

1. A resource-constrained project scheduling optimization method, characterized in that, Includes the following steps: The model building step refers to building a project scheduling optimization model under the conditions of limited resources and an uncertain number of project tasks; The objective function determination step refers to determining the objective function of the project scheduling optimization model with the goal of minimizing the project delivery time. The model solution process involves using a combination of genetic algorithms and simulated annealing algorithms to generate the final project scheduling optimization scheme.

2. The project scheduling optimization method according to claim 1, characterized in that, The project scheduling optimization model is a strip packing model.

3. The project scheduling optimization method according to claim 1, characterized in that, The objective function of the project scheduling optimization model is: obj=max(b1+y1,b2+y2…,b m +y m ) Where b n This represents the time required to complete task n of the project. y n This indicates the time when task n begins execution.

4. The project scheduling optimization method according to claim 2, characterized in that, The strip packing model is as follows: Given a matrix P n =(a n ,b n ) Q n =(x n ,y n ) Matrix R is a matrix with the number of rows equal to the number of people and a sufficiently large number of columns, where the elements c ij This indicates whether the staff member is in a "working" state at the specified time; P n This represents the human and time resources required for project task n, where a n Indicates the required human resources, b n Indicates the required time resources; Q n This represents the coordinates of the top-left corner of the project task n rectangle within matrix R when it is placed in the matrix. n Indicates the row, y n Indicates the column it belongs to.

5. The project scheduling optimization method according to claim 4, characterized in that, Each target project task is set as a rectangle with fixed length and width. The length represents the time consumed by the project task, and the width represents the human resources consumed by the project task. Based on the strip packing model, the project scheduling optimization problem is transformed into determining the order of placing the target tasks in the matrix.

6. The project scheduling optimization method according to claim 5, characterized in that, The rectangles representing the project tasks are placed into the matrix in a non-rotated manner.

7. The project scheduling optimization method according to claim 5, characterized in that, The optimal order in which the rectangles are placed into the matrix is: Number the tasks to be executed in the order of execution to create a sequence of tasks to be executed; For the first item in the sequence, place it in the top left corner of the empty matrix, meaning the top left corner of the rectangle corresponding to that item coincides with the top left corner of the empty matrix at coordinates (0,0), with a row coordinate range of [1, a]. m The ordinate interval is [1, b]. m The values ​​of all elements within the rectangular area are changed from "0" to "1", indicating that the first task has been completed. Continue placing the rectangles according to the order of their numbers in the sequence. Each time a rectangle is placed, traverse all columns of the matrix from left to right and check the number of empty cells with a value of "0" in each column. The element c with the smallest row coordinate of "0" among the searched columns is set as the placement point of the rectangle in task n, that is, the coordinate of the top left corner when the rectangle is placed into the matrix, which is Q. n =(x n ,y n ); Set the coordinate of the top left corner of the rectangle represented by project task n to Q. n =(x n ,y n Place it in a matrix, and define the elements within its rectangular region, i.e., the row coordinate range [x...]. n ,x n +a v -1], the ordinate interval is [y n ,y n +b n The values ​​of all elements in [-1] are changed from "0" to "1", indicating that the matrix filling is complete; Determine whether all rectangles represented by the project tasks have been placed. If so, end the entire rectangle placement process; otherwise, continue according to the set rectangle placement order.

8. The project scheduling optimization method according to claim 7, characterized in that, Each rectangle can only be placed once, and can only be placed sequentially within the matrix.

9. The project scheduling optimization method according to claim 1, characterized in that, It also includes drawing charts based on the project scheduling optimization plan, where the horizontal axis represents resource types, the vertical axis represents time, and the tasks to be completed are set as a matrix with fixed length and width.

10. The project scheduling optimization method according to claim 8, characterized in that, This also includes the following two situations: when a specific project task is completed by a specific person, a horizontal coordinate limit value is set when placing the rectangle into the matrix; When a specific project task needs to be completed at a specific time, the rectangle representing the project task can only be placed within a limited vertical coordinate range when it is placed into the matrix. The specific placement requirements are as follows: after each insertion of the current rectangle, check whether the vertical coordinate range can be used to insert a rectangle within the limited vertical coordinate range. If it can, insert it directly; otherwise, insert it in front of the current rectangle to complete the insertion.

Citation Information

Patent Citations

  • Scheduling optimization method and system based on resource-constrained project scheduling problem model

    CN113705866A

  • Spark batch application scheduling method based on improved BL algorithm and genetic algorithm

    CN117909048A

  • Resource scheduling scoring method of genetic algorithm based on annealing algorithm improvement

    CN120430572A

  • Method for Scheduling Resource-constrained Project by Invasive Weed Optimization

    US20230153708A1