1 Introduction

There are numerous models available for inventory control and production planning. Lot-sizing problems involve determining the optimum production plan or inventory replenishment policy while minimizing the total cost of the system. The capacitated dynamic lot-sizing problem (CLSP) deals with the problem of determining time-phased production quantities that meet given external demands and the capacity limits of the production system. The multi-level extension of the CLSP, known as multi-level capacitated lot-sizing problem (MLCLSP), deals with the production of multiple items when an interdependence among them at the different production levels is imposed by the product structure. The classical MLCLSP is introduced by Billington et al. [1], which is considered the theoretical basis for material requirements planning [2].

Setup operations are significant in some manufacturing industries and may strongly influence lot-sizing decisions. Setup operations prepare the processing units to manufacture production lots, consume production capacity (setup time), and incur setup costs. The classical CLSP assumes that the setup of the resources for each item produced in each period is necessary. However, some researchers assume that the setup state of a machine can be fully maintained over consecutive periods. In the literature (e.g., [3]), this is denoted as setup carryover. Simply put, setup carryover permits a setup state to be conserved between two consecutive periods. Haase [4] points out that solutions change considerably when setup carry-over is considered.

Many industries are responsible for the emission of greenhouse gases (GHG), such as carbon dioxide (CO2), nitrous oxide (N2O), and methane (CH4), often throughout the entire production process (Fig. 1). Carbon is emitted directly from energy generation and the consumption of energy in setup, production, and inventory-holding activities [5]. Recently, there has been growing concern about the effect of these gases on climate change. Many countries implement various carbon regulatory measures and legislation such as carbon cap, carbon cap-and-trade, carbon tax, and carbon cap-and-offset. These laws and various regulatory mechanisms in regard to emissions oblige the manufacturing industry to implement alternative, more environment-friendly production systems. They need to invest in more energy-efficient technology as well as renewable energy sources, which are costly capital investments and practices. This has motivated many researchers to consider the environmental impact of emissions by incorporating emission-related measures in their models for optimizing production lot size.

Fig. 1
figure 1

Greenhouse gas emission from the different activities of the production process

In this paper, we present a Mixed Integer Linear Programming (MILP) model for the extension of the classical MLCLSP by allowing setup carryover, backlogging, and emission control. We refer to the problem as MLCLSP with SCBE (multi-level capacitated lot-sizing problem with setup carryover, backlogging, and emission control). We apply an item Dantzig-Wolfe (DW) decomposition approach to solve the proposed MILP formulation with an embedded column generation (CG) procedure. We propose a dynamic programming approach to solve each of the sub-problems and develop a multistep iterative capacity allocation (CA) heuristic to generate feasible solutions. An integer linear programming (ILP) model is proposed to determine the setup carryover plan for a given production schedule. This approach is hybridized with an LP-based improvement procedure to refine the solution, thereby improving the solution quality given by the DW decomposition method.

The remainder of this paper is organized as follows: In Sect. 2, the related literature is discussed. In Sect. 3, we present the problem statement along with the formulated mathematical model. The proposed DW decomposition heuristic method is described in Sect. 4. Numerical results are discussed in Sect. 5. Finally, in Sect. 6, we conclude and provide a few recommendations for future work.

2 Literature Review

Production planning and enterprise resource planning (ERP) systems are built around lot-sizing decisions. Therefore, these decisions have been the focus of in-depth inquiry by academics and professionals for decades. Since the seminal paper of Wagner and Whitin [6] addressing the simplest version of the problem—the uncapacitated single-item lot-sizing problem—various types of lot-sizing problems have been investigated. Only some special cases of these problems can be solved in polynomial time (e.g., Federgruen and Tzur [7]). Florian et al. [8] have proven that the capacitated version of the single-item lot-sizing problem is NP-hard. Later, Bitran and Yanasse [9] show that even special cases, which are solvable in polynomial time, become NP-hard when introducing a second item. Therefore, because of the intractable nature of the lot-sizing problems, different solution algorithms and strategies have been employed. This includes Lagrangean relaxation (LR), Dantzig-Wolfe (DW) decomposition, and fix and optimize (FO) approach.

Tempelmeier and Derstroff [10] apply Lagrangean relaxation (LR) to decompose the MLCLSP into several single-item uncapacitated lot-sizing problems (SIULSP) to obtain the lower bounds and propose a heuristic finite scheduling approach to find the upper bounds. Sox and Gao [11] incorporate setup carryover into a multi-item CLSP and provide a Lagrangean decomposition heuristic that quickly generates near-optimal solutions and proposes a dynamic programming approach to solve \(N\) independent single-item sub-problems. Later, Briskorn [3] revisits the problem addressed by Sox and Gao [11]. He identifies a flaw in the dynamic programming approach by Sox and Gao [11] and provides the necessary correction to solve the subproblems optimally.

Tempelmeier and Buschkühl [12] consider setup carryover in an MLCLSP and develop a Lagrangean decomposition heuristic. Sahling et al. [13] extend the work of Tempelmeier and Buschkühl [12] by incorporating multi-period setup carryovers and propose an iterative FO approach to solve a series of MILPs. Wu et al. [14] propose an MIP formulation for modeling the MLCLSP with both backlogging and setup carryover. They present a progressive time-oriented decomposition framework that uses relax and fix (RF) heuristic. Setup carryover is considered by Carvalho and Nascimento [15] for a multi-plant CLSP and solved by kernel search (KS) metaheuristic method. Ghirardi and Amerio [16] study a CLSP with back-ordering and setup carryover and develop a feasibility pump algorithm to solve the problem. One of the recent studies that includes setup carryover is conducted by Fiorotto et al. [17] and a relax-and-fix and fix-and-optimize (RF-FO) heuristic is applied to solve the problem.

Lot-sizing with emission constraints was introduced by Benjaafar et al. [18]. Retel Helmrich et al. [19] show that lot-sizing with emission constraints is NP-hard. The most recent research works on production lot-sizing and inventory planning problems focus on the reduction of carbon emission and conservation of resources Mashud et al. [20], Mashud et al. [21], Sepehri [22]. Konur and Schaefer [23] analyze an integrated inventory control and transportation planning problem under carbon cap, cap and trade, cap and offset, and taxing policies. Ghosh [24] identified the two most adopted carbon policies are (i) carbon tax/cost policy and (ii) carbon cap-and-trade policy and solved the MINLP problem for both policies. Ahmadini et al. [25] solve a multi-item multi-objective inventory model with back-ordered quantity incorporating green investment to save the environment.

Dantzig-Wolfe (DW) decomposition is applied for CLSP for the first time by Manne [26], in which lot-sizing problems are decomposed by item. Degraeve and Jans [27] later claim that the decomposition method proposed by Manne [26] has an important structural deficiency. They explain that imposing integrality constraints on the variables in the master problem does not necessarily give an optimal integer solution, as only the production plans, which satisfy the zero inventory property (if production takes place in a period \(t\), the beginning inventory for that period must be zero), can be selected. Degraeve and Jans [27] therefore proposed a new DW reformulation and a Branch-and-Price (B&P) algorithm. Pimentel et al. [28] present a comparison between the item DW decomposition and the period DW decomposition of a multi-item CLSP and apply the B&P algorithm to solve the decomposition models. Caserta & Voß [29] propose the DW decomposition approach in a meta-heuristic framework for the multi-item, multi-period CLSP with setup times. Fiorotto et al. [30] develop an efficient hybrid algorithm by combining LR and DW decomposition for the CLSP with multiple items, setup time, and unrelated parallel machines. Ioannis et al. [31] solve CLSP by implementing DW decomposition in a novel way that regulates the size of the master problem and the subproblem independently. Wu et al. [32] proposed an item DW decomposition for the facility location and production planning problem. They demonstrate that the pricing subproblems of the item decomposition are related to uncapacitated lot-sizing problems with the Wagner-Whitin (WW) property. This property is employed to enhance the performance of column generation for the item decomposition.

CLSP is a mature field of research, and therefore, we can benchmark the performance of our approach against other alternative techniques. Most of the literature considers single-level CLSP with multi-item, multi-period, and setup time. However, there has been insufficient evidence of the implementation of DW decomposition for the MLCLSP. Table 1 chronologically presents some of the studies conducted based on the approach proposed, type, and properties of the lot-sizing problem.

