Case-Oriented Paper

Journal of the Operational Research Society (2008) 59, 34–43. doi:10.1057/palgrave.jors.2602294 Published online 18 October 2006

A column generation approach for an employee scheduling problem with multiple shifts and work locations

S M Al-Yakoob1 and H D Sherali2

  1. 1Kuwait University, Safat, Kuwait
  2. 2Virginia Polytechnic Institute & State University, Blacksburg, VA, USA

Correspondence: SM Al-Yakoob, Department of Mathematics & Computer Science, Kuwait University, PO Box 5969, Safat 13060, Kuwait. E-mail: salem@al-yakoob.com

Received 1 May 2005; Accepted 1 June 2006; Published online 18 October 2006.

Top

Abstract

This paper is concerned with the problem of assigning employees to a number of work centres taking into account employees' expressed preferences for specific shifts, off-days, and work centres. This particular problem is faced by the Kuwait National Petroleum Corporation that hires a firm to prepare schedules for assigning employees to about 86 stations distributed all over Kuwait. The number of variables in a mixed-integer programming model formulated for this problem is overwhelming, and hence, a direct solution to even the continuous relaxation of this model for relatively large-scale instances is inconceivable. However, we demonstrate that a column generation method, which exploits the special structures of the model, can readily solve the continuous relaxation of the model. Based on this column generation construct, we develop an effective heuristic to solve the problem. Computational results indicate that the proposed approach can facilitate the generation of good-quality schedules for even large-scale problem instances in a reasonable time.

Keywords:

scheduling, mixed-integer programming, column generation, employee scheduling, optimization

Top

Problem description

This paper is concerned with the employee scheduling problem faced by the Kuwait National Petroleum Company (KNPC) in managing their gas stations. The problem is essentially concerned with the assignment and scheduling of different classes of employees at gas stations owned by KNPC. For the sake of ease in presentation, the term 'station' will be used to refer to 'gas station' and the term 'scheduler' will be used to refer to the firm that is presently hired by KNPC to perform the assignment and scheduling of employees at these stations. There are about 86 stations owned by KNPC located all over Kuwait (Table 1 provides some relevant statistics about the stations.) There are three working shifts for employees given as follows: 6:00 a.m.–2:00 p.m. (Shift 1), 2:00 p.m.–10:00 p.m. (Shift 2), and 10:00 p.m.–6:00 a.m. (Shift 3).


There are three categories of employees: supervisors, cashiers, and service workers. A full-service station requires a supervisor and a number of service workers, while a self-service station requires a supervisor (only during certain shifts as specified by KNPC), a cashier, and a number of service workers. A full-service station cannot operate without a supervisor, and a self-service station cannot operate without a cashier. The unavailability of a supervisor in a full-service station or a cashier in a self-service station during any operating shift leads to a closing down of the station, and the scheduler is fined by KNPC about $3000–$10,000, depending on the size and location of the station. Since the number of self-service stations is substantially higher than the number of full-service stations and, recently, most of the full-service stations are being converted into self-service stations, we only consider self-service stations in our model formulation. Also, the supply and scheduling of service workers is subcontracted by the scheduler to another company that undertakes this task based on specified agreements, and hence, the scheduling of service workers is not treated in our developed model. Therefore, the term 'employee' will henceforth refer to a 'supervisor' or a 'cashier', without distinction.

Each employee is entitled to two off-days per week and may be assigned to at most one shift per on-day. An employee is not allowed to work for six consecutive days or during consecutive shifts over two consecutive days (ie, the 10:00 p.m.–6:00 a.m. shift on one day and the 6:00 a.m.–2:00 p.m. shift on the next day). The scheduler aims to assign employees to stations as needed during each operating shift while complying with the employees' expressed preferences for stations, shifts, and on-/off-days, to the extent possible.

