Skip to main content
Log in

Two-stage stochastic lot-sizing problem under cost uncertainty

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

For production planning problems, cost parameters can be uncertain due to marketing activities and interest rate fluctuation. In this paper, we consider a single-item two-stage stochastic lot-sizing problem under cost parameter uncertainty. Assuming cost parameters will increase or decrease after time period p each with certain probability, we minimize the total expected cost for a finite horizon problem. We develop an extended linear programming formulation in a higher dimensional space that can provide integral solutions by showing that its constraint matrix is totally unimodular. We also project this extended formulation to a lower dimensional space and obtain a corresponding extended formulation in the lower dimensional space. Final computational experiments demonstrate that the extended formulation is more efficient and performs more stable than the two-stage stochastic mixed-integer programming formulation.

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

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Ahmed, S., & Garcia, R. (2003). Dynamic capacity acquisition and assignment under uncertainty. Annals of Operations Research, 124, 267–283.

    Article  Google Scholar 

  • Ahmed, S., King, A. J., & Parija, G. (2003). A multi-stage stochastic integer programming approach for capacity expansion under uncertainty. Journal of Global Optimization, 26, 3–24.

    Article  Google Scholar 

  • Barany, I., Van Roy, T. J., & Wolsey, L. A. (1984). Uncapacitated lot-sizing: the convex hull of solutions. Mathematical Programming Studies, 22, 32–43.

    Article  Google Scholar 

  • Birge, J., & Louveaux, F. (1997). Introduction to stochastic programming. Berlin: Springer.

    Google Scholar 

  • Campa, J., & Goldberg, L. (2005). Exchange rate pass through into import prices. Review of Economics and Statistics, 87, 679–690.

    Article  Google Scholar 

  • Di Summa, M., & Wolsey, L. A. (2008). Lot-sizing on a tree. Operations Research Letters, 36, 7–13.

    Article  Google Scholar 

  • Feiringa, B. R., & Sastri, T. (1990). Improving production planning by utilizing stochastic programming. Computers & Industrial Engineering, 19, 53–56.

    Article  Google Scholar 

  • Guan, Y., & Miller, A. J. (2008). Polynomial-time algorithms for stochastic uncapacitated lot-sizing problems. Operations Research, 56, 1172–1183.

    Article  Google Scholar 

  • Guan, Y., Ahmed, S., Miller, A. J., & Nemhauser, G. L. (2006a). On formulations of the stochastic uncapacitated lot-sizing problem. Operations Research Letters, 34, 241–250.

    Article  Google Scholar 

  • Guan, Y., Ahmed, S., Nemhauser, G. L., & Miller, A. J. (2006b). A branch-and-cut algorithm for the stochastic uncapacitated lot-sizing problem. Mathematical Programming, 105, 55–84.

    Article  Google Scholar 

  • Heikkilä, J. (2002). From supply to demand chain management: efficiency and customer satisfaction. Journal of Operations Management, 20, 747–767.

    Article  Google Scholar 

  • Huang, K., & Ahmed, S. (2009). The value of multistage stochastic programming in capacity planning under uncertainty. Operations Research, 57, 893–904.

    Article  Google Scholar 

  • Huang, K., & Küçükyavuz, S. (2008). On stochastic lot-sizing problems with random lead times. Operations Research Letters, 36, 303–308.

    Article  Google Scholar 

  • Jiang, R., & Guan, Y. (2011). An \(\mathcal{O}(n^{2})\)-time algorithm for the stochastic uncapacitated lot-sizing problem with random lead times. Operations Research Letter, 39, 74–77.

    Article  Google Scholar 

  • Küçükyavuz, S., & Pochet, Y. (2007). Uncapacitated lot sizing with backlogging: the convex hull. Mathematical Programming, 118, 151–175.

    Article  Google Scholar 

  • Lee, Y. M., & Chen, E. J. (2005). Case studies: supply chain optimization models in a chemical company. In J. Geunes, E. Akcali, P. M. Pardalos, H. E. Romeijn, & Z. J. Shen (Eds.), Applications of supply chain management and E-commerce research (pp. 453–477). Berlin: Springer.

    Chapter  Google Scholar 

  • Narasimhan, C. (1988). Competitive promotional strategies. The Journal of Business, 61, 427–449.

    Article  Google Scholar 

  • Nemhauser, G. L., & Wolsey, L. A. (1999). Integer and combinatorial optimization. New York: Wiley.

    Google Scholar 

  • Pochet, Y., & Wolsey, L. A. (1988). Lot-size models with backlogging: strong reformulations and cutting planes. Mathematical Programming, 40, 317–335.

    Article  Google Scholar 

  • Pochet, Y., & Wolsey, L. A. (1994). Polyhedra for lot-sizing with Wagner-Whitin costs. Mathematical Programming, 67, 297–323.

    Article  Google Scholar 

  • Pochet, Y., & Wolsey, L. (2006). Production planning using mixed integer programming. Berlin: Springer.

    Google Scholar 

  • Simester, D. (1997). Optimal promotion strategies: a demand-sided characterization. Management Science, 43, 251–256.

    Article  Google Scholar 

  • Terkaj, W., & Tolio, T. (2006). A stochastic approach to the FMS loading problem. Journal of Manufacturing Systems, 35, 481–490.

    Google Scholar 

  • Wagelmans, A., van Hoesel, C., & Kolen, A. (1992). Economic lot sizing: an O(nlogn) algorithm that runs in linear time in the Wagner-Whitin case. Operations Research, 40, 145–156.

    Article  Google Scholar 

  • Wagner, H. M., & Whitin, T. M. (1958). Dynamic version of the economic lot size model. Management Science, 5, 89–96.

    Article  Google Scholar 

  • Zanjania, M. K., Nourelfatha, M., & Ait-Kadia, D. (2010). A multi-stage stochastic programming approach for production planning with uncertainty in the quality of raw materials and demand. International Journal of Production Research, 48, 4701–4723.

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to thank the editor and the two anonymous referees for their helpful suggestions on improving the quality of this paper. This research was partially supported by the U.S. National Science Foundation under Award CMMI0700868 and under CAREER Award CMMI0748204.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yongpei Guan.

