A study of the Bienstock–Zuckerberg algorithm: applications in mining and resource constrained project scheduling


We study a Lagrangian decomposition algorithm recently proposed by Dan Bienstock and Mark Zuckerberg for solving the LP relaxation of a class of open pit mine project scheduling problems. In this study we show that the Bienstock–Zuckerberg (BZ) algorithm can be used to solve LP relaxations corresponding to a much broader class of scheduling problems, including the well-known Resource Constrained Project Scheduling Problem (RCPSP), and multi-modal variants of the RCPSP that consider batch processing of jobs. We present a new, intuitive proof of correctness for the BZ algorithm that works by casting the BZ algorithm as a column generation algorithm. This analysis allows us to draw parallels with the well-known Dantzig–Wolfe decomposition (DW) algorithm. We discuss practical computational techniques for speeding up the performance of the BZ and DW algorithms on project scheduling problems. Finally, we present computational experiments independently testing the effectiveness of the BZ and DW algorithms on different sets of publicly available test instances. Our computational experiments confirm that the BZ algorithm significantly outperforms the DW algorithm for the problems considered. Our computational experiments also show that the proposed speed-up techniques can have a significant impact on the solve time. We provide some insights on what might be explaining this significant difference in performance.

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

Fig. 1


  1. 1.

    Alford, C., Brazil, M., Lee, D.: Optimisation in underground mining. In: Weintraub, A., Romero, C., Bjorndal, T., Epstein, R. (eds.) Handbook of Operations Research in Natural Resources, pp. 561–577. Springer, New York (2007)

  2. 2.

    Artigues, C., Demassey, S., Neron, E.: Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications, vol. 37. Wiley, Hoboken (2010)

    Google Scholar 

  3. 3.

    Berthold, T., Heinz, S., Lübbecke, M., Möhring, R., Schulz, J.: A constraint integer programming approach for resource-constrained project scheduling. In: Lodi, A., Milano, M., Toth, P. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, pp. 313–317. Springer, Berlin (2010)

  4. 4.

    Bertsimas, D., Tsitsiklis, J.: Introduction to Linear Optimization, vol. 6. Athena Scientific, Belmont (1997)

    Google Scholar 

  5. 5.

    Bienstock, D., Zuckerberg, M.: A new LP algorithm for precedence constrained production scheduling. Optim. Online. http://www.optimization-online.org/DB_HTML/2009/08/2380.html (2009)

  6. 6.

    Bienstock, D., Zuckerberg, M.: Solving LP relaxations of large-scale precedence constrained problems. In: Proceedings from the 14th Conference on Integer Programming and Combinatorial Optimization (IPCO). Lecture Notes in Computer Science, vol. 6080 pp. 1–14 (2010)

  7. 7.

    Boland, N., Dumitrescu, I., Froyland, G., Gleixner, A.: LP-based disaggregation approaches to solving the open pit mining production scheduling problem with block processing selectivity. Comput. Oper. Res. 36, 1064–1089 (2009)

    Article  MATH  Google Scholar 

  8. 8.

    Brucker, P., Drexl, A., Möhring, R., Neumann, K., Pesch, E.: Resource-constrained project scheduling: notation, classification, models, and methods. Eur. J. Oper. Res. 112(1), 3–41 (1999)

    Article  MATH  Google Scholar 

  9. 9.

    Chicoisne, R., Espinoza, D., Goycoolea, M., Moreno, E., Rubio, E.: A new algorithm for the open-pit mine production scheduling problem. Oper. Res. 60(3), 517–528 (2012)

    MathSciNet  Article  MATH  Google Scholar 

  10. 10.

    Christofides, N., Alvarez-Valdés, R., Tamarit, J.: Project scheduling with resource constraints: a branch and bound approach. Eur. J. Oper. Res. 29(3), 262–273 (1987)

    MathSciNet  Article  MATH  Google Scholar 

  11. 11.

    Dagdelen, K., Johnson, T.: Optimum open pit mine production scheduling by Lagrangian parameterization. In: Proceedings of the 19th International Symposium on the Application of Computers and Operations Research in the Mineral Industry (APCOM) (1986)

  12. 12.

    Dantzig, G., Wolfe, P.: Decomposition principle for linear programs. Oper. Res. 8(1), 101–111 (1960)

    Article  MATH  Google Scholar 

  13. 13.

    Dassault Systèmes: GEOVIA Whittle (2015). http://www.gemcomsoftware.com/products/whittle

  14. 14.

    Debels, D., Vanhoucke, M.: A decomposition-based genetic algorithm for the resource-constrained project-scheduling problem. Oper. Res. 55(3), 457–469 (2007)

    Article  MATH  Google Scholar 

  15. 15.

    Deswik: Deswik.sched (2015). https://www.deswik.com/product-detail/deswik-scheduler/

  16. 16.

    Espinoza, D., Goycoolea, M., Moreno, E., Newman, A.: Minelib: A library of open pit mining problems. Ann. Oper. Res. 206, 93–114 (2013)

    MathSciNet  Article  MATH  Google Scholar 

  17. 17.

    Fisher, M.: Optimal solution of scheduling problems using Lagrange multipliers: part I. Oper. Res. 21(5), 1114–1127 (1973)

    Article  MATH  Google Scholar 

  18. 18.

    Goycoolea, M., Espinoza, D., Moreno, E., Rivera, O.: Comparing new and traditional methodologies for production scheduling in open pit mining. In: Proceedings of the 37th International Symposium on the Application of Computers and Operations Research in the Mineral Industry (APCOM), pp. 352–359 (2015)

  19. 19.

    Graham, R., Lawler, E., Lenstra, J., Kan, A.: Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann. Discret. Math. 5, 287–326 (1979)

    MathSciNet  Article  MATH  Google Scholar 

  20. 20.

    Hartmann, S., Briskorn, D.: A survey of variants and extensions of the resource-constrained project scheduling problem. Eur. J. Oper. Res. 207(1), 1–14 (2010)

    MathSciNet  Article  MATH  Google Scholar 

  21. 21.

    Hochbaum, D.: The pseudoflow algorithm: a new algorithm for the maximum-flow problem. Oper. Res. 56, 992–1009 (2008)

    MathSciNet  Article  MATH  Google Scholar 

  22. 22.

    Hustrulid, W., Kuchta, K. (eds.): Open Pit Mine Planning and Design. Taylor and Francis, London (2006)

    Google Scholar 

  23. 23.

    Johnson, T.: Optimum open pit mine production scheduling. Ph.D. thesis, Operations Research Department, University of California, Berkeley (1968)

  24. 24.

    Kolisch, R., Sprecher, A.: PSP-Library. Online at http://www.om-db.wi.tum.de/psplib/datamm.html (1997). [Online; accessed March-2015]

  25. 25.

    Kolisch, R., Sprecher, A.: PSPLIB—a project scheduling problem library. Eur. J. Oper. Res. 96(1), 205–216 (1997)

    Article  MATH  Google Scholar 

  26. 26.

    Lambert, W.B., Newman, A.M.: Tailored Lagrangian relaxation for the open pit block sequencing problem. Ann. Oper. Res. 222(1), 419–438 (2014)

    MathSciNet  Article  MATH  Google Scholar 

  27. 27.

    Martinez, M., Newman, A.: A solution approach for optimizing long-and short-term production scheduling at LKAB’s Kiruna mine. Eur. J. Oper. Res. 211(1), 184–197 (2011)

    Article  MATH  Google Scholar 

  28. 28.

    MineMax: iGantt. https://www.minemax.com/solutions/products/igantt (2015)

  29. 29.

    MineMax: Planner. http://www.minemax.com/solutions/requirements/strategic-planning (2015)

  30. 30.

    MineMax: Scheduler (2015). http://www.minemax.com/solutions/requirements/strategic-planning

  31. 31.

    Möhring, R., Schulz, A., Stork, F., Uetz, M.: Solving project scheduling problems by minimum cut computations. Manag. Sci. 49(3), 330–350 (2003)

    Article  MATH  Google Scholar 

  32. 32.

    Newman, A., Kuchta, M.: Using aggregation to optimize long-term production planning at an underground mine. Eur. J. Oper. Res. 176(2), 1205–1218 (2007)

    Article  MATH  Google Scholar 

  33. 33.

    Newman, A., Rubio, E., Caro, R., Weintraub, A., Eurek, K.: A review of operations research in mine planning. Interfaces 40, 222–245 (2010)

    Article  Google Scholar 

  34. 34.

    Osanloo, M., Gholamnejad, J., Karimi, B.: Long-term open pit mine production planning: a review of models and algorithms. Int. J. Min. Reclam. Environ. 22(1), 3–35 (2008)

    Article  Google Scholar 

  35. 35.

    O’Sullivan, D., Newman, A.: Extraction and backfill scheduling in a complex underground mine. Interfaces 44(2), 204–221 (2014)

    Article  Google Scholar 

  36. 36.

    O’Sullivan, D., Newman, A., Brickey, A.: Is open pit production scheduling ’easier’ than its underground counterpart? Min. Eng. 67(4), 68–73 (2015)

    Google Scholar 

  37. 37.

    Pessoa, A., Sadyvok, R., Uchoa, E., Vanderbeck, F.: In-out separation and column generation stabilization by dual price smoothing. In: 12th International Symposium on Experimental Algorithms(SEA), Rome, Lecture Notes in Computer Science, vol. 7933, pp. 354–365 (2013)

  38. 38.

    Pritsker, A., Waiters, L., Wolfe, P.: Multiproject scheduling with limited resources: a zero-one programming approach. Manag. Sci. 16(1), 93–108 (1969)

    Article  Google Scholar 

  39. 39.

    Zhu, G., Bard, J., Yu, G.: A branch-and-cut procedure for the multimode resource-constrained project-scheduling problem. INFORMS J. Comput. 18(3), 377–390 (2006)

    Article  MATH  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Marcos Goycoolea.

