Forward supply Chain network design problem: Heuristic approaches

Abstract


Introduction
A classical supply chain refers to a broad set of activities associated with the transformation and flow of goods and services, including the flow of information, from the sources of materials to end-users [1]- [3].Nowadays, a supply chain network can take three main forms namely; forward, reverse and closed-loop supply chain [4].Whereas forward supply chain (FSC) can be defined as flow of goods from source to endusers in a supply chain, reverse supply chain (RSC) can be defined as a process that includes all logistics activities and starts from the point of end-users to transform the used products to products which are reusable in the market [5], [ 6].Finally, if all forward and reverse supply chain activities are combined is known to be one of a closed-loop, and research on such chains have given rise to the field of closed-loop supply chain (CLSC) [7] (see Figure 1).
The operation/distribution plans of a supply chain involving forward, reverse or closed-loop need to be optimized.Determining positions and counting of actors, amount of product flow between and decreasing transportation costs are handled as a network design problem in supply chain management.
The design task may include, • location of facilities (plants, retailers, distribution centers, disassembly centers, collection centers etc.) to be opened, • design of the network configuration, • meeting customer's demand so as to minimize the total cost consist of fixed operating cost and transportation cost [8]- [11].
Most of the SCND problems can be reduced to the capacitated facility location problem, which is proven to be NP-hard; therefore, SCND problems belong to the class of NP-hard problems as well [8].To cope with the complexity of the SCND problems and to obtain acceptable solutions in reasonable amount of time, many heuristic and meta-heuristics algorithms are developed and applied in the last decade [12]- [15].However, literature lacks of benchmark problems for SCND problems to make a fair comparison between developed and applied approaches.Although there are well-known benchmark problems in traveling salesman problems [16], vehicle routing problem with time windows [17] and assembly line balancing problems [18], to the best of our knowledge, no benchmark or common problems are introduced in SCND problem area.A well-established set of benchmark instances provides a good base for future studies on the field of SCND.
The scientific contributions of this study are given as follows.
We first model SCND problems as mixed integer linear programming formulations, and we develop two different solution approaches based on the genetic algorithm (GA) and hybrid heuristic algorithm (HHA).We then generate 450 test instances with varying number echelons through a broad problem set, and we comparatively analyze the effectiveness of the two GA and HHA.
The rest of the article is presented as follows.In the next part, we provide an overview and a summary of the existing literature on forward SCND problems.Basic formulation of forward SCND problem and generation of benchmark instances are given in Section 3. Sections 4 and 5 explain the adopted solution methodology based on GA and HHA, respectively.Section 6 discusses the comparative results on the set of instances.Last part of study (Section 7), conclusions and future directions are given.

Literature review
One of the most popular problems is designing and optimizing forward SCND problem, received substantial attention from academicians, researchers and operators in supply chain management research field.For that reason, many heuristic algorithm and mathematical models have been presented.The literature on the forward SCND problem is fruitful and the readers are referred to the comprehensive surveys given in Table 1 for a recent coverage of the state-of-the-art on models and solution algorithms.Table 1 also lists the possible future research directions provided by the authors.
In addition to the surveys, current test problems generated by the researchers for forward SCND problems to test their proposed solution approaches are given in Table 2. Information in Table 2 is classified based on the number of facilities, number of the test problems, proposed approach and comparisons (if exists).The minimum and the maximum number of facilities are given in the cells with dash.With regard to the reviewed studies, the vast majority presents a three-echelon structure, and mainly combines the presence of suppliers, plants, distribution centers/retailers and customers.
While early studies consider single echelon structure [19]- [21], two echelon supply chains have recently drawn attention of some researchers [22], [23].In modeling approach, a great deal of the studies reviewed for the linear programming-based modeling approach, especially mixed integer linear programming models [11], [24], [25].On the contrary, nonlinear programming is only used in two papers [26]- [28].
The inclusion of uncertainty in the various models is achieved by stochastic programming [23], [26].Likewise, heuristic and meta-heuristics are used as complementary techniques to solve mathematical programming models in a reasonable time [8], [9], [20], [22], [29]- [31].In the objective frame, minimization of total costs (especially shipping and fixed costs) is the main objective of the studies reviewed while maximization of sales/revenues [11], [32] and customer service [27] are considered to a lesser extent.

Date range
No. of reviewed papers Suggestions

