Discrete Bilevel Optimization Problems - Semantic Scholar

4 downloads 0 Views 180KB Size Report
Oct 15, 2001 - Then, an algorithm is proposed solving these problems. This method uses a cutting plane approach for approximating the feasible set of the.
Discrete Bilevel Optimization Problems S. Dempe

Institut fur Wirtschaftsinformatik, Universitat Leipzig, D-04109 Leipzig, Germany

October 15, 2001 Abstract

Bilevel programming problems are hierarchical optimization problems in which the feasible set is determined by the set of optimal solutions of a second, parametric optimization problem. In this paper we consider problems where this second problem is a discrete one. We start with addressing the problem of the existence of optimal solutions. Then, an algorithm is proposed solving these problems. This method uses a cutting plane approach for approximating the feasible set of the discrete lower level problem. The paper is closed with some remarks concerning the computation of bounds for the optimal function value of the discrete bilevel programming problem.

Keywords: discrete bilevel programming, solution algorithm, existence of

optimal solutions, optimal value bounds, cutting plane algorithm, superadditive cuts

1 Introduction Bilevel optimization problems are hierarchical programming problems in which the set of all variables is divided into two parts x and y and the variable x is restricted to be an optimal solution of a second parametric optimization problem

x 2 Argmin fh0(x; y) : h(x; y)  0; x 2 X g x

1

(=: (y));

(1)

where h0 : Rn  Rm ! R; h : Rn  Rm ! Rp are given functions and X  Rn : Now, the bilevel optimization problem reads as follows: 9 > f0(x; y) ! min = x;y (2) > ; f (x; y)  0; x 2 (y); y 2 Y:

Here f0 : Rn Rm ! R; f : Rn Rm ! Rq and Y  Rm: Bilevel optimization problems have seen a rapid development and broad interests both from the practical and the theoretical points of view [22]. A large number of possible applications have been reported: Principal-agency problems in economy [21], the computation of \optimal" chemical equilibria [19], the coordination of multidivisional rms [4], neural network training [15], electric utility planning [12], and many others. Considering some of these applications it seems to be imaginable that some of the variables have to be restricted to integer values. On the other hand, discrete bilevel programming problems have been the topic of only a very few number of references [5, 16, 23]. It is one goal of the present paper to initiate a broader discussion of those problems. The contents of the paper is as follows: In Section 2 some comments about the existence of optimal solutions and some motivation of an approach for solving these problems will be given. In this approach a cutting plane algorithm is used for solving the lower level problem. This method is outlined in Section 3. A more detailed description of the algorithm for the whole problem is given in Section 4. In the last section, a rule for computing a lower bound for the optimal value of the discrete bilevel programming problem is derived.

2 Di erent types of discrete bilevel programming problems Consider the linear bilevel programming problem hc; xi + hd; yi ! min x;y subject to By  b; y = (y1; y2) 2 Y; x 2 (y); where (y) := Argmax fhy1; xi : Ax + Cy2  a; x 2 X g x

(3) (4)

and Y  Rm; X  Rn ; a 2 Rp; b 2 Rq and the matrices A; B; C as well as the vectors c; d are of appropriate dimensions. Problem (4) will be called 2

