Solving the Multiple Objective Integer Linear

0 downloads 0 Views 309KB Size Report
the q objective functions ensuring the detection of an efficient solution. The ILP programs ... cess, the following definitions and notations are used: Bl and Nl are ... and xj ≥ ⌊αj⌋ + 1, where ⌊αj⌋ indicate the greatest integer less than αj. Each.
Solving the Multiple Objective Integer Linear Programming Problem Mohamed El-Amine Chergui1 , Mustapha Moula¨ı1,and Fatma Zohra Oua¨ıl2 1

Laboratory LAID3, Faculty of Mathematics, USTHB BP 32, El Alia 16111, Algeria, [email protected] 2 D´epartement de Recherche Op´erationnelle, Facult´e des Math´ematiques USTHB BP. 32, EL ALIA 16111 Alger, Alg´erie

Abstract. In this work, an exact method for generating the efficient set of the multiple objective integer linear programming problem (MOILP) is described. When many of the published methods consist of solving initially an ILP program, our method has the advantage of starting with an optimal solution of an LP program whose objective is a positive combination of the criteria, and uses a branching procedure to generate an integer feasible solution. Whenever such a solution is found, the increasing directions of the criteria are recognized and an efficient cutting plane is built in order to delete some of the non efficient solutions without computing them. Compared to the Sylva & Crema’s method where at each stage, the ILP programs considered are augmented by (q + 1) new constraints and q bivalent variables, our method does not depend on q, where q is the number of the criteria.

1

Introduction

Multiple objective integer linear programs (MOILP) are often adequate models for many real-world situations. With such a formulation, an important point is to be able to generate the set of all efficient solutions to this problem (see for example [2]).This paper proposes a novel algorithm to do so. The main originality of the approach taken in the present paper is to make use of classical branching well known in the branch and bound technique (see for example [6]) with a novel efficient cut. Several methods have been developed to generate all efficient solutions of the MOILP problem ([1], [3], [6], [9], [10], [11]). For instance, Klein & Hannan [5], gave an implicit enumeration algorithm which consists of solving a sequence of single objective integer linear programs progressively more constrained. The additional constraints exclude both previously generated efficient solutions and some of the non efficient ones. In [8], a variation of the [5] algorithm is proposed, maximizing at each step a positive combination of the q objective functions ensuring the detection of an efficient solution. The ILP programs considered at each stage are augmented by (q + 1) new constraints and q bivalent variables which aims to eliminate some of the non efficient solutions. The number of ILP problems to be solved is given by the number of nondominated solutions plus one corresponding to an unfeasible problem. The method H.A. Le Thi, P. Bouvry, and T. Pham Dinh (Eds.): MCO 2008, CCIS 14, pp. 69–76, 2008. c Springer-Verlag Berlin Heidelberg 2008 

70

M. El-Amine Chergui, M. Moula¨ı, and F.Z. Oua¨ıl

proposed by Gupta & Malhotra [4], is also a variant of that proposed by Klein & Hannan [5]. It is to determine the set of all efficient solutions where the authors were able to reduce the number of additional constraints at each stage of the procedure. Unfortunately, an example showing that the algorithm stops before producing all efficient solutions is constructed. Therefore, the approach adopted by the authors does not always provide the entire set of efficient solutions. A synthesis of research tasks is made by [10] and completed by [3]. In this paper, a new exact approach based on a branch and cut technique is developed to generate all efficient solutions of the MOILP problem, without computing all feasible integer solutions. In the proposed method, we do not need to search for an initial optimal solution for an ILP problem. Indeed, based on a simplex method, the criteria evolve in a dynamic way in an augmented simplex table when a linear programming problem is solved, then a branching process is carried out to detect an integer solution for a constrained problem. When such a solution is obtained, it is tested for efficiency with those already found using the criteria values. The increasing directions of the criteria are used to build efficient cuts, in order to avoid the exploration of domains containing integer solutions but not efficient integer ones. The sections described in this paper are organized as follows: after a formal introduction of the problem in section 2, the principle of the method is reported in section 3. The main theoretical results allowing to justify various stages of the algorithm suggested in the preceding section are developed in section 4. Computational results are reported in section 5 and a final section concludes.

2

Problem Formulation

