Introduction

Fierce competition in today’s global markets, introduction of products with short life cycles, and heightened customers’ expectations have caused business enterprises to focusly invest in their supply chain (Liang-Hsuan and Hsin-Hung 2015). A supply chain is a network of organizations that work with each other to convert and move products from the raw materials stage to the final client. These organizations are connected together through physical, information and financial flows. Having an efficient and lean supply chain network with effective interconnections between various levels of the chain can lead to a significant decrease in costs and increase service levels.

In a supply chain network, inappropriate making decisions could have a negative impact on performance of the supply chain (Garcia and You 2015). Decision making in supply chain network is characterized in two ways: centralized or decentralized. In a centralized supply chain, all the decisions are made by a single decision maker at a central location for all the levels in the entire supply chain system (Cao and Chen 2006). The typical objective in a centralized supply chain is to minimize the total cost of the system. In decentralized supply chain, each entity decides its own effective strategy without considering the impact on the other entities of the supply chain system (Lai 1996). In this way, centralized decisions lead to global optimization, whereas decentralized decisions lead to local optimization. It is obvious that entities in the context of supply chain network refer to any organizations and facilities involved in the supply chain: suppliers, manufacturers, distributers and customers. In practical situations in most cases, many different, non-cooperative parties control different entities within the supply chain, leading to non-cooperative decision making. Each party has its own objective(s) and will make its own decisions, potentially competing against other entities. These decisions include the location of manufacturing plants or distribution centers, the procurement of raw materials, the production process, inventory control, the delivery of end product, etc. Thus, researchers face the challenge of proposing appropriate models of multi-layer decentralized supply chains as well as presenting effective computational tools for the determination of solutions.

In the decentralized supply chain, the production and distribution are controlled by different decision makers with a hierarchical relationship between them and each of them has its particular objective. So the decisions made at each process need to consider and interact with the decisions taken in the other process. Despite the fact that joint to production–distribution models leads to improved management of the supply chain, consideration of production and distribution decisions with decentralized structure comes at the cost of higher model complexity. This has led to the need for using simplistic and unrealistic assumptions in most of the existing studies on PDP problems that may lead to inaccurate results. In the real world, supply chains are full of uncertainties. Ignoring uncertainty in supply chain planning problems may result in non-optimal and/or infeasible solutions for real case studies. Hence, in order to provide solutions more realistic to actual situations, optimization models must be extended to incorporate uncertainty. Likewise, most of the researchers tend to overlook shortage costs and assume that all demands must be fulfilled on time (Calvete et al. 2014; Calvete et al. 2011; Dempe 2002). Whereas, supply chains may frequently face shortage situations in practice due to the limited production capacity. Therefore, there is a need to further actualize the problem by assuming that shortage is authorized.

Base on limitation aforementioned, recall that the problem to be addressed is a joint production–distribution model in decentralized supply chain consisting of multiple manufacturing plans, distributions centers (DCs) and customer groups that aim to overcome the aforementioned limitations. The proposed model determines the number and location of DCs, the assignment of customers to DCs, and the size of orders for each DC. The problem is formulated by using of bilevel programming model that in the upper level distribution company controls the opening of existing distribution centers and at the lower level the manufacturing company handles plants’ operation costs. The uncertain natures of the demands and price of final product are addressed in the proposed model utilizing stochastic theory and fuzzy sets. To solve the proposed bi-level mixed integer linear programming model, we addressed a novel heuristic algorithm based on Kth-best algorithm which fuzzy programming and stochastic chance-constrained programming method are embedded. The performances of the proposed model and solution method are demonstrated with numerical experiments and the results are discussed in detail.

The remainder of our work is organized as follows. In “Literature review” section, the brief of literature on production–distribution problems with decentralized decision making as well as modeling efforts for tackling uncertainty environment are reviewed. A definition of the production–distribution planning (PDP) problem is given in “Problem description” section. Notations, assumptions and mathematical formulation of the decentralized SC modeling are presented in “Mathematical model” section. In section “Solution methodology”, an algorithm is presented to solve the complex bi-level PDP model. Numerical experimentation and the obtained results by the proposed algorithm and sensitivity analysis are presented in “Numerical testing” section. Finally, conclusions and directions for further research are provided in “Conclusion and suggestions for further research”.

Literature review

Here, we give a review of production–distribution problem modeling, optimization under uncertainty and Bi-level programming.

Production–distribution planning problem

Production–distribution processes have attracted considerable attention in the literature of supply chain management (SCM). A comprehensive form of the production–distribution planning (PDP) is known as a multi-echelon network that considers supplier, producer, distributor and customer. Here, we review different approaches towards PDP models. Several authors have studied modeling of PDP in supply chains (SCs). They proposed mainly classical operations research methods considering some aspects of SCM such as network design, production scheduling, distribution and inventory management.

Park et al. (2007) designed the multi-product multi-period PDP model consisting of supplier, plant, and distribution center (DC) to minimize the total cost and presented a genetic algorithm (GA) to solve the problem. Kazemi et al. (2009) developed a multi-echelon supply chain-based scenarios for production–distribution problem. They applied a multi-factor system based on GA as the solution algorithm. Chang (2010) investigated an integrated supply chain network (SCN) including suppliers, plants, distributors, and retailers for minimizing the total operating cost of the chain. They solved the problem by a GA and co-evolutionary algorithm. Jolai et al. (2011) developed a multi-product multi-period PDP model in an SCN with several objectives in a fuzzy environment. To solve, the model metaheuristic of using GA, particle swarm optimization (PSO), and a heuristic algorithm based on GA were proposed. Liu and Papageorgiou (2013) and Liu et al. (2014) proposed multi-objective optimization model for integrated PDP problem in the supply chain. Sarrafha et al. (2015) developed a bi-objective model with a multi-periodic structure for an SCN involving suppliers, factories, distribution centers, and retailers. The two objectives were minimizing the total SC cost as well as minimizing the average tardiness of products to DCs and the model was solved using a multi-objective biogeography algorithm.

