Abstract
Globalization of business around the world has turned individual firms into groups of collaborating business units whereby companies do not operate in isolation but function as integral part of big supply chain networks (SCN). Organization of SCN is quite complex as they operate with uncertainty in demands and operations. However, supply chain networks are required to be optimized in order to reduce the overall supply chain cost and increase service levels. Since these objectives are normally conflicting and incommensurable, instead of a singular solution, it is preferred to obtain a set of equitable solutions which is commonly referred to as set of Pareto optimal solutions. Subsequently, a suitable solution can be chosen by the user from the set of equitable solutions. In the present research, a multi-echelon SCN problem is formulated and two important objectives are identified. It is desired to minimize the total cost of supply chain network and at the same time maximize customer service level in terms of supply to demand ratio. Simultaneous optimization of these objectives has been carried out using an evolutionary algorithm (EA) called NSGA-II, which works with population of SCN solutions and is more likely to provide set of globally optimized solutions. However, at the conclusion of optimization, user needs to select a final solution from the Pareto optimal set of solutions after careful analysis. Existing approaches to carry out such analysis are complex and time consuming. We propose a novel method involving fuzzy logic in this research by which fuzzy indices corresponding to each of the solutions in the Pareto Front (PF) are obtained. Fuzzy indices of all the Pareto optimal SCN solutions are later compared to reach to a final solution from the Pareto optimal set.
Introduction
Supply chain networks (SCN) normally comprise of suppliers, manufacturing plants, warehouses, distribution centres and retailers organized to acquire raw materials, convert these raw materials to finished products and distribute these products to end users. The main objective of the supply chain is to minimize the overall cost of the goods to the end users or the customers [1]. Supply chain networks, at large, consist of many entities forming an agglomeration of systems with inherent uncertainties and complexities. It is important for the sustainable development of enterprises that they use and promote SCN [2]. In order to design a network of several entities operating in conjunction, various parameters governing its performance are required to be identified, formulated and optimized [3]. There are models and procedures proposed in the literature to evaluate the performance of the overall SCN and its members [4–6]. Supply chain models for perishable goods as well as fluctuating demand and holding costs have also been proposed in the literature [7–9]. Nevertheless, it is preferred that the SCN parameters are chosen in a way that the overall cost of the network is minimized while delivering improved service to the end user. The complexity of network design and its optimization have recently attracted many researchers across the disciplines and as a result many novel algorithms have been proposed [10]. While many researchers have approached SCN optimization as a single objective problem, most of the recent work has been carried out by formulating two or more objectives to optimize [11–21]. Predominantly, the overall network cost and service levels have been considered as the main objectives for SCN optimization [17]. Multi-objective optimization (MOO) of SCN involves simultaneous optimization of two or more objective functions which may be conflicting in nature. In the face of multiple conflicting goals, the optimal solution is normally a set of equitable solutions [22]. An interesting multi-criteria optimization of SCN is proposed by Badhotia and Soni [23] considering the uncertainty of objectives and thereby defining them as fuzzy objectives. While mathematical optimization techniques are proposed for offline identification of SCN parameters, various control algorithms have also been proposed to obtain the optimal parameters of SCN in real time. In a similar recent work, SCN management has been proposed for a three-echelon system using a feedback control system approach [24]. Model Predictive Control has also been used as simulator to manage a dynamic multi-echelon SCN for integrated device manufacturers [25].
The process of obtaining set of Pareto optimal solutions is difficult using conventional optimization methods. On the other hand, evolutionary algorithms (EAs) are capable of providing a set optimal solutions through simultaneous optimization [1, 26]. EAs have the mechanism to provide equitable solutions in few simulation runs [27]. This becomes possible since EAs work with large population of solutions and also has peculiar mechanism resembling nature’s evolution which facilitates exploration of improved trade-off solutions. Owing to these qualities, EAs are preferred over conventional methods in most of the real world multi-objective problems [28, 29]. Amongst other approaches, the concept of Non-dominated sorting augmented by genetic algorithm (NSGA-II) [27] has been largely used by researchers across disciplines.
Previously, an integrated multi-objective supply chain model using multi-objective decision analysis for products-delivery and demands had been developed [30]. However, obtaining Pareto optimal set of solutions using a matrix of weights for objective may not be an efficient approach. Genetic algorithm was used to propose a solution procedure to find the Pareto optimal solutions for supply chain design problem [31]. A bi-objective model for a three echelon supply chain was developed and solved using evolutionary algorithms [32]. A multi-criterion genetic optimization procedure was used with an order distribution problem in a demand driven supply chain network [33].
Most of the previous work has been done towards obtaining a Pareto optimal front for SCN design solutions. However, a single design solution is normally required while dealing with practical problems of the world around us. Since all the solutions in Pareto set are equally good, selection of a final best solution from the better ones is difficult. In the present work, we mathematically formulate a multi-echelon SCN identifying two objectives to optimize after the initial conceptualization. For simultaneous optimization of these objectives and obtaining a Pareto optimal set of solutions for the proposed SCN problem, a well-known evolutionary algorithm called, Non-dominated Sorting Genetic Algorithm (NSGA-II) is used. Later, in order to select the best design solution from the set of Pareto optimal solutions, a novel algorithm based on fuzzy logic is proposed. The proposed algorithm provides a fuzzy index corresponding to each of the design solutions. The fuzzy index reflects quality of a solution pertaining to the objective function values it provides. A solution with minimum fuzzy index is expected to provide most optimal set of objectives set for minimization goal and vice-versa. The SCN problem is described in Section 2 with appropriate modelling and formulation of the objectives. Evolutionary optimization of SCN using NSGA-II is presented in Section 3 with brief comments on the results obtained. Section 4 provides details of the proposed fuzzy based approach to select a final solution from the Pareto optimal solutions. Conclusions drawn from the present research and future course of research are provided in Section 5.
Problem description
In the present research, a SCN for a Kazakhstan company producing and selling water bottles to retailers has been studied and analysed. The entire supply chain network consists of raw material suppliers, manufacturing plants, distribution centres (DCs), and retailers as shown in Fig. 1. The raw material for water bottles comes from two suppliers and it is known that each of the suppliers is providing similar raw material quality. The manufacturing plant produces bottles as finished products. The distribution centres are the warehouses of different capacities that store the products before they are delivered to retailers using vehicles. The transporting vehicles, which are of different capacities, are transporting the raw materials or products throughout the network between network entities. The objective here is to design an optimal supply chain network making critical decisions on the network parameters such as selection of suppliers for raw materials and quantities, obtaining suitable subsets of plants and distribution centres and a distribution network strategy that satisfy all the capacities and retailer’s demands.
Various indices, notations and parameters used in defining the optimization problem
Various indices, notations and parameters used in defining the optimization problem
Two important objectives for the SCN have been identified as the overall cost of the network and the service level index in terms of the ratio of supply over demand. The total cost of SCN includes the cost of buying and transporting raw materials, cost of opening and running manufacturing plants and DCs, transportation costs from plants to DCs and from DCs to retailers. In order to meet the retailers’ demands in timely manner, the products are normally stored in the DCs prior to delivery which amounts to the storage related costs apart from maintenance costs. The other objective is about maximization of meeting retailers’ demands satisfying all the constraints coming from various stakeholders. Since the two objectives are conflicting, the final objective is to establish an optimal trade-off between the overall SCN cost and meeting retailers’ demands.

