0% found this document useful (0 votes)
2 views17 pages

Optimizing A Linear Fractional Function

This article presents a new exact method for maximizing a linear fractional function over the integer efficient set of multi-objective integer linear programming problems. The proposed method utilizes branch and cut techniques along with continuous linear fractional programming to efficiently find optimal solutions without enumerating all efficient solutions. Experimental results demonstrate the effectiveness of this approach compared to existing methods.

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)
2 views17 pages

Optimizing A Linear Fractional Function

This article presents a new exact method for maximizing a linear fractional function over the integer efficient set of multi-objective integer linear programming problems. The proposed method utilizes branch and cut techniques along with continuous linear fractional programming to efficiently find optimal solutions without enumerating all efficient solutions. Experimental results demonstrate the effectiveness of this approach compared to existing methods.

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/ 17

Ann Oper Res

DOI 10.1007/s10479-017-2691-0

MULTIPLE OBJECTIVE OPTIMIZATION

Optimizing a linear fractional function over the integer


efficient set

Wassila Drici1 · Fatma Zohra Ouail2 ·


Mustapha Moulaï1

© Springer Science+Business Media, LLC 2017

Abstract In this article, a new exact method is proposed to solve a problem, say (I L F P) E , of
maximizing a linear fractional function over the integer efficient set of multi-objective integer
linear programming problem (M O I L P). The method is developed through the branch and
cut technique and the continuous linear fractional programming, to come up with an integer
optimal solution for problem (I L F P) E without having to explicitly list all efficient solutions
of problem (M O I L P). The branching process is strengthened by an efficient cut as well as
an efficiency test so that a large number of non-efficient feasible solutions can be avoided.
Illustrative example and an experimental study are reported to show the merit of this new
approach.

Keywords Multi-objective programming · Integer programming · Linear fractional


programming · Branch and cut

Mathematics Subject Classification 90C29 · 90C10 · 90C32 · 90C57

1 Introduction

In multi-objective optimization problems, we attempt to optimize, concurrently, several


objectives that can be linear or not (Dinkelbach 1967; Ecker and Kouada 1975; Isermann

B Wassila Drici
[email protected]
Fatma Zohra Ouail
[email protected]
Mustapha Moulaï
[email protected]
1 LaROMaD Laboratory, Faculty of Mathematics, USTHB, BP 32,
Bab Ezzouar 16111, Algiers, Algeria
2 Department of Operational Research, Faculty of Mathematics, USTHB, BP 32,
Bab Ezzouar 16111, Algiers, Algeria

123
Ann Oper Res

1974; Schaible 1981). Unable to find one optimal solution, we search for a set of solutions
called efficient solutions. In the last decades, this class of problems became such an important
area of multi-objective optimization (Chinchuluun and Pardalos 2007; Lokman et al. 2016;
Padberg 2005). Optimizing a non linear function over the efficient set of a Multi-objective
Integer Linear Programming problem (M O I L P) is a difficult problem to solve (see Ozlen
et al. 2013; Benson 1984). This difficulty is due not only to the discrete aspect of decision
variables, but also to the unknown shape of the feasible region representing the efficient set.
In practice, the set of efficient solutions can have a very large cardinality, which makes
it difficult for the decision maker (DM) to choose the best compromise (Stancu-Minasian
2006). However the decision maker can formulate his predictions using one function other
than those of the (M O I L P) problem.
As an application for our method we consider the following multiple objective linear
minimal cost flow problem on network (Datta and Bhatia 1984; Shigeno et al. 2003). Let
G = (V, E) be a connected and directed graph with vertex set V = {v1 , v2 , ..., vm } and arc set
m
E. To each vertex vi (i = 1, 2, ..., m) is assigned a real number bi such that bi = 0.
i=1
Furthermore, each arc (i, j) has a capacity u i j ≥ 0 and r unit transportation costs cikj
(k = 1, 2, ..., r ). The multi-objective linear minimum cost flow problem is formulated as:
⎧ 

⎪ min z k = cikj xi j k = 1, . . . , r



⎪ (i, j)∈E

s.t.
  (1)

⎪ x i j − x ji = bi , i = 1, . . . , m




⎩ (i, j)∈E ( j,i)∈E
0 ≤ xi j ≤ u i j

Since the profitability is an index of operation’s efficiency expressed as a fraction, it can


be written as

pi j xi j + α
(i, j)∈E
ψ(x) = 
qi j xi j + β
(i, j)∈E

where for every arc (i, j) ∈ E; pi j is the unit earning and qi j is the unit cost, α is a fixed
earning and β a fixed cost. The decision maker can consider ψ as the utility function to
optimize over the efficient set of problem (1).
In this paper, we propose an algorithm to find an optimal solution maximizing a linear
fractional function over a non-convex set of efficient solutions of the (M O I L P) problem.
To the best of our knowledge and compared with the linear case, solving (I L F P) E
problem has not received much attention whereas it is relevant and applicable in many real
life situations (Benson 1984; Jorge 2009; Yamamoto 2002).
Zerdani and Moulaï (2011) have optimized a linear function over the integer efficient set of
a multi-objective integer linear fractional problem using Ehrgott’s efficiency test (Ehrgott et al.
1997) and recently, Mahdi and chaabane (2015) have optimized a linear fractional function
over the integer efficient set of the (M O I L P) problem using a cutting plane technique similar
to Chaabane and Pirlot (2010).
Aiming to solve the (I L F P) E problem, the developed method is based on the Branch and
Bound technique strengthened by efficient cuts and tests. The latter spares us to enumerate all
efficient solutions of the (M O I L P) problem in reaching the optimal solution of (I L F P) E

