Log in

A two-stage partial fixing approach for solving the residency block scheduling problem

  • Published:
Health Care Management Science Aims and scope Submit manuscript

Abstract

We consider constructing feasible annual block schedules for residents in a medical training program. We must satisfy coverage requirements to guarantee an acceptable staffing level for different services in the hospital as well as education requirements to ensure residents receive appropriate training to pursue their individual (sub-)specialty interests. The complex requirement structure makes this resident block scheduling problem a complicated combinatorial optimization problem. Solving a conventional integer program formulation for certain practical instances directly using traditional solution techniques will result in unacceptably slow performance. To address this, we propose a partial fixing approach, which completes the schedule construction iteratively through two sequential stages. The first stage focuses on the resident assignments for a small set of predetermined services through solving a much smaller and easier problem relaxation, while the second stage completes the rest of the schedule construction after fixing those assignments specified by the first stage’s solution. We develop cut generation mechanisms to prune off the bad decisions made by the first stage if infeasibility arises in the second stage. We additionally propose a network-based model to assist us with an effective service selection for the first stage to work on the corresponding resident assignments to achieve an efficient and robust performance of the proposed two-stage iterative approach. Experiments using real-world inputs from our clinical collaborator show that our approach can speed up the schedule construction at least 5 times for all instances and even over 100 times for some huge-size instances compared to applying traditional techniques directly.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Algorithm 1
Fig. 3
Fig. 4

Similar content being viewed by others

