0% found this document useful (0 votes)
4 views15 pages

Biobjective_robust_optimization_over_the

This article presents an exact method for optimizing two preference functions over the efficient set of a multiobjective integer linear programming (MOILP) problem, which is relevant when two decision-makers need to optimize their respective objectives. A branch-and-cut algorithm is developed to efficiently find solutions without enumerating all efficient solutions, and the method is illustrated with examples and computational studies. The proposed approach aims to reduce computational burden while providing preferred solutions based on the decision-makers' preferences.

Uploaded by

YaCher
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views15 pages

Biobjective_robust_optimization_over_the

This article presents an exact method for optimizing two preference functions over the efficient set of a multiobjective integer linear programming (MOILP) problem, which is relevant when two decision-makers need to optimize their respective objectives. A branch-and-cut algorithm is developed to efficiently find solutions without enumerating all efficient solutions, and the method is illustrated with examples and computational studies. The proposed approach aims to reduce computational burden while providing preferred solutions based on the decision-makers' preferences.

Uploaded by

YaCher
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

JOURNAL OF INDUSTRIAL AND doi:10.3934/jimo.

2019102
MANAGEMENT OPTIMIZATION

BIOBJECTIVE OPTIMIZATION OVER THE EFFICIENT SET OF


MULTIOBJECTIVE INTEGER PROGRAMMING PROBLEM

Yasmine Cherfaoui
USTHB, Department of Operational Research
Bp 32 El Alia, 16111 Algiers, Algeria

Mustapha Moulaı̈
USTHB, LaROMaD Laboratory,
Bp 32 El Alia, 16111 Algiers, Algeria

(Communicated by Kaisa Miettinen)

Abstract. In this article, an exact method is proposed to optimize two pref-


erence functions over the efficient set of a multiobjective integer linear pro-
gram (MOILP). This kind of problems arises whenever two associated decision-
makers have to optimize their respective preference functions over many effi-
cient solutions. For this purpose, we develop a branch-and-cut algorithm based
on linear programming, for finding efficient solutions in terms of both prefer-
ence functions and MOILP problem, without explicitly enumerating all efficient
solutions of MOILP problem. The branch and bound process, strengthened by
efficient cuts and tests, allows us to prune a large number of nodes in the tree
to avoid many solutions. An illustrative example and an experimental study
are reported.

1. Introduction. In many real life situations decision-makers encounter with mul-


tiple conflicting objectives to optimize such as minimizing time, maximizing prof-
itability etc. This is why that kind of problems have attracted attention of many
authors [2, 5, 7, 10]. In general, multiobjective optimization aims to find a set
of solutions called efficient solutions. The size of this set is proportional to the
problem size and the computational burden of generating all the set grows rapidly
with problem size [7]. Thus why is it not interesting to generate each element of
this set? Instead decision-maker can give a preference function, which provides
an appropriate solution. These problems are called optimizing a function over the
efficient set and are treated by many authors such as [4, 6, 13, 3]. Their solution
can be quite beneficial since it can reduce the search time and yields exactly the
preferred solution. However, suppose that there exist two decision-makers or one
decision-maker expressing two preference functions. The solution of this problem
will provide a subset of the efficient set. Hence in this paper, we will consider the
problem of optimizing two preference functions over the efficient set of MOILP.
In practice, the efficient set is infinite in the case where the feasible domain is a
polyhedron. So in this article we will consider the case where the domain is discrete,

2010 Mathematics Subject Classification. Primary: 90C29, 90C10; Secondary: 90C57.


Key words and phrases. Multiobjective programming, integer programming, branch-and-cut.

5
6 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

and the two preference functions are linear, so the domain is not convex and the
efficient set is finite.
The optimization of one linear preference function over a MOILP has been con-
sidered and solved by many authors [1, 9, 11]. In [12], the authors strengthen the
branch-and-bound procedure by adding an efficiency test and an efficient cut to
the branching process. Inspired by this technique, even though our method treats
a more difficult problem, it can provide the preferred solutions regarding the two
main functions among the efficient set without browsing all the efficient set in a
reasonable execution time.
This paper is organized as follow: In the following section, the problem is defined
and some definitions and notations concerning the MOILP are given. In Section
3, we outline the solution method and present the algorithm. Then an illustrative
example is solved in Section 4. Computational experiments are reported in Section
5. The last section summarizes concluding remarks.

2. Definitions and preliminaries. The multiobjective integer linear program-


ming problem (MOILP) can be defined as follows:

 max Zi (x) = ci x, i ∈ {1, 2, ..., r}
(M OILP ) s.t. (1)
x ∈ D = X ∩ Zn