123
Ann Oper Res

problem. By comparison with the only existing method (Mahdi and Chaabane 2015), we can
say that our new algorithm gives very interesting results in very short time.
In Sect. 2, we give some definitions and notations concerning the multi-objective inte-
ger linear problem (M O I L P) and the integer linear fractional problem (I L F P) E , we
also describe a general step of our method and show the way we explore each subset of
the (M O I L P)’s efficient set to maximize a fractional linear function. In Sect. 3, the new
algorithm is depicted, the theoretical tools proving its convergence are given in Sect. 4, an
illustrative example is solved in Sect. 5, computational experiments, and a small comparative
study are reported in Sect. 6.

2 Definitions and notations

The multi-objective integer linear programming problem (M O I L P) is stated as following:


⎨ max Z i (x) = ci x, i ∈ {1, ..., r }
(M O I L P) s.t. (2)

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 , C = (ci ) ∈ Rr ×n are row vectors, X = {x ∈ Rn /Ax ≤ b, x ≥ 0}.
The set X is a non empty convex polyhedron and the set D is not empty.
Several approaches of analysis and solving problem (2) use the concept of efficiency.
A feasible solution x ∗ ∈ D is called efficient solution for (M O I L P) problem if and only
if there is no feasible solution x ∈ D such that Z i (x) ≥ Z i (x ∗ ) for all i ∈ {1, ..., r } and
Z k (x) > Z k (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 ∗ ) = (Z i (x ∗ ))i=1,...,r .
An efficient solution of (M O I L P) problem which maximizes a linear fractional utility
function f of DM, not necessarily a combination of the (M O I L P)’s objective functions,
can be obtained by solving the following program:



⎪ pt x + α
⎨ max f (x) =
(I L F P) E qt x + β (3)

⎪ s.t.

x ∈ XE ⊂ D

where p, q are real n-vectors, α, β ∈ R are arbitrary real constants and X E denotes the
efficient set of the (M O I L P) problem. It is assumed that the factor q t x + β is positive for
all x ∈ X .
We denote by xopt the best efficient solution of problem (3) found till step l and f opt its
corresponding criterion value.
By using a branch and bound technique, the strategy to generate an optimal solution of the
main problem (3) is based on solving a sequence of continuous, more constrained fractional
problems (L F P)l , l ≥ 0 defined by

123
Ann Oper Res


⎪ pt x + α
⎨ max f (x) =
(L F P)l qt x + β (4)

⎪ s.t.

x ∈ Xl

where X0 = X and Xl+1 obtained from Xl by adding efficient cuts defined in below.
Let x ∗(l) be an optimal solution obtained through problem (4) at node l of the structured
tree. If x ∗(l) is integer, we test its efficiency by solving the mixed integer linear problem (5)
given in Ecker and Kouada (1975) as:
⎧ r
⎪ 

⎪ max Θ = ωi




⎨ i=1
E K (x ∗(l) ) s.t. (5)

⎪ C x = I ω + C x ∗(l)



⎪ x ∈ D;


ωi ≥ 0, for all i ∈ {1, ..., r }

where C = (ci )i∈{1,...,r } is (r × n) matrix, I is (r × r ) identity matrix and ω = (ωi )i∈{1,...,r } .


A point x ∗(l) is efficient if and only if the optimal value of the function in E K (x ∗(l) ) is
zero (see Isermann 1974). Otherwise, program E K (x ∗(l) ) can be used to generate an efficient
point even if the point x ∗(l) is not.
In the case where the optimal solution is not integer, a branching process will be triggered,
then two new fractional programs will be created and solved as problem (4).
Let x ∗(l) be the first integer solution obtained after solving problem (4) using, likely, the
branching process. We denote by Bl and Nl , respectively, the set of basic variables and the
set of non-basic variables of x ∗(l) .
Let γ̄ j be the jth component of the growth vector γ of function f defined, at each step,
by:
   
(1) (2)
γ j = f2 p j − z j − f1 q j − z j (6)

(1) (2)
where z j = p B B −1 a j ; z j = q B B −1 a j ; a j is the jth column of matrix A; f 1 = p t x ∗(l) +α;
f 2 = q t x ∗(l) + β ; and f (x ∗(l) ) = f 1 / f 2 . The bar means that the values are updated.
The following theorem (Martos 1975) gives the necessary and sufficient optimality con-
dition for problem (L F P)l .

Theorem 1 A basic feasible solution x ∗ is an optimal solution of problem (4) if and only if
the vector γ̄ is such that γ̄ j ≤ 0 for all j ∈ Nl .

The growth direction of each criterion Z i , i ∈ {1, ..., r } of problem (2) is determined
by using their reduced gradient vectors c̄i = ci − Z i , i ∈ {1, ..., r }. The method uses this
information to build an efficient cut to remove integer solutions, which are not efficient for
problem (2) and determine a new integer solution.
To do so, we define the set of all increasing directions of the criteria as follows:

Hl = j ∈ Nl /∃i ∈ {1, ..., r } ; cij > 0 ∪ j ∈ Nl /cij = 0, ∀i ∈ {1, ..., r } (7)

and the efficient cut of type (1) (Chergui and Moulaï 2008)

123
Ann Oper Res


xj ≥ 1 (8)
j∈Hl

A second cut of type (2) is constructed according to the following inequality

f (x) ≥ f opt (9)

Our method is mainly based on the principle of Branch and Cut. Indeed, in each step of the
algorithm, efficient cuts are, iteratively, added to the initial feasible region to avoid solutions
that are not efficient for (M O I L P) problem.
If the solution is integer at node l of the tree we define the set
⎧ ⎫
⎨  ⎬
1
Xl+1 = x ∈ Xl xj ≥ 1 ,
⎩ ⎭
j∈Hl

