An Exact Method for a Discrete Multiobjective Linear Fractional Optimization

Integer linear fractional programming problem with multiple objective MOILFP is an important field of research and has not received as much attention as did multiple objective linear fractional programming. In this work, we develop a branch and cut algorithm based on continuous fractional optimization, for generating the whole integer efficient solutions of the MOILFP problem. The basic idea of the computation phase of the algorithm is to optimize one of the fractional objective functions, then generate an integer feasible solution. Using the reduced gradients of the objective functions, an efficient cut is built and a part of the feasible domain not containing efficient solutions is truncated by adding this cut. A sample problem is solved using this algorithm, and the main practical advantages of the algorithm are indicated.


Introduction
Fractional programming has been widely reviewed by many authors Schaible 1 , Nagih, and Plateau 2 and there are entire books and chapters devoted to this subject Craven 3 , Stancu-Minasian 4 , Horst et al. 5 , and Frenk and Schaible 6 .A bibliography, with 491 entries presented by Stancu-Minasian 7 , attracts our attention to the amount of work that has been done in the field in recent years.This bibliography of fractional programming is a continuation of five previous bibliographies by the author 8 .Schaible 1 has published a comprehensive review of the work in fractional programming, outlining some of its major developments.Stancu-Minasian's textbook 4 contains the state-of-the-art theory and practice of fractional programming, allowing the reader to quickly become acquainted with what has been done in the field.
The mathematical optimization problems with a goal function that is a ratio of two linear functions have many applications: in finance corporate planning, bank balance sheet and a computational experience is reported in Section 5. Section 6 provides some concluding remarks.

Problem formulation
The purpose of this paper is to develop an exact method for solving the multiple objective integer linear fractional program MOILFP : where k ≥ 2; c i , d i are 1 × n vectors; α i , β i are scalars for each i ∈ {1, 2, . . ., k}; S {x ∈ R n | Ax ≤ b, x ≥ 0}; A is an m × n real matrix; and b ∈ R m .Throughout this article, we assume that S is a nonempty, compact polyhedron set in R n and d i x β i > 0 over S for all i ∈ {1, 2, . . ., k}.
Many approaches for analyzing and solving the MOLFP problem use the concept of efficiency.A point x ∈ R n is called an efficient solution, or Pareto-optimal solution, for MOLFP problem when x ∈ S, and there exists no point y ∈ S such that Z i y ≥ Z i x , for all i ∈ {1, . . ., k} and Z i y > Z i x for at least one i ∈ {1, . . ., k}.Otherwise, x is not efficient and the vector Z y dominates the vector Z x , where Z x Z i x i 1,...,k .The approach adopted in this work for detecting all integer efficient solutions of problem P is based on solving a linear fractional programming problem, at each stage l: with S 0 S and without the integrity constraint of variables.Note that in place of Z 1 , one can similarly consider the problem P l with another objective Z i for any i ∈ {2, . . ., r}.
If the optimal solution of P l is integer, it is compared to all of the potentially efficient solutions already found and the set of efficient solutions is actualized.The growth direction of each criterion is determined by using its gradient.The method uses this information to deduce a cut able to delete integer solutions which are not efficient for the problem P and determines a new integer solution.In the case where this optimal solution is not integer, two new linear fractional programs are created by using the branching process well known in branch and bound method.Each of them will be solved like the problem P l .
To this aim-let x * l be the first integer solution obtained after solving problem P l by using, eventually, the branching process-one defines B l as the set of indices of basic variables and N l as the set of indices of nonbasic variables of x * l .Let γ i j be the jth component of the reduced gradient vector γ i defined by 2.3 for each fixed i ∈ {1, 2, . . .k}; where c i , d i , α i, and β i are updated values.Let us note that the gradient vector of Z i and the corresponding reduced gradient vector γ i for each fixed index i, i ∈ {1, 2, . . ., k}, have the same sign.Thus calculating γ i is enough to determine the growth direction for each criterion.
In order to give the mathematical expression of the cut, we define the following sets at x * l : An efficient cut is a cut which removes only nonefficient integer solutions.In Section 3, the approach to solve program P is presented.

Methodology for solving MOILFP
In this section, an exact method based on the branching process and using an efficient cut for generating all integer efficient solutions for problem P is presented.First of all, the proposed method is presented in detail, the algorithm for solving the multiple objective integer linear fractional programming problems is then described.We finish the section with the theoretical results which prove the convergence of the algorithm.

