Scheduling methods, devices, systems and computer-readable storage media

By establishing a predictive model and engine system, and combining historical data with current business data, employee scheduling was optimized, solving the problems of business volume prediction accuracy and scheduling rationality, and achieving more efficient scheduling results.

CN115358550BActive Publication Date: 2025-10-31CHINA MERCHANTS BANK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210934950.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-03
Publication Date
2025-10-31
Estimated Expiration
2042-08-03

AI Technical Summary

Technical Problem

Existing technologies suffer from low accuracy in predicting workload and poor rationality in employee scheduling, especially when the amount of raw data is small and lacking, leading to reliance on human experience and frequent changes in job combinations.

Method used

By acquiring historical business data, a predictive model is established. Using the predictive model and business entity attribute values ​​and constraints, combined with algorithms and rule engines, the scheduling results are optimized, including model training, validation, and search algorithm optimization, and the scheduling results are dynamically adjusted.

Benefits of technology

It improves the accuracy of business volume forecasting and the rationality of scheduling results. By combining the forecasting model and the engine system, it achieves more accurate business volume forecasting and more reasonable scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115358550B_ABST
    Figure CN115358550B_ABST
Patent Text Reader

Abstract

This invention discloses a scheduling method, apparatus, system, and computer-readable storage medium. The method includes: acquiring historical business data; determining a prediction dataset based on the historical business data; inputting the prediction dataset into a pre-created prediction model to obtain a business volume prediction result; acquiring business entity attribute values ​​and constraints; and determining a target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result. This invention improves the accuracy of business volume prediction by using a pre-created prediction model to predict business volume based on historical business data, and improves the rationality of the scheduling result by determining the target scheduling result based on the business entity attribute values, constraints, and the business volume prediction result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of artificial intelligence technology, and in particular to scheduling methods, apparatus, systems and computer-readable storage media. Background Technology

[0002] Currently, various industries generally face two difficulties in employee scheduling: first, due to limited and incomplete raw data, business volume forecasting relies heavily on manual experience, resulting in low accuracy; second, the low accuracy of business volume forecasts, coupled with the large number of employees, positions, and job combinations, and frequent changes in personnel-position configurations, leads to low rationality in the resulting scheduling. Therefore, improving the accuracy of business volume forecasting and the rationality of scheduling results are urgent issues to be addressed. Summary of the Invention

[0003] The main objective of this invention is to provide a scheduling method, apparatus, system, and computer-readable storage medium, aiming to solve the problem of how to improve the accuracy of business volume forecasting and the rationality of scheduling results.

[0004] To achieve the above objectives, the present invention provides a scheduling method, which includes the following steps:

[0005] Acquire historical business data, determine a prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain business volume prediction results;

[0006] Obtain the business entity attribute values ​​and constraints, and determine the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction results.

[0007] Optionally, before the step of determining the prediction dataset based on the historical business data and inputting the prediction dataset into a pre-created prediction model to obtain the business volume prediction result, the following steps are included:

[0008] The training dataset and validation dataset are determined based on the historical business data, and the model is trained based on the training dataset to obtain an initial model;

[0009] The initial model is validated based on the validation dataset to obtain validation results. If the validation results meet the first preset condition, the initial model is used as the prediction model.

[0010] Optionally, the steps of obtaining business entity attribute values ​​and constraints, and determining the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result include:

[0011] Obtain current business data, and determine the attribute values ​​of business entities based on the current business data through the business engine;

[0012] Obtain the current scheduling rules and determine the constraints based on the current scheduling rules using the rule engine;

[0013] The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results.

[0014] Optionally, the step of determining the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction results through the algorithm engine and the rule engine includes:

[0015] The algorithm engine calculates a first pre-scheduling result set based on the business entity attribute values, the constraints, and the business volume prediction results, and then determines a second pre-scheduling result set from the first pre-scheduling result set based on a preset search action.

[0016] The second pre-scheduling result set is input into the rule engine, and the rule engine scores the second pre-scheduling result set according to the constraints to obtain a score result set;

[0017] If the set of scoring results meets the second preset condition, then the second pre-scheduling result with the best scoring result is selected from the second pre-scheduling result set as the target scheduling result;

[0018] If the set of scoring results does not meet the second preset condition, the following step is repeated: the algorithm engine determines the second pre-scheduling result set from the first pre-scheduling result set according to the preset search action.

[0019] Optionally, the step of determining the second pre-scheduling result set from the first pre-scheduling result set by the algorithm engine according to a preset search action includes:

[0020] The algorithm engine searches for a preset number of first pre-schedule results in the first pre-schedule result set, and then, according to a preset search action, performs random job changes and / or random employee exchanges on each of the preset number of first pre-schedule results to obtain a second pre-schedule result set.