and the following set


2
Xl+1 = {x ∈ Xl / f (x) ≥ f opt }.

Therefore, we construct the set


1 2
Xl+1 = Xl+1 ∪ Xl+1

3 Description of the method

Each program (L F P)l corresponds to a node in the structured tree. A node l of the structured
tree is fathomed if:

– the ∗(l) of the corresponding problem 4 is an integer efficient solution


 ∗(l)solution x
x ∈ XE ,
– x ∗(l) is a non efficient integer solution and Hl = ∅, which means that no improvement
of the objective linear functions can be done along remaining domain,
– f opt obtained is greater than or equal to value f at that node,
– the corresponding program (4) is unfeasible.
∗(l)
For each non integer optimal solution x ∗(l) of program (4), let x j be one component
∗(l)
of x ∗(l) such that is a fractional number, the node l of the tree is then separated in two
xj
   
∗(l) ∗(l)
nodes which are imposed by the additional constraints x j ≤ x j and x j ≥ x j where
   
∗(l) ∗(l) ∗(l)
xj indicate the greatest integer less than x j and x j the smallest integer greater
∗(l)
than x j .
Once an integer solution is found at the new node, it is tested for efficiency by solving
problem (5) in order to improve and update the value of the objective function f opt if such
integer solution is better than the integer solution already found. If it is not efficient, the cut
(8) is added and also the cut (9) when f opt is updated, thus a new program is solved. The
method terminates when all the created nodes are fathomed. The optimal integer solution of
problem (3) is then xopt corresponding to the value f opt .
The algorithm generating an optimal solution of the problem (3) is presented in the follow-
ing steps. The nodes in the tree structure are treated according to the backtracking principle.

123
Ann Oper Res

Algorithm : A linear fractional optimization over an integer efficient set

Step 1: Initialization At the beginning, f opt = −∞ optimal value of f , xopt unknown solution, l = 0
and X0 = X .
Step 2: General Step while there exist a non fathomed node in the tree, choose the node not yet fathomed,
having the greatest number l and solve the corresponding linear fractional program (L F P)l using the
dual simplex method and any linear fractional method (Cambini and Martein 1992; Martos 1975).
• If (L F P)l is unfeasible, then corresponding node l is fathomed;
• Otherwise, let x ∗(l) be an optimal solution of (L F P)l .
1. If f opt ≥ f (x ∗(l) ) then node l is fathomed and goto step 2;
2. Otherwise, test the integrality of x ∗(l) .
(a) If x ∗(l) is integer, goto step 2a.
(b) Otherwise, goto step 2b.

Step 2a: Efficiency test Solve problem (5) at an integer point x ∗(l) .
– If x ∗(l) is efficient, then node l is fathomed. Update f opt , if necessary, and goto step 2;
– Otherwise, let  x (l) be an optimal solution of E K (x ∗(l) ). Update f opt , if necessary, and goto
step 2c.
Step 2b: Branching process Since among components of x ∗(l) , there is at least one non-integer
∗(l)
value, choose one of them, say x j and divide the feasible set Xl into two parts Xl1 and Xl2 , by
∗(l) ∗(l)
adding the constraint x j  ⌊x j ⌋ to obtain program (L F P)l1 , x j  ⌈x j ⌉ to obtain program
(L F P)l2 such that l1 > l + 1, l2 > l + 1) and l1  = l2 , add cut (9) if necessary; goto step2.
Step 2c: Efficient cut determine set Nl and construct Hl ;
1. If Hl = ∅ then node l is fathomed and goto step2.;
2. Otherwise, add the efficient cut (8) to problem (L F P)l and if necessary, add cut (9); goto step2.

4 Theoretical tools

The following theoretical results show that the algorithm yields an optimal integer efficient
solution of program (3) in a finite number of iterations.

Theorem 2 Assume that Hl  = ∅ at thecurrent ∗(l) ∗(l) is an


∗(l)
 integer solution x . If x  = x
integer efficient solution in domain Xl  x , then x ∈ Xl+1 .

  1 or
Proof Let x be an integer solution in set Xl  x ∗(l) such that x ∈
/ Xl+1 , then x ∈
/ Xl+1
x∈ 2
/ Xl+1 . ⊔

⎧ ⎫
⎨  ⎬
– if x ∈ 1 , then x ∈
/ Xl+1 / x ∈ Xl / xj ≥ 1 that implies
⎩ ⎭
j∈Hl

⎧ ⎫
⎨  ⎬
x∈ x ∈ Xl / xj ≥ 1 .
⎩ ⎭
j∈Nl Hl
 
Therefore, the following inequalities hold: x j < 1 and x j ≥ 1. It follows
j∈Hl j∈Nl Hl
that x j = 0 for all index j ∈ Hl , and x j ≥ 1 for at least one index j ∈ Nl  Hl

123
Ann Oper Res

By using the simplex table in x ∗(l) , the following equality holds for all criteria i ∈ {1, ..., r }:

Z i (x) = ci x = ci x ∗(l) + cij x j
j∈Nl
 
i ∗(l)
=cx + cij x j + cij x j
j∈Hl j∈Nl \Hl

i ∗(l)
=cx + cij x j
j∈Nl \Hl

   
Therefore, Z i (x) ≤ Z i x ∗(l) for all criteria i ∈ {1, ..., r }, with Z i (x) < Z i x ∗(l) for at
least one criterion since cij ≤ 0 for all j ∈ Nl \Hl .
 