Appendix:  Proof of Proposition 2

Appendix:  Proof of Proposition 2

To show that the constraint matrix described by constraints (4), (5), (10)–(14), and (16) is totally unimodular, we order variables f i , g i , and z i with loop i ranging from 1 to \(|\mathcal{V}|\). Variable \(m^{i}_{t}\) is ordered with an outer loop i ranging from 1 to \(|\mathcal{V}|\), and an inner loop t ranging from t(i)+1 to T. Variable \(n^{i}_{t}\) is ordered with an outer loop i ranging from 1 to \(|\mathcal{V}|\), and an inner loop t ranging from 1 to t(i). Table 8 shows the constraint matrix corresponding to Fig. 2.

Table 8 The matrix of constraints (4), (5), (10) to (14), and (16) for the example in Fig. 2

As the submatrix corresponding to variable \(n^{i}_{t}\) is an identity matrix for \(i\in\mathcal{V}\) and tt(i), we do not need to consider \(n^{i}_{t}\) in our construction. As the submatrix corresponding to variable \(m^{i}_{t}\) is an identity matrix for t(i)≥t(p)+2, \(i\in\mathcal{V}\), and tt(i)+1, we only need to consider \(m^{i}_{t}\), 1≤t(i)≤t(p)+1, tt(i)+1 in our construction. In the following, we only study the constraint submatrix for the variables we need to consider, denoted as matrix A.

We show that for any column subset J of matrix A, there exist partitions J 1 and J 2 of J such that

$$ \biggl|\sum_{j\in J_1} a_{ij} - \sum_{j\in J_2} a_{ij}\biggr| \leq1 $$
(27)

for all i. We partition variables f, g, z, m in J starting from branching node p and then, extend it in both directions to nodes after p and before p.

First, we define M(i) as the closest ancestor of node i such that z M(i)J and m(i) as the closest descendant of node i such that z m(i)J.

In the following Steps 1 to 5, we allocate the decision variables m and z to J 1 and J 2:

Step 1.:

Allocate \(m^{p}_{t}\) to J 1, z p to J 1, and \(z_{q_{w}}\) to J 2, where tt(p)+1, \(q_{w} \in\mathcal{C}(p)\).

Step 2.:

Allocate \(m^{q_{w}}_{t}\), tt(p)+2 to the same set as \(z_{q_{w}}\) (if \(z_{q_{w}} \in J\)), or to the same set as \(m^{p}_{t}\) (if \(z_{q_{w}} \notin J\) and \(m^{p}_{t}\in J\)), or to J 1 (if \(z_{q_{w}}\notin J\) and \(m^{p}_{t}\notin J\)).