[0021] Optionally, after the steps of obtaining business entity attribute values ​​and constraints, and determining the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result, the method further includes:

[0022] According to a preset period, the current task volume data is obtained, and the target scheduling result is adjusted based on the current task volume data, the business entity attribute value, and the business volume prediction result.

[0023] Schedule shifts based on the adjusted target schedule results.

[0024] Optionally, the step of adjusting the target scheduling result based on the current task volume data, the business entity attribute values, and the business volume prediction results includes:

[0025] The traffic diversion threshold is calculated based on the current task volume data, the business entity attribute values, and the business volume prediction results.

[0026] The pressure index is calculated based on the current task volume data and the attribute values ​​of the business entities, and the target scheduling result is adjusted based on the diversion threshold and the pressure index.

[0027] Furthermore, to achieve the above objectives, the present invention also provides a scheduling device, the scheduling device comprising:

[0028] The acquisition module is used to acquire historical business data, determine a prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain the business volume prediction result.

[0029] The determination module is used to obtain the attribute values ​​and constraints of the business entities, and determine the target scheduling result based on the attribute values ​​of the business entities, the constraints, and the business volume prediction result.

[0030] Preferably, the acquisition module is further configured to:

[0031] The training dataset and validation dataset are determined based on the historical business data, and the model is trained based on the training dataset to obtain the initial model;

[0032] The initial model is validated based on the validation dataset to obtain validation results. If the validation results meet the first preset condition, the initial model is used as the prediction model.

[0033] Preferably, the determining module is further configured to:

[0034] Obtain current business data, and determine the attribute values ​​of business entities based on the current business data through the business engine;

[0035] Obtain the current scheduling rules and determine the constraints based on the current scheduling rules using the rule engine;

[0036] The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results.

[0037] Preferably, the determining module is further configured to:

[0038] The algorithm engine calculates a first pre-scheduling result set based on the business entity attribute values, the constraints, and the business volume prediction results, and then determines a second pre-scheduling result set from the first pre-scheduling result set based on a preset search action.

[0039] The second pre-scheduling result set is input into the rule engine, and the rule engine scores the second pre-scheduling result set according to the constraints to obtain a score result set;

[0040] If the set of scoring results meets the second preset condition, then the second pre-scheduling result with the best scoring result is selected from the second pre-scheduling result set as the target scheduling result;

[0041] If the set of scoring results does not meet the second preset condition, the following step is repeated: the algorithm engine determines the second pre-scheduling result set from the first pre-scheduling result set according to the preset search action.

[0042] Preferably, the determining module is further configured to:

[0043] The algorithm engine searches for a preset number of first pre-schedule results in the first pre-schedule result set, and then, according to a preset search action, performs random job changes and / or random employee exchanges on each of the preset number of first pre-schedule results to obtain a second pre-schedule result set.

[0044] Preferably, the determining module further includes an adjusting module, the adjusting module being used for:

[0045] According to a preset period, the current task volume data is obtained, and the target scheduling result is adjusted based on the current task volume data, the business entity attribute value, and the business volume prediction result.

[0046] Schedule shifts based on the adjusted target schedule results.

[0047] Preferably, the adjustment module is further configured to:

[0048] The traffic diversion threshold is calculated based on the current task volume data, the business entity attribute values, and the business volume prediction results.

[0049] The pressure index is calculated based on the current task volume data and the attribute values ​​of the business entities, and the target scheduling result is adjusted based on the diversion threshold and the pressure index.

[0050] In addition, to achieve the above objectives, the present invention also provides a scheduling system, the scheduling system comprising: a memory, a processor, and a scheduling program stored in the memory and executable on the processor, wherein the scheduling program, when executed by the processor, implements the steps of the scheduling method as described above.

[0051] In addition, to achieve the above objectives, the present invention also provides a computer-readable storage medium storing a scheduling program, which, when executed by a processor, implements the steps of the scheduling method described above.

[0052] The scheduling method proposed in this invention involves acquiring historical business data, determining a prediction dataset based on the historical business data, and inputting the prediction dataset into a pre-created prediction model to obtain a business volume prediction result. It also involves acquiring business entity attribute values ​​and constraints, and determining a target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result. This invention improves the accuracy of business volume prediction by using a pre-created prediction model to predict business volume based on historical business data, and enhances the rationality of the scheduling result by determining the target scheduling result based on the business entity attribute values, constraints, and the business volume prediction result. Attached Figure Description

[0053] Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention;

[0054] Figure 2 This is a flowchart illustrating the first embodiment of the scheduling method of the present invention.

[0055] The realization of the objective of this invention, its functional features and advantages will be further explained with reference to the accompanying drawings through a series of embodiments. Detailed Implementation

[0056] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0057] like Figure 1 As shown, Figure 1 This is a schematic diagram of the device structure of the hardware operating environment involved in the embodiments of the present invention.

