1. INTRODUCTION
Supply Chain (SC) is an interconnected series of activities from materials distributors to the final customer. Programming, producing, transporting, distributing, and marketing affairs are traditionally carried out independently. SC and its management integrate these activities to deal with today’s competitive worldwide market (Golpîra, 2017a). Costsaving opportunities, which are available through SCs, have become important in Supply Chain Management (SCM) (Mendoza and Ventura, 2010). Thus, the main focus of this paper is on supplier selection concept that, by definition, is a process that identifies the suppliers to offer the desired quantities of product at reasonable price. According to the nature of the problem, because the buyer is the level of the chain that is actually purchases the products, it is logically true that the buyer has a higher authority to make a strategy of the chain. On the other hand, suppliers wish to have their optimal decision. This means that there exists a noncooperative game between these two levels of the chain and could not be formulated directly by using game theory. That is, game theory is the study of conflict and cooperation between intelligent rational decisionmakers (DMs) (Myerson, 1991). A leaderfollower game is firstly introduced by Von Stackelberg (1934) and can be formulated using bilevel programming approach (Golpîra et al., 2017). In this type of programming, the DM that is considered to be at a higher level is called leader and others at lower level are followers. Each DM controls a set of variables and aims to optimize his own objective function. Leader adopts a decision and follower reacts accordingly to optimize his own objective function (Golpîra, 2017b). Therefore, the decision made by the leader to optimize his own objective function also incorporates the follower’s reaction (Golpîra et al., 2017) as the agents of such an agent base model. The system is not multiagent base because the use of information systems and the related technologies are not addressed in the paper (Pal and Karakostas, 2014).
Thus, the main purpose of this study is to optimally select a buyer and a group of suppliers to design a SC using bilevel programming approach. Accordingly, the problem is a hierarchical decisionmaking which cannot be modeled through conventional multiobjective decision making methods. But the NPHard nature of the problem, especially in large problem, is a major drawback of the model formulation and solution. To deal with this drawback, in the paper two metaheuristic methods, i.e. Particle Swarm Optimization (PSO) and Differential Evolution (DE) are used. In addition, the KurushKuhnTucker (KKT) conditions are also leveraged for small scale networks to make a better comparison among the solution methods. The rest of the paper is organized as follows. Section 2 describes a brief background of the method. In the 3^{rd} section, the problem is expressed and the bilevel mathematical modeling is discussed. In the 4^{th} section, solutions methods are presented and in the 5^{th} section, some numerical examples are generated and solved using the solution methods and the sensitivity analysis is done based on the simulation results. Finally, in the last section, conclusions and future research areas of this study is given.
2. RESEARCH BACKGROUND
Using bi level programming in the modeling and applying the metaheuristic methods to solve it is widely used in SCM. Gao et al. (2011) designed the bi level pricing problem with a vendor and a buyer for hightechnology industries with fierce market competition and decrease of product prices over time. Both the vendor and the buyer can play the leader or follower’s role. They used a PSObased algorithm to solve the proposed models. Sadigh et al. (2012) aimed to obtain the vendor and buyer’s prices as well as production policies for a multiproduct SC with a manufacturer and a retailer using bi level programming approach. Both the vendor and the buyer, however, can have the leader or follower’s role. To solve the two proposed models, an algorithm based on imperialist competitive algorithm is used. In their proposed model the demand for each product is a function of the goods price and the related advertising costs. Ma et al. (2015) used a hierarchical hybrid metaheuristic DE/PSO algorithm to solve a bi level programming problem and its application to pricing and lotsizing decisions. They applied PSO for the higher level and DE for the lower level. Wee et al. (2013) modeled a bi level programming problem for a product that its price reduces with the passage of time and solved it using an expert genetic algorithm. The problem was studied in two cases when the vendor (buyer) is leader and when the buyer (vendor) is follower. To solve the proposed model, they took advantage from bi level elitist genetic algorithm. To select retailers by a manufacturer who is also a vendor, Yu et al. (2013) designed a problem in the form of bi level programming related to product’s replenishment cycle time and the wholesale price for the manufacturer and the buyers’ decisions to enter the retailer selection system and retail price. Their intended problem has been formulated with considering inventory management by the vendor. Leader is the vendor and the followers are retailers who are independently looking to maximize their profits. To solve the recommended model which is a nonlinear mixed integer model, they used a hybrid dynamic and genetic programming algorithm. Angelo and Barbosa (2015) solved a bi level Production Distribution Planning Problem using two metaheuristic algorithms as a hierarchically interrelated system. They used Ant Colony Optimization for the upper level and the Differential Evolution for the lower level. Zhao and Li (2015) presented a bi level model for a distribution and transportation problem for the raw materials in SCM. In this model, the retailer is considered as a leader and seeks to maximize his profit with taking decision on selecting the supply position. Follower is a distributor that seeks to minimize transportation and operating costs in the supply situations in response to leader’s decision. The proposed bi level model is solved using bi level genetic algorithm. One of the important problems in SCM about which a broad literature history is available is the problem of supplier selection in SC design that is addressed in this study as well.
According to many review papers available in this context, more up to date papers are also addressed. Xia and Wu (2007) have used quantity discounts in selecting suppliers. They refer to the problem of multiple suppliers that are able to provide multiple products with the specified and limited capacity in price ranges with quality discounts. They have also used qualitative and quantitative factors for this selection. Tan and Alp (2016) have studied the Multiple Supplier Sourcing Problem and a buyer with stochastic demand. They aimed to determine the quantity to be sourced a priori. In their model, suppliers enjoy fixed costs and quantity discounts with capacitated sources. They resolved their proposed model using dynamic programming with pseudopolynomial complexity. Ayhan and Kilic (2015) investigated supplier selection in a multi item/multisupplier environment with quantity discounts. Their research consists of two phases. In the first stage, the relative weight of each criterion is obtained for each input item through the Fuzzy Analytical Hierarchy Process (FAHP) technique and is applied as the input of Mixed Integer Linear Programming (MILP) model in the second phase to determine the suppliers and the value which is supplied by them. Mazdeh et al. (2015) investigated the singleitem multiperiod dynamic lot sizing problem with supplier selection with incremental and allunit quantity discounts. To solve this problem, they devised a heuristic algorithm based on FordyceWebster. Lee et al. (2013) developed a mixed integer programming (MIP) model for the lot sizing problem with multiple suppliers in multiple periods and quantity discounts and proposed an efficient genetic algorithm (GA) to solve the intended problem. Yin and Nishi (2014) addressed quantity discount models which consider selection of contract suppliers, production quantity and inventory simultaneously. They formulated the quantity discount problem with the uncertain demand in the form of a mixedinteger nonlinear programming problem (MINLP). They also used an outerapproximation method for solving the aforementioned problem. Yin et al. (2015) investigated the optimal discount policy for one manufacturer and multiple suppliers for determining production, prices and inventory simultaneously with uncertain demands. They also used noncooperative game based on the Stackelberg equilibrium in order to solve the mentioned problem of decisionmaking.
This study is one of the first works that helps buyer select suppliers while considering the candidate suppliers’ optimal reaction. To the best of authors’ knowledge this is the first to consider discount, lot size as well as transportation policies simultaneously, using a bilevel programming structure. Furthermore, there are few studies, such as Mansini et al. (2012), that only consider purchase and transportation costs and the buyer and suppliers’ costs have only been given in an objective function. In these studies, the suppliers’ capacity has not also been considered. While in this research, suppliers can take their optimized decisions with regard to reacting to the buyer's decision. And the buyer can also observe suppliers’ reaction in the form of Stackelberg game. Although relations between partners in a SC are hierarchical, the previous models have been designed without considering this concept, while it is considered in this paper. To do this, the formulated model designs a SC to obtain the amount of order and a designed group of suppliers in an optimal manner using a bilevel optimization approach. Since the leader and follower’s objective functions are both nonlinear, the decisionmaking model to determine the buyer’s order and selecting a set of suppliers with supply quantity of each of them will be a nonlinear bi level programming (NBLP) problem. Considering the NPhard nature of these problems when their dimensions grow larger, metaheuristic solutions are better to be used. In this study, Due to the complexity of the problem two wellknown metaheuristic algorithms are proposed to solve the problem and performance evaluation and comparison of the proposed algorithms is presented. The results show that these two algorithms’ responses are not significantly different.
3. PROBLEM STATEMENT
This paper examines the SC involving a buyer and multiple suppliers cooperating together as a consortium. The buyer must select one or more suppliers and allocate orders necessary to meet the market demand for a product with an annual fixed rate. All suppliers in this hierarchical SC have total discounts and predetermined quantity discounts. In this problem, the suppliers are also manufacturer and they have capacity constraints. Economic values of production by a manufacturer are equivalent to the economic order quantity of purchase requested by the buyer from the suppliers. The buyer will have the leader’s role and the suppliers have the follower’s role. The cost of procurement contains not only the purchasing, order, and holding costs, but also the transportation cost. The total quantity purchased from each supplier will be sent to the buyer via trucks. Fixed transportation costs from manufacturer to purchaser are also considered in this paper. The number of track visits is directly depends on the total quantity purchased and truck capacity. In addition, there exists a fixed cost under each supplier selection.
3.1. Model Assumptions
The following assumptions will be applied in building the model:

 The buyer can provide his required items from multiple suppliers.

 The buyer must procure only one item from suppliers. Just one product is considered in this chain.

 Suppliers apply the general discounts and the discounted prices will be applied on orders.

 The annual demand is specific and with a constant level over time.

 Shortage is not allowed.

 Inventories are not handled from one period to another.