Presently, the scheduler adopts an ad hoc manual scheduling method that often leaves employees unhappy with their shift and station assignments. This affords a strong motivation for the present study. As far as implementation is concerned, whereas our approach adopts the real structure of the existing problem, because of the unavailability of some data that our model requires, we have randomly generated such data in a realistic manner in order to test our developed models. We aim to incorporate the proposed approach into a decision-support system that will be present to KNPC for implementation, based on our established proof-of-concept.

Top

Modelling preliminaries

In this section, we discuss employees' preferences and present necessary notation and assumptions that will be needed to formulate Model ESM1. Other relevant notation is presented later as needed.

Modelling notation

Let Gamma represent the set of days in the planning horizon, and let d=1,...,|Gamma| index such days, where |Gamma| is some integer multiple of seven. Let N (usually four) denote the number of weeks in Gamma. We partition the set Gamma into the set of weekdays DWE and the set of weekend-days DWD. Let E denote the set of employees, indexed by e=1,...,|E|, and let G be the set of stations, which is partitioned into G24 and G16, where the former consists of the 24-h stations and the latter is composed of the 16-h stations. Hence, g=1,...,|G24| and g=|G24|+1,...,|G| index the 24-h and 16-h stations, respectively. Let t=1,2,3 index the operating shifts for the stations, where t=1 represents the daily 6:00 a.m.–2:00 p.m. shift, t=2 represents the daily 2:00 p.m.–10:00 p.m. shift, and t=3 represents the daily 10:00 p.m.–6:00 a.m. shift. Accordingly, let Lambda3={1,2,3} and Lambda2={1,2} represent the permissible shifts for the 24-h and the 16-h stations, respectively.

Let Se denote the set of feasible schedules for an employee eset symbolE, which are indexed by s=1,...,|Se|. Recall that a day dset symbolGamma is an on-day for employee e based on schedule sset symbolSe if this employee is assigned a shift on this day; otherwise, this day is an off-day for this employee. Accordingly, let De,sonsubset equalsGamma be the set of on-days for employee e if schedule sset symbolSe is selected for this employee, and let De,soffsubset equalsGamma be the set of off-days for employee e if schedule sset symbolSe is selected for this employee.

Preferences of employees

We present below certain guidelines for employees' preferences that are similar to those used in Al-Yakoob and Sherali (2006):

(a) Preferences for work centres: Each employee is instructed to list, in ascending order, mless than or equal to|G| different stations, the first of which represents the highest preference, and the mth of which represents the lowest preference, where m is some positive integer to be determined based on sensitivity analyses. We associate the number '1' with the first choice, '2' with the second choice, and so on. Hence, number '1' represents the highest preference or least penalty and number 'm' represents the lowest preference or most penalty. Based on these preferences, we define ce,g1 to assume values in the range {1,...,m} representing the penalty (dissatisfaction) of assigning employee e to work at station g.

(b) Preferences for shifts: Every employee is instructed to submit a permutation of the set {1,2,3} to express the preference with respect to daily shifts. For example, {3,1,2} indicates that Shift 3 (10:00 p.m.–6:00 a.m.) is the first choice of preference, Shift 1 (6:00 a.m.–2:00 p.m.) is the second choice of preference, and Shift 2 (2:00 p.m–10:00 p.m.) is the third choice of preference. Let ce,t2 represent the penalty (dissatisfaction) of assigning employee e to shift t. The coefficient ce,t2 takes one of the values 1, 2, or 3 based on the position of shift t in the submitted preference permutation of shifts.

For any given schedule sset symbolSe of employee eset symbolE, define

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Hence, for eset symbolE and sset symbolSe, the value ce,g,d,t(1,2) represents the penalty of assigning employee e to work at station g during shift t if dset symbolDe,son.