Step 3.:

Allocate z i , t(i)≥t(p)+2, to the opposite set of z M(i), if M(i) exists and t(M(i))≥t(p). Otherwise, allocate z i to the opposite set of \(m^{p}_{t}\) if \(m^{p}_{t}\in J\). If \(m^{p}_{t} \notin J\), then allocate z i to J 2.

Step 4.:

Allocate z i , 1≤ip−1, to the opposite set of z m(i), if m(i) exists and t(m(i))≤t(p). Otherwise, allocate z i to J 1.

Step 5.:

Allocate \(m^{i}_{t}\), 1≤ip−1, to the opposite set of z m(i), if m(i) exists and t(m(i))≤t(p). Otherwise, allocate \(m^{i}_{t}\) to J 1.

In the following Steps 6 and 7, we allocate the decision variables f and g to J 1 and J 2:

Step 6.:

Allocate f i to the same set of z M(i) if M(i) exits; allocate f i to the opposite set of z i if M(i) does not exist and z i J; allocate f i to the opposite set of z m(i) if m(i) exists, M(i) does not exist, and z i J; allocate f i to J 1 if m(i) and M(i) do not exist and z i J.

Step 7.:

Allocate g i to the same set of z m(i) if m(i) exists; allocate g i to the opposite set of z i if m(i) does not exist and z i J; allocate g i to the opposite set of z M(i) if m(i) does not exist, M(i) exists, and z i J; allocate g i to J 2 if m(i) and M(i) do not exist and z i J.

Following the above partition steps, we observe the following two properties:

Claim 1

If z i J and M(i) exists, z i goes to the opposite set of z M(i) for all \(i\in{\mathcal{V}}\setminus\{1\}\).

Proof of Claim 1

If 1≤t(M(i))≤t(i)≤t(p), because the closest descendant of M(i) is i and t(i)≤t(p), m(M(i))=i, z M(i) goes to the opposite set of z i based on Step 4.

If 1≤t(M(i))<t(p)<t(i)≤T, z M(i) goes to J 1 based on Step 4 and z i goes to J 2 based on Step 3 (if t(i)≥t(p)+2) or based on Step 1 (if t(i)=t(p)+1).

If t(p)=t(M(i))<t(i)≤T, z M(i) goes to J 1 based on Step 1 (i.e., M(i)=p), z i goes to J 2 based on Step 1 (if i=q w ) or Step 3 (if t(i)≥t(p)+2). Thus, z i goes to the opposite set of z M(i).

If t(p)+1≤t(M(i))<t(i)≤T, z i goes to the opposite set of z M(i) based on Step 3.

Therefore, Claim 1 holds. □

Claim 2

If \(j(w_{k_{1}})\) and \(j(w_{k_{2}})\) are the first second-stage nodes corresponding to scenarios \(w_{k_{1}}\) and \(w_{k_{2}}\) such that \(z_{j(w_{k_{1}})}, z_{j(w_{k_{2}})} \in J\), then \(z_{j(w_{k_{1}})}\) and \(z_{j(w_{k_{2}})}\) go to the same set.

Proof of Claim 2

For any first second-stage node j(w), if j(w)=q w , then z j(w) goes to J 2 based on Step 1, otherwise j(w) goes to J 2 based on Step 3 due to the fact that j(w) is the first second-stage node in J and on the branch corresponding to w and t(p)≤t(j(w))≤T. Thus, the claim holds. □

