+ All Categories
Home > Documents > The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment...

The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment...

Date post: 09-Oct-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
11
The Scheduling Model and Algorithm for Workforce Management : A case study at KT Dong Cheul Lee, Seongil Kim, Sungsoo Kim, Dongsik Yun Operations Support System Laboratory, KT Email: {jackdclee,sikim,loach,dsyun}@kt.co.kr Tel : 82-42-870-8654 Abstract In a telco, technicians visit a number of customer sites per appointment. Scheduling these technicians would be easy if there were a small number of assignments to do. However, in most cases, there are an excessive amount of assignments to complete and the number of technicians is not sufficient enough to tackle the challenge. In addition, customers have a variety of needs and each technician has a different skill level, and managers who drive technicians might have different scheduling purposes especially at a large telco like KT. Managers are reported to have difficulty in scheduling due to its complexity. Therefore, an automated scheduler is necessary to schedule technicians efficiently so that the managers do not have to schedule technicians on their own. To do so, we propose four kinds of objective functions and various constraints to model KT’s workforce scheduling case, which are used by the scheduler. We also developed algorithms to find the best possible solution through using the model. The scheduling system is implemented by using the proposed model and algorithms. The result of adopting the implemented scheduling system was successful from both financial and service quality perspectives. Keywords : scheduling, workforce management 552
Transcript
Page 1: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

The Scheduling Model and Algorithm for Workforce Management: A case study at KT

Dong Cheul Lee, Seongil Kim, Sungsoo Kim, Dongsik Yun

Operations Support System Laboratory, KT

Email: {jackdclee,sikim,loach,dsyun}@kt.co.kr

Tel : 82-42-870-8654

AbstractIn a telco, technicians visit a number of customer sites per appointment.

Scheduling these technicians would be easy if there were a small number of assignments to do. However, in most cases, there are an excessive amount of assignments to complete and the number of technicians is not sufficient enough to tackle the challenge. In addition, customers have a variety of needs and each technician has a different skill level, and managers who drive technicians might have different scheduling purposes especially at a large telco like KT. Managers are reported to have difficulty in scheduling due to its complexity. Therefore, an automated scheduler is necessary to schedule technicians efficiently so that the managers do not have to schedule technicians on their own. To do so, we propose four kinds of objective functions and various constraints to model KT’s workforce scheduling case, which are used by the scheduler. We also developed algorithms to find thebest possible solution through using the model. The scheduling system is implemented by using the proposed model and algorithms. The result of adopting the implemented scheduling system was successful from both financial and service quality perspectives.

Keywords : scheduling, workforce management

552

Page 2: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 2/11

Introduction

The definition of telco’s workforce scheduling problem

Diverse objectives and constraints of scheduling

Modeling of workforce scheduling problemVehicle routing problem

CVRPTW

Fast local search and Guided local search

Our Constraint programming

1. IntroductionIn a telecom, there are many tasks to visit customers at a destined time. If a customer

requests POTS (Plain Old Telephone System) service or broadband service at a specific time, a technician should visit the customer at the time of appointment. If the volume of customers’requests is not excessive, the technician can perhaps easily visit customers per reservation. However, in the real world, the amount of work to dispatch and the diversity of customer needs are overwhelming and technicians available in the telco’s human resource are not sufficient generally. Therefore, a manager who schedules workforce has difficulty in the efficient scheduling.

The purpose of scheduling can vary depending on situations. If assignments are overflowing, which ought to be completed in a day, technicians should do as many assignments as possible even though they can not meet customers’ reservation. And the manager might want to use the minimum number of technicians due to accounts settling problems or might want to equalize the number of assignments per every technician. Also, the manager might regard providing on-time service to customers as a critical factor. Furthermore, constraints which could be a visit location, technician’s skill, an assignment type, etc., may vary according to situations as well.

To reflect these diverse objectives and constraints on scheduling, their modeling is crucial to search for an optimal solution. Since a technician must travel to a customer site, the challenge to model this scheduling can be treated as a vehicle routing problem[4]. However, it has been shown that almost all vehicle routing problems are NP-complete[2], so it is difficult to find an optimal solution. However a near optimal solution can be found for this problem, considering other complex conditions by using CVRPTW(Capacitated-Vehicle Routing Program with Time Window)[3], which simplifies a complicated real world problem to a similar simple well-known theoretical model. Furthermore, E.Tsang and C.Voudouris[1] suggested the fast local search and guided local search for British Telecom’s workforce scheduling problem. However, [1] and [3] are not sufficient to reflect various objectives and constraints of the real world. We have not found other studies which are enough to reflect them until now.