Table 1 Proposed heuristic approaches for solving the capacitated lot-sizing problems

3 Problem Formulation and Decomposition Method for MLCLSP with Setup Carryover, Backlogging, and Emission Control (MLCLSP with SCBE)

3.1 MLCLSP with Setup Carryover, Backlogging, and Emission control (MLCLSP with SCBE)

The model MLCLSP with setup carryover, backlogging and emission control (MLCLSP with SCBE) is based on the following assumptions:

  1. 1.

    The planning horizon is divided into \(T\) periods (usually shifts or days), and there are \(m\) resources with period-specific capacities.

  2. 2.

    \(n\) items (including end items and subassemblies) are arranged in an assembly product structure with a unique assignment of each item to a particular machine.

  3. 3.

    External dynamic demand is assumed to occur only at stages that have no successors and are known in advance. Full demand occurs at the beginning of each period.

  4. 4.

    Production cost is time varying, and setup cost is fixed over time.

  5. 5.

    A setup incurred may cause setup cost as well as a setup time. Setup costs, as well as setup times, are sequence independent.

  6. 6.

    At the beginning of the planning horizon, machines are not setup for any item.

  7. 7.

    At most one setup state can be carried over on each resource from one period to the next, such that no setup activity is necessary in the second period.

  8. 8.

    The conservation of one setup state for the same product over two consecutive periods is possible if only one item is produced in a particular period.

  9. 9.

    A setup state is not lost if there is no production on the machine within a planning period.

  10. 10.

    Backlogging is allowed for the items with external demand.

Moreover, we account for carbon emissions generated by different activities in the plant and warehouse. This includes production (e.g., greenhouse gas emissions due to burning fossil fuels for energy, as well as certain chemical reactions necessary to produce goods from raw materials), holding (emissions due to energy spent on storage), and setup (emissions due to machine setup). A carbon emission cap regulatory mechanism is considered in which the total emissions due to all production-related activities over the planning horizon cannot exceed a carbon cap imposed by a regulator over the planning horizon.

The problem is to find a production schedule, machine setup and carryover plans, inventory levels, and backlogging quantities in each time period that meet the demand requirements, limited capacity resources along with the emission cap, taking into consideration the bill of material (BOM) structure while simultaneously minimizing the total cost over the planning horizon of \(T\) periods.

Indices:

  • T Number of periods

  • n Number of items

  • m Number of machines

