1 Introduction

During almost a century, facility location (FL) problem has been studied as a main area within Operation Research. ReVelle et al. (2008) categorized various developed location models into four categories, namely analytic, continuous, network and discrete location models. Supply chain network design (SCND) belongs to discrete location models and is a suitable application for FL problems. To create long-term strategies for designing and planning supply chains, it is important to take into account the possibility of creating future adjustments in the network configuration. Therefore, a planning horizon with several time periods is typically considered in many SCND studies (Melo et al. 2009). These are usually called dynamic SCND problems.

Decisions related to the strategic level should be integrated with the tactical level decisions to achieve a global and integrated system (Goetschalckx et al. 2002). In this paper, a dynamic SCND problem for making strategic and tactical decisions is described. The problem considers two different interconnected time periods including tactical and strategic periods in the planning horizon with a novel time modeling approach. This approach may produce significant benefits for a company, but, there are a few studies in the literature (see Salema et al. 2010; Badri et al. 2013; Bashiri et al. 2012) that have addressed this issue.

As a new contribution of this paper in the class of dynamic FL problems, demands of customer zones are considered as price-sensitive. The fact that demands depend on price decisions is an important feature, which is not modeled by previous studies in this field. In the optimization problem, price decisions must be dynamically made as tactical level decisions to maximize the net income of the supply chain. Traditionally, most of studies in this area assume demands as input parameters that should be satisfied completely to minimize the total costs of supply chain (see Hinojosa et al. 2008; Melo et al. 2012, 2014). In a few studies such as Badri et al. (2013) and Nickel et al. (2012), the given demands of customers could be satisfied partially or completely to maximize the profit of the supply chain. Although, demand management and revenue management issues have been much attracted in several industries, but their impacts on supply chain network design and planning have not yet been investigated in the related literature. In this paper, different price–demand relationships are considered for multiple products at each time period to model behavior of each customer zone to prices of products. The integrated price, location and capacity decisions should be made in a dynamic SCND problem. Figure 1 illustrates the relations between the strategic and tactical decisions in the problem.

Fig. 1
figure 1

Model’s decisions framework

This paper also proposes a novel approach for capacity planning in a SCND problem. In previous studies such as Badri et al. (2013), Correia et al. (2013), and Tang et al. (2013), manufacturing processes of different products are not considered for capacity planning in a supply chain network. Here, to cope with this issue, capacity options for manufacturing operations of production plants are taken into consideration and expansion capacity planning is assumed in a multi-commodity supply chain. Therefore, production plants are flexible to produce different types of products, considering their manufacturing processes. For example, if operation A should be performed to produce a specific product, only production plants with available capacities on operation A can produce this product. This approach for the capacity planning has high potential to model various practical situations.

In addition, some practical aspects of SCND problems have been considered that have not yet been simultaneously assumed in previous studies. These aspects include: available capital for supply chain network investment, opening, closing, and reopening some facilities in the supply chain, flows of products through the facilities in the same layer of the supply chain network (Intra-layer flows), capacitated product flows through the network, and travel times between supply chain entities.

In this paper, price levels are obtained for products based on price–demand relationships of customer zones in each tactical period using a generic method. Then, an MILP model is developed for the problem. Afterward, using an alternative pricing approach, an upper bound is proposed for the problem. These two pricing approaches are compared to each other in the computational results part. To the best of our knowledge, this paper is the first research study that attempts to make the demands of customer zones dependent on prices of products in designing and planning a supply chain network over a multi-period horizon. In addition, the MILP model considers several practical features that have not been addressed simultaneously in the literature. By implementing a deep sensitivity analysis and solving several test problems, our goals in this research are to:

  • Identify the relations between location, capacity, and price decisions in SCND,

  • Investigate the applicability of the proposed capacity planning approach,

  • Study the effect of available capital for network design investment on net income of the supply chain,

  • Compare the static and dynamic pricing approaches in terms of supply chain revenue,

  • Assess the performance and applications of the model.

This paper is structured as follows: An overview on the existing literature related to this study is presented in Sect. 2. The problem and its characteristics are defined in Sect. 3 in details. The proposed generic MILP model for the problem is presented in Sect. 4. To evaluate the performance of the mathematical model, computational results for several test problems using CPLEX solver is presented in Sect. 5. Section 6 provides a sensitivity analysis in order to assess the impact of significant parameters on the supply chain structure. Finally, Sect. 7 concludes the paper and suggests guidelines for further research.

2 Literature review

Here, a literature review is presented in two subsections according to the scope of the paper. In the first subsection, the main studies in the context of dynamic SCND problems in terms of essential aspects and decisions are investigated. In the second part, FL problems with price decisions are reviewed.

2.1 Dynamic supply chain network design problems

ReVelle et al. (2008) presented a review paper on discrete location models and a survey on SCND studies is presented by Melo et al. (2009). In contrast to static (i.e., single-period) FL problems, fewer researches have been addressed dynamic (i.e., multi-period) ones. In this paper, the main studies related to dynamic SCND problems are reviewed. Ballou (1968) presented the first study in this area for a single FL problem and the extension of the problem for multiple facilities was proposed by Scott (1971). Pioneering papers in the context of dynamic FL problems such as Galvao and Santibanez-Gonzalez (1992) and Chardaire et al. (1996) considered the un-capacitated case and then, several researchers extended the capacitated version of the problem. SCND in a multi-period context have been mostly studied to create a new supply chain network or to redesign an existing one. Recently, there has been a growing attention to this area (see, for example, Pimentel et al. 2013; Nickel et al. 2012; Melo et al. 2014; Badri et al. 2013; Wilhelm et al. 2013).

A comprehensive mathematical modeling framework for redesigning a supply chain network over a multi-period horizon is proposed by Melo et al. (2006). They investigated main capacity planning approaches in a generic supply chain network. Moreover, they assumed the possibility of facility relocation over the time horizon with gradual capacity transfers from existing locations to new sites. It is worth mentioning that the authors attempted to solve the problem using Tabu Search Algorithm and a linear relaxation-based heuristic in Melo et al. (2012) and Melo et al. (2014), successively. Thanh et al. (2008) presented an MILP model for determining strategic and tactical decisions in a four-echelon, multi-commodity, and multi-period production-distribution network. They also considered supplier selection decisions and the bill of materials of products in the problem. In Thanh et al. (2010), they proposed a linear-relaxation-based heuristic for solving the large-sized test problems.

Some authors assumed a supply chain network with complex product flows in this area. The possibility of direct product flow from upper layers to customers were considered by many authors such as Canel et al. (2001), Melo et al. (2006), and Vila et al. (2006). Moreover, many studies such as Melo et al. (2006), Vila et al. (2006), and Aghezzaf (2005) addressed the problem with intra-layer product flows through the network. Recently, Salema et al. (2010) presented a dynamic SCND model in which they embedded the needed time units for product flows through a supply chain network in their proposed model. Table 2 specifies network structure of the main studies in the related literature. In Table 2, some symbols have been used that are provided by Akçalı et al. (2009) and their descriptions are available in Table 1. Furthermore, as it is illustrated in Table 2, several decisions such as supplier selection, transportation, inventory, and production decisions have been imbedded into the problem. In our case, price of multiple products should be also determined dynamically for the first time.

Table 1 Definition of symbols
Table 2 Literature review on main studies in the area of SCND problems with multiple periods