We propose a scheduling model and algorithms which can reflect various objectives and constraints by using a constraint programming, especially to address KT’s workforce scheduling challenge. KT is the largest telco in Korea, so we can consider various complicated environment factors which will be reflected in our scheduling model.

553

Page 3: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 3/11

KT’s Workforce Scheduling ProblemService Ordering System Service Assurance System

Workforce Management System

POTS assignment

broadband assignment

Leased-line assignment

POTS assignment

broadband assignment

Leased-line assignment

Region A Region B

POTS SA team

POTS SOteam

broadband SA,SOLeased line SA,SO

team

All service SA,SOteam

scheduler time

customer

manager

assignments

technicians

2. KT’s Workforce Scheduling ProblemKT’s workforce scheduling challenge is to assign a set of assignments to technicians,

minimizing total cost according to scheduling objectives. To provide services to customers, KT has used three systems, which are a service ordering (SO) system, a service assurance (SA) system, and a workforce management (WM) system.

Assignments are generated from SO system or SA system. SO system generates them to provide services to a customer, whereas SA system generates them to restore provided services. Every assignment has reserved date information which is a technician’s visit time requested by the customer. Assignments are divided into POTS, broadband, and leased line assignments. That is, technicians need to perform six types of assignments which are POTS SO, POTS SA, broadband SO, broadband SA, leased line SO, and leased line SA. There can be concurrent assignments which should be done by one technician at the same time if the customer ordered two services together. Also there can be assignments that require more than one technician, which are usually leased line assignments. Moreover, some assignments require a specific technician to be dispatched who is referred to as a reserved technician.

Assignments transmitted from SO system or SA system have site information and its type information. Also, each team takes charge of specific region’s services. Therefore, WM system can determine the team for each assignments. On the above example, three teams provide services on region A and one team provides services on region B. After a team is determined, a manager should assign the assignment to a technician in the team. Every technician must come to a central office on clock-in time and go out to work and must return to the central officeuntil clock-out time.

There are three kinds of scheduling modes, a static scheduling, a dynamic scheduling, and a periodic dynamic scheduling. The static scheduling schedules technicians under initial conditions, whereas the dynamic scheduling schedules them under the consideration of previous scheduling results. The dynamic scheduling can change previous schedule if scheduled assignments were not completed yet. However, managers might not want to change the schedule of some assignments automatically which can be done soon to prevent technicians’confusion. Therefore, managers should be able to configure the number of assignments which schedule should not be changed and a time limit not to change the schedule before the time limit. These two scheduling modes are executed by managers, whereas the periodic dynamic scheduling is executed periodically. The scheduling is done automatically by using preset environment variables. Also a customer grade is divided into two levels, premium and normal. And managers can set the skill level of technicians so that the scheduler can assign more assignments to the technicians with a high skill level.

554

Page 4: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 4/11

Structure of Scheduler

Start

Read input data

Preprocess

Modeling

Search solution

Print output data

End

Input data

Preprocessed input data

Modeling & Solution search

3. Structure of SchedulerTo develop a scheduler which can be used for the KT’s workforce scheduling challenge,

we designed the scheduler to have the following structure.First, the scheduler reads data required for scheduling. Data can be divided into four parts,

parameter information, assignment information, technician information and common information. Managers can select various options, and selected options are delivered to the scheduler as parameter information. Assignment information, technician information and common information are stored in a database so that the scheduler can access these information directly.

After the scheduler gets every information it needs, it preprocesses the information. A preprocessing excludes error-contained information and converts data properly, so that the scheduler can use it effectively. For instance, technicians who does not belong to any team are excluded, and if a team which should do an assignment has no technicians, the assignment is excluded. Or if an assignment requires a reserved technician and the team does not have the technician, the assignment is excluded. If there are assignments which require n technicians, and if a team which should do the assignments has m technicians, the preprocessing makes the assignments require m technicians(n>m).

Afterwards, the scheduler models an objective function and constraints by reference to the given information. Each objective function has different values of penalty cost and the scheduler searches for a solution to minimize the total cost of the objective function. Also the objective function should meet various kinds of constraints to reflect customer’s needs and limited human resources.

Then the scheduler searches for a solution by using the objective function and the constraints. Due to their combinatorial and explosive nature, it is hard to find an optimal solution[1]. Because not only finding best approximation is important but also searching time is important, the scheduler uses three-step algorithms to reduce searching time and get the better solution. Then if managers want short searching time, the scheduler does not have to use all three algorithms and can stop its searching on the middle of the step. Even though the scheduler stops its operation during the searching, the scheduler still can get an acceptable result which is not much worse than the best approximation.

