A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills

A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills

Accepted Manuscript A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills M. Fırat, D. Briskorn, A. Laugier PII: DOI...

1MB Sizes 6 Downloads 37 Views

Accepted Manuscript

A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills M. Fırat, D. Briskorn, A. Laugier PII: DOI: Reference:

S0377-2217(15)01088-7 10.1016/j.ejor.2015.11.039 EOR 13390

To appear in:

European Journal of Operational Research

Received date: Revised date: Accepted date:

25 August 2015 1 October 2015 30 November 2015

Please cite this article as: M. Fırat, D. Briskorn, A. Laugier, A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills, European Journal of Operational Research (2015), doi: 10.1016/j.ejor.2015.11.039

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

ACCEPTED MANUSCRIPT

Highlights • A real-life problem of finding stable workforce assignments is studied. • A new and compact IP model is developed. • The problem is reformulated as an IP model with set packing structure, and Column Generation is employed. • The pricing problem amounts to finding a team with replacement weight coefficients in objective

CR IP T

• Stability is used in reducing the problem size after branching decisions.

AC

CE

PT

ED

M

AN US

• The Branch-and-Price has significantly increased the instance size that can be solved within a given time limit.

1

ACCEPTED MANUSCRIPT

A Branch-and-Price algorithm for stable workforce assignments with hierarchical skills M.Fırata,∗, D. Briskornb , A. Laugierc a Department

CR IP T

of Mathematics and Computer Science, TU Eindhoven, P.O. Box 513, 5600 MB Eindhoven, Netherlands. b Bergische Universit¨ at Wuppertal, Rainer-Gruenter-Str. 21, 42119 Wuppertal, Germany. c France Telecom/R&D/BIZZ/DIAM 905, rue Albert Einstein, F-06921 Sophia-Antipolis Cedex, France.

Abstract

AN US

This paper deals with assigning hierarchically skilled technicians to jobs by considering preferences. We investigate stability definitions in multi-skill workforce assignments stemming from the notion of blocking pairs as stated in the Marriage model of Gale-Shapley. We propose a Branch-and-Price approach to find a stable workforce assignment in which no technician and job pair can be better off by replacing an already assigned technician in current team of the job. As base for our exact algorithm, we give a reformulation of the problem which constructs a stable assignment by selecting teams from a base set. Then, the pricing problem accounts finding a team to a job. We provide details of the algorithm and show its efficiency by means of a computational study. We also show that checking stability becomes NP-hard, if replacing groups of technicians is considered in defining stability.

M

Keywords: Workforce assignment with hierarchical skills, stable assignments, column generation, branchand-price. 1. Introduction

AC

CE

PT

ED

Skill management becomes a critical task as specialization in production and management increases. Besides the efficient use of available skills, satisfying the preferences of employees is necessary to provide good working conditions. A recent literature review of van der Berg et al. [14] concludes that companies more and more consider employee preferences to satisfy the workforce and to allow them flexibly manage their personal lives. Especially, if the skill distribution among available workers as well as the skill requirements of jobs are heterogeneous, a systematic approach becomes more crucial. In this paper, we consider the problem of assigning technicians to jobs. In our assignment problem, jobs require certain skills at hierarchical skill levels, and they can be performed if and only if the cumulative skills of assigned technicians are at least the required ones. Jobs represent the workload of one workday, that may attract technician due to their starting times, geographic location, working conditions and so on. Technicians also have different personalities besides their skill levels, working in a team more effectively, easily getting stressed, and so on. Due to aforementioned reasons, some jobs may be preferred more than others by a technician and vice versa. Preferences of both technicians and jobs are assumed to be strict and complete. According to the notion of stability considered in this paper, a technician-job assignment is stable if there is no technician-job pair such that they are better off by replacing the technician with another one in the current team of the job. This stable workforce assignment problem is introduced by Fırat et al. [22], and called Stable Technician-Job Assignment Problem, shortly the STJAP. The authors show that a special case of the STJAP is NP-complete by a reduction to the 3-dimensional Matching Problem. Our contribution in this field follows two directions building upon the foundation laid in Fırat et al. [22]. First, we consider a natural generalization of the problem setting presented by the authors. Our ∗ Corresponding

author Email addresses: [email protected] (M.Fırat), [email protected] (D. Briskorn), [email protected] (A. Laugier)

Preprint submitted to Elsevier

December 4, 2015

ACCEPTED MANUSCRIPT

CR IP T

main result here is that the problem to check stability of a given feasible assignment is strongly NP-hard. This is in contrast to the classic result regarding many-to-one matchings where stability regarding groups of technicians is implied by stability regarding individual technicians in the absence of skill requirements, see Roth and Sotomayor [31]. Second, we present a new formulation of the STJAP. We then reformulate it in order to employ Branch-and-Price (B&P) method. In our computational study, we describe a benchmark algorithm, additional to directly solving the Integer Programming (IP) model, and compare performances of all methods by gradually increasing the size of generated problem instances. The results show that the B&P algorithm clearly outperforms the benchmark algorithms. This paper is organized as follows. In Section 2, we propose a new IP model for stable workforce assignments and consider a more general version of the problem. Related literature is reviewed briefly in Section 3. In Section 4 the B&P procedure is outlined. We evaluate our algorithm in Section 5 and conclude the paper in Section 6. 2. Problem description and notation

In this section we detail all concepts incorporated. We, then, pick up the problem definition from Fırat et al. [22] in Section 2.1 and introduce a more general setting in Section 2.2.

AN US

Skills. In our workforce assignment problem, skills are categorized as skill domains in S = {1, 2, . . . , |S|}, and the degree of expertise within each domain is interpreted by hierarchical skill levels in L = {1, 2, . . . , |L|}. We assume that possessing a skill (l, s) ∈ L × S implies possessing lower level skills (l0 , s) for l0 < l.

M

Technicians. We are given a set T of technicians. Each technician t ∈ T has skills Skt ∈ {0, 1}|L|×|S| such (l,s) (l0 ,s) that Skt ≤ Skt for l0 ≤ l in every s ∈ S. For example, in an instance with |L| = 3, |S| = 4, skills of technician t may be   1 0 1 0 Skt =  1 0 1 0  1 0 0 0 (3,1)

ED

where t is expert in domain 1 due to Skt = 1. He qualifies to level 2 in domain 3, but not qualified in domains 2 and 4. In fact, expressing skills of technicians by skill vectors could be a more compact way, however matrices are more convenient to formulate our problem. Technicians can use their skills simultaneously in all domains while processing a job, see Fırat et al. [22].

PT

Jobs. We are given a set J of jobs, each having skill requirements RQ ∈ {{0} ∪ Z+ }|L|×|S| . In order to (l,s) perform job j ∈ J, for every skill (l, s) at least RQj technicians should be qualified in a team. Besides (l0 ,s)

(l,s)

AC

CE

