Applying Supply Chain Optimization Techniques To Workforce Planning Problems
Applying Supply Chain Optimization Techniques To Workforce Planning Problems
Gresh
D. P. Connors
optimization techniques J. P. Fasano
R. J. Wittrock
to workforce planning
problems
The IBM Research Division has developed the Resource Capacity
Planning (RCP) Optimizer to support the Workforce Management
Initiative (WMI) of IBM. RCP applies supply chain management
techniques to the problem of planning the needs of IBM for skilled
labor in order to satisfy service engagements, such as consulting,
application development, or customer support. This paper describes
two RCP models and presents two approaches to solving each
of them. We also describe the motivation for using one approach
over another. The models are built using the Watson Implosion
Technology toolkit, which consists of a supply chain model, solvers
for analysis and optimization, and an Application Programming
Interface (API) for developing a solution. The models that we built
solve two core resource planning problems, gap/glut analysis
and resource action planning. The gap/glut analysis is similar to
material requirements planning (MRP), in which shortages (gaps)
and excesses (gluts) of resources are determined on the basis
of expected demand. The goal of the resource action planning
problem is to determine what resource actions to take in order to
fill the gaps and reduce the gluts. The gap/glut analysis engine is
currently deployed within the IBM service organization to report
gaps and gluts in personnel.
Copyright 2007 by International Business Machines Corporation. Copying in printed form for private use is permitted without payment of royalty provided that (1) each
reproduction is done without alteration and (2) the Journal reference and IBM copyright notice are included on the first page. The title and abstract, but no other portions, of this
paper may be copied or distributed royalty free without further permission by computer-based and other information-service systems. Permission to republish any other portion of
this paper must be obtained from the Editor. 251
0018-8646/07/$5.00 ª 2007 IBM
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.
engagements, which are analogous to bills of material on the supply on hand, MRP indicates ‘‘gaps’’ in the
in the manufacturing process. A bill of material simply supply of necessary components.
specifies how a final product, or a component in a final Our customer for the RCP optimizer was the Labor
product, is to be built from a set of parts and capacities. Optimization organization within WMI. The mission of
For example, in the manufacturing scenario, a particular the organization is to develop business processes and
component may be built from a set of subcomponents decision support tools for managing the workforce
(parts), and it requires some number of hours of machine of IBM. The users of the tools are resource capacity
time for assembly (capacity). Parts that are not used in a planners in the IBM Global Services business units
time period are available in the next time period, although who make decisions on how to deal with shortages and
the same is not true for capacity. Bills of material may excesses of resources. Thus, our customer was interested
include information about required quantities, time lags in computing both the gaps and the gluts in human
for acquisition or production, substitution possibilities resources. The term gluts indicates areas expected to have
or preferences, and other related considerations. In the a larger supply of people than will be used to fulfill
human resource supply chain, bills of material typically demand. Note that gluts in standard industrial supply
specify the quantity of skilled personnel required in order chains are not necessarily as important as in the human
to complete a service engagement, along with information resource chain, since material excesses can be inventoried.
about when in the engagement they are required. For However, the cost of ‘‘inventory’’ of human resources,
example, for long engagements, different skills may be that is, their salary, is usually significantly higher than the
needed at different stages of the contract. Analogous to cost of holding excess physical inventory. Gap and glut
‘‘bills of material’’ are ‘‘bills of product,’’ which specify information that relates to human resources can lead to
what products are produced by a particular operation. improvements in business profitability by, for example,
indicating areas in which retraining from one skill to
In the manufacturing supply chain, this might be
another would lead to increases in efficiency.
a set of components that are produced by a certain
Our model also differs from standard supply chain
manufacturing step, which itself consumes some set
models in that the customer wanted to include a rather
of parts and capacities.
complex set of substitution possibilities in the model.
RCP is built using the Watson Implosion Technology
That is, in many cases it is not necessary to ‘‘exactly’’
(WIT) toolkit [5, 6], which consists of a resource capacity
match a human resource to a job. Depending on the
model, solvers, and an Application Programming
particular engagement, some amount of flexibility may
Interface (API). This paper describes the kinds of
be allowable. In addition, ‘‘what-if ’’ scenarios may be
problems that RCP addresses and discusses how some of
explored, in which the impact of ignoring the effect of
the unique attributes of the human resource supply chain
particular resource attributes on gaps and gluts can be
were incorporated into the RCP models. In the models
investigated interactively. The decision-maker may
described here, we use terminology from both the supply discover, for example, that a strict requirement to match
chain and the workforce-management domains. While people to jobs within line-of-business boundaries has a
some of the traditional supply chain terms such as large impact on overall efficiency. The wide variety of
inventory and scrap may seem out of place or even callous substitution possibilities made this problem different from
when applied to human beings, we found that the use the case of industrial production, in which typically only
of such terminology was often helpful in developing one part (or perhaps one from a small set of parts) is
a useful analogy between supply chain management suitable for substitution. Our use of the WIT modeling
and workforce management. library allowed us to incorporate both of these
We needed to solve two different kinds of problems, requirements—including substitution possibilities and
gap/glut and resource action. In the gap/glut problem, the exploring what-if scenarios—in our gap/glut analysis.
goal is only to compute what the resulting ‘‘gaps’’ and The second problem we address is the resource action
‘‘gluts’’ in resources would be, given the expected demand problem. In this case, the model also incorporates
and the description of the resources necessary to fulfill descriptions of possible ways to resolve shortages and
the demand. This is similar to material requirements excesses, and can suggest the recommended course of
planning, or MRP, in the supply chain literature (see [7] action. The same substitution flexibility that is required
for an explanation of MRP). However, gap/glut planning for the gap/glut problem is also necessary for the resource
also differs from standard material requirements action problem.
planning. MRP typically starts with information on the For each of these two classes of problems, we have two
expected demand, and then uses the bills of material approaches for solving the problem. The first solution
required for the demanded components in order to approach is priority-based: Given business rules on the
252 compute a list of required resources. Using information use of resources such as preferences and priorities, a
D. L. GRESH ET AL. IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007
heuristic algorithm implements the desired allocation
rules. The second solution approach is based on linear
Flat
programming, which is a method for optimizing a file
mathematically expressed objective given mathematically input
expressed equations and inequalities such as those Use input data to populate the
appropriate WIT model
ensuring that consumed capacity is less than available
capacity. Given costs for using resources and taking
WIT model WIT model WIT model WIT model
resource actions, and rewards for meeting the demands, a for optimal for priority for optimal for priority
mathematical programming model is formed and solved. gap/glut gap/glut resource action resource action
Both of these solution methods are included as part of the
WIT toolkit, which may be applied to the same WIT WIT heuristic WIT heuristic
WIT LP WIT LP
allocation allocation
model once it has been built and has the necessary formulation
algorithm
formulation
algorithm
attributes defined. A precise statement of the problem
addressed by WIT, including its formulation as a linear
programming problem, is given in [5]. Post-processing
as appropriate Flat
We make several assumptions in the models that file
are described here. First, the models are meant for output
intermediate-term planning purposes, of the order of
three to six months in advance, and not for assigning
specific people to particular jobs. Furthermore, our
Figure 1
model does not consider workers on an individual
basis, but rather groups of workers with matching skills Flow of data through the RCP engine. The process builds a WIT
and other attributes. Thus, people are modeled at an model (yellow boxes) using provided input, and then calls a WIT
“solve” method (orange boxes, which refer to either a linear
aggregate level, without consideration of such factors as
program formulation or a heuristic algorithm) in order to
planned vacation time. The granularity of description of determine the output, which addresses factors that relate to which
supply and demand is at the weekly level. Second, people demands are met or what substitutions are necessary.
are described by job role, skill set, and other attributes;
they are presumed not to change these attributes over the
course of the planning horizon, although, as we later
discuss, this is an area for future work. Third, we do interest for discussion. This basic model in Figure 2 is
not model personnel attrition. augmented or simplified for each of the subproblems that
The problem formulation of RCP treats demand as we describe. We use the WIT notation to represent the
deterministic. The customer ‘‘filtered’’ the demand in the elements of the model. A diamond represents a demand; a
opportunity pipeline based on the probability of winning triangle represents a ‘‘capacity’’ part; an oval represents a
the service engagement deal, and only used information ‘‘material’’ part; and a rectangle represents an operation,
on highly likely engagements. This filtered subset of which converts parts into other parts. If a capacity part is
demand is considered to be deterministic in the RCP not used within a time period, it becomes unavailable at
model. (The opportunity pipeline may be thought of as the end of the period. On the other hand, a material part
a view of potential opportunities for engagements with can remain in inventory for the next time period if it is not
customers, including opportunities at all stages of used in the current period. An example of a capacity part
development, from initial customer contact to signed in the manufacturing scenario is available machine time.
contracts.) We have developed additional models that If a machine is not used one day, this does not mean that
explicitly consider the demand uncertainties, but these two days’ worth of machine time is available on the
models are not discussed in this paper. following day.
Figure 1 shows the flow of data through the RCP The portion of the model displayed in Figure 2 shows a
engine. First, in order to populate the appropriate model, job or engagement, Ej (the triangle near the top of the
the engine reads data from flat files (files with records that figure). The demand for an engagement or job, denoted
contain variables separated by commas). The WIT by Demand: Ej, is satisfied by the capacity part Ej. The
‘‘solve’’ method is then called on the model. Depending capacity part Ej is produced by the operation Build: Ej.
on the model, some post-processing of the data may be This is indicated by the presence of a bill-of-product
necessary, and the relevant output files are then created. (BOP) arc extending from operation Build: Ej to part Ej.
The WIT model for the basic RCP problem is shown in The term ‘‘Build’’ simply means that the engagement will
Figure 2. Note that the models shown in this document be produced (i.e., accomplished) by the collection of
are subsets of the full model and highlight key points of skilled people required as specified in the operation’s bill 253
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.
in the diagram. Note that a BOP arc indicates an output
of an operation, while a BOM arc indicates an input to
Demand for a particular engagement Demand:
Ej
an operation. The time period in which the resource is
needed, for example three months after the start of the
engagement, is represented by the offset of the BOM arc
The engagement Ej (also not explicitly shown in the diagram). Resources of
the same type are often needed across many of the periods
Operation to “build” the of the engagement. For example, the engagement requires
engagement with a bill Build: Ej five Java programmers in the first period, ten in the
of material (BOM)
second, and ten in the third. Note that, as formulated, five
programmers from the first period are not forced to be
Bill-of-material arcs
among the ten required in the second period, because we
Ri One of the parts required to build are concerned with a planning application rather than a
the engagement is a “working” resource personnel scheduling application and because people are
modeled at an aggregate level. In the model, multiple
Bill-of-product arc (BOP)
BOM arcs exist from the engagement to the resource,
An operation to enable a person to with each BOM arc having the appropriate consRate and
Enable: Ri work on the engagement from the offset. (In Figure 2, for simplicity, only a single BOM arc
“bench” supply
Offset: is shown from the engagement to the resource.) The part
⫺1 The bench supply of a resource. Ri is produced by the Enable: Ri operation, which takes a
Bench: Ri Enabling a resource also returns it
to the bench pool for the next period. part named Bench: Ri and produces the part Ri. We use
the term ‘‘Bench’’ because we are using available people to
accomplish a task, and these people are thought of as
Acquire: Ri Acquire new resources if necessary
waiting ‘‘on the bench’’ and are not already doing other
work. The Enable: Ri operation also produces the part
Bench: Ri in the next time period. This is indicated by the
Figure 2
‘‘looping back’’ BOP arc extending from operation
Basic WIT model for resource capacity planning. This diagram Enable: Ri to part Bench: Ri. The offset of 1 on the
uses the symbols of the WIT modeling framework to describe the
BOP arc indicates production in the next period.
parts of the human resource supply chain. At the top of the
diagram is the demand, indicated by a diamond, for a particular The part named Bench: Ri is a material part; thus,
engagement. The demanded engagement is shown by a triangle. unused inventory of this part is available for the next time
The rectangle below the engagement Ej indicates the operation period. In other words, if the resource is not ‘‘converted’’
necessary to build the engagement. This requires a number of to a working resource that is to be returned to the bench
different human resource types, only one of which (Ri) is shown.
pool in the next period, it is automatically available for
Another operation “enables” a person of this type to move from
the “bench” in order to become a “working” person on the engage- consideration for work in the following period. Finally,
ment. At the end of each period, the person returns to the bench in the part Bench: Ri can be produced, if necessary, by the
order to be available for another (or the same) engagement in the operation Acquire: Ri. This models a hiring action or
next period, which is indicated by “Offset: ⫺1,” in which a value some other form of acquiring additional resources.
of ⫺1 is assigned to the offset variable. If necessary, an operation
Known hiring plans can be handled by the model.
exists that will “manufacture” new human resources, for example,
by hiring. However, for the initial use of the model, data about
future hiring actions was not available; thus, the model
assumed that the supply of resources provided for the
initial conditions remained constant throughout the
of material. The operation Build: Ej may require several planning horizon.
parts, including the capacity part denoted by Ri. For The human resource problem is fundamentally
example, the operation may require five different resource different from the standard industrial supply chain
types, e.g., a project manager, a tester, a programmer, problems because the human resource problem requires
and so on, only one of which is explicitly shown in detail a complex model in order to describe human resources
in the slice of the model shown in Figure 2. The requested and has a particular flexibility, described below, that is
quantity of Ri (for example, five Java** programmers) is necessary to define substitution possibilities. For our
represented in the ‘‘consumption rate’’ (consRate) of the application, the description of resources used both in the
bill-of-material (BOM) arc from operation Build: Ej to BOM of the engagement and in describing the available
254 part Ri. The consumption rate is not explicitly shown supply of resources is attribute-based and is driven by
D. L. GRESH ET AL. IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007
parameters in a configuration file. Our customer uses the
following attributes to describe his human resources:
Demand:
Ej
Job role (e.g., accounting system analyst, solution
designer, database administrator. These are defined
in an expertise taxonomy developed within IBM.). Ej
Skill set (e.g., technical editing, server consolidation,
HR processes. Skill sets are also defined in the
Build: Ej
expertise taxonomy and are associated with particular Other potential
job roles.). substitutes for Ri in Ej
Band: 1, 2, , 10. The band level signifies the
experience level of the employee, with higher-band
employees more capable of independent work and … Substitution arc
leadership tasks.
Resource type (e.g., IBM regular employee, Rk may be directly Rk Ri
requested in other
subcontractor, joint venture). engagements
Global resource flag (identifies whether the employee is
located in (for supply), or desired from (for demand),
a country associated with low costs, such as China, Acquire: Rk Acquire: Ri
India, or Mexico).
Region (Asia Pacific; Latin America; North America;
and the set of Europe, Middle-east, and Africa). Figure 3
Country (e.g., ‘‘U.S.,’’ ‘‘Canada,’’ ‘‘Japan’’). Priority-based gap/glut resource capacity planning model with
State or province. substitution. In this simplification of the model shown in Figure 2,
City. the Acquire: Ri operation is attached directly to the Ri part. In
addition, we show the addition of a substitute arc indicating that a
Industry (e.g., ‘‘industrial products,’’ ‘‘media and specific part Rk is allowable as a substitute for this particular BOM
entertainment,’’ ‘‘automotive’’). entry of Ej. This substitution may not be acceptable for other
Line-of-business (e.g., ‘‘e-business hosting services,’’ engagements, and by modeling the substitution at this point in the
‘‘strategic outsourcing,’’ ‘‘business transformation supply chain, the process remains flexible. Note that other
allowable substitutes for Rk may exist in this particular BOM entry,
services’’). and that Rj may be directly requested in other BOM entries or in
other substitute BOM entries.
Thus, an example of a fully qualified resource might be
‘‘database administrator, Oracle** database, Band 8,
IBM regular, non-global, North America, U.S., Oregon,
Portland, cross-sector, application management services.’’ Internal preprocessing logic analyzes the user-specified
Because the numbers and names of attributes are matching and substitution rules and builds the
parameterized, it is simple to modify the model to handle appropriate substitution logic within the WIT model.
different sets of attributes. To describe substitution Substitution arcs are attached to the engagement BOM
possibilities, the user specifies which resource attributes arcs (Figure 3), allowing for the substitutions to be
must match between an engagement BOM and a human dependent on the engagement. For example, for one
resource. For example, for a given run, the user can engagement it may be acceptable, even if not preferred,
specify that it is not necessary to match the line-of- to substitute a subcontractor for a particular role, while
business attribute. The user can also define from–to for another engagement it is not acceptable. Example
substitution logic by giving substitutes for a specific substitution arcs are shown in Figure 3 with dashed lines.
attribute value. For example, the user can specify that it is If substitutions are independent of the engagement, we
acceptable to substitute a skill set of Cþþ programmer for can attach the substitution arc in Figure 3 to the
a skill set of C programmer, perhaps with some cost or connector between the Acquire operation and the
time lag for an optimization model or with some disfavor resource.
for a heuristic model. Substitutes are assumed to be In our current formulation, people have only one skill.
consumed on a one-for-one basis with respect to the In the Conclusion, we describe extensions to the model
resource for which they are substituting, though this that accommodate a more flexible view of a person’s
is not a requirement of the WIT model. capabilities. 255
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.
Gap/glut problem We assign priorities to the engagements and use the
The gap/glut problem may be solved with an MRP-like WIT heuristic allocation algorithm to determine the
computation. We assume that all of the demand must be allocation of resources to engagements. This algorithm
satisfied on time. Our goal is simply to compute the gaps works with priority-style data rather than economic data
and gluts of resources needed to fulfill the demand. such as costs and rewards. The priorities indicate the
ordering in which the demands are to be met as well as the
Optimal gap/glut order in which alternative means of satisfying a demand
For the optimization-based gap/glut model, the basic (e.g., substitution) are to be considered. The allocation is
model shown in Figure 2 is augmented with specific data built up sequentially on a ‘‘greedy’’ basis: Decisions made
as necessary to compute gaps and gluts that occur using in earlier steps of the algorithm are not later reversed. The
the optimal solution. That is, if there are two types of WIT heuristic generally computes its allocation quite
human resource which can satisfy a particular demand, rapidly compared with solving the corresponding
and there is more demand than supply, the model reports problem as a linear programming problem; it has been
a gap on whichever resource is most advantageous to used productively in numerous industrial supply chain
acquire. The bench supply of each resource Ri at period 0 applications, including problems involving more than
is set equal to the external supply at period 0, i.e., the 50,000 parts and 50 periods.
initial supply. Since this is an optimization-based model, In the implementation that we produced for the
we need to specify an objective function. WIT defines workforce initiative of IBM, the engagements currently
the objective function on the basis of cost and reward come in three varieties that we denote as Firm,
data attributes specified by the user. Thus, we set the Opportunity, and Forecast engagements, but this can
ShipReward attribute for the demand Demand: Ej to be easily be expanded. Firm engagements are those that
the revenue for engagement Ej. We set the ExecCost are ongoing, or for which a contract has already been
(execution cost) for operation Enable: Ri to be the signed. Opportunity engagements are those for which a
monthly salary for resource Ri. We set the StockCost reasonably high probability of occurrence has been
for Bench: Ri to be the monthly salary for resource Ri, estimated, but which are not guaranteed. Finally,
because a person draws a salary even when he or she is Forecast engagements are those that are simply expected
not working on a project. Finally, we set the ExecCost of to fill in the monetary gap between revenue from Firm
the Acquire: Ri operation equal to the realistic cost of and Opportunity engagements and the expected overall
hiring a new employee. We can also set the offset for the revenue for the planning horizon. The business process
bill of product of this operation equal to the acquisition called for the resource planners to review the opportunity
lead time, in weeks. The WIT modeling framework pipeline and select those engagements that the planner
creates the appropriate linear programming formulation thought would become real engagements and then put
of the optimal gap/glut problem, assigning the costs, them into the Opportunity pool. The business process
penalties, and objective on the basis of the data provided. suggested choosing those engagements that had odds of
This formulation is then run using a standard linear winning larger than some threshold. The engagements in
programming (LP) solver (e.g., COIN-CLP [8]) in order the Opportunity pool were then considered by the model
to determine an optimal solution, which in this instance as deterministic but were treated with lower priority in
is an appropriate allocation of human resources. the gap/glut calculations.
The business process recommended that the resource
Priority-based gap/glut planners create a Forecast pool based on historical data
In the priority-based approach for gap/glut, we simplify for demands that had been realized but were not ongoing
the basic model shown in Figure 2 by eliminating the or in the opportunity system. Forecast demand is
Enable: Ri operation and the Bench: Ri part and directly significantly different from Firm and Opportunity
connecting the Acquire: Ri operation to the working part demand, since it is ultimately based simply on a dollar
(see Figure 3). The initial supply of human resources is amount that must be generated in order to meet some
now associated directly with the capacity part Ri. The target, and is not directly associated with specific
enable operation and bench parts are in the basic model engagements or potential jobs. Accurately predicting
to address the subtleties of modeling human resources resource requirements due to Forecast demand is a
as WIT capacity parts and capturing the notion that separate problem which is not intended to be addressed
a resource is either working or sitting on the bench. by our modeling framework.
However, for the priority-based gap/glut problem, WIT provides powerful priority-based heuristics that
since our focus is on the net shortages and excesses allow demands to be prioritized by period. Our customer
or resources, we can simplify the model. The logic wanted all Firm demand, over the entire planning
256 for allocating resources follows. horizon, to be handled first, Opportunity second, and
D. L. GRESH ET AL. IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007
so on. We exploited the priority allocation scheme for
heuristics by creating Firm, Opportunity, and Forecast
ShipReward: Ej revenue Demand:
demands, and assigned the Firm demand higher priority Ej
than the Opportunity demand, which in turn was
assigned higher priority than the Forecast demand. In our
model, a resource request is first filled from the available Ej
supply of the requested resource before consuming supply
of an allowed substitute. If the substitute supply is
insufficient, we ‘‘acquire’’ the requested resource, creating Build: Ej
the gap. Gaps and gluts are computed following the run
of the heuristic algorithm. The gap of a resource refers to
the amount of acquisition, accomplished through the Ri
acquire operation, that is determined to be necessary.
Because the resource is modeled as a capacity part,
a resource acquired in one period is not available in
subsequent periods. This is the desired behavior when ExecCost: Ri Enable: Enable ExecCost: Ri
computing gaps, because the acquire operation is simply monthly Ri release: Ri monthly salary
salary
being used as a mechanism to indicate a shortage in that
particular period. The acquire operation is not meant to StockCost: Ri
represent an actual acquisition of a new employee, who monthly Bench: Ri Ri ScrapCost: Ri
salary release monthly salary
would in fact be available in future periods. The glut of
a resource is the scrap volume of the working part. Offset: ⫺acquisition Each BOP arc has a
lead time different time offset
Pegging Release: Ri ExecCost: Ri
ExecCost: Ri
The purpose of pegging is to determine how each resource acquisition Acquire: Ri severance
request in a BOM of an engagement was satisfied. A cost cost
resource request can be satisfied from supply of the
requested resource or from supply of substitutes for the
Figure 4
requested resource. Any remaining unsatisfied amount is
attributed to gap. We have often found that users have a Optimization-based resource action capacity planning model with
details of the release structure. The phrase “Offset: ⫺acquisition
desire to know how the business rules or optimization
lead time” reinforces the notion that offset is set equal to the
costs are reflected in the actual consumption of different negative of the acquisition lead time. For example, if two time
resources for engagements. A resource planner can review periods, such as weeks, are required to hire someone, the offset
the pegging report to see how the RCP planning engine is ⫺2.
solved the complex capacity planning problem and to
determine whether the plan is reasonable. For example,
the output of the RCP planning engine may show that no
took place; summing over these amounts yields the
gaps and gluts exist; however, in order to achieve this
fraction of the total amount of the requested resource
state, a significant amount of substitution of resources
must take place for a particular engagement. The planner that is met by substitutes; thus, multiplying this fraction
may not feel comfortable with that level of substitution. by the total requested amount tells us the effective
WIT provides a function that allows us to determine amount of the requested resource that was met by
the pegging due to gap. This function will, with substitution. The amount of the resource that we can peg
appropriate post-processing, tell us how much of the to the supply of the resource is the total requested less the
Acquire: Ri operation shown in Figure 3 (that is, how effective amount that was met by substitution and less the
much of the shortage of resource Ri) can be attributed amount pegged to gap. This allows us to associate each
to each demand. gap with a specific engagement.
Using other provided functions, we can also obtain
detailed information about how much of a particular Resource action
resource was used to satisfy a particular demand, as well
as how much of a specific substitute resource was used in Optimal resource action
place of a requested resource. Let us return our attention Figure 4 shows the details of the optimization-based
to Figure 3 to study a model with substitution. WIT resource action model that incorporates monetary
reports how much of each possible substitution actually rewards and penalties, as well as the process by which 257
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.
employees are to be released. The offsets of the BOP arcs completing an engagement and relatively low costs for
between the release operation and the release capacity acquiring (hiring) new resources, the recommendation
part are set so that once a bench resource has been would be to hire. However, if the time lag for acquisition
identified to be released, the release operation produces is very long or the costs very high, the algorithm may
one resource for each period in the severance lead time in instead recommend that one of the engagements be
which the resource can stay in the system. The resource delayed (if allowed) so that the human resource in
may work during the period, going through the enable- short supply can work on one engagement, and when
release operation, or ‘‘sit’’ and incur a ‘‘scrap cost’’ (a that engagement is completed, move to the second
term from the supply chain literature) for the period. The engagement. Alternatively, if the reward for one of the
monthly salary is incurred either by the execution cost of engagements is relatively low relative to the costs, or
the enable-release operation or by the scrap cost of the if delay is not possible, the algorithm may recommend
released part. that the lower-revenue engagement be declined. Some
The WIT framework allows us to set all of the relevant example input and output files for this scenario are
costs and rewards, including substitution penalties and shown in Figure 5. In this figure, for simplicity,
time delays on substitution. For our application, we resources are described only by job role and skill set.
allowed the user to set penalties for each sort of The data shown in Figure 5 represents a scenario in
substitution in the resource description, as well as to set which there is insufficient on-hand supply to satisfy both
a time lag for each attribute. For example, one could clients at the time the engagements are requested.
specify that substitution of ‘‘line of business 2’’ for ‘‘line Because hiring costs are set relatively high in this
of business 1’’ would incur a particular cost and time lag, example, and because one of the clients is flexible in
while substitution of ‘‘city 2’’ for ‘‘city 1’’ would incur a the timing of the engagement, the optimal solution is
different cost and time lag. Multiple substitutions are to delay one of the engagements. Other models (for
handled so that the overall time lag is the maximum example, priority-based gap/glut) will have variations
of the individual attribute time lags, and the overall from these input and output file formats.
substitution cost is the sum of the individual attribute Clearly, in the case of many overlapping demands with
substitute costs. It is also possible to specify how much different revenues, bills of material, substitution rules,
flexibility there is in the starting time of an engagement. etc., this kind of common-sense analysis becomes
For example, one may specify that a job is desired to be impossible to do manually.
started in month 5, but that it can be started up to two
months late, if necessary. (Late allowance is not part of Priority Resource Action
the gap/glut analysis, because the gap/glut calculation is In the Priority Resource Action problem, we also call for
defined to be the excesses and shortages of resources, an implosion to determine recommended actions, but in
assuming that the demands are met on time.) this case the possible actions are not given costs and
Once the description of the supply chain has been rewards, but rather operate in a priority order. This
completed, we can compute an ‘‘implosion’’ of the is done using the WIT heuristic allocation capability.
problem in order to determine the optimal solution. Just In contrast to the gap/glut calculations in which the
as an MRP ‘‘explosion’’ starts with demand information shortages and excesses are computed on the basis of
and ‘‘explodes’’ the bills-of-material downward in order the planned supply of resources, in the Resource Action
to determine the necessary supply, an ‘‘implosion’’ can be calculation we consider only the on-hand initial inventory
thought of as starting from the ‘‘bottom’’ of the supply of supply and compute the resource actions (e.g., acquire
chain model and determining the optimal allocations of or release) that should be taken over the planning
parts to demands as well as the optimal set of actions to horizon. If we had to consider a planned supply line,
take, such as acquiring resources, releasing resources, RCP might have to make recommendations to release
or deciding not to fulfill some demands. resources as soon as the planned supply was bringing
As an example, suppose that we have demand them in. To eliminate these situations, we consider only
for several different engagements, which overlap in the on-hand supply and make our resource action
terms of the human resources needed. Suppose also recommendations in light of the initial inventory.
that we do not have enough people to fulfill all of The details of the priority-based resource action model
the demand for these engagements when requested. are shown in Figure 6. As seen in the figure, resource Ri is
The optimal implosion algorithm produces different modeled as a capacity part; thus, no inventory is carried
recommendations for action, depending on the over from any time period to the next. The supply of the
particular monetary values assigned to different actions capacity part Ri in every period is set uniformly to the
as well as the particular constraints of the problem. initial inventory of resource Ri. Between operation
258 For example, for the case of very high revenue for Acquire: Ri and part Ri, one BOP arc exists for each
D. L. GRESH ET AL. IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007
[Link] [Link]
Name Revenue Requested start Late allowance Job role Skill Acquire Acquire Release Release
set time cost time cost
Client A 2000 0 0
App developer Java 1 200 1 1
Client B 3000 0 ⫺1
Architect C++ 1 200 1 1
[Link] [Link]
Name Job role Skill set Period Quantity Job role Skill set Period Supply Cost
Client A App developer Java 0 2 App developer Java 0 2 2
Client A App developer Java 1 2 App developer Java 1 2 2
Client A App developer Java 2 2 App developer Java 2 2 2
Client A Architect C++ 0 3 App developer Java 3 2 2
Client A Architect C++ 1 3 App developer Java 4 2 2
Client A Architect C++ 2 3 App developer Java 5 2 2
Client B App developer Java 0 2 Architect C++ 0 3 2
Client B App developer Java 1 2 Architect C++ 1 2 2
Client B App developer Java 2 2 Architect C++ 2 2 2
Client B Architect C++ 0 3 …… ….. ……… ……… ………
Client B Architect C++ 1 3
Client B Architect C++ 2 3 Client B engagement
is delayed (as allowed)
Figure 5
Input and output example files for the optimal resource planning formulation. The top four tables represent the inputs to the model, describing
the potential engagements, their bills of material, the available supply of people, and costs associated with acquiring new resources. At the
bottom is the optimal result based on these inputs, which is to delay the initiation of the engagement with Client B for three periods (as
allowed by the late allowance value of ⫺1 in [Link], indicating that any delivery date is acceptable). With other input data, recom-
mendations might instead be to hire new workers or to decline an engagement. (CSV: comma-separated variable, a standard format for
spreadsheet input.)
period. The offsets on the BOP arcs are set so that each Conclusion
unit of execution of operation Acquire: Ri in a period In this paper we have presented the WIT models that we
results in one unit of production (i.e., new availability) of created to support the service business resource capacity
part Ri in that period and in all subsequent periods. This planning process of IBM. The models address two planning
model causes the heuristic of WIT to compute a solution problems, gap/glut and resource action. For each of these
that acquires the exact amount needed in each period. planning problems, we give two solution approaches, a
Once the heuristic implosion of WIT has been computed, priority-based and an optimization-based approach.
we then post-process the output quantities in order to Depending on the availability of economic data or on
determine the acquisition and release recommendations. the decision-maker’s objectives or preferences, a priority-
The acquisition amount per period is derived from the based approach may be either more or less appropriate
execVol variable (execution volume) of the Acquire than an optimization-based approach. Typically,
operation, and the release amount per period is derived optimization-based approaches require more complete
from the residualVol (residual volume) of the Ri part. We economic data on all of the relevant costs, such as
also mandate a policy not to release a resource if it is salaries, severance or hiring costs, and engagement
needed later on in the planning horizon. revenues. Optimization models are often not accepted 259
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.
We have also found the basic RCP problem framework
to be extensible to other workforce applications, in which
Demand:
Ej
the basic concepts of engagements, attribute-driven
resource descriptions, substitution allowances, bill of
material descriptions, etc. can be put together with minor
Ej adjustments in order to solve variants of the human
resource capacity planning problem. Further work must
be done to determine what other workforce management
Build: Ej issues can be readily modeled and solved using traditional
resource planning environments, such as WIT.
Obviously, people are not parts. People can have
multiple skills, and they can grow new skills or forget old
skills. We have begun to design models that incorporate
the learning and transition process in a way that, for
example, would allow a person to ‘‘become’’ a new skill
while still working in a capacity with a current skill. It
Ri Supply: Ri external
supply at time 0 may be difficult to maintain meaningful information on
all of the past skills that a person retains with the notion
… of ‘‘skill attrition’’ through time. We have acquired
Acquire: Ri information on the typical skill-set overlaps that occur in
our employees’ profiles in order to allow substitution, at
some probabilistic level, from one known ‘‘primary’’
Figure 6 skill set to an inferred ‘‘secondary’’ skill set.
Priority-based resource action planning model. While our work models people in the aggregate,
separate work [9] directly addresses the problem of finding
an optimal match of individuals to jobs. In staffing
engagements, an even more sophisticated framework
by business users because it is difficult to assign values might take into account the fact that a certain collection
to nonquantifiable costs, such as the potential good will of skills is actually what is necessary, rather than a certain
lost by using a less capable substitute instead of the set of skilled people. That is, we may need project
best candidate for a job. Heuristic models, while management expertise, Java programming expertise,
not ‘‘optimal’’ in a mathematical sense, are easier to DB2* expertise, and testing expertise, but it is not
understand, and more closely follow the human method necessarily the case that this requires four different people.
of assigning preferences to different actions. As it has This is a significantly different scenario from the standard
turned out, the priority-based gap/glut approach is the manufacturing supply chain problem, in which simple
one that is now being used in IBM business processes. parts come together to make a more complex component,
Novel WIT models were created to handle human and more sophisticated models would be necessary to
address this scenario. As we conduct future research, we
resources and the IBM business rules for prioritizing the
will have to discover whether WIT-like models and tools
use of resources.
can effectively handle these more complex issues, and
The business processes associated with resource
whether extensions can be made to WIT-like models to
capacity planning are evolving, and the flexibility of the
broaden the effectiveness of the modeling environments.
model and the WIT modeling environment is a good
platform for allowing iterative development. We continue
*Trademark, service mark, or registered trademark of
to work with the WMI staff as they evolve the business International Business Machines Corporation.
processes to best meet IBM workforce-planning needs.
The solid modeling foundation of WIT allows us to **Trademark, service mark, or registered trademark of Sun
Microsystems, Inc. or Oracle Corporation in the United States,
model and solve the important workforce-management other countries, or both.
problems involving gap/glut analysis and resource action
planning. Both of these problems could be mapped quite References
naturally to the WIT modeling framework. The human 1. A. G. de Kok and S. C. Graves, Editors, Supply Chain
resources themselves were not a direct mapping to either Management: Design, Coordination and Operation, Elsevier,
capacity or material parts, but WIT was sufficiently Amsterdam, The Netherlands, 2003.
2. S. Voss and D. L. Woodruff, Introduction to Computational
flexible that we were able to model them appropriately Optimization Models for Production Planning in a Supply Chain,
260 with no changes to the underlying WIT API. Springer, Berlin, 2003.
D. L. GRESH ET AL. IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007
3. A. T. Ernst, H. Jiang, M. Krishnamoorthy, and D. Sier, ‘‘Staff Donna L. Gresh IBM Research Division, Thomas J. Watson
Scheduling and Rostering: A Review of Applications, Methods Research Center, P.O. Box 218, Yorktown Heights, New York
and Models,’’ Euro. J. Oper. Res. 153, No. 1, 3–27 (2004). 10598 (gresh@[Link]). Dr. Gresh received her B.S. degree in
4. J. A. Ausink, R. Clemence, Jr., R. Howe, S. E. Murray, engineering in 1983 from Swarthmore College and her M.S. and
C. Horn, and J. D. Winkler, An Optimization Approach to Ph.D. degrees in electrical engineering in 1985 and 1990 from
Workforce Planning for the Information Technology Field, Stanford University, where she studied the rings of Uranus using
Rand Monograph Report MR-1484-A, 2002; see http:// data from the spacecraft Voyager. She joined the IBM Thomas J.
[Link]/pubs/monograph_reports/MR1484/. Watson Research Laboratory as a Research Staff Member in
5. R. Wittrock, ‘‘An Introduction to WIT: Watson Implosion 1990 and spent twelve years conducting research in scientific
Technology,’’ Research Report RC-24013, IBM Thomas J. and information visualization. Since 1992, Dr. Gresh has been a
Watson Research Center, Yorktown Heights, NY, 2006; see member of the Mathematical Sciences Department, with research
[Link] interests in the area of workforce optimization.
papers?SearchView&Query¼RC24013.
6. B. Dietrich, D. Connors, T. Ervolina, J. P. Fasano, R. Lougee-
Heimer, and R. Wittrock, ‘‘Applications of Implosion in
Manufacturing,’’ Supply Chain Management on Demand, Daniel P. Connors IBM Research Division, Thomas J. Watson
C. An and H. Fromm, Editors, Springer, New York, 2005. Research Center, P.O. Box 218, Yorktown Heights, New York
7. T. E. Vollmann, W. L. Berry, and D. C. Whybark, 10598 (dconnors@[Link]). Dr. Connors received his B.S.E.
Manufacturing Planning and Control Systems, 3rd Edition, degree in electrical engineering from the University of Michigan in
Irwin/McGraw-Hill, New York, 1992. 1982, and his M.S. and Ph.D. degrees in electrical engineering from
8. ‘‘Computational Infrastructure for Operations Research the University of Illinois in 1984 and 1988, respectively. Since 1988,
(COIN-OR)’’; see [Link] he has been a Research Staff Member at the IBM Thomas J.
9. Y. Naveh, Y. Richter, Y. Altshuler, D. L. Gresh, and D. P. Watson Research Center. Dr. Connors has worked on modeling,
Connors, ‘‘Workforce Optimization: Identification and simulating, and designing business processes and developing
Assignment of Professional Workers Using Constraint decision support tools for manufacturing and supply chain
Programming,’’ IBM J. Res & Dev. 51, No. 3/4, 263–279 (2007, logistics. He is a member of the Mathematical Sciences Department
this issue). at the Research Center, where he is currently working on
developing business processes and workforce management
Received September 15, 2006; accepted for publication optimization tools.
October 15, 2006; Internet publication May 10, 2007
261
IBM J. RES. & DEV. VOL. 51 NO. 3/4 MAY/JULY 2007 D. L. GRESH ET AL.