(c) Preferences for off-days: Every employee establishes a one-to-one matching between the days of the week and the list {1,2,3,4,5,6,7}. A day matched to number '1' indicates that this day is the employee's first off-day preference, and a day matched to number '2' indicates that this day is the employee's second off-day preference, and so on. Hence, we define ce,d3 to represent the penalty (corresponding matched number) of assigning employee eset symbolE an off-day dset symbolDe,soff, for some sset symbolSe. The coefficient ce,d3 may assume any value from the set {1,2,3,4,5,6,7} based on the selected off-days preferences.

The overall penalty of employee eset symbolE associated with schedule sset symbolSe is therefore given as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Top

A mixed-integer programming model

In this section, we present a mixed-integer programming formulation for the KNPC employee scheduling problem.

Decision variables and related parameters

For eset symbolE and sset symbolSe, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

For a given employee eset symbolE and schedule sset symbolSe, we define the following parameters that indicate whether an employee eset symbolE works at station gset symbolG24 during shift tset symbolLambda3 of day dset symbolGamma, when schedule s is selected for this employee

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

In a similar manner, we define a parameter for the 16-h stations as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Note that these parameter values are known based on the definition of the particular schedule sset symbolSe for any employee, eset symbolE.

Problem constraints

The various problem constraints are presented in turn below:

(a) Satisfying employees' requirements at the stations: For a given 24-h station gset symbolG24, the following constraint assures that station g is staffed with an employee during shift tset symbolLambda3 of dset symbolGamma,

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Likewise, the demand for employees at each 16-h station is satisfied via the following constraint:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

(b) Selecting schedules for employees: The following constraint ensures that at most one valid schedule may be selected for each employee.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Note that in this constraint, we assume that the number of employees that is needed to staff all stations for a given week is known in advance. This assumption is justified as follows: Suppose that each employee works five shifts per week and the total number of shifts required by all the stations over the time-horizon is divisible by 5N. Letting m*=|Lambda3| times |G24| times |Gamma| and nbull=|Lambda2| times |G16| times |Gamma|, then we can staff all the stations with (m*+n*)/5N=Omega employees, for some positive integer number Omega, given that the set partitioning constraints (1.1) and (1.2) admit a feasible solution.

On the other hand, if Omega is not integral, we can add the minimum number of dummy shifts and include these in the generated schedules that would make Omega an integral value. Also, if |E|>Omega, then in lieu of (1.3), we could reserve the option of not selecting some |E|-Omega employees for scheduling. However, for practical reasons, we will assume that |E|=Omega (using dummy shifts, as necessary).

The overall model

The objective function of Model ESM1 is to minimize the overall dissatisfaction of the employees based on the selected schedules, which is given by sumeset symbolE sumsset symbolSe Ce,sxe,s. Hence, this objective term together with the constraints introduced above yields the following model (ESM1) for the KNPC employee-to-stations scheduling problem.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

The continuous relaxation of Model ESM1 is denoted by Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author and is given as follows.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Remark 1
 

Note that in practice, it is usually desirable to determine schedules that attain a degree of equity among employees with respect to the absolute differences in dissatisfaction levels from some central value (see Al-Yakoob and Sherali (2006), for example). However, such equity considerations have been omitted from Model ESM1 to facilitate the development of the proposed column generation approach, which enables the analytical solution of large-scale problems that would otherwise be untenable. Nevertheless, we propose the incorporation of preference-related equity considerations into the developed column generation heuristic (CGH) for future research. One possible way to accommodate this feature might be to partition the set of employees E into groups based on seniority considerations and then require the objective penalty value incurred by each employee in a particular group to lie within some bounded range. The proposed column generation scheme described below would then need to incorporate the appropriate penalty-range constraint when generating columns for each employee within each group. Sensitivity analysis could be used to ascertain suitable penalty ranges.

Remark 2
 

To illustrate the potential size of the full ESM1 model, suppose that there are fifty 16-h stations. Then, the total number of feasible schedules of an employee that can be generated for 1 week assuming that this employee is assigned two off-days is given by Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author. The first term represents the selection of two off-days from the week. The second term indicates that for each of the remaining five on-days, this employee has two shift choices and 50 station choices.