where the following notations and assumptions are employed: Z is the set of integers,
r ≥ 2, A ∈ Rm×n , b ∈ Rm , (ci ) = C ∈ Rr×n are row vectors, X = {x ∈ Rn |Ax ≤
b, x ≥ 0}.
The set X is a nonempty convex polytope and the set D is not empty. Several
authors propose a method to solve a (MOILP) [1, 7, 8] using the concept of efficiency.
A feasible solution x∗ ∈ D is called efficient solution for (MOILP) problem if and
only if there is no feasible solution x ∈ D such that Zi (x) ≥ Zi (x∗ ) for all i ∈
{1, ..., r} and Zk (x) > Zk (x∗ ) for at least one k ∈ {1, . . . , r}. Otherwise, x∗ is not
efficient and its criterion vector Z(x∗ ) is dominated by the criterion vector Z(x),
where Z(x∗ ) = (Zi (x∗ ))i=1,...,r .
Let XE denote the set of all efficient solutions for a M OILP problem. Another
type of problem that is well studied is the optimization of a linear function over the
efficient set, which is defined as follows. Let d be a row vector in Rn :

 max dx
(P 1 ) s.t. (2)
x ∈ XE

Since Benson’s initiating article [4], optimization over the efficient set has evolved
sequentially [13], several strategies having been proposed to solve this problem.
Some strategies propose to explore the criterion space where upper and lower bound-
aries are generally used to progressively narrow the search [3]. While other strategies
explore the solutions space and trace adjacent efficient vertex [9], those methods
present generally the inconvenient of enumerating all efficient vertices.
In [12], the authors proposed a branch-and-cut procedure that combines the well-
known Ecker and Kouada efficiency test [8], and the efficient cut cited in [5]. In
fact this method allows to trace efficient vertices in the solutions space and move
from one efficient solution to another without having to enumerate the efficient set
and explores the domain by optimizing the objective function.
OPTIMIZING OVER EFFICIENT SET 7

So if Xl is the subset of the feasible solutions at step l where the optimal inte-
ger solution is x∗(l) and Bl , Nl are the index sets of basic and nonbasic variables
respectively of the optimal solution x∗(l) :
X
xj ≥ 1 (3)
j∈Hl

where
   
i i
Hl = j ∈ Nl | ∃i ∈ {1, . . . , r} with c̄j > 0 ∪ j ∈ Nl | c̄j = 0, ∀i = 1, . . . , r

The inequality (3) is called efficient cut because it takes into account the efficiency
and has the property of removing inefficient solutions without having to enumerate
them [5].
In this paper we propose a new type of problem that can be of use in at least
two types of situations. The first type may occur when a decision-maker has two
preference functions for evaluating the efficient solutions of a multiobjective prob-
lem. For the second type of situation, there are two decision makers. For instance,
let consider the existence of two firms that have joined in a common project. This
project requires optimizing several conflicting objectives, but these two firms have
also individual profit functions to maximize since they do not participate in the
project in the same way, the problem is to find solutions that optimize two prefer-
ence functions over an efficient set of multiobjective problem.
Let d1 , d2 be two row-vectors in Rn representing preference functions of decision
makers. This problem can be written as:
max d1 x


max d2 x


(P 2 ) (4)

 s.t.
x ∈ XE

3. Methodology, algorithm and theoretical results. In what follows, we pro-


pose a branch-and-cut procedure to solve the program (P 2 ) where XE is the efficient
set of MOILP (1) . The solution of (P 2 ) provides a subset XC ⊂ XE such as the
elements in XC are also efficient in terms of d1 and d2 . The naive method of solving
the problem would be to generate the whole set XE then to select the elements of
XE that can be put in XC , of course it would be computationally heavy.
3.1. Methodology description and algorithm. The proposed algorithm gen-
erates all elements of XC without having to enumerate XE . It is based on branch-
and-cut process. The procedure is strengthened by two types of cuts allowing to
fathom nodes more quickly.
At each node l the following linear program is solved using the simplex or the
dual simplex method:
 max d1 x

(LPl ) s.t.
x ∈ Xl

where X0 = X and Xl is a subset of the original set X to explore at node l of the
tree.
If this program has no solution, the node is fathomed, otherwise, there are two
cases; the first case is that the optimal solution x∗(l) is not integer: Then a normal
branching process is followed. The other case is that the solution x∗(l) is integer:
8 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

Then two sets Hl and Hl′ are constructed and the efficient cuts (5) and (6) are
eventually added to the successor nodes of l.
X
xj ≥ 1 (5)
j∈Hl

Hl = j ∈ Nl |∃ ∈ {1, . . . , r}; c̄ij > 0 ∪ j ∈ Nl | c̄ij = 0, ∀i = 1, . . . , r


 

X
xj ≥ 1 (6)
j∈H′ l

H′ l = j ∈ Nl | d¯2j > 0 ∪ j ∈ Nl | d¯1j = 0 and d¯2j = 0


 

Thus corresponding domain of node l1 , the successor of l, is obtained by applying