Hence, Z i (x) is dominated by Z i x ∗(l) and x is not efficient.
– if x ∈ 2 , f (x) < f
/ Xl+1 opt . Thus, x is not optimal, This contradicts the hypothesis.

Corollary 1 The constraint x j ≥ 1 defines an efficient cut.
j∈Hl

Proof It is clear that x j ≥ 1 is an efficient valid constraint by the Theorem 2, since
j∈Hl
all integer efficient solutions in the current domain Xl fulfil this constraint. Moreover, the
current integer solution x ∗(l) does not satisfy this constraint since x j = 0 for all j ∈ Hl .

Therefore, we can say that the constraint x j ≥ 1 is an efficient cut. ⊔

j∈Hl
 
Proposition 1 If Hl = ∅ at the current integer solution x ∗(l) , then Xl  x ∗(l) is an explored
domain.
Proof Hl = ∅ means that x ∗(l) is an optimal
 integer
 solution for each criterion, hence x
∗(l)

is an ideal point in the domain Xl and Xl  x ∗(l) does not contain any efficient solution. ⊓

Theorem 3 The algorithm converges to an optimal solution of the program (I L F P) E , if
such a solution exists, in a finite number of iterations.
Proof As D, the set of integer feasible solutions of (M O I L P), is a finite bounded set
contained in X , the cardinality of the efficient set X E is a finite number too. Each time an
optimal integer solution x ∗(l) is calculated either the efficient cut is added if x ∗(l) ∈
/ X E or
there is no further improvement of f opt . Thus, according to the above theorem and corollary,
at least the solution x ∗(l) is eliminated when one studies any sub-problem (L F P)k , k > l,
but no integer efficient solution is omitted. ⊔

5 Illustrative example

To illustrate the use of the algorithm, consider the following problem



⎪ max f (x) = −x1 − x2 + 2x3 + 3x4 − 15


(I L F P) E x2 + x3 + x4 + 1

⎪ s.t
⎩ x ∈X E

where X E represents the integer efficient set of the following (M O I L P) problem defined
by

123
Ann Oper Res



⎪ max Z1 = x1 + x2 − x3 − 2x4



⎪ max Z2 = x1 − 3x2 − x3 + x4



⎪ max Z3 = 2x2 + 2x3 + 2x4



⎪ max Z4 = −x2 + 2x3 + 2x4

s.t.
(M O I L P)

⎪ 3x1 − 2x2 + x3 + x4 ≤ 3



⎪ x2 + 3x3 + 4x4 ≤ 4



⎪ x1 + x2 + x3 + x4 ≤ 5



⎪ 2x2 + x3 ≤ 6

xi ≥ 0, integers ∀i ∈ {1, ..., 4}
Initialization let f opt = −∞, l = 0. The program (L F P)0 is solved. The first optimal
solution x ∗(0) = (0, 14 2
5 , 5 , 0) which is not integer is given in Table 1 and f (x
∗(0) ) = − 85 :
21
As this optimal solution is not integer, the branching process generates two nodes N1 , N2
corresponding to the following constraints :
14
N1 : x 2 ≤ ⌊ ⌋.
5
14
N2 : x2 ≥ ⌈ ⌉.
5
N1 : the constraint x2 ≤ ⌊ 14 ⌋ is added to Table 1 to yield Table 2 with optimal solution
   5 
x ∗(1) = 0, 2, 23 , 0 and f x ∗(1) = − 47 11 .
14
N2 : the constraint x2 ≥ ⌈ 5 ⌉ is added to Table 1 to yield Table 3 with optimal solution
   
x ∗(2) = 0, 3, 0, 41 and f x ∗(2) = − 69 17 .
 ∗(2)   ∗(1) 
As f x > f x , we explore the node N2 . The optimal solution x ∗(2) is not
integer, the branching process is yet launched and we get the constraints:
1
N3 : x4 ≤ ⌊ ⌋.
4
1
N4 : x4 ≥ ⌈ ⌉.
4
N3 : the constraint x4 ≤ ⌊ 41 ⌋ is added to Table 3 to yield Table 4 with optimal solution
= (0, 3, 0, 0) and f (x ∗(3) ) = − 29 .
x ∗(3)

Table 1 A first optimal solution B1 x1 x4 x6 x8 RHS

x7 1 1/5 − 1/5 − 2/5 9/5


x3 0 8/5 2/5 − 1/5 2/5
x2 0 − 4/5 − 1/5 3/5 14/5
x5 3 − 11/5 − 4/5 7/5 41/5
p j − z̄ 1j −1 −1 −1 1 f 1 = − 17
q j − z̄ 2j 0 1/5 − 1/5 − 2/5 f 2 = 21/5
γ̄ j − 21/5 − 4/5 − 38/5 − 13/5
c̄1 1 2/5 3/5 − 4/5
c̄2 1 1/5 − 1/5 8/5
c̄3 0 2/5 − 2/5 − 4/5
c̄4 0 −2 −1 1

123
Ann Oper Res

Table 2 The solution x ∗(1) B2 x1 x4 x6 x9 RHS

x7 1 − 1/3 − 1/3 − 2/3 7/3


x3 0 4/3 1/3 − 1/3 2/3
x2 0 0 0 1 2
x5 3 − 1/3 − 1/3 7/3 19/3
x8 0 − 4/3 − 1/3 − 5/3 4/3
p j − z̄ 1j −1 1/3 − 2/3 5/3 f 1 = − 47/3
q j − z̄ 2j 0 − 1/3 − 1/3 − 5/3 f 2 = 11/3
γ̄ j − 11/3 −4 − 23/3 − 13/3
c̄1 1 − 2/3 1/3 − 4/3
c̄2 1 7/3 1/3 8/3
c̄3 0 − 2/3 − 2/3 − 4/3
c̄4 0 − 2/3 − 2/3 5/3