References

  1. Adamuthe AC, Bichkar R (2011) Hybrid genetic algorithmic approaches for personnel timetabling and scheduling problems in healthcare. In: International conference on technology systems and management

  2. Aickelin U, Burke EK, Li J (2008) An evolutionary squeaky wheel optimization approach to personnel scheduling. IEEE Trans Evolution Computat 13(2):433–443

    Article  Google Scholar 

  3. Aickelin U, Dowsland KA (2004) An indirect genetic algorithm for a nurse-scheduling problem. Comput Oper Res 31(5):761–778

    Article  Google Scholar 

  4. Arasu A, Novak J, Tomkins A, Tomlin J (2002) Pagerank computation and the structure of the web: Experiments and algorithms. In: Proceedings of the eleventh international world wide web conference, poster track, pp 107–117

  5. Azaiez MN, Al Sharif S (2005) A 0-1 goal programming model for nurse scheduling. Comput Oper Res 32(3):491–507

    Article  Google Scholar 

  6. Balas E, Jeroslow R (1972) Canonical cuts on the unit hypercube. SIAM J Appl Math 23 (1):61–69

    Article  Google Scholar 

  7. Bard JF, Shu Z, Morrice DJ, Leykum LK (2017) Constructing block schedules for internal medicine residents. IISE Trans Healthcare Syst Eng 7(1):1–14

    Article  Google Scholar 

  8. Bard JF, Shu Z, Morrice DJ, Leykum LK, Poursani R (2016) Annual block scheduling for family medicine residency programs with continuity clinic considerations. IIE Trans 48(9):797–811

    Article  Google Scholar 

  9. Belien J, Demeulemeester E (2006) Scheduling trainees at a hospital department using a branch-and-price approach. European J Oper Res 175(1):258–278

    Article  Google Scholar 

  10. Beliën J, Demeulemeester E (2007) On the trade-off between staff-decomposed and activity-decomposed column generation for a staff scheduling problem. Ann Oper Res 155(1):143–166

    Article  Google Scholar 

  11. Berrada I, Ferland JA, Michelon P (1996) A multi-objective approach to nurse scheduling with both hard and soft constraints. Socio Econ Plan Sci 30(3):183–193

    Article  Google Scholar 

  12. Brin S, Page L (1998) The anatomy of a large-scale hypertextual web search engine. Computer networks and ISDN systems 30 (1-7):107–117

    Article  Google Scholar 

  13. Brunner JO, Edenharter GM (2011) Long term staff scheduling of physicians with different experience levels in hospitals using column generation. Health Care Manag Sci 14(2):189–202

    Article  Google Scholar 

  14. Brusco MJ (1998) Solving personnel tour scheduling problems using the dual all-integer cutting plane. IIE Trans 30(9):835–844

    Article  Google Scholar 

  15. Chan P, Heus K, Weil G (1998) Nurse scheduling with global constraints in chip: gymnaste. In: Proc of practical application of constraint technology (PACT98), London, UK

  16. Cheng BMW, Lee JHM, Wu JCK (1997) A nurse rostering system using constraint programming and redundant modeling. IEEE Trans Inf Technol Biomed 1(1):44–54. https://doi.org/10.1109/4233.594027

    Article  Google Scholar 

  17. Chinneck JW, Dravnieks EW (1991) Locating minimal infeasible constraint sets in linear programs. ORSA J Comput 3(2):157–168

    Article  Google Scholar 

  18. Cohn A, Root S, Kymissis C, Esses J, Westmoreland N (2009) Scheduling medical residents at boston university school of medicine. Interfaces 39(3):186–195

    Article  Google Scholar 

  19. Detienne B, Péridy L, Pinson É, Rivreau D (2009) Cut generation for an employee timetabling problem. Eur J Oper Res 197(3):1178–1184

    Article  Google Scholar 

  20. Franz LS, Miller JL (1993) Scheduling medical residents to rotations: solving the large-scale multiperiod staff assignment problem. Oper Res 41(2):269–279

    Article  Google Scholar 

  21. Gleeson J, Ryan J (1990) Identifying minimally infeasible subsystems of inequalities. ORSA J Comput 2(1):61–63

    Article  Google Scholar 

  22. Guieu O, Chinneck JW (1999) Analyzing infeasible mixed-integer and integer linear programs. Inf J Comput 11(1):63–77

    Article  Google Scholar 

  23. Güler MG, İdi K, Güler EY et al (2013) A goal programming model for scheduling residents in an anesthesia and reanimation department. Expert Syst Appl 40(6):2117–2126

    Article  Google Scholar 

  24. Guo J, Morrison DR, Jacobson SH, Jokela JA (2014) Complexity results for the basic residency scheduling problem. J Sched 17(3):211–223

    Article  Google Scholar 

  25. Guyon O, Lemaire P, Pinson É, Rivreau D (2010) Cut generation for an integrated employee timetabling and production scheduling problem. Eur J Oper Res 201(2):557–567

    Article  Google Scholar 

  26. Jaumard B, Semet F, Vovor T (1998) A generalized linear programming model for nurse scheduling. European J Oper Res 107(1):1–18

    Article  Google Scholar 

  27. Kim K, Mehrotra S (2015) A two-stage stochastic integer programming approach to integrated staffing and scheduling with application to nurse management. Oper Res 63(6):1431–1451

    Article  Google Scholar 

  28. Leksakul K, Phetsawat S (2014) Nurse scheduling using genetic algorithm. Math Probl Eng, vol 2014

  29. Maenhout B, Vanhoucke M (2010) Branching strategies in a branch-and-price approach for a multiple objective nurse scheduling problem. J Sched 13(1):77–93

    Article  Google Scholar 

  30. Miller HE, Pierskalla WP, Rath GJ (1976) Nurse scheduling using mathematical programming. Oper Res 24(5):857–870

    Article  Google Scholar 

  31. Rahimian E, Akartunalı K, Levine J (2017) A hybrid integer and constraint programming approach to solve nurse rostering problems. Comput Oper Res 82:83–94

    Article  Google Scholar 

  32. Sherali HD, Ramahi MH, Saifee QJ (2002) Hospital resident scheduling problem. Prod Plan Control 13(2):220–233

    Article  Google Scholar 

  33. Syberfeldt A, Andersson M, Ng A, Bengtsson V (2015) Multi-objective evolutionary optimization of personnel scheduling. Int J Artif Intell Appl 6(1):41–52

    Google Scholar 

  34. Tamiz M, Mardle SJ, Jones DF (1996) Detecting iis in infeasible linear programmes using techniques from goal programming. Comput Oper Res 23(2):113–119

    Article  Google Scholar 

  35. Topaloglu S, Ozkarahan I (2011) A constraint programming-based solution approach for medical resident scheduling problems. Comput Oper Res 38(1):246–255

    Article  Google Scholar 

  36. Trilling L, Guinet A, Le Magny D (2006) Nurse scheduling using integer linear programming and constraint programming. IFAC Proc 39(3):671–676

    Article  Google Scholar 

  37. Weil G, Heus K, Francois P, Poujade M (1995) Constraint programming for nurse scheduling. IEEE Eng Med Bio Mag 14(4):417–422

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amy Cohn.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: The design of the objective function and auxiliary constraints in the first stage formulation

