Generating Efficient Solutions in Bilevel Multi-Objective Programming Problems

In this paper, we address bilevel multi-objective programming problems (BMPP) in which the decision maker at each level has multiple objective functions conflicting with each other. Given a BMPP, we show how to construct two artificial multiobjective programming problems such that any point that is efficient for both the two problems is an efficient solution of the BMPP. Some necessary and sufficient conditions for which the obtained result is applicable are provided. A complete procedure of the implementation of an algorithm for generating efficient solutions for the linear case of BMPP is presented. A numerical example is provided to illustrate how the algorithm operates.


Introduction
Bilevel programming is proposed in the literature for dealing with hierarchical systems.It involves two optimization problems where the data of the first one is implicitly determined by the solution of the second.Each decision maker (DM) tries to optimize its own objective function without considering the objective of the other party, but the decision of each party affects the objective value of the one party as well as the decision space.Bilevel problems occur in diverse applications, such as transportation, economics, ecology, engineering and others.
Standard bilevel programming problems where each DM has only one objective have been extensively studied in the literature [1,2].Recent books by Dempe [3] and J. F. Bard [4] present results, applications and solution methods for standard formulation where the objective functions and constraints are not necessarily linear.However, despite their multiple applications [5], the special case of bilevel programming problems where each DM has more than one objective function has not yet received a broad attention in the literature.We have found only about a dozen articles related to this class of problems in the literature [6][7][8][9][10][11].The lack of work is due certainly to the difficulty of searching and defining optimal solutions.Contrarily to the standard two levels pro-gramming problem where it is usually assumed that the set of rational responses of the follower is a singleton, in the bilevel multi-objective problem, the lower level optimization problem has a number of trade-off optimal solutions and the task of the upper level is to focus its search on multiple trade-off solutions which are members of optimal trade-off solutions of lower level optimization problem.Bilevel Multi-objective Programming Problem is then computationally more complex than the conventional Multi-Objective Programming Problem or a bilevel Programming Problem.
In this paper, we address bilevel multi-objective problems in which the decision maker at each level has multiple objective functions conflicting with each other.Given a BMPP, we show how to construct two artificial multi-objective programming problems such that any point that is efficient for both the two problems is an efficient solution of the BMPP.Based on this result, we provided a general algorithm for generating efficient solutions of BMPP.A complete procedure of its implementation for the linear case of BMPP is presented.A numerical example is provided to illustrate how the algorithm operates.
The paper is organized as follows.In the next section, in addition to some notations and definitions that are given, we present the formulation of the problem on which we will focus.In Section 3, we show how to construct two artificial multi-objective programming problems whose resolutions can permit to generate efficient solutions of BMPP.Section 4 provides some necessary and sufficient conditions for the application of the obtained relation.Section 5, is devoted essentially to the implementation of the algorithm for the generation of efficient points in bilevel linear multi-objective programming problems.We give in Section 6 a numerical example to illustrate the proposed algorithm.Finally, the paper is concluded in Section 7.

Preliminaries and Notations
A multi-objective programming problem is formulated in general as follows: where n Q is the objective function vectors and the set of constraints.
n In order to solve (MOPP), it is necessary to define how objective function vectors the order that should be used for the comparison.Due to the fact that, for , there is no canonical (total) order in as there is on R, one can just define partial orders on . Let K be an arbitrary cone such that , a binary relation with respect to the cone K (noted ≤ K ) can be defined by: b if and only if Partial orders introduced by closed pointed convex cones are the most used.Due to the fact that it could not be possible to find a solution that optimize simultaneously all the objective functions, a weaker concept, the concept of Non-dominated point is used.
 is called Pareto-optimal point with respect to the cone K.
The following definition of efficient points is the most used in the literature [12][13][14][15].
The efficient (or Pareto optimal) solutions are then solutions that cannot be improved in one objective function without deteriorating their performance in at least one of the rest.Let us remark that Definition 2 is a particular case of Definition 1 where the cone used is Solving a multi-objective optimization problem consists in finding a part or the whole set of efficient points and to present it for evaluation to the Decision maker (DM).The choice of the DM is then considered as the optimal solution of the multi-objective optimization problem. .