Supply chain network design under uncertainty

The SCN design optimization problems with uncertainty have been addressed and developed in a wide variety of past researches (Taleizadeh et al. 2008a, b, 2010, 2011; Olivares-Benitez et al. 2012; Wang et al. 2011). These researches typically considered demand as the uncertainty parameter of the supply chain (El-Sayed et al. 2010; Rodriguez et al. 2014; Georgiadis et al. 2011; Cardona-Valdés and Alvarez 2011). Mirzapour Al-e-hashem et al. (2011) proposed a multi-site, multi-period, multi-product aggregate production planning problem in a supply chain consisting of multiple suppliers, multiple plants and multiple customers under cost and demand uncertainty. The proposed bi-objective model is solved as a single-objective mixed integer programming model using the LP-metrics method. Moreover, Azaron et al. (2008) developed a multi-objective robust stochastic programming approach for designing SCs under uncertainty. In their approach, in addition to demands, supplies, processing, transportation, shortage and capacity expansion costs were also considered as the uncertain parameters. They applied the goal attainment technique to obtain the Pareto-optimal solutions. Hnaiena et al. (2010) addressed a supply planning model for a two-level assembly systems under random lead times. They solved this problem by two multi-objective heuristics methods based on GA algorithm. Song et al. (2014) proposed a mathematical model for the optimal material procurement and production control problem in a manufacturing SC with multiple suppliers in the presence of multiple uncertainties such as uncertain material supplies, stochastic production times, and random customer demands. They employed the integrated inventory management policy for procurement and production control using the stochastic dynamic programming approach. Pasandideh et al. (2015) addressed a multi-product SCN design problem under uncertainty with three levels of manufacturers, distributors and customers. The problem of deciding the number of products, number and locations of distribution centers and the number of goods going from factories to distribution centers and to the customers, factory inventories and slack of time periods were allowed. They utilized a non-dominated sorting genetic algorithm (NSGA-II) to solve the problem.

Decentralized supply chain

Decentralized approach to supply chain network decisions is subject to various economic factors at different levels of the chain and the effectiveness of the decision-making process is quite important. Multi-level linear programming (MLLP) is a solution technique for solving decentralized decision-making problems. MLLP problems generally include sequential decision processes (from top to bottom), interactive decision makings, and a leader–follower relationship within two adjacent levels (Cao and Chen 2006; Simchi-Levi et al. 2004; Lu et al. 2007; Karakitsiou and Migdalas 2008; Sarrafha et al. 2015). Marinakis and Marinaki (2008) developed a bi-level model in a decentralized decision making environment for capacitated plant selection. The upper level decided on the location of facilities. The lower level involved decision on the passes serving the clients. This problem combined a GA and was solved by a commercial software package. Marinakis (2015) addressed a bi-level model for solving a capacitated location routing problem. A new version of the particle swarm optimization (PSO) algorithms was presented and applied for the solution of this problem. Calvete et al. (2011) considered a PDP problem in a three-level supply chain network. They presented a bi-level model for problem in which the first level decides the design of the routes which serve the customers and the second level involved decision on the manufacturing process. An ant colony optimization-based approach was developed to solve the problem using ants to construct the routes and exact optimization to solve the production problem. Xu et al. (2013) developed a tri-level programming model for the three-stage supply chain management based on the conditional value-at-risk (CVaR) measure of risk management. In this model, the supplier and the manufacturer, at the upper and the middle levels, maximize their own profits while at the bottom level, the retailer maximizes her CVaR of the expected profit. The authors showed that the proposed tri-level programming model could be transformed into a bi-level programming one to be solved by methods at hand. Calvete et al. (2014) investigated decentralized supply chain network including manufacturing plants, warehouses and customers. They developed a mixed integer bi-level programming model for designing and planning the production–distribution system of supply chain. In the bi-level model, the distribution company controls the location of depots and the distributing process and the manufacturer company controls the manufacturing process. To solve the problem, they developed a heuristic algorithm based on evolutionary algorithms. Wang and Lee (2015) addressed a capacitated facility location and task allocation problem of a multi-echelon supply chain against risky demands. Two and three-echelon networks were considered to maximize the profit. They represented the problem by a bi-level stochastic programming model. A revised ant colony algorithm was proposed to solve the problem. Yanfang et al. (2016) proposed a bi-level model for integrated PDP problem in a three-echelon supply chain network. In this model, at the upper level of hierarchy, the core firm controls the opening of plants and warehouses in order to serve customers and reduce the total cost of the chain. In the lower level, the production part and distribution part make decisions based on the upper level decisions. A hybrid genetic algorithm with a fuzzy logic controller algorithm was proposed for solving the model.

Using the above considerations, here we propose a multi-period, multi-product production distribution planning model for a decentralized supply chain under uncertainty. The supply chain network consists of plants, distribution centers and customer group. The imprecision related to uncertain parameters like demand and price of the final product is handled with stochastic and fuzzy numbers. We formulate the problem as a bi-level mixed integer linear programming model. Moreover, a solution framework is developed by integrating a novel heuristic algorithm based on Kth-best algorithm, fuzzy programming and stochastic chance-constrained programming. Problems are solved using the software package “LINGO”. Eventually, a numerical example is used to validate the practicality and efficiently of the proposed algorithm.

Problem description

Here, we consider the development of a model for decentralized supply chain network in markets. The chain consists of several customers zone, distributors and manufacturers (see Fig. 1). Customers are at the first level while at the second level there are storage centers which transport a number of products to the customers and at the third level, there are manufacturers (producers) which provide the products for storage centers. The unsatisfied demand of each customer in each time period is assumed to be backordered; however, the entire unsatisfied customers’ demands must eventually be satisfied.

Fig. 1
figure 1

The structure of a three-level supply chain network

Mathematical model

Notations

To formulate a mathematical model, the following notations are used.

Sets of indices

M :

Number of manufacturing plants (m = 1, …, M)

