A Genetic Algorithm for Solving a Class of Multi-objective Bilevel Programming Problems Shanfeng Zhang, Keqiang Li Department of Computer, ****** University, Guangzhou, 810008, China Abstract At present, most of the researches on bilevel programming problems are focused on single objective cases. This paper discusses a bilevel programming problem with upper level multi-objective optimization. In order to solve the problem efficiently, we present a genetic algorithm using interpolation. This method does not require solving lower optimization problem frequently. In the proposed algorithm, firstly, the interpolation functions are adopted to approximate lower level solution functions. As a result, the original problem can be approximated by a single-level multi-objective programming. In addition, the corresponding interpolation functions are updated such that these functions can approximate the lower level solution function very well. Finally, the multi-objective programming is solved for obtaining an optimal solution set of the original problem. The simulation on two examples indicates the proposed algorithm is effective and feasible. Keywords:multi-objective bilevel programming, genetic algorithm, interpolation. 1. Introduction Bilevel programming problem (BLPP) is a hierarchical optimization problem, which includes an upper levels decision maker and a lower levels decision maker. Both of them have the objective functions and constraint conditions. This problem was proposed by Stackelberg[1], and known as Stackelberg problem. The mathematical model of this kind of problems can be written as follows: min x X s.t. min yY s.t. F ( x, y ) G ( x, y ) 0 f ( x, y ) (1) g ( x, y ) 0 Where x R p , y R q are decision variables, F, f are objective functions and G, g are constraint functions; x X , y Y are the others constraint, such as upper and lower bounds or integer constraints. Bilevel programming problems occur in various applications, such as economics and management[2], engineering[3], transportation and others. Most of these models are bilevel single objective problems. In fact, there are lots of real-world problems that can be modeled as multi-objective bilevel programming problems [4]. In a multi-objective bilevel problem at least one decision maker has more than one objective function, and these objectives conflict with each other. In recent years, multi-objective bilevel programming problems have been discussed, and some efficient methods have been reported. Aryanezhad and Roghanian proposed a method for bilevel linear multi-objective decision making model with interval coefficients[4]. In this method the tolerance membership function is applied. Feng and Wen used a fuzzy approach to solve bilevel multi-objective model[5]. In this paper, based on the existing approach and interpolation techniques[6], we propose a genetic algorithm to solve bilevel programming problems with upper level multi-objective optimization. First, some sample points of the interpolation functions are gotten by solving the lower level problems for some given upper level values, and the interpolation functions are calculated by using these interpolation points. Then, these interpolation functions are substituted into the upper level problem. As a result, the original multi-objective bilevel programming can be approximated by a single-level program. Finally, we solve this single-level problem by using NSGA-II[7] to obtain the optimal solution set of the original problem. The paper is organized as follows. In the next section, we propose the model that we research in this paper, and some definitions and assumptions are given. In Section 3, the lower level solution based on interpolation functions is presented. Section 4 presents the genetic algorithm steps based on NSGA II. In Section 5, the computational simulation is made to illustrate the efficiency of the algorithm. Finally, we conclude our paper in section 6. 2. Discussed problems The discussed model is given as follow: min ( F1 ( x, y ), F2 ( x, y ),, Fm ( x, y )) x X s.t. G ( x, y ) 0 min f ( x, y ) yY s.t. g ( x, y ) 0 X {( x1 , x 2 ,, x p )T R p | l i xi u i , i 1,2,, p} Y { y1 , y 2 ,, y q )T R q | l i y i u i , i 1,2,, q} Some basic concepts associated with the problem are presented as follows Search space: {( x, y ) | x X , y Y } ; Constraint region: S {( x, y ) | G ( x, y ) 0, g ( x, y ) 0} ; (2) Projection of S onto the leader’s decision space: S ( X ) {x X | y, s.t.( x, y ) S} ; Feasible set for the follower for each fixed x S ( X ) : M ( x) { y Y | y arg min{ f ( x, y ), y S}} ; Inducible region: IR {( x, y ) S | y M ( x)} ; Definition 1 For any two points ( x1, y1 ), ( x2 , y2 ) IR , if the following conditions are satisfied: i) For any i {1,2,, m} , we have Fi ( x1 , y1 ) Fi ( x2 , x2 ) ; ii)There exists a j {1,2,, m} such that F j ( x1 , y1 ) F j ( x2 , x2 ) ; Then, we called ( x1 , y1 ) dominates ( x2 , y2 ) . Definition 2 For point ( x, y ) , if any solution in IR does not dominates ( x, y ) , then ( x, y ) is a Pareto-optimal solution. Two assumptions are given as follows: i) S is Non-empty and compact. ii) For each variable value x X , y (x) is unique. 3. The lower solution based on interpolation 3.1 Interpolation function For each feasible point ( x, y ) , it is necessary to solve lower one level problem. For large-scale problems the amount of calculation increased significantly. For each x , the lower level optimal solution y (x) is unique. The problem can be transformed into a multi-objective single-level optimization problem : min ( F1 ( x, y ( x)), F2 ( x, y ( x)), , Fm ( x, y ( x))) xX (3) s.t. G ( x, y ( x)) 0 1 2 q T i Where, y( x) ( y ( x), y ( x),, y ( x)) , y can be seen as a function of upper variables. However, it is difficult to obtain y i y i (x) .We use interpolation function (x) to approximate the optimal solution function. Hence, (3) can be transformed into (4) min x X s.t. ( F1 ( x, ( x)), F2 ( x, ( x)), , Fm ( x, ( x))) G ( x, ( x)) 0 (4) Given N1 points xi ( xi , xi ,, xi ) , i 1,2,, N1 , these points are fixed in 1 2 p the lower level functions, and the lower level problems are solved to obtain the lower level optimal solution via a genetic algorithm. As a result, N1 interpolation nodes are obtained as follows ( xi , yi ) ( xi1 , xi2 ,, xip , yi1 , yi2 ,, yiq ) , i 1,2,, N1 Then, we use a cubic spline interpolation function in the MATLAB toolbox to get an approximate function that is y (x ) .In the proposed algorithm, we update the interpolation nodes and interpolation functions. This process makes the interpolation function approximation get better and better. 3.2 Fast non-dominated sorting. These individuals in the population are sorted based on non-domination, the fast non-dominated sorting algorithm is adopted as follows [7]: i) For each individual i , there are two parameters( ni and Si )have been defined. ni represents the number of individuals that dominate i in the population, Si represents the set of individuals that are dominated by i . ii) We find out all individuals which ni 0 ,and add them to the set F1 which stores the individual rank is one, i.e. irank 1 . iii) We consider each individual j in F1 , check the set S j which stores the whereas individuals dominated by individual j .For each individual k in S j ,if nk 1 0 , they will be stored in another collection F2 .Set rank of individual k to second iv) This process is repeated until all individuals get their rank values. 3.3 Define the crowding distance. In the population, the density of the surrounding individuals of i , is expressed by id ,which is the smallest range that contains i but doesn’t contain other points around the individual i .The specific calculation process is presented as follow[7]: i) For each front Fi , l is the number of individual i.e. | Fi | l . ii) For every individual i , set the initial crowding distance id 0 . iii) Set 1d ld . For each individual i , P[i ].k denotes the value of the kth objective function. iv) Let i cycle from 2 to l 1 , and calculating the follow expression to define the crowding distance for each individual m ( P[i 1]. f k P[i 1]. f k ) id id max min f k f k k 1 . 4. Genetic algorithm Genetic algorithm is widely used in the multi-objective optimization problems with global search capability and robustness[7]. In order to solve the problem (3), we encode the upper variable values using real coding scheme, and give a fitness function based on non-dominated solutions sorting method and crowding distance, it can distinguish different individuals effectively. Our algorithm is developed: Step1: (Interpolation function) Get N1 individuals xi in X randomly. By using genetic algorithms, we obtained the corresponding lower level optimal solution yi and get the interpolation function (x) , which ( xi , yi ) are nodes. Step2: (Initial population)Take N points randomly, and substitute these points to interpolation function (x) to obtain the initial population with a population size N Step3: Arithmetic crossover operator.[8] Step4: Non-uniform mutation operator.[8] Step5: (Select)Set O pop(k ) O1 O2 , execute the fast non-dominated sorting, determine their ordinal values, and calculate the crowding distance of the individuals with the same ordinal value. Define the relationship :For two j , if irank jrank or irank jrank , id jd we call i j . Choose N individuals from O as pop ( k 1) . Step6: (Update interpolation function) The individuals with irank 1 are selected from O , and we suppose there are m points. For these m points, the lower level problems are solved, and other m nodes are gotten. These points are different individuals i and used to update the interpolation function. In order to reduce the amount of computation of obtaining the lower level solutions, we design a multi-criteria evolutionary scheme. Firstly, for each point x , generate t points according to Gaussian distribution. Hence, we get a population with population size t m . m fitness functions are obtained by m upper level variable values in the evaluation and selection process, which makes m runs of genetic algorithm are finished in one execution. Step7: (Termination condition) If the algorithm reach the maximum generation T , then stops, and output the best non-dominated individuals; otherwise let k k 1 , turn to Step3. 5. Computational examples and analysis In order to illustrate the feasibility and effectiveness of the algorithm, we construct two examples according to examples in literature [9, 10]. We solve them by two different approaches. The first is the approach proposed in this paper, and the second approach is the same as the first one except using the MATLAB toolbox function to solve the lower level problem. The parameters are set as follows: the population size is 100, the maximum generation is 50, and the crossover and mutation probability is 0.8 and 0.1. Example 1: Example 2: min (( x1 2 x2 ), (3 x1 x2 )) min (2 x1 3 y1 y2 , x2 y1 3 y2 ) s.t. s.t. x1 x2 3 0 x1 10,0 x2 5 min (3 y1 4 y2 ) min 4 y1 7 y2 s.t. x1 y1 y2 6 y1 y2 x1 3 s.t. x1 x2 y2 8 y1 y2 x2 4 x2 y1 3 0 y1 15,0 y2 20 x1 , x2 , y1 , y2 0 The pareto frontier of the two examples are shown as follows: Fig.1: Pareto front of example 1 Fig.2: Pareto front of example 2 No. 1 2 3 4 5 Table 1: Cpu time of the two approaches for each problem Approach1 Approach2 Approach1 Approach2 for problem1 for problem1 for problem2 for problem2 10.3594 64.4531 11.0781 64.0937 10.1719 65.6406 11.5625 59.8445 10.3438 63.3750 11.7188 61.9219 11.2188 66.0469 11.3281 58.6250 103594 65.2656 11.3125 59.4063 As can be seen from Fig.1,Fig.2 and Table 1, The optimal results are very close. But the Cpu time of Approach 1 is far less than that of Approach 2. It can be seen that the proposed algorithm is feasible and effient. 6. Conclusions In the proposed algorithm, the multi-objective bilevel programming problem is transformed into a single-level problem by using interpolation functions of the lower level solutions. The process avoids solving the lower level problems frequently, and reduces the computational cost. The major advantage of this algorithm is that it can solve some complex issues, in which the lower level problems are non-convex and non-differentiable. Hence, it can be used to deal with hard multi-objective bilevel programming problems. Acknowledgements The research work was supported by National Natural Science Foundation of China under Grant No. 61065009 and Natural Science Foundation of Qinghai Provincial under Grant No. 2011-z-756. References [1] Stackelberg H. The Theory of the Market Economy. Oxford: Oxford University Press, 1952. [2] Miller,T., Friesz,T. & Robin,R., Heuristic algorithms for delivered pric spatially competitive network facility location problem. Ann. Oper. Res., 34,pp.177-202,1992. [3] Pieume, C.O, Fotso L.P. & P. Siarry. A method for solving bilevel linear progremming problem. Journal of Information and Optimization Science, 29(2), pp. 335-358,2008. [4] Aryanezhad,M.B. & Roghanian, E.A., Bilevel linear multi-objective decision making model with interval coefficents for suppy chain coordination.Iust Internation Journal of Engineering Science, 19(1-2), pp.67-74,2008,. [5] Cheng-Min Feng & Chieh-chao Wen, A fuzzy bi-level and multi-objective model to control traffic flow into the disaster area post earthquake. Journal of the Eastern Asia Society for Transportation Studies,6,pp.4253-4268,2005. [6] Li He-Cheng, Wang Yu-Ping, An interpolation based genetic algorithm for sloving nonlinear bilevel programming problems.Chinese Journal of Computers, 31(6), pp.910-918, June 2008. [7] Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal & Meyarivan, T.A., Fast and elitist multi-objective genetic algorithm: NSGA-II, IEEE Trans. Evol. Comp., 6(2), pp.182 – 197,2002. [8] Wang Yu-Ping, The Theory and Method of Evolutionary Computation, Beijing: Science Press,2011. [9] Farahi, M. H. & Ansari, E. A new approach to solve muti-objective linear bilevel programming problems. Journal of Mathematics and Computer Science, 1(4), pp.313-320,2010. [10]Eman,O.E., Interactivebi-level multi-objective integer non-linear programming problem. Applied Mathematical Sciences,5(65),32213232,2011.