An example supply chain network model.
The SCN problem is further described here by providing details about its entities and their parameters. In order to formulate the SCN design problem, a short description of the known parameters and unknown variables is presented first. The indices, notations and parameters used for defining the optimization problem and constraints are also explained in Table 1.
The proposed multi-echelon SCN (Fig. 2) has three stages comprising of two nodes for suppliers, three nodes each for plants and distribution centres and there are four customers located at various locations.
The objectives considered in the present work, as mentioned above, are: Minimize the total cost of supply chain network. Maximize customer service level in terms of supply to demand ratio.
The following assumptions are considered:
The number and capacities of all the SCN entities such as retailers, DCs, plants and suppliers are known.
All the plants and DCs may not be operating all the time.
The varying demands of retailers can be determined from past history.
Retailers are served from a single distribution centre; however, plants can deliver products to more than one DCs.
Raw material can be received from all the suppliers.
Demand from retailers can be predicted analysing available past data and it is assumed that the daily demand from retailers follows the Gaussian distribution. For the available data the means of demands from four retailers were considered to be 4000, 5000, 4500 & 3500 units respectively which varies with standard deviation of 1700 units. The demand is considered on a daily basis, whereas, the cost is computed over a week.

Three stage multi echelon supply chain network configuration.
Various indices and parameters with notations are explained in Table 1, which are used for defining the optimization problem and related constraints. Variables used to model the entire SCN are also shown in Table 1 wherein the set of unknown parameters are highlighted in bold. It is also assumed that all the decision variables are integers and non-negative.
The SCN optimization problem is mathematically formulated into two objectives. The first objective is the total cost of SCN consists of various fixed costs of operating plants and DCs besides raw material costs, transportation costs and holding costs at the DCs. The total cost of SCN can be given by (1) which is the sum of all the associated costs.
Costs TC1 & TC2 are the fixed costs to operate plants and the DCs respectively; TC3 includes the raw material costs and the transportation cost from suppliers to the plants. Transportation costs from plants to DCs and then to the retailers are denoted by TC4 & TC5, respectively. Holding costs incurred at the DCs are represented by TC6 in the total cost function.
The second objective quantifies the service level of SCN. In other words, it is the ratio of goods delivered to the quantity ordered (2).
Following constraints are identified while formulating the optimization problem:
∑ r d r ≤ ∑ d Q d ; Total retailers’ demands should be less than or equal to the DCs combined capacities.
∑ p x pd ≥ ∑ r q dr ; Number of units delivered to DCs should be more than or equal to the units delivered to the retailers.
∑ p n sp ≤ SC s ; Number of units delivered to the plants should be less than or equal to the suppliers’ capacities.
∑ d x pd ≤ ∑ s n sp ; Number of units delivered to DCs should be less than or equal to the units delivered to the plants.
∑ d x pd ≤ PC p ; Number of units delivered to DCs should be less than or equal to the total capacities of the respective plants.
While, x pd , n sp , g p , f d , c pd , Q d , SC s , PC p ≥ 0
The weighted sum approach
In order to solve a multiobjective problem, conventionally, it is converted into a single-objective problem. Typically this is done by attaching fractional weights to each of the objectives later to combine these into a single objective function. Objective functions, with fractional weights, can be added or multiplied together to form this single objective.
In the present research, first a weighted-formula approach is used whereby both the objectives are added together, after being multiplied by weights, to form a single objective function as shown below.
Choice of weights (w1 & w2) for the objectives remains a subjective decision by the user. Nevertheless, using different combinations of weights, an approximate Pareto set of solutions can be obtained and the users can later select an appropriate solution based on their priorities for objectives. Here, three pairs of weights are used to create an approximate Pareto front as shown in Table 2. Single objective optimization was performed using the Genetic Algorithm toolbox in Matlab R2019b®. The maximum constraint violation, During the optimization, was found to be of the order of 10-3. Results from the experiments are provided in the Table 2.
SCN solutions from experiments using different weighted criteria
SCN solutions from experiments using different weighted criteria
Apparently, when the SCN cost is given more preference (Case II), the service level is compromised, on the other hand the cost of SCN is high when the service level is prioritized (Case III). An equal trade-off between the objectives (Case I) provides less SCN cost with close to 41% service level. While we have considered only three cases here, considering further choices for the weights (w1 & w2) an approximate Pareto front can be obtained. However, this will require many runs of single objective optimization simulations and therefore is not an efficient approach. On the other hand, it is possible to simultaneously optimize both the objectives in a single iteration using evolutionary algorithms which is discussed in the next Section.
It is known that the evolutionary algorithms can simultaneously optimize two or more objective and can provide a set of Pareto optimal solutions. Therefore, in the present research a popular non-dominated sorting genetic algorithm (NSGA-II) has been implemented for network optimization [34]. While, an advanced version, NSGA-III, is also available, it is not preferred owing to the fact that it is specifically designed for many objective optimization problems [35]. NSGA-II, like other EAs, works with population of solutions which is randomly generated and later follows the nature’s evolutionary process using genetic operators, such as, selection, crossover, and mutation.
Overall ten variables were considered during optimization of SCN which are amount of raw material received at three plants (P1-3), number of bottles produced and further transported from the plants to distribution centres (DC1-3), and number of bottles delivered to the retailers (R1-4). To begin with, an initial population of 100 binary coded strings of 120 bits was randomly generated using Knuth’s random number generator [36]. Each of these 100 binary strings represented a candidate solution for the SCN. Out of 120 bits each of the ten variables were assigned 12 bits. This allows discretization of the solution space with accuracies of the order of 10-4. Representation of a prospective SCN solution in the binary is shown below.
Objective function values (or the fitness values) for 100 candidate solutions are calculated and based on these, the selection (or reproduction) operator promotes competent solutions and generates their multiple copies rejecting incompetent ones. Crossover operator on the other hand generates offspring solutions by combining good parents from populations. Mutation operator, which is used with low probability, plays crucial role in finding globally optimal solutions by changing solution values to a large extent. There is one more operator, essentially used for maintaining diversity among solutions and is called Crowding distance operator. Distant solutions in the objective space are explored and favoured in the quest of global optimality [27].
In order to check whether the solutions satisfy all the constraints, the fitness functions were modified by adding appropriate penalty functions [27]. The bracket-operator penalty term was used which is an exterior penalty term and is used to handle inequality constraints. The following parameters were selected during NSGA-II implementation:
Population size: 100; Crossover probability: 0.95; Mutation probability: 0.05; Distribution index for crossover: 10; Distribution index for mutation: 50
To begin with, a parent population of 100 solutions for the SCN was randomly generated and later an offspring population was derived by applying genetic operators such as, selection, crossover and mutation on the parent population. Rest of the algorithm was implemented as explained in the following pseudo code:
Subsequently, after fifty iterations, twenty solutions were obtained in the first ND front and the algorithm was terminated. It was also observed that all the hundred solutions converged to the first five ND fronts and no improvement was observed during further iterations. Placement of all the solutions in their respective ND fronts is shown in Fig. 3. All the twenty SCN design solutions from the first ND front are non-dominated which means that they are either better or equal to other solutions in the same front in terms of both objective functions. However, while these Pareto optimal designs are non-dominated, they provide different values for the objective functions as shown in Fig. 5.