J :

Number of potential warehouse distribution centers (j = 1, …, J)

I :

Number of customers (i = 1, …, I)

K :

Number of products (k = 1, …, K)

T :

Number of time periods (t = 1, …, T).

Parameters

pc k mt :

Production cost of product k by plant m in period t/unit

hp k mt :

Holding cost of product k in plant m in period t/unit

hd k jt :

Holding cost of product k in distribution center j in period t/unit

tp k mjt :

Transportation cost of product k from plant m to distribution center j in period t/unit

td k jit :

Transportation cost of product k from distribution center j to customer i in period t/unit

sc k mt :

Set up cost of product k by plant m in period t/unit

\(\widetilde{pp}_{jmt}^{k}\) :

Fuzzy product price k supplied by plant m to distribution center j in period t/unit

bc k it :

Backorder cost of product k in supplying the demand of customer i in period t/unit

\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{D}_{kit}\) :

Demand value of customer i for product k at time period t which is a random variable having a normal distribution

f j :

Fixed cost for establishing distribution center j

pt k mt :

Production time required for manufacturing plant m to produce one unit of product k in period t/unit

st k mt :

Setup time of producing product k by manufacturing plant m in period t/unit

tt mt :

Total available production time for plant m to produce products in period t

WP m :

Total capacity available for manufacturing plant m to store products (m 3)

W j :

Total capacity available for distribution center j to store products (m 3)

R km :

Total transportation capacity of plant m to transfer product k

v k :

Volume of one unit of product k (m 3)

Lb :

Lower bound on the percentage of average total number of products dispatched to customers

Ub :

Upper bound on the percentage of average total number of products dispatched to customers

λ jt :

Parameter of an exponential distribution used to model failure time of warehouse j in period t

Z α :

Upper critical point of the standard normal distribution used for a (1 − α) % chance constraint on the solution obtained

α :

Chance of rejecting an infeasible solution (a solution that does not satisfy a constraint)

Decision variables

Z k mt :

1, if product k is produced by plant m in period t; 0, otherwise

Y j :

1, if distribution center j is opening; 0, otherwise

QP k mt :

Quantity of product k produced by plant m in period t

U k jmt :

Quantity of product k transported by manufacturing plant m to warehouse j in period t

N k ijt :

Quantity of product k dispatched from distribution center j to customer i in period t

S k it :

Backorder quantity of product k for customer demand i in period t

IP k mt :

Inventory of product k in plant m at the end of period t

I k jt :

Inventory of product k in distribution center j at the end of period t

Production model

In the production model, the objective is to minimize the total cost, which typically includes the production costs and the dispatching costs among plants and distributors. The production operations can be formulated as follows:

$$\begin{aligned} & {\rm Min}\,F_{{\rm Man}} = \sum\limits_{m = 1}^{M} {\sum\limits_{t = 1}^{T} {\sum\limits_{k = 1}^{K} {sc_{mt}^{k} .Z_{mt}^{k} + \sum\limits_{j = 1}^{J} {\sum\limits_{m = 1}^{M} {\sum\limits_{t = 1}^{T} {\sum\limits_{k = 1}^{K} {pc_{mt}^{k} .QP_{mt}^{k} } } } } } } }\\& \qquad\qquad\quad+\sum\limits_{t = 1}^{T} {\sum\limits_{m = 1}^{M} {\sum\limits_{k = 1}^{K} {\sum\limits_{j = 1}^{J} {tp_{jmt}^{k} .U_{jmt}^{k} } } } } { + }\sum\limits_{m = 1}^{M} {\sum\limits_{t = 1}^{T} {\sum\limits_{k = 1}^{K} {hp_{mt}^{k} .IP_{mt}^{k} } } } \\ & s.t.\end{aligned}$$
(1)
$$\sum\limits_{k = 1}^{K} {\sum\limits_{m = 1}^{M} {v_{k} .QP_{jmt} } } \le W_{j} .Y_{j} ,\quad \quad \forall j,t$$
(2)
$$\sum\limits_{k = 1}^{K} {pt_{mt}^{k} } .QP_{mt}^{k} + \sum\limits_{k = 1}^{K} {st_{mt}^{k} } .Z_{mt}^{k} \le tt_{mt} ,\quad \quad \forall m,t$$
(3)
$$\sum\limits_{k = 1}^{K} {v_{k} .QP_{mt}^{k} } \le WP_{m} ,\quad \quad \forall m , t$$
(4)
$$\sum\limits_{k = 1}^{K} {v_{k} .IP_{mt}^{k} } \le WP_{m} ,\quad \quad \forall m,t$$
(5)
$$\sum\limits_{k = 1}^{K} {U_{jmt}^{k} } \le \sum\limits_{k = 1}^{K} {N_{ijt}^{k} } ,\quad \quad \forall j,m , t$$
(6)
$$I_{m,t}^{k} { = }I_{m,t - 1}^{k} {\text{ + Q}}_{\text{mt}}^{\text{k}} + \sum\limits_{{{\text{j = }}1}}^{\text{J}} {{\text{U}}_{\text{jmt}}^{\text{k}} } ,\quad \quad \forall m , k,t$$
(7)
$${\text{Z}}_{\text{mt}}^{\text{k}} \in \, \left\{ {0,1} \right\} ,\quad \quad \forall m,k,t$$
(8)
$$Q_{mt}^{k} , {\text{ I}}_{mt}^{k} ,U_{jmt}^{k} \ge 0 ,\quad \quad \forall m,j,k,t.$$
(9)

The objective shown as (1) is to minimize the producers’ costs, including setup cost of the production, manufacturing the products, transportation costs from plants to DCs and inventory holding costs of the product. The constraints (2) limit the volume of the products dispatched to potential DCs to their total storage capacity. The constraints (3) guarantee that the total required time to produce the products cannot exceed the mean value of the total available time. The constraints (4) state that the production volume must be less than or equal to the total storage capacity of the plants. Constraints (5) ensure that the end-product inventory is less than or equal to the total storage capacity of the plants. Constraints (6) specify that the total quantity shipped from plants cannot exceed their capacities. Constraints (7) control the remained inventory in every plant at the end of every period. Constraints (8) and (9) are logical constraints to, respectively, describe the 0–1 variables and the non-negative variables.