We consider the following multiple objective integer linear programming problem (MOILP): ⎧ ⎪ max Z 1 = c1 x ⎪ ⎪ ⎪ max Z 2 = c2 x ⎪ ⎪ ⎪ ⎨ .. . (P ) r ⎪ = cr x max Z ⎪ ⎪ ⎪ ⎪ x∈S ⎪ ⎪ ⎩ x integer q q where S = {x ∈ Rn |Ax = b, x ≥ 0} is the feasible  q set and Z = c x, q = 1, . . . , r, q r ≥ 2, are real-valued linear functions, c = cj j=1,...,n . We assume that S is a nonempty, compact polyhedron, all components of the m × n matrix A = (aij )i=1,...,m; j=1,...,n and the m vector b are integers. A solution x is known as efficient solution, if there is not another solution y such that cq y ≥ cq x for all q ∈ {1, . . . , r} and cq y > cq x for at least one index q ∈ {1, . . . , r}. Otherwise, x is not efficient and the vector Cy dominates the vector Cx, where C = (cq )q∈{1,...,r} . An ideal point x is a solution that maximizes all criteria at the same time: Cy ≤ Cx for any feasible solution y.

Solving the Multiple Objective Integer Linear Programming Problem

71

We define the linear program (Pl ) as follows: ⎧ r ⎨ max Z =  λ cq x q (Pl ) q=1 ⎩ x ∈ Sl with λq ≥ 0 ∀q = 1, ..., r ; S0 = S. At each stage that an integer solution x∗l is obtained after the branching process, the following definitions and notations are used: the indices sets of basic and non-basic variBl and Nl are respectively, variables ables of x∗l , Hl = j ∈ Nl |∃q ∈ {1, ..., r} ;

cqj > 0 ∪ j ∈ Nl |

cqj = 0, ∀q ∈ {1, ..., r} , where

cqj is the j th component of the reduced cost vector of the criterion Z q . The two following subsets of set Sl are defined:

  xj ≥ 1 and Tl+1 = x ∈ Sl | xj ≥ 1 . Sl+1 = x ∈ Sl | j∈Hl

3

j∈Nl \Hl

Principle of the Method

The method is based on the concept of branching in integer linear programming. All operations described below are identified in nodes and branches in a structured tree. At each node, we have to solve a program (Pl ). A node l of the tree is saturated if the corresponding program (Pl ) is not feasible or if Hl = ∅. If the optimal solution x of program (Pl ) is not integer, let xj be one coordinate such that xj = αj where αj is a fractional number. Then, the node l is separated in two nodes with the additional constraint respectively: xj ≤ αj

and xj ≥ αj + 1, where αj indicate the greatest integer less than αj . Each corresponding branch define a new linear program (Pk ), k > l, to solve. The case corresponding to an integer solution x is solved by using the increasing directions of criteria to avoid exploring non efficient regions of the feasible solutions of problem (P ). Only the part of feasible solutions domain in which at least one of the objectives of problem (P ) can be improved is treated. This is made  possible by adding the following valid constraint that we call the efficient xj ≥ 1. cut: j∈Hl

Algorithm Step 1. (Initialization) S0 := S, l := 0 and Ef f := ∅; (integer efficient set of problem (P )) Let λq ≥ 0 for all q ∈ {1, . . . , r}, with at least one strict inequality, solve the linear program (P0 ) at node 0 and let x be an optimal solution. If x is not integer, go to Step 2a, else go to Step 2b. Step 2. (General Step) As long as there is an unsaturated node in the tree, do: Choose the first created node l of the tree, not yet saturated and solve the

72

M. El-Amine Chergui, M. Moula¨ı, and F.Z. Oua¨ıl

corresponding linear program (Pl ). If program (Pl ) have not feasible solutions, then the corresponding node l is saturated. Else, let x be an optimal solution. If x is not integer, go to Step 2a. Else, go to Step 2b. Step 2a. Choose one coordinate xj of x such that xj := αj , with αj fractional number, and separate the actual node l of the tree in two nodes: add the constraint xj ≤ αj in the first node, the constraint xj ≥ αj + 1 in the second node and go to Step 2. Step 2b. If Cx is not dominated by Cy, for all solution y ∈ Ef f , then Ef f := Ef f ∪ {x}. If there exists y ∈ Ef f such that Cy is dominated by Cx, then Ef f := Ef f \{y} ∪ {x}. Determine the sets Bl , Nl and Hl , If Hl = ∅, then the  corresponding node l is saturated, go to Step 2. Else, add the constraint xj ≥ 1 to obtain the set Sl+1 , solve the corresponding program using j∈Hl

the dual simplex method and let x be an optimal solution, If x is an integer solution, go to Step 2b. Else, go to Step 2a.

4

Main Result

In this section, justifications of steps described in the above method are established. The following results show that, at each step l of the method, no integer efficient solution of the set Sl can be ignored when we consider the set Sl+1 ⊂ Sl . Consider the optimal simplex tableau with the integer solution x∗l and note D = {x ∈ D|x integer and x = x∗l }, D ⊆ Sl .   Lemma 1. Sl = Sl+1 ∪ Tl+1