SCN design solutions converged to five non-dominated fronts after five hundred iterations of NSGA-II.
Final design solutions (hundred solutions), obtained through NSGA-II, were found to abide by all the constraints and thus are feasible.
While all the solutions in the Pareto optimal set are equally good, the user practically requires a singular solution to implement. Selection of a singular best solution from the set of better solutions is vital and at the same time is quite subjective. Different users may choose diverse solutions based on their perception or priorities. However, if a singular solution can be selected based on an accepted logic it can reduce this big cognitive load on the designer. In the present work, a novel fuzzy-based approach is used to select the best solution amongst the better ones. The method used is described below detailing its various steps of implementation, however readers are referred to [37] for further information.

Fuzzy objectives (a) Inverse of supply to demand ratio (b) Total cost (units).
To begin with, both the objective functions are defined as fuzzy functions by selecting the type of activation functions (AFs) and their range or the universe of discourse. In the present research we have obtained the ranges of the objectives from the extreme values of the objectives from the final twenty solutions. Further, we have chosen four Gaussian AFs to define fuzzy objectives which are termed as, Low (L), Medium (M), High (H) and Very High (VH) as shown in Fig. 4.
Fuzzy inference

Selected SCN designs from all the first front solutions with the finally chosen design solution encircled.
The aim is to use two objective values obtained from a particular solution and convert these into a single fuzzy index. Later these fuzzy indices from all the ND solutions can be compared to find the best SCN design solution. Subsequent to the input (objectives) fuzzification, a unique fuzzy index is computed for each set of objectives for a particular solution. The fuzzy inferencing mechanism which works through its rule-base is implemented. The rule-base is a collection of if and then statements relating the antecedent (input) and consequent variables (output). Normally, the structure of a rule-base is given by:
Here f1 and f2 are the objectives as inputs to the fuzzy system, m is the index for the Activation function level, AFi1 ... AF
im
are the AFs of the objectives, AS
i
is the activation score for i
th
rule and its numerical value is y
i
. Total number of rules (N
R
), which is derived from the number of AFs and number of objectives, is given by the following relation (3):
Here, j is the index used for the number of objectives and there are N objectives. Further, M j is the number of AFs used for j th objective function. Therefore, when two objectives are represented using four AFs (Fig. 4), a total of 42 i.e., 16 rules are formed. In fact these rules are the combination of all possible combinations of AFs of the two objectives. A random set of example rules is shown in Table 3 along with the rule outputs. While calculating the rule outputs, activation scores for their antecedent AFs are assumed such as L = 0; M = 1; H = 2 and VH = 3. Rule outputs are simply the sum of the activation scores of their constituent AFs. Later, in order to find consolidated output from all the rules, weights of objectives for each rule are computed by considering the product of all applicable activation functions’ degrees of fulfilment.
Example rule base for the fuzzy based final ranking selection
Equation (4) can be used to find the degrees of fulfilment (or the activation value) for a set of inputs and the weights (for i
th
rule) can be computed using (5). In the equations, f
j
is the input objective value and N is for the number of objectives. The mean and the standard deviation of the individual Gaussian AFs are denoted by
The OAS can be computed using (6) as shown below.
All the solutions (Fig. 5) obtained from NSGA-II implementation are given as inputs to the above discussed fuzzy system and the outputs obtained for the solutions are documented. The design solutions along with their objective values and OAS are shown in Table 4, along with their respective objective function values and fuzzy indices. While all the final twenty solutions are non-dominated and equally good, their fuzzy indices are different and unique. Therefore, the fuzzy ranking of solutions can be compared to find the solution with minimum fuzzy index which expected to be better than rest of the solutions. Design solution number nine (Table 4) is finally selected for the proposed SCN design since this solution has minimum fuzzy OAS index value. The finally selected solution can assure 68.04% service level with 191131 units of total cost for the SCN. However, the maximum achievable service level, satisfying all the capacities was found to be 86.65% (sol. 20, Table 4), but the associated cost of the network, for this solutions, is 313630 units which is quite large. Similarly, the minimum cost of the SCN is found to be 127108 units which can offer only 18.54% service level. Therefore, it appears that the final solution selected using the proposed fuzzy based method is able to provide the best trade-off between the cost and service levels for the example SCN.
Selected solutions from the first fuzzy front while optimizing SCN
*Optimal solution selected from the group of Pareto front solutions.
In the present research a multi echelon SCN was conceptualized and mathematically formulated. Two important objectives for the SCN were identified as the cost of the network and the service level index in terms of the ratio of supply over demand. Various SCN variables are required to be optimized in order to reduce the cost of the SCN while obtaining the best possible service level index. Initially, both the objectives were combined into a single objective function and optimized using genetic algorithm Toolbox in Matlab®. Later, in order to explore more solutions in the Pareto front, simultaneous optimization of the two objectives was carried out using an evolutionary algorithm called NSGA-II.
Subsequent to the evolutionary optimization, twenty SCN design solutions were obtained which were found to be non-dominated or Pareto optimal. However, since the designer is always interested in finding a singular solution, the Pareto optimal solutions need to be analysed critically. We have proposed a novel method involving fuzzy logic in this research whereby the two objective values from an individual Pareto optimal solution can be converted into a single unique fuzzy index termed as overall activation score (OAS). By comparing OAS of all the Pareto optimal solutions, it is possible to find a solution with minimum OAS which is expected to be the best solution amongst the better ones. The multiobjective optimization of SCN has been explained here in the pretext of a company in Kazakhstan selling water bottles. However, the optimization procedure laid out here can be applied to any other SCN with appropriate changes. Owing to the dynamic nature of SCN, values of the variables of the optimization problem referring to plants, distribution centres, and retailers are not as important as the objective function values. In the absence of a generalised solution for SCN, it is suggested that the managers while dealing with multi echelon SCN, formulate objectives as described in this research and then perform the evolutionary optimization as and when required. Such optimization is important in order to make a decision on the operating entities (suppliers, plants, DCs and retailers) and the number of quantities transacting between the entities.
It was realised during present research that user preferences are not considered in the existing EAs. In solving real world multi objective problems, designers have to consider varied priorities among the objectives. Accordingly, instead of exploring the entire solution space, solutions biased towards a particular objective may be quickly obtained. This fact is also quite apparent from the results presented in Table 3. The final solution obtained can only provide 68.04% service level which may not be adequate. Here, one may like to give preference to the service level trading off the cost of SCN. It will be interesting to see how user preference can be incorporated on priori basis in the evolutionary algorithms. Therefore, future work in this research will focus around the induction of the user preferences in the optimization process.
