Method of determining the best mix of regular and contract employees6732079Abstract A process is disclosed for implementation on a suitably programmed digital computer for producing a worker staffing plan for an organization over a long-term workload forecast when the organization employs workers of different employment relation types, such as regular employees, both full and part time, and contract employees hired from another concern. Data is entered into the computer pertaining to (a) the work forecast; (b) types of employees, including the productivity, training cost, annual cost and termination cost of each type; (c) demographic data, where available and appropriate, for each type such as worker age and experience or length of service; and (d) attrition or retention data for each employment type by demographic group. A linear programming analysis is then conducted on the computer to produce a hiring and termination schedule for each worker type for each work period to meet the workload requirements of the organization at minimum cost. Claims What is claimed is: Description TECHNICAL FIELD
TABLE 1
Input Data on Employee Costs - Hiring and
Annual Costs
Regular
Worker Employee Regular Employee Cost per Year
Contract Employee
Years of Hiring Cost (Wages, Benefits, Training, etc.)
Contract Employee Cost per Year
of (Recruiting, Hired at age
Hiring Cost (Contract Costs)
Service Training) 15-19 20-24 25-29 30-34 35-39 40-44
45-49 50+ Hired at any age Hired at any age
0 22 40 42 45 48 50 54
57 60 22 96
1 42 44 47 50 53 56
59 63 96
2 43 46 49 52 55 58
61 65 96
3 45 48 51 54 57 60
64 68 96
4 47 50 53 56 59 63
66 70 96
5 49 52 55 58 61 65
69 73 96
6 51 54 57 60 64 68
72 76 96
7 53 56 59 63 66 70
75 79 96
8 55 58 62 65 69 73
78 82 96
9 57 60 64 68 72 76
81 86 96
10 59 63 67 71 75 79
84 89 96
11 62 65 69 73 78 82
87 96
12 64 68 72 76 81 86
91 96
13 67 71 75 79 84 89
94 96
14 69 73 78 82 87 93
98 96
15 72 76 81 86 91 94
102 96
16 75 79 84 89 92 95
96
17 78 83 88 90 93 96
96
18 81 86 88 91 94 96
96
19 84 87 89 92 95 97
96
20 85 88 90 93 96 98
96
21 86 88 91 94 97
22 87 89 92 95 98
23 88 90 93 96 98
24 89 91 94 97 99
25 89 92 95 98 100
26 90 93 96 99
27 91 94 97 100
28 92 95 98 101
29 93 96 99 102
30 94 97 100 103
31 95 98 101
32 96 98 102
33 96 98 103
34 96 98 104
35 96 98 105
36 96 98
37 96 98
38 96 98
39 96 98
40 96 98
41 96
42 96
43 96
44 96
45 96
46 96
47 96
48 96
In addition to cost data, information concerning expected workload and employee productivity is used in the subject process. Input Data on Workload and Productivity w.sub.ijk =number units of work produced in one year by an employee of type i who was hired while in age group j and has k years of service W.sub.t =number of units of work to be completed by the workforce in planning period t Tables 3 and 4 show and example set of input data on workload and productivity.
TABLE 3
Input Data on Workload
Planning Period 1 2 3 4 5 6 7 8 9 10
Number of Units of 1982 1915 1873 1688 1577 1383 1273 1297 1066
1009
Work Required
Again, Table 4 provides productivity data by worker years of service and age groups. Age groups are shown for the purpose of illustrating the possibility of using them in the process of this invention. But the only distinction in productivity used in this problem is based on years of service. Next data based on management policies is added to the database. Input Data on Management Policies a.sub.i =maximum number of employees of type i that can be hired in any year, due to market constraints or as allowed by the management b.sub.i =maximum fraction of employees of type i that can be terminated in any year, as allowed by the management or labor agreements (Note that for some employee types termination may not be allowed at all. This can be represented by setting the termination limit b.sub.i =0.) c=minimum average length of service among all employees that is required by the management (This constraint describes the manager's desire to maintain a certain level of "history" or experience in the organization.) d.sub.it =maximum headcount on employees of type i in year t that is allowed by the management Tables 5 and 6 show an example set of input data on management policies. As stated above this example contemplates a startup company and, as seen in Tables 5 and 6, the company has an annual hiring limit on both regular and contract employees.
TABLE 5
Input Data on Management Policies - Hiring and
Termination Limits and Average Length of Service Requirement
Policy Parameter
Regular Employee Hiring Limit 500
Contract Employee Hiring Limit 5000
Regular Employee Termination Limit 0.25
Contract Employee Termiantion Limit 1
Minimum Average Length of Service 0
The values of 99999 in Table 6 mean that that there are no restrictions on headcount in this problem other that those implicit in the annual hiring limitations specified in Table 5. Input Data on Worker Demographics p.sub.ijk =survival rate, i.e., the fraction of employees of type i hired while in age group j with k years of service expected to stay on staff in any year q.sub.ijk =number of employees of type i who were hired while in age group j and have k years of service at the start of the planning period (jump-off population) r.sub.ij =fraction of employees of type i that are hired at age j. (Note that for each i, the values of r.sub.ij sum to 1.) Tables 7, 8, and 9 show an example set of input data on worker demographics.
TABLE 7
Input Data on Worker Demographics - Survival or
Retention Rates
Regular Employee
Survival Rates
Worker Years Hired at age
Contract Employee Survival Rates
of Service 15-19 20-24 25-29 30-34 35-39 40-44 45-49 50+
Hired at any age
0.94 0.88 0.96 0.94 0.96 0.96 0.97 0.98
0.60
0 0.90 0.90 0.96 0.95 0.97 0.97 0.97 0.98
0.80
1 0.87 0.93 0.97 0.96 0.97 0.97 0.97 0.97
0.80
2 0.86 0.95 0.97 0.97 0.97 0.97 0.98 0.96
0.80
3 0.86 0.96 0.98 0.97 0.97 0.97 0.98 0.94
0.80
4 0.88 0.96 0.98 0.98 0.98 0.97 0.98 0.91
0.80
5 0.90 0.97 0.98 0.98 0.98 0.97 0.98 0.89
0.80
6 0.93 0.97 0.98 0.99 0.98 0.97 0.97 0.89
0.80
7 0.95 0.97 0.98 0.99 0.98 0.97 0.96 0.90
0.80
8 0.96 0.98 0.98 0.99 0.98 0.98 0.94 0.92
0.80
9 0.96 0.98 0.98 0.99 0.99 0.98 0.91 0.00
0.80
10 0.97 0.98 0.99 0.99 0.99 0.98 0.89
0.80
11 0.97 0.98 0.99 0.99 0.99 0.98 0.89
0.80
12 0.97 0.98 0.99 0.99 0.99 0.97 0.90
0.80
13 0.98 0.99 0.99 0.99 0.99 0.96 0.92
0.80
14 0.98 0.99 0.99 0.99 0.99 0.94 0.00
0.80
15 0.98 0.99 0.99 0.99 0.98 0.91
0.80
16 0.98 0.99 0.99 0.99 0.98 0.89
0.80
17 0.98 0.99 0.99 0.99 0.97 0.89
0.80
18 0.99 0.99 0.99 0.99 0.96 0.90
0.80
19 0.99 0.99 0.99 0.99 0.94 0.00
20 0.99 0.99 0.99 0.98 0.91
21 0.99 0.99 0.99 0.98 0.90
22 0.99 0.99 0.99 0.97 0.89
23 0.99 0.99 0.99 0.95 0.90
24 0.99 0.98 0.98 0.91 0.00
25 0.99 0.98 0.97 0.88
26 0.99 0.98 0.96 0.86
27 0.99 0.97 0.95 0.85
28 0.99 0.97 0.93 0.86
29 0.98 0.97 0.90 0.00
30 0.98 0.97 0.86
31 0.98 0.96 0.84
32 0.97 0.95 0.83
33 0.97 0.92 0.85
34 0.97 0.88 0.00
35 0.97 0.83
36 0.96 0.80
37 0.95 0.79
38 0.92 0.81
39 0.88 0.00
40 0.83
41 0.80
42 0.79
43 0.81
44 0.85
45 0.91
46 0.96
47 0.00
48 0.00
Table 8 is included to illustrate the type of worker demographic data that could be considered with respect to existing employees at the beginning of an analysis made possible by this invention. Such data is useful in considering attrition rates. However, as stated this example involves a start up situation with no existing engineering designers.
TABLE 9
Input Data on Demographics - Hiring Age Distribution
Fraction of Regular Employees Hired by Age Group
Hired At Age
15-19 20-24 25-29 30-34 35-39 40-44 45-49 50+
0.12 0.29 0.27 0.17 0.06 0.04 0.05 0.00
After receiving the required input data as illustrated above, the programmed computer will then determine simultaneously the optimal values of the following variables: y.sub.it =number of employees of type i hired at the start of year t. z.sub.ijkt =number of employees of type i who were hired at age j have k years of service who are terminated at the start of year t. x.sub.ijkt =the number of employees of type i, hire age j, service length k, on staff during period t. The computer determines the values for y.sub.it, z.sub.ijkt, and x.sub.ijkt by solving the following linear programming optimization program using suitable available linear programming analysis software: ##EQU1## subject to the following constraints: Constraint 1: The productivity of the all the workers on staff in any given period of the planning horizon must exceed the demand in that year. This can be stated using the mathematical notation as follows: ##EQU2## Constraint 2: The number of employees of any given type who are hired in any given period of the planning horizon must not exceed the hiring limit for that type of employees. This can be stated using the mathematical notation as follows: y.sub.it.ltoreq.a.sub.i for all i in the set I and for all t in the set {1, . . . , T} Constraint 3: The fraction of employees of any given type who are terminated in any given period of the planning horizon must not exceed the termination limit for that type of employees. This can be stated using the mathematical notation as follows: ##EQU3## Constraint 4: In any given period of the planning horizon, the average length of service over all workers on the staff must be greater than the desired average length of service. This can be stated using the mathematical notation as follows: ##EQU4## Note that the above inequality can easily be put in linear form as is necessary to use standard linear programming analysis software to solve this optimization problem. Constraint 5: During any given period of the planning horizon, the total headcount for employees of any given type cannot exceed the stated limit. This can be stated using the mathematical notation as follows: ##EQU5## Constraint 6: The number of employees of any given type who are hired in any given period of the planning horizon cannot be less than zero. This can be stated using the mathematical notation as follows: y.sub.it.gtoreq.0 for all i in the set I and for all t in the set {1, . . . , T} Constraint 7: In any given period of the planning horizon, the number of employees of any given type who have any given length of service and who were hired while in any given hiring age group cannot be less than zero. This can be stated using the mathematical notation as follows: z.sub.ijkt.gtoreq.0 for all i in the set I and for all t in the set {1, . . . , T}. Constraint 8: The number of employees of any given type and any given length of service and who were hired while in any given hiring age group who are on staff in the period before the first period of the planning horizon (t=0) must be equal to the number of employees of said type in said length of service group who were hired in while in said hiring age group that were indicated by the input data to be on staff at the start of the planning horizon. This can be stated using the mathematical notation as follows: x.sub.i,j,k,0 =q.sub.ijk for all i in the set I, and for all j in the set {H.sup.min, . . . , H.sup.max }, for all k in the set {0, . . . , S} and for all t in the set {1, . . . , T}. Constraint 9: In any given period of the planning horizon, the number of employees of any given type who where hired while in any given hiring age group and have zero years of service is equal to the total number of employees of said type who were hired in said period times the fraction of employees of said type who are hired while in said hiring age group. This can be stated using the mathematical notation as follows: x.sub.i,j,0,t =y.sub.it r.sub.ij for all i in the set I, and for all j in the set {H.sup.min, . . . , H.sup.max }, and for all t in the set {1, . . . , T}. Constraint 10: In any given period of the planning horizon, the number of employees of any given type who were hired while in any given hiring age group and who have any given length of service greater than zero is equal to the number of employees of said type who were hired while in said hiring age group who were on the staff in the previous period and who had one less year of service in the previous period times the retention rate for employees of said type, said hiring age group and said length of service less one minus the number of employees of said type, said hiring age group, and said length of service less one who were terminated in said period. This can be stated using the mathematical notation as follows: x.sub.ijkt =x.sub.i,j,k-1,t-1 p.sub.ijk -z.sub.i,j,k-1,t for all i in the set I, and for all j in the set {H.sup.min, . . . , H.sup.max }, for all k in the set {1, . . . , S} and for all t in the set {1, . . . , T}. This completes the linear programming formulation that is to be solved using linear programming analysis software to determine the number of employees of each type to hire and terminate in each year. Note that many additional policy constraints similar to Constraints 5-8 could easily be added to this linear programming formulation. For example, one could add a constraint limiting the size of the workforce to stay above a certain threshold. Further, the management group is often interested in offering early retirements and career transitions. A revised integer programming formulation that includes career transition and retirement incentives could be included. Other potential constraints which could be added to this formulation are hiring limits that represent labor market supply and policy constraints on the allowable amount of attrition in the organization. A number of the parameters could be re-indexed. Costs, productivity and policies could all vary by time; the average length of service requirement could vary by employee type; termination limits could vary by length of service, etc. One could also increase the number of indices of the model to capture the skill level of the employees. As is true with any linear program, one might also recast a constraint as an objective to describe a manager's particular situation. For instance, the model could be reformulated to maximize the average experience level of the organization subject to a constraint on total staffing costs. These additions are all straightforward extensions for anyone trained in linear programming. This model has been implemented in the AT&T Math Programming Language (AMPL) (Fourer, Gay and Kerninghan, AMPL: A Modeling Language for Mathematical Programming. Danvers, Mass., Boyd and Fraser Publishing Company, 1993) and solved for various data sets using the CPLEX.RTM. linear programming solver (ILOG, Inc., Using the CPLEX.RTM. Callable Library. Incline Village, Nev., ILOG, Inc., 1999). To interface with AMPL, we have developed a Microsoft Excel.RTM. user interface that allows the user to enter all the required input data. When the user asks the tool to solve the problem, Microsoft Excel.RTM. writes the relevant data to a file which is in a format that can be read by AMPL. We also make a second file available to AMPL which describes the generic linear programming formulation given above (without reference to any specific data). AMPL incorporates the data with the basic linear programming formulation into a complete problem. This problem is solved using the CPLEX.RTM. solver. AMPL then writes a file with the minimum-cost plan for the scenario. This minimum-cost plan is pulled into Microsoft Excels.RTM. where the user can generate charts and tables summarizing the plan. The product of this analysis can provide employee type requirements for several planning periods in the future. However, it is recognized that plans and projections change and analytical analyses such as this invention need to be repeated often to reflect such changes. A significant advantage provided by the practice of this invention is that it readily facilitates changes in input data and rerunning of the model to address new situations. A specific example of the linear programming analysis output of the above specific example is shown in Table 10. The input data for this example was given in Tables 1 through 9. It is recalled that in this example there are two types of employees: full-time contract and full-time regular.
TABLE 10
Linear Programing Output for Specific Example
##STR1##
Year 0 1 2 3 4 5 6 7 8 9
10
Regular Hire 500 500 500 264 500 -- 386 259 --
57
Staff Terminate -- -- -- -- -- 398 -- -- 62
--
Quit -- 34 63 86 90 108 77 89 91
73
Total 0 500 966 1,403 1,580 1,990 1,485 1,794 1,964
1,811 1,795
Contract Hire 1,750 26 -- -- 415 -- -- -- --
--
Staff Terminate -- -- 600 205 -- 249 -- -- --
--
Quit -- 700 220 51 -- 166 -- -- --
--
Total 0 1,750 1,076 256 -- 415 -- -- -- --
--
Total Staff 0 2250 2042 1659 1580 2406 1485 1794 1964 1811
1795
Total Hire 0 49 12 11 6 20 -- 9 6 --
1
Costs Terminate 0 -- -- -- -- -- 9 -- -- 1
--
($M) Annual 0 191 148 91 77 138 74 90 101 97
100
Total 0 240 160 102 83 158 83 99 107 98
101
The top portion of Figure 10 shows the number of contract and regular workers that will be used to meet this workload. The lower portion of Figure 10 shows a detailed hiring and termination schedule. This schedule gives the number of employees of each type to hire and terminate in each year of the planning period. While this invention has been described in terms of a few specific embodiments it is realized that other embodiments of the invention could readily be formulated. Accordingly, the scope of the invention is to be considered limited only by the following claims.
|
Same subclass Same class Consider this |
||||||||||