[0058] The device in this embodiment of the invention can be a PC or a server.

[0059] like Figure 1As shown, the device may include: a processor 1001, such as a CPU; a network interface 1004; a user interface 1003; a memory 1005; and a communication bus 1002. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as a disk drive. Optionally, the memory 1005 may also be a storage device independent of the aforementioned processor 1001.

[0060] Those skilled in the art will understand that Figure 1 The device structure shown does not constitute a limitation on the device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0061] like Figure 1 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a scheduling program.

[0062] The operating system is a program that manages and controls the scheduling system and software resources, and supports the operation of the network communication module, user interface module, scheduling program and other programs or software; the network communication module is used to manage and control the network interface 1002; the user interface module is used to manage and control the user interface 1003.

[0063] exist Figure 1 In the scheduling system shown, the scheduling system calls the scheduling program stored in the memory 1005 through the processor 1001 and executes the operations in the various embodiments of the scheduling method described below.

[0064] Based on the above hardware structure, an embodiment of the scheduling method of the present invention is proposed.

[0065] Reference Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the scheduling method of the present invention, the method comprising:

[0066] Step S10: Obtain historical business data, determine the prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain the business volume prediction result;

[0067] Step S20: Obtain the business entity attribute values ​​and constraints, and determine the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction results.

[0068] The scheduling method described in this embodiment can be applied to the scheduling system of financial institutions. The scheduling system can be applied to terminal devices, such as PCs and smart terminals. For ease of description, a scheduling system is used as an example. The scheduling system acquires historical business data, determines a prediction dataset based on the historical business data, and inputs the prediction dataset into a pre-created prediction model to obtain the business volume prediction result. The scheduling system acquires current business data and determines the business entity attribute values ​​based on the current business data through a business engine. The scheduling system acquires current scheduling rules and determines constraints based on the current business data and current scheduling rules through a rule engine. The scheduling system determines the target scheduling result based on the business entity attribute values, constraints, and business volume prediction result through an algorithm engine and a rule engine, and performs scheduling based on the target scheduling result. It should be noted that the scheduling system includes a prediction model and an engine system. The engine system is divided into three relatively independent but interconnected engines: a business engine, an algorithm engine, and a rule engine.

[0069] The scheduling method in this embodiment acquires historical business data, determines a prediction dataset based on the historical business data, and inputs the prediction dataset into a pre-created prediction model to obtain business volume prediction results. It also acquires business entity attribute values ​​and constraints, and determines the target scheduling result based on the business entity attribute values, constraints, and business volume prediction results. This invention improves the accuracy of business volume prediction by obtaining business volume prediction results from historical business data through a pre-created prediction model, and improves the rationality of the scheduling results by determining the target scheduling result based on the business entity attribute values, constraints, and business volume prediction results.

[0070] The following will provide a detailed explanation of each step:

[0071] Step S10: Obtain historical business data, determine the prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain the business volume prediction result;

[0072] In this embodiment, the scheduling system retrieves historical business data from the database. This historical business data includes employee data, job data, job node mapping data, and corresponding business volume data. Based on this historical business data, the scheduling system filters out a preset number of data points and preprocesses them to obtain a prediction dataset. This prediction dataset is then input into a pre-created prediction model to obtain a business volume prediction result. Furthermore, when filtering out the preset number of data points from the historical business data, the scheduling system selects historical business data that is closer to the current time based on preset selection rules, thereby improving the accuracy of the obtained business volume prediction result. It should be noted that the pre-created prediction model is obtained by the scheduling system through training and validation datasets determined from the historical business data, which significantly improves the accuracy of the obtained business volume prediction result.

[0073] In one feasible embodiment, the scheduling system retrieves historical business data from the database and obtains the storage timestamps of the historical business data. Based on the storage timestamps and the current time, it selects historical business data that is closest to the current time from the historical business data. Then, it preprocesses the selected historical business data: first, it formats some fields of some historical business data; second, it checks and filters some unnecessary or non-compliant historical business data; third, it aggregates the checked and filtered historical business data; fourth, it fills in missing values ​​for incomplete historical business data; and finally, it captures the global features of the historical business data using LSTM and mines the local correlation information of the historical business data using CNN to obtain the final prediction dataset. The scheduling system inputs the prediction dataset into a pre-created prediction model, processes the prediction dataset through the prediction model, and outputs the business volume prediction results.

[0074] Step S20: Obtain the business entity attribute values ​​and constraints, and determine the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction results.