Meixell and
Gargeya [36] 1982-2005 18  Need to address the composite supply chain design problem by extending models to include both external supplier locations and internal manufacturing. The performance measures used in global supply chain models need to be broadened in definition to address alternative objectives. More industry settings need to be explored in the context of global supply design.
Melo et al. [37] 1992-2008 60  The integration of strategic and tactical / operational decisions in supply chain planning.
Mula et al. [38] 1984-2009 44  Integration and/or the hierarchical structure of the tactical and operative planning levels in the supply chain context. Consideration of the different forms of transport (routes, full truck load, grouping, milk round) products among the various nodes of the supply chain. Comparisons made among the centralized and decentralized planning stages of the supply chain. Applying the planning models to real case studies.
Badole et al. [12] 2001-2010 302  Some of the missing and most critical performance measures should include information productivity, cost of data processing and information, risk of not using an information technology, and the implications of outsourcing. Research on perishable products is comparatively scarce. A need for the design and implementation of a humanitarian and disaster supply chain.Fahimnia et al. [13] 1991-2011 135  Needing a range of variables and constraints to be incorporated in supply chain models. Requiring quantifying and formulating multiple supply chain performance indicators including both traditional and contemporary objective functions (e.g.cost, service level, social impact, environmental impact, and safety measures).Lambiase et al. [14] 2000-2012 50  Consideration the development of a supply chain model using a profit maximization objective function, including as many strategic decisions, economic parameters and financial aspects as possible, and in order to increase real applicability to the context of globalization.

Forward supply Chain network design problems
In this section, three forward supply chain network models, each with different number of echelons are presented.While the largest forward supply chain network model (i.e., fourechelon) consists of suppliers, plants, distribution centers (DC), retailers and customers, two echelon network includes suppliers, plants and customers as shown in Figure 2.

Two echelon forward SCND problem
Let ,  and  denote the set of suppliers, plants, and distribution centers, respectively.Two echelon SCN consists of   = (  ,   ), where   = { ∪  ∪ } is the set of nodes and   = {(, , )|( ∈ ,  ∈ ) ∪ ( ∈ ,  ∈ )} is the sets of arcs.The suppliers are companies from which raw materials are purchased.There are vehicles transporting the raw materials to potential plants.The manufacturing plant is the site where the products are produced and some of the plants are not opened due to fixed costs.Distribution centers are the demand points that need to be satisfied.It is noted that all parameters and variables of the three models are given in Appendix A.
The formulation of the two-echelon mathematical model is given as follows: The objective function has two components (Eq.1).While the first component represents the cost of transportation on each arc of the network, the second component stands for the fixed costs associated with locating the plants.
Constraints ( 2) and ( 3) mean that the production and transportation amount cannot exceed the capacity of suppliers and potential plants, respectively.Constraints (4) ensure that demand of each distribution center must fully be met.Constraints (5) limit the number of plants that can be opened.Constraints (6) are the balance equation: the quantities that enter plants must be equal to the quantities of products that leave the plants.Constraints (7) enforce the non-negativity restriction on the decision variables.Finally, Constraints ( 8) are the integrality enforcements on binary variable ∆  .
Figure 2: Forward supply chain networks with different echelons.

Three echelon forward SCND problem
Let , , , and  denote the set of suppliers, plants, distribution centers, and retailers, respectively.Three echelon SCN consists of  ℎ = ( ℎ ,  ℎ ), where  ℎ = { ∪  ∪  ∪ } is the set of nodes and  ℎ = {(, , , )|( ∈ ,  ∈ ) ∪ ( ∈ ,  ∈ ) ∪ ( ∈ ,  ∈ )} is the sets of arcs.Raw materials are shipped from suppliers to potential plants for production.Products are transported from plants to the distribution centers, where the products are distributed to the retailers.Some of the plants and distribution centers may not be opened depending on fixed costs.
The formulation of the three-echelon mathematical model is given as follows: 3), ( 5), ( 6), ( 7), (8) and The objective function has two components (Eq.9).The first component represents the cost of transportation on each arc of the network (i.e., between suppliers-plants-distribution centers and retailers).The second component represents the fixed costs associated with locating the plants and distribution centers.
Constraints (10) guarantee that the production and transportation amount must not exceed the capacity of distribution centers.Constraints (11) ensure that demands of each retailer must fully be met.Constraints (12) limit the number of distribution centers that can be opened.Constraints (13) are the balance equation: the quantities that enter distribution centers must be equal to the quantity of products that leave the distribution centers.Constraints ( 14) enforce the non-negativity restriction on the decision variable (  ).Finally, Constraints (15) are the integrality enforcements on binary variable Γ  .