Table 3 The solution x ∗(2) B3 x1 x6 x8 x9 RHS

x7 1 − 1/4 − 1/4 1/4 7/4


x3 0 0 1 2 0
x2 0 0 0 −1 3
x5 3 − 1/4 − 1/4 − 11/4 35/4
x4 0 1/4 − 3/4 − 5/4 1/4
p j − z̄ 1j −1 − 3/4 1/4 − 5/4 f 1 = − 69/4
q j − z̄ 2j 0 − 1/4 − 1/4 1/4 f 2 = 17/4
γ̄ j − 17/4 − 15/2 − 13/4 −1
c̄1 1 1/2 − 1/2 1/2
c̄2 1 − 1/4 7/4 1/4
c̄3 0 − 1/2 − 1/2 1/2
c̄4 0 − 1/2 − 1/2 − 5/2

N4 : the constraint x4 ≥ ⌈ 41 ⌉ added to Table 3 makes the augmented problem unfeasible,


then the node is fathomed.
As the optimal solution x ∗(3) = (0, 3, 0, 0) is integer, it is tested for efficiency. The solution
 (3)  An integer efficient solution generated by efficiency test is 
is not efficient. x (3) = (2, 3, 0, 0)
with f  x = −5. Update f opt = −5, xopt = (2, 3, 0, 0) and H1 = {1, 8, 9, 10}. Apply
the efficient cut x1 + x8 + x9 + x10 ≥ 1 and the cut f (x) ≥ −5 to obtain the optimal solution
x ∗(4) = (1, 3, 0, 0), f x ∗(4) = − 19 4 given in Table 5:
The solution x ∗(4) is integer but not efficient. Therefore, an integer efficient solution
generated by efficiency test is  x (4) = (2, 3, 0, 0) with f ( x (4) ) = −5 = f opt and H2 =
{9, 10, 11}.
Apply the efficient cut x9 + x10 + x11 ≥ 1 and use the dual simplex method to obtain the
integer efficient solution x ∗(5) = (2, 3, 0, 0), f (x ∗(5) ) = −5 given in Table 6. The current
node is fathomed.

123
Ann Oper Res

Table 4 The solution x ∗(3) B4 x1 x8 x9 x10 RHS

x7 1 −1 −1 −1 2
x3 0 1 2 0 0
x2 0 0 −1 0 3
x5 3 −1 −4 −1 9
x4 0 0 0 1 0
x6 0 −3 −5 −4 1
p j − z̄ 1j −1 −2 −5 −3 f 1 = − 18
q j − z̄ 2j 0 −1 −1 −1 f2 = 4
γ̄ j −4 − 26 − 38 − 30
c̄1 1 1 3 2
c̄2 1 1 −1 −1
c̄3 0 −2 −2 −2
c̄4 0 −2 −5 −2

Table 5 The solution x ∗(4) B5 x8 x9 x10 x11 RHS

x7 −2 −2 −2 1 1
x3 1 2 0 0 0
x2 0 −1 0 0 3
x5 −4 −7 −4 3 6
x4 0 0 1 0 0
x6 −3 −5 −4 0 1
x1 1 1 1 −1 1
x12 6 9 7 1 1
p j − z̄ 1j −1 −4 −2 −1 f 1 = − 19
q j − z̄ 2j −1 −1 −1 0 f2 = 4
γ̄ j − 23 − 35 − 27 −4
c̄1 0 2 1 1
c̄2 0 −2 −2 1
c̄3 −2 −2 −2 0
c̄4 −2 −5 −2 0

N1 : The solution x ∗(1) = (0, 2, 23 , 0) is not integer, the branching process generates two
nodes N5 , N6 corresponding to the following constraints :

2
N5 : x3 ≤ ⌊ ⌋, f (x) ≥ −5.
3
2
N6 : x3 ≥ ⌈ ⌉, f (x) ≥ −5.
3

N5 : the constraint x3 ≤ ⌊ 23 ⌋ is added to Table 2 to yield Table 7 with optimal solution


   
= 0, 2, 0, 21 and f x ∗(6) = − 31
x ∗(6) 7 .

123
Ann Oper Res

Table 6 The solution x ∗(5) B6 x8 x9 x10 x13 RHS

x7 −2 −3 −3 1 0
x3 1 2 0 0 0
x2 0 −1 0 0 3
x5 −4 − 10 −7 3 3
x4 0 0 1 0 0
x6 −3 −5 −4 0 1
x1 1 2 2 −1 2
x12 6 8 6 1 0
x11 0 1 1 −1 1
x14 6 8 6 1 0
p j − z̄ 1j −1 −3 −1 −1 f 1 = − 20
q j − z̄ 2j −1 −1 −1 0 f2 = 4
γ̄ j − 24 − 32 − 24 −4
c̄1 0 1 0 1
c̄2 0 −3 −3 1
c̄3 −2 −2 −2 0
c̄4 −2 −5 −2 0

Table 7 The solution x ∗(6) B7 x1 x6 x9 x10 RHS

x7 1 − 1/4 − 3/4 − 1/4 5/2


x3 0 0 0 1 0
x2 0 0 1 0 2
x5 3 − 1/4 9/4 − 1/4 13/2
x8 0 0 −2 −1 2
x4 0 1/4 − 1/4 − 3/4 1/2
x11 1 2 2 1 2
p j − z̄ 1j −1 − 3/4 7/4 1/4 f 1 = − 31/2
q j − z̄ 2j 0 − 1/4 − 3/4 − 1/4 f 2 = 7/2
γ̄ j − 7/2 − 13/2 − 11/2 −3
c̄1 1 1/2 − 3/2 − 1/2
c̄2 1 − 1/4 13/4 7/4
c̄3 0 − 1/2 − 3/2 − 1/2
c̄4 0 − 1/2 − 3/2 − 1/2