(5) and (6) to Xl
Xl1 = Xl11 ∩ Xl21 . (7)
n o n o
where Xl11 = x ∈ Xl | 2
P P
j∈Hl xj ≥ 1 and Xl1 = x ∈ Xl | j∈H′ l xj ≥ 1
After that two efficiency tests are preformed by solving the following programs :
 Pr

 max i=1 wi
 s.t.


1
(Tx∗(l) ) ci x − wi = ci x∗(l) , i = 1, . . . , r ;
x ∈ Dl = Xl ∩ Z n ,




 wi ≥ 0, i = 1, . . . , r


 max v1 + v2
 s.t.


(Tx2∗(l) ) di x − vi = di x∗(l) , i = 1, 2
x ∈ Dl = X l ∩ Z n




vi ≥ 0, i = 1, 2

A well-known result, see [8], is that the solution x∗(l) is efficient for M OILP
if and only if (Tx1∗(l) ) has a maximum value of zero. Hence if both of (Tx1∗(l) ) and
(Tx1∗(2) ) x∗(l) have a maximum value of zero then x∗(l) belongs to XC .
The algorithm is summarized as follows:

3.2. Theoretical results. The following theoretical tools show that the algorithm
yields the set of solutions for the program (4) in a finite number of iterations.

Theorem 1. Assume that Hl 6= ∅ and H′ l 6= ∅ at the current integer solution x∗(l) .


If x 6= x∗(l) is an efficient solution of program (P 2 ) in domain Xl , then x ∈ Xl1 (l1
is the successor of l).

Proof. Let x 6= x∗(l) be an integer solution in domain Xl such that x ∈


/ Xl1 , two
cases can occur:
n o
/ Xl11 implies x ∈ x ∈ Xl |
P
• x∈ j∈Nl \Hl x j ≥ 1 .
Therefore, the components of vector x satisfy the inequalities
P
xj < 1
j∈H
P l
xj ≥ 1,
j∈Nl \Hl
OPTIMIZING OVER EFFICIENT SET 9

Algorithm 1: Biobjective optimization over the integer efficient set


Result: XC the solution set of (P 2 )
initialization l = 0, Xl = {x ∈ Rn |Ax ≤ b, x ≥ 0} and XC = ∅;
while there is a non-fathomed node l do
solve (LPl ) using simplex or dual simplex method;
if (LPl ) has an optimal solution x∗(l) then
if x∗(l) is integer then
Solve (Tx1∗(l) );
if the optimal value of the objective function of (Tx1∗(l) ) is 0 then
Solve (Tx2∗(l) );
if the optimal value of the objective function of (Tx2∗(l) ) is 0
then
XC = XC ∪ x∗(l) ;


end
end
Construct the sets Hl and H′ l ;
if Hl = ∅ or H′ l = ∅ then
Fathom the node l
else
Add the cuts (5) and (6) to the successors of l;
end
else
∗(l)
Choose an index k such as xk is fractional. Then, split the
program (LPl ) into j twok sub programs,
j by
k adding respectively the
∗(l) ∗(l)
constraints xk ≤ xk and xk ≥ xk + 1 to obtain (LPl1 ) and
(LPl2 ) ( l1 ≥ l + 1, l2 > l + 1 and l1 6= l2 );
end
else
Fathom the node l;
end
end

this means that xj = 0 for all j ∈ Hl , and xj ≥ 1 for at least one index
j ∈ Nl \Hl . Using the simplex table in x∗(l) , the following equality is supported
for all criterion i ∈ {1, . . . , r}:
X X X
Zi (x) = ci x = cij xj + cij xj , where cij xj = Zi (x∗(l) ).
j∈Bl j∈Nl j∈Bl

Then, we can write


Zi (x) − Zi (x∗(l) ) cij xj
P
=
j∈N
Pl
cij xj + cij xj
P
=
j∈Hl j∈Nl \Hl
cij xj .
P
=
j∈Nl \Hl

Thus, Zi (x) ≤ Zi (x ) for all criterion i ∈ {1, . . . , r}, with Zi (x) < Zi (x∗(l) )
∗(l)

for at least one criterion since c̄ij ≤ 0 for all j ∈ Nl \ Hl .


10 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

We conclude that solution x is not efficient for the M OILP program, then
x∈/ XE , which implies x ∈
/ XC . n o
2
P
• x ∈
/ Xl1 by the same way, it implies that x ∈ x ∈ Xl | j∈Nl \Hl
′ x j ≥ 1 .
Therefore, the components of vector x satisfy the inequalities
P
xj < 1,
j∈H′l
P
xj ≥ 1,
j∈Nl \H′l

then it follows that xj = 0 for all j ∈ H′ l , and xj ≥ 1 for at least one index
j ∈ Nl \H′ l . Using the simplex table in x∗(l) , the following equality is satisfied:
P 2 P 2 P 2
d2 x = dj xj + dj xj where dj xj = d2 x∗(l)
j∈Bl j∈Nl j∈Bl
P ¯2 P ¯2
= d2 x∗(l) + dj xj + dj xj