The objective function and the auxiliary constraints we propose to incorporate into the formulation of the first stage (i.e., Eq. (SG1)) are described in the following two sub-sections. Then, the resulted, complete first stage formulation is sketched at the end.

Note that both the objective function and the auxiliary constraints presented below are derived based on the initial partitioning of the linear system Axb, i.e., prior to the very first iteration of the proposed two-stage solution process, and will remain unchanged and simply be applied to all iterations afterwards. In theory, it would be ideal to update them accordingly as additional coverage constraints will be brought back to the first stage (i.e., based on the new partitioning) as the solution process proceeds. Such dynamic updates should be straightforward given our proposed design below, and we leave this extension for future exploration.

1.1 A.1 The objective function

We design an objective function f(x) to incorporate into the first stage’s model Eq. (SG1), so that we are fixing the assignments of the selected services L wisely, leaving sufficient room for the remaining services’ assignments, and achieving more flexibility for satisfying the rest of coverage constraints that are restored during the second stage.

Note that it’s not necessary to find an optimal solution to this f(x) in the first stage as discussed previously. The purpose of having an objective function is to guide the solver to provide us with a high-quality solution, instead of an arbitrary one, if possible, so that we are less likely to encounter infeasibility during the second stage. In practice, besides an optimality gap bound, we also set a time limit for solving Eq. (SG1) during the first stage, to avoid spending a large amount of time on further improving the objective value.

The objective function f(x) we propose is the summation of the following four parts, assuming it is to be minimized (detailed explicit expression is provided in Appendix A):

  1. (I)

    Avoid assigning selected services to highly demanded cells. Some (resident, time) combinations (i.e., the cells in the scheduling table in Fig. 1) are required by a significant number of unenforced coverage constraints. If in the solution of the first stage the selected services are assigned to those cells, then it becomes very hard to satisfy the corresponding unenforced constraints during the second stage because those cells will be locked due to the partial fixing. Thus, we’d like to penalize making such assignments.

    We focus on the lower bounds of the unenforced service coverage requirements (denote them as \(\overline {Cov} \subseteq Cov\), which just corresponds to a subset of constraints A2xb2 resulting from the initial partitioning by our proposed two-stage approach in Section 4.3). More specifically, we loop through each of the unenforced requirements \(cv\in \overline {Cov}\), which explicitly is modeled in the following form as presented by Eq. (a3) in Section 4.1:

    $$ cv_{lb} \leqslant \sum\limits_{r\in cv_{R}}~ \sum\limits_{s\in cv_{S}}~ \sum\limits_{t\in cv_{T}} z_{r,s,t} \leqslant cv_{ub}. $$

    We evenly distribute its lower bound cvlb to each involved assignments. That is, cvlb/(|cvR|⋅|cvS|⋅|cvT|) is the contribution required from each involved assignment zr,s,t, in order to ensure the lower bound of this requirement cv is satisfied.

    Then for each cell (r,t), ∀rR,∀tT, in the scheduling table, we calculate the accumulated contribution M(r,t) that is required from (r,t) across all of the unenforced coverage requirements:

    $$ M_{(r,t)} ~:=~ \sum\limits_{s \in S} {\underset{r\in cv_{R}, s\in cv_{S}, t\in cv_{T}}{\underset{cv\in \overline{Cov}:}{\max}}} \frac{cv_{lb}}{|cv_{R}|\cdot|cv_{S}|\cdot|cv_{T}|}. $$

    In other words, we first figure out the greatest contribution that is required for each specific assignment zr,s,t across all unenforced coverage constraints. Then, for each cell (r,t), its accumulated required contribution will be the summation over all services of the greatest contribution of the corresponding assignment.

    We can see that the larger M(r,t) is, the more likely it is that cell (r,t) must be assigned to some other services (i.e., other than the selected ones in L) for satisfying the remaining unenforced requirements. Thus, we penalize by an amount M(r,t) in the objective function (in the sense of minimization) if we assign one of the selected service in L to resident r at block t.

  2. (II)

    Prefer assigning selected services in pairs. More specifically, if we assign one of the selected services to a specific cell (r,t) in the scheduling table (Fig. 1), we’d like to also assign a selected service to its counterpart cell \((r,\bar {t})\), so that the corresponding “full” month for resident r is taken by some selected service(s). Here, we group the set of blocks in the academic year in pairs (where each pair corresponds to a calendar month, if the blocks are half-months), while the counterpart block is thus defined as the other one in a specific pair (i.e., counterpart of \(\bar {t}\) is either t − 1 or t + 1). In other words, for example, if a specific selected service in L is to be assigned to Resident-1 during the first half of July, then we prefer having a selected service also assigned to Resident-1 during the second half of July, to assigning it to Resident-1 instead during some other block, say, the first half of August. The reason for this assignment preference is that many services at UMMS are subject to a specific duration rule, which requires them to be always performed in a 2-block rotation, while such a rotation should never start from the middle of a month (i.e., from the second block in a specific pair). Therefore, assigning the selected services in L to paired cells will leave more room for completing the remaining assignments during the second stage, compared to locking two “halves” separately.

    Similar to the previous bullet 1, for each cell (r,t), we calculate the accumulated contribution, denoted as \(\bar {M}_{(r,t)}\), across all duration-restricted services (denoted as \(\bar {S} \subseteq S\)) on its counterpart \((r,\bar {t})\):

    $$ \bar{M}_{(r,t)} = \sum\limits_{s \in \bar{S}} {\underset{r\in cv_{R}, s\in cv_{S}, \bar{t}\in cv_{T}}{\underset{cv\in \overline{Cov}:}{\max}}}~ \frac{cv_{lb}}{|cv_{R}|\cdot|cv_{S}|\cdot|cv_{T}|}. $$

    We will then penalize an amount of \(\bar {M}_{(r,t)}\) in the objective function if we assign one of the selected services to cell (r,t) but without making a similar assignment to its counterpart \((r,\bar {t})\).

  3. (III)

    Distribute the assignments of the selected services across all residents in a balanced way. We have two hyper-parameters, B and Mres, that for each specific resident, if the number of selected services assigned to him/her during the whole academic year (in the first stage) exceeds B, then a penalty of Mres will be introduced into the objective function for each of the excessive assignments.

  4. (IV)

    Evenly distribute the assignments of the selected services across all time periods for each cohort (i.e., residents from the same program and at the same PGY level). Since in practice, the majority of the coverage requirements are specified to cohorts, and are applied to a specific single time period (i.e., |cvT| = 1), we want to balance the assignment fixing across all time periods within each cohort as best as we can, in order to reduce the risk of tightening the space too much to meet the unenforced constraints.

    Therefore, for each cohort ch, let smch and gtch be variables respectively specifying the smallest and the greatest number of residents in the cohort who are assigned to the selected services, across all time periods. We penalize an amount of Mblk ⋅ (gtchsmch) in the objective function, where Mblk is a hyper-parameter from input.