cumulatively expressing skill requirements by RQ (s.t. RQj ≥ RQj for each l0 ≤ l), they may also be expressed explicitly as ( (l,s) RQj if l = |L|, ∗(l,s) RQj = , ∀s ∈ |S|. (1) (l,s) (l+1,s) RQj − RQj if l < |L| P|L| (l,s) ∗(`,s) Given explicit skill requirements RQ∗j for job j, cumulative skill requirements are RQj = `=l RQj , for all (l, s). For example, in an instance with |L| = 3 and |S| = 4, cumulative and explicit skill requirements of job j may be     5 1 4 0 2 0 2 0 RQj =  3 1 2 0  ⇔ RQ∗j =  2 1 2 0  1 0 0 0 1 0 0 0

Contributing skills. Given job j ∈ J and technician t ∈ T , the set N (j, t) of contributing skills includes (l,s) ∗(l,s) skill (l, s) if and only if Skt = 1 and RQj > 0. For the above examples of t and j we have N (j, t) = {(1, 1), (2, 1), (3, 1), (1, 3), (2, 3)}.

2

ACCEPTED MANUSCRIPT

Preferences. Technicians (jobs) have a strict preference ordering over jobs (technicians). We denote j >t j 0 if technician t prefers job j to j 0 . Similarly, t >j t0 means that job j prefers technician t to t0 . Also, we assume that preferences are complete.

∗(l,s)

Feasibility. An explicitly required skill (l, s) of job j, i.e. RQj (l,s)

CR IP T

Assignments and teams. A workforce assignment µ matches technicians to jobs such that every technician is assigned to at most one job. The team of job j, denoted by µ(j), is the set of technicians assigned to job j under assignment µ. P Similarly, µ(t) denotes the job technician t is assigned under µ. Team µ(j) has cumulative skills Skµ(j) = t∈µ(j) Skt . A pair of a job and a team, assigned to each other, is referred to as job-team-assignment (JTA) in the following. We denote the JTA of job j under µ as (j, µ(j)). > 0, is critical with respect to team

(l,s)

µ(j), if it is tightly satisfied, i.e. Skµ(j) = RQj . The set of critical skills of JTA (j, µ(j)) is denoted by Cr(j, µ(j)). (l,s) (l,s) A JTA (j, µ(j)) is skill-feasible if Skµ(j) ≥ RQj for each (l, s). We say a technician t in µ(j) is idle if t does not contribute any critical skill of µ(j). Finally, team µ(j) is called proper if it is skill-feasible and if it has no idle technician.

AN US

Definition 1. Assignment µ is feasible, if every job in J is assigned to a proper team. Replacements. We say technician t can replace technician t0 in µ(j) if • t0 ∈ µ(j) while t 6∈ µ(j),

• t possesses all critical skills t0 contributes, i.e. Cr(j, µ(j)) ∩ N (j, t0 ) ⊆ N (j, t). Additionally, we generalize replacements to sets of technicians. We say T 0 can replace T 00 in the team of job j if T 00 ⊆ µ(j), µ(j) ∩ T 0 = ∅, and (j, (µ(j) \ T 00 ) ∪ T 0 ) is a proper JTA.

PT

• j >t µ(t),

ED

M

2.1. Stability with regard to technicians We pick up a definition of stability from Fırat et al. [22] which is inspired from the notion of stability definition in the Marriage problem of Gale and Shapley [24]: A marriage is called “stable” if and only if there is no man-woman pair such that they prefer each other to their current partners. Such a pair is said to block the marriage, hence is called blocking pair. Given a feasible assignment µ, we say triple (t0 , j, t) blocks µ if

• t can replace t0 in µ(j) such that t >j t0 .

CE

Definition 2. A feasible assignment µ is stable if and only if no triple blocks it. Problem: Stable Technician Job Assignment Problem (STJAP) Instance:

AC

Set L of skill levels, set S of skill domains, set T of technicians with skills, and set J of jobs with skill requirements. Strict and complete preferences of technicians (jobs) over jobs (technicians). Question: Does there exist a stable assignment µ?

NP-completeness of finding a feasible workforce assignment is proven by Fırat et al. [22] with a reduction from 3-Dimensional Matching problem. This implies that STJAP is NP-complete as well. Next, we formulate the STJAP as an IP model which is compact in the sense of having less decision variables and less constraints compared to the IP model proposed in the literature. We will detail this after presenting our IP model. • Binary decision variable θtj indicates that technician t is assigned to job j, (l,s)

• Binary decision variable ξj

indicates if skill (l, s) is critical with respect to the team of job j . 3

ACCEPTED MANUSCRIPT

θ t0 j +

1−

(l,s) ξj

X

j ◦ ,j ◦




X

(l,s) Skt θtj

t∈T

∃(θ, ξ) with −

(l,s) RQj

X

X j∈J

X

≤ |T | 1 −

θtj ≤ 1

(l,s) ξj



(2) ∀j ∈ J, (l, s) :

∗(l,s) RQj

>0

(3)

∀t ∈ T.

(4) (5)

(l,s)

≥ θtj

∀j ∈ J, t ∈ T.

(l,s)

≤1

∀j ∈ J, t0 , t ∈ T, t >j t0

(6)

(l,s)

∈ {0, 1}

∀j ∈ J, (l, s) ∈ L × S

(7)

ξj

(l,s)∈N (j,t)

θtj ◦ −



ξj

(l,s)∈N (j,t0 )\N (j,t)

ξj

θtj ∈ {0, 1}

CR IP T



∀j ∈ J, t ∈ T.

(8)

Inequalities (3) ensure that skill requirements of jobs are satisfied by the assigned technicians as (l,s) (l,s) (l,s) θtj − RQj needs to be non-negative. Moreover, ξj is set to 1 if the requirement is fulfilled t∈T Skt

P

(l,s)

ED

M

AN US

tightly and ξj is set to 0 if the requirement is fulfilled with slack. Constraints (4) allow each technician to be in at most one team. Concluding, constraints (3) and (4) ensure an assignment with a skill-feasible JTA for each job. Inequalities (5) state that if t is assigned to j, then there has to be at least one critical skill of the JTA of j among the skills t is contributing for j. Hence, constraints (3) to (5) ensure a feasible assignment. Finally, stability is ensured by inequalities (6). For each triple (t0 , j, t) which may block an assignment since t >j t0 at least one of the following must hold: (i) t0 is not assigned to j, (ii) t is assigned to j or to a job t prefers to j, or (iii) there is a critical skill of j’s JTA that is contributed by t0 and cannot be contributed by t. The IP model by Fırat et al. [22] compares to the one developed above as follows. It has the same binary variables representing assignments and critical skills, namely θ and ξ, but it has two more sets of binary variables which are not necessary in the model above. Moreover, our model employs a number of constraints which is significantly lower than the number of constraints in the model by Fırat et al. [22]. To sum up, our IP model uses less constraints and a (strict) subset of the binary variables of the IP model of Fırat et al. [22].

AC

CE

PT

2.2. Stability with regard to groups of technicians We generalize the notion of stability considered in Section 2.1. Note that according to Definition 2 an assignment µ is considered stable if there is no pair of technicians t and t0 such that t can replace t0 in the team of job µ(t0 ). Note that in this case µ may be rather bad with regard to preferences and it may very well be that replacing multiple technicians in the team of job j by other technicians simultaneously yields a proper JTA for j. Hence, we generalize the stability definition as given in Section 2.1 to account for simultaneous replacements of multiple technicians. Given a feasible assignment µ we say that triplet (T 00 , j, T 0 ) blocks µ if • j >t0 µ(t0 ) for each t0 ∈ T 0 ,

• t0 >j t00 for each t0 ∈ T 0 and t00 ∈ T 00 , and • T 0 can replace T 00 in the team of job j.

Definition 3. A feasible assignment µ is stable with regard to sets of technicians if and only if no triplet (T 00 , j, T 0 ) blocks it. Problem: Stable Technician Job Assignment Problem with regard to sets of technicians (STJAP-sets) Instance: 4

ACCEPTED MANUSCRIPT

Set L of skill levels, set S of skill domains, set T of technicians with their skills, and set J of jobs with skill requirements. Strict and complete preferences of technicians (jobs) over jobs (technicians). Question: Does there exist an assignment µ which is stable with regard to sets of technicians? Note that we chose a very restrictive definition of blocking triplets. Arguably, there are many others that can be considered reasonable. However, we will first proof our main result in this section and discuss afterwards how this result carries over to alternative definitions of blocking triplets.

CR IP T

Theorem 4. Deciding whether a feasible assignment is stable with regard to sets of technicians is strongly NP-hard for |J| = 2 and |L| = 1. Proof. We prove the theorem by reduction from Exact Cover by 3-Sets (X3C) which is well-known to be N P -complete in the strong sense [26] and is restated in the following. X3C: Given a set X = {1, . . . , 3q} and a collection C of 3-element subsets of X. Can we find a subset C 0 of C where every element of X occurs in exactly one member of C 0 ? Given an instance I of X3C we construct an instance I 0 of STJAP-setS as follows.

AN US

• We consider set S = {1, . . . , 3q} of skill domains corresponding to elements in X and a single skill level only, that is |L| = 1. • We have |J| = 2 jobs j and j 0 . Job j has a requirement of two technicians for each skill, that is (1,s) (1,s) RQj = 2 for each s ∈ S. Job j 0 has requirement RQj 0 = ns for each s ∈ S where ns is the number of times the sth element of X is contained in an element of C.

M

• We consider a set T = {1, . . . , |C| + 1 + 3q} of technicians. Technician t = 1, . . . , |C| corresponds to the tth element in C and has skill (1, s) if and only if the element in X corresponding to s is in the tth element of C. Technician |C| + 1 has skill (1, s) for each s ∈ S. Finally, technician t = |C| + 2, . . . , |C| + 1 + 3q has skill (1, t − |C| − 1) only.

ED

• Job j 0 prefers each technician in {1, . . . , |C|} to all other technicians. Job j prefers each technician in {|C| + 2, . . . , |C| + 1 + 3q} to all other technicians. Furthermore, j prefers each technician to technician |C| + 1. Each technician prefers j to j 0 . As long as the above is fulfilled the specific preferences can be set arbitrarily.

AC

CE

PT

Now, consider an assignment µ assigning technicians 1, . . . , |C| to job j 0 and technicians |C| + 1, . . . , |C| + 1 + 3q to job j. Clearly, I 0 can be constructed in pseudo-polynomial time. It is furthermore easy to verify that µ is a feasible assignment. We claim that the answer to I 0 is no if and only if the answer to I is yes. First, assume there is a subset C 0 of C where every element of X occurs in exactly one member of C 0 . Then, we can remove technician |C| + 1 from the team of j and replace it by the technicians corresponding to C 0 . Clearly, C 0 can replace {|C| + 1} since the resulting JTA is proper. Furthermore, technicians in C 0 prefer j to j 0 and j prefers each technician in C 0 to technician |C| + 1. Hence, µ is not stable. Second, if µ is not stable, then j must give raise for instability since j 0 has its most preferred technicians assigned. Hence, in a replacement j 0 could not receive technicians it prefers over those it loses unless it does not lose any technician. Then, however the resulting JTA is not proper since there must be idle technicians. A similar argument yields that in a replacement j cannot lose a technician in {|C|+2, . . . , |C|+1+3q} since it prefers them to any other technician. If it does not lose any technician at all, there will be idle technicians in the resulting JTA. Hence, if µ is not stable, then technician |C| + 1 in the team of j is replaced. Furthermore, we can conclude that |C| + 1 must be replaced by a set of technicians T 0 corresponding to a yes-certificate of I. If at least one skill is not covered by T 0 , then the resulting JTA is not skill-feasible. If at least one skill is covered more than once by T 0 , then the resulting JTA is not proper since at least one of technicians |C| + 2, . . . , |C| + 1 + 3q is idle. In order to support an intuitive understanding of the proof we outline an example instance of X3C and the reduction in the following. Consider instance I specified by X = {1, 2, 3, 4, 5, 6} and 5

ACCEPTED MANUSCRIPT

C = {{1, 2, 3}, {2, 3, 4}, {1, 2, 5}, {1, 5, 6}}. It is not hard to see that the answer to I is yes since in C 0 = {{2, 3, 4}, {1, 5, 6}} every element of X occurs in exactly one triple. Now, we construct S = {1, . . . , 6} (1,s) (1,1) (1,2) (1,3) (1,4) (1,5) and set RQj = 2 for each s ∈ S and RQj 0 = 3, RQj 0 = 3, RQj 0 = 2, RQj 0 = 1, RQj 0 = 2, (1,6)

AN US

CR IP T

and RQj 0 = 1. Furthermore, we have T = {1, . . . , 11} with technicians 1, 2, 3, and 4 corresponding to {1, 2, 3}, {2, 3, 4}, {1, 2, 5}, and {1, 5, 6}, respectively, and having the corresponding skill sets. Hence, a team consisting of technicians 1 to 4 assigned to j 0 is a proper JTA. Technician |C| + 1 = 5 has each skill and the remaining technicians 6 to 11 have skill 1 to 6 only, respectively. So, a team consisting of technicians 5 to 11 assigned to j is a proper JTA, as well. Now, only job j would be willing to replace a technician and j is willing to replaceonly technician 5. However, the set of technicians received in exchange need to have each skill exactly once for the resulting JTA to be proper. Hence, the given assignment is not stable if and only if there is a subset of technicians in {1, . . . , 4} having each skill exactly once. The set {2, 4} is such a set. Now we shall come back to the admittedly very restrictive definition of blocking triplets introduced above. Here, a triplet (T 00 , j, T 0 ) qualifies as blocking only if job j prefers each technician t0 , t0 ∈ T 0 , to each technician t00 , t00 ∈ T 00 . Note that the proof of Theorem 4 relies on the fact that technician |C| + 1 is replaced in the team of j. Given the preference structure constructed for I 0 this would be the case for various definitions of blocking triplets. In fact, we yield the same result for example for the alternative definitions where a triplet (T 00 , j, T 0 ) qualifies as blocking only • if job j prefers each of a majority of technicians in T 0 to each of a majority of technicians in T 00 or • if job j prefers at least one technician in T 0 to each technician in T 00 .

PT

3. Related Work

ED

M

Clearly, each of these alternative definitions leads to a generalization of the definition in Section 2.1. We would like to emphasize that Theorem 4 implies a substantial difference between stable workforce assignment as considered in the paper at hand and classic stable many-to-one assignments. As stated in Roth and Sotomayor [31], e.g., in many-to-one assignments stability with regard to individuals (technicians in our setting) implies stability with regard to groups of individuals under the mild assumption of responsive preferences. It is not hard to see that stability of workforce assignment µ (with regard to individual technicians) does not imply stability of µ with regard to sets of technicians. In fact, while determining stability of a given feasible assignment µ can be done in polynomial time (simply by checking for each (t0 , j, t) whether it blocks µ) determining stability of a given feasible assignment with regard to sets of technicians is strongly NP-hard. Therefore, we treat the more restricted version of the problem, namely STJAP, in the remainder of the paper following a bottom-up approach and leaving STJAP-sets for future work.

CE

For each of the fields addressed in Sections 3.1 to 3.3 there is a huge body of literature. Therefore, we restrict ourselves to fundamental concepts extended or employed in this paper. 3.1. Stable assignments

AC

In assignments we have generally two sets, E and F , and members of different sets are matched. In the context of stability, usually preferences of each member of E (F ) over members of F (E) and - possibly - 2F (2E ) are given. There are three prominent notions of stability in the context of assignments, see Sotomayor [33]. An assignment is pairwise-stable if there is no pair (e, f ) ∈ E × F which is not matched in the assignment such that matching e and f (and possibly dissolving some matches they are currently involved in) results in preferred sets of matches for both, e and f . An assignment is said to be core-wise stable if there is no (E 0 , F 0 ) with E 0 ⊆ E and F 0 ⊆ F such that there is an assignment of E 0 and F 0 which implies a preferred set of matches for each member of E 0 ∪ F 0 . Similarly, an assignment is said to be strong core-wise stable if there is no (E 0 , F 0 ) with E 0 ⊆ E and F 0 ⊆ F such that there is an assignment of E 0 and F 0 which implies a weakly preferred set of matches for each member of E 0 ∪ F 0 . Finally, an assignment is said to be set-wise stable if there is no (E 0 , F 0 ) with E 0 ⊆ E and F 0 ⊆ F such that introducing some new matches in E 0 × F 0 (and possibly dissolving some matches members of E 0 ∪ F 0 are currently involved in) results in a preferred 6

ACCEPTED MANUSCRIPT

M

AN US

CR IP T

set of matches for each member of E 0 ∪ F 0 . Note that a set-wise stable assignment is both, pair-wise stable and core-wise stable. In one-to-one assignments the number of matches a member of E ∪ F is involved in is at most one. Gale and Shapley [24] proved that there always exists a set of pairwise-stable marriages by proposing an algorithm so-called “Proposal-Disposal algorithm”. Besides Gale-Shapley’s algorithm, a combinatorial approach has been developed by Vande Vate [35] who described the convex hull of stable marriages with a set linear inequalities, and showed that stable marriages can be found by employing linear optimization algorithms. The basic problem setting of Gale and Shapley [24] is extended in several ways. For instance, the Marriage problem with incomplete preferences and ties in preferences is considered in [28]. For an overview we refer to Iwama and Miyazaki [29]. In many-to-one assignments the number of matches a member of F is involved in is at most one. This generalization of one-to-one assignments is referred to as University Admissions problem, also. Roth and Sotomayor [31] proved that pairwise stability is equivalent to set-wise stability when preferences are responsive. Also, under mild assumptions for preferences set-wise stability is equivalent to corewise-stability, see Roth [30]. Gale and Sotomayor [25] show two basic properties of stable many-to-one assignments; (1) if an applicant is admitted in a stable assignment, then she/he is admitted in each stable assignment, and (2) each university admits the same number of applicants in all stable assignments. By these results, finding one stable admission is enough to see if all universities can fill their quotas in all stable admissions. Based on this fact Fırat et al. [22] reduced the STJAP with a single skill domain, i.e. |S| = 1, to the University Admissions problem with Filled Quotas. A combinatorial approach to find pairwise-stable many-to-one assignments with strict preferences is developed by Ba¨ıou & Balinski [1] that is a cutting plane algorithm employing the Ellipsoid Method. In general assignments, as shown in Sotomayor [33], the strong connection between the three types of stability is lost. This is true in our setting as well. We think of the definitions of stability outlined in Sections 2.1 and 2.2 as somewhat related to strong core-wise stability. Note that E and F correspond to the set of jobs and the set of technicians, respectively. Now, asking whether there is (E 0 , F 0 ) is restricted to |E 0 | = 1 in Section 2.2. In Section 2.1 we furthermore restrict F 0 to contain at most one new job.

AC

CE

PT

ED

3.2. Skilled Workforce Planning with Preferences In a recent literature review about workforce planning, De Bruecker et al. [12] mention that planning of workforce with hierarchical skills is one of the most difficult problems that managers face in companies. The authors also emphasize that different skills that technicians may possess should be taken into account besides their preferences. Considering employee preferences is accepted as a part of the effort to cope with personnel shortages by Bard and Purnomo [2] in order to achieve higher morale, a more attractive work environment, increased flexibility to deal with personal matters, and higher retention rates. In personal scheduling, especially in nurse rostering, worker preferences are requests to work specific shifts or to be given specific days off, and by other rules such as the number of working hours, shift sequence patterns or even nurse to patient ratios, see Brunner et al. [8] for details. The preference type introduced in Fırat et al. [22] can be seen as an aggregated choice of players over the opposite set of players, e.g. a nurse may determine a preference ordering over shifts with respect to day time or the hospital where it will be conducted. Burke et al. [10] specify the necessary properties of an automated schedule generation as flexibility, considering personal preferences, patient satisfaction, and human effort. To the best our knowledge, Fırat et al. [22] firstly consider worker preferences (over jobs) while processing a task requiring hierarchical skills, and analyze the complexity of finding stable workforce assignments. The authors present an IP model to find stable assignments, and conclude that stable assignments for small problem instance sizes can constructed by solving the proposed IP model. 3.3. Column generation and Branch-and-Price Column Generation (CG) was first introduced independently by Gilmore and Gomory [27] and Dantzig and Wolfe [11]. A common and efficient way to tackle complex problems is to reformulate them with set covering, set partitioning, or set packing structure in which the combinatorial objects are non-trivial items, like teams of jobs in scheduling, routes of vehicles in vehicle routing, and so on. These reformulations have in general exponential number of variables, and it is not realistic to construct all of them at the beginning. CG is a method to solve these reformulations by starting with a (possibly empty) subset of variables, and iteratively 7

ACCEPTED MANUSCRIPT

CR IP T

adding variables that are promising to improve the current objective value. The problem of finding promising variables is called pricing sub-problem. The optimality is proven when no promising variable exists. CG is used in a wide range of applications in Operations Research, like machine scheduling [34], traveling salesman problem [16], vehicle routing problem [17, 32], airline crew scheduling [5], and resource-constrained project scheduling [7]. We refer to Desrosiers and L¨ ubbecke [18] for an involved introduction to the CG. Branch-and-Bound search is a standard method to solve NP-hard problems. B&P refers to a Branchand-Bound algorithm where the subproblem corresponding to the nodes are solved by using CG. We refer to Barnhart et al. [4] for an introduction to this technique. In the last two decades, B&P has been employed in numerous papers concerning various fields of application, e.g. machine scheduling in Bard and Rojanasoonthon [3], lot sizing in Degraeve and Jans [15], vehicle routing in Feillet [21], rostering in Brunner et al. [9], and sports league scheduling in Briskorn and Drexl [6]. 4. Branch-and-Price Approach to STJAP

AN US

In this section, we present a B&P algorithm to solve STJAP efficiently. Recall that triple (t0 , j, t) can qualify as blocking triple only if t >j t0 which is independent from the assignment under consideration. Consequently, we use such triples, namely potentially blocking triples, as central components of our models and the B&P algorithm. We use B to denote the set of potentially blocking triples. In the following we present a model reformulation suited for B&P, that is a model for the master problem and a model for the pricing problem, in Section 4.1. Furthermore, we detail the branching strategy and the bounding used in Section 4.2. 4.1. Model Reformulation

ED

M

The basic idea is to have a model formulation where each variable corresponds to a proper JTA. The problem, then, is to choose a set of proper JTAs such that the chosen JTAs constitute a stable assignment. The pricing problem is to generate promising JTAs to be added to this model. In the following we first present the master problem formulation and the pricing problem formulation afterwards. Our master model has only one type of binary decision variable, that is xτj indicating whether proper JTA (j, τj ) with team τj assigned to job j is selected. We denote by Tj the set of proper JTAs of job j. τ Parameter γt0j,t equals 1 if t can replace t0 in τj , 0 otherwise. (M P )

Min

X

PT CE X

tj

(j 0 ,τj 0 )∈Tj 0 ,t∈τj 0

X

(j,τj )∈Tj

X

j∈J (j,τj )∈Tj ,t∈τj

xτj0 −

X

(j,τj )∈Tj

(9)

τ

xτj = 1 ∀j ∈ J

(10)

x τj ≤ 1

∀t ∈ T

(11)

∀(t0 , j, t) ∈ B

(12)

γt0j,t xτj ≥ 0

xτj ∈ {0, 1} ∀j ∈ J, (j, τj ) ∈ Tj

AC

j 0 ∈J,j 0 >

X

w τj x τj

j∈J (j,τj )∈Tj

subject to

X

X

(13)

The master problem formulation is given by (9) to (13). Constraints (10) and (11) ensure a feasible assignment. Constraints (12) prevent blocking triples. In order to have a formally feasible solution to start the CG process we introduce an artificial column at the beginning. This column has a value of 1 in each row and, hence, selecting this artificial column only is a formally feasible solution to M P . Of course, this column has to be replaced by non-artificial JTAs in the course of the CG process. In order to drive the mechanism to do so we introduce cost 1 for the artificial column and cost wτj = 0 for non-artificial JTA (j, τj ) and formulate the objective to minimize total cost of chosen JTAs. The number of variables in M P is exponential in the instance size and, hence, incorporating all of them is not an option. Instead, we solve the LP relaxation of M P with a restricted number of variables, also called Restricted Master Problem (RM P ), using CG. Starting with a subset of JTAs we find the optimum 8

ACCEPTED MANUSCRIPT

solution. Then, based on this optimum solution we generate more JTAs having negative reduced cost, add them and resolve RM P . This procedure iterates until no JTA with negative reduced cost exists. Given an optimal solution x∗ to RM P , dual variables (π ∗ , α∗ , β ∗ ) are associated with constraints (10) to (12) in the respective order. Then, the reduced cost of any proper JTA (j, τj ) ∈ Tj is given as

with

X

wj,t +

t∈τj

wj,t = −αt∗ −

X

τ

∗ γt0j,t β(t 0 ,j,t)

(t0 ,j,t)∈B

X

(t0 ,j 0 ,t)∈B,j 0 <

∗ β(t 0 ,j 0 ,t) .

CR IP T

= −πj∗ +

w τj

tj

AN US

Naturally, the problem to find a JTA with minimum reduced cost decomposes into job-dependent problems to find the team for a certain job such that the resulting JTA has minimum reduced cost. We formulate this problem, namely P Pj , as a Mixed Integer Programming (MIP) model using binary variable yj,t indicating whether t is selected for the team or not. Moreover, binary decision variable c(l,s) for each skill (l, s) indicates whether a skill is critical for the selected team. Finally, the continuous variable κ(t0 ,j,t) becomes 1 if t can replace t0 in the team of j and 0 otherwise (see Table 1 for an overview of notation). Table 1: Decision variables in the pricing problem

Binary Variables

is 1 if t is in the team of j, 0 otherwise is 1 if skill (l, s) is critical, 0 otherwise is 1 if t can replace t0 in j’s team, 0 otherwise

X



M

yj,t c(l,s) κ(t0 ,j,t)

min −πj∗ +

(P Pj )

t∈T

wj,t yj,t +

X

(t0 ,j,t)∈B

ED

subject to:   X   (l,s) (l,s) 1 − c(l,s) ≤ Skt yj,t − RQj ≤ |T | 1 − c(l,s) ,

PT

t∈T

(l,s)∈N (j,t)

X

(l,s)∈N (j,t0 )\N (j,t)

c(l,s) ≥ yj,t ,

c(l,s) ≤ κ(t0 ,j,t) , κ(t0 ,j,t) ≥ 0,

(l,s)

c

, yj,t ∈ {0, 1},

AC

CE

yj,t0 − yj,t −

X



∗  β(t 0 ,j,t) κ(t0 ,j,t)

∗(l,s)

∀(l, s) : RQj

(14)

>0

∀t ∈ T ∀(t0 , j, t) ∈ B ∀(t0 , j, t) ∈ B

∀(l, s) ∈ L × S, t ∈ T

(15) (16) (17) (18) (19)

The objective function (14) represents the goal to minimize reduced cost. Note that −πj∗ is a constant in P Pj . Constraints (15) and (16) ensure that the JTA is proper besides determining the critical skills. Finally, inequalities (17) are used to determine the values of κ variables. Note that κ(t,j,t0 ) is defined to be continuous in constraints (18). However, in optimum solutions κ(t0 ,j,t) takes the smallest value not violating ∗ (17) or (18) since β(t,j,t 0 ) is non-negative. Constraint (17) imposes a lower bound of 1 or a non-positive value on κ(t0 ,j,t) and, therefore, κ(t0 ,j,t) takes value 0 or 1. Note that in an optimum solution the team of j is not necessarily assembled from the most preferred technicians. However, the implications on stability of the resulting assignment when choosing less preferred ∗ technicians is reflected by β(t 0 ,j,t) κ(t0 ,j,t) . It is not hard to see that the pricing problem is NP-hard, since it generalizes the Set Covering Problem, see Garey and Johnson [26]. 9

ACCEPTED MANUSCRIPT

4.2. Bounding and Branching 4.2.1. Bounding Bounding is rather trivial in our case. To obtain an arbitrary stable assignment we aim at finding a feasible solution to M P with total cost of zero. Since proper JTAs have cost of zero and the artificial variable has cost 1, we can prune the sub-tree corresponding to a node in which the optimum objective value is strictly positive. Then, no stable assignment can be found in the corresponding sub-tree.

CR IP T

4.2.2. Branching Branching is done by splitting the search space into two parts by “fix technician t to job j” and “ban technician t from job j”. This branching strategy bears the advantage that it can be implemented rather easily by fixing variables in the pricing problems. “Fix technician t to job j” can be applied by fixing yj,t = 1 and yj 0 ,t = 0 for each j 0 6= j. “Ban technician t from job j” is implemented by fixing yj,t = 0. In the remainder of this section, we outline how a technician-job pair is selected for branching and how we modify both models depending on the branching decisions in order to reduce run times.

AN US

Choosing the technician-job pair for branching. Given an optimum solution x∗ to the LP relaxation of M P in the current node a pair (t, j) of technician and job is a candidate for branching if (t, j) has not been branched on. For such a candidate pair (t, j), we consider P • the assignment value according to x∗ , that is Y(t,j) = (j,τj )∈Tj ,t∈τj x∗τj , and • the number k(t,j) of triples in B that cannot block any assignment if t is fixed to j

The score Y(t,j) k(t,j) reflects the attractiveness of assigning t to j. Ultimately, the candidate pair with highest score is chosen for branching. Effect of branching decisions. Aside from the mere implementation of the branching decision we take two other types of modification of the models into account. 1. Branching decisions leave some potentially blocking triples harmless in the resulting subproblem.

ED

M

• If we “fix technician t to job j”, then no triple (t0 , j, t) ∈ B, and (t0 , j 0 , t) ∈ B with j 0
CE

PT

Consequently, these potentially blocking triples are dropped from B which reduces the numbers of constraints and variables to be considered. 2. Moreover, consider a triple (t0 , j, t) ∈ B such that t prefers job j most among the jobs he is not banned from. Since any team of j in which t can replace t0 leads to instability, we take two actions in order to avoid constructing such JTAs in the pricing problem P Pj : First, we fix κ(t0 ,j,t) = 0 in P Pj . Second, if t possesses all contributing skills of t0 to j, i.e. N (j, t0 ) \ N (j, t) = ∅, we add the constraint yj,t0 ≤ yj,t to P Pj . 5. Computational experimentation

AC

5.1. Benchmark Methods In our experimentation, we compare three methods to solve STJAP. • B&P: Branch-and-Price approach presented in Section 4. • MOD: Finding stable workforce assignments by solving the IP model of linear inequalities (3)-(8). In preliminary tests using this IP proved to be more efficient than using the IP presented in Fırat et al. [22]. • SEP: Finding stable workforce assignments by Separation. First, an assignment is found by solving the IP model (3)-(5) and (7)-(8) without stability constraints associated with potentially blocking triples (6). We then check the set of potentially blocking triples for actually blocking triples. If there are any blocking triples in the assignment, stability cuts of these blocking triples are added. This procedure is repeated until either a stable assignment is found or it is proven that there is none. 10

ACCEPTED MANUSCRIPT

5.2. Instance generation

ν (l,s) = X

j∈J

(l,s) Skt

t∈T



XX

∗(l0 ,s)

RQj

,

CR IP T

We restrict our experimentation to instances that allow a feasible assignment since our focus is on stability. We derive those instances from France Telecom (FT) scheduling problem instances (described in Dutot et al. [19] and studied by Fırat and Hurkens [23]). The FT scheduling problem asks for a feasible (workforce) assignment for each of a sequence of workdays. Given such a schedule (derived by the method presented in Fırat and Hurkens [23]) we have a set of technicians (with skills) employed at each workday and a set of jobs (with skill requirements) done at each workday. It remains to detail how this data is enriched by preferences. We derive a value for each skill which is defined as the ratio of the demand for that skill to the number of technicians possessing that skill. Formally, it is given by X ∗(l,s) RQj (l, s) ∈ L × S.

l0 >l j∈J

(20)

M

AN US

In (20), the numerator gives the demand for (l, s) straightforwardly. The denominator gives the capacity for skill (l, s) or higher level of domain s reduced by the demand for higher levels of s. Using values of skills a score is derived for each technician and each job. The score of a job is the sum of P ∗(l,s) values of the skills required by that job, that is (l,s) ν (l,s) RQj , and the score of a technician is the sum P (l,s) (l,s) of values of the skills he is qualified for, that is (l,s) ν Skt . Then, we consider a unique preference ordering of jobs and a unique preference ordering of technicians, both in non-increasing order of their scores. We generate three groups of instances, each containing instances with similar size. The instance sizes increase from Group 1 to Group 3. Details are outlined in Table 2. The first two columns, with labels “Set” and “#”, list the name of used FT scheduling instance (see Dutot et al. [19]) and the number of instances in the corresponding set, respectively. The following columns, that are labeled with “|T |”, “|J|”, “|S|”, and “|L|”, list the range of numbers of technicians, jobs, skill domains and skill levels, respectively.

Table 2: Generated STJAP Instances

Set B1 B6 X6 X8 B2 B3 X7 X3 X5 X2

ED

Group 1

Group 3

|T | 15-20 25-30 15-20 25-30 25-30 30-40 35-40 40-50 55-60 75-90

AC

CE

PT

Group 2

# 251 511 735 471 290 128 118 311 170 92

|J| 5-10 5-10 10-15 5-10 10-15 10-15 10-15 10-18 10-15 30-40

|S| 4 8 6 15 5 4 15 20 15 6

|L| 4 3 6 7 3 4 4 3 4 6

5.3. Results

We implemented all methods in JAVA, and used CPLEX 12.1 to solve all IP and MIP models. The experimentation is conducted using a computer with Intel Core 2 Duo 2.7 GHz Processor, and 8 GB RAM. A time limit is determined for every instance group. If an algorithm cannot solve an instance within the specified time limit, then it is marked as unsolved. In a series of experiments the time limits for every instance group are increased in order to observe how this effects the percentage of solved instances for benchmark algorithms. We report the results in two ways. First, we outline the percentage of solved instance for the three benchmark algorithms in Section 5.3.1 and, second, we provide performance profiles in Section 5.3.2 following the idea of Dolan and More [13].

11

ACCEPTED MANUSCRIPT

5.3.1. Percentage of solved instances Figures 1, 2, and 3 show the percentage of solved instances in Group 1, 2, and 3, respectively, for the three benchmark algorithms depending on the actual time limit. As shown in Figure 1, SEP solves a higher fraction of instances of Group 1 for the smallest time limits and is slightly superior to B&P. The reason of this may be that the number of triples is not high in small-size instances. Hence, we do not need many iterations applying triple cuts in order to reach a stable assignment or prove that there is none. We can see however, that allowing higher run times B&P is competitive or even superior to SEP and MOD.

90

80

80

70 60 50

MOD

40 30

SEP

20 10 0.5

1

1.5

2

2.5

70 60 50 40 30 20 10

BXP

0

FT Instance B6

CR IP T

100

90

Solved instances (&)

Solved instances (&)

FT Instance B1 100

0 1

3

1.5

2

FT Instance X6

3

3.5

4

Time limit (secs.)

FT Instance X8

100

100

90

90

80

Solved instances (&)

80

Solved instances (&)

2.5

AN US

Time limit (secs.)

70 60 50 40 30 20

70 60 50 40

30 20 10

0 0.05

0.25

0.45

0.65

M

10 0.85

0 0.5

1

Time limit (secs.)

1.5

2

2.5

3

Time limit (secs.)

ED

Figure 1: Percentage of solved instances of Group 1

AC

CE

PT

The results for instances of Group 2 show that B&P solves more than 90% of the instances within 40 seconds, whereas the other two methods have significantly lower success rates. For example, in instance set “X7” B&P solves around 95% of instances within 20 seconds, but the percentages are 26% and 16% for SEP and MOD respectively. Still, we see that SEP is clearly superior to MOD. B&P outperforms SEP, in particular, for small run time limits as opposed to Group 1. This may be due to larger instances needing more cuts generated by SEP. So, the IP has to be solved more often with an increasing number of constraints even. Since MOD could solve only few instances of Group 3, we decided to show the results of SEP and B&P only for this instance group. The percentages in Figure 3 show that B&P solves a high ratio of instances in Group 3 within a minute. However, SEP can solve less than 20% of the instances. 5.3.2. Performance profiles Dolan and More [13] propose performance profiles to compare benchmark algorithms. Given a set I of problem instances, performance of a set A algorithms is found by computing performance ratio ri,a for each instance i and algorithm a as ri,a =

ti,a min{ti,a | a ∈ A}

where ti,a is the runtime required by a to solve i. We set a time limit of the maximum time limit employed in Section 5.3.1 for the respective group. If a cannot solve i within this time limit, we set ti,a to the time limit. The overall performance ρa (t) of an algorithm on a set of instances is defined as

12

ACCEPTED MANUSCRIPT

FT Instance B2

90

80

80

70 60 50

MOD

40 30

SEP

20 10

0 3

4

5

6

7

8

9

70 60 50 40

30 20 10

BXP 2

FT Instance B3

100

90

Solved instances (&)

Solved instances (&)

100

0 10

10

15

20

80

Solved instances (&)

Solved instances (&)

90

80 70 60 50 40 30 20 10

70 60 50 40 30 20 10

9

11

13

15

17

19

AN US

0

0 7

35

40

FT Instance X3

100

90

5

30

CR IP T

FT Instance X7

100

25

Time limit (secs.)

Time limit (secs.)

3

5

7

9

11

13

15

Time limit (secs.)

Time limit (secs.)

Figure 2: Percentage of solved instances of Group 2

FT Instance X2

100

90

60

30 45 60 75

40 30 20 10

SEP B&P 2.173913 59.78261 2.173913 75 2.173913 82.6087 2.173913 83.69565

0 30

40

SEP

ED

50

M

70

50

60

B&P

Solved instances (%)

80

80

Solved instances (%)

FT Instance X5

100

90

70 60 50 40 30 20

10 0 15

70

25

35

Time limit (secs.)

45

55

Time limit (secs.)

CE

PT

Figure 3: Ratios of solved Group 3 instances with increasing time limits

ρa (t) =

1 |{i ∈ I | ri,a ≤ t}|. |I|

AC

So, we can interpret ρa (t) as the probability that algorithm a solving an arbitrary instance i ∈ I has a runtime within a factor of t ∈ R compared to the runtime of the fastest algorithm in A. Consequently, the value of ρa (1) is the probability that the algorithm a will be among the fastest algorithms for arbitrary i ∈ I. In Figures 4 to 6 performance profiles of the three benchmark algorithms are given for all instance groups. For Group 1, profiles of SEP and B&P are similar with ρB&P (1) = 0.72 and ρSEP (1) = 0.75. Both are clearly superior to MOD. Regarding Group 2, B&P with ρB&P (1) = 0.78 dominates SEP which in turn dominates MOD. The domination of B&P becomes even more clear for Group 3 with ρB&P (1) = 0.93. 6. Conclusions and further directions In this paper we extend the work of Fırat et al. [22] into two directions. First, we consider a stronger notion of stability compared to the one introduced by the authors. We show, that the problem becomes significantly harder to tackle since checking stability for a given feasible assignment is strongly NP-hard. 13

ACCEPTED MANUSCRIPT

Instance Group 1 1

0.9

MOD

0.8

SEP

B&P

0.7

ρa(t)

0.6 0.5 0.4

CR IP T

0.3 0.2 0.1 0

1

1.25

1.5

2

3

4

5

10

25

50

100

t (Performance ratio)

AN US

Figure 4: Performance profiles for Group 1

Instance Group 2 1 0.9 0.8

MOD

0.7

ρa(t)

0.6

0.5

B&P

M

0.4

SEP

0.3 0.2 0.1 0 1.25

1.5

2

ED

1

3

4

5

10

25

50

100

1000

10000

t (Performance ratio)

PT

Figure 5: Performance profiles for Group 2

CE

Instance Group 3

1

0.9 0.8

MOD

SEP

B&P

0.6

ρa(t)

AC

0.7

0.5

0.4 0.3 0.2

0.1 0 1

1.25

1.5

2

3

4

5

10

25

50

100

1000

10000

t (Performance ratio)

Figure 6: Performance profiles for Group 3

14

ACCEPTED MANUSCRIPT

AN US

CR IP T

Second, we develop a new IP model and a B&P approach to the STJAP with hierarchical skill levels. The IP model is more compact than the existing one and we employ the concept of potentially blocking triples to formulate it. Potentially blocking triples play an important role in the model formulations used in the B&P approach also. The pricing problem in the CG procedure is to find a suitable team for a job while the master problem is to choose a set of JTAs constituting a stable assignment. The pricing problem is NP-Hard in the strong sense which is why we solve it using Cplex. As outlined in Section 4.2, the proposed B&P approach achieves significant computational efficiency by propagating the additional information yielded by branching decisions. Again, potentially blocking triples are substantial for the propagation techniques used. Computational experimentation in Section 5 shows that more than 80% of the problem instances with 75−90 technicians, and 35 − 40 jobs are solved in one minute, while Fırat et al. [22] report that problem instances with 20 technicians and 15 jobs are solved in 10 minutes. This improvement may partially due to a more up to date hardware used in the paper at hand. Nevertheless it is still obvious that the B&P approach outperforms Cplex as can be seen in the computational study where a more compact IP model is used. There are several interesting questions to be considered in future research. First, technicians may have preferences over each other analogous to the Stable Roommate problem, that is each technician prefers working with some technicians to working with other technicians. Stability, then, would need to cover how happy technicians are with their teams. Second, extensions of STJAP with respect to the existing preferences may be considered, e.g. ties in preferences and incomplete preferences. Third, preferences may be determined based on real world settings. Preference structures may depend on the industry sector, cultural differences of people and so on. Finally, STJAP-sets as defined in Section 2.2 may be tackled. Here, it will be particularly interesting whether the B&P approach developed in the paper at hand can be adopted. Acknowledgments. This research has been supported by France Telecom under the project TOOS R2O with reference number PJ00002062. References

M

[1] Ba¨ıou M., & Balinski M., (2000). The stable admissions polytope. Mathematical Programming, 87, 427-439.

ED

[2] Bard J. F., & Purnomo H., W., (2005). A column generation-based approach to solve the preference scheduling problem for nurses with downgrading. Socio-Economic Planning Sciences, 39, 193-213.

PT

[3] Bard J. F., & Rojanasoonthon S., (2006). A Branch-and-Price Algorithm for parallel machine scheduling with time windows and job priorities. Naval Research Logistics, 53, 24-44. [4] Barnhart, C., Johnson E. L., Nemhauser G. L., Savelsbergh M. W. P., & Vance P. H., (1998). Branchand-price: column generation for solving huge integer programs. Operations Research, 46, 316-329.

CE

[5] Bornd¨orfer R., Schelten U., Schlechte T., & Steffen W., (2005). A column generation approach to airline crew scheduling. Operations Research Proceedings, 343-348.

AC

[6] Briskorn D., & Drexl A., (2009). Scheduling sport leagues using Branch-and-Price. Journal of the Operational Research Society, 60, 84-93. [7] Brucker P., & Knust S., (2003). Lower Bounds for resource-constrained project scheduling problems. European Journal of Operational Research, 149, 302-313. [8] Brunner J. O., Bard J. F., & K¨ ohler J. M., (2013). Bounded flexibility in days-on and days-off scheduling. Naval Research Logistics, 60, 678-701. [9] Brunner J. O., Bard J. F., & Kolisch R., (2011). Midterm scheduling of physicians with flexible shifts using Branch-and-Price. IIE Transactions, 43, 84-109. [10] Burke E. K., De Causmaecker P., Vanden Berghe G., & Van Landeghem H. (2004). The state of the art of nurse rostering. Journal of Scheduling, 7, 441499.

15

ACCEPTED MANUSCRIPT

[11] Dantzig G.B., & Wolfe P., (1960). Decomposition principle for linear programs. Operations Research, 8, 101-111. [12] De Bruecker P., Van den Bergh J., Belin J., (2015). Workforce planning incorporating skills: State of the art. European Journal of Operational Research, 243, 1-16. [13] Dolan E., D., & More J., J. (2002). Benchmarking optimization software with performance profiles, Mathematical Programming, 91, 201-213.

CR IP T

[14] van den Berg J., Belin J., de Bruecker P., Demeulemeester E., & de Boeck L., (2013). Personnel scheduling: A literature review. European Journal of Operational Research, 226, 367-385. [15] Degraeve Z., & Jans R. (2007). A new Dantzig-Wolfe reformulation and Branch-and-Price algorithm for the capacitated Lot-Sizing problem with setup times. Operations Research, 55, 909-920. [16] Desrosiers J., Soumis F., & Desrochers M., (1984). Routing with time windows by column generation. Networks, 14, 545-565. [17] Desrochers M., Desrosiers J., & Solomon M., (1991). A new optimization algorithm for the vehicle routing problem with time windows. Operations Research, 40, 342-354.

AN US

[18] Desrosiers J. & L¨ ubbecke M., (2005). A primer in column generation. In G. Desaulniers, J. Desrosiers, M. M.Solomon (Eds.), Column Generation(pp. 1-32), New York: Springer US. [19] Dutot P., Laugier A., & Bustos A., (2006). Technicians and interventions scheduling for telecommunications. Problem description of ROADEF 2007 Challange. [20] Echenique F., Oviedo J.,(2006). A theory of stability in many-to-many matching markets. Theory of Economics 1, 2 , 233273.

M

[21] Feillet D., (2010). A tutorial on column generation and branch-and-price for vehicle routing problems. 4OR, 8, 407-424.

ED

[22] Fırat M., Hurkens C.A.J., & Laugier A., (2012). Stable multi-skill workforce assignments. Annals of Operations Research, 213, 95-114. [23] Fırat M., & Hurkens C.A.J., (2012). An improved MIP-based approach for a multi-skill workforce scheduling problem. Journal of Scheduling, 15, 363-380.

PT

[24] Gale D., & Shapley L.S., (1962). College admissions and the stability of marriage. The American Mathematical Monthly, 69, 9-15.

CE

[25] Gale D., & Sotomayor M., (1985). Some remarks on the stable matching problem. Discrete Applied Mathematics, 11, 223-232. [26] Garey M. R.,& Johnson D. S. 1979, “Computers and intractability: A guide to the theory of NPcompleteness”. New York, Freeman.

AC

[27] Gilmore P.C. & Gomory R.E., (1961). A linear programming approach to the cutting-stock problem. Operations Research, 9, 849-859.

[28] Iwama K., Manlove D.F., Miyazaki S., & Morita Y., (1999). Stable marriage with incomplete lists and ties. Lecture Notes in Computer Science, 1644, 443-452. [29] Iwama K.,& Miyazaki S., (2008). A survey of the stable marriage problem and its variants. In Proceedings of the International Conference on Informatics Education and Research for Knowledge-Circulating Society, Kyoto, Japan, 17 January 2008; IEEE Computer Society: Washington, DC, USA, 2008, pp. 131-136. [30] Roth A. E., (1984). Stability and polarization of interest in job matching, Econometrica, 53, 47-57.

16

ACCEPTED MANUSCRIPT

[31] Roth A. E. & Sotomayor M. A. O., (1990). Two-sided matching: A study in game-theoretic modeling and analysis, Cambridge University Press. [32] Sol M., (1995). Column generation techniques for pickup and delivery problems. PhD Thesis, Eindhoven: Eindhoven University of Technology. [33] Sotomayor M., (1999). Three remarks on the many-to-many stable matching problem Mathematical Social Sciences, 38, 55-70.

CR IP T

[34] van den Akker J.M., Hoogeveen J.A., & van de Velde S.L., (2005). Applying column generation to machine scheduling. In G. Desaulniers, J. Desrosiers, M. M.Solomon (Eds.), Column Generation(pp. 303-330), New York: Springer US.

AC

CE

PT

ED

M

AN US

[35] Vande Vate J.H., (1989). Linear programming brings marital bliss. OR Letters, 8, 147-153.

17