Top

Analysis of model ESM1 and a column generation approach

As noted in Remark 2, there is a huge number of feasible schedules associated with any employee. Since each column of Model ESM1 represents a valid schedule of some employee, it turns out that a direct solution of even Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author is out-of-reach. To deal with this difficulty, we design in this section, a column generation approach to solve Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author based on which we devise in the next section, an iterative procedure to solve the KNPC employee scheduling problem.

The following notation will be used in this section.

v(M)
the optimal objective function value of any model M
M macr
the continuous relaxation of any model M
Irho
the rho times rho identity matrix
0rho
a column vector that is composed of rho entries each of which is 0
0rho1,i
a column vector that is composed of rho entries each of which is 0, except the ith entry, which is 1
0rho times tau
a rho times tau zero matrix
1rho
a column vector that is composed of rho entries each of which is 1
lambdarho
a column vector that is composed of rho entries each of which is lambda
VT
transpose of a column vector V
(V)i
the ith entry of a vector V
p=sumeset symbolE |Se|
 

In the remainder of this section, we formulate a set of constraints whose feasible region characterizes the set of all valid schedules of a given employee.

Examining the column structure of Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author and related issues

In this section, we introduce matrix notation that will be used in our analysis of Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author.

Given eset symbolE and sset symbolSe, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

For gset symbolG24, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

For gset symbolG16, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Let Oe1 be an |E| times |Se| matrix, where each column of Oe1 is given by 0|E|1,e, and let O1=[O11,...,O|E|1]. Then, Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author can be expressed in matrix notation as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Letting

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author can be restated as: Minimize {CTx:Ax=b, lbless than or equal toxless than or equal toub}.

Note that each column of the matrix A that corresponds to the section involving the matrices H and M represents a valid schedule for an employee. The corresponding alpha- and beta-values prescribe the working shifts, off-days, and stations for the particular employee. For any eset symbolE, we can define a set of constraints in terms of certain binary decision variables whose feasible region, denoted by FRe, corresponds to the columns (schedules) of the matrix A that are associated with employee eset symbolE. Hence, any column of A that corresponds to this employee represents a feasible point in FRe, and vice versa.

To this end, for each eset symbolE, let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Then, the feasible region, FRe, defined below, represents all feasible schedules for this employee.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Constraint (2.1) assures that employee e may be assigned at most one shift during any given day of the time-horizon provided that this day is an on-day. Working during shift t=3 of one day and shift t=1 of the next day is not permitted, as enforced by constraint (2.2). Employee e must have five on-days during any given week of the time-horizon, as ascertained by constraint (2.3). Constraint (2.4) ensures that an employee can consecutively work for at most 5 days over the time-horizon. Finally, constraint (2.5) represents the binary logical restrictions. Hence, any feasible point in FRe corresponds to a schedule for employee e, say sset symbolSe, where alphae,sg,d,t=Pi24eg,d,t and betae,sg,d,t=Pi16eg,d,t.

A CGM for solving Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Next, we present a column generation approach (CGM) that will facilitate reasonable solutions for Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author for problem instances that cannot be solved directly.

Suppose that at some iteration of the revised simplex method for bounded variables as applied to solve Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author, we have a basic feasible solution characterized as follows: A basis matrix given by B and nonbasic variable matrices given by N1 and N2, where N1 corresponds to the columns of the nonbasic variables that are currently at their lower bound of zero, and N2 corresponds to the columns of the nonbasic variables that are currently at their upper bound of one. Let Slb and Sub be the index sets for the nonbasic variables that are currently at their lower and upper bounds, respectively. Furthermore, let the x and C vectors be partitioned as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Let omegaT=CBTB-1, YlbT=omegaTN1, and YubT=omegaTN2. Note that YlbT-CN1T and YubT-CN2T represent the negative reduced cost coefficient vectors that correspond to the vectors of nonbasic variables xN1 and xN2, respectively. Let j=1,...,p, where j=1,...,|S1| indexes the feasible schedules of employee e=1, j=|S1|+1,...,|S1|+|S2| indexes the feasible schedules of employee e=2, and so on. Hence, each jset symbol{1,...,p} corresponds to a schedule sset symbolSe of some employee eset symbolE. Accordingly, we may replace xe,s by xj and Ce,s by Cj where the index j corresponds to (e,s) as discussed above.