1.2 A.2 Auxiliary constraints

The auxiliary constraints are designed based on the service coverage requirements imposed on the non-selected services, i.e., constraints A2xb2 that are skipped during the initial first stage, to further restrict the corresponding decision-making so that it is less likely to result in an invalid assignment fixing and an infeasible second stage.

The auxiliary constraints enforce those skipped service coverage requirements \(\overline {Cov}\) in an aggregated manner, which thus work as a relaxation of system A2xb2 (specified by the very first partitioning) but of a much smaller size. More specifically, for a specific group of residents \(R_{G} \subseteq R\) (in practice, we specify RG to be the residents in a group of cohorts, i.e., a specific combination of a set of programs and a set of PGY levels), we derive the following auxiliary constraint to further tighten the first-stage model:

$$ lb_{R_{G}, t} \leq \sum\limits_{r \in R_{G}} \sum\limits_{s\in L} z_{r,s,t} \leq ub_{R_{G}, t} \qquad \forall t\in T. $$

Here,

$$ lb_{R_{G}, t} := |R_{G}| - \sum\limits_{s\in S\backslash L} {\underset{R_{G} \subseteq cv_{R}, ~ t\in cv_{T}}{\underset{cv \in \overline{Cov}: ~s\in cv_{S},}{\min}}} \left\lbrace cv_{ub} \right\rbrace, $$
$$ ub_{R_{G}, t} ~:=~ |R_{G}| - \sum\limits_{s\in S\backslash L} {\underset{cv_{R}\subseteq R_{G}, ~ cv_{T} = \{t\}}{\underset{cv \in \overline{Cov}: ~cv_{S} = \{s\},}{\max}}} \left\lbrace cv_{lb} \right\rbrace. $$