Distribution model

In the distribution part, cost minimization is as an objective for the network. The objective function involves inventory holding costs and the transportation costs from distributors to markets. The corresponding model is:

$$\begin{aligned} Min{\text{ F}}_{\text{Dis}} = \sum\limits_{j = 1}^{J} {f_{j} .Y_{j} + \sum\limits_{t = 1}^{T} {\sum\limits_{m = 1}^{M} {\sum\limits_{k = 1}^{K} {\sum\limits_{j = 1}^{J} {pp_{mt}^{k} .U_{jmt}^{k} } } } } } + \sum\limits_{j = 1}^{J} {\sum\limits_{t = 1}^{T} {\sum\limits_{k = 1}^{K} {hd_{jt}^{k} .I_{jt}^{k} + \sum\limits_{t = 1}^{T} {\sum\limits_{i = 1}^{I} {\sum\limits_{k = 1}^{K} {\sum\limits_{j = 1}^{J} {td_{ijt}^{k} .N_{ijt}^{k} } } } } } } } + \sum\limits_{i = 1}^{I} {\sum\limits_{t = 1}^{T} {\sum\limits_{k = 1}^{K} {bc_{it}^{k} .S_{it}^{k} } } } \hfill \\ s. \, t. \hfill \\ \end{aligned}$$
(10)
$$\sum\limits_{j = 1}^{J} {X_{ijt}^{k} } \le D_{it}^{k} ,\quad \quad \forall t,i,k$$
(11)
$$\sum\limits_{k = 1}^{K} {v_{k} .I_{jt}^{k} } \le W_{j} .Y_{j} ,\quad \quad \forall j,t$$
(12)
$$\sum\limits_{j = 1}^{J} {U_{jmt}^{k} } \le R_{m}^{k} .Z_{mt}^{k} ,\quad \quad \forall k,t,m$$
(13)
$$Lo \le \sum\limits_{t = 1}^{T} {\sum\limits_{i = 1}^{I} {\sum\limits_{k = 1}^{K} {\sum\limits_{j = 1}^{J} {e^{{ - \lambda_{jt} }} } } } .N_{ijt}^{k} } \le Up \,$$
(14)
$$I_{j,t}^{k} =I_{j,t - 1}^{k} + \sum\limits_{{m = 1}}^{M} {U}_{jmt}^{k} - \, \sum\limits_{i = 1}^{I} {N_{ijt}^{k}}, \quad \quad \forall {j,k,t }$$
(15)
$$S_{j,t}^{k} = S_{j,t - 1}^{k} +D_{it}^{k} - \, \sum\limits_{{j = 1}}^{J} {N_{ijt}^{k}} ,\quad \quad \forall {i,k,t }$$
(16)
$$Y_{j} \in \left\{ {0,1} \right\} ,\quad \quad \forall m,j,k,t$$
(17)
$$S_{it}^{k},\,{{N}}_{ijt}^{k},\,U_{jmt}^{k},\,H_{jt}^{k} \, \ge 0, \quad \forall m,{j,k,t} .$$
(18)

The objective function (10) is to minimize the sum of DCs’ and customers’ costs, including fixed cost of establishing DCs, purchasing product, holding costs of products, transportation costs from DCs to customers and inventory shortage costs. The constraints (11) guarantee that the quantity of any product transferred to each customer in a period cannot exceed her demand. The constraints (12) restrict the end inventory of potential warehouses to their available capacities. Constraints (13) specify that the total quantity shipped from any plant cannot exceed its capacity. Constraint (14) guarantees that the average total number of products transferred to customers cannot exceed the upper bound while it must be more than or equal to the lower bound. The constraints (15) are the balance equations for the end inventory of potential DCs. Similarly, constraints (16) are the balance equations for shortages of the customers’ demands. The variable types are defined by (17) and (18).

Bi-level model

Bi-level optimization models have been used to address a variety of real-world problems, in which the hierarchical and competitive structure of decision making prevails.

In the hierarchical decision making, the upper level is called the leader, while at the lower level it is referred to as the follower (Dempe 2002). The controls for the decision variables are divided among the different levels of decision making and the individual objective functions are optimized (Bard 1998). Bi-level programming (BLP) has been proposed to deal with multi-level decision problems when there are only two decision levels. A general model of a bi-level programming problem is (Bracken and McGill 1973)

$$\begin{aligned} \mathop {\min} \limits_{{{{x}} \in X}} \, F_{1} (x,y) \hfill \\ s.t.\,{{G}}_{1} \left( {{x,y}} \right) \le 0 \hfill \\ \mathop { {\min} }\limits_{y \in Y} {{ F}}_{2} (x,y) \hfill \\ s.t.\,{{ G}}_{2} \left( {{x,y}} \right) \le 0 \hfill \\ {{ x,y}} \ge 0 .\hfill \\ \end{aligned}$$

As seen in this model, the leader tries to minimize F 1(xy) selecting an x ∊ X and considering the best response of the follower, y *(x), minimizing F 2(xy) at the lower level. One may also consider functional constraints in the form G 1(xy) ≤ 0 and G 2(xy) ≤ 0 at each level of the problem.

To model the PD problem in an integrated manner, we will introduce a bi-level programming model to give optimal decisions of the manufacturer and the distributer in a three-echelon supply chain. The upper level (distribution problem) controls which DCs should be used and determines the amounts of customers’ orders supplied from each DC aiming to minimize the sum of the fixed costs associated with operating the DCs plus the inventory and transportation costs. In order to meet the customers’ demands, sufficient product supply has to be available at the DCs. After the leader’s (upper level) decisions, the lower level (production problem) aims for cost minimization by minimizing production, inventory costs and transportation costs from the plant to the DCs. Feedback regarding the production, transport, and inventory decisions is sent to the leader and the leader then revises her decisions with cost minimization in mind. This process continues until a satisfactory solution is found. Therefore, an optimal decision is found through the interactions of all the involved SC members. Bi-level programming can be used to represent this interaction among the leader and the follower as seen in the bi-level structure of the complex real-life decentralized production distribution planning (PDP) model in Fig. 2. The bi-level optimization PDP problem can be formulated as explained below.

