This application is based upon and claims the benefit of priority to the prior Japanese Patent Application No. 2007-67437 filed on Mar. 15, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a personnel assignment optimization program, a personnel assignment optimization method and a personnel assignment optimization device that repeatedly calculates the tentatively optimum tentative personnel assignment and optimizes the personnel assignment under the prescribed constrained condition concerning a prescribed index. The personnel assignment optimization program, the personnel assignment optimization method and the personnel assignment optimization device can calculate the optimum personnel assignment with high accuracy and high speed.
2. Description of the Related Art
personnel expenses account for a large percentage of the operating expense in a contact center. It is important to assign personnel optimally in such a contact center. Personnel assignment, for example, is optimized by using a mathematical model or a simulation in order to maximize the average utilization of personnel. The average utilization of the personnel is maximized in a range where prescribed indices such as the average abandoned call rate (average value of customers' abandoned contact rates) and customers' average waiting time meet prescribed constrained conditions.
Models such as Erlang A model, B model, and C model, which are based on the Queuing Theory, are used as mathematical models. In addition, optimization is performed in a simulation by calculating the performance indices. The performance indices are calculated by simulating the generation of contacts (calls) and agents' actions.
However, the accuracy of optimization using a mathematical model is not high because the mathematical model is an approximation model. On the other hand, a huge calculation time is required for optimization using a simulation because the personnel assignment problem is a combinatory optimization problem.
An object of this invention is to solve the above-mentioned problems of conventional art by providing a personnel assignment optimization program, a personnel assignment optimization method and a personnel assignment optimization device that can calculate the optimum personnel assignment with high accuracy and high speed.
In a personnel assignment optimization program, tentatively optimum tentative personnel assignment is repeatedly calculated, and personnel assignment is optimized under constrained condition concerning prescribed index; a simulation execution procedure calculates a performance index by executing simulation to the tentative personnel assignment, an increase and decrease personnel assignment calculation procedure calculates the increase and decrease personnel assignment to the tentative personnel assignment using the performance index calculated by the simulation execution procedure and an approximation model, and a tentative personnel assignment update procedure updates the tentative personnel assignment by using the increase and decrease personnel assignment calculated by the increase and decrease personnel assignment procedure. The personnel assignment optimization program is executed repeatedly by a computer until the increase and decrease personnel assignment meets the prescribed convergence condition.
The above-described embodiments of the present invention are intended as examples, and all embodiments of the present invention are not limited to including the features described above.
Reference may now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
Referring to the attached drawing, preferred embodiments of the personnel assignment optimization program, the personnel assignment optimization method and the personnel assignment optimization device of this invention are explained in details as below. In addition, in these embodiments, the case when this invention was applied to optimize the personnel assignment of the contact center is mainly explained.
First of all, the personnel assignment in the contact center, that is, the arrangement of agents is explained.
Here, a line means a layer of agents assigned hierarchically. In
Contacts from the customers comprising telephone calls, mails and chats are received at the contact processor and passed to ACD (Automatic Call Distributor). The ACD assigns them to the agents in the first line. Then, the contacts that the agents in the first line cannot handle are assigned to the agents in the second line, and the contacts that the agents in the second line cannot handle are assigned to the agents in the third line.
Agents in each line need to handle plural tasks. If one agent is in charge of “Task A” and another agent is in charge of “Task B,” it is necessary to assign agents to plural tasks. In addition, there are plural shifts (working hours) in the contact center.
As a result, it is necessary to determine how many agents to assign to each task in each line and in each shift during personnel assignment in the contact center. To determine the number of agents, it is necessary to perform optimization so as to meet the target index such as maximizing the average utilization of agents within the range where indices such as average abandoned call rate, average waiting time, the number of agents meet the prescribed constrained conditions.
Next, the configuration of the personnel assignment optimization device of this embodiment is explained.
The personnel assignment information input part 110 is a processing part where information necessary for the personnel assignment optimization such as personnel assignment-related data, business data, restriction value, and it writes the input information in the personnel assignment information storage 120.
Here, data related to the personnel assignment is data that relates to the personnel assignment, and it comprises personnel assignment data that shows personnel assignment, task combination data that shows the combination of tasks, shift data that show shifts, shift configuration data that shows the correspondence between shifts and tasks, line configuration data that shows the correspondence between lines, tasks and skill levels.
The task data is data related to tasks and comprises the number of contacts data that shows the number of contacts from customers and parameter data that shows parameters related to the tasks.
Here, customer's patience means average time that the customer will not cancel the call by the time when it is connected to the agent and will wait in the queue, and the transfer rate is a rate from which the handling change is performed from the agent in the line “first” to the agent in the line “second.” In addition, the call back rate is a rate in which the agent hangs up the telephone once and calls back again. The average call back delay time is time from when the agent hangs up the telephone to when the agent calls back. Further, the redial rate is a rate that the customer who hung up the telephone before it was connected to the agent, calls again, and the average redial delay time is average time until the customer calls again.
For example, in
The restriction value is a value that the index should meet as a constrained condition, here, the value of the average abandoned call rate and the average waiting time are assumed to be the restriction value. The optimization target is a target of optimization within the range to meet the constrained condition.
Returning to
The simulator 130 is a device that simulates the contact processing in the contact center by using the personnel assignment related data and the task data store in the personnel assignment information storage 120, based on the instruction from the optimization control part 140, calculates the performance indices by a simulation and stores them in the personnel assignment information storage 120.
ACD131 is a device that assigns the contacts generated by logging, statistical processing and the report module 133, to the agents. The simulator interface 132 is an interface that connects the ACD 131, logging, statistical processing, and the report module 133.
Logging, statistical processing, and the report module 133 are the main body of the simulator that performs such as generation of contacts, simulation of terminals operated by the agents, logging of a simulation execution state, statistical processing of log data, calculation of the performance indices and creation of the reports, and it comprises a contact generator 133a that generates contacts and the agent terminal simulator 133b that simulates the agent terminals.
The optimization control part 140 is a control part that controls optimization of the personnel assignment with the optimum gradient method by simulating with the simulator 130.
In the optimum gradient method, an optimum solution is searched from the initial solution by using what the (local) optimum solution exists in the edge of the area that shows the constrained condition. In
In addition, though the personnel assignment problem is a combination optimization problem, due to the characteristics of a contact center,
A simulation can be almost regarded as a function
It is a non-linear optimization problem with restrictions in the almost convex (no-mountain) integer area, it is possible to reduce the problem to the real number area, locally optimize with the optimum gradient method, and converge to an almost globally optimum solution even from a inaccurate initial solution.
In a normal simulation that does not use the optimal gradient method, it takes 3 or more operations for optimization in units of each personnel assignment (unit to assign personnel by combination of tasks, shifts and lines). Even in the case of small-sized contact center (3 tasks, 2 shifts, and 2 lines), it takes (23−1)×2×2×3=84 operations for an entire optimization. In addition, calculation time for one operation (time to find from a tentative optimum solution to the next tentative optimum solution) becomes (time for simulation once)×(the number of task combination)×(the number of shifts)×(the number of lines)×2. Here, the reason to double at last is that it is necessary to search two cases in which one agent is increased or one agent is decreased.
As a result, if a calculation time of a simulation once is assumed to be 2 minutes, the calculation time for one operation becomes 2 minutes×(23−1)×2×2×2=112, and 112 minutes×84=9408 minutes or more is needed for optimization. On the other hand, because the optimization control part 140 uses the optimal gradient method, the number of operations can be decreased and necessary time for optimization can be decreased dramatically.
The increase and decrease personnel assignment calculation part 150 is a processing part to calculate the increase and decrease personnel assignment for the optimization control part 140 to find the next tentative optimum solution, and it stores the calculated increase and decrease personnel assignment in the personnel assignment information storage 120. Here, the increase and decrease personnel assignment means the number of increased or decrease agents in units of personnel assignment. The optimum control part 140 finds the next personnel assignment, that is, the next tentative optimum solution, and updates the personnel assignment data in the personnel assignment information storage 120.
Here, because the simulation result in W and the inclination of the approximation model are almost equal, ΔQ is almost equal to ΔP, and the calculation amount of ΔQ is far less than the calculation amount of ΔP. As a result, the increase and decrease personnel assignment calculation part 150 can calculate the increase and decrease personnel assignment with high speed.
Concretely, the increase and decrease personnel assignment calculation part 150 can decrease the calculation time for one operation (here, it is not the increase and decrease of one person, but the increase and decrease by inclination) from (calculation time for simulation once)×(the number of neighborhood) to (calculation time for simulation once)+(calculation time of inclination in the approximation model)×(the number of neighborhood). Here, the number of neighborhood (personnel assignment unit)=(the number of task combinations)×(the number of shifts)×(the number lines)=the dimension of the inclination vector, and (calculation time of inclination in the approximation model)×(the number of neighborhood) is time that can be ignored if it is compared with (calculation time for simulation once).
Thus, time necessary for optimization can be decreased dramatically by the increase and decrease personnel assignment calculation part 150 not using a simulation but using the approximation mode to calculate the increase and decrease personnel assignment.
The initial value generation part 160 is a processing part that generates the initial value used by the optimum control part 140 for optimization. This initial value generation part 160 generates the initial value by using the approximation model. Because the initial value generation part 160 generates the initial part by using the approximation mode, the appropriate initial value around globally optimum value can be generated with high speed.
Next, the processing procedure of the personnel assignment optimization processing by the personnel assignment optimization device 100 of this embodiment is explained.
As shown in this figure, in this personnel assignment optimization device 100, the personnel assignment information input part 110 reads the personnel assignment related data, the task data, the restriction values and the optimization target and stores them in the personnel assignment information storage 120 (Operation S1).
Then, the initial value generation part 160 performs the initial value generation processing that generates the initial value (Operation 2), and the optimization control part 140 instructs a simulation to the simulator 130 with the initial value as the tentative optimum personnel assignment. Then, the simulator 130 performs a simulation by referring to the personnel assignment information storage 120 (Operation S3), and stores the performance index in the personnel assignment information storage 120.
Then, the increase and decrease personnel assignment calculation part 150 calculates the inclination by using the approximation model (Operation S4), and calculates the increase and decrease personnel assignment X from the difference between the simulation result and the restriction value and the inclination, and stores it in the personnel assignment information storage 120 (Operation S5).
Then, the optimization control part 140 refers to increase and decrease personnel assignment X in the personnel assignment information storage 120, and determines whether the absolute values of all elements of the increase and decrease personnel assignment X are 0.5 people or less (Operation S6). As a result, if the absolute values of all elements are 0.5 people or less, the optimization control part 140 judges that optimum solution is obtained and outputs the personnel assignment and the performance indices by referring to the personnel assignment data and the performance indices in the personnel assignment information storage 120 (Operation S7). On the other hand, if the absolute values of not all elements are 0.5 people or less, the optimization control part 140 adds the increase and decrease personnel assignment X to the current personnel assignment R and updates the personnel assignment information storage 120 (Operation S8), then returns to Operation S3.
Thus, because the increase and decrease personnel assignment part 150 calculates the increase and decrease personnel assignment X by using the approximation model, the next tentative personnel assignment can be calculated with high speed.
Next, the processing procedure of the initial value generation processing by the initial value generation part 160 is explained.
As shown in
Then, when the increase and decrease personnel assignment calculation part 150 is instructed to calculate the increase and decrease personnel assignment, the increase and decrease personnel assignment calculation part 150 calculates the inclination by using the approximation model (Operation S23), then calculates the increase and decrease personnel assignment X from the difference between the calculated performance index and the restriction value calculated in operation S22 and the inclination, and stores it in the personnel assignment information storage 120 (Operation S24).
Then, the initial value generation part 160 refers to the increase and decrease personnel assignment X in the personnel assignment information storage 120, and determines whether the absolute values of all elements of the increase and decrease personnel assignment X are 0.5 people or less (Operation S25). As a result, if the absolute values of all the elements are 0.5 or less, the initial value generation part 160 ends processing with the current personnel assignment R as the initial value, and if the absolute values of not all the elements are 0.5 or less, the initial value generation part 160 updates the personnel assignment information storage 120 by adding the increase and decrease personnel assignment X to the current personnel assignment R (Operation S26), then it returns to Operation S22.
Thus, by the initial value generation part 160's instructing the increase and decrease personnel assignment calculation part 150 to calculate the increase and decrease personnel assignment X, an appropriate initial value that uses the approximate value model can be generated.
As mentioned above, because in this embodiment, the optimization control part 140 controls as the personnel assignment is optimized by simulating by using the simulator 130 with the optimum gradient method, and the increase and decrease personnel assignment calculation part 150 calculates the increase and decrease personnel assignment by using the approximation model for the optimization control part 140 to find the next tentative optimum solution, the optimum personnel assignment can be calculated with high accuracy and high speed. In addition, because in this embodiment, the initial value generation part 160 generates the initial value by using the approximation mode, an appropriate initial value can be calculated with high speed. In addition, the personnel assignment information storage 120 stores the necessary information to optimize the personnel assignment, and the simulator 130, the optimization control part 140 and the increase and decrease personnel assignment calculation part 150 refer to the information in the personnel assignment information storage part 120, update it and perform processing.
In addition, though the personnel assignment optimization device is explained in this embodiment, by realizing the configuration comprised by the personnel assignment optimization device by software, a personnel assignment optimization program comprising the similar function can be acquired. So, the computer that executes this personnel assignment optimization program is explained.
RAM 210 is a memory that stores a program or a program execution result halfway through processing. CPU 220 is a central processing unit that reads a program from RAM 210 and executes it. HDD 230 is a disk device that stores a program or data. LAN interface 240 is an interface that connects computer 200 with another computer via LAN. I/O interface 250 is an interface that connects input devices such as a mouse and a keyboard and display devices. DVD drive 260 is a device that reads and writes a DVD.
Then, the personnel assignment optimization program 211 executed in this computer 200 is stored in a DVD, and it is read from the DVD by the DVD drive 260, and installed in the computer 200. Or, this personnel assignment optimization program 211 is stored in such as data bases of other computer systems connected via LAN interface 240. The program is read from these data bases and is installed in the computer 200. Then, the installed personnel assignment optimization program 211 is stored in HDD 230, read by RAM 210 and executed by CPU 220.
Although a few preferred embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2007-67437 | Mar 2007 | JP | national |