the lower level and problem (3) the upper level problems. Then, a discrete bilevel programming problem can be obtained if the set X or the set Y or both are restricted to discrete values. Hence, either the lower or the upper level or both problems are discrete (parametric) optimization problems. With respect to the existence of optimal solutions these di erent problems lead to very di erent situations: If the lower level problem is a continuous parametric optimization problem the situation is analogous to that in the non-discrete case { some compactness assumptions guarantee solvability of the problem. This is also the case if both the lower and the upper level problems are discrete ones. But, if the lower level problem is discrete and the upper level problem non-discrete, then it seems to be very dicult to derive conditions guaranteeing the existence of optimal solutions and being easy to verify before solving the problem (cf. also [23]). To illustrate these results consider the very simple Example: Consider the linear bilevel programming problem (3), (4) (with or without integrality constraints) with q = 0 (i.e. there are no constraints By  b); Y  Y 1 := fy = (y1; y2)> : y1 = ?1; y2 2 [0; 4]g  R2; X  X 1 =0 [0; 4]; 1 061 3 ?1 B C B 1 1 CC (A C ) = B B@ ?1 0 CA ; a = BB@ ?61 CCA : 0 ?3 1 Then, for X = X 1; 0  y2  4; the lower level feasible set is ( ( 2) ( )) 2 y 6 + y 2 2 M (y ) = x : max 1; 3  x  min 3 ; 6 ? y : Hence, ( y2  3 (y) = 1y2; ; ifif 03   y2  4: 3

Let c = ?5; Then, it is easy to see that for Y = Y 1 (i.e. for the linear bilevel programming problem) we obtain (x; y)> = (1; ?1; 0)> as the global optimal solution and (x; y)> = ( 34 ; ?1; 4)> as a local optimal solution. Now, if Y = f(?1; 0)> ; (?1; 1)>; (?1; 2)> ; (?1; 3)> ; (?1; 4)> g; then the feasible set of the upper level problem (3) is equal to the nite set M = f(1; ?1; 0)> ; (1; ?1; 1)> ; (1; ?1; 2)> ; (1; ?1; 3)> ; ( 34 ; ?1; 4)>g: 3

d = (0; 1)> .

Here again, (x; y)> = (1; ?1; 0)> is the> global optimal solution and a local optimal solution can be found at (x; y) = ( 43 ; ?1; 4)> . The situation is very di erent if X = f0; 1; 2; 3; 4g. Then, (  y2  3 (y) = 21;; ifif 30 < y2  4: Hence, if Y = Y 1, then the in mal value of the objective function of the upper level problem (3) is equal to -7 but there is no global optimal solution. But if

X = f0; 1; 2; 3; 4g; Y = f(?1; 0)>; (?1; 1)> ; (?1; 2)> ; (?1; 3)>; (?1; 4)> g; then the feasible set in the upper level problem is equal to

M = f(1; ?1; 0)> ; (1; ?1; 1)> ; (1; ?1; 2)> ; (1; ?1; 3)> ; (2; ?1; 4)> g and a global optimal solution is found at the point (x; y)> = (2; ?1; 4)> with an objective function value of -6 while the point (x; y)> = (1; ?1; 0)> is a local optimal solution. Note that (x; y)> = (1; ?1; 0)> has been the global

optimal solution of the problem obtained by using linear relaxation in both the upper and in the lower level problems. This e ect has been mentioned already in [16]. With respect to the existence of optimal solutions we have Theorem 1 Let the set

M := f(x; y)> : By  b; y 2 Y; Ax + Cy  a; x 2 X g be nonempty and compact. Let X be a convex polyhedron and assume Y to

coincide either with Rm or Z m (the set of integer points in R m). Then, an optimal solution of the linear (discrete) bilevel programming problem exists.

Proof: Let Y 0 = fy : By  b; y 2m Y; M (y2) 6= ;g; where M (y2) := fx 2 X : Ax  a ? Cy2g and let Y = R . Then, M () is upper as well as lower

semicontinuous on Y 0 (for the de nitions and the proof the reader is referred to [3]) and the solution set mapping (y) is upper semicontinuous on Y 0. Hence, the set f(x; y)> : y 2 Y 0; x 2 (y)g is nonempty and compact which proves the existence of an optimal solution in this case. Now, if Y = Z m then, for each y 2 Y 0, the set of optimal solutions (y) of the lower level problem is nonempty and compact. Hence, once more, the set f(x; y)> : y 2 Y 0; x 2 (y)g is compact and a globally optimal solution exists. 2 4

Theorem 2 Consider the problem (3), (4) where X = Z n ; Y = Z m. Then, if the set M de ned in Theorem 1 is nonempty and compact, then the linear discrete bilevel optimization problem has an optimal solution.

The proof of this theorem is analogous to that of the second part in Theorem 1. Hence, it is omitted. As we have seen in the above example, the linear discrete bilevel programming problem with Y = Rm; X = Z n has no optimal solution in general. This is because the feasible set of the upper level problem (3) is generally not closed even if the set M is nonempty and compact. Hence, when solving bilevel programming problems with discrete parametric optimization problems in the lower and non-discrete problems in the upper level, then a solution should be computed which is feasible for the upper level problem and has an objective function value suciently close to the in mal value. In this paper, we will consider the case in which Y = Rm; X = Z n but the lower level constraint set does not depend on the parameter (i.e. C = 0). In this problem, the lower level problem can be replaced by minimization over the convex hull of its feasible points which again leads to solvability of the problem. There is a gap between bilevel programming problems having discrete and non-discrete lower level problems not only with respect to conditions guaranteeing the existence of optimal solutions but also with respect to approaches for the computation of (nearly) optimal solutions. If the lower level problem is a parametric convex (or even linear) programming problem, then we can use e.g. the necessary and sucient optimality conditions of rst order to convert the bilevel problem into a one-level problem. This problem can be solved for instance by means of a branch-and-bound procedure [9]. It is also possible to apply a branch-and-bound algorithm directly with respect to the upper level variables y. Then, for having a bounding procedure at hand, we could solve a bilevel programming problem to global optimality at every node of the branching tree. Global optimality is necessary for deriving indeed true bounds. Such an algorithm for linear bilevel programming can be found in [24]. The situation is quite di erent if we consider bilevel programming problems with parametric discrete optimization problems in the lower level. Here we have no sucient and necessary optimality conditions for converting the lower level problem into a system of parametric inequalities and equations. Additionally, it is also not possible to get bounds on the optimal value by simply dropping the integrality conditions. Also, the use of an enumeration approach in the lower level seems to be dicult: In each node of the branching tree a certain number of subproblems is created. Each of these 5

subproblems corresponds to a bilevel programming problem which has to be solved for computing bounds. But due to lower level infeasibility it is not clear which of these values can really be used to bound the objective value of the discrete bilevel programming problem. Let (x; y) be an optimal solution of the latter problem and consider a non-discrete bilevel subproblem such that x is feasible to its lower level problem. Even in this case it is not guaranteed that the value computed by solving this subproblem is a valid bound for the original bilevel problem. So we will try to attack the problem by a cutting plane algorithm in the lower level. This enables us to drop the integrality constraints in this problem and at the same time to get some information about the optimal value of the bilevel programming problem at least when the approximation of the lower level has a sucient level of accuracy.

3 A cutting plane algorithm for solving discrete optimization problems The use of a cutting plane algorithm to the lower level problem has the advantage that, in each iteration of the algorithm, we have to solve only one bilevel programming problem. Moreover, the solution of this problem should give some information for the problem to be solved at least in each step in which an integral solution in the lower level is obtained. Cutting plane algorithms have proved to be a powerful tool for attacking discrete optimization problems (see e.g. [1] for an algorithm solving Hamiltonian path and related job scheduling problems, [2] for investigations of mixed 0{1 programs, [7] related to mixed integer problems, [11] concerning survivable networks, [14], [6]). In the following, the cutting plane idea is applied to integer programs. Consider a linear discrete programming problem hp; zi ! max Qz  q; (5) z  0; integer and its linear relaxation hp; zi ! max Qz  q; (6) z  0; where p 2 Rl; q 2 Z k and Q is a k  l matrix with integral coecients. Let u 2 Rk+ be a nonnegative vector. Then, a Chvatal-Gomory cut is an inequality

hr; zi  s 6

where ri = bhu; Qiic is the largest integer not exceeding the inner product of u with the i-th column of Q and s = bhu; qic [17]. Let z be an optimal solution of problem (6). Then, the set

S (z) = fp0 2 Rl : z is an optimal solution of the problem (6) if p is replaced by p0g is the region of stability of the solution z.

The following theorems say that, by the help of an integer point in the region of stability of an optimal solution z for (6) we can construct a ChvatalGomory cut cutting z away if and only if z is not integer valued. This gives one way for deriving a cutting plane algorithm for solving the problem (5). Theorem 3 Let z be an optimal solution of the problem (6), let p0 2 S (z) be integer-valued and let u = u(p0 ) be an optimal solution of the dual problem to (6) for p being replaced by p0 . Then 1. hr; zi  s with ri = bhu; Qi ic; i = 1; : : : ; l and s = bhu; qic de nes a Chvatal-Gomory cut which is satis ed by all points

z 2 P := fz  0 : Qz  q; z integerg: 2. r 2 Q(z ):

3. hr; zi > s if and only if hu; qi is not integer-valued.

Proof:

1. By linear programming duality we have u  0: Hence, hr; zi  s describes a Chvatal-Gomory cut by de nition. Now, for each z 2 P ,

hr; zi  hu; Qzi  hu; qi by feasibility of z and u  0: The rst part follows now by integrality

of the left-hand side of this inequality. 2. We have to show that the problem hr; zi ! max

Qz  q; z  0;

has z as an optimal solution. By linear programming duality,

p0i = hu; Qii = ri 7

for each basic index i and

ri = bhu; Qiic  hu; Qii for all other indices. Hence, u de nes a feasible dual variable satisfying

the complementary slackness conditions. This shows the second part of the proof. 3. By r 2 S (z) we have hr; zi = hu; Qzi = hu; qi: Thus, hr; zi  bhu; qic if and only if hu; qi is integral. Thus, the proof is complete. 2 Theorem 4 Let z be an optimal vertex for problem (6) which is not integervalued. Then, there exists a Chvatal-Gomory cut hr; zi  s with hr; z i > s. Proof: The region of stability S (z) is a convex cone with apex at zero and nonempty interior int S (z) [18, p. 192]. Moreover, since all coecients of the matrix Q are integers, there exists an integer-valued vector p0 2 int S (z). Now, by linear programming duality, hp0 ; zi = hu; qi for u being an optimal solution of the dual problem to (6) for p = p0: Hence, if hp0 ; zi is not an integer, then the assertion of the theorem follows. Let hp0 ; zi be an integer but zi 6= bzic for some i. Then, by the properties of p0 and S (z) there exists an integer t > 0 such that t  p0 + ei 2 int S (z), where ei denotes the i-th unit vector. But then, ht  p0 + ei; zi = t  hp0; zi + zi is not an integer. This shows that, for p := t  p0 + ei, the corresponding Chvatal-Gomory cut is not satis ed by z: 2 Theorems 3 and 4 suggest the formulation of the following Oracle: Given a linear optimization problem (6) with a non-integer optimal solution z, compute a Chvatal-Gomory cut which is not satis ed by z. This oracle constructs an inequality hr; zi  s which is not satis ed by z if and only if z is not integer-valued. Clearly, this oracle is not yet implementable in general. Moreover, by polynomial equivalence of optimization and separation [17, Chapter I.6], NP -hardness [10] of (5) implies NP hardness of the oracle itself. The most sensitive part in the oracle is the computation of an integer vector p0 in the region of stability of the optimal solution z. This vector has to be computed such that hu; qi is not integer-valued where u is the dual solution to z with p replaced by p0 in (6). In using this approach to execute 8

the oracle, Theorems 3 and 4 can be helpful. This approach has the drawback that the computed vectors p0 have often large components. Another way to give a more clear formula for executing the oracle is to compute an approximate solution of the following mathematical programming problem in which the distance of z from the hyperplane fz : hr; zi = sg de ning the cut is maximized:

hu; qi ? bhu; qic ! max krk subject to hr; zi  bhu; qic is the cut derived in Theorem 3.

(7)

By use of linear programming duality, the constraint of this problem can be formulated as a system of linear (in-)equalities in u and r. Hence, problem (7) is a problem of minimizing a nonlinear function subject to linear constraints. Theorem 5 Problem (7) has a nite optimal function value which is positive if and only if z  is not integer-valued. Proof: By Theorems 3 and 4 there exist u; r; p0 such that the objective function value of problem (7) is positive if and only if z is not integervalued. Let u; r; p0 be given according to Theorem 3 such that the objective function value of problem (7) is positive. Obviously, u is rational since Q has integer coecients. Hence, there exist positive integers ; with greatest common divisor 1 such that hu; qi ? bhu; qic = . Now, consider the vector u0 := ( + 1)u: Then,

hu0; qi ? bhu0; qic = ( + 1)hu; qi ? b( + 1)hu; qic = ( + 1)bhu; qic + + ? b( + 1)bhu; qic + + c = :

Hence, by > 1; ri = bhu; Qiic; i = 1; : : : ; l; r 6= 0; we have ( + 1)hu; qi ? b( + 1)hu; qic < hu; qi ? bhu; qic kb( + 1)u> Qck kbu>Qck where bac denotes the vector with the components baic for all i. This proves the theorem. 2 The proof of this theorem shows that, in searching for an optimal solution, we can restrict us to the search on a bounded set. Since bhu; Qiic and bhu; qic can take only nitely many values over bounded sets of solutions 9

u problem (7) decomposes into a nite number of (linear!) optimization

problems. Unfortunately, a closer look on the feasible set of these linear optimization problems shows that their feasible set is in general bounded but not closed since the step function has jumps at integer values. This implies that an optimal solution of the problems (7) need not to exist. But remember that we introduced this problem only to give some way to improve the quality of the cutting planes and that there is no need to solve this problem up to optimality. For attacking it by means of heuristics, local search [20] in the region of stability S (z) can be used. By use of the oracle we can de ne the following cutting plane algorithm for solving the discrete optimization problem (5): Step 1: Solve the relaxed problem (6). Let z be an optimal vertex of this problem. Step 2: If z is integer-valued, then z is an optimal solution of the problem (5). Else, call the oracle to compute a Chvatal-Gomory cut hr; zi  s, add this inequality to the constraints Qz  q (the resulting system is again denoted by Qz  q) and goto Step 1.

4 Application of the cutting plane algorithm for solving discrete bilevel programming problems The idea for solving discrete bilevel optimization problems is described for discrete lower level problems with perturbed objective functions only. It can also be applied to problems with right-hand side perturbations in the lower level problem. But then, the parametric analysis used for computing directions of descent for the linear bilevel programming problems in Step 1 of the algorithm below is much more complicated. This is the case since we are then no longer able to use standard sensitivity analysis for linear programming problems to describe the local behavior of optimal solutions for the lower level problem. The problem to be solved can be stated as follows: subject to

hc; xi + hd; yi ! min x;y By  b; y 10

2 Rn ;

x 2 (y);

(8)

where

(y) = Argmax fhy; xi : Ax  a; x  0; x 2 Z n g: x

(9)

Let M := fx  0 : Ax  a; x 2 Z n g: Then, problem (8), (9) is obviously equivalent to the linear bilevel programming problem hc; xi + hd; yi ! min x;y (10) subject to m 0 By  b; y 2 R ; x 2 (y); where 0(y) = Argmax fhy; xi : x 2 conv M g (11) x

and conv M denotes the convex hull of the set M . This problem has an optimal solution provided that the set f(x; y)> : y 2 Rm; By  b; x 2 conv M g is nonempty and bounded. Clearly, by use of suciently many calls of the oracle it is possible to compute the set conv M . Then, if the set conv M is obtained, we have to solve only one linear bilevel programming problem to obtain a (global or local) optimal solution for problem (8), (9). But this is very time-consuming. Therefore, it is suggested to use an algorithm which alternately solves a linear bilevel programming problem and calls the oracle to get a more accurate approximation of the set conv M . Algorithm for solving the discrete bilevel optimization problem: Step 1: Solve the linear bilevel programming problem a min x;y fhc; xi + hd; y i : By  b; x 2 (y )g;

where a(y) = Argmax fhy; xi : Ax  a; x  0g: x

Let (x; y)> be the obtained solution. Step 2: If x 2 Z n, then stop. Else call the oracle to derive a Chvatal-Gomory cut hr; xi  s, add this inequality to the set of inequalities Ax  a (the resulting system of inequalities is again denoted by Ax  a), compute x 2 a(y) and goto Step 1. 11

Clearly, in Step 1 we can compute a global optimal solution [24] but this is again very time-consuming. Hence, in most iterations we suggest to use a descent algorithm for obtaining feasible solutions which are only suciently good. For describing the descent algorithm, let x 2 a(y). Then,

S (x) = fy : hyB ; B?1Ai  yg is the region of stability of the solution x. Here B denotes a quadratic regular submatrix of (A E ) of rank p, y = (yB ; yN ), x = (xB ; xN ) with xB = B?1a; xN = 0 and p slack variables have been added to x without changing the notation of x. Using the set S (x), a descent algorithm for the

linear bilevel programming problem to be solved in Step 1 of the algorithm can simply be given as an algorithm alternately minimizing hd; yi on S (x) and hc; xi on a(y). This leads to the following more detailed formulation of Step 1 of the above algorithm: Step 1': Either use a global optimization algorithm to solve the linear bilevel programming problem in Step 1 of the above algorithm or solve alternately the problems ) ( hd; yi ! min hc; xi ! min y x and  x 2 a(y) y 2 S (x ); By  b

(where x and y denote the respective solutions) up to the moment when neither of the problems lead to a change in the solution. Step 2 of the algorithm remains unchanged. If the oracle computes a ChvatalGomory cut in every iteration, then the proposed algorithm stops when a feasible solution for the upper level problem has been computed. By Step 1' of the algorithm, the obtained solution (x; y)> is a (local or global) optimal solution of the present linear relaxation of the discrete bilevel programming problem. Unfortunately, this solution is not guaranteed to be a (local or global) optimal solution of the discrete bilevel programming problem. This is a simple consequence of the fact that the set S (x) is only a subset of the region of stability of x for the discrete lower level problem

SD (x) := fy : x is an optimal solution of the problem max x fhy; xi : x 2 conv M gg:

 Hence, the problem min y fhd; y i : y 2 SD (x )g can have a lower optimal value  than min y fhd; y i : y 2 S (x )g. Thus, including the case that it is numerically

12

not possible to compute a Chvatal-Gomory cut by a call of the oracle, the proposed algorithm stops with one of the following results: 1. (x; y)> is feasible for the problem (8) and (globally or locally) optimal for the present linear relaxation. 2. (x; y)> is infeasible for the problem (8), i.e. x is not integer-valued. In the rst case we should continue the solution procedure with some oracle calls leading to a better approximation of conv M . In the second case the usual way out is to start a branch-and-cut procedure. We will not go into the details for such an algorithm combining branch-and-bound with the idea of a cutting plane algorithm to obtain sharper bounds. We will only give some remarks with respect to the bounding procedure and mention that the branching process should be done with respect to the upper level variable y. The reasons therefore have been outlined at the end of Section 2. For ideas of how to construct such a branching process, the reader is referred to [13, chapter 4].

5 A bound for the optimal value In both situations arising when the above algorithm stops we need a rule for the computation of a bound for the optimal value of the bilevel programming problem. For this, as usual, an optimization problem should be solved. The following example highlights the diculties for the construction of such a problem: Example: Consider the problem

?x1 ? 2x2 + 3y1 + 3:2y2 ! min ?2  y1 + y2  2; ?2  y1; y2  2; x 2 (y);

(12)

(y) = Argmax fhy; xi : ?x1 + 3x2  3; x1 ? x2  1; x x1 + x2  2; x  0; integer g:

(13)

where

Let the Chvatal-Gomory cut ?x1 + x2  0 has been added to the constraints of the lower level problem. By our procedure it is easy to see that, for the relaxed problem, the optimal solution of the lower level problem can be taken as a vertex of its feasible set. These are the following points together with 13

their regions of stability:   a) x = 11  3=2  b) x = 1=2 3 c) x = 2   d) x = 33==22

   1  ; S (x) = cone ?11 ; ?  ?1   ?11  S (x) = cone ?1 ; ?1 ;  1   ?1  S (x) = cone ?1 ; 3 ;     S (x) = cone ?31 ; ?11 ; where cone fa1; a2g = fz : z = 1a1 + 2a2; 1; 2  0g is the convex cone spanned by a1; a2: Thus, the point (x; y)> with 1  ?1  x = 1 ; y = ?1 ; hc; xi + hd; yi = ?9:2