Fig. 2
figure 2

A bi-level structure of the complex real-life decentralized PD model

Uncertain model

In reality, rather than having exact and complete information related to decision criteria and constraints at hand, only tangible and intangible information are usually available to decision makers. In supply chain, price uncertainty differs from demand uncertainty. Price usually fluctuates within a large range, and cannot be predicted more accurately than demand uncertainty. Thus, they are fuzzy data rather than crisp values and a possibility theory is suitable for modeling the uncertainty in the product’s price. Most companies focus on collecting a large data set for demand forecasting. Demand uncertainty, therefore, is often modeled by probabilistic distributions through analyzing the market data (Zhang et al. 2011). To take both data into consideration, we develop an integrated bi-level model to accommodate for both fuzzy and stochastic data, which we appropriately call fuzzy-stochastic bi-level model (FSBLP). Here, utility theory is employed to treat the stochastic data and fuzzy set theory is used to handle the fuzzy data. The complete model is now formulated as follows.

$$\begin{aligned} & {\rm Min}\, F_{\rm Dis} = \sum\limits_{{j = 1}}^{J} {f_{j} .Y_{j} + \sum\limits_{{t = 1}}^{T} {\sum\limits_{{m = 1}}^{M} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {\widetilde{{pp}}_{{mt}}^{k} .U_{{jmt}}^{k} } } } } } + \sum\limits_{{j = 1}}^{J} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {hd_{{jt}}^{k} .H_{{jt}}^{k} } } } \\ & \quad \quad \quad \quad \quad + \sum\limits_{{t = 1}}^{T} {\sum\limits_{{i = 1}}^{I} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {td_{{ijt}}^{k} .N_{{ijt}}^{k} } } } } + \sum\limits_{{i = 1}}^{I} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {bc_{{it}}^{k} .S_{{it}}^{k} } } } {\text{ }} \\ & s.{\text{ }}t.{\text{ }} \\ & \quad \quad \sum\limits_{{j = 1}}^{J} {X_{{ijt}}^{k} } \le \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{D} _{{it}}^{k} ,\quad \quad \forall t,i,k \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .H_{{jt}}^{k} } \le W_{j} .Y_{j} ,\quad \quad \forall j,t \\ & \quad \quad \sum\limits_{{j = 1}}^{J} {U_{{jmt}}^{k} } \le R_{m}^{k} .Z_{{mt}}^{k} ,\quad \quad \forall k,t,m \\ & \quad \quad Lo \le \sum\limits_{{t = 1}}^{T} {\sum\limits_{{i = 1}}^{I} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {e^{{ - \lambda _{{jt}} }} } } } .N_{{ijt}}^{k} } \le Up \\ & \quad \quad H_{{j,t}}^{k} = H_{{j,t - 1}}^{k} + \sum\limits_{{m = 1}}^{M} {U_{{jmt}}^{k} } - \sum\limits_{{i = 1}}^{I} {N_{{ijt}}^{k} } ,\quad \quad \forall j,k,t \\ & \quad \quad S_{{j,t}}^{k} = S_{{j,t - 1}}^{k} + \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{D} _{{it}}^{k} - \sum\limits_{{j = 1}}^{J} {N_{{ijt}}^{k} } ,\quad \quad \forall i,k,t \\ & \quad \quad Y_{j} {\text{ }} \in \left\{ {0,1} \right\},\quad \quad \forall m,j,k,t \\ & \quad \quad S_{{it}}^{k} {\text{ }},N_{{ijt}}^{k},U_{{jmt}}^{k} ,H_{{jt}}^{k} \ge 0,\quad \quad \forall m,j,k,t \\ & {\rm Min}\,F_{{\rm Man}} = \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {sc_{{mt}}^{k} .Z_{{mt}}^{k} + \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {pc_{{mt}}^{k} .QP_{{mt}}^{k} } } + } } } } \\ & \quad \quad \quad \quad \quad \sum\limits_{{t = 1}}^{T} {\sum\limits_{{m = 1}}^{M} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {tp_{{jmt}}^{k} .U_{{jmt}}^{k} } } } } + \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {hp_{{mt}}^{k} .IP_{{mt}}^{k} } } } \\ & s.{\text{ }}t. \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {\sum\limits_{{m = 1}}^{M} {v_{k} .QP_{{jmt}} } } \le W_{j} .Y_{j} ,\quad \quad \forall j,t \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {pt_{{mt}}^{k} } .QP_{{mt}}^{k} + \sum\limits_{{k = 1}}^{K} {st_{{mt}}^{k} } .Z_{{mt}}^{k} \le tt_{{mt}} ,\quad \quad \forall m,t \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .QP_{{mt}}^{k} } \le WP_{m} ,\quad \quad \forall m,t \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .IP_{{mt}}^{k} } \le WP_{m} ,\quad \quad \forall m,t \\ & \quad \quad \sum\limits_{{k = 1}}^{K} {U_{{jmt}}^{k} } \le \sum\limits_{{k = 1}}^{K} {N_{{ijt}}^{k} } ,\quad \quad \forall m,t,j \\ & \quad \quad IP_{{m,t}}^{k} = IP_{{m,t - 1}}^{k} + Q_{{mt}}^{k} - \sum\limits_{{j = 1}}^{J} {U_{{jmt}}^{k} } ,\quad \quad \forall m,t,k \\ & \quad \quad Z_{{mt}}^{k} \in \left\{ {0,1} \right\},\quad \quad \forall m,t,k \\ & \quad \quad QP_{{mt}}^{k} ,{\text{ }}IP_{{mt}}^{k} ,U_{{jmt}}^{k} \ge 0,\quad \quad \forall m,t,k,j \\ \end{aligned}$$
(19)