Thus, Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author can be rewritten as follows, by expressing the basic variables in terms of the nonbasic variables.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Consequently, the current solution is optimal if ((YlbT)j-(CN1)j)less than or equal to0 for all jset symbolSlb and ((YubT)j)-(CN2)jgreater than or equal to0 for all jset symbolSub. On the other hand, if this solution is not optimal, we shall modify the value of only one nonbasic variable while all other nonbasic variables are fixed at their lower or upper bounds. Assume that the current solution is not optimal and let k index the entering variable. By Dantzig's Rule, we select an entering variable that yields the maximum rate of objective function decline among all other candidate entering variables. Let delta1=maxjset symbolSlb{(YlbT)j-(CN1T)j}, delta2=maxjset symbolSub{(CN2T)j-(YubT)j}, and delta=max{delta1,delta2}

Since the solution is not optimal, delta>0, and hence, let kset symbolSlbcupSub be an index for which the above maximum is achieved. Now, if kset symbolSlb, then xk is increased from zero, and if kset symbolSub then xk is decreased from one.

Let eta be any column of the matrix N1 or N2. This column represents a schedule sset symbolSe for some employee eset symbolE. Hence, for the sake of ease in reference, we use eta(e,s) to denote eta. Accordingly, we can express eta(e,s) as

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

where eta1(e,s), eta2(e,s), and eta3(e,s) are, respectively, the parts of eta(e,s) that correspond to the matrices H, M, and O1. The entries of eta1(e,s) and eta2(e,s) can be, respectively, derived from the alphae,sg,d,t- and betae,sg,d,t-values, and eta3(e,s)equivalent to0|E|1,e. Likewise, we partition omegaT into (omega1)T, (omega2)T, and (omega3)T. Conformingly, let omega1eg,d,t denote the entries of (omega1)T for gset symbolG24, and let omega2eg,d,t denote the entries of (omega2)T for gset symbolG16. Also, let omega3e denote the entries of (omega3)T.

Note that exactly one schedule is to be selected for each employee as noted by constraint (1.3). Hence, |Sub|less than or equal to|E|, otherwise constraint (1.3) of Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author would be violated. Accordingly, the employees that are associated with the variables in Sub can be easily determined. Let Eub be the subset of the employees for which one of the corresponding x-variables is binding at its upper bound.

For Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author, the following (auxiliary) mixed-integer programming model (APelb) determines whether any of the nonbasic variables associated with this employee, which are currently at their lower bounds of zero, is a candidate to enter the basis:

APelb

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Note that the first three terms of the objective function sum to (omegaTAe,s) for some resulting column Ae,s of the matrix A that represents a schedule sset symbolSe, and likewise, the last three terms of the objective function yield Ce,s.

Since |Eub|less than or equal to|E|, and since |E| is relatively small, we can explicitly price the nonbasic variables that are presently at their upper bounds and determine delta2, and hence, identify a candidate for the entering nonbasic variable. Accordingly, let veub be the reduced cost coefficient for the nonbasic variable that is associated with eset symbolEub.

Let

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Now, consider the following two cases:

  1. If deltaless than or equal to0, then none of the nonbasic variables is a candidate to enter the basis.
  2. If delta>0, then we can derive a candidate entering variable for Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author as follows:
    1. if delta1>delta2, find the x-variable corresponding to the column associated with employee e* from the optimal solution obtained for Model APe*lb.
    2. if delta1less than or equal todelta2, find the x-variable corresponding to the column associated with employee e**.