The decision variables are as follows:

  • \({I}_{jt}\) Inventory level of item \(j\in [1,n]\) at the end of period \(t\in [1,T]\) 

    $${Y}_{jt}=\left\{\begin{array}{c}1\\ 0\end{array}\right.\begin{array}{c} if \;there\; is \;a \;setup\; for\; item \;j\in \left[1,n\right]on\; machine\; i\in \left[1,m\right] in\; period \;t\in [1,T]\\ otherwise\end{array}$$

    \({b}_{jt}\) Quantity back ordered for item \(j\in [1,n]\) in period \(t\in [1,T]\)

    $${\alpha }_{jt}=\left\{\begin{array}{c}1\\ 0\end{array}\right.\begin{array}{c} if \;the \;setup\; state\; of\; machine\; i| j\in \varphi (i) at \;the\; end \;of\; period \;t\in [1,T] and \;at\; the\; beginning\; of\; period (t+1) is item j\in [1,n]\\ Otherwise\end{array}$$
  • \({X}_{jt}\)  Production quantity of item \(j\in [1,n]\) in period \(t\in [1,T]\)

    \({E}_{t}\) Emission due to production, inventory, and setup in period \(t\in [1,T]\)

The parameters used are as follows:

  • \({g}_{jk}\) Quantity of item \(j\in [1,n]\) required to produce one unit of item \(k\in [1,n]\)

    \({D}_{jt}\) External demand of item \(j\in [1,n]\) in period \(t\in [1,T]\)

    \({h}_{j}\) Holding cost of item \(j\in [1,n]\)

    \({c}_{j}\) Setup cost for item \(j\in [1,n]\)

    \({s}_{j}\) Setup time for item \(j\in [1,n]\)

    \(M\) A large number

    \({I}_{j0}\) Initial inventory level of item \(j\in [1,n]\)

    \({R}_{it}\) Available capacity of machine \(i\in [1,m]\) in period \(t\in [1,T]\) (in time units).

    \(\Gamma \left(j\right)\) Set of immediate successors of item \(j\in [1,n]\) based on BOM.

    \({P}_{jt}\) Production cost per unit of finished item \(j\in [1,n]\) at period \(t\in [1,T]\)

    \(\varphi \left(i\right)\) Set of items that can be assigned to machine \(i\in [1,m]\)

    \(\omega\) Set of end items (items with external demand only)

    \(\mu (j)\) Set of immediate predecessors of item \(j\in [1,n]\)

    \(\rho \left(j\right)\) Set of machines eligible to process item \(j\in [1,n]\)

    \({p}_{j}\) Processing time required to produce one unit of item \(j\in [1,n]\)

    \({\beta }_{j}\) Backlogging cost for one unit of item \(j\in [1,n]\) per period.

    \({\widehat{s}}_{j}\) Carbon emission related to the setup of item \(j\in [1,n]\)

    \({\widehat{p}}_{j}\) Carbon emission related to per unit production of item \(j\in [1,n]\)

    \({\widehat{h}}_{j}\) Carbon emission related to per unit holding inventory of item \(j\in [1,n]\)

    \({C}_{cap}\) Total allowable carbon emission cap

Model MLCLSP_SCBE:

$$Min {\sum }_{j=1}^{n}{\sum }_{t=1}^{T}{({P}_{jt}{X}_{jt}+h}_{j}{I}_{jt}+{c}_{j}{Y}_{jt}+{\beta }_{j}{b}_{jt})$$
(1)

Subject to:

$${I}_{j0}={b}_{ j0}={\alpha }_{j0 }=0 \forall j\in [1,n]$$
(2)
$${I}_{jt}={I}_{j\left(t-1\right)}+{X}_{jt}+{b}_{ jt}-{b}_{ j\left(t-1\right)}-{D}_{jt} \forall j\in [1,n], t\in [1,T] |j\in \omega$$
(3)
$${I}_{jt}={I}_{j\left(t-1\right)}+{X}_{jt}-{\sum }_{k\in \Gamma (j)}{g}_{jk}{X}_{kt}\cdot \cdot \cdot \forall j\in [1,n],t\in [1,T] |j\notin \omega$$
(4)
$${X}_{jt}\le \text{M}\left({Y}_{jt}+{\alpha }_{j\left(t-1\right)}\right) \forall i\in [1,m],j\in \varphi \left(i\right),t\in [1,T]$$
(5)
$${\sum }_{j\in \varphi \left(i\right)}{p}_{j}{X}_{jt}+{\sum }_{j\in \varphi \left(i\right)}{s}_{j}{Y}_{jt}\le {R}_{it} \forall i\in [1,m], t\in [1,T]$$
(6)
$${\alpha }_{jt }\le {Y}_{jt}+{\alpha }_{j(t-1) }\forall i\in [1,m],j\in \varphi \left(i\right),t\in [1,T]$$
(7)
$${\sum }_{j\in \varphi \left(i\right)}{\alpha }_{jt}\le 1 \forall i\in [1,m], t\in [1,T]$$
(8)
$${E}_{t}={\sum }_{j=1}^{n}\left({\widehat{p}}_{j}{X}_{jt}+{\widehat{h}}_{j}{I}_{jt}{{+\widehat{s}}_{j}Y}_{jt}\right)\forall t\in [1,T]$$
(9)
$$\sum_{t=1}^{T}{E}_{t}\le {C}_{cap}$$
(10)
$${I}_{jt}\ge 0,{ X}_{jt}\ge 0, { b}_{ jt}\ge 0, \forall j\in [1,n],t\in [1,T]$$
(11)
$${b}_{ jT}=0 \forall j\in [1,n]$$
(12)
$${Y}_{jt, }{\alpha }_{jt}\in \left[\text{0,1}\right] \forall i\in [1,m],j\in \varphi \left(i\right), t\in [1,T]$$
(13)

The complete MILP model is presented as the minimization of the objective function (1), subject to constraints (2) through  (13). The objective function (1) minimizes the total production, holding, setup, and backlogging cost over the planning horizon of \(T\) periods. Constraint (2) sets the initial inventory, initial backlog, and initial setup condition of the machines for each item. Constraints (3) and (4) represent the inventory balance for those products that are needed to satisfy external and internal demands, respectively. Constraint (5) ensures that the production of item \(j\) takes place in period \(t\) only if there is a setup of the machine \(i\) for item \(j\) during that period (\({Y}_{jt}\)= 1), or if the resource is already in the correct setup state at the beginning of that period (\({\alpha}_{j(t-1)}=1\)). Constraint (6) indicates that production cannot exceed the available capacity. Constraint (7) makes sure that a setup can be carried over from period \(t\) to period \((t+1)\) only if either item \(j\) is setup in period \(t\) or the setup state already has been carried over from period \((t-1)\) to period \(t\). Constraint (8) states that a machine can carry at most one setup state into the subsequent period. Constraint (9) computes the carbon emission due to production, inventory, and setup for each period. Constraint (10) controls carbon emissions under carbon cap regulatory mechanism applied over the planning horizon, which states that the total emissions should not exceed the total available emission limit \(({C}_{cap})\) in any period. Constraint (11) declares the nonnegativity of the variables, constraint (12) states that the ending backlogging quantity is zero, and constraint (13) is the integrality ones.

3.2 Dantzig-Wolfe Decomposition for the MLCLSP with SCBE

DW decomposition is a special technique used to solve linear programming and integer programming models. DW decomposition redefines a new set of variables by replacing the original variables with a convex combination of the extreme points of a subsystem. This technique has been effectively implemented in different contexts. For more details on such techniques see, Vanderbeck [34], and Vanderbeck and Savelsbergh [35]. Degraeve and Jans [27] have presented a DW approach for the CLSP, addressing an important structural deficiency of the standard DW approach for the CLSP proposed by Manne [26]. In this section, borrowing ideas from Degraeve and Jans [27], we decompose the MLCLSP with SCBE into a master problem and a number of single-item uncapacitated subproblems with backlogging and setup carryover. In this decomposition, the solutions of the subproblems are production plans for a single item. For a given product, each production plan specifies the production periods and the production quantity along with the inventory level, setup plan, backlog quantity, and setup carryover decisions.

Let us introduce a more compact notation for the variables: \({X}^{j}=({X}_{j1}, {X}_{j2},\dots ,{X}_{jT})\), \({I}^{j}=({I}_{j1}, {I}_{j2},\dots ,{I}_{jT})\),\({b}^{j}=({b}_{j1}, {b}_{j2},\dots ,{b}_{jT})\),\({Y}^{j}=\left({Y}_{j1}, {Y}_{j2},\dots ,{Y}_{jT}\right){\alpha }^{j}=({\alpha }_{j1}, {\alpha }_{j2},\dots ,{\alpha }_{jT})\).

Let \({U}_{j}\) be the set of all feasible production schedules. For a production schedule\(u\in {U}_{j}\), let\({X}_{jt}^{u}\),\({I}_{jt}^{u}\), \({Y}_{jt}^{u}\), \({b}_{jt}^{u},\) and \({\alpha }_{jt}^{u}\) be the production quantity, ending inventory level, setup plan, quantity backlogged, and setup carryover decision variable of item \(j\) in period \(t\), respectively. The master problem is given as follows:

Master problem (\({MP}_{1}\)):

$$Min\sum_{u\in {U}_{j}}{\sum }_{j=1}^{n}{\sum }_{t=1}^{T}{({P}_{jt}{X}_{jt}^{u}+h}_{j}{I}_{jt}^{u}+{c}_{j}{Y}_{jt}^{u}+{\beta }_{j}{b}_{jt}^{u}){\lambda }_{ju}$$
(14)

Subject to:

$$\sum_{u\in {U}_{j}}{\sum }_{j\in \varphi \left(i\right)}({p}_{j}{X}_{jt}^{u}+{s}_{j}{Y}_{jt}^{u}){\lambda }_{ju}\le {R}_{it} \forall i, t$$
(15)
$$\sum_{u\in {U}_{j}}{\sum }_{t=1}^{T}{\sum }_{j=1}^{n}\left({\widehat{p}}_{j}{X}_{jt}^{u}+{\widehat{h}}_{j}{I}_{jt}^{u}+\widehat{{s}_{j}}{Y}_{jt}^{u}\right){\lambda }_{ju}\le { C}_{cap}$$
(16)
$$\sum_{u\in {U}_{j}}\sum_{j\in \varphi \left(i\right)}{\alpha }_{jt}^{u}{\lambda }_{ju}=1 \forall t\ge 0,i$$
(17)
$$\sum_{u\in {U}_{j}}{\lambda }_{ju}=1\forall j$$
(18)
$${\lambda }_{ju}\ge 0 \forall j,u\in {U}_{j}$$
(19)

Let \({\lambda }_{ju}\) be the new decision variable representing the weight of the production plan \(u\) for item \(j\). The objective function (14) minimizes the total cost of the production plans chosen for each item. Let \({w}_{it}\),\(\gamma ,\) \({y}_{it}\) and \({v}_{j}\) be the dual variables with respect to (15), (16), (17) and (18), respectively. During each iteration, the master problem handles the linking constraints (constraints 15, 16, and 17) that connect the subproblems and the convexity constraints (constraint 18) for each subproblem. Constraint (19) expresses the non-negativity constraints. Due to the large number of variables of the master problem, the linear programming relaxation of the master problem is solved using column generation.

The decomposed subproblems for each end item \(j|j\in \omega\) are as follows.

Subproblem \(\left({SP1}_{End}\right)\):

$$Min \sum_{i=1}^{m}\sum_{t=1}^{T}\left[({P}_{jt}{-{w}_{it}{p}_{j}-\gamma {\widehat{p}}_{j})X}_{jt}+{(c}_{j}-{w}_{it}{s}_{j}{-\gamma {\widehat{s}}_{j})Y}_{jt}-{\alpha }_{jt}{y}_{it}\right]+{\sum }_{t=1}^{T}\left[{(h}_{j}-{{\gamma \widehat{h}}_{j})I}_{jt}+{\beta }_{j}{b}_{jt}\right]-{v}_{j}\forall j$$
(20)

Subject to:

$${I}_{j0}={b}_{ j0}={\alpha }_{j0}=0$$
(21)
$${I}_{jt}={I}_{j\left(t-1\right)}+{X}_{jt}+{b}_{ jt}-{b}_{ j\left(t-1\right)}-{D}_{jt} \forall t$$
(22)
$${X}_{jt}\le \text{M}\left({Y}_{jt}+{\alpha }_{j\left(t-1\right)}\right) \forall i\in \rho \left(j\right),t$$
(23)
$${Y}_{jt}+{\alpha }_{j(t-1) }\le 1 \forall i\in \rho \left(j\right),t$$
(24)
$${I}_{jt},{X}_{jt},{b}_{ jt}\ge 0 \forall i\in \rho \left(j\right),t\ge 1$$
(25)
$${Y}_{jt},{\alpha }_{jt}\in \left[\text{0,1}\right] \forall i\in \rho \left(j\right), t\ge 1$$
(26)

The subproblem (20) through (26) is a single-item uncapacitated lot-sizing problem and is solved by dynamic programming recursion (DPR) to determine the production schedule of the end items with strictly external demand (i.e., no successors). In this decomposition, the solutions to the subproblems are the production plans. For a given product, each production plan indicates the production periods and the production quantity along with the inventory level, backlogging, and setup carryover decisions. After all end items are scheduled, the next item, \(k|k\in \mu (j)\), is scheduled. The decomposed subproblems for all \(k|k\in \mu (j)\) are as follows:

Subproblem \(\left({SP1}_{\text{Component}}\right)\):

$$Min \sum_{i=1}^{m}\sum_{t=1}^{T}\left[({P}_{kt}{-{w}_{it}{p}_{k}-\gamma {\widehat{p}}_{k})X}_{kt}+{(c}_{k}-{w}_{it}{s}_{k}{-\gamma {\widehat{s}}_{k})Y}_{kt}-{\alpha }_{kt}{y}_{it}\right]+{\sum }_{t=1}^{T}\left[{(h}_{k}-{{\gamma \widehat{h}}_{k})I}_{kt}\right]-{v}_{k}\cdots \forall k\in \mu (j)$$
(27)

Subject to,

$${I}_{kt}={I}_{k\left(t-1\right)}+{X}_{kt}-{\sum }_{{k}^{\prime}\in \Gamma (k)}{a}_{k{k}^{\prime}}{X}_{{k}^{\prime}t} \forall t$$
(28)

and (21), (23)–(26) for \(j=k\).

The internal demand of any item (successor requirement) is placed on the right-hand side of the constraint (28), because \({\sum }_{{k}^{\prime}\in \Gamma (k)}{a}_{k{k}^{\prime}}{X}_{{k}^{\prime}t} \forall t\) is the dependent demand for item \(k\) due to the production of its successors \(j\) that have already been scheduled. Treating the internal demands as constants, \({SP1}_{\text{Component}}\) is equivalent to \({SP1}_{\text{End}}\), and hence, item \(k\)′s production schedule can now be determined. Thus, a production schedule for all the items can be found for a given set of dual variables if the procedure is followed item-by-item in succession to make sure that all requirements resulting from the production of the successor items are calculated before scheduling an immediate predecessor. Equation (28) uses a sequential bill of material approach to pass successors’ production requirements between levels. Although it does not guarantee optimality, this procedure will ensure a feasible solution to the full set of inventory constraints.

The CG process begins by creating an initial set of feasible production plans for the master problem by fixing all the dual variables at a value of zero. The initial set of production plans is obtained from the uncapacitated single-item subproblems. However, it is possible that the production requirements of the items in a period may be greater than the available capacity. According to the theory of DW decomposition approach, updating the dual variables \({w}_{it}\),\(\gamma ,\) \({y}_{it}\) and \({v}_{j}\) should take these infeasibilities into account; otherwise, the master problem (\({MP}_{1}\)) becomes infeasible because the constraints (15) and (19) may not be satisfied. If demand for one item is greater than the capacity in a period, a split lot is required. Ramsay [36] shows that a feasible solution is often not attainable because an uncapacitated lot-sizing problem does not split the lot-sizes between periods. To avoid infeasibility, we propose a CA heuristic (Sect. 4.2) to obtain a feasible setup plan. Since each of the SIULSP is solved individually, the setup carryover decisions per resource are not coordinated. At most, one item can be carried over from one period to the next and if an item is carried over from period \(t\) to \((t+1)\), this item must have been produced first in period \((t+1)\). Therefore, it is necessary to generate a feasible solution by incorporating the setup carryover constraints in the solution produced of the single-item subproblems. In this paper, an integer linear programming (ILP) model (Sect. 3.4) is developed to determine the setup carryover decision variables optimally, with the objective of maximizing the savings vis-a-vis setup costs. An LP-based improvement procedure is applied to obtain an optimum production schedule for a given set of setup plans and setup carryover decisions. If there is a production schedule \(u\) that makes the reduced cost negative, it is added to \({U}_{j}\). Then the master problem is solved to provide new dual variables. This procedure is repeated until no new column with a negative reduced cost is found.

3.3 Dynamic Programming Recursion (DPR) for Single-Item Subproblem with Setup Carryover and Backlogging

The dynamic programming recursion (DPR) formulation uses a network representation of the single-item lot-sizing problems that integrates the setup status of machines into the state space. The single item uncapacitated sub-problem with setup carryover is shown in the graph \(\mathcal{G}=(\mathcal{N},\mathcal{A})\) in Fig. 2. Each node \(\mathcal{N}=[({t}_{1},{t}_{2})|{t}_{1}\ge {t}_{2}\)] represents that production of a particular item starts at period \({t}_{1}\) to meet the demand from period \({t}_{2}|{t}_{1}\ge {t}_{2}\). The arc \(\mathcal{A}=[\left({t}_{1},{t}_{2}\right), \left({t}_{3},{t}_{4}\right)|{t}_{2}\le {t}_{1}<{t}_{4}\le {t}_{3}\)] indicates the production of a particular item in period \({t}_{1}\) to satisfy demands in periods \({t}_{2}\text{ through} \left({t}_{4}-1\right),\) and \({t}_{3}\) is the next period of production.

Fig. 2
figure 2

Shortest path network for the subproblem

Properties 1 and 2 hold.

Property 1

There are nodes \(({t}_{1},{t}_{2})\) with \({t}_{2}{\le t}_{1}\forall {t}_{1}={ t}_{2},\dots T-1 \;\text{and}\;{ t}_{2}=1,\dots T+1\).

Proof of property 1

We are assuming that another production period will not take place in the window we are satisfying the demand. This is called zero inventory property. If \({t}_{2}{>t}_{1}\), which means that production at \({t}_{1}\) meets demand starting from period \({t}_{2}|{{t}_{2}>t}_{1}\) and the demand of periods \({t}_{1},\dots ,{(t}_{2}-1)\) is met by production at period \({t}_{1}^{\prime}<{t}_{1}\). Thus, zero inventory property is violated at \({t}_{1}\). In this case, a better production schedule is obtained by shifting the demand of periods \({t}_{1},\dots ,{(t}_{2}-1)\) from period \({t}_{1}^{\prime}\) to \({t}_{1}\). This modified production schedule saves cost of holding demand of periods \({t}_{1},\dots ,{(t}_{2}-1)\) without increasing any setup cost or any other costs. Therefore, \({t}_{2}{\le t}_{1}\)

Property 2

Now let us consider nodes \(({t}_{1},{t}_{2})\) and \(({t}_{3},{t}_{4})\), where \({t}_{2}{\le t}_{1}\) and \({t}_{4}{\le t}_{3}\). There is an arc \(({t}_{1},{t}_{2})\text{ to} ({t}_{3},{t}_{4})\) if and only if \({t}_{1}<{t}_{4}\).

Proof of property 2

The arc from \(({t}_{1},{t}_{2})\text{ to} ({t}_{3},{t}_{4})\) means that production in \({t}_{1}\) is followed by production in \({t}_{3}\). Production in \({t}_{1}\) meets the demand of periods \({t}_{2},\dots ,{ t}_{1},\dots ,({ t}_{4}-1)\) and production \({t}_{3}\) meets the demand of periods \({t}_{4},\dots ,{ t}_{3}\) and more. Therefore \({t}_{1}<{t}_{4}\)

Observation 1: The number of arcs that can be eliminated from any node \(({t}_{1},{t}_{2})\) to (\({t}_{3},{t}_{4})|{t}_{2}\le {t}_{1}{<t}_{4}\le {t}_{3}\) is \(\sum_{r=1}^{{t}_{1}}(T-{t}_{r}+1)\).

Given \(1\le \tau <t<{t}^{\prime}\le T\), let us assume that production in period \(t\) satisfies demands in periods \(t \text{through}\; {t}^{\prime},\) and it also satisfies the backlogged quantities from periods \(\tau\) through \((t-1)\). Let \({SC}_{t}^{j}\) be the total setup cost of item \(j\) in period \(t\), \(P{C}_{t}^{j}\left(\tau ,{t}^{\prime}\right)\) be the total production cost to satisfy demands of item \(j\) in periods \(\tau\) through \((t^{\prime}-1)\) and \({HC}_{t}^{j}({t, t}^{\prime})\) be the total holding cost to hold item \(j\) in periods \(t\) through \(({t}^{\prime}-1)\) and \({BC}_{t}^{j}(\tau ,t)\) be the total backlogging cost to satisfy demands in periods  \(\tau\; \text{through} (t-1)\) by the production of item \(j\) in period \(t\). These cost functions can be defined as follows:

$$\left.\begin{array}{c}\begin{array}{c}{SC}_{t}^{j}={c}_{j}-{w}_{it}{s}_{j}-\gamma {\widehat{s}}_{j}\\ {PC}_{t}^{j}\left(\tau ,{t}^{\prime}\right)=({P}_{jt}-{w}_{it}{p}_{j}-\gamma {\widehat{p}}_{j})\sum_{r=\tau }^{{t}^{\prime}-1}{D}_{jr}\\ {HC}_{t}^{j}\left(t,{t}^{\prime}\right)={(h}_{j}-{{\gamma \widehat{h}}_{j})\sum_{r=t}^{{t}^{\prime}-1}\left(r-t\right)D}_{jr}\end{array}\\ {BC}_{t}^{j}\left(\tau ,t\right)={\beta }_{j}\sum_{r=\tau }^{t-1}\left(t-r\right){D}_{jr}\end{array}\right\}$$
(29)

For \(1\le {t}_{2}\le {t}_{1}<{t}_{4}\le {t}_{3}\le T\), let \({f}_{j}[({t}_{1},{t}_{2}),({t}_{3},{t}_{4})\)] be the total cost to satisfy demands in periods \({t}_{2}\) through (\({t}_{4}-1\)) by the production of item \(j\) in period \({t}_{1}\), and \({t}_{3}\) be the next production period.

$${f}_{j}[({t}_{1},{t}_{2}),({t}_{3},{t}_{4})] =\left\{\begin{array}{cl}{SC}_{{t}_{1}}^{j}+{PC}_{{t}_{1}}^{j}\left({t}_{1},{t}_{4}\right)+{ HC}_{{t}_{1}}^{j}\left({t}_{1},{t}_{4}\right) if {t}_{1}={t}_{2},{\alpha }_{j{(t}_{1}-1)}=0 & (30) \\ \begin{aligned}{SC}_{{t}_{1}}^{j}+{PC}_{{t}_{1}}^{j}\left({t}_{1},{t}_{1}+1\right)&{+y}_{i{t}_{1}}+{PC}_{{t}_{1}+1}^{j}\left({t}_{1}+1,{t}_{4}\right)+{ HC}_{{t}_{1}+1}^{j}\left({t}_{1}+1,{t}_{4}\right) \\& if\;{t}_{1}={t}_{2}, {t}_{1}<{t}_{4}-1\, and\, {\alpha }_{j{t}_{1}}=1,{t}_{3}={t}_{1}+1, i\in \rho (j) \end{aligned}&(31) \\ {SC}_{{t}_{1}}^{j}+{PC}_{{t}_{1}}^{j}\left({t}_{2},{t}_{4}\right)+{ HC}_{{t}_{1}}^{j}\left({t}_{1},{t}_{4}\right)+{BC}_{{t}_{1}}^{j}\left({t}_{2},{t}_{1}\right) if {t}_{2}<{t}_{1}<{t}_{4} \,and\, {\alpha }_{j{t}_{1}}=0 &(32) \\ \begin{aligned}{SC}_{{t}_{1}}^{j}+{PC}_{{t}_{1}}^{j}\left({t}_{2},{t}_{1}+1\right)+&{{BC}_{{t}_{1}}^{j}\left({t}_{2},{t}_{1}\right)+{y}_{i{t}_{1}}+{PC}_{{t}_{1}+1}^{j}\left({t}_{1}+1,{t}_{4}\right)+HC}_{{t}_{1}+1}^{j}\left({t}_{1}+1,{t}_{4}\right) \\& if\;{t}_{2}<{t}_{1}<{t}_{4}-1 \,and\, {\alpha }_{j{t}_{1}}=1,{t}_{3}={t}_{1}+1, i\in \rho (j)\end{aligned}&(33)\end{array}\right.$$

\({t}_{1}={t}_{2}\) in expression (30) represents a setup in period \({t}_{1,}\) followed by the production for the demands of periods \({t}_{1}\) through \({(t}_{4}-1)\). This schedule does not have any setup carryover from period \({(t}_{1}-1)\) to \({t}_{1}\) and hence, \({\alpha }_{j{(t}_{1}-1)}=0\). Expression (31) includes a schedule where there is a setup and production in period \({t}_{1}\) equal to the demand of period \({t}_{1}\), followed by carryover (\({\alpha }_{j{t}_{1}}=1\)) onto period \(\left({t}_{1}+1\right),\) and production in period \(({t}_{1}+1)\) equal to the demands of period \(({t}_{1}+1)\) through \({(t}_{4}-1)\). The case of \({t}_{2}<{t}_{1}<{t}_{4}\) and no carryover (\({\alpha }_{j{t}_{1}}=0\)) is addressed in expression (32) where the setup is done in period \({t}_{1},\) and the production in period \({t}_{1}\) amounts to the demands of periods \({t}_{2}\) though \({(t}_{4}-1)\), considering the backlogged quantities of periods \({t}_{2}\) though \(({t}_{1}-1)\) and holding inventories of periods \({t}_{1}\) though \({(t}_{4}-1)\). Expression (33) indicates a schedule for production and setup in \({t}_{1}|{t}_{2}<{t}_{1}<{t}_{4}-1,\) production of demands of periods \({t}_{2}\) through \({t}_{1}\), along with the backlogged quantities of periods \({t}_{2}\) though \(({t}_{1}-1)\), setup carryover to the period \(({t}_{1}+1)\), production in period \(({t}_{1}+1)\) equal to the demands of periods \(({t}_{1}+1)\) through \({(t}_{4}-1)\) and holding inventories of periods \(({t}_{1}+1)\) though \({(t}_{4}-1)\).

For \(1\le k\le T+1,\) let \({V}_{j}(k)\) be the minimum cost of satisfying demand in periods 1 through \((k-1)\) for item \(j\). Defining \({V}_{j}\left(1\right)=0\forall j,\) we have the following DP recursion:

$$V_j(k)=\underset{1{\leq}k^{\prime}{\leq}t^{\prime}< k{\leq}t^{\prime\prime}}{\min}\lbrack V(k^{\prime})+f_{j}[(t^{\prime},k^{\prime}),(t^{\prime\prime},k)]\rbrack$$
(34)

To analyze the computational complexity of recursion (34), it takes \(O(T)\) time to obtain \({SC}_{t}^{j}\) and \({O(T}^{2})\) time to obtain \({PC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right), {HC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right)\), and \({BC}_{t}^{j}\left(\tau ,{\tau }^{\prime}\right)\) for all \(1\le \tau \le {\tau }^{\prime}\le t<{t}^{\prime}\le {t}^{{\prime}{\prime}}\le T\) from Eq. (29). It is noted that after an \({O(T}^{2})\) time preprocessing step, each \({f}_{j}[({t}_{1},{t}_{2}),({t}_{3},{t}_{4})]\) where \(1\le {t}_{2}\le {t}_{1}<{t}_{4}\le {t}_{3}\le T\) can be evaluated in constant time via Eq. (30) through (33). Once these values are available, \({V}_{j}(k)\forall 1\le k\le T+1\) can be obtained in \({O(T}^{3})\) time.

3.4 Setup Carryover Assignment

The problem of setup carryover assignment can be described as follows. If an item \(j\) is produced both in period \(t\) and \((t+1)\) and a setup is performed in both periods, the second setup can be replaced by a setup carryover if the item is produced at the end of period \(t\) and at the beginning of period \((t+1)\). This last condition can be fulfilled by only one item that is produced in both period \(t\) and \((t+1)\). This saves both setup time and setup costs, and such savings are attainable by only one item that is produced in both periods \(t\) and \((t+1)\).

In this paper, we extended the setup carryover problem introduced by Chowdhury et al. [37] to a production system consisting of multiple identical machines. An ILP model can be formulated for each machine to determine the setup carryover assignment variable. The objective of the problem is to maximize savings in setup costs. Suppose we are given \(S\left(i, t\right)\forall i,t\), where \(S\left(i,t\right)\) is the set of items produced in machine \(i\forall i=1,...,m\) in period \(t\forall t=1...T\). Let us assume another set \({S}^{\prime}(i, t)|{S}^{\prime}\left(i, t\right)=S\left(i,t\right)\cap S\left(i,t+1\right) \forall i=1,...,m\) and \(t=1\dots T-1\). Each element of \({S}^{\prime}\left(i,t\right)\) represents an item that can be carried over from period \(t\) to \((t+1)\) to avoid the machine setup for that item in period \((t+1)\). Since, for a particular machine \(i\), only one item can be carried over to the next period, we must pick exactly one element from \({S}^{\prime}(i, t)\). Let us introduce the parameters for the problem as follows:

\({c}_{j}\) Setup cost saving associated with element \(j|j\in {S}^{\prime}(i,t) \forall t\)

$${q}_{jt}=\left\{\begin{array}{c}1\\ 0\end{array}\right.\begin{array}{c} if\; item\; j\in S^{\prime}\left(i,t\right)\\ otherwise\end{array}$$
$${r^{\prime}}_{jt}=\left\{\begin{array}{c}1\\ 0\end{array}\right.\begin{array}{c}if {q}_{jt}={q}_{j(t+1)}=1\; and\; if \left|S^{\prime}(i, t+1)\right|>1\\ otherwise\end{array}$$

Decision variable:

$${z}_{jt}=\left\{\begin{array}{c}1\\ 0\end{array}\right.\begin{array}{c} \;if\; item\; j\in {S}^{\prime}\left(i,t\right) is\; produced\; at\; the\; end\; of\; period\; t\; and \;in \;the\; beginning\; of\; period \;(t+1)\\ otherwise\end{array}$$

Model SC:

$$Max \sum_{j\in \varphi (i)}\sum_{t=1}^{T-1}{c}_{j}{z}_{jt}\dots \forall i$$
(35)

Subject to,

$${z}_{jt}\le {q}_{jt} \forall j,t<T$$
(36)
$$\sum_{j\in S(i,t)|{q}_{jt}=1}{z}_{jt}\le 1 \forall t\le T$$
(37)
$${z}_{jt}+{z}_{j(t+1)}\le 1 \forall j,t<T-1|{r^{\prime}}_{jt}=1$$
(38)
$${z}_{jt} \in \left[\text{0,1}\right] \forall j,t$$
(39)

The objective function to maximize the setup cost savings for all \(i=1..m\) is expressed in Eq. (35). Constraint (36) ensures that an item, which is produced in two consecutive periods, should be carried over to the next period. Constraint (37) states that at most one item can be carried over to the next period. But for some \(t\), if \({q}_{jt}=0\forall j\in S(t)\), \(\sum_{j\in S(i,t)}{z}_{jt} =0\). Constraint (38) implies the condition that if the setup state of item \(j\) is carried over from period \(t\) to \(\left(t+1\right),\) then \(j\) cannot be carried over from period \((t+1)\) to \((t+2)\). Finally, the type of variables is defined in constraint (39). The LP relaxation of the model SC is obtained by relaxing the constraint (39) as \({z}_{jt} \ge 0 \forall j,t\). We determine the setup carryover variable \({\alpha }_{jt}\) by applying Procedure 1.

Table 2 Procedure 1

4 Proposed DW Decomposition Heuristic Method

4.1 Outline of the Solution Procedure

Generate an initial set of solutions by applying the following procedure:

  • Step 1.1: From Eq. (29) calculate \({SC}_{t}^{j}\), \({PC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right), { HC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right)\), and \({BC}_{t}^{j}\left(\tau ,{\tau }^{\prime}\right)\) by fixing the dual variables \({w}_{it}\), \({y}_{it},\gamma\), and \({v}_{j}\) a value of zero for the end items \(j\)|\(j\in \omega\).

  • Step 1.2: Use \({SC}_{t}^{j}\), \({PC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right), {HC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right)\), and \({BC}_{t}^{j}\left(\tau ,{\tau }^{\prime}\right)\) as the input for DPR and obtain the optimal production quantity \({X}_{jt}\) and setup decision \({Y}_{jt}\) for item \(j\) in period \(t\).

  • Step 1.3: Derive demand for the components \(k|k\in \lambda\) as follows: \({D}_{kt}={\sum }_{{k}{\prime}\in \Gamma (k)}{a}_{k{k}{\prime}}{X}_{{k}{\prime}t} \forall t\) 

  • Step 1.4: Repeat Steps 1.1 and 1.2 for the components. The planned production is determined down to the immediate predecessor level.

  • Step 1.5: Apply the CA heuristic to make \({X}_{jt}\) and \({Y}_{jt}\) feasible (Sect. 4.2).

  • Step 1.6: Solve the ILP for maximizing setup cost savings presented in Eqs. (31) and (32) and obtain the v alue of the setup carryover decision variable \({\alpha }_{jt}\forall j,t\) by applying Procedure 1 in Sect. 3.4.

  • Step 1.7: Use the \({Y}_{jt}\) values from step 1.5 and \({\alpha }_{jt}\) from step 1.6 as parameters and solve the model MLCLSP_SCBE to obtain an optimal value for \({X}_{jt}, {I}_{jt}\) and \({B}_{jt}\).

  • Solve the LP relaxation of the \({MP}_{1}\) and obtain the dual values of constraints (15) through (18).

  • Solve the subproblems using the following approach:

  • Step 3.1: Use the dual values obtained from Step 2 and calculate \({SC}_{t}^{j}\), \({PC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right), {HC}_{t}^{j}\left({t}^{\prime},{t}^{{\prime}{\prime}}\right)\), and \({BC}_{t}^{j}\left(\tau ,{\tau }^{\prime}\right)\) by using Eq. (29).

  • Step 3.2: Repeat Steps 1.2 through 1.7.

  • If there exists at least one new column with negative reduced cost, add such columns to \({MP}_{1}\) and start from Step 2 again. Otherwise, stop.

4.2 Description of the Capacity Allocation (CA) Heuristic

This section explains the CA heuristic. The outline and the numerical illustration of the CA heuristic (Sect. 4.3) use the following symbols:

  • \(l\) Index for levels of product hierarchy (from 0 for the end item, to \(L\)).

  • \(\pi (l)\) Set of items positioned in level \(l\) of the product hierarchy.

  • \({Q}_{jt}\) Production quantity for item \(j\) in period \(t\) obtained from WW solution (capacity constraint relaxed).

  • \({{X}^{\prime}}_{jt}\) Production quantity for item \(j\) in period \(t\) obtained from CA heuristic.

  • \({{Z}^{\prime}}_{jt}\) Allocated capacity for item \(j\) in period \(t\) in time units.

  • \({{Y}^{\prime}}_{jt}\) Setup decision for item \(j\) in period \(t\) obtained from CA heuristic.

  • \({{I}^{\prime}}_{jt}\) Inventory level of item \(j\) in period \(t\) obtained from CA heuristic.

  • \({\text{Req}}_{\text{Cap}\left(i,t\right)}\) Required capacity of machine \(i\) in period \(t\) in time units.

  • \({\text{Available}}_{\text{Cap}\left(i,t\right)}\) Available capacity of machine \(i\) in period \(t\) in time units.

  • \({t}^{\prime}\) Last period before the next period of production obtained from the WW solution.

  • \({(RQ)}_{j}\) Remaining quantity of item \(j\) from the WW solution after the production quantity is adjusted in any period.

  • \({(RD)}_{j,t}\) Remaining demand of item \(j\) in period \(t\) that cannot be satisfied due to the limit of the capacity of resource \(i|i\in \rho (j)\).

  • \({\text{Unused}}_{{\text{Cap}}_{(i,t)}}\) Unutilized capacity of machine \(i\) in period \(t\).

  • \({\text{Allowable}}_{j,t}\) Allowable quantity of item \(j\) that can be allocated in period \(t\).

The CA heuristic works as follows: The algorithm starts with \(t=1\) and \(l=0\). Let us consider a machine \(i\) that is responsible to produce \(j|j\in \pi (l)\) is currently overloaded in period \(t\). This overload of machine \(i\) is decreased by shifting the production quantity of an item \(j|j\in \varphi (i)\) into an earlier or later period. The production quantity of item \(j\) is reduced according to the ratio of the allowable capacity and the required capacity of machine \(i\) in period \(t\) and assigning the production of item \(j\) to period \(t\) as follows:

$${{\text{Z}}^{i}}_{jt}=({Q}_{jt} \times {p}_{j}+{s}_{j})\times \frac{{Available}_{cap(i,t)}}{{Req}_{cap(i,t)}}$$
(40)
$${{X}^{i}}_{jt}=\text{max}\left(\frac{{{z}^{\prime}}_{jt-Sj}}{{p}_{j}},{D}_{jt}-{{I}^{\prime}}_{j(t-1)}\right)$$
(41)

While decreasing the production quantity of any item, one has to remember that a reduction in the production quantity should not lead to a backlog for this item resulting from successor item demands. That is why it is necessary to adjust the production quantity of the successor item. If there is no further item causing an overload of the resource in question in the current level, then the quantity of the successor items of the product hierarchy is adjusted. For all direct and indirect successors \({j}^{i}\) of item \(j\), the maximum quantity that can be decreased is determined according to Eq. (42).

$$X^{\prime}{}_{j^{\prime}t}=\max\left(D_{j^{\prime}t}-I^{\prime}{}_{j^{\prime}(t-1)},\underset{j{\epsilon}\mu({j^{\prime})}}{\min}\frac{X^{\prime}{}_{jt}}{a_{jj^{\prime}}}\right)$$
(42)

In the case where the sum of the required production of item \(j\) in machine \(i\) in period \(t\) exceeds the available capacity of machine \(i\) in period\(t\), we shift the production\([{(RD)}_{j,t}={{{D}_{jt}-{I}_{j\left(t-1\right)}-X}^{\prime}}_{jt}]\) backward into period \(\tau |\tau <t\) and\({\text{Unused}}_{{\text{Cap}}_{(i,\tau )}}>0\). Shifting production to the earlier period is possible because the feasibility of the resulting problem instances with respect to the capacity constraints is maintained by ensuring that the cumulative capacity for every period is larger than (or equal to) the cumulative requirement. Because of this shifting to an earlier period, the production quantity of item \(j\) in period \(\tau\) increases. To accommodate the derived demand of the predecessor items\({j}^{\prime}| {j}^{\prime}\in \mu (j)\), the production quantity of all \({j}^{\prime}\) is adjusted as follows: \({X^{\prime}}_{{j}^{\prime}\tau }=\text{max}({{X}^{\prime}}_{{j}^{\prime}\tau } ,{D}_{{j}^{\prime}\tau }).\)

If, for all \(j|j\in \pi (l)\) and for all \(i|i\in \rho (j)\), the available capacity of machine \(i\) in period \(t\) is allocated among all \(j|j\in \varphi (i)\), then we move into the next level of the product hierarchy. When the production quantity of all items \(j\) is allocated according to the available capacity of machine \(i\) in period \(t\), shift forward the remaining quantity \({(RQ)}_{j}\) to period \({t}^{\prime}|{t}^{\prime}>t\) and assign the production quantity of item \(j\) in period \({t}^{\prime}\) as follows: \({{X}^{\prime}}_{jt}=\text{min}\left[{\text{Allowable}}_{{jt}^{\prime}},{D}_{{jt}^{\prime}}, {(RQ)}_{j}\right]\). Update \({(RQ)}_{j}\). Next, shift the rest of the quantity backward for all \({t}^{\prime}={t}^{\prime}-1,..t+1\). A numerical example is presented in Sect. 4.3 to illustrate the CA heuristic.

4.3 Illustrative Example for CA heuristic

Let us consider the following (Fig. 3) product hierarchy structure where there are two end items (items 1 and 4), and each of the end items has two components over the course of four periods. Demand of items 1 and 4 are D1t = (20, 25, 30, 30) and D4t = (25, 20, 30, 35), where t = 1.4. Table 3 provides additional parameters for this example problem.

Fig. 3
figure 3

Product hierarchy structure for the example problem

Table 3 Parameters for the example problem of size (\(T\times n\times m=4\times 6\times 3\))

WW for end-items: Each subproblem is an SIULSP. Let, \({X}_{jt}\) and \({{Z}^{\prime}}_{jt}\) be the production quantity and allocated capacity for item \(j\) in period \(t\), respectively. The WW solution and the required capacity for item 1 and 4 at each period is given in Table 4.

Table 4 WW solution for end items 1 and 4

Derive demands for components are given in Table 5.

Table 5 Derive demands for components

WW for components

The WW solution for items 2, 3, 5, and 6 is given in Table 6.

Table 6 WW solution for items 2, 3, 5, and 6

Feasibility procedure:

Step 4.1: Capacity allocation of the WW solution is shown in Fig. 4. Let \(t=1 \;\text{and } l=0\).

Fig. 4
figure 4

Capacity allocation of WW solution

Item 1 and 4 are at level 0 and both of these items are processed by machine 1. The required capacity of machine 1 in period 1 (\(105+360=465\)) exceeds its available capacity in period 1 (Fig. 4a). That is why the production quantity of items 1 and 4 in period 1 is shifted to the later periods.

The available capacity of machine 1 in period 1 is allocated for items 1 and 4 as follows:

\({{Z}^{\prime}}_{11}=\left(105\times \frac{300}{465}\right)=67.74\) and \({{Z}^{\prime}}_{41}=\left(360\times \frac{300}{465}\right)=232.258\). As a result, the production quantity for item 1 and 4 in period 1 is decreased as follows:

\({X^{\prime}}_{11}=\left[\left(67.74-15\right)\right]=26 \;and\; {X^{\prime}}_{41}=[(232.258 - 30)/3]=67\)

Derived demand and required capacity for items 2, 3, 5, and 6 in period 1 are 78, 52, 201, and 268, respectively.

Step 4.2: Let \(l=1\). Items 2, 3, 5, and 6 are produced in the next level. The derived demand for item 2 in period 1 is 78 (= 26 \(\times\) 3). But the WW quantity for item 2 in period 1 is 135 (Table 6). Therefore, we take the maximum of 78 and 135 as the production quantity of item 2 in period 1. The production quantity of items 2, 3, 5, and 6 and the required capacity of machines 2 and 3 in period 1 is computed and shown in Table 7.

Table 7 Production quantity of item 2, 3, 5 and 6 and the required capacity of machine 2 and 3

Thus, the required capacity of machines 2 and 3 in period 1 is 775 and 1345 time units, respectively, which exceeds the available capacity of machines 2 and 3 in period 1 (Fig. 4b).

Step 4.3: The available capacity of machine 2 in period 1 is allocated for items 2 and 5 as follows:

\({{Z}^{\prime}}_{21}=\left(425\times \left(\frac{400}{775}\right)\right)=219.35\) and \({{Z}{\prime}}_{51}=\left(350\times \left(\frac{400}{775}\right)\right)=180.65\). As a result, the production quantity for items 2 and 5 in period 1 decreases as follows: \({{X}{\prime}}_{21}=[(219.35- 20/3)]=66\) and \({{X}{\prime}}_{51}=[(180.65-20)/1]=160\). Similarly, the production quantity for items 3 and 6 in period 1 is decreased to \({{X}^{\prime}}_{31}=70\) and \({{X}^{\prime}}_{61}=157\).

The required capacity of machine 2 = \(66\times 3+20\times 1+160\times 1+20\times 1=398<400\)

The required capacity of machine 3 = \(70\times 2+25\times 1+157\times 2+20\times 1=499<500\)

If the required capacity exceeds the available capacity, then repeat steps 4.2 and 4.3.

Step 4.4: Compute production quantity of the successor items: \({{X}^{\prime}}_{11}=\text{max}\left(20,\text{min}\left(\frac{66}{3},\frac{70}{2}\right)\right)=22\) and \({{X}^{\prime}}_{41}=\text{max}\left(25,\text{min}\left(\frac{160}{3},\frac{157}{4}\right)\right)=39\)

Step 4.5: Update the production quantity of predecessors.

$${{X}^{\prime}}_{21}=\text{max}(66, 22\times 3)=6, 6{{X}^{\prime}}_{31}=\text{max}\left(70, 22\times 2\right)=70, {{X}^{\prime}}_{51}=\text{max}(160, 39\times 3)=160, {{X}^{\prime}}_{61}=\text{max}\left(157, 39\times 4\right)=157.$$

Step 4.6: Shift the production quantity for each item to the period (\({t}^{\prime}\)) before the next production period obtained from the WW schedule, and then shift the excess production forward. For any item \(j\), if \({X}_{jt}=0\forall t>1\), then assign \({t}^{\prime}=T\).

The CA heuristic procedure for the example problem is illustrated in Fig. 5.

Fig. 5
figure 5

Illustration of the working principle of CA heuristic for items 1, 2, 4, and 5

Similarly, the capacity allocation for items 3 and 6 is shown in Table 8.

Table 8 Capacity allocation for items 3 and 6

Step 4.7: \(t=t+1\) and repeat steps 4.1 to 4.6 until \(t=T\). The feasible solution after the capacity allocation is completed is shown in Table 9, and the capacity allocation of a feasible solution is shown in Fig. 6.

Table 9 A feasible solution after the CA heuristic is completed
Fig. 6
figure 6

Capacity allocation of a feasible solution

Assign setup decision variables. For the example problem, \({{Y}^{\prime}}_{jt}=1\) for all \(j\) and \(t\) except \({Y^{\prime}}_{\text{3,4}}={Y^{\prime}}_{\text{5,2}}=0\).

LP-based improvement procedure: Solve the original problem as an LP given the setup variables. The setup decisions (\({Y^{\prime}}_{jt}\)) provided by the CA heuristic are used as parameters in the relaxed LP model to refine the solution. As a result, the refined solution becomes optimum for a particular setup decision (Table 10) Furthermore, if the setup decisions are correct, then the solution obtained using the local search method provides the optimum solution.

Table 10 Production schedule (\({X^{\prime}}_{jt}\)) after the improvement procedure

5 Computational Study

5.1 Dataset Used

The performance of the proposed DW decomposition and the CG procedure with the CA heuristic is tested using the test data set introduced by Tempelmeier and Derstroff [10]. This is a 75 problem-instance set of class B and class D as shown in Fig. 7. Class B test cases are comprised of 10 items, 4 periods, and 3 machines whereas class D problems are comprised of 40 items, 16 periods, and 6 machines. The 75 instances were generated using combinations of the following coefficients of variance, setup cost structures, and capacity utilization profiles:

Fig. 7
figure 7

The assembly product structure used for the experiment [10]

Three demand structures with varying coefficients of variance (CV = 0.1, 0.4, 0.7).

Five setup cost structures resulting in different profiles of average time between orders (TBO).

Five capacity utilization profiles (90%, 70%, 50%, 90%/70%/50%, 40%/70%/90%).

Regarding the demand structures, the average demand per period for the end product in the assembly structure is set to 100. As for the setup cost structures, the numbers delimited by slashes are TBO values for higher, middle, and lower levels of the product hierarchy. Note that TBO is an acronym introduced by Tempelmier and Destroff (1996), which they defined as the average length of a production cycle. Setup cost is computed using the following formula: \(\text{Setup cost}=0.5\times \text{holding cost}\times \text{average demand}\times {(TBO)}^{2}\). Available capacity per period is computed by dividing the mean demand by the target capacity utilization. The setup time profile and the resource assignment for problem classes B and D are shown in Tables 11 and 12, respectively.

Table 11 Setup time profiles of problem class B and D for the assembly product structure [10]
Table 12 Resource assignment of problem class B and D for the assembly product structure [10]

For more details about these test instances, see Tempelmeier and Derstroff [10]. In order to allow backlogging, the following modifications of the data made by Wu et al. [14] are being considered:

A ratio of backlogging costs to inventory costs such that \({\beta }_{j}=10{h}_{j} \forall j\in \omega\).

The demand for all items is increased by 20% for the first half of the time horizon, while the resource capacities are increased by 10% over the entire time horizon for each test instance.

However, these data sets have no allowance for an emission cap. We, therefore, alter the problem instances to limit the emission while making lot sizing decision. The emission due to setup (\({\widehat{c}}_{j}\)), production (\({\widehat{p}}_{j}\)) and holding (\({\widehat{h}}_{j}\)) activities are all generated from discrete uniform distributions DU (0,20). The emission cap is set to 25,000 and 60,000 tons of carbon for the problem classes B and D, respectively.

6 Performance Evaluation

Our developed DW decomposition and the CG procedure with the CA heuristic are coded using FICO’s Mosel (Xpress-IVE Version 1.24.02 64 bit) algebraic modeling language and the commercial MILP solver Xpress 7.6 is used to establish its efficiency. All the test instances are run on a PC with an Intel Core i7 1.8 GHz processor, 8 GB of RAM, and an L2 cache of 512 KB.

With respect to the class B test instances, the computational results are given in Tables 13 and 14. Since the test instances of class B are relatively small problems, the commercial MILP solver Xpress 7.6 is able to optimally solve the MLCLSP with SCBE model (Eqs. 1 and 13) for all the test instances in this class. The optimality gap is calculated using the formula, \(\%\text{gap}= \frac{\text{Heuristic Solution}-\text{Optimum solution}}{\text{Optimum Solution}}\times 100\). According to the results listed in Table 13, it can be seen that the overall mean deviation from optimality is 1.65%. We provide the solutions (values of the cost objective function employed) in Table 14. Table 15 demonstrates the computational time (seconds) required by the DW heuristic solutions for class B test cases. It is noted from Table 15 that the average solution time using DW heuristic is improved by 54.9% over the MIP solver solution time.

Table 13 Average deviation from optimality (%) of the proposed heuristic solutions for class B test cases of 10 items, 4 periods, and 3 machines (\({C}_{cap}=\text{25,000} \;\text{tons of carbon}\))
Table 14 The solutions (values of the cost objective function employed) obtained by the proposed heuristic for class B test cases of 10 items, 4 periods, and 3 machines (\({C}_{cap}=\text{25,000}\; \text{tons of carbon}\))
Table 15 Solution time (seconds) required by the proposed heuristic solutions for class B test cases of 10 items, 4 periods, and 3 machines (\({C}_{cap}=\text{25,000}\; \text{tons of carbon}\))

The computational results of class D problem instances are given in Tables 16 and 17. Since the problem size of the class D test instances is relatively larger, MIP solver Xpress 7.6 could not solve any of the instances. Table 16 shows the average percent deviation of the proposed heuristic solutions from the lower bounds for problem class D. The gaps are calculated using the formula, \(\%\text{gap}=\frac{{UB}_{\text{heuristic}}-{LB}_{MILP}}{{LB}_{MILP}}\times 100\). Here, \({UB}_{\text{heuristic}}\) denotes the upper bounds achieved by our developed DW decomposition heuristic. According to the results listed in Table 16, it can be seen that the overall mean deviation from optimality is 9.23%. For reference, we provide the solutions (values of the cost objective function employed) in Table 17. The column \({LB}_{MILP}\) in Table 17 denotes the lower bound obtained by solving the LP relaxation of the corresponding MLCLSP_SCBE formulation after a running time of 1800s. The columns associated with \({UB}_{DW}\) provide the upper bounds achieved by the DW decomposition heuristic. It was mentioned in Sect. 5.1 that we consider the same modifications to problem classes B and D made by Wu et al. [14] to allow backlogging. Wu et al. [14] show that their progressive time-oriented heuristic (PTH) lowers the optimality gaps by around 7.5% for the modified class B and 25% for the modified class D when compared to CPLEX. In contrast, as compared to the MIP solver’s solution, the DW decomposition with the CA heuristic reduces the optimality gaps by roughly 1.65% for class B and 9.23% for class D test cases.

Table 16 Average deviation (%) of the proposed heuristic solutions from the lower bounds for class D test cases of 40 items, 16 periods, and 6 machines (\({C}_{cap}=\text{60,000} \;t/MWh\))
Table 17 The solutions (values of the cost objective function employed) obtained by the DW heuristic for class D test cases of 40 items, 16 periods, and 6 machines (\({C}_{cap}=\text{60,000} \;\text{tons of carbon}\))

7 Conclusion

This paper addresses the extended classical MLCLSP where setup carryover, backlogging, and emission control are being incorporated (MLCLSP_SCBE). An item DW decomposition technique is developed to decompose the MLCLSP_SCBE into a master problem and a number of uncapacitated dynamic single-item lot-sizing problems, which are solved by combining dynamic programming and a multi-step iterative capacity allocation (CA) heuristic approach. An ILP model is developed to determine the setup carryover variable for a given production schedule. An LP-based post-improvement procedure is implemented to refine the solution. The capacity constraints are being taken into consideration implicitly through the dual variables, which are updated using a column generation procedure. The performance of the heuristic is tested by comparing the average percentage of deviation from optimality. The quality of the heuristic for MLCLSP_SCBE is tested using the two test data sets namely class B and class D introduced by Tempelmeier and Derstroff [10]. The results show that the overall mean deviation from optimality is 1.65% (for class B test cases) and 9.23% (for class D test cases) as the proposed heuristic-based decomposition approach is applied.

For future work, the proposed model can be extended to include constraints of limited inventory storage capacity, lot transportation, to name a few. In the future, period decomposition and resource decomposition can be considered for comparing the effectiveness of each of these techniques. Also, metaheuristic approaches, math-heuristics, or the newer hyper-heuristics may be employed to investigate if the percentage gap from optimality improves using the sub-optimal solutions obtained by such solution approaches.