N6 : the constraint x3 ≥ ⌈ 23 ⌉ is added to Table 2 to yield Table 8 with optimal solution


 
= (0, 1, 1, 0) which is integer and f x ∗(7) = − 14
x ∗(7) 3 .
As f (x ∗(6) ) > f (x ∗(7) ), we explore the node N5 . The solution x ∗(6) is not integer, the
branching process is launched and we get the constraints:

123
Ann Oper Res

Table 8 The solution x ∗(7) B8 x1 x6 x4 x10 RHS

x7 1 −3 −1 −2 3
x3 0 0 0 −1 1
x2 0 4 1 3 1
x5 3 9 2 7 4
x8 0 −8 −2 −5 3
x9 0 −4 −1 −3 1
x11 1 8 4 3 1
p j − z̄ 1j −1 −7 1 5 f 1 = −14
q j − z̄ 2j 0 −3 −1 −2 f2 = 3
γ̄ j −3 − 21 − 11 − 13
c̄1 1 −6 −1 −4
c̄2 1 13 3 8
c̄3 0 −6 −2 −4
c̄4 0 6 1 5

Table 9 The other optimal B9 x4 x6 x10 x12 RHS


solution x ∗(8)
x7 −4 −2 −3 1 2
x3 0 0 −1 0 1
x2 4 1 3 0 1
x5 6 −1 4 3 1
x8 −8 −2 −5 0 3
x9 −4 −1 −3 0 1
x11 7 3 4 1 0
x1 1 1 1 −1 1
x13 7 3 4 1 0
p j − z̄ 1j 8 2 6 −1 f 1 = −15
q j − z̄ 2j −3 −1 −2 0 f2 = 3
γ̄ j − 21 −9 − 12 −3
c̄1 −7 −2 −5 1
c̄2 12 2 7 1
c̄3 −6 −2 −4 0
c̄4 6 1 5 0

1
N7 : x4 ≤ ⌊ ⌋.
2
1
N8 : x4 ≥ ⌈ ⌉.
2
N7 : the constraint x4 ≤ ⌊ 21 ⌋ added to Table 7 makes the augmented problem unfeasible,
then the node is fathomed.
N8 : the constraint x4 ≥ ⌈ 21 ⌉ added to Table 7 makes the augmented problem unfeasible
too, the node is fathomed.

123
Ann Oper Res

Fig. 1 Tree representing states of nodes during Branch and Cut algorithm

Table 10 Computational results

r n×m CPU (s) Nbr of nodes Nbr of efficient cuts ρ

3 25 × 20 8.105 [2.574; 19.853] 571.4 [91; 1167] 57.2 [8; 126] 0.190 [0.035; 1]
25 × 25 6.266 [1.611; 19.222] 334.9 [5; 1195] 29.5 [2; 84] 0.077 [0; 0.181]
30 × 20 5.865 [1.8; 15.276] 382.8 [4; 847] 36.8 [1; 102] 0.113 [0.022; 0.666]
30 × 25 8.320 [3.821; 17.585] 630 [165; 1295] 48.8 [5; 90] 0,091 [0, 0312; 0, 187]
35 × 20 12.898 [3.213; 23.368] 835.1 [147; 1705] 59.3 [4; 109] 0.0594 [0; 0.1]
35 × 25 8.902 [4.235; 16.101] 712.1 [315; 1369] 47.7 [14; 106] 0.046 [0.013; 0.08]
40 × 25 16.989 [1.847; 45.343] 1038.7 [1; 2921] 63.4 [0; 189] 0.066 [0.028; 0.173]
5 25 × 20 2.689 [1.406; 4.213] 116.3 [1; 359] 10.9 [0; 35] 0.030 [0.005; 0.125]
25 × 25 2.673 [1.536; 5.279] 93.5 [17; 254] 6.2 [0; 21] 0.022 [0.006; 0.060]
30 × 20 3.744 [1.581; 10.822] 263.1 [3; 862] 10.5 [0; 30] 0.015 [0.003; 0.056]
30 × 25 4.852 [1.505; 15.010] 187.204 [3; 586] 21.4 [0; 83] 0.017 [0.004; 0.053]
35 × 20 8.756 [4.301; 18.541] 1943.3 [278; 14556] 45.9 [13; 176] 0.020 [0.008; 0.032]
35 × 25 3.450 [1.616; 6.336] 118.2 [4; 362] 9.2 [0; 49] 0.006 [0; 0.013]
40 × 25 13.912 [1.718; 67.265] 727.2 [5; 3224] 47.4 [0; 227] 0.011 [0.004; 0.04]
7 25 × 20 2.848 [1.478; 8.137] 75.9 [3; 293] 5.7 [0; 30] 0.009 [0.002; 0.017]
25 × 25 1.926 [1.525; 3.175] 45.4 [3; 179] 2.2 [0; 10] 0.008 [0; 0.029]
30 × 20 3.320 [1.443; 9.298] 174.9 [1; 613] 10.5 [0; 52] 0.009 [0.001; 0.031]
30 × 25 2.522 [1.505; 5.636] 91.8 [3; 400] 3.4 [0; 17] 0.007 [0.001; 0.014]
35 × 20 4.804 [1.607; 14.229] 285.5 [7; 680] 17.1 [0; 69] 0.006 [0.001; 0.015]
35 × 25 3.567 [1.664; 10.267] 166.9 [3; 674] 6.3 [0; 31] 0.006 [0.001; 0.022]
40 × 25 4.777 [1.815; 11.892] 209.3 [9; 667] 13.3 [0; 53] 0.005 [0.001; 0.014]

