## Abstract

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.

## References

- 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.
Artigues, C., Demassey, S., Neron, E.: Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications, vol. 37. Wiley, Hoboken (2010)

- 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.
Bertsimas, D., Tsitsiklis, J.: Introduction to Linear Optimization, vol. 6. Athena Scientific, Belmont (1997)

- 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.
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.
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) - 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) - 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) - 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) - 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.
Dantzig, G., Wolfe, P.: Decomposition principle for linear programs. Oper. Res.

**8**(1), 101–111 (1960) - 13.
Dassault Systèmes: GEOVIA Whittle (2015). http://www.gemcomsoftware.com/products/whittle

- 14.
Debels, D., Vanhoucke, M.: A decomposition-based genetic algorithm for the resource-constrained project-scheduling problem. Oper. Res.

**55**(3), 457–469 (2007) - 15.
Deswik: Deswik.sched (2015). https://www.deswik.com/product-detail/deswik-scheduler/

- 16.
Espinoza, D., Goycoolea, M., Moreno, E., Newman, A.: Minelib: A library of open pit mining problems. Ann. Oper. Res.

**206**, 93–114 (2013) - 17.
Fisher, M.: Optimal solution of scheduling problems using Lagrange multipliers: part I. Oper. Res.

**21**(5), 1114–1127 (1973) - 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.
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) - 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) - 21.
Hochbaum, D.: The pseudoflow algorithm: a new algorithm for the maximum-flow problem. Oper. Res.

**56**, 992–1009 (2008) - 22.
Hustrulid, W., Kuchta, K. (eds.): Open Pit Mine Planning and Design. Taylor and Francis, London (2006)

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

- 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.
Kolisch, R., Sprecher, A.: PSPLIB—a project scheduling problem library. Eur. J. Oper. Res.

**96**(1), 205–216 (1997) - 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) - 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) - 28.
MineMax: iGantt. https://www.minemax.com/solutions/products/igantt (2015)

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

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

- 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) - 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) - 33.
Newman, A., Rubio, E., Caro, R., Weintraub, A., Eurek, K.: A review of operations research in mine planning. Interfaces

**40**, 222–245 (2010) - 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) - 35.
O’Sullivan, D., Newman, A.: Extraction and backfill scheduling in a complex underground mine. Interfaces

**44**(2), 204–221 (2014) - 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) - 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.
Pritsker, A., Waiters, L., Wolfe, P.: Multiproject scheduling with limited resources: a zero-one programming approach. Manag. Sci.

**16**(1), 93–108 (1969) - 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)

## Author information

### Affiliations

### Corresponding author

## 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).

## Appendices

### 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)

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

we obtain inequality (14):

where

### Proof

### 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,

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

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

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 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,

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

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

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

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.

### Proof

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

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\).

### Proof

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

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,

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

## About this article

### 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

Received:

Published:

Issue Date:

### Keywords

- Column generation
- Dantzig–Wolfe
- Optimization
- RCPSP