Basically, for each non-selected service sSL, the \(\min \limits \) term in \(lb_{R_{G}, t}\) (the \(\max \limits \) term in \(ub_{R_{G}, t}\), respectively) above provides a theoretical upper bound (lower bound, respectively) on the number of residents in group RG that can be assigned to service s at block t. More specifically, it loops through all of the unenforced coverage requirements in \(\overline {Cov}\) whose corresponding upper bound (lower bound, respectively) is applicable to the assignments of residents RG to service s at t, and finds the tightest one. Summing over these tightest upper bounds (lower bounds) then produces a valid upper bound (lower bound) on the number of residents in RG that can be assigned to non-selected services at t. Consequently, the values \(lb_{R_{G}, t}\) and \(ub_{R_{G}, t}\) are, respectively, a valid lower bound and upper bound on the number of residents in RG that can be assigned to some selected services at time period t, which just specify the proposed auxiliary constraint.

For instance, consider a group of 10 residents, and 4 non-selected services (i.e., SL): ER, PICU, NICU, and Cards. Suppose there are in total 4 unenforced coverage requirements comprising \(\overline {Cov}\): service ER requires exactly 1 resident from this group at block t; exactly 2 residents from the group should be assigned to PICU at t or t + 1 cumulatively; NICU requires at least 1 but no more than 2 residents at block t, while in total at most 3 residents from the group can be assigned to either NICU or Cards at t. Then, according to the above formulation, we have \(lb_{R_{G}, t} = 10 - (1+2+2+3) = 2\), and \(ub_{R_{G}, t} = 10 - (1+0+1+0) = 8\) for this resident group at block t, as it is clear that at least 2 but no more than 8 residents in the group can be assigned to selected services (i.e., other than these 4 services) at t.

Note that the auxiliary constraints derived based on the proposed method above are not guaranteed to be tight, because we only consider each single non-selected service individually when calculating the bounds \(lb_{R_{G}, t}\) and \(ub_{R_{G}, t}\). For example, for the described instance above, a tighter lower bound \(lb_{R_{G}, t} = 4\) is indeed valid. However, in practice, since most of the service coverage requirements are imposed on a single service, skip** the combinations of different non-selected services will not be a big deal for the bound calculation, and we are still able to derive sufficiently tight and effective constraints.

1.3 A.3 A sketch of the complete first stage formulation Eq. (SG1)

Additional notation

  • H: The set of resident cohorts (i.e., program, PGY level combinations).

  • R(ch): The set of residents in cohort chH. \(R(ch) \subseteq R\).

  • ur,t: Binary variables for ∀rR,∀tT. 1 if one of the selected services is assigned to cell (r,t), while it is not the case to its counterpart \((r,\bar {t})\); 0 otherwise.

  • nr: Non-negative continuous variables for rR. The excessive number (i.e., the amount over B) of assignments of selected services to resident r during the whole academic year.

Formulation

$$ \begin{array}{ll} \min & \sum\limits_{r\in R, t\in T} M_{(r,t)} \cdot \left( \sum\limits_{s\in L} z_{r,s,t}\right)~ + \sum\limits_{r\in R, t\in T} \bar{M}_{(r,t)} \cdot u_{r,t}\\ & +~ \sum\limits_{r\in R} M_{res}\cdot n_{r} ~+~ \sum\limits_{ch\in H} M_{blk}\cdot \left( gt_{ch} - sm_{ch} \right)\\ ~\\ \text{s.t.} & A^{1} x ~\leq~ b^{1}\\ & x \text{ integer}\\ & \text{(i.e., all constraints in the base model in Section}\\ & \text{ 4.1.2 except the unenforced coverage ones) +}\\ ~\\ & \sum\limits_{s\in L} z_{r,s,t} - \sum\limits_{s\in L} z_{r,s,\bar{t}} \leq u_{r,t} \qquad \forall r \in R, ~\forall t \in T\\ ~\\ & \sum\limits_{s\in L}\sum\limits_{t\in T} z_{r,s,t} - B \leq n_{r} \qquad \forall r \in R\\ ~\\ & sm_{ch} \leq \sum\limits_{r\in R(ch)}~ \sum\limits_{s\in L} z_{r,s,t} \leq gt_{ch}\\ & \qquad \qquad \qquad \qquad \qquad \qquad \qquad \forall t\in T, ~\forall ch\in H\\ ~\\ & lb_{R_{G}, t} \leq \sum\limits_{r \in R_{G}}~ \sum\limits_{s\in L} z_{r,s,t} \leq ub_{R_{G}, t} \qquad \forall t\in T,\\ &\qquad \qquad \qquad \qquad ~ \forall H^{\prime} \subseteq H,~ R_{G}:=\bigcup\limits_{ch\in H^{\prime}} R(ch). \end{array} $$