N6 : the solution x ∗(7) = (0, 1, 1, 0) is integer but not efficient, the efficient solution
x (7) = (1, 1, 1, 0) with f (
generated by efficiency test is x (7) ) = −5 = f opt . An other optimal
solution of the problem (L F PE ) is xopt = (1, 1, 1, 0) and f opt = −5. H3 = {1, 4, 6, 10}.

123
Ann Oper Res

Table 11 Comparison with r n×m CPU (s)


Mahdi, Chaabane’s method
(Mahdi and Chaabane 2015) Mahdi and Chaabane’s Our method
method

3 5×5 0.21 [0.01; 0.16] 0.51 [0.42; 1.15]


10 × 5 0.44 [0.02; 1.6] 0.55 [0.31; 0.86]
15 × 5 0.7 [0.08; 1.72] 1.16 [0.35; 2.57]
20 × 5 1.23 [0.2; 5.23] 1.48 [0.79; 3.22]
20 × 10 1.45 [0.24; 5.12] 1.82 [0.38; 4.23]
30 × 10 8.98 [0.87; 19.31] 8.54 [1.57; 31.43]
35 × 15 7.45 [1.78; 17.34] 5.58 [1.84; 22.88]
40 × 15 10.82 [0.22; 38.27] 3.64 [1.50; 6.81]
50 × 15 45.48 [2.02; 210] 19.89 [1.52; 118.10]
60 × 20 78.37 [5.98; 272] 10.97 [1.68; 43.96]
70 × 20 76.82 [19.6; 286] 35.70[3.69; 104.92]
80 × 20 89 [16.14; 350.45] 55.41 [2.33; 195.54]
20 × 70 24.65 [0.44; 134.29] 4.65 [1.58; 20.24]
20 × 80 23.59 [0.46; 105.61] 4.67 [1.57; 11.04]
5 5×5 0.31 [0.03; 3.18] 1.91 [1.37; 5.45]
10 × 5 1.24 [0.12; 4.16] 1.51 [1.37; 1.63]
15 × 5 3.17 [0.18; 5.36] 2.68 [1.43; 11.01]
20 × 5 3.92 [0.2; 6.23] 4.46 [1.43; 12.34]
20 × 10 4.14 [1.24; 5.82] 1.87 [1.43; 2.51]
30 × 10 7.38 [1.17; 21.31] 2.63 [1.62; 4.31]
40 × 15 10.45 [3.78; 17.34] 1.94 [1.39; 2.52]
50 × 15 23.2 [4.22; 58.27] 2.32 [1.51; 5.06]
60 × 20 89.17 [5.45; 232] 5.68 [1.64; 22.47]
70 × 20 95.25[20.6; 256] 24.74 [1.78; 160.09]
80 × 20 98.43 [17.14; 350.45] 17.59 [1.83; 87.9]
20 × 70 20.85 [0.41; 145.77] 2.47 [1.65; 5.16]
20 × 80 20.91 [0.57; 150.12] 2.44 [1.82; 3.27]
8 5×5 0.57 [0.13; 11.54] 1.41 [1.32; 1.53]
10 × 5 1.25 [0.11; 25] 1.44 [1.29; 1.69]
10 × 5 1.24 [0.12; 4.16] 1.51[1.37; 1.63]
15 × 5 5.56 [1.18; 45.32] 2.18 [1.4; 5.5]
20 × 5 5.02[0.2; 5.23] 1.76 [1.4; 2.84]
20 × 10 10.5 [1.35; 81] 1.63 [1.48; 1.97]
30 × 10 14.5 [3.18; 89.2] 2.27 [1.53; 4.31]
40 × 15 20.69 [2.57; 93.27] 1.92 [1.49; 2.51]
50 × 15 37.32 [5.18; 143.21] 2.17 [1.54; 3.62]
60 × 20 71.25 [7.33; 228.04] 2.03[1.68; 3]
70 × 20 96.82 [19.64; 286] 2.16 [1.53; 3.44]
80 × 20 101.02 [16.14; 364.15] 7.37 [1.349; 31.49]
20 × 70 13.48 [0.53; 101.13] 3.21 [1.57; 9.64]
20 × 80 10.03 [0.63; 59.75] 2.41 [1.67; 4.10]

123
Ann Oper Res

Fig. 2 Histogram representing the computation times

Apply the efficient cut x1 + x4 + x6 + x10 ≥ 1 to obtain the optimal integer solution
x ∗(8) = (1, 1, 1, 0), f (x ∗(8) ) = −5 given in Table 9 which is efficient then the current node
is fathomed.
The algorithm terminates since all created nodes are fathomed and the integer optimal
solutions of problem (I L F P) E are xopt1 = (2, 3, 0, 0) and xopt2 = (1, 1, 1, 0) with optimal
value of the fractional function f opt = −5 .
To summarize the proposed Branch and Cut method throughout this example, we present
a tree showing states of the nodes during the process (Fig. 1).

6 Computational results

