Branch and bound method for 0/1 multiobjective ...

24 downloads 0 Views 246KB Size Report
pruned, the algorithm backtracks and creates a new node by moving the last item in β1 to β0. In addition, all items in β0 after this new item become free.
Branch and bound method for 0/1 multiobjective multiconstaint knapsack problem Chahrazad ADICHE1 , Méziane AIDER2 1

LAID3, Faculty of Sciences, UMBBoumerdes, Algeria [email protected] 2 LAID3, Faculty of Mathematics, USTHB, Algiers, Algeria. [email protected] http://www.usthb.dz/perso/math/maider

Mots-clés : multiconstraint knapsack problem, Branch and Bound method, Dominance and Pareto Optimization.

1

Introduction

The knapsack problem is one of the most studied combinatorial optimization problems. It may be used to model many practical problems such as capital budgeting and resource allocation, ... Mathematical programming, dynamic programming and metaheuristics are the most common methods to solve such problems. When multiple constraints are present, the problem is called “multiconstraint” or “multidimensional” knapsack problem. Its multiobjective formulation is :

(M OM CKP )

   “Optimize”Z k (x) =            

n X j=1 n X

ckj xj

k = 1..p

λij xj ≤ µi

i = 1..m

j=1

xj

∈ {0, 1} j = 1..n

where n is the number of items, m the number of knapsack constraints and ckj is the value of the item j (j = 1..n) for the criterion k (k = 1..p). All the parameters are assumed to be positive integers. The problem is obviously NP-hard, since its mono-objective version is.

2

Branch-and-Bound method for (M OM CKP )

We propose one adaptation of the branch-and-bound method dedicated to the multi-objective knapsack problem type in 0−1 [1], to the (M OM CKP ) Problem. The addition of the multiple constraints of the considered problem involves too many possible combinations to evaluate and so, causes new levels of complications in the solution process. Partial solutions (nodes of the search tree) are created by assigning zeros and ones to subsets of items denoted β0 and β1 , respectively. Items not assigned either zero or one define the set F ⊆ {1, 2, ..., n} of the free items such that {1, 2, ..., n} = β0 ∪ β1 ∪ F. The branching sequence is crucial for the performance of the method. Let θ be the order according to which variables (items) of a partial solution will be assigned a value. The items a1 , a2 ,..., an are ordered according the order θ which can be defined as in Florios et al. 2010 [2]. For each node S 0 of the tree, we associate a vector valued bounds. To compute the bounds, we define : P • j∈β1 ckj k = 1..p : the value of the items which have already been assigned value 1.

• Z k∗ (S 0 ) : thePvalue of the optimal solution according to the k-th objective k = 1..p. P The values of j∈β1 ckj and (Z k∗ (S 0 ) + j∈β1 ckj ) (k = 1..p) represent an estimation and an evaluation of the subset S 0 , respectively. l X

Let l∗ = min{l : λl  µ}, with (λl )t = (

j=1

Thus, l∗ is the smallest index as ∃i0 :

l X

λj1 ,

l X j=1

λj2 , . . . ,

l X

λjm ) and µt = (µ1 , µ2 , . . . , µm ).

j=1

λji0 > µi0 . Note that the critical item is bl∗ . So, the

j=1

subset S 0 = {a1 , a2 , . . . , al∗ −1 } of items is a feasible solution because all items in S 0 are not in conflict. The branch-and-bound algorithm starts by fixing many items according to the θ order to fastly find a good feasible solution. Thus, many branches of the tree can be pruned early. The list N of nodes is maintained as a LIF O stack (Last In First Out). When a node is pruned, the algorithm backtracks and creates a new node by moving the last item in β1 to β0 . In addition, all items in β0 after this new item become free. If, however, n was the last item in β1 , the algorithm removes all items {v, . . . , n} in β1 (v is the smallest one) and defines β0 to be all previous elements of β0 up to v − 1 and to include v. When a node is not pruned, the algorithm progresses deeper down the tree and creates a new successor node. Indeed, as many items as possible are included in β1 , according to order θ, i.e. as they appear in F. But if the remaining vector µ does not allow item l to be added to β1 , the first possible item r of F, which can be added to β1 is sought and item r is added to β1 . Of course, all items {i, . . . , r − 1} must be added to β0 .

3

Experimental results

Numerical experiments are realized upon some randomly generated instances of different sizes to test and prove the efficiency of our extended multi-objective branch-and-bound (MOBB) method. We focus our experiments on a bi-objective case. However, the results remain valid for a larger number of objectives. The algorithms have been implemented in matrix laboratory (Matlab R2009a) using a Pentium PC with dual core processor, FSB 800 Mb, DDR1 2 Go in Windows operating system. Experimental results show that the CPU time (measured in second) of the M OBB method depends on the size of the M OM CKP problem. The complete set of efficient solutions can be generated in reasonable computational time only for small problems. For large problems, it seems better to use approximate methods.

4

Conclusion

In this paper we describe a Multi-Objective Branch-and-Bound (MOBB) method developped for the multi-objective multiconstraint knapsack problem. The multi-objective branch-andbound used here was initially developed for the bi-objective knapsack problem presented in [1]. We have adapted it to the multiconstraint case, in order to make it possible of handling more than one constraint. In future works, we propose to develop better bounds for the multi-objective branch-and-bound to improve the speed of the method. More experiments are needed and relations with other combinatorial problems (combinatorial auction, bin packing, etc.) will be examined.

Références [1] M. Ehrgott, Multicriteria Optimization, Springer, March 2005. [2] K. Florios, G. Mavrotas, D. Diakoulaki, Solving multiobjective, multiconstraint knapsack problems using mathematical programming and evolutionary algorithms, European Journal of Operational Research 203 : 14–21, 2010.