Four echelon forward SCND problem
Let
Constraints (17) mean that the production and transportation quantity must not exceed the capacity of retailers.Constraints (18) ensure that demand of each customer must fully be met.Constraints (19) limit the number of retailers that can be opened.Constraints (20) are the balance equation: the quantities that enter retailers must be equal to the quantity of products that leave the retailers.Constraints (21) enforce the non-negativity restriction on the decision variable (  ).Lastly, Constraints (22) are the integrality enforcement on the binary variable Ψ  .

Generation of benchmark instances
This section describes how the instances in the proposed SCND problem benchmark are generated.450 different benchmark instances ranging from small to large size for forward SCND problems with two, three and four-echelon are generated in this study.As is the case in almost all the existing instances, the distances between all type problems are two-dimensional Euclidean.3.
We randomly generate the data based on uniform distribution.
For further details about the benchmark instances, we refer the reader to the Appendix B. All instances are available on the supply chain network design problem web page (scndp.info).

Description of the Genetic algorithm
This section describes the proposed GA to solve the generated forward SCND instances.The GA builds on several powerful evolutionary based meta-heuristic algorithms (see [9], [27], [46]- [49).
The general scheme of the GA is shown in Algorithm 1.The initialization procedure (Line 1) is used to generate initial population.Two parents are selected (Line 3) for a crossover operation through a binary tournament process in order to creates a new offspring C (Line 4).The mutation technique is used on the offspring C (Line 5).Then, created offspring (offspring C) is added into the population (Line 6).As new offspring are added, the population size na, which is limited by np+no, changes over the iterations.The constant np denotes the size of the population initialized at the beginning of the algorithm and the constant no is the maximum allowable number of offspring that can be inserted into the population.If the population size na reaches np+no at any iteration, then a survivor selection mechanism is applied (Line 7).When the number of Φ iterations without improvement in the incumbent solution is reached, the GA terminates (Line 8).
Algorithm 1: The general framework of the GA.

Representation and evaluation
The priority-based encoding of Gen et al. is adapted [46] for the problems to represent our solutions within the population.For two-echelon SCND problem, the result includes of priorities of first echelon, containing first-level facilities (FL) and secondlevel facilities (SL), and second echelon including SL and thirdlevel facilities (TL).Priority-based encoding for two-echelon SCND problem is illustrated in Figure 3.Each solution consists of a single-dimensional array and numbers representing the priority of each node.The total amount of echelons (|FL|+2*|SL|+|TL|) equals to the length of encoding.The transportation tree on a given solution is generated by sequential arc appending between levels.In accordance with priority-based encoding, we first consider the highest priority of TL, and we then open a SL to satisfy its demand.Depending on the selected TL, a SL is decided with taking into account minimum transportation cost and an arc between them.This process is iteratively applied to all facilities until all demands are satisfied.For three-echelon and fourechelon SCND problems, we applied same procedure with adapting the representation to each problem type.The fitness value of each solution is calculated by using the objective function of the considered problem (minimization of total transportation and fixed costs).These fitness values are used to select survivors during the algorithmic iterations.For further implementation details on representation and evaluation section, the reader is referred to Gen et al. [46].

Initialization, parent selection and crossover
We randomly generate the initial population.For example, we consider a two-echelon SCND problem in Figure 3. First echelon includes first-level and second-level facilities, where |FL|=5 and |SL|=5.The total length of the first-echelon is equal to |FL|+|SL|=10 such that a priority is assigned to each node within the range of 1 and 10.
Two parents are selected with use of the binary tournament for generate offspring C. The technique selects randomly two different individuals from the population.After that, it preserves the one of them having the best fitness value.Following the parent selection phase, two parents undergo the segment-based crossover operator, which is relied upon uniform crossover and tends to keep good gene segments of both parents.Representation of this operator is shown in Figure 4.Each echelon of offspring C is selected at random with equal probability over echelons of parents.These crossover operators use a binary mask where its length is equal to the number of echelons.Binary variables 0 and 1 are used to transfer the genetic materials from parents to offspring C. Each echelon of offspring C randomly takes 0 or 1 values, through which 0 implies the first parent and 1 implies the second parent transferring its genetic materials to the offspring C.

Mutation
The effective controlling of results plays a important role in population variety.Therefore, a segment-based mutation operator after crossover, which is represented in Figure 5 has applied in order to improve the performance of the GA.In this step, selected two nodes are relocated in order to increase to the diversification of the results.First, an echelon is randomly selected with using a binary mask as in the crossover operator.Then, two nodes are randomly selected from the same echelon.
Finally, these are exchanged by using swap method according to their priorities.

Survivor selection
Avoiding premature convergence is a key challenge in population-based meta-heuristics.Population diversity or searching varied area in the solution space can help find best solution or optimal during the algorithm.To tackle with this issue, we used survivor selection method (see [48]), which intends to provide the diversity of the population and preserve the best solutions.Initially, the initial population is generated with the size of np, and then at each iteration a generated offspring is inserted into to the population after each iteration.The maximum number of allowable offspring in the population is denoted by no.When total population size na reaches the maximum limit np + no, the survivor selection mechanism works to select offspring for next generation.On other words, the technique, afterward, elects np and separate no individuals from the population.The rest of no individuals are selected based on their fitness.In this way, best individuals are protected.

Description of the hybrid heuristic algorithm
We develop a two-phase HHA based on the principles of heuristics and integer programming.The problem is divided into two sub-problems, which are finding feasible location plant (plant, distribution center and retailer) and transportation on each arc of the network (between suppliers-plants-distribution centers-retailers and customers).A constructive heuristic is used first generates feasible solutions for finding feasible location in order to meet customer demands.Second subproblem is then solved to optimality with using first subproblem solution by an integer programming solver.The decision variables in the sub-problems are the same as those found within the original formulation.

Constructive heuristic technique
To obtain optimal solution of the problem is not easy because of dependencies between finding feasible facility location and design of the network configuration.Therefore, the first part of the problem that is location of facilities (plants, distribution centers, retailers, collection centers, disassembly centers etc.) to be opened is determined by the proposed heuristic algorithm. The

Integer programming procedure
In this section, after generating initial solution from constructive heuristic, a new procedure based on mathematical approach is proposed.In the proposed model, binary variables  (25) The objective is to minimize the cost of transportation on each arc of the network.After determination of ∆ p ,Γ  , Ψ  as parameters, certain constraints are eliminated from the mathematical model.The modifications in all mathematical models are given follows.
In two echelons model: The variable of ∆ p is modified as a parameter, which is obtained from the proposed heuristic algorithm in the Constraints (3).Also, the Constraints ( 5) are eliminated from model.
In three echelons model: The variables of ∆ p , Γ  are changed as parameters in Constraints ( 3) and ( 10) respectively.In addition, Constraints ( 5) and ( 12) are removed from the model.

Comparative results
In this section, we present the comparative results in order to show the performance of the formulations, the GA and the HHA.All computational experiments are conducted on a server with one gigabyte RAM and Intel Xeon 2.6 GHz processor.We used CPLEX 12.5 with its default settings as the optimizer to solve the integer programming formulations.The GA is coded in C++ and HHA is coded in MATLAB.Maximum allowable computational time is set three hours for each instance in the mathematical formulation solutions.For the GA and HHA, ten separate runs are performed for each instance and the best one is reported.Three different network structures (i.e., two, three and four echelons) are solved to evaluate the performance of the formulations, the proposed heuristic algorithms.Summary information about solutions obtained by GAMS, GA and HHA are given in Table 4.All detailed solutions of 450 instances can be found on website scndp.info.
The results show that the GA yields optimal solutions for 21, 16 and 6 test instances out of 150 for two, three and four echelon configurations, respectively.On the other hand, the HHA finds also optimal solution for 32, 20, and 11 problems for the configuration, respectively.In total, 308 of 450 test problems are solved optimality by CPLEX.However, no solutions are obtained in 109 test problems.CPLEX finds a feasible solution within three hours-time limit for the rest 33 the test problems.While the GA finds optimal solutions in 43 test problems, HHA produces optimal solution in 63 test problems.Both algorithms yield good quality solutions in the remaining test problems within a reasonable computation time as well.Expectedly, increasing the size of the network also increases the computation time of the problem.Solution time dramatically increases when the size of the network grows.As can be seen from Table 4, while average CPU time is 386.47 sec.for two echelon network, it jumps to 6266.22 sec., which is 16 times higher than that for four echelon network.
Detailed average results are given in Tables 5-7.It is shown that GA and HHA produce optimal/feasible solutions in all the test problems.For two-echelon test problems, both algorithms are capable of finding the optimal solution in small sizes but the HHA shows better performance than the GA.However, the possibility of finding optimal results decreases in larger echelon structures in the both algorithm.The results clearly indicate that the GA and HHA require quite less computational time and memory than does CPLEX (Tables 5-7).Numbers in bold indicates that HHA performs better than GA in most of the test problems.From Tables 6 and 7, three and four-echelon networks, involving more than hundred facilities cannot even produce feasible solutions within the given time limit (see Figure 6).It must be noted that the capacity and demand values of each problem are not investigated to see the effects on solution time.Results show that the gap between CPLEX and GA-HHA in three different network structures.As is clear from mentioned tables, the maximum gap interval is observed in four echelon test problems, minimum gap interval is observed in two echelon test problems.
In general, the results reveal that the gaps with respect to solution quality go between 0.00 and 23.23% for GA, and between 0.00 and 17.11% for HHA.Thus, the proposed HHA and GA perform very well in terms of quality of solutions and computational time.
Figure 6 indicates that HHA provides less total cost than GA in all test problem types.Average gap values between GA and HHA are also shown within Figure 6.According to this, average gap between GA and HHA is increased from 1.04% to 1.92% for small (two echelons) and large (four echelons) size problems, respectively.

Conclusions
In this paper, we have studied different scenarios of the wellknown forward supply chain network design (SCND) problem where two, three and four echelons are taken into account.Two-echelon SCND is composed of suppliers, production plants and distribution centers.Three and four-echelon SCND problems are extensions of the two-echelon form by adding retailer and customer, respectively.We have formulated each problem with mixed integer programming formulation.Since the problem belongs to NP-Hard problem class, mathematical formulations show poor performance as the number of echelon increases.We therefore develop two heuristic methods; GA and HHA.We compare the effectiveness of the proposed algorithms versus mathematical formulations.
Comparative results substantiate the outstanding performance of the GA and HHA.Based on the computational time measurement, GA and HHA show similar performance.
For future studies, proposed GA and HHA approaches can be compared with other heuristic and meta-heuristics techniques using current benchmark instances.Additionally, uncertainty of costs, demands and capacities can be considered in the model and new solution methodologies including uncertainty can be developed.Finally, similar benchmark instances can be developed for reverse and closed-loop supply chain networks.

Figure 3 :
Figure 3: The representation of the priority-based encoding.

Figure 4 :
Figure 4: An illustration of the segment-based crossover operator.

Figure 5 :
Figure 5: An illustration of the segment-based mutation operator.

Figure 6 :
Figure 6: Comparisons of GA and HHA in terms of average total cost.

Table 1 :
Characteristics of earlier review studies on forward SCND problems.

Two echelon forward SCN Three echelon forward SCN Four echelon forward SCN Suppliers Plants Distribution Centers Suppliers Plants Retailers Distribution Centers Suppliers Plants Customers Distribution Centers Retailers
Products are transported from plants to the distribution centers where the products are distributed to the retailers.At last step, customers' demands are met by retailers.Some of the plants, distribution centers and retailers may not be opened due to fixed costs.

Table 3 :
Parameter intervals used to generate different problem sizes.
first algorithm, constructive heuristic, builds the solution based on the fixed costs (associated with locating the plants, distribution centers and retailers) and costumer demand.First of all, two lists, which are UnexploredNodes, and ExploredNodes list are built to start solution.In the beginning, while UnexploredNodes list includes all potential facility in order to assign solution, ExploredNodes is empty list.When a potential facility selects, that facility moves to ExploredNodes list.Second, the heuristic technique produces root nodes from lists of unexplored nodes at the first level.Then, descendant nodes are generated for each root nodes.If capacity of nodes (root and descents nodes) is greater than total customer demand, these nodes are transferred to list of Solutions.If the size of the list is larger than predetermined size (2*β), certain solutions are selected according to routhwhell selection method to BestSolution list up to the number of β solutions.The objective function, fixed costs associated with locating the plants, is used in routhwhell selection method.The general structure of the constructive heuristic algorithm is shown in Algorithm 2.
,Γ  , Ψ r are transformed to parameters.Thus, fixed costs associated with locating the plants in the objective function is removed and new objective function for all echelons models are given as follows:

Table 4 :
A summary of solution obtained by CPLEX, GA and HHA.

Table 5 :
Average results of two echelon test problems.

Table 6 :
Average results of three echelon test problems.

Table 7 :
Average results of four echelon test problems.

Table A :
2. Generated three echelons FSCN design instances with number of facilities.