A planning horizon divided into strategic time units (i.e. periods) is usually assumed in multi-period SCND problems (see Dias et al. 2007; Hinojosa et al. 2000). However, there are several papers such as Longinidis and Georgiadis (2011), Schütz et al. (2009) and Georgiadis et al. (2011) that have assumed operational/tactical periods over a planning horizon. Recently, Esmaeilikia et al. (2014) presented a review in the area of tactical supply chain planning models. Salema et al. (2010) taken into account interconnected strategic and tactical time units for a dynamic SCND model to integrate strategic and tactical planning decisions. Afterwards, Bashiri et al. (2012) and Badri et al. (2013) applied this approach in the problem addressed by Thanh et al. (2008).

There are many practical aspects corresponding to dynamic SCND problems. Several studies assumed that facilities can be opened, closed, or reopened more than once in a supply chain network. Furthermore, reducing, expanding, or relocating of facilities’ capacities is also considered for dynamic SCND. In Table 2, main dynamic SCND models in terms of these aspects are also investigated. In addition, the available investment budget for the establishment of new facilities or redesign of a network is usually limited in each strategic period. To cope with this issue, a predetermined budget for investment is considered by Melo et al. (2006) in each period. Recently, Bashiri et al. (2012) and Badri et al. (2013) considered that the cumulative net income after reduction of the tax and stakeholders’ share can be added to the accessible budget for the investment in their problems.

2.2 Facility location problems with price-sensitive demand

Profit maximization FL problems have been categorized the into three main groups by Ahmadi-Javid and Ghandali (2014). In the first group, the main goal is to find an equilibrium price and locations of new facilities that enter into a competitive environment. Problems in which demands of customers are not dependent to price decisions have been addressed by the second group. In a few studies of this group such as Zhang (2001) and Shen (2006), price only affects a customer’s decision on whether or not to receive service from the supply chain. Finally, in the third group, profit maximization FL problems where demands of customers are sensitive to price decisions such as our problem have been addressed. Therefore, facility location and price decisions should be simultaneously made. Unfortunately, because of the complexity of corresponding integrated optimization problems, there are few works to address this issue. Hansen et al. (1997), Hanjoul et al. (1990), Ahmadi-Javid and Hoseinpour (2015), Hansen et al. (1981), Ahmadi-Javid and Ghandali (2014), and Wagner and Falkson (1975) addressed FL problems with price-sensitive demands in which location decisions should be taken for a single layer of a network in a single period FL problem. To the best of our knowledge, in the class of dynamic FL problems this paper addresses a problem with price-sensitive demands for the first time.

The following conclusions can be driven from the presented literature review:

  • In recent years, many studies have addressed dynamic SCND problems and this indicates that this area has gained considerable attention in both practice and academia.

  • Developing applicable capacity planning approaches for expanding facilities over a long-term planning horizon is still necessary in SCND. The existing approaches do not consider manufacturing processes of the products.

  • The presented dynamic SCND models have assumed that the demands of the customers are predefined as input parameters. However, prices of supply chain products affect meaningfully the demands of customers in real supply chains and these important tactical decisions have not yet been considered in the related literature.

  • Integrating location, capacity, and price decisions may produce significant benefits for a company and to the best of our knowledge; it has not yet been addressed in the related literature on planning and design of supply chain networks.

  • There are many practical aspects relevant to dynamic SCND problems that have not received sufficient attention in the literature. It is essential to present a generic mathematical model in which these aspects are simultaneously taken into account.

In this paper, a comprehensive model for integrated strategic and tactical planning of a multi-echelon, multi-period, and multi-product supply chain network is presented in which customers have price-sensitive demands. In addition, we do our best to address the previously mentioned gaps in the literature.

3 Problem definition

In this paper, a multi-period, multi-commodity, and multi-layer network including production plants and two types of warehouses is considered. The supply chain network’s structure is generally shown in Fig. 2.

Fig. 2
figure 2

Supply chain network’s structure

The first layer of the supply chain network consists of a set of potential production plants whose location are to be determined. In addition, two types of capacity are considered for production plants: (1) storage capacity, (2) manufacturing capacity. The storage capacity of each production plant for final products is limited. However, the manufacturing capacity of each plant should be determined and could be expanded over a planning horizon. In this paper, a set of capacity options is considered for different manufacturing operations in the case of locating a production plant and there is also another set of capacity options to expand the capacity of each manufacturing operation. Moreover, by considering manufacturing process of the products, production plants are flexible to produce different products.

In the second layer, based on what was initially proposed by Thanh et al. (2008), two types of warehouses are assumed: (1) private warehouses, (2) public warehouses. The private warehouses as company’s property can be opened only one time. However, public warehouses which are hired or rented by the company can be closed or reopened over a given planning horizon. Warehouses are also limited in holding and forwarding final products in accordance to warehouses’ maximum storage and operating capacity, subsequently. In addition, final products can be transferred between warehouses to make the network structure more flexible.

Customer zones which are geographically dispersed are located at the third echelon of the supply chain network and their demands are price sensitive. In this paper, each customer zone has different willingness to pays and potential demands for multiple products. Therefore, each product demand for each customer zone should be determined based on the price decisions of the problem. The integrated price, location and capacity decisions should be made in the optimization problem.

3.1 Time modeling

The proposed optimization problem considers two main levels of decisions: the tactical and the strategic decisions. The strategic decisions should be taken for a given period of time, under the assumption that the supply chain structure remains unchanged. The number, location and capacity of facilities should be determined as strategic decisions in our problem. The tactical level includes a more detailed time description. Here, the inventory, production, price and transportation decisions are tactical decisions. Therefore, two-interconnected time periods are considered within the planning horizon.

Figure 3 illustrates the interconnection between these two time periods consist of tactical and strategic periods. Consider \(p\in P\) and \(t\in T\) as an element of strategic periods’ set and tactical periods’ set, successively. In addition, for each element \(p\in P\), NT elements are in T.

Fig. 3
figure 3

Structure of the planning horizon in the optimization problem

Consider the current time example is \(\left( {p,t} \right) \) in which \(p\in P\) and \(t\in T\). Here, an operator \(\Gamma \) is defined to obtain the values of \({p}'\) and \({t}'\) for time unit \(\left( {{p}',{t}'} \right) \) that has occurred \(\tau \) tactical periods before the current time \(\left( {p,t} \right) \). Here, \(f\left( {p,t} \right) \) is a linear function that is equal to \(NT\times p+t\) and mod(ab) is modulo operation. In computing, this operation finds the reminder of Euclidian division of a by b.

