Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1598-7248 (Print)
ISSN : 2234-6473 (Online)
Industrial Engineering & Management Systems Vol.17 No.2 pp.267-280

A Bi-level Programming Model to Solve Supplier Selection and Lot-Sizing Problem Addressing Quantity Discounts and Transportation Cost

Fayegh Zaheri, Mostafa Zandieh*, Mohammad Taghi Taghavifard, Esmaeil Najafi
Department of Industrial Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran
Department of Industrial Management, Faculty of Management and Accounting, Shahid Beheshti University, Tehran, Iran
College of Management and Accounting, Allameh Tabataba’i University, Tehran, Iran
Department of Industrial Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran
Corresponding Author, E-mail:
May 20, 2017 October 15, 2017 February 26, 2018


The aim of this study is to formulate a supply chain with a buyer and multiple suppliers using bi-level programming approach. The main objective of the model is to select suppliers in order to optimally configure the supply chain network. The buyer plays the role of leader and the suppliers play the role of followers. While the resulting model is more realistic, it is hard to solve. So, the solution approach, introduced in this paper, is successfully adopted and compared with solutions provided by KKT, PSO and DE. Finally, performance of the presented model and solution algorithms are measured by numerical examples and illustrated at the end of the paper.



    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). Cost-saving 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 non-cooperative 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 decision-makers (DMs) (Myerson, 1991). A leader-follower game is firstly introduced by Von Stackelberg (1934) and can be formulated using bi-level 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 multi-agent 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 bi-level programming approach. Accordingly, the problem is a hierarchical decision-making which cannot be modeled through conventional multi-objective decision making methods. But the NP-Hard 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 meta-heuristic methods, i.e. Particle Swarm Optimization (PSO) and Differential Evolution (DE) are used. In addition, the Kurush-Kuhn-Tucker (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 3rd section, the problem is expressed and the bi-level mathematical modeling is discussed. In the 4th section, solutions methods are presented and in the 5th 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.


    Using bi level programming in the modeling and applying the meta-heuristic 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 high-technology 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 multi-product 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 meta-heuristic DE/PSO algorithm to solve a bi level programming problem and its application to pricing and lot-sizing 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 meta-heuristic 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 pseudo-polynomial complexity. Ayhan and Kilic (2015) investigated supplier selection in a multi- item/multi-supplier 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 (F-AHP) 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 single-item multi-period dynamic lot sizing problem with supplier selection with incremental and allunit quantity discounts. To solve this problem, they devised a heuristic algorithm based on Fordyce-Webster. 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 mixed-integer nonlinear programming problem (MINLP). They also used an outer-approximation 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 non-cooperative game based on the Stackelberg equilibrium in order to solve the mentioned problem of decision-making.

    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 bi-level 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 bi-level optimization approach. Since the leader and follower’s objective functions are both nonlinear, the decision-making model to determine the buyer’s order and selecting a set of suppliers with supply quantity of each of them will be a non-linear bi level programming (NBLP) problem. Considering the NP-hard nature of these problems when their dimensions grow larger, meta-heuristic solutions are better to be used. In this study, Due to the complexity of the problem two well-known meta-heuristic 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.


    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:


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

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


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

    • lik : Lower limit of quantity discount k, proposed from supplier i

    • bik : The upper limit of quantity discount k, proposed from supplier i

    • cik : Discount unit price in the discount range k related to supplier i

    • Ki : The index of the last quantity discount related to supplier i

    • D : The Buyer’s annual demand rate

    • ξ : Represents a small positive number

    • Ai : The cost of per order from supplier i

    • Si : Production preparation cost related to supplier i

    • Pi : Annual production rate to supplier i

    • ui : Variable cost per unit product from supplier i

    • hb : The buyer’s inventory holding cost per item per unit time

    • hi : The supplier’s i inventory holding cost per item per unit time

    • fi : Fixed cost of selecting supplier i by buyer

    • oi : A fixed transportation cost charged for each visit to a supplier i

    • ψ : Truck capacity to transport the cargo purchased from supplier

    The decision variables:

    • xik : The quantity purchased from supplier i in each period in discount quantity k

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

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

    • yi : Binary variable; if the supplier i has been chosen by the buyer, the value yi =1; otherwise yi = 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 bi-level programming model of selecting suppliers by buyers as Eqs. (1) - (13):

    min Q , y z L ( Q , y i ) = D Q i = 1 n k = 1 m ( i ) ( c i k x i k + A i y i ) + h b 2 Q i = 1 n [ ( k = 1 m ( i ) x i k ) 2 ] + D Q i = 1 n o i φ i + i = 1 n f i y i

    k = 1 m ( i ) x i k ψ φ i i = 1 , ... , n

    k = 1 m ( i ) y y i k y i i = 1 , ... , n

    y i { 0 , 1 } i = 1 , ... , n

    φ i 0 i = 1 , ... , n

    Q ξ

    min x , y y z F ( x i k , y y i k ) = D Q i = 1 n k = 1 m ( i ) ( u i x i k + S i y y i k ) + D 2 Q i = 1 n [ h i P i ( k = 1 m ( i ) x i k ) 2 ]

    i = 1 n k = 1 m ( i ) x i k = Q

    k = 1 m ( i ) x i k P i D Q i = 1 , ... , n

    b i k 1 y y i k x i k b i k y y i k i = 1 , ... , n , k = 1 , ... , m ( i )

    k = 1 m ( i ) y y i k 1 i = 1 , ... , n

    y y i k { 0 , 1 } i = 1 , ... , n , k = 1 , ... , m ( i )

    x i k 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    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.


    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 bi-level programming may transform it into a single level programming problem. Since the proposed mmodel is mix integer and objective functions are complex and non-linear at both levels, the meta-heuristic 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 meth-heuristic 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 sub-problem 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 meta-heuristic 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 bi-level problem with continuous variables to a single-level problem using KKT conditions. Therefore, transforming the binary variables (yyik) 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 yyik variables for suppliers. But, applying complete enumeration to check all the solution points is a time-consuming 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 single-level model from Karush-Kuhn-Tucker (KKT) conditions can be presented as Eqs. (14) to (35). Finally, the resulting single-level 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)

    min Q , y z L ( Q , y i ) = D Q i = 1 n k = 1 m ( i ) ( c i k x i k + A i y i ) + h b 2 Q i = 1 n [ ( k = 1 m ( i ) x i k ) 2 ] + D Q i = 1 n o i φ i + i = 1 n f i y i

    k = 1 m ( i ) x i k ψ φ i i = 1 , ... , n

    y i { 0 , 1 } i = 1 , ... , n

    φ i 0 i = 1 , ... , n

    Q ξ

    D ( u i + h i x i k / P i ) / Q + λ 1 λ 2 + λ 3 i + λ 4 j k λ 5 i k λ 6 i k = 0 " i = 1 , ... , n , " k = 1 , ... , m ( i )

    λ 1 ( i = 1 n k = 1 m ( i ) x i k Q ) = 0

    λ 2 ( i = 1 n k = 1 m ( i ) x i k + Q ) = 0

    λ 3 i ( k = 1 m ( i ) x i k P i D Q ) = 0 i = 1 , ... , n

    λ 4 i k ( x i k b i k ) = 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    λ 5 i k ( x i k + b i k 1 ) = 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    λ 6 i k x i k = 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    i = 1 n k = 1 m ( i ) x i k = Q

    k = 1 m ( i ) x i k P i D Q i = 1 , ... , n

    b i k 1 x i k b i k i = 1 , ... , n , k = 1 , ... , m ( i )

    x i k 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    λ 1 0

    λ 2 0

    λ 3 i 0 i = 1 , ... , n

    λ 4 i k 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    λ 5 i k 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    λ 6 i k 0 i = 1 , ... , n , k = 1 , ... , m ( i )

    4.2. Solving the Suggested Bi-Level Programming Model Using PSO

    Not only for PSO algorithm but also to implement DE algorithm on the first level of bi-level programming model, the initial solutions for variables Q and yi are generated according to the suppliers’ suggested ranges and these values are given to the second level. By using GAMS software, xik and yyik variables values are obtained and given to leader at the second level. Considering the value obtained for the xik 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 meta-heuristic 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:

    X = [ x 11 , ... , x 1 K 1 X 1 , ... , x n 1 , ... , x n K m ( i ) X n ]

    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:

    V i t + 1 = W V i t + c 1 r 1 ( p i t - x i t ) + c 2 r 2 ( p g t - x i t )

    x i t + 1 = x i t + V i t + 1

    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 ith particle in tth 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. c1 and c2 are particles accelerator constants to positions pi and pg. r1 and r2 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).

    W = W min + ( W max W min ) . ( i t e r max i t e r i t e r max )

    In Eq. (39), Wmax is the initial value and Wmin is the final value of weight inertia. itermax is the maximum iteration and iter is the current amount of iteration. The pseudo-code of the proposed bi-level method is shown in Algorithm 1 using PSO. It can be observed that, the algorithm starts with initial data as an instance of a bi-level 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 (Salcedo-Sanz, 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 yi values by leader, these values are given to the follower. Besides, using GAMS software, follower’s problem is solved. xik and yyik 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 pi. pi 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 pg 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 meta-heuristic 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 signal-tonoise (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.

    S / N r a t i o = 10 log 10 ( o b j e c t i v e f u n c t i o n ) 2

    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; Wmax = 1 ; Wmin = 0.1 ; c1 = 1.6, c2 = 1.6

    W is obtained in each iteration using Eq. (39) and the obtained values are leveraged in Eq. (37).

    4.3. The Proposed Bi-Level 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 D-dimensional vectors, each i-th individual of the population can be shown as a D-dimensional 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 i 1 0 , ... , x i D 0 )

    Mutation: In this study, the following strategy is used for applying mutation:

    v i k t = x r 1 k t 1 + F × ( x b e s t k t 1 x r 2 k t 1 ) + F × ( x r 3 k t 1 x r 4 k t 1 ) i = 1 , ... , P S k = 1 , ... , D

    while, we have r1, r2, r3, r4 ∈{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 = ( U i 1 t , U i 2 t , , U i D t ) as follows:

    U i t = { v i k t i f r a n d ( ) < C O o r k = D r a n d x i k t 1 o t h e r w i s e i = 1 , ... , S P k = 1 , ... , D

    While CO is a crossover parameter applied for controlling diversity of population. Rand ( ) indicates a uniform random number ranging from 0 and 1 and Drand 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 t 1 of it.

    Selection: by comparing the fitness of individuals for minimization problems, the next population can be produced as follows:

    x i t = { U i t i f f i t ( U i t ) < f i t ( x i t 1 ) x i t 1 o t h e r w i s e

    While, fit(.) is the objective function. The pseudocode of the proposed bi-level 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 yi values by the leader, the values are given to the follower. Using GAMS software, follower’s problem is solved. xik and yyik 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. pbest 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.


    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.


    In order to evaluate the performance of PSO and DE proposed algorithms, 18 problems including 3-20 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.


    This study investigated a bi-level 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 bi-level 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 NP-hard problems, PSO and DE algorithms were developed to solve nonlinear bi-level 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 meta-heuristic to solve a bi-level 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 multi-objectively approach. Another area is to study the models as a several-product 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 meta-heuristic algorithms such as GA and ICA.



    All the steps of proposed solution process.


    The Nested Repairing approach to deal with meta-heuristic methods.


    S/N ratio for the PSO using Taguchi method.


    S/N ratio for the DE using Taguchi method.


    The data of the examples

    PSO parameters

    DE parameters

    The interval data of the problem

    The suppliers Information

    The results of the example

    Sensitivity analysis

    Computational results of the proposed algorithms

    Meta-heuristic ANOVA results


    1. J.S. Angelo , H.J. Barbosa (2015) A study on the use of heuristics to solve a bilevel programming problem., Int. Trans. Oper. Res., Vol.22 (5) ; pp.861-882
    2. M.B. Ayhan , H.S. Kilic (2015) A two stage approach for supplier selection problem in multi-item /multi-supplier environment with quantity discounts., Comput. Ind. Eng., Vol.85 ; pp.1-12
    3. C.A.C. Coello (2002) Theoretical and numerical constraint- handling techniques used with evolutionary algorithms: A survey of the state of the art., Comput. Methods Appl. Mech. Eng., Vol.191 (11) ; pp.1245-1287
    4. R.C. Eberhart , J. Kennedy (1995) A new optimizer using particle swarm theory, Proceedings of the Sixth International Symposium on Micro Machine and Human Science, ; pp.39-43
    5. Y. Gao , G. Zhang , J. Lu , H.M. Wee (2011) Particle swarm optimization for bi-level pricing problems in supply chains., J. Glob. Optim., Vol.51 (2) ; pp.245-254
    6. H. GolpA(r)ra (2017) Supply chain network design optimization with risk-averse retailer., Int. J. Inf. Syst. Supply Chain Manage., Vol.10 (1) ; pp.16-28a[IJISSCM].
    7. H. GolpA(r)ra (2017) Robust bi-level optimization for an opportunistic supply chain network design problem in an uncertain and risky environment., Operations Research and Decisions, Vol.27 (1) ; pp.21-41b
    8. H. GolpA(r)ra , E. Najafi , M. Zandieh , S. Sadi-Nezhad (2017) Robust bi-level optimization for green opportunistic supply chain network design problem against uncertainty and environmental risk., Comput. Ind. Eng., Vol.107 ; pp.301-312
    9. A. Kamali , S.M.T. Ghomi , F. Jolai (2011) A multi- objective quantity discount and joint optimization model for coordination of a single-buyer multi-vendor supply chain., Comput. Math. Appl., Vol.62 (8) ; pp.3251-3269
    10. A.H. Lee , H.Y. Kang , C.M. Lai , W.Y. Hong (2013) An integrated model for lot sizing with supplier selection and quantity discounts., Appl. Math. Model., Vol.37 (7) ; pp.4733-4746
    11. W. Ma , M. Wang , X. Zhu (2015) Hybrid particle swarm optimization and differential evolution algorithm for bi-level programming problem and its application to pricing and lot-sizing decisions., J. Intell. Manuf., Vol.26 (3) ; pp.471-483
    12. R. Mansini , M.W.P. Savelsbergh , B. Tocchella (2012) The supplier selection problem with quantity discounts and truckload shipping., Omega, Vol.40 (4) ; pp.445-455
    13. M.M. Mazdeh , M. Emadikhiav , I. Parsa (2015) A heuristic to solve the dynamic lot sizing problem with supplier selection and quantity discounts., Comput. Ind. Eng., Vol.85 ; pp.33-43
    14. A. Mendoza , J.A. Ventura (2010) A serial inventory system with supplier selection and order quantity allocation., Eur. J. Oper. Res., Vol.207 (3) ; pp.1304-1315
    15. R.B. Myerson (1991) Game Theory: Analysis of Conflict., Harvard University Press,
    16. K. Pal , B. Karakostas (2014) A multi agent-based service framework for supply chain management., Procedia Comput. Sci., Vol.32 ; pp.53-60
    17. A.N. Sadigh , M. Mozafari , B. Karimi (2012) Manufacturer-retailer supply chain coordination: A bi-level programming approach., Adv. Eng. Softw., Vol.45 (1) ; pp.144-152
    18. S. Salcedo-Sanz (2009) A survey of repair methods used as constraint handling techniques in evolutionary algorithms., Comput. Sci. Rev., Vol.3 (3) ; pp.175-192
    19. R. Storn , K. Price (1995) Differential evolution: A simple and efficient adaptive scheme for global optimization over continuous spaces., ICSI, Vol.Vol. 3
    20. G. Taguchi (1986) Introduction to Quality Engineering: Designing Quality into Products and Process., Kraus International Publications,
    21. T. Tan , O. Alp (2016) Optimal sourcing from alternative capacitated suppliers with general cost structures., Omega, Vol.58 ; pp.26-32
    22. H. Von Stackelberg (1934) Marktform und Gleichgewicht., Springer-Verlag,
    23. H.M. Wee , M.C. Lee , P.C. Yang , R.L. Chung (2013) Bi-level vendor-buyer strategies for a timevarying product price., Appl. Math. Comput., Vol.219 (18) ; pp.9670-9680
    24. W. Xia , Z. Wu (2007) Supplier selection with multiple criteria in volume discount environments., Omega, Vol.35 (5) ; pp.494-504
    25. S. Yin , T. Nishi (2014) A solution procedure for mixed-integer nonlinear programming formulation of supply chain planning with quantity discounts under demand uncertainty., Int. J. Syst. Sci., Vol.45 (11) ; pp.2354-2365
    26. S. Yin , T. Nishi , I.E. Grossmann (2015) Optimal quantity discount coordination for supply chain optimization with one manufacturer and multiple suppliers under demand uncertainty., Int. J. Adv. Manuf. Technol., Vol.76 (5-8) ; pp.1173-1184
    27. Y. Yu , Z. Hong , L.L. Zhang , L. Liang , C. Chu (2013) Optimal selection of retailers for a manufacturing vendor in a vendor managed inventory system., Eur. J. Oper. Res., Vol.225 (2) ; pp.273-284
    28. S. Zhao , Z. Li (2015) Integrated distributiontransportation planning for the raw material supply chain management, Proceedings of the Ninth InternationalConference on Management Science and Engineering Management, ; pp.255-265
    Do not open for a day Close