[0075] In this embodiment, the scheduling system obtains business entity attribute values ​​based on current business data, obtains constraints based on current scheduling rules, and determines the target scheduling result based on business entity attribute values, constraints, and business volume prediction results. It should be noted that different businesses can be regarded as entities, and then entities such as employees, positions, dates, and time periods are extracted from the current business data. Each entity has corresponding attribute values. For example, the employee-position entity has attribute values ​​representing the employee's efficiency in that position, and the time period entity has attribute values ​​representing the start and end times, etc. Since each team has different scheduling rules, some need to schedule on weekends, and some need to rest during a specified time period at noon, etc. These rules are complex and have many parameters. Therefore, the scheduling system can extract constraints from the current scheduling rules.

[0076] Specifically, step S20 includes:

[0077] Step a: Obtain current business data, and determine the business entity attribute values ​​based on the current business data through the business engine;

[0078] In this step, the scheduling system acquires current business data, models it using a business engine, abstracts the relationships between entities in each business, determines the attribute values ​​between entities in each business, and then determines the attribute values ​​of the business entities. It can be understood that the current business data contains current business data for multiple different businesses. Each business's corresponding business data includes employee data, job data, job node mapping data, business time period data, and corresponding business volume data. The scheduling system, through the business engine, can determine attribute values ​​between employee and job entities representing the employee's efficiency in that job, and between employee and business volume entities representing the time all employees spend processing business volume, based on the employee data and business volume data.

[0079] Step b: Obtain the current scheduling rules and determine the constraints based on the current scheduling rules using the rule engine;

[0080] In this step, the scheduling system obtains the current scheduling rules and uses a rule engine to determine the constraints based on these rules. Understandably, since different teams have different scheduling rules—some require weekend scheduling, others require lunch breaks, etc.—these rules are complex and involve numerous parameters. The scheduling system uses the rule engine to extract the commonalities of each rule in the current scheduling rules, retaining the specificities, and then determines the constraints. Furthermore, the scheduling system divides all constraints into two categories: hard constraints and soft constraints. Hard constraints are those that must be guaranteed during the scheduling process; if scheduling cannot be completed, then the scheduling is problematic. Soft constraints, on the other hand, are those that should be met as much as possible during scheduling; if they are not met, the impact is minimal, and scheduling can still proceed normally.

[0081] Step c: The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results.

[0082] In this step, the scheduling system determines the target scheduling result based on business entity attribute values, constraints, and business volume prediction results through an algorithm engine and a rule engine. For example, the scheduling system inputs the business entity attribute values, constraints, and business volume prediction results into the algorithm engine. The algorithm engine calculates a first pre-scheduling result set containing a large number of pre-scheduling results based on these factors. The algorithm engine extracts a portion of the first pre-scheduling results from this set and inputs it into the rule engine. The rule engine scores the input first pre-scheduling results based on the constraints. If the score meets the preset conditions, the highest-scoring first pre-scheduling result is selected as the target scheduling result. If the score does not meet the preset conditions, the score is returned to the algorithm engine. The algorithm engine then re-extracts a portion of the first pre-scheduling results from the set based on the score and inputs it into the rule engine. This process continues until the score meets the preset conditions or the score remains unchanged within a certain time. At this point, the loop stops, and the highest-scoring first pre-scheduling result is selected as the target scheduling result.

[0083] Further, step c includes:

[0084] Step c1: The algorithm engine calculates a first pre-scheduling result set based on the business entity attribute values, the constraints, and the business volume prediction results; and the algorithm engine determines a second pre-scheduling result set from the first pre-scheduling result set based on a preset search action.

[0085] In this step, the scheduling system uses an algorithm engine to calculate a first pre-scheduling result set based on business entity attribute values, constraints, and business volume prediction results. Then, the algorithm engine determines a second pre-scheduling result set from this first set using preset search actions. It's important to note that these preset search actions are pre-set within the algorithm engine. The algorithm engine uses a search tabu algorithm to determine the second pre-scheduling result set from the first set. This search tabu algorithm is derived from local search algorithms. Since local search suffers from the drawback of focusing too much on a specific local area and its neighborhood, potentially leading to a narrow perspective, using search tabu avoids searching a specific local area and its neighborhood within the first pre-scheduling result set. This allows for searching a wider area within the first pre-scheduling result set to obtain the second pre-scheduling result set.

[0086] Furthermore, the step of determining the second pre-scheduling result set from the first pre-scheduling result set by the algorithm engine according to a preset search action includes:

[0087] Step c11: The algorithm engine searches for a preset number of first pre-schedule results in the first pre-schedule result set, and the algorithm engine performs random job changes and / or random employee exchanges on each of the preset number of first pre-schedule results according to preset search actions to obtain a second pre-schedule result set.