Description of the method
Starting with an optimal solution of an LFP problem, the domain of feasible integer solutions is partitioned into subdomains using the principle of branching to the search for integer solutions.As soon as an integer solution is found in a new domain, it is compared to solutions already found and hence the set of all the potentially efficient solutions is updated.An efficient cut is then added for deleting integer solutions that are not efficient.To construct this cut, the growth directions of the criteria are used.The search for the efficient solutions is made in each subdomain created.A given domain contains no efficient solutions when none criterion can grow.This last is said an explored domain.The search for the efficient solutions is stopped only if all created domains were explored domains.First, Cambini and Martein's 10 algorithm is used for solving the following continuous linear fractional program: This is based on the concept of optimal level solution.A feasible point x is an optimal level solution for the linear fractional program P 0 , if x is optimal for the linear program: If, in addition, x is a vertex of the feasible solutions set S 0 , x is said to be a basic optimal level solution.Obviously, an optimal solution for the linear fractional program P 0 is a basic optimal level solution.According to this, the algorithm generates a finite sequence of basic optimal level solutions, the first one, say x 0 , is an optimal solution for the linear program: If x 0 is unique, then it is also a basic optimal level solution for program P 0 , otherwise, solve the linear program P x 0 to obtain a basic optimal level solution.
The solution of the program P 0 obtained in a finite sequence of optimal level solutions is optimal if and only if γ 1 j ≤ 0 for all j ∈ J 1 0 , where Otherwise, there exists an index j ∈ J 1 0 for which γ 1 j > 0. The nonbasic variable x r , r ∈ J 1 0 , which must enters the basis is indicated by the index r such that The original format of the objectives fractional functions and original structure of the constraints is maintained and the iterations are carried out in an augmented simplex table which includes m 3k rows.The first m rows correspond to the original constraints, the m 3 i − 1 1 and m 3 i − 1 2 rows correspond to the numerator and denominator of the objective fractional function Z i , i ∈ {1, 2, . . ., k}, of program P , respectively, and the m 3i row corresponds to the γ i l vector at step l.At each stage of the algorithm, all the rows are modified as usual through the pivot operation when the nonbasic variable x r , r ∈ J 1 0 , enters the basis, except the m 3i rows, for i ∈ {1, 2, . . ., k}, which are modified using the γ i l formula 2.3 .Each program P l corresponds to node l in a structured tree.A node l of the tree is fathomed if the corresponding program P l is not feasible or H l ∅ explored domain .
If the optimal solution x l of program P l is not integer, let x j be one component of x l such that x j α j, where α j is a fractional number.The node l of the tree is then separated in two nodes which are imposed by the additional constraints x j ≤ α j and x j ≥ α j 1, where α j indicates the greatest integer less than α j .In each node, the linear fractional program obtained must be solved, until an integer feasible solution is found.In presence of an integer feasible solution, the efficient cut j∈H l x j ≥ 1 is added to the program and the new program is solved using the dual simplex method.The method terminates when all the created nodes are fathomed.

Algorithm
The algorithm generating the set of all integer efficient solutions of program P is presented in the following steps.The nodes in the tree structure are treated according to the backtracking principle.
Step 1. Initialization: l 0, create the first node with the program P 0 .Eff ∅; integerefficient set of program P Step 2. General step: as long as a nonfathomed node exists in the tree, do: choose the node not yet fathomed, having the greatest number l, solve the corresponding linear fractional program P l using the dual simplex method and the Cambini and Martein's method.Initially, for solving program P 0 , only the Cambini and Martein's method is used .
If program P l has no feasible solutions, then the corresponding node is fathomed.Else, let x l be an optimal solution.If x l is not integer, go to Step 3, else go to Step 4.
Step 3. Branching process partition of the problem into mutually disjoint and jointly exhaustive sub-problems : choose one coordinate x j of x l such that x j : α j , with α j fractional number, and separate the actual node l of the tree in two nodes k, k ≥ l 1, and h, h ≥ l 1, h / k.
In the current simplex table, the constraint x j ≥ α j is added and a new domain is considered in node k and similarly, the constraint x j ≥ α j 1 is added to obtain another domain in node h.Each created program must be solved using the same process until an integer feasible solution is found , go to Step 2.
Step 4. Update the set Eff: if Z x l is not dominated by Z x for all x ∈ Eff, then Eff : Eff ∪ { x l }.If there exists x ∈ Eff such that Z x l dominates Z x , then Eff : Eff \ {x} ∪ { x l }.
Construct the efficient cut: determine the sets N l and H l .
If H l ∅, then the corresponding node is fathomed.Go to Step 2. Else, add the efficient cut j∈H l x j ≥ 1 to the program P l .Go to Step 2.
The following theorems show that the algorithm generates all integer efficient solutions of program P in a finite number of stages.Theorem 3.1.Suppose that H l / ∅ at the current integer solution x * l .If x is an integer efficient solution in domain S l \ {x * l }, then x ∈ S l 1 .
Proof.Let x be an integer solution in domain S l \ {x * l } such that x / ∈ S l 1 , then j∈H l x j 0, that implies x j 0 for all index j ∈ H l .
From the simplex table corresponding to the optimal solution x * l , the criteria are evaluated by Z i x j∈N l c i j x j α i j∈N l d i j x j β i for i ∈ {1, . . ., k}, where

3.8
In the other hand, γ i j β i c i j − α i d i j ≤ 0, for all index j ∈ N l \ H l and γ i j β i c i j − α i d i j < 0 for at least one criterion, implies that c i j ≤ α i d i j /β i for all j ∈ N l \H l because β i d i x * l β i > 0 for all criterion i ∈ {1, . . ., k}.The decision variables being nonnegative, we obtain c i j x j ≤ α i d i j /β i x j for all j ∈ N l \ H l and hence x j α i .