$$\begin{aligned} \Gamma \left( {p,t-\tau } \right) =\left( {{p}',{t}'} \right) \quad \text {and} \quad \left\{ {\begin{array}{l} {t}'=\hbox {mod}\!\left( {f\left( {p,t-\tau } \right) -1, NT} \right) +1 \\ {p}'=\left( {f\left( {p,t-\tau } \right) -{t}'} \right) \big /NT \\ \end{array}} \right. \end{aligned}$$
(1)

For example, let \(P=\left\{ {1,2,\ldots ,12} \right\} \) and \(T=\left\{ {1,2,3,4} \right\} \), and assume that the current time is strategic period 3 and tactical period 3 (i.e. \(\left( {p,t} \right) =\left( {3,3} \right) )\). Consider \(\tau \) is equal to 5 then \(\Gamma \left( {3,3-5} \right) =\left( {{p}',{t}'} \right) \) in which \({t}'=\hbox {mod}\!\left( {4\times 3+3-5-1, 4} \right) +1=2\) and \({p}'=\left( {4\times 3+3-5-2} \right) /4=2\). Assume now that \(\tau \) is equal to 2 then \(\Gamma \left( {3,3-2} \right) =\left( {{p}',{t}'} \right) \) in which \({t}'=\hbox {mod}\!\left( {4\times 3+3-2-1, 4} \right) +1=1\) and \({p}'=\left( {4\times 3+3-2-1} \right) /4=3\).

4 Model formulation

In this section, an MILP model is proposed for the dynamic supply chain network design with capacity expansion planning, production–distribution planning, and dynamic pricing of multiple products.

4.1 Notations

Sets

\(P\left( {p,{p}'\in P; p,{p}'=0,1,\ldots ,NP} \right) \) :

Set of strategic periods of the planning horizon,

\(T\left( {t,{t}'\in T; t,{t}'=1,\ldots ,NT} \right) \) :

Set of tactical periods of the planning horizon,

\(I\left( {i,j,{j}'\in I} \right) \) :

Set of all entities in the network consist of potential locations for production plants, potential locations for private and public warehouses, and customer zones,

\(M\left( {M\subset I} \right) \) :

Set of potential locations for production plants,

\(W\left( {W\subset I} \right) \) :

Set of potential locations for private and public warehouses,

\(W^{P}\left( {W^{P}\subset W} \right) \) :

Set of potential locations for private warehouses,

\(W^{H}\left( {W^{H}\subset W} \right) \) :

Set of potential locations for public warehouses,

\(C\left( {C\subset I} \right) \) :

Set of customer zones,

\(O\left( {o\in O} \right) \) :

Set of manufacturing operations,

\(K\left( {k\in K} \right) \) :

Set of products,

\(L\left( {l\in L} \right) \) :

Set of price levels,

\(U\left( {u\in U} \right) \) :

Set of capacity levels for manufacturing operations at the time of opening a production plant,

\(E\left( {e\in E} \right) \) :

Set of capacity levels for manufacturing operations to expand an existing production plan.

Costs

\(\hbox {COM}_{i, p} \) :

Fixed cost of opening a plant in period p and in possible location i that should be charged in period \( p-1, i\in M, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {COP}_{i, p} \) :

Fixed cost of opening a private warehouse in period p and in possible location i that should be charged in period \( p-1, i\in W^{P}, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {COH}_{i, p} \) :

Fixed cost of using a public warehouse in period p and in possible location i that should be charged in period \(p-1\), \(i\in W^{H}, p\in P\backslash \left\{ 0 \right\} ,\)

\(\hbox {CCH}_{i, p} \) :

Fixed cost of closing a public warehouse in period p and in possible location i that should be charged in period \(p-1\), \(i\in W^{H}, p\in P\backslash \left\{ 0 \right\} ,\)

\(\hbox {CUM}_{i, p} \) :

Fixed operation cost of a plant in strategic period p and in possible location \(i, i\in M, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {CUP}_{i, p} \) :

Fixed operation cost of a private warehouse in period p and in possible location i, \(i\in W^{P}, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {CUH}_{i, p} \) :

Fixed operation cost of a public warehouse in period p and in possible location i, \(i\in W^{H}, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {CIU}_{i, u, o, p} \) :

Fixed cost of installing capacity level u of manufacturing operation o for possible location i, in period p that should be charged in period \(p-1\), \(i\in M, u\in U, o\in O, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {CAE}_{i, e, o, p} \) :

Fixed cost for adding capacity level e of manufacturing operation o to existing plant i, in period p that should be charged in period \(p-1\), \(i\in M, e\in E, o\in O, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {COU}_{i, u, o, p} \) :

Fixed operation cost for capacity level u of manufacturing operation o for plant i, in period p, \(i\in M, u\in U, o\in O, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {COE}_{i, e, o, p} \) :

Fixed operation cost for capacity level e of manufacturing operation o for plant i, in period p, \(i\in M, e\in E, o\in O, p\in P\backslash \left\{ 0 \right\} \),

\(\hbox {CTR}_{i, j, k} \) :

Transportation cost per unit of product k from entity i to entity j, \(i,j\in I, k\in K\), the possible entities i and j are : \(\left( {i\in M \wedge j\in W} \right) \vee \left( {i\in W \wedge j\in W\backslash \left\{ i \right\} } \right) \vee \left( {i\in W \wedge j\in C} \right) \)

\(\hbox {CHM}_{i, k} \) :

Storage cost per unit of product k in production plant i, \(i\in M, k\in K\),

\(\hbox {CHW}_{i,k} \) :

Storage cost per unit of product k in warehouse i, \(i\in W, k\in K\),

\(\hbox {CMP}_{i, k, o} \) :

Cost of manufacturing operation o to produce per unit of product k in production plant i, \(i\in M, k\in K,o\in O\), if any manufacturing operation o should not be used in the production process of each product k, the corresponding cost is equal to zero.

\(\hbox {CSO}_{i,k } \) :

Penalization cost of non-satisfied per unit of product k for customer zone i, \(i\in C, k\in K\).

Other input parameters

\(\hbox {SM}_i \) :

Storage capacity of production plant \(i, i\in M,\)

\(\hbox {OW}_i \) :

Operating capacity of warehouse i, \(i\in W,\)

\(\hbox {SW}_i \) :

Storage capacity of warehouse i, \(i\in W,\)

\(\hbox {MI}_i \) :

Maximum installable capacity for manufacturing operations in production plant \(i, i\in M,\)

\(\hbox {CAI}_{i, o, u} \) :

Amount of capacity level u for manufacturing operation o at the time of opening production plant \(i, i\in M,u\in U, o\in O,\)

\(\hbox {CAA}_{i, o, e} \) :

Amount of capacity level e for manufacturing operation o to establish in plant i, \(i\in M,e\in E, o\in O,\)

\(\hbox {PR}_{k, l, p, t} \) :

Selling price level l for per unit of product k in strategic period p and tactical period \(t, k\in K,l\in L,p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\(\hbox {D} _{i, k, l, p, t} \) :

Demand of customer zone i for product k with price level l in strategic period p and tactical period t, \(i\in C,k\in K,l\in L,p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\({\upmu }_k^{SW} \) :

Consumption factor of storage capacity in a warehouse to stock per unit of product k, \(k\in K,\)

\({\upmu }_k^{PW} \) :

Consumption factor of processing capacity in a warehouse to forward per unit of product k, \(k\in K,\)

\({\upmu }_k^{SM} \) :

Consumption factor of storage capacity in a production plant to stock per unit of product k, \(k\in K,\)

\({\upmu }_o^{MO} \) :

Consumption factor of available capacity in a production plant to install per unit capacity of manufacturing operation \(o, o\in O,\)

\({\upmu }_{o,k}^{OP} \) :

Consumption factor for capacity of manufacturing operation o to produce per unit of product k, \(k\in K, o\in O,\)

\({\uptau }_{ij} \) :

Travel times for transportation between entities i and j, \(i,j\in I, \)

\(\hbox {UFM}_i \) :

Maximum capacity of each products’ flow leaving plant i, \(i\in M,\)

\(\hbox {UFW}_i \) :

Maximum capacity of each products’ flow leaving warehouse i, \(i\in W\),

\({\upmu }_k^F \) :

Consumption factor of flows’ capacity to forward per unit of product k, \(k\in K,\)

\(\hbox {B}_p \) :

Available investment budget in period p, \(p\in P\backslash \left\{ {NP} \right\} ,\)

\(\hbox {IR}_p \) :

Unit return factor on capital not expended in period p, \(p\in P,\)

\(\hbox {MU}_{i, o} \) :

Maximal rate of utilizing manufacturing operation o in production plant i, \(i\in M, o\in O,\)

\(\hbox {NU}_{i, o} \) :

Minimal rate of utilizing manufacturing operation o in production plant i, \(i\in M, o\in O.\)

Binary variables

\(x_{i, p}^P\) :

1 if a plant is open in possible location i and in strategic period p, \(i\in M, p\in P\backslash \left\{ 0 \right\} ,\)

\(x_{i, p}^W\) :

1 if a private/public warehouse is open in possible location i and in strategic period p, \(i\in W, p\in P\backslash \left\{ 0 \right\} ,\)

\(y_{i, u, o, p}^{PI}\) :

1 if capacity level u for manufacturing operation o is established in strategic period p for plant \(i, i\in M, u\in U, o\in O, p\in P\backslash \left\{ 0 \right\} ,\)

\(y_{i, e, o, p}^{PE}\) :

1 if a capacity level e for manufacturing operation o is added in strategic period p to plant i, \(i\in M, e\in E, o\in O, p\in P\backslash \left\{ 0 \right\} ,\)

\(\delta _{l, k, p, t}\) :

1 if price level l is chosen for per unit of product k in strategic period p and tactical period t.

Continuous variables

\(nc_p \) :

Total investment cost expensed to design/redesign the network in strategic period \(p ,p\in P\backslash \left\{ {NP} \right\} ,\)

\(\xi _p \) :

Unspent budget in strategic period \(p ,p\in P,\)

\(f_{i, j, k, p, t} \) :

Quantity of product k shipped in strategic period p and tactical period t from entity i to entity j, \(k\in K,p\in P\backslash \left\{ 0 \right\} ,t\in T,\) the possible entities i and j are: \(\left( {i\in M \wedge j\in W} \right) \vee \left( {i\in W \wedge j\in W\backslash \left\{ i \right\} } \right) \vee \left( {i\in W \wedge j\in C} \right) \)

\(s_{i, k, p, t}^P \) :

Quantity of product k held in plant i in strategic period p and tactical period t, \(i\in M,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\(s_{i, k, p, t}^W \) :

Quantity of product k held in private/public warehouse i in strategic period p and tactical period t, \(i\in W,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\(q_{i, k, p, t} \) :

Quantity of product k produced in plant i in strategic period p and tactical period t, \(i\in M,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\(g_{i, o, p} \) :

Capacity quantity of manufacturing operation o in plant i in strategic period p, \(i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} ,\)

\(u_{i, l, k, p, t} \) :

Quantity of product k not satisfied for customer zone i in price level l, strategic period p and tactical period t, \(i\in C,k\in K, l\in L, p\in P\backslash \left\{ 0 \right\} ,t\in T,\)

\(owc_{i, p} \) :

A continuous variable equal to cost of opening public warehouse i, in period p, if the warehouse is opened in period p; otherwise, it equals to zero, \(i\in W^{h}, p\in P\backslash \left\{ 0 \right\} ,\)

\(cwc_{i, p} \) :

A continuous variable equal to cost of closing public warehouse i, in period p, if the warehouse is closed in period p; otherwise, it equals to zero, \(i\in W^{h}, p\in P\backslash \left\{ 0 \right\} .\)

4.2 Constraints

$$\begin{aligned}&q_{i, k, p, t} +s_{i, k, \Gamma \left( {p, t-1} \right) }^P \nonumber \\&\quad =s_{i, k, p, t}^P +\sum _{j\in W} {f_{i, j, k, p, t} } \qquad i\in M, k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T, \left( {p\ne 1\vee t\ne 1} \right) \end{aligned}$$
(2)
$$\begin{aligned}&q_{i, k, p, t} =s_{i, k, p, t}^P +\sum _{j\in W} {f_{i, j, k, p, t} } \qquad \qquad i\in M, k\in K, \left( {p=1\wedge t=1} \right) \end{aligned}$$
(3)

Constraints (2) and (3) guarantee that in each tactical period, in any production plant, and for each product, the quantity of the product that is held at the previous period plus the production amount of the product should be equal to total quantity of the product that is shipped to warehouses plus the quantity of the product that is stored at the end of the current tactical period.

$$\begin{aligned}&s_{i, k, \Gamma \left( {p, t-1} \right) }^W +\sum _{j\in M} {f_{j, i, k, \Gamma \left( {p,t-\tau _{ji} } \right) } } +\sum _{j\in W\backslash \left\{ i \right\} } {f_{j, i, k, \Gamma \left( {p,t-\tau _{ji} } \right) } } =s_{i, k, p, t}^W +\sum _{{j}'\in C} {f_{i, {j}', k, p, t} }\nonumber \\&\qquad +\sum _{{j}'\in W\backslash \left\{ i \right\} } {f_{i, {j}', k, p, t} } \qquad \qquad i\in W, k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T,\left( {p\ne 1\vee t\ne 1} \right) \end{aligned}$$
(4)
$$\begin{aligned}&\sum _{j\in M} {f_{j, i, k, \Gamma \left( {p,t-\tau _{ji} } \right) } } +\sum _{j\in W\backslash \left\{ i \right\} } {f_{j, i, k, \Gamma \left( {p,t-\tau _{ji} } \right) } } \nonumber \\&\quad =s_{i, k, p, t}^W +\sum _{{j}'\in C} {f_{i, {j}', k, p, t} } +\sum _{{j}'\in W\backslash \left\{ i \right\} } {f_{i, {j}', k, p, t} } \qquad i\in W, k\in K, \left( {p=1\wedge t=1} \right) \end{aligned}$$
(5)

Constraints (4) and (5) are balance constraints at warehouses. In each tactical period, in each public/private warehouse, and for each product, the delivered flows of the product plus the product amount that is held at the end of the previous period is equivalent to the output flows of the product plus the product amount that is held at the end of the period. In accordance to these constraints, for any warehouse, the intra-layer flows are also assumed in the supply chain network.

$$\begin{aligned}&\sum _{k\in K} {{\upmu } _k^F f_{i, j, k, p, t} } \le \hbox {UFM}_i x_{j, p}^W \ \qquad \qquad i\in M,j\in W, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(6)
$$\begin{aligned}&\sum _{k\in K} {\mu _k^F f_{i, j, k, p, t} } \le \hbox {UFW}_i x_{j, p}^W \qquad \qquad i\in W,j\in W\backslash \left\{ i \right\} , p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(7)
$$\begin{aligned}&\sum _{k\in K} {{\upmu }_k^F f_{i, j, k, p, t} } \le \hbox {UFW}_i \qquad \qquad \qquad i\in W,j\in C, p\in P\backslash \left\{ 0 \right\} , t\in T. \end{aligned}$$
(8)

Constraints (68) are flow constraints. In each tactical period, if warehouse j is opened in the supply chain network, constraints (6) consider a maximum capacity for each products’ flow that may be shipped from plant i to warehouse j. Constraints (7) are the same as constraints (6) in which products’ flows form each warehouse to another warehouse are taken into account. Flows of the products that may be shipped from warehouses to customer zones are considered by constraints (8).

$$\begin{aligned}&\sum _{l\in L} {\delta _{l, k, p, t} } =1 \qquad \qquad \qquad \qquad \qquad \qquad k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(9)
$$\begin{aligned}&u_{i, l, k, p, t} \le \delta _{l, k, p, t} \hbox {D}_{i, k, l, p, t} \qquad \qquad \qquad i\in C, l\in L, k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(10)
$$\begin{aligned}&\sum _{i\in W} {f_{i, j, k, \Gamma \left( {p,t-\tau _{ij} } \right) } } +\sum _{l\in L} {u_{j, l, k, p, t} } \nonumber \\&\quad =\sum _{l\in L} {\delta _{l, k, p, t} \hbox {D} _{j, k, l, p, t} } \quad \qquad \qquad \qquad j\in C, k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T. \end{aligned}$$
(11)

Constraints (9) ensure that in each tactical period and for each product, one level of price should be selected. According to constraints (9), the same price levels for all customer zones must be selected for a product in each time period to avoid cannibalization and arbitrage opportunity. In accordance to constraints (10), in each time period, for each customer zone and product, and for each price level, if that price level is selected, the stock-out amount of the product should be equal or less than the customer zone’s demand; otherwise, the respective amount should be equivalent to zero. Constraints (11) are the equations for the demand. For each customer zone and product, demand value that is calculated according to the selected price level can be entirely or partially satisfied in each period time. In “Appendix 1”, more details are provided about the generated parameters for price levels of products and their corresponding demand in each customer zone and each time period.

$$\begin{aligned}&x_{i, p}^W \ge x_{i, p-1}^W \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad i\in W^{P}, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(12)
$$\begin{aligned}&\sum _{k\in K} {{\upmu }_k^{SW} s_{i, k, p, t}^W } \le \hbox {SW}_i x_{i, p}^W \qquad \qquad \quad \qquad \qquad \qquad i\in W, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(13)
$$\begin{aligned}&\sum _{j\in C} {\sum _{k\in K} {{\upmu } _k^{\textit{PW}} f_{i, j, k, p, t} } } +\sum _{j\in W/\left\{ i \right\} } {\sum _{k\in K} {{\upmu } _k^{\textit{PW}} f_{i, j, k, p, t} } } \le \hbox {OW}_i x_{i, p}^W \qquad \qquad i\in W, p\in P\backslash \left\{ 0 \right\} , t\in T.\nonumber \\ \end{aligned}$$
(14)

Constraints (12) prevent each opened private warehouse from being closed during next strategic periods. Constraints (13) ensure that warehouses cannot store more than their storage capacities. In addition, warehouses in each time period are limited not to process more than their processing capacities by constraints (14).

$$\begin{aligned}&owc_{i, p} \ge \hbox {COH}_{i, p} \left( {x_{i, p}^W -x_{i, p-1}^W } \right) \qquad \qquad i\in W^{H}, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(15)
$$\begin{aligned}&cwc_{i, p} \ge \hbox {CCH}_{i, p} \left( {x_{i, p-1}^W -x_{i, p}^W } \right) \qquad \qquad i\in W^{H}, p\in P\backslash \left\{ 0 \right\} . \end{aligned}$$
(16)

In each period p, if public warehouse i is opened, constraints (15) enforce non-negative variable \(owc_{i, p} \) to be greater than fixed cost of opening the warehouse \((\hbox {COH}_{i, p} )\). Therefore, as the objective function of the mathematical model tries to minimize the cost of network design, \(owc_{i, p}\) becomes equal to \(\hbox {COH}_{i, p} \) in the case of opening warehouse i in period p and otherwise; it becomes zero. Same as constraints (15), constraints (16) are to calculate the cost of closing any public warehouse in each period.

$$\begin{aligned}&x_{i, p}^P \ge x_{i, p-1}^P \qquad \qquad \qquad \quad \qquad \qquad \, i\in M, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(17)
$$\begin{aligned}&\sum _{k\in K} {{\upmu } _k^{SM} s_{i, k, p, t}^P } \le \hbox {SM}_i x_{i, p}^P \qquad \qquad i\in M, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(18)
$$\begin{aligned}&\sum _{u\in U} {y_{i, u, o, p}^{\textit{PI}} } \le x_{i, p}^P -x_{i, p-1}^P \!\qquad \qquad i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(19)
$$\begin{aligned}&\sum _{e\in E} {y_{i, e, o, p}^{\textit{PE}} } \le x_{i, p-1}^P \,\qquad \quad \qquad \qquad i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} . \end{aligned}$$
(20)

Constraints (17) are the same as constraints (12) in which each opened production plant cannot be closed in the next strategic periods. Constraints (18) state that in each period time, total amount of stored products at each production plant could not be more than its storage capacity. In each strategic period, constraints (19) guarantee that if a production plant is opened at that period, only one capacity level can be installed for each manufacturing operation at the production plant. Constraints (20) ensure that capacity expansion can occur for a production plant, if it has been opened for at least one strategic period. In addition, only one capacity level can be added to each production plant for each manufacturing operation, in each strategic period.

$$\begin{aligned}&g_{i, o, p} =\sum _{{p}':{p}'\le p} {\sum _{u\in U} {y_{i, u, o, {p}'}^{\textit{PI}} } } \hbox {CAI}_{i, o, u} +\sum _{{p}':{p}'\le p} {\sum _{e\in E} {y_{i, e, o, {p}'}^{\textit{PE}} } } \hbox {CAA}_{i, o, e}\nonumber \\&\qquad i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(21)
$$\begin{aligned}&\sum _{k\in K} {{\upmu } _{o,k}^{\textit{OP}} q_{i, k, p, t} } \le \hbox {MU}_{i, o} g_{i, o, p} \qquad \qquad \qquad i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(22)
$$\begin{aligned}&\sum _{k\in K} {{\upmu } _{o,k}^{\textit{OP}} q_{i, k, p, t} } \ge \hbox {NU}_{i, o} g_{i, o, p} \qquad \qquad \qquad i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(23)
$$\begin{aligned}&\sum _{o\in O} {{\upmu } _o^{\textit{MO}} g_{i, o, p} } \le \hbox {MI}_i x_{i, p}^P \qquad \qquad \qquad \qquad i\in M, p\in P\backslash \left\{ 0 \right\} . \end{aligned}$$
(24)

Available capacity for each manufacturing operation in any production plant is calculated by constraints (21) for each strategic period. Constraints (22) and (23) prevent a production plant from employing manufacturing operations above their maximum or under their minimum utilization rates, respectively. By considering the consumption factor of each manufacturing operation for using plants’ capacity, a maximal installable capacity in each plant and in each strategic period is considered by constraints (24).

$$\begin{aligned} nc_p= & {} \sum _{i\in M} {\hbox {COM}_{i, p+1} \left( {x_{i,p+1 }^P -x_{i,p }^P } \right) } +\sum _{i\in W^{P}} {\hbox {COP}_{i, p+1} \left( {x_{i,p+1}^W -x_{i,p}^W } \right) } \nonumber \\&+\sum _{i\in M} {\sum _{o\in O} {\sum _{u\in U} {\hbox {CIU}_{i, u, o, p+1} y_{i, u, o,p+1}^{PI} } } } +\sum _{i\in M} {\sum _{o\in O} {\sum _{e\in E} {\hbox {CAE}_{i, e, o, p+1} y_{i, e, o,p+1}^{PE} } } } \nonumber \\&+\sum _{i\in W^{H}} {owc_{i, p+1} } +\sum _{i\in W^{H}} {cwc_{i, p+1} } \qquad \qquad \qquad p\in P\backslash \left\{ {NP} \right\} . \end{aligned}$$
(25)

In each strategic period \(p (p\in P\backslash \left\{ {NP} \right\} )\), total investment costs that are expensed to modify the supply chain network configuration in period \(p+1\), are calculated by constraints (25). In our problem, opening new production plants and private warehouses, opening or closing public warehouses, installing manufacturing operations’ capacities at the time of opening a production plant, and expanding capacities of manufacturing operations could be performed for the supply chain network design/redesign.

$$\begin{aligned}&nc_p +\xi _p =\hbox {B}_p \ \qquad \quad \qquad \qquad \qquad \qquad p=0, \end{aligned}$$
(26)
$$\begin{aligned}&nc_p +\xi _p =\hbox {B}_p +\hbox {IR}_{p-1} \xi _{p-1} \qquad \qquad p\in P\backslash \left\{ {0, NP} \right\} , \end{aligned}$$
(27)
$$\begin{aligned}&\xi _p =\hbox {IR}_{p-1} \xi _{p-1} \,\,\qquad \qquad \qquad \qquad \qquad p=NP. \end{aligned}$$
(28)

Constraints (2628) are budget constraints. Here, to model practical situations, it is assumed that if we want to modify the supply chain network in strategic period p, the needed capital should be spent at strategic period \(p-1\). Therefore, strategic period 0 is taken into account as a virtual period before the planning horizon to model budget constraints in the problem. The allowed investment for designing supply chain network in period 0 is limited by an available budget in constraint (26). In other strategic periods except the last, constraints (27) indicate that the capital expenditure should not be more than the available capital for the corresponding strategic period plus unspent capital from the previous period by considering its return factor. It is worth mentioning that the investment for the last strategic period is not allowed.

$$\begin{aligned}&x_{i, p}^P \in \left\{ {0, 1} \right\} \qquad \qquad \qquad \qquad i\in M, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(29)
$$\begin{aligned}&x_{i, p}^W \in \left\{ {0, 1} \right\} \qquad \qquad \qquad \qquad i\in W, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(30)
$$\begin{aligned}&y_{i, u, o, p}^{PI} \in \left\{ {0, 1} \right\} \qquad \qquad \qquad \!\! i\in M, u\in U, o\in O, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(31)
$$\begin{aligned}&y_{i, e, o, p}^{PE} \in \left\{ {0, 1} \right\} \,\qquad \qquad \qquad \!\! i\in M, e\in E, o\in O, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(32)
$$\begin{aligned}&\delta _{l, k, p, t} \in \left\{ {0, 1} \right\} \,\qquad \qquad \qquad \!\! l\in L, k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T, \end{aligned}$$
(33)
$$\begin{aligned}&nc_p \ge 0 \,\,\quad \qquad \qquad \qquad \qquad p\in P\backslash \left\{ {NP} \right\} , \end{aligned}$$
(34)
$$\begin{aligned}&\xi _p \ge 0 \qquad \qquad \qquad \qquad \qquad p\in P \end{aligned}$$
(35)
(36)
$$\begin{aligned}&s_{i, k, p, t}^P \ge 0 \qquad \qquad \qquad \quad \quad \ \, i\in M,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(37)
$$\begin{aligned}&s_{i, k, p, t}^W \ge 0 \qquad \qquad \qquad \quad \quad \ \, i\in W,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(38)
$$\begin{aligned}&q_{i, k, p, t} \ge 0 \!\qquad \qquad \qquad \quad \quad \ \, i\in M,k\in K, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(39)
$$\begin{aligned}&g_{i, o, p} \ge 0 \,\qquad \qquad \qquad \qquad \ \, \, i\in M,o\in O, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(40)
$$\begin{aligned}&u_{i, l, k, p, t} \ge 0 \,\,\qquad \qquad \qquad \,\ \ \, i\in C,k\in K, l\in L, p\in P\backslash \left\{ 0 \right\} ,t\in T, \end{aligned}$$
(41)
$$\begin{aligned}&owc_{i, p} \ge 0 \quad \qquad \qquad \qquad \quad \, i\in W^{H}, p\in P\backslash \left\{ 0 \right\} , \end{aligned}$$
(42)
$$\begin{aligned}&cwc_{i, p} \ge 0 \qquad \quad \qquad \qquad \quad \, i\in W^{H}, p\in P\backslash \left\{ 0 \right\} . \end{aligned}$$
(43)

Constraints (2943) represent non-negativity and integrality conditions on the problem’s variables.

4.3 Objective function

The objective function of the problem is to maximize the supply chain’s cumulative net income in the planning horizon and the remained capital at the end of the planning horizon.

The supply chain’s revenue from selling the products in the time horizon is computed by mathematical expression (44).

$$\begin{aligned} \sum _{p\in P\backslash \left\{ 0 \right\} } {\sum _{t\in T} {\left( {\sum _{i\in C} {\sum _{k\in K} {\sum _{l\in L} {\hbox {PR}_{k, l, p, t} \hbox {D} _{i, k, l, p, t} \delta _{l, k, p, t} } } } -\sum _{i\in C} {\sum _{k\in K} {\sum _{l\in L} {\hbox {PR}_{k, l, p, t} u_{i, l, k, p, t} } } } } \right) } } \end{aligned}$$
(44)

Moreover, mathematical expression (45) computes the total tactical costs of the supply chain network. It is worth mentioning that tactical costs consist of production, transportation, storage costs, and penalization costs for non-satisfied customer zones. Here, to calculate the production cost for per unit of each product, the cost of corresponding manufacturing operations are considered.

$$\begin{aligned} \sum _{p\in P\backslash \left\{ 0 \right\} } {\sum _{t\in T} {\left( {\begin{array}{l} \sum \limits _{i\in M} {\sum \limits _{k\in K} {q_{i, k, p, t} \left( {\sum \limits _{o\in O} {\hbox {CMP}_{i, k, o} } } \right) } } \\ \;\;+\sum \limits _{i\in M} {\sum \limits _{j\in W} {\sum \limits _{k\in K} {\hbox {CTR}_{i, j, k} f_{i, j, k, p, t} } } } +\sum \limits _{i\in W} {\sum \limits _{j\in W} {\sum \limits _{k\in K} {\hbox {CTR}_{i, j, k} f_{i, j, k, p, t} } } } \\ \;\;+\sum \limits _{i\in W} {\sum \limits _{j\in C} {\sum \limits _{k\in K} {\hbox {CTR}_{i, j, k} f_{i, j, k, p, t} } } } \\ \;\;+\sum \limits _{i\in M} {\sum \limits _{k\in K} {\hbox {CHM}_{i, k} s_{i, k, p, t}^P } } +\sum \limits _{i\in W} {\sum \limits _{k\in K} {\hbox {CHW}_{i, k} s_{i, k, p, t}^W } } \\ \;\;+\sum \limits _{i\in C} {\sum \limits _{k\in K} {\sum \limits _{l\in L} {\hbox {CSO}_{i,k } u_{i, l, k, p, t} } } } \\ \end{array}} \right) } } \end{aligned}$$
(45)

Total fixed costs for operating facilities in the network over the planning horizon are computed using mathematical expression (46).

$$\begin{aligned} \sum _{p\in P\backslash \left\{ 0 \right\} } {\left( {\begin{array}{l} \sum \limits _{i\in M} {\sum \limits _{o\in O} {\sum \limits _{{p}':{p}'\le p} {\sum \limits _{u\in U} {y_{i, u, o, {p}'}^{PI} } } \hbox {COU}_{i, u, o, p} } } +\sum \limits _{i\in M} {\sum \limits _{o\in O} {\sum \limits _{{p}':{p}'\le p} {\sum \limits _{e\in E} {y_{i, e, o, {p}'}^{PE} } } \hbox {COE}_{i, e, o, p} } } \\ \;\;+\sum \limits _{i\in M} {\hbox {CUM}_{i, p} x_{i, p}^P } +\sum \limits _{i\in W^{P}} {\hbox {CUP}_{i, p} x_{i, p}^W } +\sum \limits _{i\in W^{H}} {\hbox {CUH}_{i, p} x_{i, p}^W } \\ \end{array}} \right) }\nonumber \\ \end{aligned}$$
(46)

Therefore, the objective function of the problem is represented as following:

$$\begin{aligned}&{\textit{Max}}\!:\textit{Total Revenue}\,-\, \textit{Total Costs of operating facilities}\nonumber \\&\qquad \qquad -\textit{Total Tactical Costs}\,+\,{ IR}_{{}^{\prime }NP^{\prime }} \xi _{{}^{\prime }NP^{\prime }} \end{aligned}$$
(47)

5 Computational results

This section consists of two subsections. In the first, a hypothetical example is solved and investigated. In the second subsection, the efficiency of the mathematical model in solving different test problems is examined. The parameters of the example problem and test problems are generated randomly using the uniform distributions specified in Table 7 (see “Appendix 2”). In this section, the presented model is solved by commercial software GAMS 24.1 using CPLEX solver. A personal computer with Core i7-640 M CPU (2.6 GHz), with 4.00 GB of RAM, is used for all implementations.

5.1 Application of the proposed model

In order to illustrate the applications of the proposed model, an example is generated. Here, \(\left| M \right| =5, \left| {W^{P}} \right| =6, \left| {W^{H}} \right| =4, \left| C \right| =12, \left| O \right| =5, \left| K \right| =4, \left| L \right| =5, \left| U \right| =4, \left| E \right| =3, NP=4, NT=4\) are considered for the example.

By solving the mathematical model, the obtained objective function equals to 5.9544E+07. A discussion about the final decisions obtained through solving the respective model constructed for the example problem is provided. Figure 4 demonstrates the available budget in each strategic period and Fig. 5 illustrates the supply chain network planning in terms of opening /closing facilities. It is worth mentioning that different scenarios for investment budgets could be analyzed for the supply chain network planning using the mathematical model.

Fig. 4
figure 4

The available budget in each strategic period

Fig. 5
figure 5

Network entities

In the mathematical model, in order to produce different products, different manufacturing operations are needed. In this example, to produce per unit product k, Table 3 illustrates the usage capacity consumption factor of each manufacturing operation o. Our model deploys capacity of manufacturing operations on the production plants at each strategic period. In addition, there must be sufficient capacity to cover customers’ demands that are sensitive to price decisions. Therefore, the optimization model combined with pricing and capacity planning is developed to maximize the net income of the supply chain over the planning horizon. Figure 6 illustrates the capacity of manufacturing operations in each strategic period obtained by solving the optimization model. Moreover, the average amount of production for each product in tactical periods of each strategic period is depicted in Fig. 7.

Table 3 Usage consumption factors for capacity of manufacturing operations

In this paper, the presented capacity planning approach enables us to model various practical situations. Here, plants are quite flexible to produce different types of products with consideration of their manufacturing processes. As it is shown in Fig. 6, manufacturing operation 1 and 3 have maximum and minimum cumulative capacity in the production plants in each strategic period, consequently. These results confirm the usage amounts of these operations in manufacturing processes of the products (see Table 3). Moreover, as it is illustrated in Fig. 7, the production amounts of product 2 are more than other products. It shows that product 2 is more profitable than other products for the supply chain.

In the proposed optimization model, price level for each product should be determined in each time period. In addition, the price levels could be changed over the planning horizon by considering the available capacity of supply chain network. Figure 8 illustrates how the prices of products change over the planning horizon. Furthermore, obtained cumulative demands of customer zones, in each time period and for each product is shown in Fig. 9.

Fig. 6
figure 6

Capacities of manufacturing operations

Fig. 7
figure 7

The average amount of productions in different time periods

Fig. 8
figure 8

Price of products in different time periods

Fig. 9
figure 9

Cumulative demand of products in different time periods

In each time period, the relations between price levels and customers’ demands are obtained using price response function of each customer zone for each product. The method for generating pricing parameters is explained in details in “Appendix 1”. As are shown in Figs. 8 and 9, by expanding the supply chain over the planning horizon, the price for each product decreases and thus, cumulative customers’ demands for each product increase, relatively. As it is illustrated before in Fig. 1, when demands for multiple products increase, the supply chain should have sufficient capacities for demands’ fulfillment. Figure 6 shows how capacities of manufacturing operations increase over the planning horizon. We can conclude from the obtained results that there is a strong relation between price and capacity decisions in supply chain networks.

5.2 Assessing the performance of the mathematical model

To evaluate the performance of the optimization model, several test problems in different classes are considered in this section. Table 4 shows the structure of test problems. The generated test problems are designed in three classes with six test problems (P1–P6) in small class (S), three test problems (P7–P9) in medium class (M), and two test problems (P10–P11) in large class (L). All test problems include four strategic periods, four tactical periods within each strategic period, and five price levels for each product. In addition, for each test problem with specific characteristics, three instances are generated and solved to reduce the effect of test data.

Generally, number of binary variables and continuous variables in the mathematical model are equal to \(NP\left( {\left| M \right| +\left| W \right| +\left| O \right| \times \left| M \right| \times \left( {\left| U \right| +\left| E \right| } \right) +\left| L \right| \times \left| K \right| \times NT} \right) \), and \(NP\times NT\times \left| K \right| \left( {\left| M \right| \left| W \right| +\left| W \right| \left( {\left| W \right| -1} \right) +\left| W \right| \left| C \right| } \right) +2NP+NP\left| M \right| \left| O \right| +NP\times NT\left( {2\left| M \right| \left| K \right| +\left| W \right| \left| K \right| +\left| C \right| \left| K \right| \left| L \right| } \right) +2\left| {W^{H}} \right| NP+1\), consequently. In Table 5, for each test problem, these numbers and number of constraints are reported. In addition, computational time and the relative gap of CPLEX solver are illustrated. Upper limit of computational times for small-class test problems and for medium /large-class test problems are set to 6 hours and 8 h, successively.

Table 4 The structure of test problems
Table 5 Computational results of all instances
Table 6 Comparison between mathematical models in terms of computational time and CPLEX’s relative gap

As shown in Table 5 in the small-class test problems, the optimal solutions are obtained in a reasonable computational time. In medium-class test problems, the obtained solutions have acceptable qualities in terms of CPLEX gap. However, the combined mathematical model for pricing and capacity planning is not efficient to solve large-class test problems in 8 hours. In CPLEX solver using Branch and Cut algorithm, the reported relative gap is just based on the lower and upper bounds of solution which does not mean the diversion from the optimal solution. For more information about relative gaps in exact solution methods such as Branch & Bound and Branch & Cut algorithms one can refer to Abouei Ardakan et al. (2013) and Zarandi et al. (2013).

Generally, we can observe that when the sizes of instances increase, the computational time of CPLEX solver and its relative gap increase too. It is worth mentioning that efficient heuristic has to be designed to reduce solution time and increase the solution quality for large-class test instances. However, it is left for future research studies.

5.2.1 An upper bound for the problem by alternative pricing approach

In this subsection, binary variables \(\delta _{l, k, p, t} \) are relaxed to be continuous between 0 and 1. This approach makes an upper bound for the problem objective function. In addition, we overcome the difficulty from discretization of the prices by relaxing the problem to allow the use of convex combinations of the discrete price levels.

In the relaxed optimization model, \(\sum \limits _{l\in L} {\delta _{l, k, p, t} \hbox {D} _{j, k, l, p, t} }\) for each product and customer zone and in each time period is equal to the demand of the customer zone. The vector \(\left( {\delta _{1, k, p, t} , \delta _{2, k, p, t} ,\ldots , \delta _{\left| L \right| , k, p, t} } \right) \) in which \(\sum \limits _{l\in L} {\delta _{l, k, p, t} } =1\) and \(0\le \delta _{l, k, p, t} \le 1\) could be interpreted as convex weights of discrete price levels and corresponding demands. This approach is well known in dynamic pricing literature and one can refer to Talluri and Ryzin (2006) for more information about this issue. In the obtained results of solving the relaxed mathematical model, only one of the discrete prices have been used in most periods; in the remaining periods, the solution has the interpretation of allocating a fraction of time to each of several prices. Table 6 illustrates the results from solving the model and the relaxed optimization model by this pricing approach. The closeness between objective function of the optimization model \((OF_{P1} )\) and the relaxed model with alternative pricing approach \((OF_{P2} )\) is calculated as follows:

$$\begin{aligned} \textit{Closeness}\,(\%)=\frac{\textit{OF}_{P1} }{\textit{OF}_{P2} }\times 100 \end{aligned}$$
(48)

As shown in Table 6, the average closeness between optimal solutions of the relaxed mathematical model with alternative pricing approach and the mathematical model is 99.4 %. In addition, the CPU time for solving the relaxed model decreases. Figure 10 shows the relative improvements in objective function and CPU time of second pricing approach in comparison with first one for several test problems in which optimal solutions are obtained. The relative improvement of the objective, \(\lambda _0 \), and the CPU time, \(\lambda _t \), are defined as \(\lambda _0 =\frac{\textit{OF}_{P2} -OF_{P1} }{OF_{P1} }\times 100\,\% \) and \(\lambda _t =\frac{T_1 -T_2 }{T_1 }\times 100\,\% \), consequently. Here, \(T_1\) and \(T_2\) are the CPU times of the CPLEX solver for the first and second pricing approach, successively.

Fig. 10
figure 10

Comparison between the first and second pricing approach in terms of objective function and computational time

6 Sensitivity analysis

In order to validate the mathematical model, the sensitivity analysis is conducted on the main parameters of the problem. One of the substantial parameters that has a strong effect on the network’s structure is available capital in each strategic period of the planning horizon. Here, a multiplier coefficient is considered for the available budget values in test problems 1 and 2 and change coefficient values. Figure 11 illustrates the sensitivity of optimal objective function values to available budgets in test problems 1 and 2.

Fig. 11
figure 11

The sensitivity of optimal objectives to available budgets in test problems 1 and 2

As it is illustrated in Fig. 11, available budget for investing on supply chain network design/ redesign has direct effect on the optimal net income of the supply chain. As it was expected, when available budgets increase, the optimal objective value of the problem increases too. Here, the importance of embedding budget constraints in the mathematical model can be observed.

In contrast to most previous studies, travel times between supply chain entities are considered. To investigate the effect of travel times in the model objective function, a sensitivity analysis is presented. Here, travel times are equal to \(floor\left( {\alpha U\left[ {0,1.5} \right] } \right) \) in which \(\alpha \) should be changed to produce different values for travel times. Figure 12 illustrates the sensitivity of objective function to travel times for a generated test problem.

Fig. 12
figure 12

The sensitivity of objective function value to travel times

As it shown in Fig. 12, when travel times between entities increase, the net income of the supply chain decreases. These results confirm the effect of travel times on supply chain tactical costs. When travel times increase, the amounts of production and inventory in the supply chain usually increase in order to satisfy the demands of customer zones at each tactical period. Moreover, several low-cost transportation links between supply chain entities cannot be used for transportation flows because of their long travel times.

6.1 Sensitivity analysis on pricing parameters

Some supply chains based on their business conditions want to prevent dramatic changes of price decisions in subsequent time periods (Keyvanshokooh et al. 2013). Constraints (49) can be embedded into the optimization model for such conditions. Here, \(\rho \) is the possible maximum change in prices between subsequent time periods. Figure 13 illustrates the sensitivity of objective function to \(\rho \) in test problem 1 with \(\left| L \right| =8\).

$$\begin{aligned} \left| {\sum _{l\in L} {\delta _{l, k, p, t} } \hbox {PR}_{k, l, p, t} -\sum _{l\in L} {\delta _{l, k, \Gamma \left( {p,t-1} \right) } } \hbox {PR}_{k, l, \Gamma \left( {p,t-1} \right) } } \right| \le \rho \qquad k\in K, p\in P\backslash \left\{ 0 \right\} , t\in T. \end{aligned}$$
(49)
Fig. 13
figure 13

The sensitivity of objective function to \(\rho \) in test problem 1

When the possible maximum change in prices between subsequent time periods decreases, the pricing approach become closer to static pricing approach in which the price decisions should be the same in different time periods for each product. It is evident from Fig. 13; dynamic pricing is superior to static pricing approach in terms of the objective function value. It is worth noting that the difference between these two pricing approaches would be more significant in larger test problems.

As it is explained in details in “Appendix 1”, the pricing parameters consist of \(DMAX_{i, k,p, t} ,a_{i, k,p, t} \), and \(b_{i, k,p, t} \). In the randomly generated test problems, \(U\left( {500,1200} \right) \), \(U\left( {140,150} \right) \), and \(U\left( {190,200} \right) \) are assumed as uniform distributions for generating the values of these parameters, consequently. The sensitivities of the problem objective function value to these parameters in test problem 1 with \(\left| L \right| =8\) are illustrated in Figs. 14, 15 and 16, successively. Here, multiplier coefficients for the parameters’ distributions are considered.

Fig. 14
figure 14

The sensitivity of objective function to parameter DMAX

Fig. 15
figure 15

The sensitivity of objective function to parameter a

Fig. 16
figure 16

The sensitivity of objective function to parameter b

As it is shown in these figures, when these pricing parameters increase, the optimal objective function value of the problem increases, too. However, parameter a among different pricing parameters has the most effect on the problem objective function value.

7 Conclusion

This paper introduced combined supply chain network design and multi-period pricing. A novel mixed integer programming model was proposed for designing and expansion planning of a multi-stage and multi-product supply chain network in which customers’ demands were price sensitive. Furthermore, for capacity planning, a new approach based on capacities of manufacturing operations in production plants was presented. Moreover, different interconnected time units in the planning horizon were considered for strategic and tactical decisions in the optimization model with a novel time modeling approach.

Several features of real supply chains were also embedded into the optimization model: Intra-layer flows, travel times of supply chain flows, budget constraints for investment expenditure and possibility of closing/reopening some facilities.

The applications of the proposed model were investigated using a hypothetical example. In addition, the model was solved for several test problems using CPLEX solver. Computational results demonstrated the effectiveness of the optimization model in small- and medium-sized test problems. An alternative pricing approach was also used in the paper to determine an upper bound for the problem. The numerical results revealed the efficiency of the upper bound in terms of its closeness to the optimal solution. Sensitivity analysis on the main parameters was performed to validate the proposed model.

Since, computational time of CPLEX solver increases when the size of the problem increases, extending an exact or heuristic solution algorithm can be the next step of this research. Furthermore, in addition to investment decisions, several financial factors that have a strong impact on the supply chain network can be embedded into the optimization problem. Many revenue management issues are still scarce in the related literature of the SCND and there are opportunities to extend other pricing strategies such as regional pricing for the problem. In addition, the mathematical model can be extended to the stochastic environment.