[0088] In this step, the scheduling system, using an algorithm engine based on a search tabu algorithm, searches for a predetermined number of first pre-scheduling results in the first pre-scheduling result set. Then, according to predetermined search actions, it randomly changes the job positions and / or randomly swaps employees for each of the predetermined number of first pre-scheduling results to obtain a second pre-scheduling result set. Preset search actions include Change, Swap, Pillar Change, Pillar Swap, etc. Change assigns an employee to a specific job within a certain time period; Swap randomly swaps the jobs assigned to two employees; and Pillar indicates performing both Change and Swap operations simultaneously. The scheduling system, through its algorithm engine, randomly changes the job positions and / or randomly swaps employees for each of the predetermined number of first pre-scheduling results according to the predetermined search actions to obtain the second pre-scheduling result set.

[0089] Step c2: Input the second pre-scheduling result set into the rule engine, and use the rule engine to score the second pre-scheduling result set according to the constraints to obtain a score result set;

[0090] In this step, the scheduling system inputs the second pre-scheduling result set into the rule engine. The rule engine scores the second pre-scheduling result set according to the constraints, obtaining a score result set. For example, the constraints in the rule engine include hard constraints and soft constraints. The rule engine first scores each second pre-scheduling result in the second pre-scheduling result set according to the hard constraints, obtaining a hard constraint score for each second pre-scheduling result. Then, it scores each second pre-scheduling result in the second pre-scheduling result set according to the soft constraints, obtaining a soft constraint score for each second pre-scheduling result. Finally, the hard constraint score for each second pre-scheduling result is compared with a preset hard constraint score threshold, and the soft constraint score for each second pre-scheduling result is compared with a preset soft constraint score threshold, obtaining a score result set.

[0091] Step c3: If the set of scoring results meets the second preset condition, then select the second pre-scheduling result with the best scoring result from the second pre-scheduling result set as the target scheduling result.

[0092] In this step, if the scheduling system determines that the scoring result set meets the second preset condition, that is, there are one or more second pre-scheduling results in the scoring result set whose hard constraint scores are greater than the preset hard constraint score threshold and whose soft constraint scores are also greater than the preset soft constraint score threshold; when only one second pre-scheduling result has a hard constraint score greater than the preset hard constraint score threshold and whose soft constraint score is also greater than the preset soft constraint score threshold, then that second pre-scheduling result is directly used as the target scheduling result; when multiple second pre-scheduling results have hard constraint scores greater than the preset hard constraint score threshold and whose soft constraint scores are also greater than the preset soft constraint score threshold, then the hard constraint scores corresponding to the multiple second pre-scheduling results are compared first, and the second pre-scheduling result with the highest hard constraint score is determined as the target scheduling result; when multiple second pre-scheduling results have the same hard constraint score, then the soft constraint scores of these second pre-scheduling results are compared, and the second pre-scheduling result with the highest soft constraint score is determined as the target scheduling result.

[0093] Furthermore, the second preset condition can also be that after multiple iterations, there is no second pre-scheduling result in the scoring result set where the hard constraint score is greater than the preset hard constraint score threshold and the soft constraint score is also greater than the preset soft constraint score threshold. However, the number of iterations reaches the threshold, or the iteration duration reaches the threshold, or the hard constraint score and soft constraint score do not change within the preset time period. In this case, the scheduling system first compares the hard constraint score corresponding to each second pre-scheduling result in the second pre-scheduling result set and determines that the second pre-scheduling result with the highest hard constraint score is the target scheduling result. When multiple second pre-scheduling results with the same hard constraint score appear, the soft constraint scores of these second pre-scheduling results are then compared, and the second pre-scheduling result with the highest soft constraint score is determined as the target scheduling result.

[0094] Step c4: If the set of scoring results does not meet the second preset condition, then repeat the step: determine the second pre-schedule result set from the first pre-schedule result set by the algorithm engine according to the preset search action.

[0095] In this step, if the scheduling system determines that the set of scoring results does not meet the second preset condition, it will repeatedly execute the algorithm engine to determine the second set of pre-scheduled results from the first set of pre-scheduled results according to the preset search action, and the subsequent steps, until the set of scoring results meets the second preset condition. Then, the second pre-scheduled result with the best scoring result will be selected from the second set of pre-scheduled results as the target scheduling result.

[0096] The scheduling system in this embodiment acquires historical business data, determines a prediction dataset based on the historical business data, and inputs the prediction dataset into a pre-created prediction model to obtain business volume prediction results. The scheduling system also acquires current business data and determines business entity attribute values ​​based on the current business data using a business engine. Furthermore, the scheduling system acquires current scheduling rules and determines constraints based on the current business data and current scheduling rules using a rule engine. Finally, the scheduling system determines the target scheduling result based on the business entity attribute values, constraints, and business volume prediction results using an algorithm engine and a rule engine, and performs scheduling based on the target scheduling result. This invention improves the accuracy of business volume prediction by using a pre-created prediction model to predict business volume based on historical business data, and improves the rationality of the scheduling result by determining the target scheduling result based on the business entity attribute values, constraints, and business volume prediction results.

