Skip to main content
Log in

Subcontracting and lot-sizing with constant capacities

  • Full Length Paper
  • Series A
  • Published:
Mathematical Programming Submit manuscript

Abstract

In this paper, we consider the subcontracting and single-item lot-sizing problem with constant capacities, which is uncapacitated in subcontracting but capacitated in production. For a holistic understanding of the problem, an infinite-period model is proposed. Such a model provides a unified view of a capacitated lot-sizing problem. The usefulness of the infinite-period model is shown by the principle that the firm’s production schedule drives the subcontractor’s supply schedule. For efficient construction of the production schedule, an innovative technique–coined using the concept of the shadow period–is presented to designate the optimal marginal supply cost. The success of the infinite-period model is finally proved with the concept of the effective period, indicating the supply coverage over periods. This fills the gap between the uncapacitated techniques and the capacitated techniques, making it possible to apply the best techniques from the lot-sizing literature. With this novel approach, we improve existing algorithms and provide new ones for concave production and supply cost structures involving setups.

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.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Aggarwal, A., Klawe, M., Moran, S., Shor, P., Wilber, R.: Geometric applications of a matrix searching algorithm. Algorithmica 2(1), 195–208 (1987)

    Article  MathSciNet  Google Scholar 

  2. Aggarwal, A., Park, J.K.: Improved algorithms for economic lot size problems. Oper. Res. 41(3), 549–571 (1993)

    Article  MathSciNet  Google Scholar 

  3. Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network flows. Prentice Hall, Cityplace Englewood Cliffs (1993)

    MATH  Google Scholar 

  4. Aksen, D., Altınkemer, K., Chand, S.: The single-item lot-sizing problem with immediate lost sales. Eur. J. Oper. Res. 147(3), 558–566 (2003)

    Article  MathSciNet  Google Scholar 

  5. Atamtürk, A., Hochbaum, D.S.: Capacity acquisition, subcontracting, and lot sizing. Manag. Sci. 47(8), 1081–1100 (2001)

    Article  Google Scholar 

  6. Brahimi, N., Absi, N., Dauzère-Pérès, S., Nordli, A.: Single-item dynamic lot-sizing problems: an updated survey. Eur. J. Oper. Res. 263(3), 838–863 (2017)

    Article  MathSciNet  Google Scholar 

  7. Chung, C.-S., Lin, C.-H.M.: An \({O}({T}^2)\) algorithm for the NI/G/NI/ND capacitated lot size problem. Manag. Sci. 34(3), 420–426 (1988)

    Article  Google Scholar 

  8. Federgruen, A., Tzur, M.: A simple forward algorithm to solve general dynamic lot sizing models with \(n\) periods in \({O}(n\log n)\) or \({O}(n)\) time. Manag. Sci. 37(8), 909–925 (1991)

    Article  Google Scholar 

  9. Florian, M., Klein, M.: Deterministic production planning with concave costs and capacity constraints. Manag. Sci. 18(1), 12–20 (1971)

    Article  MathSciNet  Google Scholar 

  10. Hwang, H.-C., van den Heuvel, W., Wagelmans, A.P.: The economic lot-sizing problem with lost sales and bounded inventory. IIE Trans. 45(8), 912–924 (2013)

    Article  Google Scholar 

  11. Lee, C.-Y.: A solution to the multiple set-up problem with dynamic. demand. IIE Trans. 21(3), 266–270 (1989)

    Article  Google Scholar 

  12. Lee, C.-Y., Li, X.: Economic lot sizing: the capacity reservation model. Oper. Res. Lett. 41(6), 670–674 (2013)

    Article  MathSciNet  Google Scholar 

  13. Merzifonluoğlu, Y., Geunes, J., Romeijn, H.E.: Integrated capacity, demand, and production planning with subcontracting and overtime options. Nav. Res. Logist. 54(4), 433–447 (2007)

    Article  MathSciNet  Google Scholar 

  14. Sandbothe, R.A., Thompson, G.L.: A forward algorithm for the capacitated lot size model with stockouts. Oper. Res. 38(3), 474–486 (1990)

    Article  MathSciNet  Google Scholar 

  15. van Hoesel, C., Wagelmans, A.P.M.: An \({O}({T}^3)\) algorithm for the economic lot-sizing problem with constant capacities. Manag. Sci. 42(1), 142–150 (1996)

    Article  Google Scholar 

  16. van Hoesel, S., Wagelmans, A., Moerman, B.: Using geometric techniques to improve dynamic programming algorithms for the economic lot-sizing problem and extensions. Eur. J. Oper. Res. 75(2), 312–331 (1994)

    Article  Google Scholar 

  17. Van Vyve, M.: Algorithms for single-item lot-sizing problems with constant batch size. Math. Oper. Res. 32(3), 594–613 (2007)

    Article  MathSciNet  Google Scholar 

  18. Wagelmans, A., van Hoesel, S., Kolen, A.: Economic lot sizing: an \({O}(n\log n)\) algorithm that runs in linear time in the wagner-whitin case. Oper. Res. 40(1–supplement–1), S145–S156 (1992)

    Article  Google Scholar 

  19. Wagner, H.M., Whitin, T.M.: Dynamic version of the economic lot size model. Manag. Sci. 5(1), 89–96 (1958)

    Article  MathSciNet  Google Scholar 

  20. Zhang, M., Küçükyavuz, S., Yaman, H.: A polyhedral study of multiechelon lot sizing with intermediate demands. Oper. Res. 60(4), 918–935 (2012)

    Article  MathSciNet  Google Scholar 

  21. Zhao, M., Zhang, M.: Multiechelon lot sizing: new complexities and inequalities. Oper. Res. 68(2), 534–551 (2020)

    MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The author thanks the reviewers for the constructive comments significantly improving the exposition of the paper. This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education (2017R1D1A1B03032664).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hark-Chin Hwang.