Additional information

The authors of this article would like to acknowledge support by grants Fondecyt 1151098 (MG and ORL), Fondecyt 1130681 (EM), Fondecyt 1150046 (DE), Conicyt PIA Anillo ACT 1407 (DE, MG, EM, and ORL), NSERC RGPIN 5837-08 (MQ), Conicyt BCH 72130388 (GM) and CONICYT-PFCHA/Doctorado Nacional/2017-21171357 (ORL).


Appendix A: Resource resource constraints in GPSP reformulation

In this section we provide a detailed proof on how to derive (14) from (5). This is needed in order to reformulate an instance of a General Production Scheduling Problem (GPSP), described in Sect. 3, as an instance of a General Precedence Constrained Problem (GPCP), presented in Sect. 4. For the benefit of the reader, we recall (14) and (5).

Proposition 1

Consider inequality (5)

$$\begin{aligned} \sum \limits _{a \in \mathscr {A}} \sum \limits _{m \in \mathscr {M}_a} q_{r,a,m} \sum \limits _{s=\max \{1,t-d_{a,m}+1\}}^{t} y_{a,m,s} \le Q_{r,t}, \end{aligned}$$

as defined in Sect. 3. If we apply the variable substitution scheme introduced in Sect. 4:

$$\begin{aligned} \begin{array}{ll} y_{a,m,t} = z_{a,m,t} - z_{a,m-1,t} &{} \quad \forall a \in \mathscr {A}, \; m = 2, \ldots , M_a, \; t \in \mathscr {T}, \\ y_{a,1,t} = z_{a,1,t} - z_{a,M_a,t-1} &{} \quad \forall a \in \mathscr {A}, \; t = 2, \ldots , T, \\ y_{a,1,1} = z_{a,1,1} &{}\quad \forall a \in \mathscr {A}, \end{array} \end{aligned}$$