Top

A column generation-based heuristic procedure

In this section, we present a sequential variable-fixing heuristic procedure to construct a feasible solution for the KNPC employee scheduling problem by selecting one valid schedule for each employee. In essence, this procedure selects valid schedules for employees based on solutions of Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author obtained via the CGM method outlined in the foregoing section.

Consider a solution x macr to Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author obtained using the CGM procedure. Let Sb be the index set for the basic variables. Let Sb1subset equalsSb be the index set of basic variables that are equal to one when this routine terminates, and let Sbf be the set of fractional basic variables. (Note that if Sbf=Empty set variant, we have |E| schedules at hand, one for each employee, and we can stop with this solution as optimal to Model ESM1.) Consider the set K=Sb1cupSub, where Sub is the index set of nonbasic variables that are currently at their upper bounds of one, as defined in the foregoing section. Recall that each index in the set K corresponds to an employee schedule, where we have x macrj=1, foralljset symbolK. Also, let x macrmax=maxjset symbolSbf{x macrj} and L={jset symbolSbf:x macrj=x macrmax}. Pick j circumflexset symbolL and augment the set K left arrow Kcup{j circumflex}. Recall that each index in the set K corresponds to an employee schedule. Moreover, note that no two indices in this updated set K could correspond to the same employee, because otherwise, constraint (1.3) would be violated. Let EKequivalent to{eset symbolE: there exists an index in this updated set K that corresponds to employee e}. Let E tildeK denote the complement of EK in E.

Note that the employees prescribed by the set K will staff certain shifts of the stations based on their selected schedules. Hence, let us define the set Lambdag,d3 and Lambdag,d2 as follows:

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

and

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Let ESM1E tildeK be a modified version of ESM1 obtained by (a) restricting the set of employees to E tildeK, and (b) updating constraints (1.1) and (1.2) as delineated by (4.1) and (4.2) below, respectively.

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author

We can now solve Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author using the CGM procedure and repeat the above process with this remnant set of employees and unmanned shifts over the stations and the time-horizon. The overall proposed CGH procedure for selecting the employees' schedules is stated below

Procedure CGH

Initialization

  • Set K=Empty set variant, E tildeK=E, Lambdag,d3=Lambda3,forallgset symbolG24, dset symbolGamma, and Lambdag,d2=Lambda2,forallgset symbolG16, dset symbolGamma.

Main Step

  • Solve Model Unfortunately we are unable to provide accessible alternative text for this. If you require assistance to access this image, please contact help@nature.com or the author using CGM and let x macr denote the resulting solution.
  • Determine the index sets Sb1,Sbf, and Sub.
  • Update K left arrow KcupSb1cupSub.
  • If Sbf=Empty set variant, then stop; the required employees' schedules are collectively described by the set K. Otherwise, proceed to the next step.
  • Let x macrmax=maxjset symbolSbf{x macrj} and L={jset symbolSbf:x macrj=x macrmax}.
  • Pick j circumflexset symbolL and update K left arrow Kcup{j circumflex}.
  • If |K|=|E|, then stop; the required employees' schedules are collectively described by the set K. Otherwise, proceed to the next step.
  • Update E tildeK, Lambdag,d3, forallgset symbolG24, dset symbolGamma, and Lambdag,d2, forallgset symbolG16, dset symbolGamma.
  • Repeat the Main Step.

Remark 3

(a) Note that at each iteration of Procedure CGH, the set K is augmented by at least one element. Also, note that at each iteration, the number of elements in K cannot exceed |E|. Consequently, the algorithm terminates whenever |K|=|E|.

(b) At each iteration of Procedure CGH, unmanned shifts are staffed with available employees taking into consideration shift and work load restrictions related to employees. Therefore, Procedure CGH generates a feasible solution to the KNPC employee scheduling problem.

Top

Concluding remarks