Conversion of chance-constrained programming problem

The model is a mixed stochastic and fuzzy programming one. Here, we address a simplification of the stochastic and fuzzy variables. For stochastic and fuzzy variable terms, we introduce chance-constrained programming (CCP) of (Charnes and Cooper 1962). CCP deals with uncertainty by specifying the desired levels of confidence with which the constraints hold. A typical chance-constrained programming problem has the following form:

$$\begin{aligned} & {\rm Min} \,f\left( {x,}\xi \right) \\ & s.t. \quad {g}_{j} (x,\delta ) \ge 0{ ,}\quad j = 1 ,\ldots, p,\\ \end{aligned}$$
(20)

where x is composed of the decision variables of the model, ξ and δ are fuzzy and stochastic vectors, respectively, f(xξ) is the fuzzy objective function, and g j (xδ) is the stochastic constraint. Problem (19) is converted to chance-constrained programming model at a confidence level α and β as follows:

$$\begin{aligned} & {\rm Min} \, \overline{F} \\ & s.t. \quad poss\left\{ {f(x, \, \xi ) \ge \, \overline{F} } \right\} \le \alpha \\ & \qquad pr\left\{ {g_{j} (x, \, \delta ) \le \text{0}, \, j = \text{1}, \ldots , \, p} \right\} \le \beta , \\ \end{aligned}$$
(21)

where poss(.) and pr(.), respectively, denote the possibility and probability of a certain event, \(\overline{F}\) denotes the upper bound of the related fuzzy variable, and α and β are the acceptable risk levels, i.e., α-cut levels used to convert associated fuzzy number to a crisp one; see Zhang et al. (2011), for more details.

Converting fuzzy-stochastic BLP model to crisp BLP model

Using the aforementioned concepts, a deterministic equivalent of the fuzzy-stochastic optimization model is obtained as a bi-level mixed integer linear programming problem as follows:

$$\begin{aligned} & {\rm Min}\,\overline{F} _{\rm dis} \\ & s.t. \\ & f_{j} .Y_{j} + \sum\limits_{{m = 1}}^{M} {((1 - \alpha )(\widetilde{{pp}}_{{mt}}^{k} )_{1}^{L} + \alpha (\widetilde{{pp}}_{{mt}}^{k} )_{2}^{L} ).U_{{jmt}}^{k} } + hd_{{jt}}^{k} .H_{{jt}}^{k} + \sum\limits_{{i = 1}}^{I} {td_{{ijt}}^{k} .N_{{ijt}}^{k} } + \sum\limits_{{i = 1}}^{I} {bc_{{it}}^{k} .S_{{it}}^{k} } \le \overline{F} _{{dis}} ,\forall t,j,k \\ & \quad \quad \quad \sum\limits_{{j = 1}}^{J} {N_{{ijt}}^{k} } + \sigma D_{{it}}^{k} .Z_{\alpha } \le \mu D_{{it}}^{k} ,\quad \quad \forall t,i,k \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .H_{{jt}}^{k} } \le W_{j} .Y_{j} ,\quad \quad \forall j,t \\ & \quad \quad \quad \sum\limits_{{j = 1}}^{J} {U_{{jmt}}^{k} } \le R_{m}^{k} .Z_{{mt}}^{k} ,\quad \quad \forall k,t,m \\ & Lo \le \sum\limits_{{t = 1}}^{T} {\sum\limits_{{i = 1}}^{I} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {e^{{ - \lambda _{{jt}} }} } } } .N_{{ijt}}^{k} } \le Up \\ & I_{{j,t}}^{k} = I_{{j,t - 1}}^{k} + \sum\limits_{{m = 1}}^{M} {U_{{jmt}}^{k} } - \sum\limits_{{i = 1}}^{I} {N_{{ijt}}^{k} } ,\quad \quad \forall j,k,t \\ & S_{{j,t}}^{k} = S_{{j,t - 1}}^{k} + \mu D_{{it}}^{k} - \sum\limits_{{j = 1}}^{J} {N_{{ijt}}^{k} } ,\quad \quad \forall i,k,t \\ & Y_{j} \in \left\{ {0,1} \right\},\quad \quad \forall m,j,k,t \\ & S_{{it}}^{k} ,N_{{ijt}}^{k} ,U_{{jmt}}^{k} ,H_{{jt}}^{k} \ge 0,\quad \quad \forall m,j,k,t \\ & {\rm Min}\,F_{\rm Man} = \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {sc_{{mt}}^{k} .Z_{{mt}}^{k} + \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {pc_{{mt}}^{k} .QP_{{mt}}^{k} } } } } } } \\ & \quad \quad \quad \quad \quad + \sum\limits_{{t = 1}}^{T} {\sum\limits_{{m = 1}}^{M} {\sum\limits_{{k = 1}}^{K} {\sum\limits_{{j = 1}}^{J} {tp_{{jmt}}^{k} .U_{{jmt}}^{k} } } } } + \sum\limits_{{m = 1}}^{M} {\sum\limits_{{t = 1}}^{T} {\sum\limits_{{k = 1}}^{K} {hp_{{mt}}^{k} .IP_{{mt}}^{k} } } } \\ & s.t. \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {\sum\limits_{{m = 1}}^{M} {v_{k} .QP_{{jmt}} } } \le W_{j} .Y_{j} ,\quad \quad \forall j,t \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {pt_{{mt}}^{k} } .QP_{{mt}}^{k} + \sum\limits_{{k = 1}}^{K} {st_{m}^{k} } .Z_{{mt}}^{k} \le tt_{{mt}} ,\quad \quad \forall m,t \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .QP_{{mt}}^{k} } \le WP_{m} ,\quad \quad \forall m,t \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {v_{k} .IP_{{mt}}^{k} } \le WP_{m} ,\quad \quad \forall m,t \\ & \quad \quad \quad \sum\limits_{{k = 1}}^{K} {U_{{jmt}}^{k} } \le \sum\limits_{{k = 1}}^{K} {N_{{ijt}}^{k} } ,\quad \quad \forall j,m,t \\ & \quad \quad \quad IP_{{m,t}}^{k} = IP_{{m,t - 1}}^{k} + QP_{{mt}}^{k} - \sum\limits_{{j = 1}}^{J} {U_{{jmt}}^{k} } ,\quad \quad \forall m,k,t \\ & \quad \quad \quad Z_{{mt}}^{k} \in \left\{ {0,1} \right\},\quad \quad \forall m,k,t \\ & \quad \quad \quad QP_{{mt}}^{k} ,IP_{{mt}}^{k} ,U_{{jmt}}^{k} \ge 0,\quad \quad \forall m,j,k,t. \\ \end{aligned}$$
(22)