[0097] Furthermore, based on the first embodiment of the scheduling method of the present invention, a second embodiment of the scheduling method of the present invention is proposed.

[0098] The second embodiment of the scheduling method differs from the first embodiment in that, before the step of determining the prediction dataset based on the historical business data and inputting the prediction dataset into a pre-created prediction model to obtain the business volume prediction result, the following steps are included:

[0099] Step d: Determine the training dataset and validation dataset based on the historical business data, and train the model based on the training dataset to obtain the initial model;

[0100] Step e: Validate the initial model based on the validation dataset to obtain the validation result. If the validation result meets the first preset condition, then the initial model is used as the prediction model.

[0101] In this embodiment, after obtaining historical business data, the scheduling system determines the training dataset and the validation dataset based on the historical business data, and trains the model based on the training dataset to obtain an initial model; the scheduling system validates the initial model based on the validation dataset to obtain the validation result. If the validation result meets the first preset condition, the initial model is used as the prediction model.

[0102] In one feasible embodiment, the scheduling system filters a preset number of data points from historical business data and preprocesses the selected historical business data: first, it formats some fields of some historical business data; second, it checks and filters some unnecessary or non-compliant historical business data; third, it aggregates the checked and filtered historical business data; fourth, it fills in missing values ​​for incomplete historical business data; and finally, it captures global features of historical business data using LSTM and mines local correlation information of historical business data using CNN, ultimately obtaining training and validation datasets. The scheduling system then uses the training dataset to train a hybrid model based on Prophet and LSTM to obtain an initial... The initial model is then used to input the validation dataset into the initial model to obtain the prediction results. The prediction accuracy of the initial model is calculated based on the prediction results and compared with a preset prediction accuracy threshold. If the comparison result meets the first preset condition, that is, the prediction accuracy is greater than the preset prediction accuracy threshold, then the initial model is used as the prediction model. If the comparison result does not meet the first preset condition, that is, the prediction accuracy is not greater than the preset prediction accuracy threshold, then the scheduling system re-determines the training dataset and validation dataset based on historical business data, and trains and validates the hybrid model based on Prophet and LSTM until the comparison result meets the first preset condition, at which point the initial model is used as the prediction model.

[0103] In this embodiment, the scheduling system, after acquiring historical business data, determines a training dataset and a validation dataset based on the historical business data. It then trains a model using the training dataset to obtain an initial model. The scheduling system validates the initial model using the validation dataset to obtain validation results. If the validation results meet a first preset condition, the initial model is used as the prediction model. By using historical business data for training and validation, the prediction accuracy of the prediction model is improved, which helps to increase the accuracy of business volume prediction and the rationality of the scheduling results.

[0104] Furthermore, based on the first and second embodiments of the scheduling method of the present invention, a third embodiment of the scheduling method of the present invention is proposed.

[0105] The third embodiment of the scheduling method differs from the first and second embodiments in that, after step S20, the scheduling method includes:

[0106] Step f: According to a preset period, obtain the current task volume data, and adjust the target scheduling result based on the current task volume data, the business entity attribute value, and the business volume prediction result;

[0107] Step g: Schedule shifts based on the adjusted target schedule results.

[0108] In this embodiment, after determining the target scheduling result, the scheduling system performs scheduling based on the target scheduling result. After scheduling is completed, the scheduling system obtains the current business volume data according to a preset cycle, and adjusts the target scheduling result based on the current task volume data, business entity attribute values, and business volume prediction results. Scheduling is then performed based on the adjusted target scheduling result. It is understandable that since there is a certain difference between the business volume prediction result and the actual business volume, and employees' work efficiency cannot be consistently maintained, it is necessary to adjust the target scheduling result before scheduling is performed.

[0109] Specifically, step f includes:

[0110] Step f1: Calculate the traffic diversion threshold based on the current task volume data, the business entity attribute values, and the business volume prediction results;

[0111] Step f2: Calculate the pressure index based on the current task volume data and the business entity attribute value, and adjust the target scheduling result based on the diversion threshold and the pressure index.

