Pergamon
Computers Math. Applic. Vol. 36, No. 7, pp. 79-89, 1998
© 1998 Elsevier Science Ltd. All rights reserved
Printed in Great Britain
0898-1221/98 $19.00 + 0.00
PII: S0898-1221(98)00174-6
Stackelberg-Nash Equilibrium for
Multilevel Programming with Multiple
Followers Using Genetic Algorithms
BAODING LIU
Department of Applied Mathematics
Tsinghua University, Beijing 100084, China
liuCmidwest, com. cn
(Received and accepted February 1998)
Abstract--Multilevel programming offersa means of studying decentralized noncooperative decision systems. Unfortunately, multilevel programming is lacking efficientalgorithms due to its computational difficultiessuch as nonconvexity and NP-hardness. This paper will design a genetic algorithm
for solving Stackelberg-Nash equilibrium of nonlinear multilevel programming with multiple followers
in which there might be information exchange among the followers. As a byproduct, we obtain a
means for solving classical minimax problems. Finally, some numerical examples are provided to
illustratethe effectivenessof the proposed genetic algorithm. (~) 1998 Elsevier Science Ltd. All rights
reserved.
Keywords--Mathematical programming, Multilevelprogramming, Genetic algorithm.
1. I N T R O D U C T I O N
Now we consider a decentralized noncooperative decision system in which one leader and several
followers of equal status are involved. We assume that the leader and followers may have their
own decision variables and objective functions, and the leader can only influence (rather than
dictate) the reactions of followers through his own decision variables, while the followers have
full authority to decide how to optimize their objective functions in view of the decisions of the
leader and other followers. A powerful tool dealing with decentralized decision systems is the
so-called multilevel programming.
The formulations of multilevel programming may vary considerably from one paper to another.
Wen and Hsu [1] and Ben-Ayed [2] reviewed the models and algorithms as well as applications of
linear bilevel programming. Cassidy et al. [3] presented a bilevel programming model for a central
government distributing resources to its subdivisions. Bracken and McGill [4] formulated bilevel
models for strategic-force planning and general-purpose-force planning. Anandalingam and Apprey [5] discussed an application to a water conflict problem between India and Bangladesh.
Fortuny-Amat and McCarl [6] applied bilevel programming for a fertilizer dealer to decide the
base price of fertilizer in order to maximize his profit. Liu and Esogbue [7] constructed a bilevel
fuzzy programming for fuzzy criterion clustering.
A lot of numerical algorithms to multilevel programming have been developed by several
authors. Candler and Townsley [8] presented an implicit enumeration scheme. Bialas and
Karwan [9] designed the kth best algorithm and a parametric complementary pivot algorithm.
Typeset by ~4A4S-TEX
79
80
B. LIu
Bard [10,11] gave various necessary and sufficient conditions of optimal solution and proposed a
one-dimensional grid search algorithm. A branch and bound algorithm was presented by Bard
and Moore [12] based on Kuhn-Tucker conditions. Savard and Gauvin [13] gave the steepest descent direction for nonlinear bilevel programming problems. And Liu and Esogbue [7] provided
a genetic algorithm for a special nonlinear bilevel programming.
Ben-Ayed and Blair [14] showed that multilevel programming is an NP-hard problem via the
well-known Knapsack Problem. Thus, in order to obtain the global optimal solution of general
multilevel programming models, we should design some heuristic processes or innovative computations. So this paper will design a genetic algorithm for solving Stackelberg-Nash equilibrium
of general multilevel programming with multiple followers in which there might be information
exchange among the followers. It is known that classical minimax problems are a special kind
of bilevel programming, thus as a byproduct, we obtain a means for searching for minimax
solutions. Finally, some numerical examples are provided to illustrate the effectiveness of the
proposed genetic algorithm.
2. M U L T I L E V E L
PROGRAMMING
As a special case of multilevel programming, bilevel programming has drawn most of attention
paid to this field. Now we assume that in a decentralized two-level decision system there are one
leader and m followers. Let x and Yi be the control vector of the leader and the i th followers, i =
1, 2 , . . . , m, respectively. We also assume that the objective functions (without loss of generality,
all are to be maximized) of the leader and ith followers are F(x, Y l , . - . , Ym) and fi(x, Y l , . . - , Ym),
i = 1 , 2 , . . . , m, respectively.
In addition, let S be the feasible set of control vector x of the leader, defined by
s = {x I G(x) <_ o},
(1)
where G is a vector-valued function of decision vector x and 0 is a vector with zero components.
Then for each decision x chosen by the leader, the feasible set Y of control array (Yl, Y2,.-., Y,n)
of followers should be dependent on x, and generally represented by
Y(x) = {(Yl,Y2,...,Ym)[g(x, y l , Y 2 , " . , Y m ) -< 0},
(2)
where g is a vector-valued function not only of x but also of Yl, Y2,.-., ym.
Assume that the leader first chooses his control vector x E S, and the followers determine their
control array (Yl,Y2,.-. ,Ym) E Y(x) after that. Then a general type of bilevel programming
should be formulated as follows,
max F(x, Yl, Y2,..., ym)
subject to:
C(x) < o
where each y~(i = 1, 2 , . . . , m) solves
(3)
max f~ (x, Yl, Y2, . . . . Ym)
Yi
subject to:
g(x, yl,Y2, ... ,Ym) _< 0.
This bilevel programming is a multiperson noncooperative game with leader-follower strategy.
When m = 1 and f l ( x , y l ) = - F ( X , yl), i.e., the objective function of follower is in direct
opposition to the objective function of leader, the bilevel programming is a classical minimax
problem. For each follower i, (i = 1, 2 , . . . , m), if x, Y l , . . . , Y~-1, Y~+I,.-., Ym are revealed by the
Stackelberg-Nash
Equilibrium
81
leader and other followers, then the reaction y~ of the ith follower must be the optimal solution
of the optimization problem
max f~(x, Yl, Y2,..., Ym)
Yl
(4)
subject to:
g(x, Yl, Y2,. • •, Ym) -< 0,
whose set of optimal solutions may consist of multiple points, and such a set is also called the
rational reaction set of the i t h follower.
However, all the followers are of equal status, and they must reveal their strategies simultaneously. So, for all followers, a popular solution concept is the so-called Nash equilibrium defined
as the array (y~, y ~ , . . . , Ym) E Y(x) with respect to x, i.e.,
*
f~( X ,Yl,"
..
*
• • ,Y~) <: fi( X ,Yl,
*
,Yi-I,Y~,Y~+I,"
...
*
*
*
,Yi-I,Yi,Yi+I,
...
*
,Ym),
(5)
for any (y~,... ,Y~-I,Yi,Y~*+I,... ,Y~) E Y(x) and i = 1,2,... ,m. If there is a unique Nash
equilibrium, perhaps all the followers might make such an equilibrium because any follower cannot
improve his own objective by altering his strategy unilaterally. It must be also noted that, in
general, Nash equilibrium is neither unique nor Pareto optimal, and any one follower can deviate
from the Nash equilibrium and move to a better solution.
Stackelberg-Nash equilibrium of the bilevel programming has been discussed by Cruz [15],
Sherali et al. [16] and Anandalingam and Apprey [5]. Let (x*, y~, y ~ , . . . , y ~ ) be an array with
x* E S and (y~,y~,... , y ~ ) be a Nash equilibrium of followers with respect to x*. We call the
array (x*, y~, y~,... ,Ym) a Stackelberg-Nash equilibrium to the bilevel programming (3) if and
only if,
F (x, yl,Y2,.-. ,Ym) <: F (x*,y~, y~,... , y ~ )
(6)
for any ~ E S and the Nash equilibrium (Yl,Y2,.-. ,Ym) with respect to ~.
Unfortunately, not every multilevel programming has a solution even though it has a nonempty
compact feasible set. For example, when some control vector x* is given by the leader, the
rational reaction set of some follower might consist of multiple points, and the followers would be
indifferent among these points. However, the leader might not experience the same indifference
with respect to his objective function. Thus, the objective function of leader is not well defined
for this case. Some illustrative examples were given in Bard and Falk [17] and Ben-Ayed [2].
In this paper, in order to avoid the ambiguity arising in the reactions of followers, we only
discuss the case in which the rational reaction set consists of a single point, or the leader is also
indifferent among the multiple points in the rational reaction set.
3. C O M P U T I N G
NASH
EQUILIBRIUM
Now we define symbols
Y-~ = (Yl,... ,Y~-I,Yi+I,... ,Ym),
i = 1,2,... ,m.
(7)
For any decision x revealed by the leader, if the i th follower knows the strategies y_~ of other
followers, then the optimal reaction of the ~th follower is represented by a mapping y~ = r~(y_~)
which should solve the subproblem
max f~(x, Yl, Y2, • • •, Ym)
Y~
subject to:
(8)
g(x, y l , y 2 , . . . ,ym) ~_ 0.
The Nash equilibrium of the m followers will be the solution (Yl, Y2,..., ym) of the system of
equations
y~ = ri(y-~),
i = 1, 2 , . . . , m.
(9)
82
B. LIu
In other words, we should find a fixed point of the vector-valued function (rl, r2, j, rm). In order
to solve the system of equations (9), we should design some efficient algorithms. The argument
breaks down into three cases.
CASE I. If we have explicit expressions of all functions r~, i -- 1, 2 , . . . , m, then we might get an
analytic solution to system (9). Unfortunately, it is almost impossible to do this in practice.
CASE II. In most cases, no analytic solution of (9) can be obtained, so the system (9) might
be solved by some iterative method that generates a sequence of points yk = (y~, y2k,..., ykm)'
k = 0, 1, 2,... via the iteration formula
k
• ik +=l r ~(y_~),
i = 1,2,...,m,
(10)
where yk_~ = (y~,•. ,Y~-I,
k Y~+I,'"
k
, y k ) . However, generally speaking, it is not easy to verify
the conditions on the convergence of iterative method for practical problems. When we solve
some given problem on a computer, we might employ the iterative method. If we indeed find a
solution, then the problem is solved. Otherwise, we have to try other methods.
•
CASE III. If the iterative method fails to find a fixed point, we may employ a genetic algorithm
to solve the following minimization problem,
m
min R(yl, Y2,.-., Ym) ----~
Ily,
- ri(y-,)ll
i~l
subject to:
g(x, yl,Y2,...,ym)
(11)
<- O.
- • .,
If an array (y~,y~, . . . , y * ) satisfies that R t ~Yl,Y2,..-,Y~,)
= 0, then y~. = ri(y*~), i = 1,2,
. . . , m and (y~,y~.,... ,Y~n) must be a solution of (9). In other words, if the minimizing solution
(Y~,Y~, " ,Y~n) of the minimization problem (11) is such that the objective value £Yl,Y2,
• .., Y~n) is zero, then (y~, y ~ , . . . , Y~n) is a solution of (9). Otherwise, the system of equations (9)
might be considered inconsistent, i.e., there is no Nash equilibrium of followers in the given bilevel
programming. Although this method can deal with general problems, it is a slow way to find a
Nash equilibrium.
4. A G E N E T I C
ALGORITHM
FOR
STACKELBERG-NASH
EQUILIBRIUM
Genetic algorithms have demonstrated considerable success in providing good solutions to
many complex optimization problems and received more and more attentions. They have been
well documented by numerous pieces of literature, such as [18-20], and applied to a wide variety
of optimization problems•
In this section, we will design a genetic algorithm for solving the Stackslberg-Nash equilibrium
of general bilevel programming models with multiple followers in which there might be information exchange among the followers. As opposed to the other literature dealing with multilevel
programming, we will not assume any linearity, convexity, continuity, and differentiability in the
bilevel programming models• In view of the complexity of structure of the bilevel programming
models, the proposed genetic algorithm might involve some iterative process or evolution subprocess for solving Nash equilibrium of followers for each control vector revealed by the leader. In
fact, in order to enhance the ability of genetic algorithms, any algorithm essential for subproblems
can he inserted into the evolution process. For example, stochastic simulations were involved in
a genetic algorithm for solving expected value models [21], chance constrained programming [22],
and dependent-chance programming [23-25]; and fuzzy simulations were also involved in a genetic
algorithm for solving fuzzy programming [26].
Stackelberg-Nash Equilibrium
83
4.1. R e p r e s e n t a t i o n S t r u c t u r e
W e can use a binary vector as a chromosome to represent real value of decision variable, where
the length of the vector depends on the required precision. The necessity for binary coding has
received considerable criticism. A n alternative approach to represent a solution is the floating
point implementation in which each chromosome vector is coded as a vector of floating numbers,
of the same length as the solution vector. Here, we use a vector V = (Xl,X2,... ,:ca) as a
chromosome to represent the control vector of leader, where n is the dimension.
4.2. I n i t i a l i z a t i o n P r o c e s s
At first,we should eliminate all equality constraints by replacing some variables by the representation of the remaining variables. Then we define an integer pop_size as the number of
chromosomes and initializepop_size chromosomes randomly on the feasible set S. Usually, it is
not easy for complex optimization problems to produce feasible chromosome explicitly. So we
employ one of the following two ways as the initialization process, depending on what kind of
information the decision maker can give. First case is that the decision maker can determine an
interior point, denoted by V0, in the constraint set S. This is very possible for a real decision
problem. W e also need to define a large positive number M which ensures that all the genetic
operators are probabilistically complete for the feasible solutions. This number M is used not
only for initialization process but also for mutation operation. The pop_size chromosomes will
be produced as follows. We randomly select a direction d in ~n and define a chromosome V as
V0 + M . d if it is in the feasible set S, otherwise, we set M as a random number between 0 and M
until V0 + M • d is feasible. We mention that a feasible solution for the inequality constraints
can be found in finite times by taking random number since V0 is an interior point. Repeat this
process pop_size times and produce pop_size initial feasible solutions 1/1, V2,..., Vpop_size. If the
decision maker fails to give such an interior point, but can predetermine a region which contains
the optimal solution. Usually, this region will be designed to have nice sharp, for example, an
n-dimensional hypercube, because the computer can easily sample points from a hypercube. We
generate a random point from the hypercube and check the the feasibility of this point. If it is
feasible, then it will be accepted as a chromosome. If not, then we regenerate a point from the
hypercube randomly until a feasible one is obtained. Repeat the above process pop_size times,
we can make pop_size initial feasible chromosomes 1/1, V2,..., Vpop_~i~e.
4.3. E v a l u a t i o n F u n c t i o n
Evaluation function, denoted by eval(V), is to assign a probability of reproduction to each
chromosome V so that its likelihood of being selected is proportional to its fitness relative to
the other chromosomes in the population, that is, the chromosomes with higher fitness will have
more chance to produce offspring by using roulette wheel selection. Let V1, V2,..., Vpop_sizebe the
pop_size chromosomes at the current generation. The pop_size chromosomes V1, V2,..., Vpop_size
can be rearranged from good to bad, i.e., the better the chromosome is, the smaller ordinal
number it has. This arrangement is usually based on the values of objective function of the
leader. Since the objective value of the leader is also dependent on the Nash equilibrium, so
at present we must compute the Nash equilibrium for each given chromosome (control vector
of leader) by an iterative method or a genetic algorithm. N o w let a parameter a E (0, 1) in
the genetic system be given, then we can define the so-called rank-based evaluation function as
follows,
eval(V~) = a(1 - a) ~- 1,
i = 1, 2 , . . . , pop_size.
We mention that i = 1 means the best individual, i =pop_size the worst individual.
(12)
84
B. LIu
4.4. Selection P r o c e s s
The selection process is based on spinning the roulette wheel pop_size times, each time we
select a single chromosome for a new population in the following way.
Step 1. Calculate the cumulative probability q~ for each chromosome ~ ,
i
q0 = 0
qi = ~
eval ( ~ ) ,
i = 1, 2 , . . . , pop_size.
(13)
j--1
Step 2. Generate a random real number r in (0, qpop_size].
Step 3. Select the ith chromosome V~ (1 < i < pop_size) such that q~-I < r < qi.
Step 4. Repeat the 2 nd and 3 rd steps pop_size times and obtain pop_size copies of chromosomes.
4.5. Crossover Operation
We define a parameter Pc of a genetic system as the probability of crossover. In order to
determine the parents for crossover operation, let us do the following process repeatedly from
i = 1 to pop_size: generating a random real number r from the interval [0, 1], the chromosome V~
is selected as a parent if r < Pc. We denote the selected parents as V1~, V~, V~,... and divide them
to the following pairs: (V1~, V~), (V3~, V4~),(V~, V~),.... Let us illustrate the crossover operator on
each pair by (V1~, V~). At first, we generate a random number c from the open interval (0, 1),
then the crossover operator on V~ and V~ will produce two children X and Y as follows:
X=c.V~ +(1-c).V~
and
Y=(I-c).V~ +c.V~.
(14)
If the feasible set is convex, this arithmetical crossover operation ensures that both children are
feasible if both parents are. However, in many cases, the feasible set is not necessarily convex or
hard to verify the convexity. So we must check the feasibility of each child. If both children are
feasible, then we replace the parents by them. If not, we keep the feasible one if exists, and then
redo the crossover operator by regenerating the random number c until two feasible children are
obtained or a given number of cycles is finished. In this case, we only replace the parents by the
feasible children.
4.6. Mutation Operation
We define a parameter Pm of a genetic system as the probability of mutation. Similar to the
process of selecting parents for crossover operation, we repeat the following steps from i = 1 to
pop_size: generating a random real number r from the interval [0, 1], the chromosome V~ is selected
as a parent for mutation if r < Pro. For each selected parent, denoted by V = (xl, x 2 , . . . , xn), we
mutate it by the following way. We choose a mutation direction d in ~n randomly, if V + M . d is
not feasible for the constraint set S, then we set M as a random number between 0 and M until
it is feasible. If the above process cannot find a feasible solution in a predetermined number of
iterations, then set M = 0. We replace the parent V by its child X = V + M • d.
4.7. T h e P r o c e d u r e
Following selection, crossover and mutation, the new population is ready for its next evaluation.
The genetic algorithm will terminate after a given number of cyclic repetitions of the above steps.
We can summarize the genetic algorithm for solving the StackelbergoNash equilibrium of general
bilevel programming models as follows.
Step 0. Input parameters pop_size, Pc and Pro.
Step 1. Initialize pop_size chromosomes (control vectors of leader).
Stackelberg-Nash Equilibrium
85
Step 2. Update the chromosomes by crossover and mutation operations.
Step 3. Determine the NasA equilibrium for each chromosome (control vector of leader) by
iterative methods or genetic algorithms.
Step 4. Calculate the objective values of the leader for all chromosomes according to the
NasA equilibrium reactions of followers.
Step 5. Compute the fitness of each chromosome by rank-based evaluation function based on
the objective values.
Step 6. Select the chromosomes by spinning the roulette wheel.
Step 7. Repeat the 2nd to 6th steps a given number of cycles.
Step 8. Report the best chromosome as the optimal solution.
5. N U M E R I C A L
EXAMPLES
The computer code for the genetic algorithm to general multilevel programming models with
multiple followers has been written in C language. In order to illustrate the effectiveness of
genetic algorithm, here we give some numerical examples performed on a personal computer with
the following parameters: the population size is 30, the probability of crossover Pc is 0.3, the
probability of mutation Pm is 0.2, the parameter a in the rank-based evaluation function is 0.05.
We also mention that the genetic algorithm is very robust in setting of these parameters.
EXAMPLE 1. Assume that in a bilevel programming model there exist one leader and one follower.
Suppose that the leader has a control vector x = (xl, x2) and the follower has a control vector
Y = (Yl, Y2). The bilevel programming is formulated as follows,
m a x F ( x , y ) = (Xl -}- yl)(X2 + Y2)
1 + x l y l + x2Y2
subject to:
Xl ~_ 0, X2 _~>0, X2-}-x 2 __~ 100,
max/(x,y) = -F(x,y)
subject to:
0~yl ~Xl,0~y2_(X2,
which is equivalent to the following minimax problem,
m a x min (Xl + Yl)(X2 + Y2)
=1,=2~I,~2 1 + XlYl -}- x2Y2
subject to:
Xl ~> 0, X2 ~ 0, Xl2 -{- X2 <~ 100
0_< Yl _< xl, 0 <_ Y2 _< x2.
This is one of the simplest examples of bilevel programming. A run of genetic algorithm with
300 generations shows that the Stackelberg-Nash equilibrium (here leader-follower strategy) is
x* = (7.0854, 7.0291),
y* = (7.0854, 0.0000)
with Fix*, y*) = 1.9760. In view the complexity of the objective function of follower, we have
to employ genetic algorithm to search for the reaction of the follower. This makes the evolution
process very slow. For this example, the total CPU time is about 28 minutes. This result also
implies that the proposed genetic algorithm is applicable to solve classical minimax problems.
E X A M P L E 2. N o w we consider a decentralized decision system in which there is one leader and
two followers [27,28]. Assume that the control vector of the leader is x = (xl, x2, xs, x4), and the
86
B. Lie
control vectors of two followers are Yl = (Yll, Y12) and Y2 = (Y21,Y22). The bilevel programming
is formulated as follows,
max F ( x , yl,Y2) = (200 - Y11 - Y21)(Y11 -~- Y21) -{- (160 - Y12 - Y22)(YI2 Jr" Y22)
subject to:
xi + x 2 + x 3 + xa _< 40
0 <: xl _< 10, 0 _< x2 _< 5, 0 < x3 <_ 15, 0 _< x4 _< 20
min f l ( y l ) = (Yll - 4) 2 + (Y12 - 13) 2
subject to:
0.4yll + 0.7y12 <_ Xl
0.6yll + 0.3y12 _< x2
0 _< y11,y12 _< 20,
min f2(Y2) ----(Y21 -- 35) ~ + (Y22 -- 2) 2
subject to:
0.4y21 + 0.7y22 _< x3
0.6y21 + 0.3y22 _< x4
0 ~ Y21,Y22 _~ 40.
This is a simple example because there is no information exchange between the two followers.
Thus any optimal solutions y~ and y~ to the two subproblems can form a Nash equilibrium
(y~, y~). The known optimal solution given by Bard [28] is x* = (7.91, 4.37, 11.09, 16.63), y~ =
(2.29, 10), y~ -- (27.21,0.00) with objective walue F(x*, y~, y~) -- 6600. For each control vector x
revealed by the leader, there is a unique Nash equilibrium (y~, y~) as the reactions of followers.
However, the optimal control vector x* of the leader is not unique. A run of genetic algorithm
with 600 generations shows that a Stackelberg-Nash equilibrium (x*, y~, y~) is
x* = (7.05, 3.13, 11.93, 17.89),
y~ = (0.26, 9.92),
y~ = (29.82, 0.00)
with objective value F ( x * , y ~ , y ~ ) = 6599.99, while the objective values of the followers are
f l (Y~) = 23.47 and f2(Y~) = 30.83. Hence, the genetic algorithm is considered successful for this
bilevel programming model. The total CPU time spent for this example is 65 seconds.
EXAMPLE 3. Now we consider a bilevel programming with three followers in which the leader
has a control vector x = (xl, x2, x3) and the three followers have control vectors y, = (Y~I,Y,2),
i = 1, 2, 3,
max F ( x , Yl, Y2) = YllY12 sin Xl + Y21Y22sin x2 + Y31Y32sin x 3
subject to:
Xl + x 2 + x 3 _< 10, Xl _> 0, x2 _> 0, x3 _> 0
max f l (Yl) = YIt sin Y12 -{- Y12 sin YlI
subject to:
yll + Y12 _~ Xl, Yll ~ 0, Y12 ~ 0,
max f2(y2) = Y21 siny22 + Y22 siny21
subject to:
Y21 "{-Y22 --< X2, Y21 --> 0, Y22 >_ 0,
Stackelberg-Nash Equilibrium
87
max f3 (Y3) = Y31 sin Y32 + Y32 sin Y31
subject to:
Y3I + Y32 _< x3, Y31 >_ 0, Y32 _> 0.
For this bilevel programming model, the traditional methods cannot work because of the complexity and multimodality of objective functions of each player. For each optimization problem
of leader and followers, we have to employ genetic algorithms to search for the best solutions. A
run of genetic algorithm with 300 generations shows that the Stackelberg-Nash equilibrium is
x* = (1.946, 8.054, 0.000),
y~ = (0.973, 0.973),
y;. = (1.315,6.793),
= (0.000, 0.000)
with optimal objective values
F ( x * , y ~ , y ~ , y ~ ) = 9.566,
f l ( y ~ ) = 1.609,
f2(Y~) = 7.099,
/3(y;)
= 0.000.
The total CPU time spent for this example is about 36 minutes.
We notice that the optimal solution of the follower is not unique. For example, an optimal
solution of the second follower is y~ = (1.315, 6.739), by the symmetry of the control variables Y21
and Y22, the vector y ~ = (6.739, 1.315) is also an optimal solution. Fortunately, the leader
is indifferent between the two solutions. From the symmetry of the followers, we know that
the Stackelberg-Nash equilibrium is not unique too. For example, we have also the following
Stackelberg-Nash equilibrium
x* = (8.054, 1.946, 0.000),
y~ = (1.315, 6.793),
y~ = (0.973, 0.973),
y~ = (0.000, 0.000).
If the objective function of the leader is replaced by
F(x, Yl, Y2, Y3) = ylly12 sin xl + 2y21y22 sin x2 + 3y31Y32sin x 3.
A run of genetic algorithm with 300 generations shows that the Stackelberg-Nash equilibrium is
x* = (0.000, 1.936, 8.064),
y~ = (0.000, 0.000),
= (0.968,0.968),
= (1.317, 6.747)
with optimal objective values
F ( x * , y ~ , y ~ , y ~ ) = 27.822,
ft(Y~) = 0.000,
f2(Y~) = 1.595,
f3(Y~) = 7.120.
Although the Nash equilibrium is not unique, the optimal control vector x* of the leader is
unique.
EXAMPLE 4. Let us now consider a bilevel programming with three followers in which there is
information exchange among the three followers. Assume that the leader has a control vector
x = (xl, x2) and the three followers have control vectors y~ = (Y~I,Y~2), i = 1, 2, 3, respectively.
The bilevel programming is formulated as follows,
m i n F ( x , yl,Y2,Y3) = 3(Yll q- Y12)2 4- 5(Y21 -t- Y22)2 q- 10(Y31 + Y32)2
2x 2 + x 2 + 3XlX2
subject to:
Xl q-2x2 _< 10, Xl > 0, x2 > 0
mi- fl(yl)
=
+
subject to:
Yli + Y21 + Y31 >-- Xl
88
B. LIU
YI2 J¢- Y22 + Y32 >_ X2
Yll ~ I, YI2 --> 2,
rain f2(Y2) = Y21 -{- Y22 + Yl__~I+ Yl.._22
y21 Y22
subject to:
Y21 ~> 0, Y22 > 0,
min/3(Y3) =
(y31 -- Y21)2 + (Y32 -- Y22)2
Y31
Y32
subject to:
2y31 + 3y32 : 5
y31 > 0, Y32 > 0.
For the bilevel programming model, each subproblem of followers is a parametric optimization
which can be solved by any existing means of mathematical programming when the parameters
are given. However, in order to obtain the Nash equilibrium of followers, we might employ
the iterative method. Fortunately, for this problem, all iterative processes converge to Nash
equilibrium.
A run of genetic algorithm with 300 generations shows that the Stackelberg-Nash equilibrium
of the bilevel programming is
x* = (5.768, 2.116),
y ; = (2.885, 2.000),
y~. = (1.699, 1.414),
y~ = (1.183,0.878)
with optimal value
* l,Y
* 2,Y
* 3 )*
F ( ,XY
= 1.510,
/I(Y~) = 12.323,
/2(Y~) = 6.225,
*
/3(Y3)
= 0.835.
The total CPU time spent for the evolution process is about nine minutes.
6. C O N C L U S I O N
In this paper, we showed that the iterative method and genetic algorithm can be employed
to solve the Nash equilibrium of followers in a bilevel programming. We also designed a genetic
algorithm for searching for the Stackelberg-Nash equilibrium of general bilevel programming
models without linearity, convexity, continuity and differentiability assumptions. As a byproduct
we obtain a genetic algorithm for solving classical minimax problems. Finally, we presented
some numerical examples to illustrate the effectiveness of genetic algorithm. Although genetic
algorithm is a slow and costly way to find optimal solutions and can only deal with small-scale
problems, it indeed provides a powerful means of obtaining global optimal solutions of complicated
bilevel programming that cannot be solved by existing method else.
Although the proposed genetic algorithm has been devoted to the case of two levels, they are
clearly applicable to solve the Stackelberg-Nash equilibrium of general multilevel programming.
REFERENCES
1. U.P. Wen and S.T. Hsu, Linear bilevel programming problenm---A review, Journal of Operational Research
Society 42 (2), 125-133, (1991).
2. O. Ben-Ayed, Bilevel linear programming, Computers and Operations Research 2 0 (5), 485-501, (1993).
3. R.G. Cassidy, M.J.L. Kirby and W.M. Rsike, Efficient distribution of resources through three-levels of government, Management Science 17, B462-B472, (1971).
4. J. Bracken and J.T. McGill, Defense applications of mathematical programs with optimization problems in
the constraints, Operations Research 22, 1085-1096, (1974).
5. G. Anandalingam and V. Apprey, Multi-level programming and conflict resolution, European Journal of
Operational R~earch 51, 233-247, (1991).
Stackelberg-Nash Equilibrium
89
6. J. Fortuny-Amat and B. McCarl, A representation and economic interpretation of a two-level programming
problem, Journal of Operational Research Society 32, 783-792, (1981).
7. B. Liu and A.O. Esogbue, Cluster validity for fuzzy criterion clustering, In Proceedings of the IEEE International Conference on Systems, Man and Cybernetics, Piscataway, NJ, U.S.A., Volume 5, IEEE, pp. 47024705, (1995).
8. W. Candler and R. Townsley, A linear two-level programming problem, Computers and Operations Research
9, 59-76, (1982).
9. W.F. Bialas and M.H. Karwan, Two-level linear programming, Management Science 30, 1004-1020, (1984).
10. J.F. Bard, An algorithm for solving the general bilevel programming problem, Mathematics of Operations
Research 8, 260-272, (1983).
11. J.F. Bard, Optimality conditions for the bilevel programming problem, Naval Research Logistics Quarterly
31, 13-26, (1984).
12. J.F. Bard and J.T. Moore, A branch and bound algorithm for the bilevel programming problem, SIAM J.
Sci. Statist. Comput. 11, 281-292, (1990).
13. G. Savard and J. Gauvin, The steepest descent direction for nonlinear bilevel programming problem, Operations Research Letters 15, 265-272, (1994).
14. O. Ben-Ayed and C.E. Blair, Computational difficulties of bilevel linear programming, Operations Research
38, 556-560, (1990).
15. J.B. Cruz, Leader-follower strategies for multi-level systems, IEEE Transactions on Automatic Control 23
(2), 244-255, (1978).
16. H.D. Sherali, A.L. Soyster and F.H. Hurphy, Stackelberg-Nash-Cournot equilibria: Characterizations and
computations, Operations Research 31 (2), 253-276, (1983).
17. J.F. Bard and J.E. Falk, An explicit solution to the multi-level programming problem, Computers and
Operations Research 9 (1), 77-100, (1982).
18. D.E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, (1989).
19. Z. Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs, 2nd edition, Springer-Verlag,
New York, (1994).
20. D.B. Fogel, An introduction to simulated evolutionary optimization, IEEE Transactions on Neural Networks
5, 3-14, (1994).
21. M. Gen, B. Liu and K. Ida, Evolution program for deterministic and stochastic optimizations, European
Journal of Operational Research 94 (3), 618-625, (1996).
22. K. Iwamura and B. Liu, A genetic algorithm for chance constrained programming, Journal of Information
81 Optimization Sciences 17 (2), 409-422, (1996).
23. B. Liu, Dependent-chance goal programming and its genetic algorithm based approach, Mathl. and Comput.
Modelling 24 (7), 43-52, (1996).
24. B. Liu and K. Iwamura, Modelling stochastic decision systems using dependent-chance programming, European Journal of Operational Research 101 (1), 193-203, (1997).
25. B. Liu, Dependent-chance programming: A class of stochastic optimization, Computers Math. Applic. 34
(12), 89-104, (1997).
26. B. Liu and K. lwamura, Chance constrained programming with fuzzy parameters, Fuzzy Sets and Systems
94 (2), 227-237, (1998).
27. E. Aiyoshi and K. Shimizu, Hierarchical decentralized systems and its new solution by a barrier method,
IEEE Transactions on Systems, Man, and Cybernetics 11,444-449, (1981).
28. J.F. Bard, Convex two-level optimization, Mathematical Programming 40, 15-27, (1988).
© Copyright 2026 Paperzz