Appendix B: An theoretical analysis on the occurrence of case 2 for the infeasibility of the second stage

We first summarize some key properties of the formulation we proposed for solving our problem. Based on them, we show, by construction, that when the second stage Eq. (SG2) is infeasible, Case 2, i.e., its LP-relaxation actually being feasible, is possible. Then, we provide a brief analysis on why we rarely encounter this case in practice.

1.1 B.1 Properties of the formulation

According to the detailed based model formulation provided in Section 4.1.2, the following two properties hold for our base model, assuming that we write it in the general form as in Eq. (IP) for simplicity:

  • The feasible region is bounded by the unit hyper-cube, i.e., every feasible solution \(x\in \mathbb {R}^{n}\) to Eq. (IP) or its relaxation satisfies x ∈ [0, 1]n, since the model consists of only binary variables.

  • The coefficient matrix A is a (0,± 1) matrix, i.e., every entry in A is either -1, 0 or 1, while the right hand side vector b is integral.

These two properties also hold for both the first stage formulation Eq. (SG1) and the second stage formulation Eq. (SG2). In particular, they are valid for the following intermediate formulation as well, where \(x^{*}:= (x^{*}_{p}, x^{*}_{q})\) is denoted to be the solution to the first stage Eq. (SG1) as previous:

$$ \begin{array}{ll} \underset{y:= (y_{p},y_{q})}{\max} & 0 \\ \text{s.t.} & {A^{1}_{p}} y_{p} + {A^{1}_{q}} y_{q} \leq b^{1}\\ & x^{*}_{q} - y_{q} \leq 0\\ & y \text{ integer.} \end{array} $$
(INT)

Note that although we are considering the scenario that the second stage Eq. (SG2) is infeasible, this intermediate formulation Eq. (INT) is indeed feasible, since y = x is clearly a valid solution.

1.2 B.2 Possibility in theory

The following lemma and theorem show that when the second stage model Eq. (SG2) turns out to be infeasible due to an invalid assignment fixing, its LP-relaxation can still in theory be feasible. In other words, after incorporating the linear constraints \({A^{2}_{p}} y_{p} + {A^{2}_{q}} y_{q} \leq b^{2}\) (which satisfies the second property above), the polyhedron of the LP-relaxation of the above intermediate formulation Eq. (INT) can be nonempty, while all of the integer points it contains will be pruned off.

Lemma 1

Let P be the polyhedron of the LP-relaxation of the intermediate model Eq. (INT). Suppose \(x^{*} = (x^{*}_{1}, x^{*}_{2}, \dots ,x^{*}_{n})^{\top }\) is the solution to the first stage model Eq. (SG1). Without loss of generality, we assume the first k coordinates of x are 1s, while the rest are 0s. That is, \(x^{*}_{1} = x^{*}_{2} =\cdots = x^{*}_{k} = 1\), and \(x^{*}_{k+1} = {\cdots } =x^{*}_{n} = 0\). Then, constraint \(c:=\{{\sum }_{i=1}^{k} y_{i} ~-~{\sum }_{i=k+1}^{n} y_{i} ~\leq ~k-1\}\) cuts off integer solution y = x to Eq. (INT), but does not cut off any other vertex of P.

Proof

Clearly, solution y = x violates constraint c, and therefore, it is cut off. Next, we only need to show that no any other vertex of P is cut off by c.

We prove this by contradiction. Suppose there is another vertex of P, denoted as \(\bar {y}\), violating constraint c as well. Then, let’s consider the following polyhedron \(\bar {P}\):