In the above model, fuzzy numbers are converted to interval numbers with upper and lower bounds using α-cuts. We consider trapezoidal fuzzy numbers in the model with (.)L denoting the lower bound of the α-level set of the associated fuzzy variable. The main advantages of trapezoidal numbers are the flexibility and simplicity of the associated fuzzy arithmetic operations. For example, a trapezoidal fuzzy number \(\tilde{a} = \left( {a_{1} ,a_{2} ,a_{3} ,a_{4} } \right)\) can be transformed into an interval number a = ((1 − α) * a 1 + α * a 2α * a 3 + (1 − α) * a 4) by use of α-cuts (Cao and Chen 2006).

Solution methodology

According to the structure of the bi-level problem, involving a constraint region defined by another optimization problem, the problem is non-convex and trouble to solve. Even when all the functions involved are linear, the problem is NP-hard. Several heuristic methods have been proposed to solve the bi-level programming problems (Bard and Moore 1990; Lu et al. 2007; Emam 2013; Hansen et al. 1992).

Here, we present an algorithm for the multi-period decentralized PD planning problem formulated as a mixed integer linear bi-level programming problem. The proposed fuzzy-stochastic bi-level programming model is complicated and difficult to solve. The mathematical model becomes computationally intractable when the number of manufacturers, distributors, part/product items, and time periods are large. Figure 3 outlines our solution methodology. Details of the technical steps necessary for solving the model are described next.

Fig. 3
figure 3

A flowchart of decentralized bi-level decision making

To solve problem (19), it is first transformed into (22), a BLP problem. According to Mirzapour Al-e-hashem et al. (2011), the solution of a BLP problem occurs at a vertex of the constraint region and, thus, the result of a linear bi-level Kth-best algorithm (Bialas and Karwan 1984) can be used to solve the problem. A detailed algorithm for solving the decentralized multi-period bi-level supply chain model is shown as Algorithm 1 below.

Algorithm 1: solve decentralized multi-period bi-level supply chain problem

Step 1 Transform the FSBLP problem (19) into problem (22).

Step 2 Set it = 1. Solve the linear programming problem distribution problem (upper level, L = 1) using the simplex method (e.g., see Jolai et al. 2011) to obtain the optimal solution (Y j U k jmt N k ijt I k jt B k it ), let W = {(Y j N k ijt I k jt B k it ) it=1} and T = ∅.

Step 3 Solve the manufacturer problem (lower level problem, L = 2) by using simplex method with fixed decision variables obtained for the upper level (Y j N k ijt I k jt B k it ). Let the obtained solution be (G k mt U k jmt QP k mt IP k mt ). If (U k jmt ) L=1 it=1  = (U k jmt ) L=2 it=1 then stop (global optimum of the FSBLP problem is at hand).

Step 4 Let W [it] denote the set of adjacent extreme points of (Y j U k jmt N k ijt I k jt B k it ) it such that F dis(Y j N k ijt I k jt B k it ) ≥ F dis (Y j N k ijt I k jt B k it ) it . Let T = T ∪ {(Y j U k jmt N k ijt I k jt B k it ) it } and \(W = \left( {W \cup W_{[it]} } \right)\backslash T.\)

Step 5 Set it = it + 1 and choose (Y j U k jmt N k ijt I k jt B k it ) it from W such that F dis(Y j U k jmt N k ijt I k jt B k it ) it  = min {F dis (Y j U k jmt N k ijt I k jt B k it )|(Y j U k jmt N k ijt I k jt B k it ) ∊ W.}. Go to Step 3.

Numerical testing

Decentralized supply chain instance

In this section, a numerical example is worked through to demonstrate the validity and practicality of the proposed model. In the model, the upper level is the distribution problem and the lower level is the production problem, both of which are formulated as mixed integer bi-level linear programming problems. In the distribution problem, the customer’s demand is assumed to follow a normal distribution and the product prices are considered to be trapezoidal fuzzy numbers. The problem is considered for a 3-month planning horizon. The corresponding system includes three echelons composed of three manufacturers, six distributors and three customer zones. The plant produces three kinds of products. The input parameters of the three-echelon SC model are presented in Tables 1, 2, 3, 4 and 5. Table 1 presents the plant information consisting of the production, setup and end-product inventory costs, and warehouse capacity. This also includes production, setup and total availability time and transportation capacity. In Table 2, the distributors’ information, the distributors’ inventory costs and the fixed costs are given. Transportation costs are presented in Table 3. The prices of the final products are shown in Table 4. Prices are assumed to be fuzzy random numbers and are made up under different conditions and possibilities. Table 5 presents backorder costs and stochastic demands with mean (μ) and standard deviation (σ) for the customer zone. Here, α is considered to be 0.05 (hence, Z α is 1.96).

Table 1 Plant’s information
Table 2 Distributors’ information
Table 3 Transportation costs
Table 4 Fuzzy random prices of products
Table 5 Stochastic demand and backorder cost information

Optimization