Additional information

Publisher's Note

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

Appendices

Appendix

A Proofs of Propositions 1 and 2

Fig. 4
figure 4

Network flow model for the SCLSP

The network flow model of the SCLSP [5] is reproduced in Fig. 4a in which the source node of \(\sum _{t=1}^T d_t\) units are distributed through the production and subcontracting arcs eventually to demands \(d_1, \ldots , d_T\). Given a solution to the SCLSP (1a)–(1e), a flow is unsaturated if it corresponds to a variable whose value is between its lower and upper bounds. For example, if we have a ‘fractional production’ of \(x_t\) with \(0<x_t<C\), its flow in Fig. 4a is an unsaturated flow.

Proof of Proposition 1

Note that there exists an extreme point solution which has the minimal cost. Consider an extreme point solution that does not satisfy the proposition. Therefore, we have for the extreme point solution \(0<x_t<C\) and \(y_t >0\), or we have unsaturated flows of \(x_t\) and \(y_t\). Then these two flows with the flows of production and subcontracting arcs comprise a cycle as depicted in Fig. 4b, contradicting the cycle-free property. Hence the proposition holds for all extreme point solutions one of which should be an optimal solution. \(\square \)

Proof of Proposition 2

We prove it by contradiction in the same way as in Proposition 1. We consider a regeneration interval [uv] that does not satisfy the proposition. For instance, suppose that we have both fractional production and supply in an extreme point solution, say at periods s and t respectively, \(u\le s\le t\le v\). Then flows of \(x_s\) and \(y_t\) and the inventory flows of \(I_s, I_{s+1},\ldots I_{t-1}\) yield a cycle as depicted in Fig. 4c, which is a contradiction. We can show that the other cases of more than one fractional production period or more than one supply period in [uv] lead to contradictions. This completes the proof. \(\square \)

B Equivalence between infinite-capacity and infinite-period models

In this section, we provide the proof of Theorem 2. Lemma 1, which gives some conditions for checking the non-optimality of a regeneration plan, will be useful in proving the theorem. An optimal regeneration plan for [uv] can be obtained by solving \(\text {IC}(\tau , n)\) enumerating over n. For a given regeneration plan \(\mathcal {R}(u,v)\) generated from algorithm \(\text {IC}(\tau , n)\), it would be necessary to check if it is optimal, more precisely, if \(n\) is optimal. Here we do not provide the complete sufficient conditions for the optimality of \(n\); but instead give conditions to check the non-optimality of \(n\) with the subplan \(\mathcal {R}(u,v)\) (see Table 8). We will first show that a subplan satisfying any conditions of Table 8 is not optimal.

Table 8 Non-optimality conditions of a regeneration plan \(\mathcal {R}\)

Lemma 1

Let \(n^*\) be the number of major supplies in the lexicographical optimal solution of the regeneration problem [uv] with supply at \(\tau \). If \(\mathcal {R}(u,v)\) is the lexicographically optimal plan generated by algorithm \(\text {IC}(\tau , n^*)\), there is no period \(t\in [u,v]\) satisfying the conditions in Table 8 where \(\lambda ^*_\tau \) is the relative supply cost in (11).

Proof

For condition A1 in Table 8, suppose that we have no production in period \(t\in [u,\tau -1]\) and \(r_t\prec \lambda ^*_\tau \). We will show that the subplan is not (lexicographically) optimal by the concavity of \(S_\tau (\cdot )\). We consider a perturbation of \(\mathcal {R}\) in periods t and \(\tau \). Let us decrease C units of the supply in \(\tau \) (keeping the feasibility under Assumption 1) and increase that amount in period t, and let the resulting subplan be \(\mathcal {R}'(u,v)\). Let us examine only the costs associated with periods t and \(\tau \). The associated cost of \(\mathcal {R}\) is \(S_\tau (n^*C+\delta _{})\) and that of \(\mathcal {R}'\) is \(r_t+S_\tau ((n^*-1)C+\delta _{})\). Let the marginal cost of \(S_\tau (\cdot )\) at the argument \(n^*C +\delta \) be \(s^*_\tau \). The concavity of \(S_\tau (\cdot )\) then yields

$$\begin{aligned} S_\tau (n^*C+\delta _{})\ge S_\tau ((n^*-1)C+\delta _{}) + s^*_\tau \cdot C. \end{aligned}$$

But since \(r_t\prec \lambda _\tau \), or \(r_t=p_t(C)\le s^*_\tau C = \lambda ^*_\tau \), we have

$$\begin{aligned} S_\tau (n^*C+\delta _{})\ge S_\tau ((n^*-1)C+\delta _{}) + r_t. \end{aligned}$$

This means that the cost of \(\mathcal {R}'\) is at most that of \(\mathcal {R}\). Furthermore \(\mathcal {R}'\) is lexicographically better than \(\mathcal {R}\). But this is a contradiction to the lexicographical optimality of \(\mathcal {R}\).

We now examine condition A2. We perturb \(\mathcal {R}\) by giving up the production in t and then increasing C units in \(\tau \). Let \(\mathcal {R}'\) be the resulting subplan, whose feasibility is assured by the condition. Since \(S_\tau (\cdot )\) has decreasing marginal cost, the additional C units are supplied at a cost at most \(\lambda _\tau \), which is less than \(r_t\). We thus have a (lexicographically) better subplan \(\mathcal {R}'\) than \(\mathcal {R}\), which is a contradiction. The non-optimality of the conditions B1 and B2, applied when \(t\in [\tau ,v]\), can be demonstrated in similar lines of reasoning as above.