The Optimistic Formulation of BMPP
A standard Bilevel Programming Problem (BPP) can be formulated as follows: , then one speak of bilevel multi-objective programming problems (BMPP).The formulation of a bilevel multi-objective programming problem (BMPP) can be given as follows: , 0

 
Let us denote by R x , the set of rational responses of the follower for each decision x of the leader, it is de-    fined as the set of Pareto-optimal points of the following problem: With this notation, we have the following formulation of BMPP: Let denote by  the feasible space of BMPP defined by: The optimistic formulation of BMPP is given by: subject to , The following definition holds.Definition 3 and , , , , , , , The main goal of this paper is to present an approach for generating efficient points of BMPP'.
Throughout the rest of the paper, the set of efficient point of a multi-objective optimization problem defined by a vector value function h on a feasible set U with respect to a cone K will be noted: If one speaks of efficient point without making a reference to a cone, it is will be with respect to Definition 2. We consider also the following notations: , x  and S denotes the whole set of efficient solutions of problem BMPP'.

Generating Efficient Points for BMPP'
Let us consider the following multi-objective programming problem, constructed from the data of (BMPP'): . , and  be as defined above.

 
Theorem 1: It is a slight modified version of Theorem 4.1 given in [7].□ , , E e Z    Solving (BMPP') is then equivalent to solve the problem: This leads naturally to the following corollary: is not an easy task for at least two reasons: First, it is difficult to generate the whole because it can be infinite and  secondo, in the literature there does not exist approaches developed for finding efficient points with respect to the specific cone . Methods are usually for cones defined in the form , , , , , , , , This formulation and Corollary 1 lead obviously to the Even if the cone used in this last formulation has the desired representation , optimizing multi-objective functions over an efficient set could not be an easy task.We introduce a new problem easier to solve and whose resolution could permit to capture a subset of efficient solutions of (BMPP").
Let consider the following multi-objective program-ming problem: , , , , , , , , , , . Then there exist  , x y   that dominates   , x y with respect to the problem MPP1 and the cone K 1 , which means x y .This implies that: The following result is deducted from Theorem 3 and Corollary 2:

K K
This last result stipulates that in order to find efficient points of BMPP′, one can just solve problem MPP1 (with respect to 1 .K  ) and problem MPP2 (with respect to 4 K  ) and retain all efficient points that are in the both solutions sets.

On the Implementation of an Algorithm
In order to implement the above results, one must be sure that the algorithm will generate at least one efficient solution to BMPP′.This condition is fulfilled if and only if must be different from empty set.The following result gives sufficient conditions for it.
, , E F Z   Theorem 4 If the following three conditions hold: 1) Z is nonempty and compact set; If 2) holds, then F is  -semicontinuous (i.e. the pre-image of the translated negative octant is always closed).Since from 1) Z is nonempty and compact, F(Z) is -semicompact and nonempty.Based on this result, Theorem 2.8 of [13] permits then to say that the set of Non-dominated points is non-empty.Which permits to conclude that the set of Pareto-points is nonempty i.e.
The following theorem gives a sufficient condition for the implementation of an algorithm based on our last result (Corolarry3).

Proof:
Let us suppose that 1) and 2) hold.Consider the following optimization problem: ).Since f j0 is a lower semicontinuous function and Z is a nonempty compact set, pb1 has at least one optimal solution, z 0 (in fact z 0 is unique).
We claim that . This implies that . Due to the fact that z 0 is an optimal solution of (pb1), we have then Since f j0 is an injective function, this implies that z′ = z .Contradiction.Consequently . With a similar proof as in 1), one obtains that .0 Combining 1) and 2) leads to , , , , If the preceding conditions are fulfilled, then one can think of the implementation of an algorithm to generate efficient points of BMPP based on Corollary 3. At least two ideas can be used.The first could be to generate the whole set of efficient points of MLPP1 and then iterate on the set in order to retain the ones that are also Pareto-optimal for the second problem (MLPP2).But it would be a difficult task to generate the whole efficient set of MLPP1 [14][15][16].
The second idea could be to generate progressively (as we go along) efficient points for MPP1 and test simultaneously their efficiency for MLPP2 before moving to another efficient point of MPP1.This seems to be more practical.An algorithm based on the last idea can be formulated as follows: Algorithm 1 /*Computational steps of the algorithm*/ 1) Read problem data and construct problem MPP1 and MPP2.
2) Generate an efficient solution (lets z) of problem MPP1, go to step 4.
3) Generate a new efficient solution z of problem MPP1.
4) If z is efficient solution of MPP2 then z is solution of MBPP; .

 
: S S z   5) If the number of points in S is sufficient or all the efficient points of MPP1 are tested then stop Otherwise go to step 3.
We present in the following section how it can be effectively implemented for generating efficient solutions for linear bilevel multi-objective programming problems.