This paper presents a column generation approach to solve the employee scheduling problem that is faced by the KNPC. A mixed-integer programming model (ESM1) that composes feasible sets of employee schedules to staff all the stations taking into consideration shifts and load restrictions is developed. This model facilitates the design of a CGM that is used to solve the continuous relaxation of Model ESM1. A CGH based on CGM is then proposed to solve the KNPC employee scheduling problem.

The column generation approach heuristic (CGH) of this paper facilitates solutions for test problem instances similar to the KNPC employee scheduling problem that could not be solved via the TSA developed in Al-Yakoob and Sherali (2006). In particular, via this heuristic, we were able to generate employee schedules for up to 90 stations and 336 employees, whereas the two-stage procedure (TSA) was able to handle at most 29 stations and 84 employees. The TSA, however, takes into consideration the equity objective of minimizing the absolute differences between dissatisfaction levels of employees in terms of assigned off-days, shifts, and work centres. This equity consideration was omitted to maintain a certain column structure of Model ESM1, which promoted the formulation of Problem APelb, and hence, the design of the proposed CGH. For the sake of comparison, we generated employees' schedules for the 22 test problems using the TSA while omitting all equity-related modelling considerations. For the first nine test problems that we were able to solve using the TSA, Procedure CGH yielded improved objective function values ranging between 6 and 33% over all the test problems.

Future research will explore alternative approaches that incorporate preference-related equity considerations while still being able to handle large-scale instances via column generation, similar to the methodology developed in this paper. provides some guidelines in this direction. Also, we aim to investigate efficient back-up modelling approaches to avoid closedowns of stations to the extent possible, given the severe financial consequences of having to close a station due to inadequate staffing.

Top

References

  1. Abdennadher S and Schlenker H (1999). Nurse scheduling using constraint logic programming. In: Proceedings of the 11th Conference on Innovative Applications of Artificial Intelligence. AAAI Press, Menlo Park, CA, pp 838–843.
  2. Alfares H (2004). Survey, categorization, and comparison of recent tour scheduling literature. Ann Oper Res 127: 145–175. | Article | ISI |
  3. Al-Yakoob SM and Sherali HD (2006). Mixed-integer programming models for an employee scheduling problem with multiple shifts and work locations. Ann Oper Res, accepted.
  4. Bard J, Binici C and de Silva A (2003). Staff scheduling at the United States Postal Service. Comput Oper Res 30: 745–771. | Article | ISI |
  5. Bechtold S (1988). Implicit optimal and heuristic labour staffing in a mutiobjective multilocation environment. Decis Sci 19: 353–373. | Article | ISI |
  6. Brusco M and Jacobs L (2001). Starting-time decisions in labor tour scheduling: An experimental analysis and case study. Eur J Oper Res 131: 459–475. | Article | ISI |
  7. Carter M and Lapierre S (2001). Scheduling emergency room physicians. Health Care Manage Sci 4: 347–360. | Article | ChemPort |
  8. Eitzen G, Panton D and Mills G (2004). Multi-skilled workforce optimisation. Ann Oper Res 127: 359–372. | Article | ISI |
  9. Ernst AT, Jiang H, Krishnamoorthy M, Owens B and Sier D (2004). An annotated bibliography of personnel scheduling and rostering. Ann Oper Res 127: 21–144. | Article | ISI |
  10. Topaloglu S and Ozkarahan I (2004). An implicit goal programming model for the tour scheduling problem considering the employee work preferences. Ann Oper Res 128: 135–158. | Article | ISI |
  11. Valouxis C and Housos E (2000). Hybrid optimization techniques for the workshift and rest assignment of nursing personnel. Artif Intell Med 20: 155–175. | Article | PubMed | ISI | ChemPort |
Top

Acknowledgements

This work was supported by Kuwait University under Research Grant No. [SM06/02] and by the National Science Foundation under Grant No. DMI-0094462. We gratefully acknowledge the assistance of Ms Renju Lekshmi in implementing the developed procedures.