Proof of Theorem 2

Consider the regeneration plan \(\mathcal {R}(u,v)\) from algorithm \(\text {IC}(\tau , n^*)\) and \(\mathcal {R}'(u,v)\) from algorithm \(\text {IP}(\lambda ^*_\tau )\). Let the number of major suppliers in \(\mathcal {R}'(u,v)\) is \(k\ge 0\). Thus the supply amount of \(\mathcal {R}'(u,v)\) is \(kC+\delta _{}\) (and that of \(\mathcal {R}(u,v)\) is \(n^*C+\delta _{}\), \(n^*>0\)).

We will examine three cases: (i) \(\tau =u\), (ii) \(\tau =v\), and (iii) \(u<\tau <v\). We start with the first case (i) where the supply occurs at u. In this case, if \(n^*=k\), then since \(\mathcal {R}\) and \(\mathcal {R}'\) are lexicographical subplans, the production periods of them must be the same. That is, \(\mathcal {R}\) is equivalent to \(\mathcal {R}'\). If \(n^*> k\), then there exists at least one non-production period \(t\in [\tau ,v]\) in \(\mathcal {R}\) but a production period in \(\mathcal {R}'\). This means that \(r_t\prec \lambda ^*_\tau \). If we let t be the earliest among such periods, then this together with \(n^*> k\) implies the movement of C units from period \(\tau \) to t in \(\mathcal {R}\) does not violate feasibility, giving rise to condition B2. This is a contradiction to Lemma 1. If \(n^*< k\), then there exists a production period \(t\in [\tau ,v]\) in \(\mathcal {R}\), which has no production in \(\mathcal {R}'\). From the no-production of t in \(\mathcal {R}'\) we see \(\lambda ^*_\tau \prec r_t\), satisfying condition B1, a contradiction.

Now we consider case (ii) \(\tau =v\). Note that the executed steps in algorithm \(\text {IC}(\tau , n)\) and algorithm \(\text {IP}(\lambda _\tau )\) until period \(\tau -1\) are the same since \(A_{n^*}(t)=A_0(t)\) for \(t=u, u+1, \ldots , \tau -1\). So if \(n^*= k\), we see that the plans \(\mathcal {R}\) and \(\mathcal {R}'\) are equivalent. On the other hand, if \(n^*< k\), it means that \(\mathcal {R}\) has a production period t at which \(\mathcal {R}'\) has no production, implying \(\lambda ^*_\tau \prec r_t\). Let t be the latest one among such periods. It then satisfies condition A2, which is a contradiction. We finally deal with the case \(n^*> k\). This means that there exists a period \(t\in [u,\tau ]\) such that \(\mathcal {R}\) has no production but \(\mathcal {R}'\) has, which means \(r_t\prec \lambda ^*_\tau \), satisfying condition A1.

We are now ready to deal with case (iii) \(u<\tau <v\). Let \(n'\) and \(k'\) be the number of operations (production and supply) at full capacity during \([\tau ,v]\) in \(\mathcal {R}\) and \(\mathcal {R}'\), respectively. Suppose that \(n'=k'\). We note again that the steps of algorithm \(\text {IC}(\tau , n^*)\) and algorithm \(\text {IP}(\lambda ^*_\tau )\) until period \(\tau -1\) are the same. This with \(n'=k'\) proves the equivalence from the same reasoning when \(\tau =u\) treated above.

Let us consider a non-trivial case \(n'<k'\). In this case, \(\mathcal {R}\) has more productions than \(\mathcal {R}'\) in \([u,\tau -1]\). It thus has a production period \(t\in [u,\tau -1]\) in \(\mathcal {R}\) at which \(\mathcal {R}'\) has no production. Let t be the latest among such periods. Note that the no-production of t in \(\mathcal {R}'\) shows that \(\lambda ^*_\tau \prec r_t\). From the no-production of t in \(\mathcal {R}'\) together with the assumption \(n'<k'\), we see moving C units from period t to \(\tau \) does not violate feasibility in \(\mathcal {R}\). Hence condition A2 holds in \(\mathcal {R}\), which is a contradiction.

Finally we deal with the case \(n'>k'\). In this case, \(\mathcal {R}'\) has more productions than \(\mathcal {R}\) in \([u,\tau -1]\). So we have a production period \(t\in [u,\tau -1]\) in \(\mathcal {R}'\) but no production in \(\mathcal {R}\). The production of t in \(\mathcal {R}'\) gives \(r_t\prec \lambda ^*_\tau \), implying that condition A1 holds in \(\mathcal {R}\), which is a contradiction. \(\square \)

C Algorithms for subplans

As defined in Sect. 5, we have five subplans for each regeneration plan \(\mathcal {R}(u,v)\). We first present algorithms for the feasibility and economic subplans (and hence the prior subplan) and then the algorithms for the effective and independent subplans. However, the algorithm for the completion subplan will not be given here explicitly, but is considered in Section 6 in the process of combining the subplans.

1.1 C.1 Algorithms for prior subplan

Feasibility subplans. Let us fix a period u and demonstrate how to construct a sequence of feasibility subplans for [ut], \(t=u, u+1, \ldots , T\). The feasibility subplan \(\mathcal {P}_1(u,u)\) is obtained immediately and so we assume that a feasibility subplan \(\mathcal {P}_1(u,t-1)\) is given, based on which we will construct the next one \(\mathcal {P}_1(u,t)\). Let us consider \(\mathcal {P}_1(u,t)\) in terms of the periods \([u,t-1]\) and period t. The productions just for demands in \([u,t-1]\) are determined by choice periods in \([u,t-1]\). This means that \(\mathcal {P}_1(u,t)\) is an addition of the schedule of production made in t over the given schedule \(\mathcal {P}_1(u,t-1)\). Let \(\pi \) be the list of available periods in nondecreasing order of relative cost at the moment right after the construction of \(\mathcal {P}_1(u,t-1)\). Algorithm 1 shows the formal steps to make the feasibility subplan \(\mathcal {P}_1(u,t)\). Since the feasibility subplan \(\mathcal {P}_1(u,t)\) does not have supply, it is constructed only with the total production cost \(\zeta _{\mathcal {P}_1(u,t)}\).

figure a

If the resulting subplan \(\mathcal {P}_1(u,t)\) is infeasible and hence \(\zeta _{\mathcal {P}_1(u,t)} = \infty \), it means that demands \(d_u, d_{u+1}, \ldots , d_t\) cannot be fulfilled by production in [ut]. This also means that the subplans for \([u,t+1], [u,t+2], \ldots , [u,T]\) are all infeasible and so we set their costs to infinity. In the algorithm, the time to manage the list \(\pi \) with the insertion and deletion operations is \(O(\log T)\) and the time of the others is constant. So, the time of the algorithm for \(\mathcal {P}_1(u,t)\), \(t=u, u+1, \ldots , T\) is \(O(T\log T)\) and that for the subplans \(\mathcal {P}_1(u,t)\), \(1\le u\le t\le T\) is \(O(T^2\log T)\).

Economic and prior subplans. First of all, we recall that the feasibility subplan \(\mathcal {P}_1(u,t)\) presupposes period \(t+1\) as the supply period of a regeneration plan. We also recall that the economic subplan \(\mathcal {P}_2(u,t)\), unlike the feasibility subplan \(\mathcal {P}_1(u,t)\), has productions determined by the choice periods in the posterior interval \([t+1,v]\), which necessarily involves the comparison with the supplier’s relative cost \(\lambda _{t+1}\) or equivalently with \(r_i+\epsilon \) of a shadow period \(i\in [u,T]\) in Corollary 1. Formally, we are going to obtain an economic shadow subplan \(\mathcal {P}_2^i(u,t)\) constructed under the setting \(\lambda _{t+1} = r_i+\epsilon \) for \(\epsilon \in \{-r_0, 0, r_0\}\), \(i=u, u+1,\ldots , T\) where \(r_0\) is as given in (12). For expositional purposes, we assume that an appropriate \(\epsilon \) has been chosen.

During the execution of Algorithm 1, suppose that the available list \(\pi \) of (non-production) periods has been copied and stored in another list \(\pi _{u,t}\) when constructing the feasibility subplan \(\mathcal {P}_1(u,t)\), which takes at most \(O(T^3)\) for all \(1\le u\le t\le T-1\). The economic subplan \(\mathcal {P}_2(u,t)\) for each pair of periods u and t is then constructed by incurring production in each period \(t'\in \pi _{u,t}\) with \(r_{t'}\prec \lambda _{t+1}\) for fixed \(\lambda _{t+1}\) as Proposition 5 suggests. Hence the subplans \(\mathcal {P}_2^i(u,t)\) with its production cost \(\zeta _{\mathcal {P}_2^i(u,t)}\) and inventory level \(I_{\mathcal {P}_2^i(u,t)}\) are obtained in \(O(T^4)\) for \(1\le u\le i, t \le T\). From the cost and inventory values of the feasibility and economic subplans, those of the prior subplans are obtained immediately by

$$\begin{aligned} \zeta _{\mathcal {P}^i(u,t)}&= \zeta _{\mathcal {P}_1(u,t)}+\zeta _{\mathcal {P}_2^i(u,t)}, \\ I_{\mathcal {P}^i(u,t)}&= I_{\mathcal {P}_1(u,t)} + I_{\mathcal {P}_2^i(u,t)}. \end{aligned}$$

In case of the fixed-charge cost structure, since \(\lambda _t = s_tC\), we can compute the \(\zeta _{\mathcal {P}_2(u,v)}\) and \(\zeta _{\mathcal {P}(u,v)}\) in \(O(T^3)\). Hence we can obtain the economic and prior subplans in \(O(T^4)\) for concave supply functions and in \(O(T^3)\) for fixed-charge supply functions, respectively.

1.2 C.2 Algorithms for posterior subplan

Consider the effective subplan \(\mathcal {Q}_1(\tau ,e)\) under the relative supply cost \(\lambda _\tau \). The supply cost of \(\tau \) will be determined in Section 6 when combining the five subplans. Here we aim to find only the production cost rather than both of the production and supply cost when constructing effective subplans. The method to get an effective subplan and its production cost is easy if we consider a similar kind of subplan called an effective regeneration subplan. Given an interval [uv], an effective regeneration subplan \(\tilde{\mathcal {R}}(u,v)\) under the relative supply cost \(\lambda _\tau \) is a minimum-cost regeneration plan for satisfying demands \(d_u, d_{u+1}, \ldots , d_v\) with the conditions that

  1. (i)

    the starting period u is the major-supply period and the last period v is the effective period,

  2. (ii)

    every period has production if and only if it is cheaper than \(\lambda _u\).

The second condition comes from the major supply in period u and the effective period of v together with Propositions 6 and 7, which further implies that if period t has production in \(\tilde{\mathcal {R}}(u,v)\), so does in \(\tilde{\mathcal {R}}(u,v+1)\). With this observation, we can obtain the sequence of subplans \(\tilde{\mathcal {R}}(u,v)\) for \(v=u, u+1,\ldots , T\) by recursion in \(O(T^2)\) for given \(\lambda _u\) as shown in Appendix D.

We use \(\tilde{\mathcal {R}}^i(u,v)\) to denote the effective regeneration subplan when the relative supply cost is set as \(\lambda _u = r_i+\epsilon \) for \(\epsilon \in \{-r_0, 0, r_0\}\), \(i=u, u+1,\ldots , T\) where \(r_0\) is as given in (12). Since we can obtain all \(\tilde{\mathcal {R}}^i(u,v)\) for given i in \(O(T^2)\), the \(\tilde{\mathcal {R}}^i(u,v)\) for \(1\le u\le v\le T\) and \(i=1,2,\ldots ,T\) are generated in \(O(T^3)\).

These effective regeneration subplans are used in computing the effective subplans. In fact, an effective subplan \(\mathcal {Q}_1^i(\tau ,e)\) of a regeneration interval [uv] with the major supply in period \(\tau \) is just \(\tilde{\mathcal {R}}^i(\tau ,e)\). We thus obtain the supply amount and the production cost of the effective subplan from the corresponding effective regeneration subplan \(\tilde{\mathcal {R}}^i\):

$$\begin{aligned} y_{\mathcal {Q}_1^i(\tau ,e)} = y_{\tilde{\mathcal {R}}^i(\tau ,e)} \ \ \text {and } \ \zeta _{\mathcal {Q}_1^i(\tau ,e)} = \zeta _{\tilde{\mathcal {R}}^i(\tau ,e)}. \end{aligned}$$

Hence, we see that the optimal costs of \(\mathcal {Q}_1^i(\tau ,e)\) for \(1\le \tau \le e\le T\) and \(1\le i\le T\) are computed in \(O(T^3)\).

The independent subplan \(\mathcal {Q}_3(e+1,v)\) presupposes \(\delta _{e+1,v}\) units at the beginning of period \(e+1\) with which demands \(d_{e+1}, d_{e+2},\ldots , v\) are satisfied by full productions in \([e+1,v]\) (Proposition 8(a) and Proposition 9). This problem for \(\mathcal {Q}_3(e+1,v)\) is just the CLSP determining a production schedule and hence we are concerned with the total production cost \(\zeta _{\mathcal {Q}_3(e+1,v)}\). Note that this CLSP can be solved utilizing van Hoesel and Wagelmans’ algorithm [15]. We can obtain the \(\mathcal {Q}_3(e+1,v)\) for \(1\le e+1\le v\le T\) in time \(O(T^3)\). For any infeasible \(\mathcal {Q}_3(e+1,v)\), we let \(\zeta _{\mathcal {Q}_3(e+1,v)}=\infty \).

Table 9 Recursive relations when \(\lambda _u\prec r_{v+1}\)

D Algorithm for effective regeneration subplan

We recall that an effective subplan is a sort of a regeneration plan with its initial and last inventory level set to zero as stated in (16). Suppose that effective regeneration subplan \(\tilde{\mathcal {R}}(u,v)\) for a given relative cost \(\lambda _u\) (\( = r_i+\epsilon \)) has been constructed with its total production cost \(\zeta _{\tilde{\mathcal {R}}(u,v)}\), the supply quantity \(y_{\tilde{\mathcal {R}}(u,v)}\) in u and the ending inventory level \(I_{\tilde{\mathcal {R}}(u,v)}\). (Let us use \(\tilde{\mathcal {R}}(u,v)\) instead of \(\tilde{\mathcal {R}}^i(u,v)\) for simplicity.) Note that the starting subplan \(\tilde{\mathcal {R}}(u,u)\) is immediately obtained. Note also that if the amount of total production in \(\tilde{\mathcal {R}}(u,v)\) is greater than the total requirement \(d_{u,v}\) and thus the ending inventory level is positive, the subplan \(\tilde{\mathcal {R}}(u,v)\) does not conform to its definition. In this case, we will set the cost \(\zeta _{\tilde{\mathcal {R}}(u,v)}\) to \(\infty \) at the last step of the algorithm.

We are now about to make \(\tilde{\mathcal {R}}(u,v+1)\) from \(\tilde{\mathcal {R}}(u,v)\). From Propositions 6 and 7, we see that the production schedule of \(\tilde{\mathcal {R}}(u,v+1)\) in periods \(u, u+1, \ldots , v\) is the same as that of \(\tilde{\mathcal {R}}(u,v)\). So, all that we need to do in constructing \(\tilde{\mathcal {R}}(u,v+1)\) is to determine as to whether or not we have production in \(v+1\). The presence of production in \(v+1\) relies on the relation between \(\lambda _u\) and \(r_{v+1}\). It also follows from Propositions 6 and 7 that if \(r_{v+1}\prec \lambda _u\), then we have production in \(v+1\); otherwise, we have no production.

We first consider the case where \(\lambda _u\prec r_{v+1}\) and hence we have no production in \(v+1\) whose demand is supplied from period u. As a subcase, if \(I_{\tilde{\mathcal {R}}(u,v)}\le d_{v+1}\), the units of \(d_{v+1}-I_{\tilde{\mathcal {R}}(u,v)}\) are supplied from period u. Hence in this case we have the following relationships:

$$\begin{aligned} y_{\tilde{\mathcal {R}}(u,v+1)}&= y_{\tilde{\mathcal {R}}(u,v)}+ d_{v+1}-I_{\tilde{\mathcal {R}}(u,v)}, \\ I_{\tilde{\mathcal {R}}(u,v+1)}&= 0, \\ \zeta _{\tilde{\mathcal {R}}(u,v+1)}&= \zeta _{\tilde{\mathcal {R}}(u,v)}. \end{aligned}$$

Here, we recall \(\zeta _{\tilde{\mathcal {R}}(u,v)}\) denotes the total cost of production in the subplan \(\tilde{\mathcal {R}}(u,v)\). This case is summarized in the first column of Table 9. On the other hand, if \(I_{\tilde{\mathcal {R}}(u,v)}> d_{v+1}\), the demand \(d_{v+1}\) is wholly satisfied by the stock of \(I_{\tilde{\mathcal {R}}(u,v)}\) resulting in the ending inventory level of \(I_{\tilde{\mathcal {R}}(u,v+1)}=I_{\tilde{\mathcal {R}}(u,v)} - d_{v+1}\). Detailed recursive equations for this subcase are shown on the right-hand side of Table 9.

Table 10 Recursive relations when \(r_{v+1}\prec \lambda _u\)

Now we consider the case where \(r_{v+1}\prec \lambda _u\) and hence we have production of C units in \(v+1\) with which we have \(I_{\tilde{\mathcal {R}}(u,v)}+C\) units at the beginning of period \(v+1\). This case can be described by a slight change of Table 9, for instance, replacing \(I_{\tilde{\mathcal {R}}(u,v)}\) with \(I_{\tilde{\mathcal {R}}(u,v)}+C\) as shown in Table 10. With the recursive equations in Tables 9 and 10, we can obtain the \(\tilde{\mathcal {R}}(u,v)\) for \(v=u,u+1,\ldots ,T\) in O(T) and hence every \(\tilde{\mathcal {R}}(u,v)\) is given in \(O(T^2)\) for a given \(\lambda _u\). However, we finally need to check the non-conformity of the subplans. That is, if \(I_{\tilde{\mathcal {R}}(u,v)} >0\), we let \(\zeta _{\tilde{\mathcal {R}}(u,v)}=\infty \) for all \(1\le u\le v\le v\).

E Geometric techniques

1.1 E.1 Matrix searching algorithm

The matrix searching algorithm applies to Monge matrices. An \(n\times n\) matrix \(A= (a_{ij})\) satisfies the Monge property if for all \(i,j=1,2,\ldots , n-1\)

$$\begin{aligned} a_{ij} + a_{i+1,j+1} \le a_{i,j+1}+a_{i+1,j}. \end{aligned}$$
(25)

A Monge matrix has a tendency that its column (or row) minima appears more or less along the diagonal as illustrated in Fig. 5a. From this property, the algorithm can efficiently find the column (or row) minima by searching elements in the neighbor of the diagonal. It is well-known that the column-minima (row-minima) of such A can be found in O(n) by the matrix-searching algorithm of [1].

Fig. 5
figure 5

a A \(4\times 4\) Monge matrix and b the envelope of lines \(\ell _1(x), \ell _2(x)\), and \(\ell _3(x)\)

1.2 E.2 Envelope-function method

A linear function \(\ell (x)\) is defined by its y-intercept a and slope m as \(\ell (x)=a+mx\). The envelope \(f_k(x)\) over k linear functions \(\ell _i(x)=a_i + m_ix\), \(i=1,2,\ldots , k\) is the minimum of them: \(f_k(x)=\min _{1\le i\le k}\{a_i + m_ix\}\). An envelope function is maintained by break points and slopes between them. In Fig. 5b, we have an envelope function over three linear functions with break points \(b_1\) and \(b_2\). We note that an envelope function with k lines is a piecewise linear concave function with at most k break points.

It is proven in [16] that the computation of \(f_k(c_k)\) for a given input \(c_k\) takes \(O(\log k)\). Given the envelope \(f_k\) of k lines, it is also proven that the next envelope \(f_{k+1}\) can be constructed in time \(O(\log k)\), which is done by inserting line \(a_{k+1} + m_{k+1}x\) to the envelope \(f_k\). Consequently, the computations of \(f_1(c_1), f_2(c_2), \ldots , f_n(c_n)\) takes \(O(n\log n)\) time. This can be shortened to O(n) if input values and slopes are monotone, i.e., \(c_k\) and \(m_k\) are decreasing (or increasing) over \(k=1, 2, \ldots , n\).

F Efficient enumeration over shadow periods

In this section, we present a method for the efficient computations of the values \(\xi _{u,\tau ,e,v}\) in (20). To this end, we first prove a Monge property for the application of the matrix searching algorithm in Lemma 2 and the efficient computations of \(\xi _{u,\tau ,e,v}\) for fixed \(u,\tau \), and e in Lemma 3.

For the convenience of the proof of Monge property in Lemma 2, we wish to use a generalized version of (20) according to Corollary 1. Furthermore, to be more explicit of the values \(\epsilon \) in setting \(r_t+\epsilon \) for the optimal relative supply cost \(\lambda ^*_\tau \), we use a generalized and explicit form of equation (20):

$$\begin{aligned} \xi _{u,\tau ,e,v}^\epsilon =\min _{u\le i\le T}\left\{ \xi _{u,\tau ,e}^{i,\epsilon }(\delta _{e+1,v})\right\} , \end{aligned}$$
(26)

where \(r_i+\epsilon \) is the relative supply cost for a given shadow period \(i\in [u,T]\), \(\epsilon \in \{-r_0, 0, r_0\}\) with \(r_0\) given in (12). Then the value \(\xi _{u,\tau ,e,v}\) of the optimal \((\mathcal {P}, \mathcal {Q}_1,\mathcal {Q}_2)\) is immediately given by \(\min \{\xi _{u,\tau ,e,v}^{-r_0}, \xi _{u,\tau ,e,v}^0, \xi _{u,\tau ,e,v}^{r_0}\}\). Hereafter, we think of \(\epsilon \) as being fixed and use \(\xi _{u,\tau ,e}^{i}(\delta _{e+1,j})\) instead of \(\xi _{u,\tau ,e}^{i,\epsilon }(\delta _{e+1,j})\) for notational simplicity. What remains is how to obtain \(\xi _{u,\tau ,e,v}\) for the given \(\epsilon \) in an efficient way.

Let us fix \(u,\tau ,e\) in the equation (26). We define a matrix \(A=(a_{ij})\) where

Here we set

$$\begin{aligned} a_{ij}=\xi _{u,\tau ,e}^{i}(\delta _{e+1,j})=\infty \end{aligned}$$

for \(i=u, u+1, \ldots , T\), \(j=u, u+1, \ldots , e\). The matrix A is illustrated in Fig. 6 where the element of \(\infty \) is colored in black.

Fig. 6
figure 6

Matrix \(A=(a_{ij})\)

Without loss of generality, we assume that feasibility subplan \(\mathcal {P}_1(u,\tau -1)\) of the triple \((\mathcal {P}, \mathcal {Q}_1,\mathcal {Q}_2)\) is feasible and thus so is the prior subplan \(\mathcal {P}^i(u,\tau -1)\) for \(i=u, u+1,\ldots , T\). Furthermore, we assume that each independent subplan \(\mathcal {Q}_3(e+1,j)\) is feasible for \(j=e+1, e+2,\ldots , T\). If a prior (independent) subplan is infeasible, we discard row i (column j) from the matrix, which can be done in O(T) and hence it does not affect the time complexity of \(O(T^4)\). For expositional purposes, we assume that

(27)

The time to have these orders does not affect the time complexity of \(O(T^4)\) of Theorem 4. Condition (27) will be utilized in the proof of the Monge property. The condition (27) means that the relative supplier’s cost \(r_i+\epsilon \) corresponding to period i is greater than \(r_{i+1}+\epsilon \) corresponding to period \(i+1\), which further implies that the number of induced major supplies \(\eta ^i\) in \(\text {IP}(\tau , r_{i}+\varepsilon )\) is no greater than \(\eta ^{i+1}\) in \(\text {IP}(\tau ,r_{i+1}+\varepsilon )\).

Lemma 2

The matrix A satisfies the Monge property.

Proof

We show the inequalities (25). From the definition of \(a_{ij}\), we see that \(a_{ij} + a_{i+1,j+1} \le a_{i,j+1}+a_{i+1,j}\) if any one of the four is \(\infty \). We consider the case where none of the four is \(\infty \). Note that

$$\begin{aligned} a_{ij}+ a_{i+1,j+1}&= \zeta _{\mathcal {P}^i}+\zeta _{\mathcal {Q}_1^i} + S_\tau (\eta ^{i}C+\delta _{u,e}+\delta _{e+1,j})\\&\quad +\zeta _{\mathcal {P}^{i+1}}+\zeta _{\mathcal {Q}_1^{i+1}}+ S_\tau (\eta ^{i+1}C+\delta _{u,e}+\delta _{e+1,{j+1}}), \\ a_{i+1,j}+ a_{i,j+1}&=\zeta _{\mathcal {P}^{i+1}}+\zeta _{\mathcal {Q}_1^{i+1}}+ S_\tau (\eta ^{i+1}C+\delta _{u,e}+\delta _{e+1,j})\\&\quad +\zeta _{\mathcal {P}^i}+\zeta _{\mathcal {Q}_1^i}+ S_\tau (\eta ^{i}C+\delta _{u,e}+\delta _{e+1,{j+1}}). \end{aligned}$$

Let us consider \(a_{i+1,j}+ a_{i,j+1} - a_{ij} - a_{i+1,j+1}\) given by

$$\begin{aligned} S_\tau (\eta ^{i}C+\delta _{u,e}&+\delta _{e+1,{j+1}}) - S_\tau (\eta ^{i}C+\delta _{u,e}+\delta _{e+1,j}) \\&-\left( S_\tau (\eta ^{i+1}C+\delta _{u,e}+\delta _{e+1,{j+1}})- S_\tau (\eta ^{i+1}C+\delta _{u,e}+\delta _{e+1,j}) \right) , \end{aligned}$$

which is no less than zero by the concavity of \(S_\tau (\cdot )\) and the assumed condition (27). This completes the proof.

Lemma 3

For fixed \(u,\tau \), and e, the values \(\xi _{u,\tau ,e,v}\) for \(v=e+1, e+2,\ldots , T\) can be calculated in O(T).

Proof

Since the matrix A is of Monge, its column minima are obtained in O(T) applying the matrix searching algorithm. However, the column minima are \(\xi _{u,\tau ,e,v}\) for \(v=e+1, e+2,\ldots , T\), proving the lemma.

G Algorithm for concave production and nonspeculative supply costs

To decrease the time of evaluating \(\xi _{u,e}(\cdot )\), we need a more sophisticated procedure, which requires an order in computing \(\xi _{u,e}(\delta _{e+1,v})\) for \(v=e+1, e+2,\ldots , T\). If we have a sequence of non-decreasing inputs, \(y_1 \le y_2 \le \cdots \le y_T\), by computing in the sequence of \(\xi _{u,e}(y_1), \xi _{u,e}(y_2), \ldots , \xi _{u,e}(y_T)\), the time can be shortened to O(T) [16]. To apply their algorithm, we order periods \(v=e+1, e+2,\ldots , T\) by the values \(\delta _{e+1,v}\) and store them to a list \(\pi \). For simplicity, we assume that the index of the list \(\pi \) starts with \(e+1\). We then have \(\delta _{e+1,\pi [e+1]}\le \delta _{e+1,\pi [e+2]}\le \cdots \le \delta _{e+1,\pi [T]}\). We call \(\pi \) the list for period e. The list \(\pi \) for period e is obtained in time \(O(T\log T)\). However, if we have the list \(\pi \), we can obtain the list for period \(e-1\) sorted by \(\delta _{e,v}\) for \(v=e, e+1, \ldots , T\) in a shorter time of O(T) as shown in Appendix 1.

This idea is applied in the first and second lines of Algorithm 2. Let us consider the last expression of the algorithm. Since the input data \(\delta _{e,\pi '[i]}\) of the envelope function \(\xi _{u,e-1}(\cdot )\) are nondecreasing for \(i=e, e+1, \ldots , T\), this monotonicity guarantees the entire computations of \(\xi _{u,e-1}(\delta _{e,\pi '[i]})\) in O(T). For given u, by executing the algorithm for \(e=T, T-1, \ldots , u\), we can obtain \(\xi _{u,e}(\delta _{e+1,v})\) for \(u\le e\le v\le T\) in time \(O(T^2)\). Thus, the whole values of \(\xi _{u,e}(\delta _{e+1,v})\) are given in time \(O(T^3)\).

figure b

1.1 G.1 List of fractional values

A sequence of nonnegative numbers \(a_1, a_2, \ldots , a_n\) are called fractional values with respect to C if each \(a_i\) is less than C for \(i=1, 2, \ldots , n\). If a list \(\pi \) contains the n numbers in nondecreasing (or nonincreasing) order, it is referred to as the list of fractional numbers with respect to C so that \(a_{\pi [1]} \le a_{\pi [2]} \le \cdots \le a_{\pi [n]}\). For two nonnegative numbers a and b, the residual sum \(a\oplus b\) is defined as \(a + b - C\lfloor (a + b)/C\rfloor \). If a and b both are fractional numbers, then \(a\oplus b\) is given as

$$\begin{aligned} a\oplus b = {\left\{ \begin{array}{ll} a+b &{} \text{ if } a+b<C, \\ a+b-C &{} \text{ if } a+b\ge C. \end{array}\right. } \end{aligned}$$

Lemma 4

Suppose that \(\pi \) is a fractional list containing \(a_1, a_2, \ldots , a_n\). Given a nonnegative number Q, we can obtain the fractional list of numbers \(a_1\oplus Q, a_2\oplus Q, \ldots , a_n\oplus Q\) in time O(n) from the list \(\pi \).

Proof

We will obtain another list \(\pi '\) of the numbers \(a_{\pi [i]}\oplus Q\) from \(\pi \). We first note that \(a_i \oplus Q = a_i \oplus \delta _{Q}\) where \(\delta _{Q}= Q - C\lfloor Q/C\rfloor \). We let k be the latest index of \(\pi \) satisfying \(a_{\pi [k]}+ \delta _{Q} < C\). If there exists no such k, i.e., \(a_{\pi [k]}+ \delta _{Q} \ge C\) for all k, we let \(k=0\). If \(k=n\) we have

$$\begin{aligned} a_{\pi [1]}\oplus Q \le a_{\pi [2]}\oplus Q \le \cdots \le a_{\pi [n]}\oplus Q, \end{aligned}$$

keeping the order unchanged and we have \(\pi '=\pi \) in this case. On the other hand, if \(1\le k<n\), then we have \(a_{\pi [n]}\oplus Q \le a_{\pi [1]}\oplus Q\),

$$\begin{aligned} a_{\pi [1]}\oplus Q\le & {} a_{\pi [2]}\oplus Q \le \cdots \le a_{\pi [k]}\oplus Q, \text { and}\\ a_{\pi [k+1]}\oplus Q\le & {} a_{\pi [k+2]}\oplus Q \le \cdots \le a_{\pi [n]}\oplus Q. \end{aligned}$$

In this case, we construct a fractional list \(\pi '\) for the numbers \(a_{\pi [i]}\oplus Q\) as follows:

$$\begin{aligned} \pi '[i-k] = \pi [i]&\text { for } i=k+1, k+2, \ldots , n, \\ \pi '[n-k+i] = \pi [i]&\text { for } i=1, 2, \ldots , k. \end{aligned}$$

Hence it is clear that the time for constructing \(\pi '\) is at most O(n).

We now present the efficient management of \(\pi \) in Algorithm 2. For a period e, let \(\pi \) be the list of periods sorted by \(\delta _{e+1,e+1}, \delta _{e+1,e+2},\ldots , \delta _{e+1,T}\). Then the list for period \(e-1\), sorted by \(\delta _{e,e},\delta _{e,e+1},\ldots , \delta _{e,T}\), is obtained by first constructing \(\pi '\) according to Lemma 4 with the fact that \(\delta _{e,v} = \delta _{e+1,v}\oplus d_e\) for all \(e+1\le v\le T\). Hence by Lemma 4 the list \(\pi '\) is constructed in O(T). By inserting period e to \(\pi '\) with key \(\delta _{e,e}\), we finally obtain the desired list for period \(e-1\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hwang, HC. Subcontracting and lot-sizing with constant capacities. Math. Program. 193, 271–314 (2022). https://doi.org/10.1007/s10107-020-01603-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-020-01603-0

Keywords

Mathematics Subject Classification

Navigation