is the unique optimal solution of the relaxed problem. But, it is not the optimal solution of the discrete bilevel programming problem which can be detected at the point (x; y)> with     x = 21 ; y = ?02 ; hc; xi + hd; yi = ?10:4: This example shows that it seems to be dicult to compute bounds for the optimal value by solving a bilevel programming problem which approximates the feasible set of the lower level problem from the exterior only. It is also not possible to drop the lower level objective function since then, the resulting problem decomposes into two independent subproblems for which the composition of the optimal solutions is in general far from being feasible for the bilevel problem. Therefore, it is decided to approximate the feasible set of the lower level problem both from the interior and the exterior. This enables us to drop the lower level objective function. Let P  fx  0 : Ax  a; x 2 Z ng be a subset of the set of feasible solutions for the lower level problem. This subset can be generated by heuristics or approximation algorithms. Let Q := f(r; s)> : hr; xi  s is a Chvatal-Gomory cut generated by oracleg be a set of cut generating vectors. Then, the optimal value of the following problem gives a bound for the optimal value of the discrete bilevel programming problem: hc; xi + hd; yi ! min x;y By  b; Ax  a; x  0; (14) hr; xi  s; 8 (r; s)> 2 Q;

hy; xi  hy; zi; 8 z 2 P: 14

Clearly, the last set of inequalities in this problem implies that the x-part of an optimal solution has to be not worse than the best point in the set P with respect to the objective function of the lower level problem. It is also obvious that the optimal solution of the discrete bilevel programming problem is feasible to the problem (14). Hence, its optimal value is indeed a bound for the optimal value of the discrete bilevel programming problem. Moreover, if P = fx  0 : Ax  a; x 2 Z n g (15) and fx  0 : Ax  a; hr; xi  s; 8 (r; s)> 2 Qg = conv M (16) then problems (8), (9) and (14) coincide. Hence, for increasing the accuracy of the approximation, new points in P and/or new cuts are to be computed. By obvious modi cations of (15) and (16) it is also possible to derive a rule for the decision if a point (x; y)> generated by the algorithm is locally optimal for the discrete bilevel programming problem. This section is closed by continuing the last example: Example: Consider the problem (12), (13) again and let P = f(1; 1)> ; (3; 2)> g; Q = f(?1; 1; 0)> g: Then, problem (14) reads as ?x1 ? 2x2 + 3y1 + 3:2y2 ! min x;y ?2  y1 + y2  2; ?2  y1; y2  2; (17) ?x1 + 3x2  3; x1 ? x2  1; x1 + x2  2; x  0; ?x1 + x2  0; y1x1 + y2x2  y1 + y2; y1x1 + y2x2  3y1 + 2y2: The last two inequalities of this problem partition its feasible set into two sets: Mi := f(x; y)> : ?2  y1 + y2  2; ?2  y1; y2  2; ?x1 + 3x2  3; x1 ? x2  1; x1 + x2  2; x  0; ?x1 + x2  0g \ Li ; where L1 = f(x; y)> : 2y1 + y2  0; y1x1 + y2x2  3y1 + 2y2g and L2 = f(x; y)> : 2y1 + y2  0; y1x1 + y2x2  y1 + y2g: The rst of these sets is obtained by xing x^ = (3; 2)> as optimal solution of the problem maxfhy; xi : x 2 conv P g (18) 15