Generating Efficient Points in Bilevel Multi-Objective Linear Programming Problems Problem and Notations
We consider the following problem: .
The two multi-objective problems used in our preceding algorithm are: Given and , it will be convenient to introduce the vector and last n 2 components are , , y y  .
We call C (resp c) the matrix such that In order to be more concise, the notations and results that follow now are with respect to LMPP1, but all are also valid for (LMPP2).
After adding p + q non negative variable 1 2 2 p q p q p q      the data of (LMPP1) can be represented by the following tableau: The algorithm will start with an initial efficient extreme point and will iterate through different efficient extreme points of LMPP1.At any iteration, for every unexplored efficient extreme point z of LMPP1, the efficiency with respect to LMPP2 is tested.
Points that are Pareto-optimal for both the two problems will be then retained.The entire scheme is repeated, until all the efficient extreme solutions of LMPP1 are tested.
Since efficient extreme points form a connected graph and that Z is regular, LMPP1 has a finite number of extreme efficient points, and so the algorithm is bound to terminate in a finite number of steps.
At each iteration of the algorithm, the current efficient (extreme) point z* will be always associated with a tableau T (as presented above).NT will denote the nonbasic set of the current efficient point z* associated to a tableau T. S1 will represent the set of Pareto-optimal points of problem LMPP1 that the efficiency with respect to LMPP2 has to be tested.S2 will represent the set of points that have been discovered to be Pareto-optimal to both the two problems.
The result below [16][17][18] is the scheme that will be used to check if a feasible solution is a Pareto-optimal solution. Lemma

 
If the maximum value is not zero, then z is Parto-optimal (with respect to (LMPP1)).
The following result [16] can be used to determine incident efficient edges.Based on this lemma, Song [18] claims that this test for each edge can be implemented by solving the following linear program: , 0 . max If the optimal value is zero, then the corresponding edge is efficient.
It is the scheme that will be used by our algorithm for finding efficient edges.Based on these results, the algorithm can be reformulated as follows.
Algorithm 2 /*Computational steps of the algorithm*/ 1) Read data of problem BLMPP and construct problems LMPP1 and LMPP2.
2) Find an arbitrary feasible element z 0  Z.
3) With z 0 , construct and solve the following problem (in order to find an initial efficient point to LMPP1) the optimal solution of (test0).If the optimum value of (test0) is 0, then z 0 is efficient, .Otherwise, z is efficient, , stop.Otherwise, take an element z* from S 1 and . .
the optimal solution of (test1).If the optimal value of (test1) is 0 then z* is efficient to LMPP2 and hence is a solution of (BLMPP′): . 2 : If the number of efficient point is sufficient, then stop.
6) Find efficient edges (with respect to LMPP1) incident to z*, by solving for each j  NT the following problem: Let denote by JT NT  the set of j such that the optimal value of PBj is zero.(Let us recall that the edge obtained by increasing the nonbasic variable N j z in T is efficient if and only if j JT  .)For each j JT  , generate efficient points incident to z* by making a pivot operation on the column j + 1 of tableau T. Let denote by ST the set of efficient points incident to the current efficient point z* that have not already been tested.1: 1 S S ST  .Go to step 4. 

Illustrative Example
Let us consider finding an efficient solution to the following problem:

At step 3:
The following problem is constructed in order to find an initial efficient extreme point (with respect to LMPP1): The initial simplex tableau of the problem is: The optimal simplex tableau of the problem is: The solution of the problem is  and the optimal value of the problem is 2. Since the value is different from 0,  0 is not an efficient point (to LMPP1).We deduct from this optimal tableau that 0, 0, 0 z    0,1, 0 z  is an efficient extreme point (to LMPP1) and the corresponding efficient tableau is given by (T1): The optimal simplex tableau of this problem is: Since the optimal value is 2, so different from zero,   0 is not efficient to LMMP2.We continue to step 6.
1, 0,1 z  At step 6: We use T1 to find incident edge to   0 .Here the set of non-basis variables is given by We solve for different j in NT 1 the problem (PB j ) as presented in the algorithm.For j = 1, PB 1 is: The optimal value is 0. With the same manner, for j = 3, the optimal value of PB 3 is 2; for j = 4, the optimal value of PB 4 is 0. So  1, 0, 0 with the corresponding tableau given by (T2): The set of nonbasic variables is given by   .We go again to step 4.