Proof. Let x ∈ Sl . Then x is in the closed domain generated by the Dantzig cut  xj ≥ 1. As Hl and Nl \Hl define a partition of set Nl , the Dantzig cut can j∈Nl   be written as xj + xj ≥ 1. j∈Hl j∈Nl \Hl   If the solution x satisfies the inequality xj ≥ 1, then x ∈ Sl+1 . If not, j∈H l   xj ≥ 1 and hence x ∈ Tl+1 . j∈Nl \Hl

    Consequently, x ∈ Sl+1 ∪ Tl+1 , and Sl ⊆ Sl+1 ∪ Tl+1 .   In the other hand, it is clear that Sl+1 ∪ Tl+1 ⊆ Sl and we can conclude that the equality is true.  

Theorem 1. Let x = x∗l be an integer efficient solution in domain Sl , then x  . is located in set Sl+1  / Sl+1 , then Proof. Let x = x∗l be an integer solution in domain Sl such that x ∈  by the above  lemma x ∈ Tl+1 . Hence, the coordinates of x check the following  xj < 1 and xj ≥ 1. inequalities: j∈Hl

j∈Nl \ Hl

This is equivalent to the following conditions: xj = 0 for all j ∈ Hl , and xj ≥ 1 for at least one index j ∈ Nl \ Hl . By using the simplex table in x∗l , the following equality holds for all criterion q ∈ {1, ..., r}:

Solving the Multiple Objective Integer Linear Programming Problem

cq x = cq x∗l + =⇒ cq x = cq x∗l + =⇒ cq x = cq x∗l +

 

j∈Nl



j∈Hl

c qj xj c qj xj +

j∈Nl \Hl

cqj xj

 j∈Nl \Hl

73

cqj xj

Hence cq x ≤ cq x∗l for all criterion q ∈ {1, ..., r}, with cq x < cq x∗l for at least one criterion since

cqj ≤ 0 for all j ∈ Nl \Hl . We conclude that solution x is not efficient and then, all efficient integer  .   solutions in domain Sl belong to domain Sl+1  xj ≥ 1 define an efficient cut. Corollary 1. The constraint j∈Hl

Proof. It is clear that



xj ≥ 1 is an efficient valid constraint by the above

j∈Hl

theorem, since all integer efficient solutions in the current domain Sl check this constraint. Moreover, the current integer solution x∗l does not satisfy this constraint  since xj = 0 for all j ∈ Hl . In conclusion, we can say that the constraint xj ≥ 1 is an efficient cut.   j∈Hl

Theorem 2. The algorithm described bellow generates all the efficient integer solutions and terminates in a finite number of iterations. Proof. The set S of feasible solutions of problem (P ) being compact, it contains a finite number of integer solutions. At each step l of the algorithm, one determines an integer solution x∗l when there exists. By taking into account the lemma and theorem above, at least the solution x∗l is eliminated when a cut is added. In the other hand, when the set Hl is empty the corresponding solution x∗l is an ideal point and the current node can be saturated since no criterion can be improved.  

5

Computational Results

The method was implemented in a Matlab 7.0 program, using PC pentium 4, CPU 1.60 GHz 512 MB RAM. All the procedures in the method were programmed by our students and no packages are used. The method was tested with randomly generated m constraints, m ∈ {5, 10} and r objective functions, r ∈ {4, 10}. The coefficients are uncorrelated integers uniformly distributed in the interval [20, 90] for constraints and [30, 100] for objective functions. For each constraint j, the right-hand side value bj is set to maximum value between α% of the sum of the coefficients (integer part) of each constraint, where α ∈ {17, 20, 25} , and the maximum value of the coefficients. Problems with n variables, n ∈ {20, 25, 30}, are considered. The variables are bounded and take the possible values 0, 1 and 2. For each instance (n, m, r, α), a sequence of 20 problems is solved and the whole efficient solution set was generated for all these problems. In the last column of each table, EC/C indicate the ratio between the number of efficient cuts and the total number of the used cuts.

74

M. El-Amine Chergui, M. Moula¨ı, and F.Z. Oua¨ıl Table 1. Computational results (n, m, r, α)

Efficient Solutions CPU(s) Mean Max Mean Max

Efficient Cuts EC/C Mean Max Mean

(20,5,4,25) (20,10,4,25) (20,10,10,25) (25,5,4,20) (25,10,4,20) (25,10,10,20) (30,5,4,17) (30,10,4,17)

99.7 60.1 763.6 76.5 48.8 1277.4 119.9 36.4

241.6 157 147.3 665.5 365,3 378.7 905.4 574.2

(20,20,4,25) (25,25,4,20) (30,30,4,17)

24.35 48 35.8 142 33.2 119

216 228 1889 152 140 3749 300 47

281.6 265.8 311.73 1280.1 1082.5 1354.6 2224.4 2167.7