[0112] In steps f1 to f2, the scheduling system calculates the diversion threshold based on the current workload data, business entity attribute values, and workload forecast results. It also calculates the stress index based on the current workload data and business entity attribute values, and adjusts the target scheduling results according to the diversion threshold and stress index. For example, the scheduling system obtains the current workload data according to a preset cycle and reads the backlog of work for each position from the current workload data. The scheduling system determines the position sensitivity based on the business entity attribute values ​​and calculates the diversion threshold based on the backlog of work for each position, the position sensitivity, and the workload forecast results. The scheduling system reads the backlog of work for each position from the current workload data, determines employee efficiency based on the business entity attribute values, and calculates the stress index for each position based on employee efficiency and the backlog of work for each position. The scheduling system sorts the positions according to the stress index. For positions with the highest stress index and backlog exceeding the threshold, diversion is required. The diverted personnel come from other positions, with priority given to selecting employees from positions with decreasing stress indices and backlogs. After each round of selection, the estimated completion time is calculated based on employee efficiency. Once the goal of clearing backlogged work is achieved, selection stops. Simultaneously, it's crucial to ensure sufficient staffing for the positions filled by the selected employees. After selecting employees, the scheduling system chooses those capable of fulfilling the corresponding job duties, assigning new tasks and durations. During employee selection, based on the employee's previous transfer records and adhering to fairness principles, adjustments are made with the fewest possible personnel, thereby adjusting the target scheduling outcome.

[0113] The scheduling system in this embodiment determines the target scheduling result and then schedules shifts based on that result. After scheduling is completed, the system acquires current business volume data according to a preset cycle and adjusts the target scheduling result based on the current task volume data, business entity attribute values, and business volume prediction results. The system then schedules shifts based on the adjusted target scheduling result, enabling the target scheduling result to be adjusted according to the actual situation and further improving the rationality of the scheduling result.

[0114] The present invention also provides a scheduling device, the scheduling device comprising:

[0115] The acquisition module is used to acquire historical business data, determine a prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain the business volume prediction result.

[0116] The determination module is used to obtain the attribute values ​​and constraints of the business entities, and determine the target scheduling result based on the attribute values ​​of the business entities, the constraints, and the business volume prediction result.

[0117] Preferably, the acquisition module is further configured to:

[0118] The training dataset and validation dataset are determined based on the historical business data, and the model is trained based on the training dataset to obtain an initial model;

[0119] The initial model is validated based on the validation dataset to obtain validation results. If the validation results meet the first preset condition, the initial model is used as the prediction model.

[0120] Preferably, the determining module is further configured to:

[0121] Obtain current business data, and determine the attribute values ​​of business entities based on the current business data through the business engine;

[0122] Obtain the current scheduling rules, and determine the constraints based on the current scheduling rules using the rule engine;

[0123] The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results.

[0124] Preferably, the determining module is further configured to:

[0125] The algorithm engine calculates a first pre-scheduling result set based on the business entity attribute values, the constraints, and the business volume prediction results, and then determines a second pre-scheduling result set from the first pre-scheduling result set based on a preset search action.

[0126] The second pre-scheduling result set is input into the rule engine, and the rule engine scores the second pre-scheduling result set according to the constraints to obtain a score result set;

[0127] If the set of scoring results meets the second preset condition, then the second pre-scheduling result with the best scoring result is selected from the second pre-scheduling result set as the target scheduling result;

[0128] If the set of scoring results does not meet the second preset condition, the following step is repeated: the algorithm engine determines the second pre-scheduling result set from the first pre-scheduling result set according to the preset search action.

[0129] Preferably, the determining module is further configured to:

[0130] The algorithm engine searches for a preset number of first pre-schedule results in the first pre-schedule result set, and then, according to a preset search action, performs random job changes and / or random employee exchanges on each of the preset number of first pre-schedule results to obtain a second pre-schedule result set.

[0131] Preferably, the determining module further includes an adjusting module, the adjusting module being used for:

[0132] According to a preset period, the current task volume data is obtained, and the target scheduling result is adjusted based on the current task volume data, the business entity attribute value, and the business volume prediction result.

[0133] Schedule shifts based on the adjusted target schedule results.

[0134] Preferably, the adjustment module is further configured to:

[0135] The traffic diversion threshold is calculated based on the current task volume data, the business entity attribute values, and the business volume prediction results.

[0136] The pressure index is calculated based on the current task volume data and the attribute values ​​of the business entities, and the target scheduling result is adjusted based on the diversion threshold and the pressure index.

[0137] The present invention also provides a scheduling system.

[0138] The scheduling system of the present invention includes: a memory, a processor, and a scheduling program stored in the memory and executable on the processor, wherein the scheduling program, when executed by the processor, implements the steps of the scheduling method as described above.

[0139] The method implemented when the scheduling program running on the processor is executed can be referred to in various embodiments of the scheduling method of the present invention, and will not be repeated here.

[0140] The present invention also provides a computer-readable storage medium.

[0141] The present invention provides a computer-readable storage medium storing a scheduling program, which, when executed by a processor, implements the steps of the scheduling method described above.

[0142] The method implemented when the scheduling program running on the processor is executed can be referred to in various embodiments of the scheduling method of the present invention, and will not be repeated here.

[0143] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.

[0144] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0145] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of the present invention.