At step 4: Since
  , we take   1, 0, 0 S and remove it from S 1 (so 1   ).We go to step 5.

At step 5:
We must test if   The optimal value of this problem is 0, so   is efficient to LMPP2 and hence is an efficient solution to our problem: . We continue to step 6. 2 At step 6: We find efficient extreme points incident to our current efficient point (Using T 2 and NT 2 ) by solving for each j in NT 2 the problem (PB j ).For j = 2, one obtains 2 as optimal value of PB 2 ; for j = 3 the optimal value of PB 3 is 0; for j = 4, the optimal value of PB 4 is 2.So .We go to step 7.At step 7: j = 3 leads to a new efficient extreme point with the corresponding tableau T 3 : The set of nonbasic variables is given by .One has then . We go again to step 4. At step 4: Since , we take  and remove it from S 1 (so ).We go to step 5. 1

At step 5:
We must test if   1, 0,3 is efficient to MLPP2 by solving the following problem: The optimal value of this problem is 11.5, so 1, 0,3  is not efficient for LMPP2 and hence is not a solution to our problem.We continue at step 6.
At step 6: We find efficient extreme points incident to the current efficient point  1, 0,3 z   by solving for each j in NT 3 the problem   j .For j = 2, the optimal value of the problem PB 2 is 2. For j = 4 and j = 6, the optimal values of the obtained problems are 0 and so  0, 0, 4 with the corre- sponding tableau T 4 : The set of nonbasic variables is given by   , we take and remove it from S 1 (so ).We go to step 5.

At step 5:
We must test if is efficient to MLPP2 by solving the following problem:


The optimal value of this problem is 12, so  0, 0, 4  is not efficient for LMPP2 and hence is not a solution to our problem.We continue at step 6.
At step 6: We find efficient extreme points incident to the current efficient point  0, 0, 4 Z    by solving for each j in NT 4 the problem (PBj).For all j in NT 4 , 0 is the optimal value of PB j .So .We go to step 7.

 
0,1,5 with the corresponding tableau T 5 : The set of nonbasic variables is given by   The optimal value of this problem is 17.
  0,1,5 S  o is not efficient for LMPP2 and hence is not solution to our problem.We continue at step 6.
At step 6: We find efficient extreme points incident to the current efficient point  0,1,5 z    by solving (PB j ) for each j in NT 5 .
For j = 1, 1.5 is the optimal value of PB 1 ; for j = 4 the optimal value of PB 4 is 2; for j = 6, the optimal value of PB 6 is 0. So  , we deduce that S  1, 0, 0 is an efficient solution to the bilevel linear multi-objective programming problem considered.

Conclusion
We have presented in this paper the optimistic formulation of a bilevel multi-objective programming problem.We have derived two multi-objective programming problems such that any point that is efficient for both the two problems is an efficient solution of the BMPP.An algorithm to generate efficient solutions for BMPP has been developed and applied to the resolution of the linear case of BMPP.We have also provided a necessary and a suf-ficient condition for which the proposed algorithm is applicable.Further studies for finding less restrictive conditions is going on.The performance of the algorithm proposed could be significantly improved on larger problems if a better way to generate efficient points for multiobjective programming problems were used.We hope that this study will contribute in spurring more interest bilevel multi-objective optimization from other researchers and practitioners in the field of Mathematical Programming.

Lemma 2
The edge incident to the current efficient extreme point obtained by increasing the nonbasic varia pivot row with b i > 0. If the pivot row has b i = 0 and a ij < 0 for some j, then the edge obtained by pivoting by the minimum ratio rule in the N if and only if (2) holds.

  1 At step 7 :
Only j = 1 led to a new efficient extreme point.The new efficient point obtained is 1, 4 JT   .We go to step 7.

3 At step 7 :
One finds that it is only j = 4 that leads to a new efficient extreme point 4, 6 JT   .We go to step 7.

 4 At step 7 :
One finds that only j = 2 leads to a new efficient extreme point 1, 2, 6 JT 

 5 At step 7 :
j = 6 leads to an efficient extreme point already tested (that is 6 JT   .We go to step 7.
go to step 4. At step 4: S 1 is empty and the algorithm stops.Since 2