j∈Hl j∈Nl \H′l
= d2 x∗(l) + d¯2j xj .
P
j∈Nl \H′l

Thus, d2 x ≤ d2 x∗(l) , with d2 x < d2 x∗(l) and d1 x ≤ d1 x∗(l) since x∗(l) is the
optimum of the present program, then x ∈ / XC .
/ XC in both cases, then x is not an efficient solution of program (P 2 ).
Since x ∈
Proposition 2. Suppose that Hl = ∅ or H′ l = ∅ at the current integer solution
x∗(l) then there is no solution in the remaining domain that is not dominated by
x∗(l) .
Proof.
• Assume Hl = ∅, then ∀i ∈ {1, . . . , r}, ∀j ∈ Nl , we have c̄ij ≤ 0 and ∃i0 ∈
{1, . . . , r} such that c̄ij0 < 0, ∀j ∈ Nl . So, x∗(l) dominates all points x, x 6= x∗(l)
of domain Dl .
• Now assume that Hl′ = ∅, then ∀j ∈ Nl , d¯2j < 0 or d¯2j = 0 and d¯1j < 0, adding
to that d¯1j < 0, ∀j ∈ Nl since it is an optimal solution for (LPl ), x∗(l) becomes
the most preferred solution in the domain Dl .

Theorem 3. The algorithm terminates in a finite number of iterations and the set
XC contains all the solutions of (P 2 ).
Proof. Let D, the set of integer feasible solutions of M OILP problem, be a finite
bounded set contained in X . The cardinality of efficient sets XC and XE is a finite
number. It contains a finite number of integer solutions. So the search tree would
have a finite number of branches. Thus the algorithm terminates in a finite number
of steps.
In order XC to contain all the solutions of (P 2 ), the fathoming rules are used
without loss of any elements in XC . At each step l of the algorithm 1, if an integer
solution x∗(l) is found, the cuts eliminate x∗(l) and all dominated solutions from
search (see proposition 2). So the first fathoming rule is when the set Hl or H′ l is
empty. In this case the current node can be pruned since the rest of the domain
contains only dominated solutions either in terms of the multiobjective program or
in terms of the two preference functions. The second rule is the trivial case when
the reduced domain becomes infeasible, whether it is because of previous cuts or
the branching.
OPTIMIZING OVER EFFICIENT SET 11

4. Illustrative example. Let consider two decision makers with the following
preference functions. We solve the following problem using the proposed branch-
and-cut algorithm as follows:

1
+ 5x2 − 12 x3


 max 2 x1
max x3


 s.t.
(x1 , x2 , x3 ) ∈ XE

where XE is the efficient set of the following (MOILP) problem:


 max x1 − 2x2 − x3
x2 − 12 x3

max




max x1 − 8x3




s.t.

1 7
 2 x1 − x2 − x3 ≤ 2
1 3

2 x1 + 2 x2 ≤ 8



x2 + 52 x3 ≤ 6





x1 , x2 , x3 ≥ 0 and integers.

Initialization: We put l = 0, XC = ∅ and X0 = X .


Node 0: solving (LP0 ) gives Table 1 :

Table 1. Optimal simplex table for node 0

B1 x1 x3 x5 RHS
x4 5/6 -1 2/3 53/6
x2 1/3 0 2/3 16/3
x6 1/3 5/2 -2/3 2/3
d¯1 -7/6 -1/2 -10/3 80/3

Since the optimal solution (0, 16


3 , 0) is not integer,
 the problem 16
is divided
into two subproblems by adding constraints x2 ≤ 16 3 and x 2 ≥ 3 + 1 to
the problem (LP0 ) as follows

max 12 x1 + 5x2 − 12 x3 max 12 x1 + 5x2 − 12 x3


 

 

s.t. s.t.
 
(LP1 ) (LP2 )
 x ∈ X0
  x ∈ X0

x2 ≤ 5 x2 ≥ 6
 

Node 1: Solving the problem (LP1 ) gives the following Table 2:


12 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

Table 2. Optimal simplex table for node 1

B2 x3 x5 x7 RHS
5
x4 -1 −1 2 8
x1 0 2 -3 1
5
x6 2 0 -1 1
x2 0 0 1 5
d¯1 - 12 -1 - 27 51
2
d¯2 1 0 0 0
1
c̄ −1 −2 5 −9
c̄2 - 12 0 -2 10
c̄3 -1 -2 3 1

The optimal solution found (1, 5, 0) is integer and so: XC = {(1, 5, 0)}.
From Table 2, H1 = {3} and H′ 1 = {7} and the node 3 is generated.
Node 2: The program (LP2 ) is infeasible.

Node 3: After adding the cuts x3 ≥ 1 and x7 ≥ 1 to Table 2 and solving the
problem, it gives Table 3:

Table 3. Optimal simplex table for node 3