[0146] The above are merely preferred embodiments of the present invention and do not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A scheduling method, characterized in that, The scheduling method includes the following steps: Acquire historical business data, determine a prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain business volume prediction results; Obtain the attribute values ​​and constraints of the business entities, and determine the target scheduling result based on the attribute values ​​of the business entities, the constraints, and the business volume prediction results; The step of obtaining business entity attribute values ​​and constraints, and determining the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result includes: Obtain current business data, and determine the attribute values ​​of business entities based on the current business data through the business engine; Obtain the current scheduling rules, and determine the constraints based on the current scheduling rules using the rule engine; The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results. The step of determining the target scheduling result by using the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results includes: The algorithm engine calculates a first pre-scheduling result set based on the business entity attribute values, the constraints, and the business volume prediction results, and then determines a second pre-scheduling result set from the first pre-scheduling result set based on a preset search action. The second pre-scheduling result set is input into the rule engine, and the rule engine scores the second pre-scheduling result set according to the constraints to obtain a score result set; If the set of scoring results meets the second preset condition, then the second pre-scheduling result with the best scoring result is selected from the second pre-scheduling result set as the target scheduling result; If the set of scoring results does not meet the second preset condition, the following step is repeated: the algorithm engine determines the second pre-scheduling result set from the first pre-scheduling result set according to the preset search action.

2. The scheduling method as described in claim 1, characterized in that, Before the step of determining the prediction dataset based on the historical business data and inputting the prediction dataset into a pre-created prediction model to obtain the business volume prediction result, the following steps are included: The training dataset and validation dataset are determined based on the historical business data, and the model is trained based on the training dataset to obtain an initial model; The initial model is validated based on the validation dataset to obtain validation results. If the validation results meet the first preset condition, the initial model is used as the prediction model.

3. The scheduling method as described in claim 1, characterized in that, The step of determining the second pre-scheduling result set from the first pre-scheduling result set by means of the algorithm engine according to a preset search action includes: The algorithm engine searches for a preset number of first pre-schedule results in the first pre-schedule result set, and then, according to a preset search action, performs random job changes and / or random employee exchanges on each of the preset number of first pre-schedule results to obtain a second pre-schedule result set.

4. The scheduling method as described in claim 1, characterized in that, After the steps of obtaining the business entity attribute values ​​and constraints, and determining the target scheduling result based on the business entity attribute values, the constraints, and the business volume prediction result, the following steps are included: According to a preset period, the current task volume data is obtained, and the target scheduling result is adjusted based on the current task volume data, the business entity attribute value, and the business volume prediction result. Schedule shifts based on the adjusted target schedule results.

5. The scheduling method as described in claim 4, characterized in that, The step of adjusting the target scheduling result based on the current task volume data, the business entity attribute value, and the task volume prediction result includes: The traffic diversion threshold is calculated based on the current task volume data, the business entity attribute values, and the business volume prediction results. The pressure index is calculated based on the current task volume data and the attribute values ​​of the business entities, and the target scheduling result is adjusted based on the diversion threshold and the pressure index.

6. A scheduling device, characterized in that, The scheduling device includes: The acquisition module is used to acquire historical business data, determine a prediction dataset based on the historical business data, and input the prediction dataset into a pre-created prediction model to obtain the business volume prediction result. The determination module is used to obtain the attribute values ​​and constraints of the business entities, and determine the target scheduling result based on the attribute values ​​of the business entities, the constraints, and the business volume prediction result; The determining module is further configured to: acquire current business data and determine business entity attribute values ​​based on the current business data through a business engine; Obtain the current scheduling rules, and determine the constraints based on the current scheduling rules using the rule engine; The target scheduling result is determined by the algorithm engine and the rule engine based on the business entity attribute values, the constraints, and the business volume prediction results. The determining module is further configured to: calculate a first pre-scheduling result set by an algorithm engine based on the business entity attribute values, the constraints and the business volume prediction results, and determine a second pre-scheduling result set in the first pre-scheduling result set by the algorithm engine based on a preset search action; The second pre-scheduling result set is input into the rule engine, and the rule engine scores the second pre-scheduling result set according to the constraints to obtain a score result set; If the set of scoring results meets the second preset condition, then the second pre-scheduling result with the best scoring result is selected from the second pre-scheduling result set as the target scheduling result; If the set of scoring results does not meet the second preset condition, the following step is repeated: the algorithm engine determines the second pre-scheduling result set from the first pre-scheduling result set according to the preset search action.

7. A scheduling system, characterized in that, The scheduling system includes: a memory, a processor, and a scheduling program stored in the memory and executable on the processor, wherein the scheduling program, when executed by the processor, implements the steps of the scheduling method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a scheduling program, which, when executed by a processor, implements the steps of the scheduling method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Branch scheduling method, device and equipment and storage medium

    CN113807597A

  • Scheduling scheme processing method and device based on business volume, equipment and medium

    CN114118691A