Parameters and variables:
Parameters and variables of the decision applied in modeling the problem are as follows:
Subscripts:

i : An index representing suppliers. i: Supplier (1, 2, ..., I)

k : Pricing level according to quantity discounts (1, 2, …,m(i))
Parameters:

m(i) : Number of quantity ranges in supplier (i’s) pricing level.

l_{ik} : Lower limit of quantity discount k, proposed from supplier i

b_{ik} : The upper limit of quantity discount k, proposed from supplier i

c_{ik} : Discount unit price in the discount range k related to supplier i

K_{i} : The index of the last quantity discount related to supplier i

D : The Buyer’s annual demand rate

ξ : Represents a small positive number

A_{i} : The cost of per order from supplier i

S_{i} : Production preparation cost related to supplier i

P_{i} : Annual production rate to supplier i

u_{i} : Variable cost per unit product from supplier i

h_{b} : The buyer’s inventory holding cost per item per unit time

h_{i} : The supplier’s i inventory holding cost per item per unit time

f_{i} : Fixed cost of selecting supplier i by buyer

o_{i} : A fixed transportation cost charged for each visit to a supplier i

ψ : Truck capacity to transport the cargo purchased from supplier
The decision variables:

x_{ik} : The quantity purchased from supplier i in each period in discount quantity k