B3 x5 x6 x9 RHS
5 21 21
x4 1 2 4 5
15 11
x1 2 -3 2 2
x3 0 0 -1 1
5 7
x2 0 1 2 2
x7 0 -1 - 25 3
2
x8 0 -1 - 25 1
2
d¯1 -1 - 72 - 37
4
79
4

solution ( 11 7
 11 
The optimal 2 , 2 , 1) is not integer so the constraints x1 ≤ 2 and
x1 ≥ 11

2 + 1 are added respectively to Table 3 and the nodes 4 and 5 are
generated.
Node 4: Solving the problem gives Table 4:
OPTIMIZING OVER EFFICIENT SET 13

Table 4. Optimal simplex table for node 4

B4 x6 x9 x10 RHS
3
x4 1 2 - 12 11
2
5 7
x2 1 2 0 2
x3 0 -1 0 1
x1 0 0 1 5
x5 - 32 - 15
4 - 12 1
4
x7 -1 - 52 0 3
2
x8 -1 - 52 0 1
2
d¯1 -5 -13 - 21 39
2

 7 The optimal 7solution


 found (5, 72 , 1) is not integer so the constraints x2 ≤
2 and x2 ≥ 2 + 1 are added respectively to Table 4 and node 6 and 7 are
generated.
Node 5: By adding the constraint x2 ≤ 53 to Table 3 and solving, we obtain
 

Table 5.

Table 5. Optimal simplex table for node 5

B5 x5 x9 x10 RHS
2 5 29
x4 3 -1 6 6
x1 0 0 -1 6
x3 0 -1 0 1
2 1 10
x2 3 0 3 3
2
x7 −3 0 − 31 5
3
x8 − 23 0 − 31 2
3
x6 − 23 5
2 − 31 1
6
d¯1 − 10
3 − 12 7
6
115
6

10
 10 
 10  solution (6, 3 , 1) is not integer so the constraints x2 ≤ 3
The optimal
and x2 ≥ 3 + 1 are added respectively to Table 5 to generate node 8 and
9.
Node 6: Adding the constraint x2 ≤ 27 to Table 4 produces Table 6.
 
14 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

Table 6. Optimal simplex table for node 6

B6 x9 x10 x11 RHS


x4 -1 − 12 1 5
x1 0 1 0 5
x3 -1 0 0 1
x2 0 0 0 3
x5 0 − 12 − 32 1
x8 0 0 -1 1
5 1
x6 2 0 -1 2
x7 0 0 -1 2
d¯1 − 12 − 21 -5 17
d¯2 1 0 0 1
c̄1 -1 -1 2 -2
c̄2 − 12 0 -2 11
2
c̄3 -1 -1 0 4

The optimal solution found (5, 3, 1) is integer but not efficient since the
1
solution of (T(5,3,1) ) gives a nonzero at optimality, H6 = {11} and H′ 6 = {9}
and the node 10 is generated.
Node 7: Solving the problem generated after adding the constraint x2 ≥ 27 +1
 

to Table 4 gives no solution and the node is fathomed.


Node 8: Solving the problem generated after adding the constraint x2 ≤ 10
 
3
to Table 5 gives the optimal simplex Table 7.

Table 7. Optimal simplex table for node 8

B8 x5 x9 x11 RHS
5
x4 -1 -1 2 4
x2 0 0 1 3
x3 0 -1 0 1
x1 2 0 -3 7
5 1
x6 0 2 -1 2
x7 0 0 -1 2
x8 0 0 -1 1
x10 2 0 -3 1
d¯1 -1 − 12 − 27 18
d¯2 0 1 0 1
c̄1 -2 -1 5 0
c̄2 0 − 21 -2 11
2
c̄3 -2 -1 3 6
OPTIMIZING OVER EFFICIENT SET 15

the optimal solution found (7, 3, 1) is not efficient, the node 11 is generated
with H8 = {11} and H′ 8 = {9}.
Node 9: The problem became infeasible after adding the constraint x2 ≥ 10
 
3 +
1 to Table 5, the node is fathomed.
Node 10: solving the problem gives Table 8.

Table 8. Optimal simplex table for the node 10

B10 x6 x10 x13 RHS


x5 − 32 − 21 − 15
4 4
x4 1 − 21 3
2 4
x3 0 0 -1 2
x7 -1 0 − 52 4
x8 -1 1 − 52 3
x9 0 0 -1 1
5
x2 1 0 2 1
x1 0 1 0 5
d¯1 -5 − 12 -13 13
2
d¯2 0 0 1 2
1
c̄ 2 -1 4 1
c̄2 -2 0 − 11
2 1
c̄3 0 -1 -1 3

The optimal solution found (5, 1, 2) is a rejected integer solution since