3.10
Consequently, Z i x ≤ Z i x * l for all i ∈ {1, . . ., k} and Z i x < Z i x * l for at least one index.Hence Z x * l dominates Z x and the solution x is not efficient.

Corollary 3.2.
Suppose that H l / ∅ at the current integer solution x * l .Then the constraint j∈H l x j ≥ 1 is an efficient cut.
Proof.By the above theorem, no efficient solution is deleted when the constraint j∈H l x j ≥ 1 is added.We can say that this is an efficient valid constraint.In the other hand, x * l does not satisfy this constraint since x j 0, for all j ∈ N l .We conclude that the constraint is an efficient cut.

Proposition 3.3. If H l ∅ at the current integer solution x *
l , then S l \ {x * l } is an explored domain.
Proof.H l ∅ means that x * l is an optimal integer solution for all criterion, hence x * l is an ideal point in the domain S l and S l \ {x * l } does not contain efficient solutions.
Theorem 3.4.The described algorithm terminates in a finite number of iterations and generates all the efficient solutions of program P .
Proof.The set S of feasible solutions of problem P , being compact, contains a finite number of integer solutions.Each time an optimal integer solution x * l is calculated, the efficient cut is added.Thus according to the above theorem and corollary, at least the solution x * l is eliminated when one studies any subproblem P k , k > l, but no efficient solution is deleted.

An illustrative example
The following program P is given as an example of multiple objective linear fractional programming MOLFP in Kornbluth and Steuer 20 : Using the described algorithm, program P 0 is first resolved and the optimal solution is given in the simplex Table 1: Since γ 1 j ≤ 0 for all j ∈ J 1 0 , J 1 0 N 0 {3, 4}, then the obtained solution 32/7, 8/7 is optimal for program P 0 , but not integer.Therefore, two branches are possible.1 x 1 ≥ 5 ⇔ −1/7x 3 − 4/7x 4 ≥ 3/7.This is not possible and 1 is fathomed.
This constraint is added and the dual simplex method is applied.The integer optimal solution of program P 2 is obtained in Table 2.
The constraint x 5 ≥ 1 is added to the current simplex table and after pivoting, we obtain Table 3.
The constraint x 10 ≥ 1 is added and we obtain Table 5.The dual is not feasible, then the corresponding node is fathomed.The algorithm terminates since all nodes are fathomed and the integer efficient solutions set of program P is Eff { 4, 1 , 3, 0 , 2, 0 , 1, 0 , 0, 0 }.

Computational results
The computer program was coded in MATLAB 7.0 and run on a 3.40 GHz DELL pentium 4, 1.00 GB RAM.The used software was developed by the authors and was tested on randomly generated problems.We show the results of the computational experiment in Table 6.
The method was tested with m 5 and 10 constraints with r 4 objectives functions and n variables, n ∈ {15, 20, 25} randomly generated.The coefficients are uncorrelated integers uniformly distributed in the interval 1, 100 for constraints and 1, 80 for objective functions about the first two types of treated problems.For the latter two types of problems tested, the integer values of the matrix constraints vary in the interval 1, 50 and for those of criteria in 1, 30 .The right-hand side value is set to α% of the sum of the coefficients integer part of each constraint, where α ∈ {17, 25, 33}.With each instance n, m, α , a series of 20 problems is solved and the whole efficient solution set was generated for all these problems.The method being exact, it was expected that the iteration number of the simplex method is very large taking into account the fact that, for this type of problems, the number of efficient solutions increases quickly with the data size.In addition, we should like to point out that the ratio EC/cuts tends toward the value one, showing that the number of efficient cuts introduced into the method is very large compared to the full number of cuts and indicating that this type of cuts has a positive impact on the research of the whole of efficient solutions.

Conclusion
In this paper, an exact method for generating all efficient solutions for multiple objective integer linear fractional programming problems is presented The method does not require any nonlinear optimization.A linear fractional program is solved using the Cambini and Martein's algorithm in the original format and then by using the well-known concept of branching in integer linear programming, integer solutions are generated.The proposed efficient cut exploits all the criteria in the simplex table, and only the parts of the feasible solutions domain containing efficient solutions are explored.Also it is easy to implement the proposed cut since to obtain integer solution x k 1 from x k , one has just to append the cut in the simplex table corresponding to x k and carry out pivoting iterations as in an ordinary linear fractional programming problem.The described method solves MOILFP problems in the general case.However, in order to make the algorithm more powerful, the tree structure of the algorithm can be exploited for construction of a parallel algorithm.For large scale problems, the number of efficient solutions can be very high so that it becomes unrealistic to generate them all.In this case, one can choose only the increasing directions of criteria which satisfy a desirable augmentation.This can be made by building the sets H l in an interactive way at each step of the algorithm.

Table 1 B
Rhs

Table 2 B
Rhs