The fuzzy stochastic BLP model of the problem is solved by LINGO software package to create optimal solutions. The optimal solutions are presented in Tables 6, 7, 8 and 9, and other data, based on which the problem is solved, are displayed in Tables 10 and 11. Table 6 presents the production plans and inventory levels for the products in different periods with stochastic demands and fuzzy prices. It can be represented that, in the obtained production plan, certain quantities of products remain in the inventory at the end of some periods. These quantities are retained for the next periods. Table 7 demonstrates the flow of products to customer groups in the planning horizon. Table 8 presents the flow of the products to distributors, and Table 9 shows the corresponding inventory levels at the end of periods retained for the next period. Finally, the solutions for the final time period (T) are given in Table 10.

Table 6 Production and inventory plant in planning horizon
Table 7 Flow of products to customer groups in planning horizon
Table 8 Flow of products to distributors and inventory of distributors in planning horizon
Table 9 Flow inventory of distributors in planning horizon
Table 10 The results obtained in successive iterations
Table 11 Objective values corresponding to different α levels

Evaluation of results

The decisions and the corresponding results for the distribution problem (upper level), and the production problem (lower level) are shown in Table 9 changing from iteration 1 to iteration 10 for the first product (K = 1) and the first period (T = 1). The best satisfactory solution is determined at iteration 10. In Table 9, Y j indicates whether distributor j is opened, N ij is the total number of units of product that the open distributor j dispatches to customer zone iI j and B i , respectively, are the level of inventory open distributor j and backorder customer zone i. These are all decision variables for the upper level. Take row 10 as an example; in the U jm column, the rows of the matrix represent the distribution centers, and the columns represent the plants. Similarly, in the N ij column, the rows are the customer and the columns are the distribution centers. So, the best satisfactory cost is 102,900 units for the upper level. On the lower level, the production problem is shown, where G k m shows whether product k is manufactured at plant m, U jm shows the total number of units of product shipped from plant m to the open distributor j, QP k m shows the total number of units of product k produced in plant m and IP k m is the total number of units of product k held at plant m. The total production cost is 17,706.88 units. In the last iteration, the leader and the follower of bi-level structure decision making reach an agreement.

Sensitivity analysis

Here, we focus on a single factor sensitivity analysis to study how the variation (uncertainty) in individual variables affects the performance of the model.

Results for product’s price variation

Since the decision making model is involved with the important parameter α, it is useful to investigate variation of the objective function values with the change in α. Table 11 shows the obtained results under different α levels. Our aim is to find the best solution according to different degrees of possibilities for α. Ten α values are chosen in the interval [0, 1].

Table 10 gives the values of the final total costs of the leader company and the follower company under different α-level sets. For α = 0.5, total costs for the leader company and the follower company are 102,900 and 17,706.9, respectively. The results represent that different α-levels would correspond to various costs for both companies. These are often due to the fact that any change in the α-level would yield a change in the unit price for each product, and results in different costs for the leader and the follower companies. As α-level increases, the total cost of the leader company increases. For the leader company, the highest and lowest costs are 95,250 and 112,665, respectively, corresponding to α = 0.1 and α = 1. Similarly, for the follower company, the highest and lowest costs are 14,030.2 and 17,706.9, corresponding to α = 0.6 and α = 0.5, respectively. Therefore, different α-levels can provide more decision schemes to the companies. A larger α value can be taken when the relevant information provided by the leader company and the follower company is definite and certain. On the contrary, when crucial information is not adequately available, a smaller α value can be chosen. As clearly seen from Fig. 4, the total costs of the SC for α values close to zero are lower than the ones for α values close to 1.

Fig. 4
figure 4

Profits versus changes in prices of α-level

Results for the demand conversion

We discuss the effects of variations in mean of demand, μ, and standard deviation of demand, σ, on the overall cost of the supply chain.

  1. 1.

    Results for variation in mean of demand

Consider increasing the mean, μ, having normal distribution by 5% in each scenario. The results are summarized in Fig. 5. We found out that when μ increases by 25%, the cost decreases by 36%. The leader company and the follower company ameliorate at a rate comparable to the increase in demand. This is because the fixed costs and transportation costs are shared as demand increases; lower unit cost raises the profitability of the supply chain network. Compared with price of uncertainty in product, the impact of demand uncertainty on the cost is much more significant, which gives a motivation for paying more attention to demand uncertainty in practice.

Fig. 5
figure 5

Total cost versus changes in mean of demand

  1. 2.

    Results for variation in standard deviation of demand

We increased the demand’s standard deviation, σ, by 0.5% in each experiment. The results are summarized in Fig. 6. We see that with an increase of σ by 75%, the cost increases by 12%. The greater the change in σ, the higher the risk, and the less accurate the forecast; therefore, the larger the inventory risk, the less the profitability.

Fig. 6
figure 6

Total cost versus changes standard deviation of demand

Conclusion and suggestions for further research

We investigated the design of a decentralized supply chain (SC) network as a multi-period multi-product production distribution planning problem in the presence of both stochastic uncertainty and fuzzy uncertainty. We formulated the optimization problem with randomness and fuzziness as expectedly faced in practice. Demands for products were assumed to be stochastic, while the prices of final products were considered to be fuzzy. Utility theory was used to treat the stochastic data and fuzzy set theory was employed to handle the fuzzy data. The problem was mathematically formulated as a stochastic fuzzy bi-level programming model. A novel heuristic algorithm based on Kth-best algorithm was designed to solve the proposed bi-level model. Our study contributes to the decentralized SC network literature by proposing a comprehensive fuzzy chance-constrained programming model. The solution methodology and the model provide useful guidelines for the design of complex decentralized SC networks. The effectiveness of the developed fuzzy stochastic optimization model as well as the usefulness of the proposed solution approach were investigated by solving an illustrative example. For further research, consideration of more participants in the supply chain may be useful. Also, metaheuristic optimization algorithms such as particle swarm and ant colony could be developed and comparatively tested for their efficiency in handling complex bi-level problems.