we obtain inequality (14):

$$\begin{aligned} \sum \limits _{a \in \mathscr {A}} \sum \limits _{m \in \mathscr {M}_a} \sum \limits _{s\in \mathscr {T}} \tilde{q}^{r,t}_{a,m,s} z_{a,m,s} \le Q_{r,t}, \end{aligned}$$


$$\begin{aligned} \tilde{q}^{r,t}_{a,m,s} = \left\{ \begin{array}{ll} q_{r,a,m} \mathbf {1}_{[t-d_{a,m}+1,t]}(s) - q_{r,a,m+1} \mathbf {1}_{[t-d_{a,m+1}+1,t]}(s) &{} \text { if } m < M_a \\ q_{r,a,M_a} \mathbf {1}_{[t-d_{a,M_a}+1,t]}(s) - q_{r,a,1} \mathbf {1}_{[t-d_{a,1},t-1]}(s) &{} \text { if } m = M_a \end{array} \right. \end{aligned}$$


$$\begin{aligned} Q_{r,t}\ge & {} \sum \limits _{a \in \mathscr {A}} \sum \limits _{m \in \mathscr {M}_a} q_{r,a,m} \sum \limits _{s=\max \{1,t - d_{a,1} + 1\}}^{t} y_{a,m,s}\\= & {} \sum \limits _{a \in \mathscr {A}} \left( \sum \limits _{m=2}^{M_a} \sum \limits _{\ s=\max \{1,t - d_{a,m} + 1\}}^{t} q_{r,a,m} y_{a,m,s} + \sum \limits _{s=\max \{1,t - d_{a,1} + 1\}}^{t} q_{r,a,1} y_{a,1,s} \right) \\= & {} \sum \limits _{a \in \mathscr {A}} \left( \sum \limits _{m=2}^{M_a} \sum \limits _{\ s=\max \{1,t - d_{a,m} + 1\}}^{t} q_{r,a,m} (z_{a,m,s}-z_{a,m-1,s}) \right. \\&\left. + \sum \limits _{s=\max \{1,t - d_{a,1} + 1\}}^{t} q_{r,a,1} z_{a,1,s} - \sum \limits _{s=\max \{2,t - d_{a,1} + 1\}}^{t} q_{r,a,1} z_{a,M_a,s-1} \right) \\= & {} \sum \limits _{a \in \mathscr {A}} \left( \sum \limits _{m=2}^{M_a} \sum \limits _{\ s=\max \{1,t - d_{a,m} + 1\}}^{t} q_{r,a,m} z_{a,m,s} - \sum \limits _{m=1}^{M_a-1} \sum \limits _{\ s=\max \{1,t - d_{a,m+1} + 1\}}^{t} q_{r,a,m+1} z_{a,m,s} \right. \\&\left. + \sum \limits _{s=\max \{1,t - d_{a,1} + 1\}}^{t} q_{r,a,1} z_{a,1,s} - \sum \limits _{s=\max \{1,t - d_{a,1}\}}^{t-1} q_{r,a,1} z_{a,M_a,s} \right) \\= & {} \sum \limits _{a \in \mathscr {A}} \left( \sum \limits _{m=1}^{M_a} \sum \limits _{\ s=\max \{1,t - d_{a,m} + 1\}}^{t} q_{r,a,m} z_{a,m,s} - \sum \limits _{m=1}^{M_a-1} \sum \limits _{\ s=\max \{1,t - d_{a,m+1} + 1\}}^{t} q_{r,a,m+1} z_{a,m,s} \right. \\&\left. - \sum \limits _{s=\max \{1,t - d_{a,1}\}}^{t-1} q_{r,a,1} z_{a,M_a,s} \right) . \square \\ \end{aligned}$$

Appendix B: Equality form version of the GCG algorithm

In this section we present the GCG algorithm when, instad of the form (22), the mixed integer problem to be solved has form,

$$\begin{aligned} \begin{array}{rl} Z^{IP} = \max \ \; &{} c'z + d'u \\ \text{ s.t. } \ \; &{} Az = b, \\ &{} Hz + Gu \le h, \\ &{} z \in \{0,1\}^n. \end{array} \end{aligned}$$

That is, when the first set of inequalities have been replaced with equalities. As before, define

$$\begin{aligned} P = \{ z : Az = b, \; z \in \{0,1\} \}. \end{aligned}$$

We present a column generation algorithm for computing the optimal solution of

$$\begin{aligned} \begin{array}{rl} Z^{LIN} = \max \ \; &{} c'z + d'u \\ \text{ s.t. } \ \;&{} Az = b, \\ &{} Hz + Gu \le h, \\ &{} z \in {\mathtt{lin.hull}}(P). \end{array} \end{aligned}$$

Let \(v^o\) be such that \(Av^o = b\). For each \(k \ge 1\) let \(V^k\) be a matrix comprised of linearly independent points \(\{v^1,\ldots ,v^k\}\) such that \(Av^i = 0\) for \(i=1,\ldots ,k\). Define,

$$\begin{aligned} \begin{array}{llll} Z(V) = &{} \max \ &{} c'v^o + c'V \lambda + d'u &{} \\ &{} \text{ s.t. } \ &{} H V \lambda + G u \le h - H v^o &{} (\pi ) \end{array} \end{aligned}$$

Begin each iteration by solving problem (43) with \(V = V^k\). Define \(Z^L_k = Z(V^k)\) and let \((\lambda ^k, u^k)\) and \(\pi ^k\) be the corresponding optimal primal and dual solutions respectively. Define \(z^k = v^o + V^k \lambda ^k\) and let,

$$\begin{aligned} \begin{array}{llll} L(\pi ) = &{} \max \, &{} c' v - \pi (Hv - h) &{} \\ &{} \text{ s.t. } &{} Av = b, &{} \\ &{} &{} v \in \{0,1\}^n. &{} \end{array} \end{aligned}$$

Observe that since \(\pi ^k G = d'\), we have:

$$\begin{aligned} \begin{array}{llll} L(\pi ^k) = &{} \max \ &{} c' v + d'u - \pi ^k(Hv + Gu - h) &{} \\ &{} \text{ s.t. } \ &{} Av = b, &{} \\ &{}&{} v \in \{0,1\}^n. &{} \end{array} \end{aligned}$$

Thus, \(L(\pi ^k)\) is a relaxation of (41) obtained by penalizing constraints \(Hz + Gu \le h\) with \(\pi ^k \ge 0\). This implies \(L(\pi ^k) \ge Z^{IP}\) for all iterations k.

Solve problem (44) with \(\pi = \pi ^k\) and let \(\hat{v}\) be the corresponding optimal solution. Define \(Z^U_k = \min \{L(\pi ^i) : i = 1,\ldots , k\}\). As before, we will have that \(Z^U_k \ge Z^{IP}\) and \(Z^L_k \le Z^{LIN}\).

If, at any iteration, we have that \(Z^L_k \ge Z^U_k\) we can halt the algorithm. By defining \(Z^{UB} = Z^U_k\) we will have that \(Z^{IP} \le Z^{UB} \le Z^{LIN}\).

On the other hand whenever \(Z^L_k < Z^U_k\) we will have that column \(\hat{v} - v^o\) has positive reduced cost in the master problem. Thus, letting \(v^{k+1} = \hat{v} - v^o\) and \(V^{k+1} = [V^k, v^{k+1}]\) we can continue iterating the algorithm.

Appendix C: Distinct fractional values lemma

In this section we show that the BZ master problem will have bounded number of distinct fractional values. This fact is important in Sect. 5.3, in order to argue why the use of the elementary basis can reduce the number of columns in the BZ algorithm.

Consider the setting for the BZ algorithm, i.e, a problem of the form

$$\begin{aligned} \begin{array}{llll} Z^{BZ} = &{} \max \ &{} c'z + d'u &{} \\ &{} \text{ s.t. } \ &{} Az \le b &{} \\ &{}&{} Hz + Gu \le h &{} \end{array} \end{aligned}$$

where \(\{ z : Az \le b\} = \{ z : z_i \le z_j\ \forall \ (i,j) \in I,\ 0\le z \le 1\}\). It is well known that A defines a totally unimodular matrix in such case, thus all extreme points of \(\{z : Az\le b\}\) are 0-1 vectors.

Recall that z is an n-dimensional vector, and let m be the dimension of u. In this section we prove the following result:

Lemma 2

Let \((\bar{z}, \bar{u})\) be an extreme point of (46), and let q be the number of rows of H (and G). Then the number of distinct fractional values of \(\bar{z}\) is at most \(q-m\).

Note that by assuming an extreme point \((\bar{z}, \bar{u})\) of (46) exists, we are implicitly assuming \(q\ge m\). In fact, if \((\bar{z}, \bar{u})\) is an extreme point of (46), then \(\bar{u}\) must be an extreme point of \(\{ u: Gu \le h - H \bar{z}\}\). This, however, requires that G have at least m rows, thus implying that \(q-m \ge 0\) holds.

An almost identical result is originally proved in [5]. We present such proof here, adapted to our notation and including the u variables, which modifies the final result. Note that this theorem also applies to every restricted BZ master problem (38), since the latter is obtained by simply equating sets of variables of (37), thus maintaining the same structure.

To prove Lemma 2 we will make use of the elementary basis introduced in Sect. 5.3, that is, we write

$$\begin{aligned} \bar{z} = \sum \limits _{i=1}^{k} \lambda _i \bar{v}^i \end{aligned}$$

where \(\{\lambda _1, \ldots , \lambda _k\} \) are the distinct non-zero values of \(\bar{z}\), and each \(\bar{v}^i\) is the corresponding indicator vector for \(\bar{z} = \lambda _i\). Without loss of generality we assume \(\lambda _1 = 1\), so the fractional values of \(\bar{z}\) are given by \(\{\lambda _2, \ldots , \lambda _k\}\).

Lemma 3

Let \((\bar{z}, \bar{u})\) be an extreme point of (46), and decompose \(\bar{z}\) as above. Additionally, denote \(\bar{A}\) the sub-matrix of A corresponding to binding constraints at \((\bar{z}, \bar{u})\). Then \(\bar{v}^i \in \text {null}(\bar{A})\) for all \(2\le i \le k\), and they are linearly independent.


The \(\bar{v}^i\) vectors are clearly linearly independent since they have disjoint support. As for the first claim, consider a precedence constraint \(z_i \le z_j\) \((i,j) \in I\). If such constraint is binding in \((\bar{z}, \bar{u})\) then \(\bar{z}_i = \bar{z}_j\), which implies

$$\begin{aligned} \bar{v}^l_i = 1 \Longleftrightarrow \bar{v}^l_j = 1,\quad l = 1,\ldots , k \end{aligned}$$

thus, \(\bar{v}^l_i = \bar{v}^l_j \) \(\forall l\). On the other hand, if a constraint \(z_i \le 1\) or \(z_i \ge 0\) is binding at \((\bar{z}, \bar{u})\) then clearly \(\bar{v}_j^l = 0\) for \(l\ge 2\). This proves \(\bar{A} \bar{v}^l = 0\) for \(2\le l \le k\).

Lemma 4

Let \((\bar{z}, \bar{u})\) and q be as in Lemma 2. Additionally, let \(\bar{A}\) be the sub-matrix of A corresponding to binding constraints at \((\bar{z}, \bar{u})\). Then \(\text {dim}\left( \text {null}(\bar{A}) \right) \le q - m\).


Let \(\bar{H}, \bar{G}\) be the set of rows of H and G corresponding to active constraints in \((\bar{z}, \bar{u})\). Since this is an extreme point, the matrix

$$\begin{aligned} \left[ \begin{array}{cc} \bar{A} &{} 0 \\ \bar{H} &{} \bar{G} \end{array} \right] \end{aligned}$$

must contain at least \(n+m\) linearly independent rows. Suppose \([ \bar{H}\ \bar{G}]\) has \(\bar{q}\) linearly independent rows. This implies \(\bar{A}\) must have \(n+m - \bar{q}\) linearly independent rows, and in virtue of the rank-nullity theorem,

$$\begin{aligned} \text {dim}\left( \text {null}(\bar{A}) \right) = n - \text {rank}(\bar{A}) = \bar{q} - m \le q - m \end{aligned}$$

Lemma 2 is then obtained as a direct corollary of Lemmas 3 and 4, since these two prove \(k-1 \le q - m\), and \(k-1\) is exactly the number of fractional values of \(\bar{z}\).

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Muñoz, G., Espinoza, D., Goycoolea, M. et al. A study of the Bienstock–Zuckerberg algorithm: applications in mining and resource constrained project scheduling. Comput Optim Appl 69, 501–534 (2018). https://doi.org/10.1007/s10589-017-9946-1

Download citation


  • Column generation
  • Dantzig–Wolfe
  • Optimization