[Click here are type Paper Title]

advertisement
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
 yY
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 )
 yY
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)))

xX
(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.
Download