342.2 306.9 378.45 1609.2 1179.4 1853.5 2553 2351.4

46.92 67.7 184.29 255.4 587.3 870.6

340 195 182 807 434 438 1019 624

96% 98.9% 99% 99.8% 99.7% 98% 99.8% 99.8%

382.6 588 771.1 1242 963.4 2062

100% 100% 100%

In the first experimentation, the MOILP problems considered are of general form and the cumulative results are reported in the first part of Table 1. Obviously in this case, the results show that the CPU time increases rapidly with the data size, the method being exact, but the number of criteria does not significantly increase the CPU time. In the other hand, it should be noted that the ratio EC/C tends towards 100%, which proves that almost all the added cuts are efficient cuts. This means that in most cases, the built set Hl is different from the set Nl of non basic indices variables. Let us note also that the method becomes faster when the size of the set Hl is small, because the domain to remove from the feasible solutions set is more large. This happens particularly when the constraints matrix is triangular. In the second part of Table 1, we have reported the results of particular MOILP treated problems with triangular constrained matrices. In this case, the CPU time decreased, but in the same time, the number of efficient cuts increased. This proves that the removed domains contain many non efficient integer solutions that the method will not have to generate. The method described in [?] was also programmed for searching the integer efficient set. We give hereafter the results obtained: Table 2. Comparative results given on average with 4 objectives n m Eff

Our method Sylva & Crema iter CPU(s) iter CPU(s)

5 10 15 10 15

577 1314.6 2720.8 1018.8 2086

5 5 5 10 10

21.2 25.2 24.8 20.6 16.8

0.34 0.59 1.27 0.64 0.82

51569 142111.6 187036 66245.6 51976

813.68 3058.37 2830.17 907.89 291.94

Solving the Multiple Objective Integer Linear Programming Problem

75

where iter represents the number of simplex iterations and Eff is the cardinality of the efficient set. As expected, the size of ILP problems to be solved is closely related to the number of criteria and the CPU time grows faster with the size of the data compared to our method. However, a subset of efficient solutions can be obtained as soon as the calculation is interrupted unlike our method which gives the efficient set at the end of the algorithm.

6

Conclusion

In this paper, a new exact method combining the well-known principle of branching in integer linear programming with a new efficient cut is described to generate all integer efficient solutions of a MOILP problem. It can be considered as a general method dedicated to MOLP problems with integer as well as zero-one decision variables can be solved by the method. The comparative study proves that our method is faster than that proposed by Sylva & Crema whose CPU time increases quickly of one iteration to another, because of the additional constraints and variables. The method was tested only on medium size problems since the problem is too difficult to solve. However, the tree structure of the proposed algorithm can be parallelized in order to allow the resolution of large size problems.

Acknowledgement The authors are grateful to anonymous referees for their substantive comments that improved the content and presentation of the paper. This work was supported by the Laboratory LAID3, USTHB.

References 1. Abbas, M., Moula¨ı, M.: Solving multiple objective integer linear programming. Ricerca Operativa 29/89, 15–38 (1999) 2. Alves, M., Cl`ımaco, J.: A Review of Interactive Methods for Multiobjective Integer and Mixed-Integer Programming. EJOR 180, 99–115 (2007) 3. Cl`ımaco, J., Ferreira, C., Captivo, M.: Multicriteria integer programming: An overview of the different algorithmic approaches. Multicriteria Analysis 2, 248–258 (1997) 4. Gupta, R., Malhotra, R.: Multi-criteria integer linear programming problem. Cahiers de CERO 34, 51–68 (1992) 5. Klein, D., Hannan, E.: An algorithm for multiple objective integer linear programming problem. EJOR 9, 378–385 (1982) 6. Korhonen, P., Wallenius, J., Zionts, S.: Solving Discrete Multiple Criteria Problem Using Convex Cones. Management Science 3011, 1336–1345 (1984) 7. Nemhauser, G.L., Wolsey, L.A.: Integer and combinatorial optimization. Wiley, Chichester (1988)

76

M. El-Amine Chergui, M. Moula¨ı, and F.Z. Oua¨ıl

8. Sylva, J., Crema, A.: A method for finding the set of non-dominated vectors for multiple objective integer linear programs. EJOR 158(1), 46–55 (2004) 9. Steuer, R.E.: Multiple Criteria Optimization: Theory,Computation and Applications. Wiley, Chichester (1985) 10. Teghem, J., Kunsch, P.: A survey of techniques to determine the efficient solutions to multi-objective integer linear programming. Asia Pacific Journal of Oper. Res. 3, 95–108 (1986) 11. Ulungu, E.L., Teghem, J.: Multi-objective Combinatorial Optimization Problem: A Survey. Journal of Multi-Criteria Decision Analysis 3, 83–104 (1994)

Suggest Documents