If the scheduler gets the result of the searching, it prints the results and terminates.

555

Page 5: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 5/11

Input Data

scheduler

Scheduling Result

Common Information

Skill durationCentral office sitePrevious scheduling

Assignment Information

TypeSiteTeam IDMin timeMax timeCustomer gradeNumber of techniciansConcurrent assignmentReserved technicianReserved date

Technician Information

IDLocationClock-in timeCompletion timeClock-out timeSpeedNumber of finished assignmentsTeam IDSkill level

Parameter Information

Objective functionSearching timeDistance methodTime windowsLunch timeFixed number of assignmentsFixed working timeScheduling mode

4.1. Input DataInput data for the scheduler can be divided into four categories; technician information,

parameter information, assignment information, and common information. Each information is used for modeling objective functions and constraints and searching for a solution.

Technician information is the information about the technicians who can do given assignments. It includes an ID, a location, clock-in time, completion time, clock-out time, speed, the number of finished assignments, team ID, and skill level. Clock-in time is the time when a technician comes to the central office. Completion time is the time when the technician finishes his last remaining assignment. Clock-out time is the time when the technician leaves for the day. Speed stands for the average vehicle speed of the technician. The number of finished assignments is the number of assignments that the technician had been completed until that time for a day. Team ID is the ID of a team that the technician belongs to. And a skill level shows proficiency of the technician which is classified into three levels.

Parameter information is the information that a manager can input and pass it to the scheduler as parameters. It includes the type of an objective function, searching time, a distance method, time windows, lunch time, fixed number of assignments, fixed working time, and a scheduling mode. There are four kinds of objective functions and they are used for searching for a solution for specified searching time. A distance method is the method for estimating technician’s travel distance between the current location of the technician to the customer site. Time window is the limit of visit margin time. If the time window is a hours and the reserved visit time is b o’clock, the technician can visit the customer from b o’clock till b+a o’clock. Also, a technician should not scheduled at one’s lunch time. Fixed number of assignments and fixed working time are used for dynamic scheduling so that the scheduler does not reschedule for a specified number of assignments or time. A manager can also select scheduling mode that are a static mode or a dynamic mode.

Assignment information contains assignment type, a customer site, predetermined team ID, min time, max time, customer grade, required number of technicians, concurrent assignment, a reserved technician and date. Customers request the time when technicians will visit, which can be expressed as min time and max time. Depending on the customer grade, premium customers are scheduled first, and others are later.

Common information includes skill duration, a central office site, and a previous scheduling result. The working time for each assignment type, which is skill duration, is determined by technician’s skill level and a manager can set the skill duration for each skill level.

556

Page 6: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 6/11

Objective Functions

Maximize the number of assignments

Maximize the number of assignments

Minimize the number of technicians

Minimize the number of technicians Load BalancingLoad Balancing Maximize on-time

service rateMaximize on-time

service rate

Objective FunctionsObjective Functions

A B

DC

A B C D

MultiMulti--Objective FunctionsObjective FunctionsDistance cost

Technician costNo visit cost

Return late costLate costEarly cost

Load balance cost

Distance costTechnician cost

No visit costReturn late cost

Late costEarly cost

Load balance cost

Penalty CostsPenalty Costs

4.2. Objective FunctionsObjective functions are used for finding a solution to minimize the total cost. There are four

kinds of objective functions which are “maximize the number of assignments”, “minimize the number of technicians”, “load balancing”, and “maximize on-time service rate”. A manager can select one of the objective functions before he execute the scheduler.

“Maximize the number of assignments” objective function is used when a manager wants to maximize the number of assignments for each technician if customers’ orders are overflowing suddenly. Because the technicians are not sufficient and they should complete assignments as many as possible, some of constraints should be neglected, such as time windows and lunch time. The cost is increased when assignments can not be done. “Minimize the number of technicians” objective function is used when a manager wants to reduce the total number of required technicians. It tries to dispatch as many assignments as it can to one technician. And if it does not meet constraints, it dispatches assignments to another technician. “Load balancing” objective function is used when a manager wants to assign almost same number of assignments for each technician. The cost is increased if the technician has more or less number of assignments than an average number of assignments per technician. “Maximize on-time service rate” objective function is used when appointment time with customers should be on time. It adds costs if a technician visits a customer site earlier or later than the appointment time.

Each objective function would not be so useful when it is used alone. Therefore, as the above picture, we developed four multi-objective functions by combining two previous objective functions. For instance, A maximizes the number of assignments and minimizes the total number of technicians, etc. Each has different values of penalty cost. All functions have equivalent values of distance cost, no visit cost, and return late cost which are cost per traveling distance, cost when the assignment can not be done in a day, and cost when a technician should return to the central office later than clock-out time. Technician cost is cost per required technician and A has high value, B has low value, C has low value, and D has high value. Late cost and early cost is cost per time difference between appointment time and actualvisit time and A has zero value, B has high value, C has zero value, and D has high value. Load balance cost is cost per difference between the number of assignments of a technician and an average. For this penalty cost, A has zero value, B has high very high value, C has high value, and D has zero value. In this case, the value of the cost on C is lower than B’s because dispatching more assignments is more important than load balancing generally. These multi-objective functions were adopted for the objective functions of the scheduler.

557

Page 7: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 7/11

ConstraintsTechnician Constraints

Clock-in timeClock-out timeLunch timeSkill levelTeam IDSpeedReserved technician

Assignment Constraints

Min time, Max timeCustomer gradeConcurrent assignments2-technician-required assignmentFixed number of assignmentsFixed working time

Distance Measurement

Euclidean(Z)Manhattan(X+Y)DistMax(X)

Y

X

Z customer coordinates B

customer coordinates A

<Distance measurement>

4.3. ConstraintsThere are three kinds of constraints which are used for searching for the solution;

technician constraints, assignment constraints, and distant measurement constraints. Technician constraints have seven sub constraints. Clock-in time should be a hard

constraint whereas clock-out time can be a soft constraint. So technicians must do his first assignment later than clock-in time. If the technician’s return time to his central office is later than clock-out time, return late cost is increased by degree of its difference. After technician’s lunch time, the scheduler does not need to consider lunch time constraint. However, while lunch time, technician’s next visit time should be later than the time to finish his lunch. Before lunch time, lunch time should be guaranteed except when “maximize the number of assignments” objective function is used. According to the skill level of an technician, working time at a customer site is set up. Each assignment should be dispatched to a technician who belongs to the team where the assignment dispatched. According to the type of vehicle, the speed of technicians is set up. If there is a reserved technician for an assignment, the assignment must be assigned to the specified technician.

Assignment constraints have six sub constraints. If an objective function wants to maximize on-time service rate like B or D, min time and max time should be a hard constraint. Otherwise, a soft constraint is applied so that late cost, early cost, and customer grade are considered to increase the cost when a technician visits a customer earlier or later than min time or max time for more than time windows. However when we use “maximize the number of assignments” objective function, these constraints are neglected so that the scheduler can dispatch assignments as many as possible to technicians. As a technician visits customers earlier or later and a customer grade is higher, the cost would be increased more. If two concurrent assignments exist, those assignments would be assigned to the same technician. If an assignment requires two technicians, the technicians must visit the customer together at the same time. For a dynamic scheduling, assignments corresponds to fixed number of assignments constraint or fixed working time constraint are excluded from rescheduling.

The scheduler can not know the actual moving distance of a technician due to they do not carry GIS or navigation system. Therefore, following distance measurement constraints are used. Distance between ‘customer coordinates A’ and ‘customer coordinates B’ is measured by three methods. As we can see a picture above, Euclidean use ‘Z’, Manhattan use ‘X+Y’, and DistMax use ‘X’ as distance. Managers can choose a suitable distance measurement constraint which is appropriate for the road condition of the district.

558

Page 8: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 8/11

Searching ProcedureStart

Initial Solution

Feasible solutionexist?

Search at least one solution

Improve solution

Meta heuristic

End

End Condition?

End Condition?

Save solution

No

Yes

No

Yes

Yes

No

Algorithm init_solution(assignments, technicians, schedule, c)Begin1. e = an technician who has not selected and assigned minimum number of assignments;2. if(e==null) exit;3. agmt_1=first assignment of e;4. agmt_2=a assignment of e which has maximum penalty value;5. if(agmt_1 and agmt_2 make feasible solution) then schedule.add(e, agmt_2)6. agmt_1=agmt_2; goto step 4;7. if(the number of e’s assignment in schedule > c) then gotostep 1;End

4.4. Searching ProcedureAfter an objective function and constraints are set up properly, the scheduler makes a

technician’s schedule by finding a solution. A searching procedure is divided into three phases as presented in the above picture. An initial solution phase makes the seed for an improving solution phase. Afterward, an initial solution is improved on an improving solution phase. And if an improved solution converges into a local solution, a meta heuristic is used for getting out of a local solution so that it can get a better solution.

An initial solution phase makes a technician’s schedule initially under a given objective function and constraints. To find an initial solution, the scheduler uses the following algorithm for each technician. First, it selects a technician who has never been selected and has been dispatched minimum number of assignments. Second, if it can not find any technicians on the first step of the algorithm, the algorithm ends. Third, it dispatches first assignment agmt_1 to the technician. If the technician has had no scheduled assignments until this time, agmt_1should be a central office. For convenience, the scheduler considers a central office to be a assignment which a technician should visit, but does not need to work. Fourth, it selects the assignment agmt_2 which has maximum penalty value when it is dispatched to the technician. Fifth, if the technician can perform agmt_2 after agmt_1, the schedule of agmt_2 is fixed. Sixth, it sets agmt_2 to be agmt_1 and repeats from step 4 to step 6. While repeating from step 4 to step 6, it jumps to step 1 if the objective function contains “load balancing” and the number of technician’s assignments is more than an average. Or, it jumps to step 1 if the objective function contains “minimize the number of technicians”, and the number of technician’s assignments is more than 10. The value 10 means an approximated value that a technician can complete to the maximum extent in a day.

If an initial solution can not be found on this algorithm, the scheduler uses modified algorithm, which has a same procedure except step 5, 6, and 7. For a modified algorithm, if the technician can do agmt_2 after agmt_1, the schedule of agmt_2 is fixed and goes to step 1. Otherwise, the schedule that the technician returns to a central office is fixed and goes to step 1.

After it finds an initial solution, it tries to find a better solution through an improving solution procedure. Eight kinds of algorithms are used in this procedure, which are 2-Opt, Or-Opt, Cross, Exchange, Relocate, Make perform, Make unperform, and Swap perform[4]. Generally, 2-Opt and Or-opt algorithms are used to search the better route from in-route point of view. 2-Opt algorithm can make a new route by eliminating two nodes in the route. Or-opt can make a new route by eliminating more than two nodes in the route. Whereas, Cross, Exchange, and Relocate algorithms are used to search the route from inter-route point of view so that two different routes can be combined.

559

Page 9: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 9/11

Searching Procedure

number of iterations

Solution

initial solution

local optimum

improve solution

meta heuristic

best possible solution

Make perform + Make unperform + Swap perform + Relocate + Exchange + Cross + Or-Opt

A, D

Make perform + Swap perform + Relocate + Exchange + Cross + Or-OptB, C

Used algorithms for improving solutionObjective function

Cross algorithm exchanges edge nodes of each route for two different routes. Exchange algorithm exchanges edge nodes of each route for more than two routes. Relocate algorithm removes a node in the route to another route. And Make perform, Make unperform, and Swap perform algorithms are used for adding, deleting, or exchanging nodes. Make perform algorithm modifies a solution so that a visitor can visit the node which was not visited. Make unperform algorithm modifies a solution to change visited nodes into unvisited nodes. Swap perform algorithm modifies a solution by exchanging a visited node for an unvisited node.

Selecting suitable algorithms among these algorithms affects performance of searching so that algorithms should be selected properly from these eight kinds of algorithms to improve a solution. Moreover, the order of using these algorithms also affects it’s performance because of searching time limitation. As a result of simulations, we found that the algorithms in the order of Make perform, Swap perform, Relocate, Exchange, Cross, and Or-Opt makes good performance for objective function B and C. Also, the algorithms in the order of Make perform, Make unperform, Swap perform, Relocate, Exchange, Cross, and Or-Opt makes good performance for objective function A and D.

An improving solution procedure stops its searching at the following conditions; First, if searching time which is given for input data is passed, it stops. Second, if the solutions had been identical for more than fifty times, it stops because it is considered that a solution converges into a local solution. Third, if all possible cases are searched, it stops because there can not be better solution any more.

If a solution converges into a local solution, a meta heuristic is used for getting out of a local solution. As we can see the picture above, the scheduler can get a local optimum on improve solution phase, which could be better than the initial solution. However, it can get the best possible solution by using a meta heuristic, which could be better than a local optima. In this meta heuristic procedure, GLS(Guide Local Search)[1] algorithm is used because it is considered as the best among other algorithms which are used for escaping a local solution, generally. A meta heuristic stops its searching if the number of iteration is more than 200, or if searching time is elapsed.

If stop condition meets while searching, the scheduler can get a final solution and the solution is saved. The results of the solution should have the list of technicians and assignments and corresponding start times to do the assignments which were determined by the scheduler.

560

Page 10: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 10/11

Implementation

Clients

automatic scheduling

manual scheduling

periodic dynamic scheduling

scheduling result

Firewall L4

Application Servers

Scheduling Servers

Scheduler ComponentsScheduler

ComponentsCyclic Timer

Cyclic Timer

QueueQueue

ReportAlive

ReportAlive

SchedulerComponentScheduler

Component

SchedulingEngine

SchedulingEngine

DB Server

5. ImplementationA scheduling system is implemented in KT’s NeOSS-WM(New Operation Support

System-Workforce Management). NeOSS-WM consists of PC client, PDA client, application server, scheduling server, and DB server.

The PC client can initiate scheduling in three way, an automatic scheduling, a manual scheduling, and a periodic dynamic scheduling. An automatic scheduling is done by the scheduler, whereas a manual scheduling is done by managers. We implemented the manual scheduling which does not use the scheduler to meet various manager’s needs. Also, managers can set environment variables on the periodic dynamic scheduling UI. The scheduling result is displayed as a Gantt chart. The client is CS client and works on .NET framework.

The PDA client is used by a technician to receive the assignments information which were assigned to the technician. The PDA client communicates with the application servers on CDMA2000 1x or EVDO network. It uses Windows Mobile .NET platform and MS SQL CE 2.0 DBMS. And it is implemented with C# .NET on .NET framework.

The application servers have a cyclic timer which is used for periodic dynamic scheduling. Scheduling requests are queued in the application servers’ queue to prevent scheduling servers from overload. The servers operate on Windows server 2003 platform and server applications are implemented with C# .NET on .NET framework. The servers are load balanced by using L4 switch and protected by a firewall.

DB server stores information from the application servers and the scheduling servers. It uses MS SQL Server 2000 as a DBMS.

The scheduling servers are load balanced by the application server and send alive messages to DB server for fault checking. Scheduler components of the scheduling servers and the server applications communicate on the basis of COM+. The scheduler is implemented by using ILOG Solver & Dispatcher. After the schedules of technicians are determined, short messages are sent to the technicians by using SMS.

NeOSS-WM is used at about 115 KT’s central offices on Chungcheong and Jeollaprovince in Korea currently. After adopting this system, managers do not have to spend much time to schedule technicians and could manage technicians well. Furthermore, technicians could work efficiently without having to waste much time on the road to move, and could visit customers at reserved time more accurately. As a result, KT’s central offices reported that technicians can complete fifty percent increased the number of assignments in a day.

561

Page 11: The Scheduling Model and Algorithm for Workforce ... · parameter information, assignment information, technician information and common information. Managers can select various options,

page 11/11

Conclusion and Future Work

We proposed a workforce scheduling model

It reflects many complicated real world problems

It is implemented in NeOSS-WM

It has made managers and technicians work efficiently

It will handle not only KT’s problem but also other workforce scheduling problem

6. Conclusion and Future WorkWe proposed the scheduling model which is capable of reflecting a variety of complicated

real world problems, especially to address KT’s workforce scheduling challenge. We made four kinds of objective functions and various constraints to model KT’s workforce scheduling problem and made algorithms to search for a near-optimal solution. These models and algorithms are implemented in NeOSS-WM and its results were successful. By adopting NeOSS-WM, managers and technicians could work more efficiently. As a future work, we will improve NeOSS-WM to solve not only KT’s workforce scheduling problems but also other resource scheduling problems.

References:[1] E. Tsang and C. Voudouris, Fast Local Search and Guided Local Search and Their Application to British Telecom’s Workforce Scheduling Problem, Operations Research Letters, 20, 119-127, 1997[2] Lenstra, J.K. & A. Rinnooy Kan, Complexity of Vehicle Routing and Scheduling Problems, Networks, 11, 221-227, 1981.[3] L.J. Schumitt, J. Aflaki, S.T. Pitts, and R.H. Kamery, An Emphasis on Heuristics Combined with GA to Improve the Quality of the Solutions: Some Methods Used to Solve VRPs and VRPTCs, Allied Academies International Conference, 53-58, 2004.[4] G.Laporte, M. Gendreau, J.Y. Potvin, and F. Semet, Classical and modern heuristics for the Vehicle Routing Problem, Intl. Trans. in Op. Res. 7, 285-300, 2000.

562


Recommended