1
(T(5,1,2) ) admits a nonzero maximum value. So H10 = {6, 13} and H′ 10 =
{13} and the node 12 is generated.
Node 11: After adding the cuts x9 ≥ 1 and x11 ≥ 1 and solving the problem,
Table 9 is obtained.
The optimal solution found (13, 1, 2) is integer so: XC = {(1, 5, 0), (13, 1, 2)},
H11 = {13} and H′ 11 = {13}, the node 13 is generated.
Node 12: After adding the cuts x6 + x13 ≥ 1 and x13 ≥ 1 the problem became
infeasible and the node is fathomed.
Node 13: After adding the cut x13 ≥ 1 the problem became infeasible, the node
is fathomed.
The final set found is XC = {(13, 1, 2), (1, 5, 0)} while XE = {(13, 1, 2), (11, 1, 1),
(10, 2, 0), (9, 1, 0), (7, 3, 0), (4, 4, 0), (1, 5, 0)}. The search tree is presented in Figure
1.

5. Computational results. The proposed branch-and-cut algorithm is imple-


mented in Visual Studio 2010 environment. The linear and integer linear programs
are solved using the library IBM CPLEX 12.6 for C++ programs. To perform tests
we have used a computer with an Intel Pentium 2.53 GHz processor and 8GB of
memory. The method is tested on randomly generated MOILP with two randomly
generated preferences functions. The objective functions and constraints coefficients
are uncorrelated uniformly distributed. Each component of the vector b and the
16 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

Table 9. Optimal simplex table for node 11

B11 x4 x6 x13 RHS


x5 -1 − 52 − 21
4 0
x3 0 0 -1 2
x7 0 -1 − 52 4
x8 0 -1 − 52 3
x10 2 2 3 7
5
x11 0 -1 −2 2
x12 0 -1 − 52 1
x9 0 0 -1 1
5
x2 1 0 2 1
x1 2 2 3 13
d¯1 -1 -6 − 29
2
21
2
d¯2 0 0 3 6
c̄1 -2 0 1 9
c̄2 0 -2 − 11
2 1
c̄3 -2 -2 -4 11

entries of the matrices A and C were randomly drawn from discrete uniform distri-
butions in the ranges [50, 100], [1, 30] and [-10, 10], respectively. The vectors d1 and
d2 are generated in the same way as C. To avoid infeasibility, all the constraints of
each problem are of the ≤ type. Furthermore, since all coefficients of A are positive,
a bounded feasible region is assured.
The problems were grouped according to the number of variables, constraints and
objective functions into six categories. In each category the number of objective
functions r changes from 3 to 8. For each category of problems, 50 instances were
solved.
The computational results obtained are summarized in Table 10 . The statistics
about the CP U time (in seconds) are reported. The two last columns µ and ρ refer
to the average of |XE | and the average of |X C|
|XE | , respectively. The elements and the
cardinality of XE are calculated using the algorithm presented in [5].
From the computational experiments shown in Table 10 , it appears that ρ does
not exceed a maximum of 0.17 and has a decreasing trend compared to the size
of the problem. These random experiments illustrate the usefulness of calculating
XC since the cardinality of XC is much smaller than that of XE which explains the
reasonability of the execution times.

6. Conclusion. In this paper we present an exact method to solve a new type


of problem, where two decision makers are available in a multiobjective problem.
The solution of the problem has two main advantages: The first is that, unlike
the method for optimizing a single function over the efficient set, the optimization
of two functions offers to decision-makers a set of solutions, in a finite number of
iterations. The second advantage is that the solution is obtained without browsing
CPU time (second) CPU time (second) CPU time (second)
r× m×n Mean Min. Max. µ ρ r× m×n Mean Min. Max. µ ρ r× m×n Mean Min. Max. µ ρ
3 10× 10 0.45 0.13 0.28 35.24 0.14 5 10× 10 1.76 1.45 38.76 55.45 0.10 7 10× 10 4.72 0.85 10.45 76.4 0.08
10× 20 3.34 1.78 13.43 35.10 0.14 10× 20 22.01 2.02 71.04 56.74 0.11 10× 20 14.93 7.47 60.00 76.5 0.08
20× 20 8.88 0.92 63.49 65.46 0.08 20× 20 55.62 7.32 196.72 55.64 0.06 20× 20 89.35 18.75 191.43 147.6 0.04
20×30 11.31 1.64 36.84 66.11 0.09 20×30 63.37 2.01 189.53 107.15 0.06 20×30 81.71 9.25 293.93 146.5 0.05
30×30 30.44 5.55 113.53 95.98 0.06 30×30 105.63 12.63 314.84 157.66 0.04 30 ×30 193.24 7.21 279.32 218.4 0.04
30× 40 84.65 31.07 288.86 94.23 0.04 30× 40 108.55 11.67 238.44 56.51 0.04 30×40 124.20 22.56 252.11 217.9 0.04
Table 10. Random instances execution times

