Scheduling method and device and storage medium
By generating scheduling schemes using greedy and simulated annealing strategies, the problem of low efficiency in manual scheduling is solved, achieving efficient scheduling of trainees and ensuring reasonable task coverage and trainee training progress.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA SOUTHERN AIRLINES CO LTD
- Filing Date
- 2025-09-29
- Publication Date
- 2026-04-21
AI Technical Summary
In existing technologies, the scheduling of trainees for flight training mainly relies on manual labor, which is inefficient and makes it difficult to guarantee that the number of trainees trained will reach the target number by the end of the scheduling cycle, and the trainee training progress is unreasonable.
A greedy strategy and a simulated annealing strategy are used to solve the set partitioning model based on the scheduling matrix to generate a scheduling scheme, including the objective function and constraints. By obtaining the data of the flight tasks to be scheduled and the trainee information, a scheduling matrix is generated, and the greedy strategy is used to select the task connection. The initial solution is optimized by combining the simulated annealing strategy to obtain the optimal solution.
This improved scheduling efficiency, ensured task coverage, and guaranteed reasonable progress in training students, ensuring that the target number of students trained was achieved by the end of the scheduling cycle.
Smart Images

Figure CN121903192A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of scheduling optimization technology, and in particular to a scheduling method, apparatus and storage medium. Background Technology
[0002] Trainee flight supervision refers to the technical instruction or assessment conducted by flight instructors on flight trainees during flight operations. To obtain the corresponding flight qualification, trainees need to meet certain trainee flight time requirements. When a flight assignment is arranged for a trainee, if a qualified instructor participates, that assignment can be accumulated as trainee flight time. Currently, the scheduling of trainee trainee training is mainly done manually, which is not only inefficient but also makes it difficult to guarantee that the number of trainees completing trainee flight supervision reaches the target number and that the trainee training progress is reasonable by the end of the scheduling cycle. Summary of the Invention
[0003] This invention provides a scheduling method, apparatus, and storage medium to solve the problems existing in the prior art, which can improve scheduling efficiency, ensure task coverage, and ensure that the number of trainees who have completed training reaches the target number as much as possible and the training progress of the trainees is reasonable at the end of the scheduling cycle.
[0004] To achieve the above objectives, embodiments of the present invention provide a scheduling method, including:
[0005] Obtain the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections;
[0006] Based on the greedy strategy and the simulated annealing strategy, the set partitioning model is solved according to the scheduling matrix to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
[0007] As an improvement to the above scheme, the objective function is formula (1), and the constraints include formulas (2), (3), (4), and (5), as follows:
[0008]
[0009] y n ∈{0,1}(5)
[0010] Where N is the set of all tasks n to be scheduled, and S is the set of all trainees s; W s The set of all task connections (LoW, Line of Work) for trainee s, where LoW is the task string executed by a trainee within a scheduling interval; The cost of staff shortage for the pending task n; y n Let n be the number of vacancies for the pending task n; The cost of connecting LoW w to student s's task; The selection status of LoW w for student s's task connection. This represents the coverage status of the LoW w, the connection between the pending task n and the student s's tasks. After executing LoW w for student s, has the training been completed? F represents the target number of trainees to be trained by the end of the scheduling cycle, and c represents the target number of trainees to be trained by the end of the scheduling cycle. f This is a penalty value for trainees who fail to reach the target number of trainees in the training program (penalty value for missing one person).
[0011] As an improvement to the above scheme, generating a scheduling matrix that includes all the trainees and all their task connections includes:
[0012] Based on the data of the flight training tasks to be scheduled and the trainees' scheduling information, enumerate all possible task connections for each trainee.
[0013] Based on the data of the flight training tasks to be scheduled and the task connections, a scheduling matrix is generated according to the groups of trainees.
[0014] The data of flight training tasks to be scheduled includes flight instructor data, each row of the scheduling matrix represents a flight training task to be scheduled, and each column of the scheduling matrix represents a task connection for a student.
[0015] As an improvement to the above scheme, the method of solving the set partitioning model based on the scheduling matrix using a greedy strategy and simulated annealing to obtain the scheduling scheme includes:
[0016] Based on the scheduling matrix, calculate the cost of each task connection for each student, and combine the number of pending tasks covered by the task connection to calculate the average cost corresponding to the task connection.
[0017] Based on the average cost, a greedy strategy is used to select task connections in the scheduling matrix to obtain the initial solution of the set partitioning model;
[0018] The initial solution is optimized using a simulated annealing strategy to obtain the optimal solution of the set partitioning model, and the optimal solution is output as the optimal scheduling scheme.
[0019] As an improvement to the above scheme, the average cost is calculated using formula (6), which is as follows:
[0020]
[0021] in, LoWw is the average cost of connecting tasks to student s; N is the set of all pending tasks n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s.
[0022] As an improvement to the above scheme, the cost is calculated using formulas (7), (8), (9), and (10), as follows:
[0023]
[0024]
[0025] in, For student s, the score for the nth flight training mission is c. s To determine the average score of trainees' historical flight training missions The resulting scheduling coefficient is 1 when the historical flight count is 0, d s To determine the number of available training days for trainee s within a balanced interval, where the balanced interval includes a historical interval, a scheduling interval, and a future interval; 'a' represents the total training time for all trainees within the scheduling interval and the future interval, where the number of trainees is the number of trainees that pre-scheduled instructors can train; 'b' represents the total historical training time for all trainees; and 'r' represents the ratio of the total training time for all trainees to the available training days. s ' is the ratio of trainee flight training time to available flight days under pre-scheduled conditions; HF s The number of available workdays for student s; PF s FF represents the number of available workdays for student s within the scheduling interval. s HL represents the number of available workdays for student s within the future timeframe. s The training schedule for student s within the training zone has been arranged; PL s Trainee s has been scheduled for flight training within the designated time slot; FL s Flight training sessions have been scheduled for students within the current and future timeframes; FL sw The flight time of LoW w for student s's task connection; p is the penalty coefficient; The cost of connecting LoW w for student s's task.
[0026] Historical average score for flight missions [90,100] [80,90) [70,80) (0,70) Scheduling coefficient 1 1.1 1.2 0
[0027] Considering the varying training outcomes among different trainees, the scheduling coefficient is adjusted using the historical average training mission score. The above is a conversion table for the historical average training mission score, which can be configured according to actual needs.
[0028] As an improvement to the above scheme, the step of selecting task connections in the scheduling matrix based on the average cost and using a greedy strategy to obtain the initial solution of the set partitioning model includes:
[0029] The set of all columns in the scheduling matrix is divided into a set of selected columns and a set of optional columns, and the set of selected columns is initialized to an empty set;
[0030] Step 1: Select the task connection with the lowest average cost from the set of optional columns to cover the tasks that have not yet been covered; if there are multiple optional task connections, proceed to Step 2; otherwise, proceed to Step 3.
[0031] Step 2: Select the task line that appears earlier in the column of the scheduling matrix;
[0032] Step 3: Based on the constraints of formula (3), if a task connection of a student is selected, then all task connections of the student are added to the selected column set.
[0033] Step 4: Repeat steps 1 to 3 until all pending tasks are covered, or there are no more task connections in the remaining task connections that can cover the pending tasks that have not yet been covered, to obtain the initial solution of the set partitioning model.
[0034] As an improvement to the above scheme, the simulated annealing strategy is used to optimize the initial solution to obtain the optimal solution of the set partitioning model. This includes parameter initialization and optimization processes. The parameter initialization includes:
[0035] The parameters include the number of optimizations, the maximum number of optimizations, the optimal solution, the current solution, the target value, the optional task connection table, the selected task connection table, the initial temperature, the cooling coefficient, and the taboo table; wherein, the optimal solution and the current solution are both initialized to the initial solution; the target value is initialized to the target value of the formula (1); the optional task connection table is initialized to the set of optional columns when the initial solution is obtained; and the selected task connection table is initialized to the set of selected columns when the initial solution is obtained.
[0036] The optimization process includes:
[0037] A certain proportion of task connections are randomly selected from the current solution for deletion. All task connections of the students corresponding to each deleted task connection are deleted from the optional task connection table and added to the selected task connection table. The deleted task connections are added to the taboo table. If the number of elements in the taboo table exceeds the length of the taboo table, the elements in the taboo table are deleted based on the first-in-first-out principle.
[0038] If there are still un-to-be-covered tasks, the number of optimizations is incremented by one. Based on a greedy selection strategy, a task connection not in the taboo list is selected from the optional task connection table to cover the un-to-be-covered tasks, resulting in a new solution. If the target value corresponding to the new solution is less than the target value corresponding to the current optimal solution, the new solution is accepted as the current optimal solution and assigned to the current solution. Otherwise, the new solution is accepted as the new current solution with a preset probability.
[0039] Multiply the temperature by the cooling coefficient and repeat the above optimization process until the number of optimizations reaches the maximum number of optimizations, or the optimal solution has not been updated for several consecutive rounds. Then, output the current solution as the optimal solution of the set partitioning model.
[0040] To achieve the above objectives, embodiments of the present invention also provide a scheduling device, comprising:
[0041] The scheduling matrix acquisition module is used to acquire the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections.
[0042] The scheduling scheme acquisition module is used to solve the set partitioning model based on the scheduling matrix using a greedy strategy and a simulated annealing strategy to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
[0043] To achieve the above objectives, embodiments of the present invention also provide a scheduling device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor, wherein the processor implements the above-described scheduling method when executing the computer program.
[0044] To achieve the above objectives, embodiments of the present invention also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the above scheduling method.
[0045] To achieve the above objectives, embodiments of the present invention also provide a computer program product, the computer program product including a computer program; wherein, when the computer program is running, it controls the device where the program product is located to execute the above scheduling method.
[0046] Implementing the embodiments of the present invention has the following beneficial effects:
[0047] The scheduling method, apparatus, and storage medium provided in this invention acquire data on flight training tasks to be scheduled and the scheduling information of trainees, and generate a scheduling matrix containing all trainees and all their task connections. Based on a greedy strategy and a simulated annealing strategy, the scheduling matrix is used to solve a set partitioning model to obtain a scheduling scheme. The set partitioning model includes an objective function and constraints, which can improve scheduling efficiency and ensure reasonable training progress for trainees while guaranteeing task coverage. Attached Figure Description
[0048] Figure 1 This is a flowchart of the scheduling method provided in an embodiment of the present invention;
[0049] Figure 2 This is a structural block diagram of the scheduling device provided in an embodiment of the present invention;
[0050] Figure 3 This is a structural block diagram of the scheduling equipment provided in an embodiment of the present invention. Detailed Implementation
[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0052] In the description of this invention, it should be noted that the step numbers in the text are only for the convenience of explaining the specific embodiments and are not intended to limit the order in which the steps are performed.
[0053] See Figure 1 , Figure 1 This is a flowchart of a scheduling method provided in an embodiment of the present invention. The scheduling method includes steps S1 to S2, as detailed below:
[0054] S1. Obtain the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections.
[0055] S2. Based on the greedy strategy and the simulated annealing strategy, the set partitioning model is solved according to the scheduling matrix to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
[0056] In this embodiment of the invention, by acquiring the data of the flight training tasks to be scheduled and the scheduling information of the trainees, a scheduling matrix containing all the trainees and all their task connections is generated; based on the greedy strategy and the simulated annealing strategy, the set partitioning model is solved according to the scheduling matrix to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints, which can improve scheduling efficiency and ensure that the training progress of the trainees is reasonable while ensuring task coverage (minimizing the number of missing trainees).
[0057] In an optional embodiment, the objective function is formula (1), and the constraints include formulas (2), (3), (4), and (5), as follows:
[0058]
[0059]
[0060] y n ∈{0,1}(5)
[0061] Where N is the set of all tasks n to be scheduled, and S is the set of all trainees s; W s The set of all task connections (LoW, Line of Work) for trainee s, where LoW is the task string executed by a trainee within a scheduling interval; The cost of staff shortage for the pending task n; y n Let n be the number of vacancies for the pending task n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s. After executing LoW w for student s, has the training been completed? F represents the target number of trainees to be trained by the end of the scheduling cycle, and c represents the target number of trainees to be trained by the end of the scheduling cycle. f This is a penalty value for trainees who fail to reach the target number of trainees in the training program (penalty value for missing one person).
[0062] It is understood that formula (1) is the objective function, where the first term is the total cost of the unfilled task, the second term is the total cost of the scheduled trainees' tasks, and the third term is the penalty for failing to complete the training of trainees by the end of the scheduling cycle. The optimization objective is to minimize the sum of the three costs. Formula (2) ensures that each pending task is assigned to only one trainee, formula (3) ensures that each trainee is assigned only one LoW (Line of Work), and formulas (4) and (5) are the ranges of values for the variables.
[0063] In an optional embodiment, generating a scheduling matrix containing all the trainees and all their task connections includes:
[0064] Based on the data of the flight training tasks to be scheduled and the trainees' scheduling information, enumerate all possible task connections for each trainee.
[0065] Based on the data of the flight training tasks to be scheduled and the task connections, a scheduling matrix is generated according to the groups of trainees.
[0066] The data of flight training tasks to be scheduled includes flight instructor data, each row of the scheduling matrix represents a flight training task to be scheduled, and each column of the scheduling matrix represents a task connection for a student.
[0067] Understandably, when generating task connections for each student, only the pre-arranged flight tasks of instructors who can take the student are processed. That is, the pre-arranged flight tasks are first manually assigned to instructors, and then assigned to students.
[0068] For example, the system loads the data of the tasks to be scheduled for pilot training and the scheduling information of the trainees, and enumerates all possible task connections for each trainee. Based on the data of the tasks to be scheduled for pilot training and the task connections, a scheduling matrix is generated, grouped by trainees. As shown in Table 1, the scheduling matrix is a set of all possible task connections for all trainees. Each row of the scheduling matrix represents a data of the tasks to be scheduled for pilot training, and each column represents a task connection for a trainee. For example, the columns in S1 contain all possible task connections for the first trainee, but a trainee can ultimately select at most one column as the scheduling scheme; the first column of S1 represents the execution of task P3 after the first trainee completes task P1.
[0069] Table 1 Example of a scheduling matrix
[0070] <![CDATA[S1]]> <![CDATA[S2]]> … <![CDATA[S S ]]> <![CDATA[P1]]> 1 1 1 1 1 1 … 1 1 1 <![CDATA[P2]]> 0 0 1 1 1 0 … 0 1 0 <![CDATA[P3]]> 1 1 0 0 0 0 … 1 0 0 ... ... ... ... ... <![CDATA[P N ]]> 0 0 0 1 0 0 … 1 0 1
[0071] The scheduling matrix represents all possible scenarios where the tasks to be scheduled are covered by the student's task connections. The scheduling matrix is regarded as a pool of candidate task connections, from which task connections are selected to cover the tasks to be scheduled, ensuring that each task to be scheduled is covered only once, and each student has at most one task connection selected.
[0072] If there are |N| tasks to be scheduled, then the |N|-dimensional Boolean vector F represents the coverage status of task n. n =1 indicates that task n has been covered and cannot be covered by other task connections.
[0073] If there are |G| students, then the |S|-dimensional Boolean vector G represents the selection of the task connection for student s. s =1 indicates that all LoW sets of student s are included in the set of selected task connections.
[0074] In one optional embodiment, the step of solving the set partitioning model based on the scheduling matrix using a greedy strategy and a simulated annealing strategy to obtain the scheduling scheme includes:
[0075] Based on the scheduling matrix, calculate the cost of each task connection for each student, and combine the number of pending tasks covered by the task connection to calculate the average cost corresponding to the task connection.
[0076] Based on the average cost, a greedy strategy is used to select task connections in the scheduling matrix to obtain the initial solution of the set partitioning model;
[0077] The initial solution is optimized using a simulated annealing strategy to obtain the optimal solution of the set partitioning model, and the optimal solution is output as the optimal scheduling scheme.
[0078] In this embodiment of the invention, based on the greedy strategy and the simulated annealing strategy, the optimal scheduling scheme with the lowest cost can be searched efficiently in the solution space, thereby improving scheduling efficiency and ensuring reasonable training progress for trainees while guaranteeing task coverage.
[0079] In an optional embodiment, the average cost is calculated using formula (6), which is as follows:
[0080]
[0081] in, LoWw is the average cost of connecting tasks to student s; N is the set of all pending tasks n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s.
[0082] In an optional embodiment, the cost is calculated using formulas (7), (8), (9), and (10), as follows:
[0083]
[0084]
[0085] in, For student s, the score for the nth flight training mission is c. s To determine the average score of trainees' historical flight training missions The resulting scheduling coefficient is 1 when the historical flight count is 0, d s To determine the number of available training days for trainee s within a balanced interval, where the balanced interval includes a historical interval, a scheduling interval, and a future interval; 'a' represents the total training time for all trainees within the scheduling interval and the future interval, where the number of trainees is the number of trainees that pre-scheduled instructors can train; 'b' represents the total historical training time for all trainees; 'r' represents the ratio of the total training time for all trainees to the available training days; and 's' represents the ratio of the total training time for all trainees to the number of available training days. s ' is the ratio of trainee flight training time to available flight days under pre-scheduled conditions; HF s The number of available workdays for student s; PF s FF represents the number of available workdays for student s within the scheduling interval. s HL represents the number of available workdays for student s within the future timeframe. s The training schedule for student s within the training zone has been arranged; PL s Trainee s has been scheduled for flight training within the designated time slot; FL s Flight training sessions have been scheduled for students within the current and future timeframes; FL sw Let p be the flight time of LoW w for student s's task connection; p is the penalty coefficient; and is the cost of LoW w for student s's task connection.
[0086] Historical average score for flight missions [90,100] [80,90) [70,80) (0,70) Scheduling coefficient 1 1.1 1.2 0
[0087] Considering the varying training outcomes among different trainees, the historical average training mission score is used to adjust the scheduling coefficient. The above is a conversion table of historical average training mission scores, obtained through a questionnaire survey. This table can be modified as needed during actual scheduling.
[0088] Understandably, one of the goals of trainee mentoring scheduling is to ensure a reasonable mentoring progress, that is, to adjust the scheduling coefficient based on the trainee's training performance (historical average mentoring task score), thereby adjusting their target flight time. The cost can be measured by scoring mentoring time. Considering that some of the scheduled LoW (Lower Wing) flight time may fall within the future range, it is necessary to score the future range.
[0089] In an optional embodiment, the step of selecting task connections in the scheduling matrix based on the average cost and using a greedy strategy to obtain an initial solution for the set partitioning model includes:
[0090] The set of all columns in the scheduling matrix is divided into a set of selected columns and a set of optional columns, and the set of selected columns is initialized to an empty set;
[0091] Step 1: Select the task connection with the lowest average cost from the set of optional columns to cover the tasks that have not yet been covered; if there are multiple optional task connections, proceed to Step 2; otherwise, proceed to Step 3.
[0092] Step 2: Select the task line that appears earlier in the column of the scheduling matrix;
[0093] Step 3: Based on the constraints of formula (3), if a task connection of a student is selected, then all task connections of the student are added to the selected column set.
[0094] Step 4: Repeat steps 1 to 3 until all pending tasks are covered, or there are no more task connections in the remaining task connections that can cover the pending tasks that have not yet been covered, to obtain the initial solution of the set partitioning model.
[0095] For example, the average cost of the task connection LoWw for student s is calculated by formula (6), which is the cost of the task connection divided by the number of tasks covered by the task connection.
[0096] Based on a greedy strategy, task connections are selected from the scheduling matrix to obtain the initial solution of the set partitioning model. The specific steps are as follows:
[0097] Let U be the set of all columns (i.e. task connections) in the scheduling matrix, L be the set of selected columns initialized to an empty set, and P be the set of optional columns, satisfying P = WL.
[0098] Step 1: Select the task connection with the lowest average cost from the set of optional columns P to cover the tasks that have not yet been covered; if there are multiple optional task connections, proceed to Step 2; otherwise, proceed to Step 4.
[0099] Step 2: Select the task connection with the lowest cost. If there are multiple task connections to choose from, proceed to Step 3; otherwise, proceed to Step 4.
[0100] Step 3: Select the task that appears earlier in the column of the scheduling matrix;
[0101] Step 4: Based on formula (3), each student is assigned only one task connection. If a task connection LoWw of student s is selected, then set G. s =1, set W to all LowW sets of student s. s Adding to the selected column set means updating the selected column set to L∪W. s ;
[0102] Step 5: Repeat steps 1 to 4 until all pending tasks are covered, or there are no more task connections in the remaining task connections that can cover the pending tasks that have not yet been covered, to obtain the initial solution.
[0103] In this embodiment of the invention, the columns of the scheduling matrix are divided into selected columns and optional columns. By selecting the task connection with the lowest average cost and updating the set of selected columns step by step according to the column number rule, until all tasks to be scheduled are covered, an initial solution is obtained. This ensures that each task to be scheduled is covered as much as possible, avoids omissions, and can improve task coverage and scheduling efficiency.
[0104] In an optional embodiment, the step of optimizing the initial solution using a simulated annealing strategy to obtain the optimal solution of the set partitioning model includes parameter initialization and optimization processes, wherein the parameter initialization includes:
[0105] The parameters include the number of optimizations, the maximum number of optimizations, the optimal solution, the current solution, the target value, the optional task connection table, the selected task connection table, the initial temperature, the cooling coefficient, and the taboo table; wherein, the optimal solution and the current solution are both initialized to the initial solution; the target value is initialized to the target value of the formula (1); the optional task connection table is initialized to the set of optional columns when the initial solution is obtained; and the selected task connection table is initialized to the set of selected columns when the initial solution is obtained.
[0106] The optimization process includes:
[0107] A certain proportion of task connections are randomly selected from the current solution for deletion. All task connections of the students corresponding to each deleted task connection are deleted from the optional task connection table and added to the selected task connection table. The deleted task connections are added to the taboo table. If the number of elements in the taboo table exceeds the length of the taboo table, the elements in the taboo table are deleted based on the first-in-first-out principle.
[0108] If there are still un-to-be-covered tasks, the number of optimizations is incremented by one. Based on a greedy selection strategy, a task connection not in the taboo list is selected from the optional task connection table to cover the un-to-be-covered tasks, resulting in a new solution. If the target value corresponding to the new solution is less than the target value corresponding to the current optimal solution, the new solution is accepted as the current optimal solution and assigned to the current solution. Otherwise, the new solution is accepted as the new current solution with a preset probability.
[0109] Multiply the temperature by the cooling coefficient and repeat the above optimization process until the number of optimizations reaches the maximum number of optimizations, or the optimal solution has not been updated for several consecutive rounds. Then, output the current solution as the optimal solution of the set partitioning model.
[0110] Understandably, the initial solution obtained based on the greedy strategy may not be ideal, so the simulated annealing strategy is used to optimize the initial solution.
[0111] In this embodiment of the invention, the simulated annealing algorithm seeks the global optimum as much as possible during the gradual cooling process to avoid getting trapped in local optima, so that the final scheduling plan can ensure that the trainees' training progress is reasonable.
[0112] For example, optimizing the initial solution using a simulated annealing strategy includes: Parameter initialization: The parameters include the number of optimizations. Maximum number of optimizations Optimal solution Current solution Target value Optional task connection table Selected Task Connection Table ,temperature Cooling coefficient Taboo List ; whereby the optimal solution and the current solution All are initialized to the initial solution; the target value is set to... Initialize the target value of the solution obtained based on the greedy strategy (i.e., the value of the formula (1)); connect the optional task connection table Initialize the set of optional columns to obtain the initial solution; connect the selected tasks to the list. Initialize the selected column set to the initial solution obtained; initialize the number of optimization iterations. Initialize the temperature Initialize the cooling coefficient Initialize the tabu table The length is 20; Optimization process: From the current solution A certain proportion of task connections are randomly selected and deleted, and the optional task connection table is updated. and the selected task connection table That is, remove all task connections of the student corresponding to each deleted task connection from the optional task connection table. Delete and then add to the selected task connection table. The deleted task connection will be added to the taboo list. If the aforementioned contraindication table The elements in the list exceed the taboo list. If the length is 20, then the tabu list is deleted based on the first-in, first-out principle. Elements in; At this point, several pending tasks have not yet been covered, and the number of optimizations already achieved... Accumulate once, based on a greedy selection strategy, from the available task connection table Select not listed in the taboo list Several tasks in the process are connected to cover these pending tasks, resulting in a new solution. If the new solution Corresponding target value Less than the target value corresponding to the current optimal solution ,Right now Then accept the new solution. As the current optimal solution and the new solution Assign a value to the current solution Otherwise, based on probability. Accept the new solution As the new current solution .
[0116] Multiply the temperature T by the cooling coefficient alpha, and repeat the above optimization process until the number of optimizations reaches the maximum number of optimizations (i.e., k = k). max ), or the optimal solution X opt After several consecutive rounds without updates, output the current solution X. cur This serves as the optimal solution for the set partitioning model.
[0117] The scheduling method provided in this embodiment of the invention obtains the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generates a scheduling matrix containing all the trainees and all their task connections; based on a greedy strategy and a simulated annealing strategy, the scheduling matrix is used to solve the set partitioning model to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints, which can improve scheduling efficiency and ensure that the training progress of the trainees is reasonable while ensuring task coverage.
[0118] See Figure 2 , Figure 2 This is a structural block diagram of the scheduling device 10 provided in an embodiment of the present invention. The scheduling device 10 includes:
[0119] The scheduling matrix acquisition module 11 is used to acquire the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections.
[0120] The scheduling scheme acquisition module 12 is used to solve the set partitioning model based on the scheduling matrix using a greedy strategy and a simulated annealing strategy to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
[0121] Optionally, the objective function is formula (1), and the constraints include formulas (2), (3), (4), and (5), as follows:
[0122]
[0123] y n ∈{0,1}(5)
[0124] Where N is the set of all tasks n to be scheduled, and S is the set of all trainees s; W s The set of all task connections (LoW, Line of Work) for trainee s, where LoW is the task string executed by a trainee within a scheduling interval; The cost of staff shortage for the pending task n; y n Let n be the number of vacancies for the pending task n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s. After executing LoWw for student s, has the training program been completed? F represents the target number of trainees to be trained by the end of the scheduling cycle, and c represents the target number of trainees to be trained by the end of the scheduling cycle. fThis is a penalty value for trainees who fail to reach the target number of trainees in the training program (penalty value for missing one person).
[0125] Optionally, the scheduling matrix acquisition module 11 is further configured to:
[0126] Based on the data of the flight training tasks to be scheduled and the trainees' scheduling information, enumerate all possible task connections for each trainee.
[0127] Based on the data of the flight training tasks to be scheduled and the task connections, a scheduling matrix is generated according to the groups of trainees.
[0128] The data of flight training tasks to be scheduled includes flight instructor data, each row of the scheduling matrix represents a flight training task to be scheduled, and each column of the scheduling matrix represents a task connection for a student.
[0129] Optionally, the scheduling scheme acquisition module 12 is further used for:
[0130] Based on the scheduling matrix, calculate the cost of each task connection for each student, and combine the number of pending tasks covered by the task connection to calculate the average cost corresponding to the task connection.
[0131] Based on the average cost, a greedy strategy is used to select task connections in the scheduling matrix to obtain the initial solution of the set partitioning model;
[0132] The initial solution is optimized using a simulated annealing strategy to obtain the optimal solution of the set partitioning model, and the optimal solution is output as the optimal scheduling scheme.
[0133] Optionally, the average cost is calculated using formula (6), which is as follows:
[0134]
[0135] in, LoWw is the average cost of connecting tasks to student s; N is the set of all pending tasks n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s.
[0136] Optionally, the cost is calculated using formulas (7), (8), (9), and (10), as follows:
[0137]
[0138] in, For student s, the score for the nth flight training mission is c. s To determine the average score of trainees' historical flight training missions The resulting scheduling coefficient is 1 when the historical flight count is 0, d s To determine the number of available training days for trainee s within a balanced interval, where the balanced interval includes a historical interval, a scheduling interval, and a future interval; 'a' represents the total training time for all trainees within the scheduling interval and the future interval, where the number of trainees is the number of trainees that pre-scheduled instructors can train; 'b' represents the total historical training time for all trainees; 'r' represents the ratio of the total training time for all trainees to the available training days; and 's' represents the ratio of the total training time for all trainees to the number of available training days. s ' is the ratio of trainee flight training time to available flight days under pre-scheduled conditions; HF s The number of available workdays for student s; PF s FF represents the number of available workdays for student s within the scheduling interval. s HL represents the number of available workdays for student s within the future timeframe. s The training schedule for student s within the training zone has been arranged; PL s Trainee s has been scheduled for flight training within the designated time slot; FL s Flight training sessions have been scheduled for students within the current and future timeframes; FL sw Let p be the flight time of LoW w for student s's task connection; p is the penalty coefficient; and is the cost of LoW w for student s's task connection.
[0139] Historical average score for flight missions [90,100] [80,90) [70,80) (0,70) Scheduling coefficient 1 1.1 1.2 0
[0140] Considering the varying training outcomes among different trainees, the scheduling coefficient is adjusted using the historical average training mission score. The above is a conversion table for the historical average training mission score, which can be configured according to actual needs.
[0141] Optionally, the scheduling scheme acquisition module 12 is further used for:
[0142] The set of all columns in the scheduling matrix is divided into a set of selected columns and a set of optional columns, and the set of selected columns is initialized to an empty set;
[0143] Step 1: Select the task connection with the lowest average cost from the set of optional columns to cover the tasks that have not yet been covered; if there are multiple optional task connections, proceed to Step 2; otherwise, proceed to Step 3.
[0144] Step 2: Select the task line that appears earlier in the column of the scheduling matrix;
[0145] Step 3: Based on the constraints of formula (3), if a task connection of a student is selected, then all task connections of the student are added to the selected column set.
[0146] Step 4: Repeat steps 1 to 3 until all pending tasks are covered, or there are no more task connections in the remaining task connections that can cover the pending tasks that have not yet been covered, to obtain the initial solution of the set partitioning model.
[0147] Optionally, the scheduling scheme acquisition module 12 is further used for:
[0148] The parameters include the number of optimizations, the maximum number of optimizations, the optimal solution, the current solution, the target value, the optional task connection table, the selected task connection table, the initial temperature, the cooling coefficient, and the taboo table; wherein, the optimal solution and the current solution are both initialized to the initial solution; the target value is initialized to the target value of the formula (1); the optional task connection table is initialized to the set of optional columns when the initial solution is obtained; and the selected task connection table is initialized to the set of selected columns when the initial solution is obtained.
[0149] The optimization process includes:
[0150] A certain proportion of task connections are randomly selected from the current solution for deletion. All task connections of the students corresponding to each deleted task connection are deleted from the optional task connection table and added to the selected task connection table. The deleted task connections are added to the taboo table. If the number of elements in the taboo table exceeds the length of the taboo table, the elements in the taboo table are deleted based on the first-in-first-out principle.
[0151] If there are still un-to-be-covered tasks, the number of optimizations is incremented by one. Based on a greedy selection strategy, a task connection not in the taboo list is selected from the optional task connection table to cover the un-to-be-covered tasks, resulting in a new solution. If the target value corresponding to the new solution is less than the target value corresponding to the current optimal solution, the new solution is accepted as the current optimal solution and assigned to the current solution. Otherwise, the new solution is accepted as the new current solution with a preset probability.
[0152] Multiply the temperature by the cooling coefficient and repeat the above optimization process until the number of optimizations reaches the maximum number of optimizations, or the optimal solution has not been updated for several consecutive rounds. Then, output the current solution as the optimal solution of the set partitioning model.
[0153] It is worth noting that the working process of each module in the scheduling device 10 described in the embodiments of the present invention can refer to the working process of the scheduling method described in the above embodiments, and will not be repeated here.
[0154] The scheduling device provided in this embodiment of the invention acquires the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generates a scheduling matrix containing all the trainees and all their task connections; based on a greedy strategy and a simulated annealing strategy, the scheduling matrix is used to solve the set partitioning model to obtain a scheduling scheme; wherein, the set partitioning model includes an objective function and constraints, which can improve scheduling efficiency and ensure that the training progress of the trainees is reasonable while ensuring task coverage.
[0155] Furthermore, embodiments of the present invention also provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the above-described scheduling method.
[0156] This invention also provides a computer program product, which includes a computer program; wherein, when the computer program is running, it controls the device where the computer program product is located to execute the above-mentioned scheduling method.
[0157] See Figure 3 , Figure 3 This is a structural block diagram of a scheduling method, apparatus, and storage medium device 20 provided in an embodiment of the present invention. The scheduling device 20 includes: a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, it implements the steps in the above-described scheduling method embodiment. Alternatively, when the processor 21 executes the computer program, it implements the functions of each module / unit in the above-described apparatus embodiments.
[0158] For example, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present invention. The one or more modules / units may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the scheduling device 20.
[0159] The scheduling device 20 may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will understand that the schematic diagram is merely an example of the scheduling device 20 and does not constitute a limitation on the scheduling device 20. It may include more or fewer components than shown in the diagram, or combine certain components, or different components. For example, the scheduling device 20 may also include input / output devices, network access devices, buses, etc.
[0160] The processor 21 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor. The processor 21 is the control center of the scheduling equipment 20, connecting all parts of the scheduling equipment 20 via various interfaces and lines.
[0161] The memory 22 can be used to store the computer programs and / or modules. The processor 21 implements various functions of the scheduling device 20 by running or executing the computer programs and / or modules stored in the memory 22 and calling the data stored in the memory 22. The memory 22 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the mobile phone (such as audio data, phonebook, etc.). In addition, the memory 22 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, memory, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0162] If the modules / units integrated into the scheduling equipment 20 are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by the processor 21, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc.
[0163] The above description represents the preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of the present invention, and these improvements and modifications are also considered to be within the scope of protection of the present invention.
Claims
1. A scheduling method, characterized in that, include: Obtain the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections; Based on the greedy strategy and the simulated annealing strategy, the set partitioning model is solved according to the scheduling matrix to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
2. The scheduling method as described in claim 1, characterized in that, The objective function is Equation (1), and the constraints include Equations (2), (3), (4), and (5), as follows: y n ∈{0,1}(5) Where N is the set of all tasks n to be scheduled, and S is the set of all trainees s; W s The set of all task connections (LoW, Line of Work) for trainee s, where LoW is the task string executed by a trainee within a scheduling interval; The cost of staff shortage for the pending task n; y n Let n be the number of vacancies for the pending task n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s. After executing LoWw for student s, has the training program been completed? F represents the target number of trainees trained by the end of the scheduling cycle, and c represents the target number of trainees trained. f It is a penalty value for trainees who fail to reach the target number of trainees who have completed the training.
3. The scheduling method as described in claim 2, characterized in that, The process of generating a scheduling matrix that includes all the trainees and all their task connections includes: Based on the data of the flight training tasks to be scheduled and the trainees' scheduling information, enumerate all possible task connections for each trainee. Based on the data of the flight training tasks to be scheduled and the task connections, a scheduling matrix is generated according to the groups of trainees. The data of flight training tasks to be scheduled includes flight instructor data, each row of the scheduling matrix represents a flight training task to be scheduled, and each column of the scheduling matrix represents a task connection for a student.
4. The scheduling method as described in claim 3, characterized in that, The method based on greedy and simulated annealing strategies, solving the set partitioning model according to the scheduling matrix to obtain the scheduling scheme includes: Based on the scheduling matrix, calculate the cost of each task connection for each student, and combine the number of pending tasks covered by the task connection to calculate the average cost corresponding to the task connection. Based on the average cost, a greedy strategy is used to select task connections in the scheduling matrix to obtain the initial solution of the set partitioning model; The initial solution is optimized using a simulated annealing strategy to obtain the optimal solution of the set partitioning model, which is then used as the scheduling scheme.
5. The scheduling method as described in claim 4, characterized in that, The average cost is calculated using formula (6), which is as follows: in, LoWw is the average cost of connecting tasks to student s; N is the set of all pending tasks n; The cost of connecting LoWw to student s's task; The selection status of LoWw for student s's task connection. This refers to the coverage status of the task connection LoWw between the scheduled task n and the student s.
6. The scheduling method as described in claim 5, characterized in that, The cost is calculated using formulas (7), (8), (9), and (10), as follows: in, For student s, the score for the nth flight training mission is c. s To determine the average score of trainees' historical flight training missions The resulting scheduling coefficient is 1 when the historical flight count is 0, d s To determine the number of available training days for trainee s within a balanced interval, where the balanced interval includes a historical interval, a scheduling interval, and a future interval; 'a' represents the total training time for all trainees within the scheduling interval and the future interval, where the number of trainees is the number of trainees that pre-scheduled instructors can train; 'b' represents the total historical training time for all trainees; 'r' represents the ratio of the total training time for all trainees to the available training days; and 's' represents the ratio of the total training time for all trainees to the number of available training days. s ' is the ratio of trainee flight training time to available flight days under pre-scheduled conditions; HF s The number of available workdays for student s; PF s FF represents the number of available workdays for student s within the scheduling interval. s HL represents the number of available workdays for student s within the future timeframe. s The training schedule for student s within the training zone has been arranged; PL s Trainee s has been scheduled for flight training within the designated time slot; FL s Flight training sessions have been scheduled for students within the current and future timeframes; FL sw Let p be the flight time of LoW w for student s's task connection; p is the penalty coefficient; and is the cost of LoW w for student s's task connection.
7. The scheduling method as described in claim 4, characterized in that, The step of selecting task connections in the scheduling matrix based on the average cost and using a greedy strategy to obtain the initial solution of the set partitioning model includes: The set of all columns in the scheduling matrix is divided into a set of selected columns and a set of optional columns, and the set of selected columns is initialized to an empty set; Step 1: Select the task connection with the lowest average cost from the set of optional columns to cover the tasks that have not yet been covered; if there are multiple optional task connections, proceed to Step 2; otherwise, proceed to Step 3. Step 2: Select the task line that appears earlier in the column of the scheduling matrix; Step 3: Based on the constraints of formula (3), if a task connection of a student is selected, then all task connections of the student are added to the selected column set. Step 4: Repeat steps 1 to 3 until all pending tasks are covered, or there are no more task connections in the remaining task connections that can cover the pending tasks that have not yet been covered, to obtain the initial solution of the set partitioning model.
8. The scheduling method as described in claim 7, characterized in that, The process of optimizing the initial solution using simulated annealing to obtain the optimal solution of the set partitioning model includes parameter initialization and optimization. The parameter initialization includes: The parameters include the number of optimizations, the maximum number of optimizations, the optimal solution, the current solution, the target value, the optional task connection table, the selected task connection table, the initial temperature, the cooling coefficient, and the taboo table; wherein, the optimal solution and the current solution are both initialized to the initial solution; the target value is initialized to the target value of the formula (1); the optional task connection table is initialized to the set of optional columns when the initial solution is obtained; and the selected task connection table is initialized to the set of selected columns when the initial solution is obtained. The optimization process includes: A certain proportion of task connections are randomly selected from the current solution for deletion. All task connections of the students corresponding to each deleted task connection are deleted from the optional task connection table and added to the selected task connection table. The deleted task connections are added to the taboo table. If the number of elements in the taboo table exceeds the length of the taboo table, the elements in the taboo table are deleted based on the first-in-first-out principle. If there are still un-to-be-covered tasks, the number of optimizations is incremented by one. Based on a greedy selection strategy, a task connection not in the taboo list is selected from the optional task connection table to cover the un-to-be-covered tasks, resulting in a new solution. If the target value corresponding to the new solution is less than the target value corresponding to the current optimal solution, the new solution is accepted as the current optimal solution and assigned to the current solution. Otherwise, the new solution is accepted as the new current solution with a preset probability. Multiply the temperature by the cooling coefficient and repeat the above optimization process until the number of optimizations reaches the maximum number of optimizations, or the optimal solution has not been updated for several consecutive rounds. Then, output the current solution as the optimal solution of the set partitioning model.
9. A scheduling device, characterized in that, include: The scheduling matrix acquisition module is used to acquire the data of the flight training tasks to be scheduled and the scheduling information of the trainees, and generate a scheduling matrix containing all the trainees and all their task connections. The scheduling scheme acquisition module is used to solve the set partitioning model based on the scheduling matrix using a greedy strategy and a simulated annealing strategy to obtain the scheduling scheme; wherein, the set partitioning model includes an objective function and constraints.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program; wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the scheduling method as described in any one of claims 1 to 8.