Now, we verify that (27) holds for constraints (4), (5), (10)–(14), and (16) under the above partition. First, corresponding to each row, if J contains at most one decision variable in A, then it is obvious that (27) holds. In the following, we consider the case in which J contains at least two decision variables in each row of A.

  1. 1.

    For constraint (4), we discuss the following four cases:

    1. 1.1

      {f i ,g i }⊆J and z i J

      1. 1.1.1

        If both M(i) and m(i) exist, f i goes to the same set of z M(i) based on Step 6; g i goes to the same set of z m(i) based on Step 7. Because M(m(i))=M(i) (due to z i J), z m(i) goes to the opposite set of z M(i) based on Claim 1. Thus, f i goes to the opposite set of g i . Then, (27) holds.

      2. 1.1.2

        If M(i) exists and m(i) does not exist, f i goes to the same set of z M(i) based on Step 6; g i goes to the opposite set of z M(i) based on Step 7. Thus, f i goes to the opposite set of g i .

      3. 1.1.3

        If m(i) exists and M(i) does not exist, g i goes to the same set of z m(i) based on Step 7; f i goes to the opposite set of z m(i) based on Step 6. Thus, f i goes to the opposite set of g i .

      4. 1.1.4

        If neither m(i) nor M(i) exists, f i and g i go to J 1 and J 2 respectively based on Steps 6 and 7.

    2. 1.2

      {g i ,z i }⊆J and f i J

      1. 1.2.1

        If m(i) exists, then g i goes to the same set of z m(i) based on Step 7. Because M(m(i))=i, z m(i) goes to the opposite set of z i based on Claim 1. Thus, g i goes to the opposite set of z i . Then, (27) holds.

      2. 1.2.2

        If m(i) does not exist, g i goes to the opposite set of z i based on Step 7. Thus, (27) holds.

    3. 1.3

      {f i ,z i }∈J and g i J

      1. 1.3.1

        If M(i) exists, f i goes to the same set of z M(i) based on Step 6; z i goes to the opposite set of z M(i) based on Claim 1. Then, f i goes to the opposite set of z i . Thus, (27) holds.

      2. 1.3.2

        If M(i) does not exist, f i goes to the opposite set of z i based on Step 6. Thus, (27) holds.

    4. 1.4

      {f i ,g i ,z i }∈J. This conclusion directly follows 1.3, because f i goes to the opposite set of z i . Then, (27) holds no matter where g i goes.

  2. 2.

    For constraint (5), we discuss the following four cases:

    1. 2.1

      If {g i ,z i }∈J and g a(i)J this condition is the same as 1.2. Thus, (27) holds.

    2. 2.2

      If {g a(i),z i }∈J and g i J, g a(i) goes to the same set as z i due to z i =z m(a(i)) based on Step 7. Thus, (27) holds.

    3. 2.3

      If {g i ,g a(i)}∈J and z i J, we first have m(i)=m(a(i)). If (a) m(i)=m(a(i)) exists, then g i and g a(i) go to the same set as z m(i) based on Step 7. If (b) m(i)=m(a(i)) does not exist and z a(i)J, then g a(i) goes to the opposite set of z a(i) based on Step 7. Also, because z a(i)J, we have z M(i)=z a(i). Then, g i goes to the opposite set of z a(i) based on Step 7. Thus, g i and g a(i) go to the same set. If (c) m(i)=m(a(i)) does not exist, z a(i)J and M(a(i)) exists, then z M(i)=z M(a(i)). Because z i J, g i and g a(i) go to the opposite set of z M(i)=z M(a(i)) based on Step 7. Thus, g i and g a(i) go to the same set. If (d) m(i)=m(a(i)), M(a(i)) does not exist, z a(i)J, then both g i and g a(i) go to J 2 based on Step 7.

    4. 2.4

      If {g i ,g a(i),z i }∈J, this conclusion directly follows 2.2, because g a(i) and z i go to the same set. Then, (27) holds no matter where g i goes.

  3. 3.

    For constraint (10), we consider two cases:

    1. 3.1

      t(i)≥t(p)+2. For this case, we do not need to consider \(m^{i}_{t}\) based on the identity matrix argument at the beginning of the proof. Then, based on Step 6, f ξ(i,t,w) goes to the same set of z M(ξ(i,t,w)), where z M(ξ(i,t,w))J and the corresponding M(ξ(i,t,w)) is the largest-index such node in path \({\mathcal{P}}^{i}_{t}(w)\) with \({\mathcal{P}}^{i}_{t}(w)\) representing the set of nodes on the path from node i to a node at time period t and on the branch corresponding to scenario w. Note that there must exist at least one such M(ξ(i,t,w)) based on the assumption that we have at least two elements in J for each constraint. Based on Step 4, z j alternatively goes to J 1 and J 2 based on Step 4, where t(p)+2≤t(j)≤t. Thus, (27) holds.

    2. 3.2

      t(i)=t(p)+1. For this case, i=q w , for some 1≤wW. We discuss the following two cases:

      1. 3.2.1

        If \(m^{q_{w}}_{t}\notin J\), this argument is the same as 3.1. Thus, (27) holds.

      2. 3.2.2

        If \(m^{q_{w}}_{t}\in J\), under this condition, we discuss \(f_{\xi(q_{w},t,w)}\notin J\) and \(f_{\xi(q_{w},t,w)}\in J\) respectively.

        1. 3.2.2.1

          \(f_{\xi(q_{w},t,w)}\notin J\). Under this case, if \(z_{q_{w}}\in J\), \(m^{q_{w}}_{t}\) and \(z_{m(q_{w})}\) go to the same set and the opposite set of \(z_{q_{w}}\) based on Steps 2 and 3 respectively; if \(z_{q_{w}}\notin J\), \(m^{q_{w}}_{t}\) goes to the same set as \(m^{p}_{t}\) (i.e., J 1) if \(m^{p}_{t}\in J\) or J 1 if \(m^{p}_{t}\notin J\) based on Step 2 and similarly \(z_{m(q_{w})}\) goes to J 2 based on Step 3. Thus, \(m^{q_{w}}_{t}\) and \(z_{m(q_{w})}\) go to the opposite sets. Besides these, z j J alternatively goes to J 1 and J 2 where t(p)+2≤t(j)≤t based on Step 3. Thus, (27) holds.

        2. 3.2.2.2

          \(f_{\xi(q_{w},t,w)}\in J\). Under this case, we discuss two cases depending on if there exists a node \(j\in{\mathcal{P}}^{i}_{t}(w)\setminus\{i, \xi(i, t, w)\}\) such that z j J.

          3.2.2.2.1  If no such node j exists, then \(\{f_{\xi(q_{w},t,w)}, m^{q_{w}}_{t}\}\in J\), based on our assumption that at least two elements in each constraint in matrix A. If \(z_{q_{w}}\in J\), M(ξ(q w ,t,w))=q w due to z j J for each \(j \in{\mathcal{P}}^{i}_{t}(w)\setminus\{i, \xi(i, t, w)\}\). Based on Steps 6 and 2, \(f_{\xi(q_{w},t,w)}\) and \(m^{q_{w}}_{t}\) go to the same set of \(z_{q_{w}}\). If \(z_{q_{w}}\notin J\), based on Step 2, \(m^{q_{w}}_{t}\) goes to J 1. In the following, we prove that \(f_{\xi (q_{w}, t,w)}\) goes to J 1 in this case. Based on Step 6, \(f_{\xi(q_{w}, t, w)}\) goes to (a) the same set of \(z_{M(\xi(q_{w}, t, w))}\) if M(ξ(q w ,t,w)) exists, (b) the opposite set of \(z_{\xi(q_{w}, t, w)}\) if M(ξ(q w ,t,w)) does not exist and \(z_{\xi(q_{w}, t,w)}\in J\), (c) the opposite set of \(z_{m(\xi(q_{w}, t,w))}\) if m(ξ(q w ,t,w)) exists, M(ξ(q w ,t,w)) does not exist, and \(z_{\xi(q_{w}, t,w)} \notin J\), or (d) J 1 if M(ξ(q w ,t,w)) and m(ξ(q w ,t,w)) do not exist, and \(z_{\xi (q_{w}, t,w)} \notin J\). For (a), M(ξ(q w ,t,w)) exists and \(z_{q_{w}} \notin J\). Based on Step 4, \(z_{M(\xi(q_{w}, t, w))}\) goes to J 1, because 1≤t(M(ξ(q w ,t,w)))≤t(p). For (b), \(z_{\xi (q_{w}, t, w)}\in J\), \(z_{q_{w}}\notin J\), and M(ξ(q w ,t,w)) does not exist. Then, \(z_{\xi(q_{w}, t, w)}\) goes to J 2 based on Step 3 and accordingly \(f_{\xi(q_{w}, t, w)}\) goes to J 1. For (c), \(z_{m(\xi(q_{w},t,w))}\in J\), and \(z_{\xi(q_{w}, t, w)}, z_{M(\xi(q_{w}, t, w))}, z_{q_{w}}\notin J\). Then, \(z_{m(\xi(q_{w},t,w))}\) goes to J 2 based on Step 3. Thus, accordingly \(f_{\xi(q_{w}, t, w)}\) goes to J 1. Then, \(f_{\xi(q_{w}, t, w)}\) and \(m^{q_{w}}_{t}\) go to the same set.

          3.2.2.2.2  If there exists such a node j, then \(f_{\xi(q_{w},t,w)}\) goes to the same set of \(z_{M(\xi(q_{w}, t, w))}\) based on Step 6. If \(z_{q_{w}}\in J\), \(m^{q_{w}}_{t}\) goes to the same set of \(z_{q_{w}}\) based on Step 2, and \(z_{m(q_{w})}\) goes to the opposite set of \(z_{q_{w}}\) based on Step 3. If \(z_{q_{w}}\notin J\), \(m^{q_{w}}_{t}\) goes to J 1 based on Step 2 and \(z_{m(q_{w})}\) goes to J 2 based on Step 3. Thus, for both \(z_{q_{w}}\in J\) and \(z_{q_{w}}\notin J\), \(m^{q_{w}}_{t}\) goes to the opposite set of \(z_{m(q_{w})}\). Besides these, z j alternatively goes to J 1 and J 2, \(j\in {\mathcal{P}}^{i}_{t}(w)\setminus\{i,\xi(i,t,w)\}\). Thus, (27) holds.

  4. 4.

    For constraint (11), we only need to consider the case in which \(\{m^{i}_{t}, f_{i+1}\}\in J\).

    1. 4.1

      If M(i+1) exists, f i+1 goes to the same set as z M(i+1) based on Step 6. If m(i) exists and t(m(i))≤t(p), \(m^{i}_{t}\) goes to the opposite set of z m(i) based on Step 5. Because m(i)=m(M(i+1)), z M(i+1) and z m(i) go to the opposite set based on Step 4. Thus, f i+1 and \(m^{i}_{t}\) go to the same set. If m(i) does not exist, or m(i) exists and t(m(i))>t(p), then m(M(i+1)),t(m(M(i+1)))≤t(p), does not exist. Thus, z M(i+1) and \(m^{i}_{t}\) go to J 1 based on Steps 4 and 5. Thus, \(m^{i}_{t}\) and f i+1 go to the same set. Therefore, (27) holds.

    2. 4.2

      If M(i+1) does not exist and z i+1J, then m(i)=i+1. Thus, \(m^{i}_{t}\) and f i+1 go to the opposite set of z i+1 based on Steps 5 and 6. Thus, (27) holds.

    3. 4.3

      If M(i+1) does not exist, z i+1J, and m(i+1) exists, then, m(i)=m(i+1). If 1≤t(m(i+1))≤t(p), \(m^{i}_{t}\) and f i+1 go to the opposite set of z m(i+1) based on Steps 5 and 6; otherwise, if t(m(i+1))>t(p), \(m^{i}_{t}\) goes to J 1 and f i+1 goes to the opposite set of z m(i+1). Since z m(i+1) goes to J 2 based on Step 1 (if t(m(i+1))=t(p)+1) or Step 3 (under this case, M(m(i+1)) does not exist), f i+1 and \(m^{i}_{t}\) go to the same set. Then, (27) holds.

    4. 4.4

      If neither M(i+1) nor m(i+1) exists and z i+1J, then \(m^{i}_{t}\) and f i+1 go to J 1 based on Steps 5 and 6. Then, (27) holds.

  5. 5.

    For constraint (12), we discuss the following four cases:

    1. 5.1

      \(\{m^{i}_{t},z_{i+1} \}\subseteq J\), and \(m^{i+1}_{t}\notin J\). Based on Step 5, \(m^{i}_{t}\) goes to the opposite set of z i+1 since z i+1 is the closest descendant of node i. Thus, (27) holds.

    2. 5.2

      \(\{m^{i+1}_{t},z_{i+1} \}\subseteq J\), and \(m^{i}_{t} \notin J\). Under this case, \(m^{i+1}_{t}\) and z i+1 will go to the same set, because both z i+1 and \(m^{i+1}_{t}\) are in the opposite set of z m(i+1), if m(i+1) exists and t(m(i+1))≤t(p) or in J 1 otherwise, based on Steps 4 and 5.

    3. 5.3

      \(\{m^{i}_{t},m^{i+1}_{t} \}\subseteq J\), and z i+1J. Because z i+1J, \(m^{i}_{t}\) and \(m^{i+1}_{t}\) are in the same set based on Step 5.

    4. 5.4

      \(\{m^{i}_{t},m^{i+1}_{t},z_{i+1} \}\subseteq J\). The conclusion follows from Step 5. Variable \(m^{i}_{t}\) goes to the opposite set of z i+1, since z i+1 is the closest descendant of node i. Then, (27) holds no matter where \(m^{i+1}_{t}\) goes.

  6. 6.

    For constraint (13), we only need to consider the case in which \(\{f_{q_{w}}, m^{p}_{t}\} \subseteq J\). Based on Step 1, \(m^{p}_{t}\) goes to J 1. In the following, we show that \(f_{q_{w}}\) goes to J 1.

    1. 6.1

      If M(q w ) exists, then \(z_{M(q_{w})}\) goes to J 1 based on Step 1 if M(q w )=p, or Step 4 if t(m(M(q w )))≤t(p)−1. Thus, based on Step 6, \(f_{q_{w}}\) goes to the same set of \(z_{M(q_{w})}\), which is J 1.

    2. 6.2

      If \(z_{q_{w}}\in J\), M(q w ) does not exist, then \(z_{q_{w}}\) goes to J 2 based on Step 1. Based on Step 6, \(f_{q_{w}}\) goes to the opposite set of \(z_{q_{w}}\), which is J 1.

    3. 6.3

      If m(q w ) exists, \(z_{q_{w}} \notin J\) and M(q w ) does not exist, then t(m(q w ))≥t(p)+2 and \(z_{m(q_{w})}\) goes to the opposite set of \(m^{p}_{t}\) based on Step 3. Based on Step 6, we have \(f_{q_{w}}\) goes to the opposite set of \(z_{m(q_{w})}\). Thus, \(f_{q_{w}}\) and \(m^{p}_{t}\) go to the same set, which is J 1.

    4. 6.4

      If m(q w ) and M(q w ) do not exist and \(z_{q_{w}}\notin J\), then \(f_{q_{w}}\) goes to J 1 based on Step 6.

  7. 7.

    For constraint (14), we need to consider the following four cases:

    1. 7.1

      \(\{m^{p}_{t},z_{q_{w}} \}\subseteq J\) and \(m^{q_{w}}_{t}\notin J\). Based on Step 1, \(m^{p}_{t}\) and \(z_{q_{w}}\) go to J 1 and J 2, respectively. Thus, (27) holds.

    2. 7.2

      \(\{m^{q_{w}}_{t}, z_{q_{w}} \}\subseteq J\) and \(m^{p}_{t}\notin J\). \(m^{q_{w}}_{t}\) and \(z_{q_{w}}\) go to the same set based on Step 2.

    3. 7.3

      \(\{m^{p}_{t},m^{q_{w}}_{t} \}\subseteq J\) and \(z_{q_{w}}\notin J\). Under this case, \(m^{p}_{t}\) and \(m^{q_{w}}_{t}\) go to the same set based on Step 2.

    4. 7.4

      \(\{m^{p}_{t},m^{q_{w}}_{t}, z_{q_{w}}\}\subseteq J\). Under this case, \(m^{p}_{t}\) and \(z_{q_{w}}\) go to J 1 and J 2, respectively based on Step 1. Then, (27) holds no matter where \(m^{q_{w}}_{t}\) goes.

  8. 8.

    For constraint (16), we do not need to consider \(n^{i}_{t}\) based on the identity matrix argument at the beginning of the proof. Based on Step 7, g η(i,t) goes to the same set of z m(η(i,t)). Note here, there must exist m(η(i,t)) based on the assumption that we have at least two elements in J. If t(m(η(i,t)))≤t(p) or t(η(i,t))≥t(p)+1, then η(i,t) and m(η(i,t)) are one-to-one corresponding. Otherwise, all z m(η(i,t)) in different scenarios go to the same set based on Claim 2 because t(m(η(i,t)))≥t(p)+1. Besides these, z j alternatively goes to J 1 and J 2 based on Claim 1. Thus, (27) holds.

Therefore, the desired property (27) holds for constraints (4), (5), (10)–(14), and (16), and the corresponding constraint matrix is totally unimodular.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Zhou, Z., Guan, Y. Two-stage stochastic lot-sizing problem under cost uncertainty. Ann Oper Res 209, 207–230 (2013). https://doi.org/10.1007/s10479-013-1333-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-013-1333-4

Keywords

Navigation