$$ \bar{P} := \left\{ \begin{array}{l} y_{i} \leq 1 \qquad \text{For }i = 1,2,\dots,k\\ y_{i} \geq 0 \qquad \text{For }i = k+1,\dots,n\\ {\sum}_{i=1}^{k} y_{i} ~-~{\sum}_{i=k+1}^{n} y_{i} ~\geq~k-1. \end{array}\right. $$

Clearly, \(\bar {y} \in \bar {P}\). In addition, \(\bar {P}\) is a polytope (i.e., bounded), as 0 ≤ yi ≤ 1 for \(i = 1,2,\dots ,n\) can be deduced from the constraints.

Let’s consider a series of integer points {Vj} for \(j = 1,2,\dots ,n\) defined as follows:

$$ V^{j} := \left\{ \begin{array}{ll} {V^{j}_{i}} = x^{*}_{i} & \text{If }i\neq j \\ {V^{j}_{i}} =1 & \text{If }i = j,~j>k\\ {V^{j}_{i}} =0 & \text{Otherwise.} \end{array}\right. $$

In other words, {Vj} are the n corner vertices adjacent to x in the unit hyper-cube [0, 1]n, where each exactly has one coordinate (i.e., j) having the opposite value comparing to x.

It is easy to check that these n integer points \(V^{j} \in \bar {P}\). Furthermore, they are vertices of the polytope \(\bar {P}\), because constraints {yi ≤ 1 for \(i = 1,2,\dots , k; i\neq j\}\), {yi ≥ 0 for \(i = k+1,\dots , n; i\neq j\}\) and \({\sum }_{i=1}^{k} y_{i} ~-~{\sum }_{i=k+1}^{n} y_{i} ~\geq ~k-1\) are active at Vj, and they are independent. Moreover, in the same way, we can check that y = x is also a vertex of \(\bar {P}\). Since polytope \(\bar {P}\) is defined by, in total, n + 1 constraints, it can have at most n + 1 vertices. Therefore, we know that {Vj} and x are the entire set of vertices describing polytope \(\bar {P}\).

Since \(\bar {y} \in \bar {P}\) and \(\bar {P}\) is bounded (so there is no extreme ray), we know that, by the resolution theorem, there exists a convex combination \(\bar {y} = \lambda _{1}V^{1} + \lambda _{2}V^{2} + {\cdots } \lambda _{n}V^{n} + \lambda _{n+1}x^{*}\), where \({\sum }_{m=1}^{n+1} \lambda _{m} = 1\) and λm ≥ 0. Furthermore, we have λn+ 1 > 0 because otherwise, \(\bar {y}\) will be a convex combination of {Vj}, which are all right on the hyper-plane \({\sum }_{i=1}^{k} x_{i} ~-~{\sum }_{i=k+1}^{n} x_{i} =k-1\), and thus \(\bar {y}\) will be on this hyper-plane as well, and cannot violate constraint c.

Since \(\bar {y}\) is a vertex of P, we know that there exists a constraint αyβ, among the ones that describe polyhedron P, which is active on \(\bar {y}\) but not active on x (since y = x is clearly also a vertex of P). Suppose αx < β without loss of generality. Then, we claim that there exists a Vj such that αVj > β. By contradiction, if αVjβ for all j, then \(\alpha \bar {y} = \lambda _{1} \alpha V^{1} + \lambda _{2} \alpha V^{2} + {\cdots } \lambda _{n} \alpha V^{n} + \lambda _{n+1} \alpha x^{*} < \beta \), since λn+ 1 > 0, which contradicts the fact that constraint αyβ is active at \(\bar {y}\).

Denote \(\alpha := (\alpha _{1},\alpha _{2},\dots ,\alpha _{n})\). Then, we know that αj≠ 0 (because otherwise αx = αVj, which is impossible), and there exists 0 < γ < 1 such that \(y^{\prime } = \gamma x^{*} + (1-\gamma ) V^{j}\) is right on the hyperplane αy = β. More specifically regarding \(y^{\prime }\), since Vj is only different from x on coordinate j, we have:

$$ y^{\prime} := \left\lbrace \begin{array}{ll} y_{i}^{\prime} = x^{*}_{i} & i\neq j \\ y_{j}^{\prime} = \gamma & \text{If } j \leq k\\ y_{j}^{\prime} = 1-\gamma & \text{If } j > k. \end{array}\right. $$

In other words, \(y^{\prime }\) has integer values on coordinates ij, while have a fractional value on coordinate j (because 0 < γ < 1). Since α has coefficients 0 or ± 1 (due to the second property) while αj≠ 0, we know that \(\alpha y^{\prime }\) is fractional. However, since β is an integer, this contradicts the fact that \(\alpha y^{\prime } = \beta \). Therefore, we can conclude that there is no other vertex of polyhedron P violating constraint c. □

Theorem 2

If the polyhedron P, i.e., the LP-relaxation of the intermediate model Eq. (INT), is nontrivial (i.e., it has at least one non-integral vertex), then there exists a set of constraints \(A^{\prime }y \leq b^{\prime }\), where \(A^{\prime }\) is also a (0,± 1) matrix while \(b^{\prime }\) is integral, such that polyhedron \(P^{\prime } := \{y~|~ y\in P, ~A^{\prime }y \leq b^{\prime }\}\) is nonempty, but it does not contain any integer points.

Proof

This theorem is obvious given the above lemma. Let \(A^{\prime }y\leq b^{\prime }\) be the linear system just comprising the constraint c (in the above lemma) for each of the integral vertices of P. Clearly, by this construction, \(A^{\prime }\) and \(b^{\prime }\) satisfy the required property. Then, the updated polyhedron \(P^{\prime }\) of course does not contain any integer points, since they are all cut off by their respective constraint c in the system \(A^{\prime }y\leq b^{\prime }\). Lastly, since P has a non-integral vertex (denoted as \(\hat {y}\)), which satisfies constraint c as indicated by the above lemma, and thus satisfies \(A^{\prime }\hat {y}\leq b^{\prime }\), therefore we know that \(\hat {y} \in P^{\prime }\). Thus, \(P^{\prime }\) is not empty. □

1.3 B.3 Analysis in reality

The previous theorem implies that if we are extremely “lucky,” e.g., if the unenforced constraints A2yb2 we restore during the second stage constitute exactly, or very close to, the system \(A^{\prime }x \leq b^{\prime }\) constructed above, then we will encounter Case 2, where the second stage formulation Eq. (SG2) is infeasible but its LP-relaxation is feasible.

However, in practice, we rarely fall into this scenario. This is primarily because the constraints we bring back to the formulation during the second stage are all corresponding to service coverage rules, which have further properties than the general two listed at the beginning of this appendix. More specifically, the coefficients of coverage constraints are either (0, 1) or (0,− 1). However, this is not the case for the derived constraint c in the Lemma, as its coefficients are (1,− 1). On the contrary, those c’s can often be viewed as the relaxation of our coverage constraints. More specifically, we can see that \({\sum }_{i=1}^{k} y_{i} ~-~{\sum }_{i=k+1}^{n} y_{i} ~\leq ~k-1\) can be derived from \({\sum }_{i=1}^{k} y_{i} \leq k-1\), which is the relaxation of a potential coverage constraint \({\sum }_{i=1}^{k} y_{i} \leq ub\), since typically the upper bound value ub is much smaller then the “headcount”. On the other hand, \({\sum }_{i=1}^{k} y_{i} ~-~{\sum }_{i=k+1}^{n} y_{i} ~\leq ~k-1\) can be derived from \({\sum }_{i=k+1}^{n} y_{i} \geq 1\), which may further be the relaxation of a nontrivial coverage constraint \({\sum }_{i=k+1}^{n} y_{i} \geq lb\).

Therefore, unlike the derived c’s which cut off just the “corners” of the hyper-cube without pruning any other vertices of the polyhedron P, when we restore the unenforced constraints (i.e., unenforced coverage rules) during the second stage, each of them may perform a much bolder cutting. Thus, besides the corresponding corner, a big chunk of P in the specified direction could be pruned off by each restored constraint, including the great amount of “symmetry” near that corner point and potentially also many other non-integral vertices of the polyhedron P. Thus, if at the end all integral vertices of P (the corners of the hyper-cube) are pruned off, then it’s very likely that the whole updated polyhedron \(P^{\prime }\) becomes empty (i.e., we will encounter Case 1, rather than Case 2).

Appendix C: Pseudo-code of a power iteration method for solving the pagerank model to get the service pickiness scores

Algorithm 2
figure b

A power iteration method for solving the linear system (PR)

Appendix D: Computational performance comparisons on the three service selection methods for instances year-2018 and year-2020

Table 15 Computational performance comparisons on the three service selection methods for instance Year-2018
Table 16 Computational performance comparisons on the three service selection methods for instance Year-2020

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Guo, J., Pozehl, W. & Cohn, A. A two-stage partial fixing approach for solving the residency block scheduling problem. Health Care Manag Sci 26, 363–393 (2023). https://doi.org/10.1007/s10729-023-09631-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10729-023-09631-w

Keywords

Navigation