CN113592257A - Centralized job task scheduling method - Google Patents
Centralized job task scheduling method Download PDFInfo
- Publication number
- CN113592257A CN113592257A CN202110793529.3A CN202110793529A CN113592257A CN 113592257 A CN113592257 A CN 113592257A CN 202110793529 A CN202110793529 A CN 202110793529A CN 113592257 A CN113592257 A CN 113592257A
- Authority
- CN
- China
- Prior art keywords
- task
- teller
- scheduling
- task pool
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000011084 recovery Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 230000002068 genetic effect Effects 0.000 abstract description 5
- 230000004044 response Effects 0.000 abstract description 2
- 230000035772 mutation Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063114—Status monitoring or status determination for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Evolutionary Computation (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to a centralized job task scheduling method, which comprises the following steps: acquiring all tasks triggering scheduling, and respectively acquiring the required number of people in each task pool and a list of schedulers available for scheduling; generating a plurality of scheduling schemes as initial populations; calculating the fitness score of each individual in the current population, if the population meets the preset convergence condition, taking the individual with the optimal fitness score as the optimal individual, outputting the scheduling scheme corresponding to the optimal individual as the optimal scheduling scheme and applying the optimal scheduling scheme, otherwise, executing selection, crossing and variation operations to obtain a new population, and repeating the steps. Compared with the prior art, the method has the advantages that the plurality of scheduling schemes are generated according to the required number of people in the task pool and the list of the dispatchers available for initialization, and the optimal scheduling scheme is solved by iteration through the genetic algorithm, so that the decision-making speed and the response speed are higher compared with manual scheduling, and the obtained scheduling scheme is more accurate and reasonable.
Description
Technical Field
The invention relates to the field of task scheduling, in particular to a centralized job task scheduling method.
Background
At present, a financial service center has the problem of personnel scheduling, and has a plurality of task pools, wherein each task pool has a plurality of tasks, and scheduling personnel are required to be distributed to different task pools to complete the tasks in the task pools. At present, available manpower of a financial service center is about 1200 people, effective working time is only about 40%, a large amount of task empty-leading conditions exist, and meanwhile, the conditions of task overstock and insufficient manpower of certain task pools often occur. This requires manual adjustment of the teller station.
The existing task scheduling is manual scheduling, 4-5 colleagues of a central management post are responsible for managing specific teller operation authority, the general rule is that the central management post sees the task amount of each post on a real-time monitoring platform, and if the task amount of the A post is overstocked and the task amount of the B post is less or completed, the teller of the B post is scheduled to the A post. The manual scheduling method can adjust the positions of the personnel according to the wave crests and the wave troughs of the task quantities.
However, as the number of task pools, task amount and tellers increases, the defects of manual scheduling are gradually exposed, on one hand, a central management post sees the overstocked task pools from a large monitoring screen, and issues related notifications when the teller stations are adjusted in operation, and the manual scheduling response is slow because the teller authority is effective for more than 5-6 minutes; on the other hand, the number of the adjusted tellers and the adjusted tellers are judged according to personal experience of colleagues at the central management station, data guidance is lacked, overall optimization capacity is weak, decision results cannot be settled, and the problem that a manual scheduling mode is not accurate enough exists.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provide a centralized job task scheduling method, a plurality of scheduling schemes are generated according to the required number of people in a task pool and the initialization of a list of dispatchers, and then the optimal scheduling scheme is solved by iteration of a genetic algorithm.
The purpose of the invention can be realized by the following technical scheme:
a centralized job task scheduling method comprises the following steps:
acquiring all task pools q triggering scheduling1、q2、...、qNN is more than 0, respectively obtaining the required number of people in each task pool and the list of available dispatchers in each task pool, wherein the ith task pool qiThe required number of people is wiIth task pool qiThe list of available dispatchers is listi;
Generating multiple scheduling plans plan1、plan2、...、planMAs an initial population, M > 1, each scheduling scheme being an individual in the initial population;
calculating the fitness score of each individual in the current population, if the population meets the preset convergence condition, taking the individual with the optimal fitness score as the optimal individual, outputting the scheduling scheme corresponding to the optimal individual as the optimal scheduling scheme and applying the optimal scheduling scheme, otherwise, executing selection, crossing and variation operations to obtain a new population, and repeating the steps.
Further, a plurality of scheduling schemes plan are randomly generated1、plan2、...、planMAs an initial population, the process of generating the kth scheduling scheme is as follows:
let i equal to 1, the k-th scheduling scheme plankInitialization is null;
self-task pool qiList of available dispatchersiIn randomly selecting wiA teller obtains a task pool qiAnd adding the allocation scheme to the kth scheduling scheme plankIf i is equal to N, the k-th scheduling scheme plan is obtainedkOtherwise, deleting w in the allocation scheme in the list of available dispatchers in all task poolsiThe teller, make the value of i increase 1, repeat this step;
obtaining the kth scheduling scheme plank:
Wherein u isijDenoted as task pool qiThe j-th teller of the assignment.
If task pool qiList of available dispatchersiThe number of elements in (1) is less than wiThen to listiAdding special mark virtual teller to obtain task poolqiWhen the optimal scheduling scheme is output, if a specially marked virtual teller exists in the optimal scheduling scheme, prompting a task pool q corresponding to the virtual telleriThe number of persons assigned is insufficient.
Further, the kth scheduling scheme plankFitness score f as post-individualkComprises the following steps:
wherein the priorityiRepresenting a task pool qiEmergency assignment of (c), scoreijDenoted as task pool qiAssigned jth teller to task pool qiTeller score of (1).
Further, a task pool qiEmergency assigned priority ofiThe calculation formula of (2) is as follows:
wherein, NumiRepresenting a task pool qiNumber of tasks to be processed, SuiTask pool q representing presetsiPriority of RiTask pool q representing presetsiThreshold of riTask pool q representing presetsiThe threshold coefficient of (2).
Further, it will be a task pool qiThe j-th teller assigned is marked uijThen teller uijFor task pool qiThe teller score of (c) is:
scoreij=λi_1×indexij_1+(1-λi_1)×indexij_2
wherein λ isi_1Task pool q representing presetsiIndex ofij_1Representing tellers uijPool of executing tasks qiAverage elapsed time score, index, of the task in (1)ij_2Representing tellers uijPerforming tasksPool qiThe recovery rate score, index, of the task in (1)ij_1And indexij_2Is based on tellers uijPool of executing tasks qiThe virtual teller has a score of 0, which is obtained from the historical data of the task.
Further, the history data is system data within three months.
Further, the parameter of the average elapsed time score means: if the time spent by the teller for completing the task is not more than the average time length of the task, the average time-spent score is 100 minutes, otherwise, 10 minutes is deducted every 10 seconds exceeding the average time length.
Further, the recovery score is defined by the following parameters: if the recovery rate of the teller performing the task is not greater than the average recovery rate for the task, the recovery rate score is 100 points, otherwise, 10 points are deducted for each 1% over average recovery rate.
Further, the selecting operation of the individuals in the population specifically comprises: and taking M individuals with the optimal fitness score in the population as elite individuals and keeping the elite individuals, wherein M is a preset population selection parameter, and M is more than 0 and less than M.
Further, performing cross operation on the individuals in the population to obtain new individuals and adding the new individuals into the population, wherein the cross operation specifically comprises the following steps:
randomly selecting two individuals as parents, randomly selecting a task pool, randomly selecting and exchanging tellers corresponding to the task pool in the two parents to obtain two new individuals, and adding the new individuals meeting constraint conditions into a population, wherein the constraint conditions are as follows: in the scheduling scheme corresponding to one individual, one teller can only appear once, and if the constraint condition is not met, the scheduling scheme is an invalid scheme.
Further, the mutation operation of the individuals in the population specifically comprises:
randomly selecting an individual, randomly selecting a task pool, obtaining an available dispatching teller list of the task pool, randomly replacing a teller corresponding to the individual in the task pool with a teller in the available dispatching teller list to obtain a new individual, and adding the new individual into a population if the new individual meets a constraint condition, wherein the constraint condition is as follows: in the scheduling scheme corresponding to one individual, one teller can only appear once, and if the constraint condition is not met, the scheduling scheme is an invalid scheme.
Further, the preset convergence condition is as follows: the algebra of the population is larger than a preset iteration threshold or the population reaches a stable state, and the step of the population reaching the stable state specifically comprises the following steps: and in Kp iterations, the variation errors of the fitness scores of the optimal individuals in the population are all smaller than a preset stable threshold, and Kp is larger than or equal to 2.
Compared with the prior art, the invention has the following beneficial effects:
(1) a plurality of scheduling schemes are generated according to the number of people needed by the task pool and the list of the dispatchers available for initialization, and then the optimal scheduling scheme is solved by iteration through a genetic algorithm.
(2) When the fitness score of an individual is calculated in the genetic algorithm, the emergency assignment of the task pool is considered based on the real-time task amount and the priority of the task pool, the teller score of different task pools by the teller is also considered based on historical data, the teller can be accurately and automatically allocated, and the teller is reasonably allocated to the task pool.
(3) In consideration of the fact that the number of the tellers in the dispatching teller list does not meet the number of people required by the task pool under extreme conditions, the concept of virtual tellers is introduced, the number of people is insufficient when the virtual tellers are included in the finally output optimal dispatching scheme, and the optimal dispatching scheme can be obtained on the premise that the execution of the whole algorithm is not influenced.
Drawings
FIG. 1 is a flow chart of the present invention;
fig. 2 is a schematic diagram of a scheduling scheme.
Detailed Description
The invention is described in detail below with reference to the figures and specific embodiments. The present embodiment is implemented on the premise of the technical solution of the present invention, and a detailed implementation manner and a specific operation process are given, but the scope of the present invention is not limited to the following embodiments.
Example 1:
a method for scheduling task of centralized job, as shown in fig. 1, includes the following steps:
s1, acquiring all task pools q triggering scheduling1、q2、...、qNN is more than 0, respectively obtaining the required number of people in each task pool and the list of available dispatchers in each task pool, wherein the ith task pool qiThe required number of people is wiIth task pool qiThe list of available dispatchers is listi;
S2, generating a plurality of scheduling schemes plan1、plan2、...、planMAs an initial population, M > 1, each scheduling scheme being an individual in the initial population;
in specific implementation, a plurality of scheduling schemes plan can be randomly generated1、plan2、...、planMAs an initial population, as shown in fig. 2, at a certain time, there are a plurality of task pools to be scheduled, each task pool needs a plurality of tellers, the number of tellers corresponding to the number of people is pre-allocated to the task pool, and the formed scheduling scheme is a many-to-many task pool-teller relation table, wherein the process of generating the kth scheduling scheme is as follows:
let i equal to 1, the k-th scheduling scheme plankInitialization is null;
self-task pool qiList of available dispatchersiIn randomly selecting wiA teller obtains a task pool qiAnd adding the allocation scheme to the kth scheduling scheme plankIf i is equal to N, the k-th scheduling scheme plan is obtainedkOtherwise, since one teller may have multiple skills and exist in the dispatchable teller lists of multiple task pools, it is necessary to delete w in the allocation scheme in the dispatchable teller lists of all task poolsiA teller, then increasing the value of i by 1, and repeating the step;
obtaining the kth scheduling scheme plank:
Wherein u isijDenoted as task pool qiThe j-th teller to be assigned,i.e. task pool qiThe allocation scheme of (1) can encode the kth scheduling scheme plank into a sequence and a task pool q during program implementation1、q2、...、qNThe allocation schemes of (a) are arranged in sequence, namely:
such a sequence can be easily reverted to a specific teller scheduling scheme.
If task pool qiList of available dispatchersiThe number of elements in (1) is less than wiThen to listiAdding a special mark virtual teller, and then obtaining a task pool qiWhen the optimal scheduling scheme is output, if the specially marked virtual teller exists in the optimal scheduling scheme, the allocation scheme prompts the task pool q corresponding to the virtual telleriThe number of the distributed persons is not enough, so that the workers can schedule in time.
And S3, calculating the fitness score of each individual in the current population, if the population meets the preset convergence condition, taking the individual with the optimal fitness score as the optimal individual, outputting the scheduling scheme corresponding to the optimal individual as the optimal scheduling scheme and applying the optimal scheduling scheme, otherwise, executing selection, crossing and variation operations to obtain a new population, and repeating the steps.
Wherein the kth scheduling scheme plankFitness score f as post-individualkComprises the following steps:
wherein the priorityiRepresenting a task pool qiEmergency assignment of (c), scoreijDenoted as task pool qiAssigned jth teller to task pool qiThe teller score of the virtual teller is 0, the teller score is calculated based on historical record data of tasks executed by the teller;
task pool qiEmergency assigned priority ofiThe calculation formula of (2) is as follows:
wherein, NumiRepresenting a task pool qiNumber of tasks to be processed, SuiTask pool q representing presetsiPriority of RiTask pool q representing presetsiThreshold of riTask pool q representing presetsiThe threshold coefficient of (2).
Will be a task pool qiThe j-th teller assigned is marked uijThen teller uijFor task pool qiThe teller score of (c) is:
scoreij=λi_1×indexij_1+(1-λi_1)×indexij_2
wherein λ isi_1Task pool q representing presetsiIndex ofij_1Representing tellers uijPool of executing tasks qiAverage elapsed time score, index, of the task in (1)ij_2Representing tellers uijPool of executing tasks qiThe recovery rate score, index, of the task in (1)ij_1And indexij_2Is based on tellers uijPool of executing tasks qiAnd obtaining historical data of the tasks.
Specifically, the historical data is system data within three months, and the meaning of the parameter of the average time-consuming score is as follows: if the time consumed by the teller for completing the task is not more than the average time length of the task, the average time consumption score is 100 minutes, otherwise, 10 minutes is deducted every 10 seconds exceeding the average time length; the parameters for the recovery score mean: if the recovery rate of the teller performing the task is not greater than the average recovery rate for the task, the recovery rate score is 100 points, otherwise, 10 points are deducted for each 1% over average recovery rate.
After calculating the fitness scores of all individuals in the population, judging whether preset convergence conditions are met, specifically, the convergence conditions are as follows: the algebra of the population is larger than a preset iteration threshold or the population reaches a stable state, and the step of the population reaching the stable state specifically comprises the following steps: and in Kp iterations, the variation errors of the fitness scores of the optimal individuals in the population are all smaller than a preset stable threshold, and Kp is larger than or equal to 2.
And if the convergence condition is met, taking the individual with the optimal fitness score as an optimal individual, outputting a scheduling scheme corresponding to the optimal individual as the optimal scheduling scheme, and confirming by staff to take effect in real time. And if the convergence condition is not met, carrying out selection, crossing and mutation operations to obtain a new population, and recalculating the fitness score of each individual in the population.
The selection operation of the individuals in the population specifically comprises the following steps: and taking M individuals with the optimal fitness score in the population as elite individuals and keeping the elite individuals, wherein M is a preset population selection parameter, and M is more than 0 and less than M.
Carrying out cross operation on individuals in the population to obtain new individuals and adding the new individuals into the population, wherein the cross operation specifically comprises the following steps: randomly selecting two individuals as parents, randomly selecting a task pool, randomly selecting and exchanging tellers corresponding to the task pool in the two parents to obtain two new individuals, and adding the new individuals meeting constraint conditions into a population, wherein the constraint conditions are as follows: in the scheduling scheme corresponding to one individual, one teller can only appear once, and if the constraint condition is not met, the scheduling scheme is an invalid scheme.
The specific mutation operation of individuals in the population is as follows: randomly selecting an individual, randomly selecting a task pool, obtaining an available dispatching teller list of the task pool, randomly replacing a teller corresponding to the task pool by a teller in the available dispatching teller list to obtain a new individual, and adding the new individual into a population if the new individual meets a constraint condition, wherein the constraint condition is as follows: in the scheduling scheme corresponding to one individual, one teller can only appear once, and if the constraint condition is not met, the scheduling scheme is an invalid scheme.
At a certain moment, there are 3 task pools that trigger scheduling:
task pool | Number of persons needing to be dispatched | List of dispatchers |
q1 | w1=2 | list1={a,b,c,d,e,f,g,x,y,z} |
q2 | w2=3 | list2={f,g,h,i,m,n} |
q3 | w3=4 | list3={a,b,c,d,h,i,o,p,q} |
In the genetic algorithm, the number of individuals in the initial population is an important parameter, the number of individuals in the population M is a fixed variable, if the number of individuals in the population is too large, the algorithm occupies a large amount of system resources, and if the number of individuals in the population is too small, the optimal solution is easily ignored.
Firstly, randomly initializing to generate 10 scheduling schemes as an initial population: plan1、plan2、...、plan10;
E.g. randomly generated scheduling scheme plan1In slave1Randomly selects two tellers of e and f to be allocated to the task pool q1To obtain a task pool q1After that, the two tellers are in list2And list3Deleted from list2Randomly selecting three tellers of g, h and i to be distributed to a task pool q2To obtain a task pool q2The three teller is in list3Deleted from list3In the task pool, four tellers of a, b, c and d are randomly selected to be allocated to the task pool q3To obtain a task pool q3So as to obtain a scheduling scheme plan1This dispatch scheme is encoded in the program as a teller sequence: plan1={e,f,g,h,i,a,b,c,d}。
In practical application, a plurality of tellers often exist in a general available-to-be-dispatched teller list of each task pool, and even if the tellers in the available-to-be-dispatched teller list overlap (namely, the tellers simultaneously appear in more than two available-to-be-dispatched teller lists), the tellers can be randomly allocated to each task pool in sequence.
In consideration of the extreme situation that the number of free tellers in the list of the dispatchable tellers in a task pool is smaller than the required number of people in the task pool, in order to continue the subsequent steps, virtual tellers are added into the list of the dispatchable tellers, so that the number of elements in the list of the dispatchable tellers is larger than or equal to the required number of people in the task pool, and the initial population can be generated normally.
And calculating the fitness score of each individual in the population. The method comprises the steps of firstly calculating the sum of the teller scores of each task pool, then multiplying the sum of the teller scores by the emergency assignment of the task pool, accumulating the (teller scores and emergency assignments) of all the task pools, and then multiplying the sum by the average value of the teller scores of all the tellers in the scheduling scheme, thus obtaining the fitness score of the scheduling scheme. The formula is as follows:
kth scheduling scheme plankFitness score f as post-individualkComprises the following steps:
wherein the priorityiRepresenting a task pool qiEmergency assignment of (c), scoreijDenoted as task pool qiAssigned jth teller to task pool qiTeller score of (1);
with scheduling scheme plan1Taking { e, f, g, h, i, a, b, c, d } as an example, the scheduling scheme is one individual in the population, and its fitness score is calculated as follows:
task pool | Task pool emergency assignment | Dispatching counter | Teller scoring | Scoring and task pool emergency assignments |
q1 | 0.3 | u11,u12 | 50,60 | =(50+60)*0.3=33 |
q2 | 0.2 | u21,u22,u23 | 70,10,90 | =(70+10+90)*0.2=34 |
q3 | 0.1 | u31,u32,u33,u34 | 90,95,30,60 | =(90+95+30+60)*0.1=27.5 |
Namely, the fitness of the scheduling scheme is divided into:
(33+34+27.5)×avg(50,60,70,10,90,90,95,30,60)=94.5×61.67=5827.815
in a better scheduling scheme, the scores of all tellers tend to be high, and in the calculation of the fitness score, the emergency degree of the task pool is taken into consideration, the emergency degree is taken as the score weight, and the average value of the teller scores of all the tellers is used for preferentially selecting the scheduling scheme with the highest teller score average value under the condition that the former scores are the same.
Task pool qiEmergency assigned priority ofiThe task pool processing method is obtained by calculation according to preset parameters and the number of tasks to be processed in the task pool, and the calculation formula is as follows:
wherein, NumiRepresenting a task pool qiNumber of tasks to be processed, SuiTask pool q representing presetsiPriority of RiTask pool q representing presetsiThreshold of riTask pool q representing presetsiThe threshold coefficient of (2).
Each teller has a corresponding score for a certain type of task pool, the score interval is 0-100, and the higher the score is, the more qualified the teller is for the task in the task pool of the type. Tellers may have differences in scores for different types of task pools. Teller scoring can be an important basis in assessing the criteria of a dispatch protocol. The teller score is a value derived from the teller's mission history data. In this embodiment, the history data is stored in the system for three months, and is mainly divided into two indexes, one is average time consumption, the other is recovery rate, and the smaller the time consumption and the smaller the recovery rate of the teller, the higher the teller score. The time consumption, i.e. the actual time required by the teller to complete the task, and the recovery rate comes from two aspects, namely the number of tasks that the teller is allowed to actively replace the incomplete task in the task pool on the one hand, and the number of tasks that the teller has assigned due to the timeout incomplete task to be recovered in the task pool on the other hand.
The meaning of the parameters of the average elapsed time score is: if the time consumed by the teller for completing the task is not more than the average time length of the task, the average time consumption score is 100 minutes, otherwise, 10 minutes is deducted every 10 seconds exceeding the average time length; the parameters for the recovery score mean: if the recovery rate of the teller performing the task is not greater than the average recovery rate for the task, the recovery rate score is 100 points, otherwise, 10 points are deducted for each 1% over average recovery rate.
Will be a task pool qiThe j-th teller assigned is marked uijThen teller uijFor task pool qiThe teller score of (c) is:
scoreij=λi_1×indexij_1+(1-λi_1)×indexij_2
wherein λ isi_1Task pool q representing presetsiThe score weight coefficient of (1) in this example is 0.75, indexij_1Representing tellers uijPool of executing tasks qiAverage elapsed time score, index, of the task in (1)ij_2Representing tellers uijPool of executing tasks qiThe recovery score of the task(s). If the teller is a previously added virtual teller, the virtual teller has a teller score of 0.
After the fitness score of each individual in the population is obtained, sorting according to the fitness score, carrying out selection operation, reserving the individual with high fitness score, and eliminating the individual with low fitness score. In fact, there are many selection operators, such as roulette selection operators, which simply sort individuals for the purposes of computing resources.
After the selection operation is completed, a crossover operation is performed to create a new individual. Different individuals are crossed with a certain probability, the crossing rate set by the application is 60 percent, and plan is used1And plan2The crossover is performed as an example:
plan1={e,f,g,h,i,a,b,c,d},plan2and randomly selecting a task pool as q2In plan1In, corresponding task pool q2Has a teller of [ g, h, i]In plan2In, corresponding task pool q2Has a teller of [ n, m, i]. Random selection of plan1Task pool q2A teller of (1), randomly selecting a plan2Task pool q2Two tellers exchange to get two new individuals.
In order to avoid that one teller appears in one scheduling scheme for multiple times due to cross operation, a constraint condition is set, new individuals meeting the constraint condition are added into the population, and the constraint condition is as follows: in one dispatch scheme, a teller can only appear once.
E.g., in a crossover operation, plan is selected1Teller h in (1), selecting plan2The generated new individuals all meet the constraint condition, and two new individuals are obtained: plan1_new={e,f,g,n,i,a,b,c,d},plan2_new={g,f,h,m,i,a,b,c,d}。
In order to find the optimal solution better, the individuals in the population will have variation with a certain probability, the variation rate set in this embodiment is 10%, and the variation is that the teller allocated to the task pool becomes another teller. Such as individual plans in a population1The random selected task pool is q, with variation occurring { e, f, g, h, i, a, b, c, d }1,plan1Middle corresponding task pool q1Has a teller of [ e, f]Randomly selecting a teller from the task pool, deleting the teller, and then selecting a teller from the task pool q1To select a teller from the list of dispatchers to join, and obtain new individuals, such as: plan1_newX, f, g, n, i, a, b, c, d }, i.e., plan1Task pool q1The teller of (a) is changed from e to x.
After a certain number of iterations, if the iteration number is greater than a preset iteration threshold or the population reaches a stable state, outputting the individual with the highest fitness score in the current population to obtain an optimal scheduling scheme, and implementing the scheduling scheme after the personnel confirm. After the staff confirms to implement, the authority of the teller is automatically adjusted according to the scheduling scheme and the teller is informed, so that the speed is high, compared with the manual adjustment, the speed is high, and the purposes of cost reduction and efficiency improvement are achieved.
The teller scheduling method can achieve the goal of peak clipping and valley leveling in the shortest time, the original 5-7 minutes of adjusting time can be predicted to be shortened to 25-50 seconds, the authority adjusting speed increasing rate of the teller is 83% -94%, the business speed of background processing of a financial center can be predicted to be increased by about 15% through intelligent task scheduling, the social service level and efficiency can be effectively improved, the pressure of workers is reduced, and the labor cost is reduced.
The foregoing detailed description of the preferred embodiments of the invention has been presented. It should be understood that numerous modifications and variations could be devised by those skilled in the art in light of the present teachings without departing from the inventive concepts. Therefore, the technical solutions available to those skilled in the art through logic analysis, reasoning and limited experiments based on the prior art according to the concept of the present invention should be within the scope of protection defined by the claims.
Claims (10)
1. A centralized job task scheduling method is characterized by comprising the following steps:
acquiring all task pools q triggering scheduling1、q2、…、qNN is more than 0, and the requirements of each task pool are respectively obtainedNumber of people and list of available dispatchers for each task pool, wherein the ith task pool qiThe required number of people is wiIth task pool qiThe list of available dispatchers is listi;
Generating multiple scheduling plans plan1、plan2、…、planMAs an initial population, M > 1, each scheduling scheme being an individual in the initial population;
calculating the fitness score of each individual in the current population, if the population meets the preset convergence condition, taking the individual with the optimal fitness score as the optimal individual, outputting the scheduling scheme corresponding to the optimal individual as the optimal scheduling scheme and applying the optimal scheduling scheme, otherwise, executing selection, crossing and variation operations to obtain a new population, and repeating the steps.
2. The method according to claim 1, wherein a plurality of scheduling plans are randomly generated1、plan2、…、planMAs an initial population, the process of generating the kth scheduling scheme is as follows:
let i equal to 1, the k-th scheduling scheme plankInitialization is null;
self-task pool qiList of available dispatchersiIn randomly selecting wiA teller obtains a task pool qiAnd adding the allocation scheme to the kth scheduling scheme plankIf i is equal to N, the k-th scheduling scheme plan is obtainedkOtherwise, deleting w in the allocation scheme in the list of available dispatchers in all task poolsiThe teller, make the value of i increase 1, repeat this step;
obtaining the kth scheduling scheme plank:
Wherein u isijDenoted as task pool qiThe j-th teller of the assignment.
3. The method according to claim 2, wherein if the task pool q is q, the task pool q is divided into two groupsiList of available dispatchersiThe number of elements in (1) is less than wiThen to listiAdding a special mark virtual teller, and then obtaining a task pool qiWhen the optimal scheduling scheme is output, if a specially marked virtual teller exists in the optimal scheduling scheme, prompting a task pool q corresponding to the virtual telleriThe number of persons assigned is insufficient.
4. The method according to claim 1, wherein the kth scheduling plan is plankFitness score f as post-individualkComprises the following steps:
wherein the priorityiRepresenting a task pool qiEmergency assignment of (c), scoreijDenoted as task pool qiAssigned jth teller to task pool qiTeller score of (1).
5. The method for task scheduling of centralized job as claimed in claim 4, wherein the task pool q is a pool of tasksiEmergency assigned priority ofiThe calculation formula of (2) is as follows:
wherein, NumiRepresenting a task pool qiNumber of tasks to be processed, SuiTask pool q representing presetsiPriority of RiTask pool q representing presetsiThreshold of riTask pool representing presetsqiThe threshold coefficient of (2).
6. The method for task scheduling of centralized job as claimed in claim 4, wherein the task is to be a task pool qiThe j-th teller assigned is marked uijThen teller uijFor task pool qiThe teller score of (c) is:
scoreij=λi_1×indexij_1+(1-λi_1)×indexij_2
wherein λ isi_1Task pool q representing presetsiIndex ofij_1Representing tellers uijPool of executing tasks qiAverage elapsed time score, index, of the task in (1)ij_2Representing tellers uijPool of executing tasks qiThe recovery rate score, index, of the task in (1)ij_1And indexij_2Is based on tellers uijPool of executing tasks qiAnd obtaining historical data of the tasks.
7. The method for scheduling the task of the centralized job according to claim 1, wherein the selecting operation of the individuals in the group specifically comprises: and taking M individuals with the optimal fitness score in the population as elite individuals and keeping the elite individuals, wherein M is a preset population selection parameter, and M is more than 0 and less than M.
8. The method for scheduling the task of the centralized job according to claim 1, wherein a crossover operation is performed on the individuals in the population to obtain new individuals and the new individuals are added to the population, and the crossover operation specifically comprises:
randomly selecting two individuals as parents, randomly selecting a task pool, randomly selecting and exchanging tellers corresponding to the task pool in the two parents to obtain two new individuals, and adding the new individuals meeting constraint conditions into a population, wherein the constraint conditions are as follows: in a dispatch scheme for an individual, a teller can only appear once.
9. The method for scheduling the centralized job task according to claim 1, wherein the performing variation operation on the individuals in the population specifically comprises:
randomly selecting an individual, randomly selecting a task pool, obtaining an available dispatching teller list of the task pool, randomly replacing a teller corresponding to the individual in the task pool with a teller in the available dispatching teller list to obtain a new individual, and adding the new individual into a population if the new individual meets a constraint condition, wherein the constraint condition is as follows: in a dispatch scheme for an individual, a teller can only appear once.
10. The method for scheduling the task of the centralized job according to claim 1, wherein the preset convergence condition is: the algebra of the population is larger than a preset iteration threshold or the population reaches a stable state, and the step of the population reaching the stable state specifically comprises the following steps: and in Kp iterations, the variation errors of the fitness scores of the optimal individuals in the population are all smaller than a preset stable threshold, and Kp is larger than or equal to 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110793529.3A CN113592257B (en) | 2021-07-14 | 2021-07-14 | Centralized job task scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110793529.3A CN113592257B (en) | 2021-07-14 | 2021-07-14 | Centralized job task scheduling method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592257A true CN113592257A (en) | 2021-11-02 |
CN113592257B CN113592257B (en) | 2024-03-29 |
Family
ID=78247342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110793529.3A Active CN113592257B (en) | 2021-07-14 | 2021-07-14 | Centralized job task scheduling method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592257B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114493357A (en) * | 2022-02-17 | 2022-05-13 | 中国工商银行股份有限公司 | Abnormal service processing method and device |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270331A1 (en) * | 2007-04-26 | 2008-10-30 | Darrin Taylor | Method and system for solving an optimization problem with dynamic constraints |
CN105005832A (en) * | 2015-08-14 | 2015-10-28 | 杨凛 | Power supply station work task optimal allocation system |
CN107977740A (en) * | 2017-11-23 | 2018-05-01 | 海南电网有限责任公司 | A kind of scene O&M intelligent dispatching method |
CN108182518A (en) * | 2017-12-20 | 2018-06-19 | 北京遥感设备研究所 | It is a kind of based on improved adaptive GA-IAGA in state personal scheduling method processed |
CN110908782A (en) * | 2019-11-01 | 2020-03-24 | 湖北省楚天云有限公司 | Genetic algorithm optimization-based packaging type distributed job task scheduling method and system |
CN111461469A (en) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | Personnel scheduling method and computer equipment |
CN112051825A (en) * | 2020-09-22 | 2020-12-08 | 重庆大学 | Multi-target production scheduling method considering employee operation capacity in automobile trial-manufacturing workshop |
CN112884241A (en) * | 2021-03-12 | 2021-06-01 | 重庆大学 | Cloud edge collaborative manufacturing task scheduling method based on intelligent Agent |
CN112906952A (en) * | 2021-02-04 | 2021-06-04 | 交通银行股份有限公司 | Intelligent scheduling system for bank process tasks |
CN116644931A (en) * | 2023-06-12 | 2023-08-25 | 交通银行股份有限公司上海市分行 | Task scheduling method based on genetic algorithm |
-
2021
- 2021-07-14 CN CN202110793529.3A patent/CN113592257B/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270331A1 (en) * | 2007-04-26 | 2008-10-30 | Darrin Taylor | Method and system for solving an optimization problem with dynamic constraints |
CN105005832A (en) * | 2015-08-14 | 2015-10-28 | 杨凛 | Power supply station work task optimal allocation system |
CN107977740A (en) * | 2017-11-23 | 2018-05-01 | 海南电网有限责任公司 | A kind of scene O&M intelligent dispatching method |
CN108182518A (en) * | 2017-12-20 | 2018-06-19 | 北京遥感设备研究所 | It is a kind of based on improved adaptive GA-IAGA in state personal scheduling method processed |
CN111461469A (en) * | 2019-01-18 | 2020-07-28 | 阿里巴巴集团控股有限公司 | Personnel scheduling method and computer equipment |
CN110908782A (en) * | 2019-11-01 | 2020-03-24 | 湖北省楚天云有限公司 | Genetic algorithm optimization-based packaging type distributed job task scheduling method and system |
CN112051825A (en) * | 2020-09-22 | 2020-12-08 | 重庆大学 | Multi-target production scheduling method considering employee operation capacity in automobile trial-manufacturing workshop |
CN112906952A (en) * | 2021-02-04 | 2021-06-04 | 交通银行股份有限公司 | Intelligent scheduling system for bank process tasks |
CN112884241A (en) * | 2021-03-12 | 2021-06-01 | 重庆大学 | Cloud edge collaborative manufacturing task scheduling method based on intelligent Agent |
CN116644931A (en) * | 2023-06-12 | 2023-08-25 | 交通银行股份有限公司上海市分行 | Task scheduling method based on genetic algorithm |
Non-Patent Citations (5)
Title |
---|
任守纲;徐焕良;李相全;: "基于遗传算法的软件项目人力资源调度研究", 计算机应用研究, no. 12 * |
侯莉莉;姚玉南;范世东;江攀: "基于船舶大修的人力资源优化配置研究", 武汉理工大学学报(交通科学与工程版), vol. 35, no. 002 * |
吴鑫淼;章坚民;陈蒙伟;: "供电企业现场作业智能排班(调度)模型及算法", 计算机系统应用, no. 04 * |
唐月霞;: "面向行政管理系统的任务调度算法研究", 电子设计工程, no. 06 * |
王俊萍: "银行业务后台集中处理的效率和质量管理", 《现代商业》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114493357A (en) * | 2022-02-17 | 2022-05-13 | 中国工商银行股份有限公司 | Abnormal service processing method and device |
Also Published As
Publication number | Publication date |
---|---|
CN113592257B (en) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977740A (en) | A kind of scene O&M intelligent dispatching method | |
CN104268722B (en) | Dynamic flexible job-shop scheduling method based on multi-objective Evolutionary Algorithm | |
CN103530709B (en) | A kind of look for food the berth, container terminal of optimization method and bank bridge distribution method based on antibacterial | |
CN112051825B (en) | Multi-target production scheduling method considering employee operation capacity in automobile trial production workshop | |
CN108182518B (en) | In-process state personnel scheduling method based on improved genetic algorithm | |
CN101916404A (en) | Multi-factory cooperative scheduling optimization method during equipment manufacturing | |
CN110610304A (en) | Cross-region scheduling method of inspection robot based on hybrid genetic-ant colony algorithm | |
CN104842564B (en) | A kind of 3 D-printing multitask Optimization Scheduling based on NSGA II | |
Khmeleva et al. | Fuzzy-logic controlled genetic algorithm for the rail-freight crew-scheduling problem | |
CN110991784B (en) | Method and system for dispatching abnormal low-voltage transformer area | |
CN114565239B (en) | Comprehensive low-carbon energy scheduling method and system for industrial park | |
CN109523178A (en) | A kind of O&M method and device towards power communication scene | |
CN108776461A (en) | A kind of flexible job shop scheduling method and system | |
CN112149990B (en) | Fuzzy supply and demand matching method based on prediction | |
CN113592257A (en) | Centralized job task scheduling method | |
CN108170531A (en) | A kind of cloud data center request stream scheduling method based on depth belief network | |
CN113792989B (en) | Demand-driven parallel optimization scheduling method between shared sightseeing vehicle areas | |
CN114118832A (en) | Bank scheduling method and system based on historical data prediction | |
CN107219824A (en) | A kind of integrated control scheduler program design method of software robot based on rolling window dispatching technique | |
CN105427058A (en) | Engine test wire station distribution optimization method based on genetic algorithm | |
CN117371611A (en) | Subway train operation plan programming method, medium and system | |
CN112288180A (en) | Comprehensive order dispatching method and system for distribution network maintenance work order | |
CN115270627A (en) | Ship section manufacturing iterative optimization scheduling method and system based on artificial neural network | |
CN114021914B (en) | Unmanned aerial vehicle cluster flight protection scheduling method and device | |
CN114819273A (en) | Workshop scheduling method based on combination of multi-Agent global optimization and local optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |