Applying Constraint Programming to Identification and ... - Springer Link

10 downloads 696 Views 187KB Size Report
public human placement agencies, face the Workforce Management (WM) Iden- tification and Assignment ... Resource deployment professionals (RDPs) search for best matches based on their ... As its core engine, we use a systematic CP.
Applying Constraint Programming to Identification and Assignment of Service Professionals Sigal Asaf1 , Haggai Eran1 , Yossi Richter1 , Daniel P. Connors2 , Donna L. Gresh2 , Julio Ortega3, and Michael J. Mcinnis4 1

4

IBM Haifa Research Lab, Haifa University Campus, Haifa 31905, Israel {sigalas,haggaie,richter}@il.ibm.com 2 IBM Research Division, Thomas J. Watson Research Center, P.O. Box 218, Yorktown Heights, NY, 10598 {dconnors,gresh}@us.ibm.com 3 IBM Global Business Services, 1503 LBJ Freeway, Dallas, TX 75234 [email protected] IBM Global Business Services, 150 Kettletown RD, Southbury, CT, 06488-2600 [email protected]

Abstract. Today many companies face the challenge of matching highlyskilled professionals to high-end positions in large organizations and human deployment agencies. Non-accurate matches in these businesses can result in significant monetary losses and other negative effects. Unlike traditional Workforce Management (WM) problems such as shift scheduling, highly-skilled employees are professionally distinguishable from each other and hence non-interchangeable. Therefore, the techniques used for shift-scheduling can’t be applied to the highly-skilled WM domain. Our work focuses on providing a Constraint Programming solution for supporting the assignment of highly-skilled professionals. Our experience shows that CP is well adapted to this problem. CP supports very well the underlying constraints. In addition, the rich expressive language supported by CP allows us to provide a convenient mechanism for changing and adding new matching and preference constraints. Based on this technology, we have built a tool that is currently being used by IBM service organizations and provides strong business results.

1

Introduction

Today’s economy is witnessing a constantly increasing demand for skilled professionals with specialized combinations of expertise, who are essential in accomplishing high-end projects. This trend can be observed in most markets and industries. As a result, many large business organizations, as well as private and public human placement agencies, face the Workforce Management (WM) Identification and Assignment (ID&Assign) problem of assigning skilled professionals to positions with specialized requirements. The ultimate goal therefore is to rapidly create matches that are accurate, while maximizing generated revenue. Poor decisions can result in understaffing, D. Cohen (Ed.): CP 2010, LNCS 6308, pp. 24–37, 2010. c Springer-Verlag Berlin Heidelberg 2010 

Applying Constraint Programming to Identification and Assignment

25

under-qualification or over-qualification of assigned personnel, and high turnover of poorly matched workers. While the importance of quality matching is clear, promptly dealing with pools of hundreds of positions and professionals in a dynamic market is a serious challenge. Careful deployment of individuals is essential for boosting productivity in today’s marketplace. In spite of its importance, many companies address the WM challenge manually. Resource deployment professionals (RDPs) search for best matches based on their knowledge and their expertise, and are supported by simple query tools which provide the ability to search for a professional who is characterized by some criteria (e.g., search for a C++ developer, from New York). When the lists of professionals and positions to be matched are larger than a few dozen, this process results in assignments that are far from optimal and take a long time to create. Moreover, each RDP is usually responsible for a small number of positions and professionals and therefore takes into account only local considerations. However, a global view, comprising all positions and professionals in the pool, is essential for providing good assignments. Given this complexity, an automated mechanism that produces a more accurate list of matches, and provides recommendations of near-optimal assignments is essential. However, developing such a system would be quite difficult both in capturing the correct abstraction level of the workforce model/rules, and in developing the underlying technology. We applied constraint programming (CP) to develop a new tool, which successfully provides prioritization lists and near-optimal assignments. These results take into account all resources and positions in the pool, as well as the complex constraints defining a good match. As its core engine, we use a systematic CP solver developed in IBM (see [1]). The new tool was successfully piloted in 2005, and has since been essential in helping resource managers and deployment managers implement better assignments. Today it is widely deployed by IBM’s Global Business Services (GBS) in all geographies. A high-level overview of the tool was given in [2], along with many background references. In [3], we presented some technological advancements including text analysis and the flexibility feature that adjusts a given assignment when some of the parameters (e.g., professional pool, position pool or the matching constraints) have changed. In this paper, we focus on the advantages of CP as a supportive technology for a dynamic industry constraint problem. In addition, we present experimental results, including practical uses, as identified by the IBM Global Business Services organization (GBS). Paper organization. In Section 2 we explain why we decided to use CP for this domain and provide more background information. In Section 3 we describe the WM problem in more detail, and in Section 4 we explain how we solve the problem using CP. In Section 5 we present our results. This includes experimental results on real datasets and practical uses as identified by GBS. We conclude in Section 6.

26

2

S. Asaf et al.

Why CP

Traditionally, typical WM problems address different variants of shift scheduling. In these problems, there are usually a large number of professionals, roughly divided into a small number of groups. Each group contains professionals with similar skills, and is considered to be approximately homogeneous. Professionals in the same group can be thought of (from the automation point of view) as indistinguishable and interchangeable. Given this partition to distinct groups, professionals are scheduled for shifts, where each shift requires a specific combination of personnel. Such WM problems are widely solved using traditional OR methods (e.g., linear and integer programming, reductions to other OR problems) or by other methodologies, such as modern meta-heuristics (in particular tabu search and genetic algorithms) and multi-agent systems. For example, SWOPS [4], a tool suitable for shift scheduling, is based on integer linear programming. Resource capacity planning [5] is a different WM scenario, concerned with aggregates of professionals rather than individuals. Here planning is performed to estimate future gaps and gluts in the workforce. Here too, the problem lends itself naturally to mathematical programming methods. In contrast, the ID&Assign problem we are addressing is at the opposite extreme: the individual professionals are highly-skilled, each with his or her own unique combination of competencies, and are highly distinguishable and non-interchangeable. Additionally, it is essential to find a good match between professionals and their assigned positions; otherwise we run the risk of an underor over-qualified assignment, or understaffing, with the obvious contingent problems. This WM problem is also inherently different from the usual supply chain problems in OR. Our entities are people rather than parts; we cannot model them as pure sets of attributes. Individuals have their own unique skills, behaviors, interests, and expectations. This ID&Assign problem has not been addressed before in the literature and seems to be harder to automate. The traditional OR methods listed above generally fail on this problem for a number of reasons. First, the constraints, which depend on the particulars of professionals and positions, are complex and do not translate easily to linear constraints. This as opposed to the simple constraints, such as vacation-time and maximum daily work hours, seen in mainstream workforce scheduling applications. Second, most OR methods rely on optimizing an objective function. In our case, it is nearly impossible to put a price tag on most of the variables involved. For example, how can we quantify the cost of a dissatisfied customer or a displeased professional resulting from a non-perfect match? Finally, new rules and constraints arise frequently. To handle them quickly and efficiently, the desired mechanism should have a rich expressive language that will easily allow the formulation and maintenance of these constraints. Translating the problem into a linear model would create a maintenance nightmare as the model would be very far from the original constraints. Our tool relies on Constraint Programming (CP) methodology. The expressive language of CP methodology is rich, natural, and modular, with many types of constraints, therefore allowing the rapid development and maintenance of

Applying Constraint Programming to Identification and Assignment

27

models. Additionally, the strong algorithmic foundation of CP allows for fast execution and good optimality. Therefore, it suits the nature of our WM problem better than traditional OR methods. In the past, there have been a few attempts to employ CP in solving WM problems, although these cases were scheduling problems of a more traditional nature (e.g., British Telecom used CP to solve a real-life problem [6] that was later also solved in [7]. J. Metivier et el. solved the nurse rostering problem in [8]).

3

Problem Definition

The tool’s main inputs consist of lists of available professionals and open positions, a set of matching rules, and a set of prioritization rules. These inputs are dynamic in that the characteristics of the professionals and open positions, as well as the matching and prioritization rules, are changed on a regular basis. The problem characteristics can be different between different organizations, and even between different areas of the same organization. Moreover, the problem definition may be changed over time by the organization’s administration or by an RDP exploring different possibilities. For example, the RDP may want to check for a potential assignment given that the maximal allowed distance between the professional’s location and the position’s location is within 50 km, and later check how the assignment differ given a maximal distance of 100 km. In the following subsections, we describe in more detail the problem’s main inputs, while concentrating on its dynamic nature. 3.1

Position and Professional Definition

Each professional is characterized by a set of attributes, such as availability dates, set of skills, and location. In a similar way, each position is characterized by a set of attributes, including start date and position duration. These sets of attributes may be different for different problems. A modeling interface should provide the ability to define these attributes. An attribute definition includes a name and its type. The type can be a basic type such as string, integer, and date, or a set of elements all from the same basic type. For example, the attribute education for a professional may include the list of courses the professional participated in. 3.2

Matching Rules

The matching rules can be of two types: – Built-in matching rules — Basic set of matching rules such as availability rule, location rule, or skill matching rule. These rules are controlled through a set of parameters. For example, a possible integer parameter for the location rule is “The maximum distance between the professional’s location and the job location”. For the skill matching rule, we will find a boolean parameter such as “Should we consider the professional’s secondary skills?”

28

S. Asaf et al.

– Specific matching rules — Each matching problem may include specific matching rules. For example, one may want to add a matching rule that considers years of experience. CP naturally supports this type of matching rule, by simply adding a new constraint using CP language, such as [9] and [10]. For example, consider the experience years matching rule as follow: (position.exp level = beginner ) → (person.exp years < 2) and (position.exp level = expert ) → (person.exp years > 6) and (position.exp level = professional ) → ((person.exp years >= 2) and (person.exp years

Suggest Documents