yy_{ik} : Binary variable; if purchased quantity provided from supplier i placed in the discount interval k, the value yy_{ik} = 1; otherwise yy_{ik} = 0.

Q : The total order quantity in each period for the buyer from all suppliers.

y_{i} : Binary variable; if the supplier i has been chosen by the buyer, the value y_{i} =1; otherwise y_{i} = 0.

φ : The number of visits from supplier i to buyer.
3.2. Bi Level Programming Model to Select Supplier
According to defined assumptions and parameters mentioned above, we can formulate bilevel programming model of selecting suppliers by buyers as Eqs. (1)  (13):
Eqs. (1) and (7) indicate higher level objective functions and lower level objective functions respectively. Eq. (1) reflects purchasing, ordering, inventory holding (carrying); transporting and fixed costs for the leader. The objective function (7) represents the constructing, preparing and inventory holding costs for suppliers. Constraint (2) defines the number of visits to supplier i. Constraint (3) expresses the fact that if the supplier is selected by the buyer, it will be able to select one of discount intervals. Constraint (4) is defined to select suppliers. Constraint (5) represents the number of truck visits.Constraint (6) reflects the fact the total orders received from all suppliers must be greater than zero. COnstraint (8) is defined to balance the amount of supply and the amount of deliverables. Constraint (9) guarantee that the amount of anual orders from a supplier is not exceeds the annual production capacity. Constraints (10) and (11) show that, the requested amount at any time of ordering from any supplier will be within one of quantity discounts proposed by supplier. Constraints (12) and (13) define the type of variables.
4. PROPOSED SOLUTION METHODS
In this section, three methods, i.e. KKT conditions approach, PSO algorithm and DE algorithm, are proposed to solve the problem described in section 3. Adopting KKT conditions on a problem with the structure of bilevel programming may transform it into a single level programming problem. Since the proposed mmodel is mix integer and objective functions are complex and nonlinear at both levels, the metaheuristic algorithms have shown high performance in solvling such problems. PSO is a population based algorithm that has shown its effectiveness in the global optimization for continuous spaces (Eberhart and Kennedy, 1995). Moreover, differential evolution algorithm (DE) will be used as the next algorithm, due to attractive features such as compact structure, ease of use, fast convergence speed and robustness (Ma et al., 2015).
The proposed solution process is started with a primary point for the upper level of the BLPP and it is continued to obtain the final optimal solution. The solution of the lower level of the problem (y^{*}) is obtained in each iteration and it is delivered to the upper level. This process continued iteratively until optimal or near optimal solution is achieved. The process is illustrated in Figure 1.
In this paper the Nested Repairing approach is used to deal with the methheuristic methods. In this approach the lower level of the problem is assumed as the constrained of the model. In the first phase a solution point, i.e. (x, y), is generated. As it is shown in Figure 2, the solution point (x, y) is used as the primary solution for the problem of the lower level. Then an optimization algorithm is adopted to the problem in its lower level to obtain y^{*}. The variable x is then being the parameter to the lower level of the problem. The solution of the lower level, i.e. (x,y), is delivered to the upper level, the previous solution of the upper level is changed with this new point and the objective function if the problem is checked. These phases areiteratively done so as to optimize the overall problem.
As it is previously mentioned, the KKT approach checks all possible mode of suppliers integration with their offered discounts. For example, if the buyer has 3 supplier and each of which has 4 cost intervals, according to its discount strategy, there are 124 choices that can be chosen by the buyer. In other words, the problem is subdivided to 124 subproblem and all these problems are solved unless those problems that has no feasible area. Finally, the costs of the problems are compared and the optimal cost is chosen. This property is also considered in the metaheuristic approaches. In such a process the buyer has its control on the discount intervals after the suppliers are selected, but the amounts of the deliverables are given according to the selected discount interval.
4.1. Solving bi Level Programming Model Using KKT Conditions
According to aforementioned discussion, it is possible to change a bilevel problem with continuous variables to a singlelevel problem using KKT conditions. Therefore, transforming the binary variables (yy_{ik}) into continuous ones in the proposed model becomes essential before establishment of conditions. This may increase the number of complementary slackness variables and enhances the complexity of problem solving. So, using this method will not be on the agenda. Another solution used in this study, is enumerating all yy_{ik} variables for suppliers. But, applying complete enumeration to check all the solution points is a timeconsuming procedure. Since the number of cases resulting from this count, severely increases with increasing the number of suppliers, this solution is suitable for small problems. Then, the achieved singlelevel model from KarushKuhnTucker (KKT) conditions can be presented as Eqs. (14) to (35). Finally, the resulting singlelevel model can be solved using GAMS software.(15)(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)(34)
4.2. Solving the Suggested BiLevel Programming Model Using PSO
Not only for PSO algorithm but also to implement DE algorithm on the first level of bilevel programming model, the initial solutions for variables Q and y_{i} are generated according to the suppliers’ suggested ranges and these values are given to the second level. By using GAMS software, x_{ik} and yy_{ik} variables values are obtained and given to leader at the second level. Considering the value obtained for the x_{ik} variable using Constraint (2), c variables values will also be available using Constraint (2). Now, the leader’s objective function for each solution vector can be obtained.
PSO is a metaheuristic evolutionary algorithm based on an initial population presented by Eberhart and Kennedy (1995). The first population is based on the random solutions. Each particle is equivalent to a position vector randomly created in the space of the problem solution. In this study, solution vectors are displayed in Eq. (36) both for PSO algorithm and DE algorithm:
Particles require speed to achieve better places. Thus, a velocity vector which is usually a zero vector or a small accident vector is generated for each particle. Particle positions are updated using the following equations in each iteration:
Using Eq. (37), the velocity of each particle is calculated, position of particle is updated based on previous position and its velocity. i is the index of particles in these equations. t is the iteration counter, and ${x}_{i}^{t}$ as well as ${V}_{i}^{t}$ represents the position and velocity of i^{th} particle in t^{th} iteration. ${p}_{i}^{t}$ is the best position for the particle i , up to now. ${p}_{g}^{t}$ is the best position obtained for all particles, up to now. c_{1} and c_{2} are particles accelerator constants to positions p_{i} and p_{g}. r_{1} and r_{2} are random numbers generated in the range [0, 1]. W is weight inertia and controls the solution space in terms of diversification and intensification. W value is set in each iteration of the algorithm using Eq. (39).
In Eq. (39), W_{max} is the initial value and W_{min} is the final value of weight inertia. iter_{max} is the maximum iteration and iter is the current amount of iteration. The pseudocode of the proposed bilevel method is shown in Algorithm 1 using PSO. It can be observed that, the algorithm starts with initial data as an instance of a bilevel problem and initialization is conducted for parameters needed for PSO. Then, the original responses are produced as many as the swarm size. Eq. (36) is to represent how to produce solution vector. To produce the initial solutions, supplier 1 is first considered and a random number is generated between zero and one. If the random number generated is less than 0.5, supplier 1 is ignored. Otherwise, one of the supplier’s proposed ranges [1, m(i)] is randomly selected. After selecting the range, a random value is allocated to supplier between the upper and lower bound of the selected range. This procedure is repeated for all suppliers. Finally, if none of the suppliers were selected, the procedure is repeated from the beginning. At the end of producing original responses, the total order amount will be achieved in each period for the buyer. This amount, according to Eq. (8), is equal to the sum of the ordered amounts to the selected suppliers. Given that the total order value has been determined at this stage, but it has been randomly allocated to suppliers. It is necessary to allocate the orders to each supplier in such a way to minimize the objective function in Equation (1). To do this, a local search presented by Kamali et al. (2011) will be used. Local search consists of two phases. The first phase is to exchange ordered amounts to two suppliers (indicated by i and j) with each other. If this switching to be possible in terms of capacity and leads to a solution with lower cost, it will be carried out. This procedure is done for all pairwise comparisons of suppliers. In the next phase, the amounts ordered to a supplier are added to another supplier who has the necessary capacity. If this integration leads to a solution with a lower cost, it will be carried out. This procedure is carried out for all pairwise comparisons of suppliers similar to the first phase. At the end of this phase, top suppliers are identified.
The initial solutions for the evolutionary algorithms are generated randomly. The solutions may violated the constraints and resulting in infeasibilities. There exist several approaches to deal with these infeasibilities (Coello, 2002) such as repair approach that is used in this paper. The repairs algorithms are designed to obtain feasibility from infeasible solutions (SalcedoSanz, 2009). In Constraint (6) the values assigned to the suppliers may exceeds from their nominal annual capacities. In such cases, the values assigned to the suppliers are reduced regarding their capacities and the extra values are randomly assigned to other suppliers. This procedure is continued until all the extra orders take the value of zero.
After identifying Q and y_{i} values by leader, these values are given to the follower. Besides, using GAMS software, follower’s problem is solved. x_{ik} and yy_{ik} values obtained by follower are given to leader. Using Eq. (2), the values of c variables will also be obtained. Now, the leader’s objective function value is calculated for each particle. Initial velocity of each particle is randomly determined in the range of zero and one. The best position in each phase for each particle is obtained using p_{i}. p_{i} of each particle is equal to the initial position of each particle. After calculating the value of the objective function for all particles, the best position of p_{g} will be obtained by the best objective function. After making initial solutions, the quality of the solutions will be improved. The number of iterations is set for all the particles from 1 to a specified value. At each step of any iteration for all particles, the new values of solutions are obtained for all the particles using Eqs. (37) and (38). Moreover, these solutions are also improved using local search algorithms.
The performance of the metaheuristic methods is significantly depends on the parameters tuning. There are several methods that are available using design of experiments to calibrate the algorithms. One of the approaches is to consider all possible permutation of a parameter according to all permutation of the others. In this approach, the number of permutations increases if the number of parameters is increases and the process may be time consuming. Taguchi (1986) introduces a method to overcome this drawback by considering some the permutations instead of all of them. Taguchi method uses the signaltonoise (S/N) ratio and the analysis of variance (ANOVA) to study the performance according to Eq. (40). In this section 4 problems with 4, 8, 12, and 16 suppliers are designed to conduct the experiments and then they are solved using PSO algorithm. According to existence of 5 factors in 4 levels, there exists 16 Taguchi plan. According to 4 replications that are considered to be done for each problem there are 64 times to be solved for each problem. The process of the problem generation is illustrated in Table 1.
Figure 3 shows the S/N ratio for the proposed PSO algorithm. The parameter with higher value of S/N is the best. The values for PSO parameters are highlighted in Table 2.
Therefore, the best values of the parameters may be written as follows:
Swarm size = 100; W_{max} = 1 ; W_{min} = 0.1 ; c_{1} = 1.6, c_{2} = 1.6
W is obtained in each iteration using Eq. (39) and the obtained values are leveraged in Eq. (37).
4.3. The Proposed BiLevel Programming Model Solution Using DE
DE (Differential evolution) algorithm was introduced by Storn and Price. This algorithm is one of the populationbased evolutionary optimization techniques for continuous nonlinear functions and conducts stochastic global optimization (Storn and Price, 1995). Assuming that the standard DE algorithm population includes PS Ddimensional vectors, each ith individual of the population can be shown as a Ddimensional vector. At the start of the algorithm, PS target individuals are randomly generated. In the following, PS solution candidates will be created using mutation and crossover operators. Then selection operator is used to determine the new target individuals for the next generation. Basic DE algorithm procedure can be as follows:
Initialization: Specify the size of PS population, crossover parameter, CO∈ [0, 1], and scaling factor F∈ [0, 2]. Then randomly generate individuals in the first generation:
${x}_{i}^{0}=({x}_{i1}^{0},\hspace{0.17em}\mathrm{...},\hspace{0.17em}{x}_{iD}^{0})$
Mutation: In this study, the following strategy is used for applying mutation:
while, we have r_{1}, r_{2}, r_{3}, r_{4} ∈{1, ..., PS}. The four selected indices refer to four selected vectors from the population. They are manually different and also distinct from executive index i.
Crossover: create trail individual ${U}_{i}^{t}=\left({U}_{i1}^{t},\hspace{0.17em}{U}_{i2}^{t},\hspace{0.17em}\cdots ,\hspace{0.17em}{U}_{iD}^{t}\right)$ as follows:
While CO is a crossover parameter applied for controlling diversity of population. Rand ( ) indicates a uniform random number ranging from 0 and 1 and D_{rand} refers to a random integer index selected from{1, ..., PS} , to ensure that at least one dimension of ${U}_{i}^{t}$ is different from the ${X}_{i}^{t1}$ of it.
Selection: by comparing the fitness of individuals for minimization problems, the next population can be produced as follows:
While, fit(.) is the objective function. The pseudocode of the proposed bilevel method is shown in Algorithm 2 using DE. It is clear that the algorithm begins with initial data and proper initiation is carried out for parameters needed for DE. Then, the initial solutions are produced as much as the population size. How to produce solution vector is represented in Eq. (36) and how to produce original responses and the use of local search have been described in the previous section. After identifying variables Q and y_{i} values by the leader, the values are given to the follower. Using GAMS software, follower’s problem is solved. x_{ik} and yy_{ik} values obtained by the follower are given to the leader. Using Eq. (2), variables cvalues are also obtained.
Now, the value of objective function can be calculated for each individual. p_{best} indicates the best individual. After generating initial solutions, the quality of the solutions will be improved. The number of repetitions is set from 1 to a specified value for the entire population. Four individuals are randomly selected at each stage of any iteration. Then, using Eqs. (41) and (42), Mutation and Crossover values are obtained to produce a new individual. Then, using Eq. (43), the new individual is created. Moreover, any new individual is improved using local search algorithms.
According to existence of 3 factors in 3 levels, there exists 9 Taguchi plan for the DE algorithm. According to 4 replications that are considered to be done for each problem there are 36 times to be solved for each problem. The process of the problem production is illustrated in Table 1. Figure 4 shows the S/N ratio for the proposed DE algorithm. The parameter with higher value of S/N is the best. The values for DE parameters are highlighted in Table 3.
5. SOLUTION RESULTS AND SENSITIVITY ANALYSIS
In this section the solution approaches are adopted to the problem introduced by Kamali et al. (2011). The DE and the PSO coding is done using MATLAB 2010 software version 7.10.0 and under the operating system Windows 7 (Intel Corei5 CPU 2.83 GHz, 4 GB RAM). for the leader problem and it is delivered to the GAMS (BARON solver) to solve the follower problem. The same approach is also done using KKT approach.
5.1. Numerical Example
In this section a numerical example is defined to show the validity and the applicability of the proposed model and its solution. Assume that a supply chain network contains of suppliers and a buyer with 4 suppliers. A buyer wants to know what supplier is selected and what the amount of the order is. The annual demand of the buyer is 100000 units. The suppliers deliver the products according to the discount intervals shown in Table 4. The annual holding cost is 2.6 per unit and the other data of the problem are illustrated in Table 5.
The results are illustrated in Table 6. In this table the value of the two objective functions and the amount of the orders for each supplier are clearly illustrated. As it is reveal from the table, the solution results for all three solution approaches are the same.
5.2. Sensitivity Analysis
In this section the sensitivity analysis is done. To do this, a parameter is changed in the range of 10%~80% and the other ones are considered to be fixed. The results are shown in Table 7. According to the results, changing the value of the leader objective function can be classified in 3 classes: Slightly sensitive (0%30%), Sensitive (30% 60%), and Very sensitive (60%100%). The Table 7 reveals that the value of the objective function is very sensitive to the demand changes and the capacity of the vehicles. It is sensitive to the discount intervals and also it is slightly sensitive to the other parameters.
6. EVALUATING THE PERFORMANCE AND COMPARING THE PROPOSED ALGORITHMS
In order to evaluate the performance of PSO and DE proposed algorithms, 18 problems including 320 suppliers are randomly produced and solved with each of the mentioned algorithms. The process of the problem generation is shown in Table 1. The resulting value of the objective function and the run times of the algorithms PSO and DE, and the gap exists between these algorithms are shown in Table 8. As one can see in the results, the DE is slower than PSO, while the quality of the solutions obtained from the DE are better than what is obtained by PSO.
In order to evaluate the homogeneity of algorithms, variance analysis test is implemented for the solutions of the two algorithms which are shown in Table 8 at 95% confidence. For problems that have more than six suppliers, KKT results are not possible due to the long time which is needed. The results of analysis of variance are shown in Table 9. According to the results, there is no statistically significant difference in quality of solutions between the two algorithms.
7. CONCLUSIONS
This study investigated a bilevel model to select suppliers for a SC with a hierarchical structure when the buyer plays the leader’s role and the supplier plays the follower’s role. It is assumed that the buyer plays a leader’s role in a bilevel programming model structure and the other actor, as a follower, carries out the necessary reactions after the decisions were taken by the leader. KKT conditions were used for solving the proposed bilevel programming model for small problems. Given that the NBLP problems are included as NPhard problems, PSO and DE algorithms were developed to solve nonlinear bilevel programming problem (NBLP). And several numerical examples were solved through both the algorithms and the quality of the solutions was compared. The insights gained from the numerical examples may be summarized as follows: The algorithm developed in this paper (a) supports the selection of suppliers and (b) determines production and delivery policies that minimize total system costs. The results of solutions reflect that these two proposed solution algorithms are not significantly different with each other. The proposed model is practically applicable in the cases that the power of buyer is greater than the other. The paper employs both the exact and metaheuristic to solve a bilevel pricing and lotsizing model proposed in this paper. By analyzing the results, some managerial insights which abide by market rule are derived. In other words, more like real life situations, the buyer firstly makes its decision on the order quantity. Then suppliers also make their decisions not only on the quantity they supply, but also the sell price. This may clearly optimize the objective of the buyer and the suppliers, simultaneously. Accordingly, the buyer and the suppliers find their interests in the results obtained by the model. In this way, the model may construct the longtime relationship between the buyer and the suppliers. Moreover, the proposed model provides the number of periods taking into consideration the order quantity and the total demand under the real coordination exists between the two basic parts of the SC. In other words, there are two levels of decision makers, with different authority, controlling the ordering and sale processes, respectively, that do not cooperate because of their different optimization strategies. In this way, the model successfully considers the quantity discount to obtain more realistic formulation according to the authority of the leader to make order.
For further researches in this area, we can examine the impact of demand with uncertainty. We can also investigate the problem through multiobjectively approach. Another area is to study the models as a severalproduct structure and raising alternative products as well. Moreover, the suppliers have been considered in the form of a single company in this study, while they can be independent and also be in competition with each other. It also can be investigated by other metaheuristic algorithms such as GA and ICA.