40× 40 134.57 32.89 309.45 125.80 0.04 40× 40 95.88 10.08 196.04 208.00 0.04 40× 40 144.99 9.14 331.40 287.9 0.03
40×50 157.73 34.56 433.92 125.20 0.03 40×50 171.28 67.02 255.41 209.01 0.04 40× 50 149.37 52.53 317.58 287.0 0.02
50×50 202.20 68.99 479.77 154.78 0.03 50×50 165.06 19.80 412.60 256.20 0.02 50×50 161.94 7.88 531.84 357.3 0.02
50×60 203.40 95.00 479.77 259.40 0.03 50×60 164.41 107.78 258.46 617.69 0.08 50×60 704.35 67.92 403.40 1284.2 0.01

OPTIMIZING OVER EFFICIENT SET


60×60 228.61 165.60 392.78 184.92 0.02 60×60 193.00 116.16 241.51 737.87 0.08 60×60 758.37 115.88 1414.97 1534.5 0.01
60×70 310.23 123.54 609.23 185.02 0.02 60×70 133.12 47.042 187.70 737.62 0.07 60×70 1076.53 336.29 1846.52 1533.8 0.01
70×70 390.82 81.02 713.86 214.47 0.02 70×70 160.21 69.32 264.74 856.46 0.05 70×70 2028.14 195.02 4653.68 1784.0 0.09
70×80 292.62 127.08 558.62 214.55 0.02 70×80 161.47 116.61 196.78 858.25 0.06 70×80 960.48 50.87 2577.43 1787.5 0.01
80×80 312.25 94.37 739.46 245.54 0.02 80×80 217.85 83.31 361.50 979.63 0.05 80×80 3530.17 381.61 9114.20 2035.2 0.08
80×90 350.63 74.69 539.61 245.23 0.02 80×90 109.25 15.41 194.07 977.41 0.05 80×90 2460.12 708.29 1569.78 2035.8 0.09
90×90 312.26 104.15 498.58 273.78 0.02 90×90 262.81 105.75 440.98 1096.48 0.04 90×90 2316.11 1028.56 4889.80 2218.8 0.07
90×100 399.51 217.42 725.66 275.33 0.02 90×100 269.43 114.42 452.83 1218.49 0.05 90×100 1974.98 315.94 7845.17 2286.2 0.07
100×100 385.82 263.61 771.68 304.80 0.01 100×100 323.08 163.65 590.63 1842.00 0.04 100×100 1824.91 511.32 4602.09 2535.8 0.07

4 10× 10 1.41 0.49 3.68 48.28 0.17 6 10× 10 3.03 0.39 10.94 67.00 0.10 8 10× 10 0.18 0.03 0.37 87.73 0.08
10× 20 9.83 7.18 3.50 45.64 0.12 10× 20 39.78 15.78 94.01 66.44 0.09 10× 20 16.47 0.71 60.18 87.62 0.08
20× 20 15.39 4.03 46.96 85.20 0.08 20× 20 66.32 5.17 282.71 126.79 0.05 20× 20 7.39 1.20 20.18 169.99 0.06
20×30 21.08 5.37 57.29 87.10 0.03 20×30 189.16 53.06 661.83 127.35 0.06 20×30 32.92 6.88 154.09 168.85 0.05
30×30 31.14 6.58 48.91 124.10 0.04 30×30 92.32 4.17 309.10 188.67 0.05 30×30 62.25 7.17 128.51 248.21 0.03
30× 40 96.71 54.71 144.21 125.16 0.04 30× 40 111.68 25.49 983.48 186.58 0.03 30× 40 272.71 47.81 607.82 247.61 0.03
40× 40 142.48 12.80 441.43 168.86 0.03 40× 40 142.95 12.83 474.68 247.54 0.03 40× 40 106.78 6.81 442.09 329.28 0.03
40×50 165.12 10.11 597.38 165.95 0.03 40×50 228.75 15.01 568.25 201.23 0.03 40× 50 103.12 18.53 291.50 328.67 0.02
50×50 193.56 67.92 403.40 206.61 0.03 50×50 193.56 67.92 403.40 206.11 0.03 50× 50 93.66 0.76 307.25 408.84 0.02
50×60 310.21 151.512 447.21 360.00 0.05 50×60 204.42 207.59 526.59 927.27 0.11 50×60 292.14 196.96 398.75 1694.28 0.16
60×60 258.812 118.114 381.22 430.88 0.04 60×60 1518.78 264.65 304.18 1105.81 0.09 60×60 452.22 71.77 1374.76 2022.22 0.13
60×70 335.81 81.21 830.13 430.64 0.04 60×70 186.89 670.78 459.89 1106.03 0.09 60×70 1550.77 216.31 3051.36 2023.82 0.13
70×70 1698.84 795.42 2628.38 499.34 0.03 70×70 183.2.91 224.67 282.67 1285.22 0.08 70×70 496.24 216.91 738.42 2353.24 0.11
70×80 1996.99 454.60 3772.34 500.41 0.04 70×80 188.4.94 885.67 253.62 1288.00 0.08 70×80 604.30 82.03 1948.63 2354.61 0.11
80×80 2330.11 1715.02 4898.02 571.23 0.04 80×80 207.8.10 318.45 431.18 1465.65 0.07 80×80 578.00 88.23 1782.96 2684.21 0.10
80×90 2962.14 2004.15 4760.58 572.24 0.04 80×90 1686.84 721.54 289.13 1466.03 0.07 80×90 2414.12 304.49 6129.03 2685.44 0.10
90×90 3424.17 365.19 7258.68 639.00 0.02 90×90 1312.65 332.48 2872.48 1643.52 0.06 90×90 1148.57 373.37 2236.29 3011.05 0.08
90×100 2560.14 768.07 4888.01 641.27 0.03 90×100 2162.81 1172.07 3149.72 1647.83 0.06 90×100 1408.70 693.38 2801.51 3016.63 0.09
100×100 4334.21 652.04 12073.88 711.49 0.03 100×100 1574.78 195.28 2751.47 1824.42 0.05 100×100 1748.84 347.71 3221.59 3346.69 0.08