and using L1 as the set of all points (x; y)> where y belongs to the region of stability of x^ for problem (18) and x being not worse than x^ with respect to the lower level problem. The problem of minimizing the upper level objective function over M1 has the optimal solution (x0; y0)> with x0 = (3; 2)> ; y0 = (1; ?2)> and an objective function value of -10.4. The second problem of minimizing the same function on M2 has two optimal solutions at (x0; y0)> and (x1; y1)> with x1 = (2; 1)> ; y1 = (0; ?2)> both having the same objective function value. Note that the second solution is fortunately equal to the optimal solution of the discrete bilevel programming problem. The rst solution is infeasible for this problem.

6 Conclusion and topics for future research In the paper, one approach for solving linear bilevel programming problems with discrete lower level problems is given. This approach uses cutting planes to approximate the lower level feasible sets. A problem generating a lower bound for the optimal value of the bilevel programming problem has also been derived. Besides investigations of the numerical behaviour of the proposed algorithm, especially methods for solving the nonconvex problem used in Section 5 to bound the optimal value of the discrete bilevel programming problem should be considered in more details in the future. This bounding problem seems also to be useful in constructing branch-and-cut algorithms for solving the considered problem. Last but not least, ecient methods for computing strong valid cuts for integer programming problems should be derived. The idea proposed in Section 3 can be used as a starting point for these investigations.