The method described in Sect. 3 was implemented in the MATLAB environment and tested on
randomly generated (I L F P) E and (M O I L P) problems. The data are randomly generated
from discrete uniform distribution in the interval [1, 30] for constraints coefficients, [50, 100]
for right hand side coefficients b and [−10, 10] for objective functions coefficients C of
(M O I L P). The vectors p and the scalars α, are generated in the same way as C, nevertheless
the scalar β and the vector q are generated such that (q t x + β) > 0 for all feasible solution
x ∈ X . For each instance (n, m, r ) (n is the number of variables, m is the number of constraints,
and r is the number of objectives), a series of 10 problems were solved. Computational
experiments were carried out on a MacBook Pro, 2.7 GHZ Intel Core i7 and 4 GB memory.
The obtained performance of the algorithm is summarized in Table 11 where the average
CPU time (in seconds), the average number of nodes required, the average number of efficient
cuts are reported. Also, the minimum and maximum figures of each measure are reported
in brackets. The last column ρ of the table indicates the ratio between the average number
of efficient solutions listed and the average number of total efficient solutions of problem
(M O I L P). Notice that for the highest number of objectives, we apply less efficient cuts,
accordingly; we have fewer nodes. We can also see that the cuts eliminate a large number
of efficient solutions since the mean ratio of the average number of efficient solutions of
(M O I L P) listed to the average total of them does not go beyond 0.9% for 8 objectives, 3%
for 5 objectives and 19% for 3 objectives (Table 10).

123
Ann Oper Res

The cuts (8) and (9) avoid us to visit a large number of efficient solutions of (M O I L P)
problem, thus the optimal solution of our main problem (I L F P) E is reached in a very
reduced time. In Table 11, we present a comparison with Mahdi and Chaabane’s method
(Mahdi and Chaabane 2015), we notice that in the most large scaled problems, our method
gives distinctly better results from the computational point of view (Fig. 2).

7 Conclusion

In this article, we develop a new algorithm to solve the problem of optimizing a linear
fractional function over the efficient set of multi-objective integer linear programming prob-
lem without having to enumerate the set of all efficient solutions. Indeed, the branch and
bound process strengthened by efficient cuts (Chergui and Moulaï 2008) and tests allowed
us to fathom a considerable number of nodes in the tree. Thus, several non efficient integer
feasible solutions have been avoided.

References
Benson, H. P. (1984). Optimization over the efficient set. Journal of Mathematical Analysis and Applications,
98, 562–580.
Cambini, A., & Martein, L. (1992). Equivalence in linear fractional programming. Optimization, 23, 41–51.
Chaabane, D., & Pirlot, M. (2010). A method for optimizing over the integer efficient set. Journal of Industrial
and Management Optimization, 6(4), 811–823. https://doi.org/10.3934/jimo.2010.6.811.
Chergui, M.E.A., Moulaï, M. (2008). An exact method for a discrete multiobjective linear fractional optimiza-
tion. Journal of Applied Mathematics and Decision Sciences, 2008, 12, Article ID 760191. http://dx.doi.
org/10.1155/2008/760191.
Chinchuluun, A., & Pardalos, P. M. (2007). A survey of recent developments in multiobjective optimization.
Annals of Operations Research, 154(1), 29–50. https://doi.org/10.1007/s10479-007-0186-0.
Datta, N., & Bhatia, D. (1984). Algorithm to determine an initial efficient basic solution for a linear fractional
multiple objective transportation problem. Cahiers Centre Etudes Recherche Opérationnelle, Kaiser-
slauternol, 26(1–2), 127–136.
Dinkelbach, W. (1967). On nonlinear fractional programming. Management Science, 13, 492–498.
Ecker, J., & Kouada, I. (1975). Finding efficient points for linear multiple objective programs. Mathematical
Programming, 8, 375–377.
Ehrgott, M., Hamacher, H. W., Klamroth, K., Nickel, S., Schobel, A., & Wiecek, M. M. (1997). A note on
the equivalence of balance points and Pareto solutions in multiple-objective programming. Journal of
Optimization Theory and Applications, 92(1), 209–212.
Isermann, H. (1974). Proper efficiency and the linear vector maximization problem. Operational Research,
22, 189–191.
Jorge, J. M. (2009). An algorithm for optimizing a linear function over an integer efficient set. European
Journal of Operational Research, 195, 98–103.
Lokman, B., Köksalan, M., Korhonen, P. J., & Wallenius, J. (2016). An interactive algorithm to find the most
preferred solution of multi-objective integer programs. Annals of Operations Research, 245(1–2), 67–95.
Mahdi, S., & Chaabane, D. (2015). A linear fractional optimization over an integer efficient set. RAIRO-
Operations Research, 49, 265–278. https://doi.org/10.1051/ro/2014036.
Martos, B. (1975). Nonlinear Programming, Theory and Methods. Amsterdam: North-Holland.
Ozlen, M., Azizoglu, M., & Burton, B. A. (2013). Optimising a nonlinear utility function in multi-objective
integer programming. Journal of Global Optimization, 56(1), 93–102.
Padberg, M. (2005). Classical cuts for mixed-integer programming and branch-and-cut. Annals of Operations
Research, 139(1), 321–352.
Schaible, S. (1981). Fractional programming: Applications and algorithms. European Journal of Operational
Research, 7, 111–120.
Shigeno, M., Takahashi, I., & Yamamoto, Y. (2003). Minimum maximal flow problem an optimization over
the efficient set. Journal of Global Optimization, 22, 425–443.
Stancu-Minasian, I. M. (2006). A sixth bibliography of fractional programming. Optimization, 55(4), 405–428.

123
Ann Oper Res

Yamamoto, Y. (2002). Optimization over the effcient set : Overview. Journal of Global Optimization, 22(1–4),
285–317.
Zerdani, O., & Moulaï, M. (2011). Optimization over an integer efficient set of a multiple objective linear
fractional problem. Applied Mathematical Sciences, 5(50), 2451–2466.

123

You might also like