17
18 YASMINE CHERFAOUI AND MUSTAPHA MOULAÏ

(0, 16
3 , 0) 0 XC = ∅
x2 ≤ 5 x2 ≥ 6
(1, 5, 0) 1 XC = XC ∪ {(1, 5, 0)} 2
Inf easible
x3 ≥ 1, x7 ≥ 1

( 11 7
2 , 2 , 1) 3

x1 ≤ 5 x1 ≥ 6

(5, 72 , 1) 4 (6, 10
3 , 1) 5

x2 ≤ 3 x2 ≥ 4 x2 ≤ 3 x2 ≥ 4

(5, 3, 1) 6 7 (7, 3, 1) 8 9
Inf easible Inf easible
x9 ≥ 1, x11 ≥ 1 x11 ≥ 1, x9 ≥ 1

(5, 1, 2) 10 (13, 1, 2) 11 XC = XC ∪ {(13, 1, 2)}

x6 + x13 ≥ 1, x13 ≥ 1 x13 ≥ 1

12 13
inf easible Inf easible

Figure 1. Search tree of the example

all the efficient set so it requires less computationally effort than solving a M OILP
problem.
The proposed solution method is a branch-and-cut algorithm using efficient cuts
that reduce the search domain of the MOILP problem iteratively. Moreover, this
algorithm can directly be extended to multiple decision makers by including the
associated preferences in the efficient cut.
For future works, we are intended to include the nonlinear form in the multi-
objective model and to study this problem with nonlinear preference functions of
decision makers.

REFERENCES

[1] M. Abbas and D. Chaabane, Optimizing a linear function over an integer efficient set, Euro-
pean J. Oper. Res., 174 (2006), 1140–1161.
[2] P. Belotti, B. Soylu and M. Wiecek, Fathoming rules for biobjective mixed integer linear
programs: Review and extensions, Discrete Optim., 22 (2016), 341–363.
OPTIMIZING OVER EFFICIENT SET 19

[3] N. Boland, H. Charkhgard, and M. Savelsbergh, A new method for optimizing a linear function
over the efficient set of a multiobjective integer program, European J. Oper. Res., 260 (2017),
904–919.
[4] H. P. Benson, Optimization over the efficient set, J. Math. Anal. Appl., 98 (1984), 562–580.
[5] M. E-A Chergui and M. Moulaı̈, An exact method for a discrete multiobjective linear fractional
optimization, J. Appl. Math. Decis. Sci., (2008), 12pp.
[6] W. Drici, F-Z Ouaı̈l and M. Moulaı̈, Optimizing a linear fractional function over the integer
efficient set, Ann. Oper. Res., 267 (2018), 135–151.
[7] J. G. Ecker, N. S. Hegner and I. A. Kouada, Generating all maximal efficient faces for multiple
objective linear programs, J. Optim. Theory Appl., 30 (1980), 353–381.
[8] J. G. Ecker and I. A. Kouada, Finding all efficient extreme points for multiple objective linear
programs, Math. Programming, 14 (1978), 249–261.
[9] J. G. Ecker and J. H. Song, Optimizing a linear function over an efficient set, J. Optim.
Theory Appl., 83 (1994), 541–563.
[10] J. P. Evans and R. E. Steuer, A revised simplex method for linear multiple objective programs,
Math. Programming, 5 (1973), 54–72.
[11] J. M. Jorge, An algorithm for optimizing a linear function over an integer efficient set, Euro-
pean J. Oper. Res., 195 (2009), 98–103.
[12] F-Z Ouaı̈l, M. E-A. Chergui and M. Moulaı̈, An exact method for optimizing a linear function
over an integer efficient set, WSEAS Transactions on Circuits and Systems, 16(3) (2017),
141–148.
[13] Y. Yamamoto, Optimization over the efficient set: Overview, J. Global Optim., 22 (2002),
285–317.

Received May 2018; 1st revision December 2018; 2nd revision April 2019.
E-mail address: [email protected]
E-mail address: [email protected]

You might also like