References [1] Ascheuer, N., L.F. Escudero, M. Gr"otschel, and M. Stoer, \A cutting plane approach to the sequential ordering problem (with applications to job scheduling in manufacturing)", SIAM Journal on Optimization 3(1993)1, 25-42. [2] Balas, E., S. Ceria, and G. Cornuejols, \A lift-and-project cutting plane algorithm for mixed 0{1 programs", Mathematical Programming 58(1993)3, 295-324. 16

[3] Bank, B., Guddat, J., Klatte, D., Kummer, B. and Tammer, K., \NonLinear Parametric Optimization," Akademie-Verlag, Berlin, 1982. [4] Bard, J.F., \Coordination of a multidivisional organization through two levels of management," OMEGA 11(1983), 457{468. [5] Bard, J.F. and Moore, J., \An algorithm for the discrete bilevel programming problem," Naval Research Logistics 39(1992), 419{435. [6] Caprara, A. and Fischetti, M., \Odd cut-sets, odd cycles, and 0 - 1/2 Chvatal-Gomory cuts," Working Paper, Univ. Padua, Italy, 1994. [7] Cook, W., R. Kannan, and A. Schrijver, \Chvatal closures for mixed integer programming problems", Mathematical Programming 47(1990)2, 155-174. [8] Dempe, S., \A simple algorithm for the linear bilevel programming problem," Optimization 18(1987), 373{385. [9] Edmunds, T. and Bard, J.F., \An algorithm for the mixed-integer nonlinear bilevel programming problem," Annals of Operations Research 34(1992), 149{162. [10] Garey, M.R. and Johnson, D.S. \Computers and Intractability, A Guide to the Theory of NP{Completeness," W.H. Freeman and Co., 1979. [11] Grotschel, M., C.L. Monma, and M. Stoer, \Facets for polyhedra arising in the design of communication networks with low-connectivity constraints", SIAM Journal on Optimization 2(1992)3, 474-504. [12] Hobbs, B. and Nelson, S., \A nonlinear bilevel model for analysis of electric utility demand-side planning issues," Annals of Operations Research 34(1992), 255{274. [13] Horst, R. and Tuy, H., \Global Optimization, Deterministic Approaches," Springer-Verlag, 1990. [14] Junger, M. and Reinelt, G., \Schnittebenenverfahren in der kombinatorischen Optimierung," Mitteilungen der Gesellschaft fur Angewandte Mathematik und Mechanik 15(1992), 104-119. [15] Mangasarian, O.L., \Misclassi cation minimization," Journal of Global Optimization 5(1994), 309{323. 17

[16] Moore, J. and Bard, J.F., \The mixed integer linear bilevel programming problem," Operations Research 38(1990), 911-921. [17] Nemhauser, G.L. and Wolsey, L.A., \Integer and Combinatorial Optimization," Wiley-Interscience Series in Discrete Mathematics and Optimization, J. Wiley and Sons, 1988. [18] Nozicka, F., Guddat, J., Hollatz, H. and Bank, B., \Theorie der linearen parametrischen Optimierung," Akademie-Verlag, 1974. [19] Oeder, W., \Ein Verfahren zur Losung von Zwei-Ebenen-Optimierungsaufgaben in Verbindung mit der Untersuchung von chemischen Gleichgewichten," Ph.D. thesis, Techn. Univ. Karl-Marx-Stadt, 1988. [20] Papadimitriou, C.H. and Steiglitz, K., \Combinatorial Optimization: Algorithms and Complexity," Prentice Hall, 1982. [21] Rees, R., \The theory of principal and agent. Part 1," Bulletin of Economic Research 37(1985), 3{26; \Part 2," Bulletin of Economic Research 37(1985), 75{95. [22] Vicente, L.N. and Calamai, P.H., \Bilevel and multilevel programming: A bibliography review", Journal of Global Optimization 5(1994)3. [23] Vicente, L.N., Savard G. and Judice, J.J., \The discrete linear bilevel programming problem," Report No. G-94-12, GERAD, Ecole Polytechnique Universite McGill, Montreal, 1994. [24] Tuy, H., Migdalas, A. and Varbrand, P., \A quasiconcave minimization method for solving two-level programs," Journal of Global Optimization 4(1994), 243{263.

18