Vous êtes sur la page 1sur 11

Actes JNPC02

Un algorithme hybride pour le problme de sac dos multi-objectifs


Vincent Barichard et Jin-Kao Hao LERIA - Facult des Sciences - Universit dAngers 2 Boulevard Lavoisier 49045 Angers Cedex 01 email : {Vincent.Barichard, Jin-Kao.Hao}@info.univ-angers.fr
Rsum Nous prsentons un algorithme hybride pour le problme de sac dos multiobjectifs multidimensionnel en 0-1. Cet algorithme, appel GT S M OKP , combine une procdure gntique avec un oprateur de recherche tabou. GT S M OKP a t test sur 9 instances connues et a montr des rsultats trs comptitifs par rapport deux algorithmes de ltat de lart.

Introduction

Soit un ensemble dobjets, chacun tant associ un vecteur de gains et de poids. Le problme de sac dos multi-objectifs multidimensionnel (MOKP) consiste slectionner un sous-ensemble dobjets maximisant une fonction multi-objectifs tout en satisfaisant un ensemble de contraintes. Plus formellement, le MOKP peut tre dni comme suit : max s.t.
n

z j (x) =
n i=1

cj xi i

j = 1,...,o l = 1,...,m i = 1,...,n

MOKP01

l wi xi bl i=1

xi {0,1}

` o n est le nombre dobjets, xi une variable de dcision, o le nombre dobjectifs, z j la j eme composante de la fonction multi-objectifs z, et m le nombre de contraintes du problme. Comme le problme NP-dicile de sac dos multidimensionnel (MKP), le MOKP peut tre utilis pour modliser de nombreux problmes rels comme la rpartition de budgets et lallocation de ressources. Plusieurs algorithmes heuristiques ont t dvelopps pour rsoudre le MOKP. Des mthodes de voisinage comme le recuit simul [10, 12]

123123123

123123124 et la recherche tabou [4], des mthodes volutionnaires : vector evaluated genetic algorithm (VEGA) [9], non-dominated sorting genetic algorithm (NSGA) [11], strength Pareto evolutionary algorithm (SPEA) [14], et memetic Pareto archived evolution strategy algorithm (M-PAES) [1]. Trs rcemment, des algorithmes hybrides combinant la recherche gntique et la recherche locale (limite des mthodes de descentes notre connaissance) 1 tels que multiple objective genetic local search (MOGLS) [6] ainsi que des approches hybrides parallles [8] ont t proposs. Parmi toutes les approches proposes, les meilleurs rsultats observs sur les instances que nous allons utiliser sont dtenus par lalgorithme MOGLS prsent dans [6]. Dans ce papier, nous nous intressons lapproche hybride et prsentons GT S MOKP , un algorithme gntique combin une recherche tabou pour le MOKP. Inspir par un algorithme hybride pour le problme de coloriage de graphe [3], et par lalgorithme MOGLS [6], GT S MOKP se distingue de MOGLS essentiellement par lintgration dune mthode de recherche de voisinage trs performante (la mthode tabou) au schma gntique. Pour valuer les performances de GT S MOKP , lalgorithme est test sur un jeu de 9 instances publies de MOKP, puis compar avec NSGA et MOGLS, deux algorithmes reconnus pour rsoudre le MOKP. Les rsultats exprimentaux obtenus par GT S MOKP se sont montrs trs comptitifs sur toutes les instances comparativement aux algorithmes en comptition. Le papier est organis comme suit. Dans la prochaine section, nous prsentons les principes gnraux de notre algorithme hybride GT S MOKP . Les rsultats exprimentaux ainsi que les comparaisons de GT S MOKP avec les deux autres algorithmes tests sont le sujet de la section 3. Dans la dernire section nous donnons quelques conclusions et perspectives.

Gntique Tabu Search pour le MOKP (GT S M OKP )

Lhybridation entre une recherche gntique et une recherche locale est maintenant reconnue comme une approche comptitive pour attaquer des problmes combinatoires diciles. Pour le MOKP, nous pouvons citer lalgorithme MOGLS utilisant une mthode de descente pure comme oprateur de recherche locale [6]. Les principes gnraux pour hybrider un algorithme gntique avec une mthode de recherche locale sont connus et devenus presque des standards pour ce type dhybridation. chaque gnration, un nombre de croisements (avec un oprateur de croisement spcique au problme ou alatoire) est eectu. Pour chaque nouvelle conguration (individu) s ainsi gnre, un oprateur de recherche locale LS(s) est appliqu s pour amliorer sa qualit. Finalement, un mcanisme de slection dcide si le nouvel individu amlior doit tre introduit dans la population. Dans cette section, nous prsentons notre algorithme hybride GT S MOKP pour le MOKP.
1. Le terme de recherche locale est souvent utilis comme synonyme de mthodes de descentes pures. Dans ce papier, ce terme est utilis pour dsigner toutes les mthodes utilisant le concept de voisinage comme la recherche tabou et le recuit simul

123123125

2.1

Algorithme gnral

GT S MOKP suit le schma classique utilis pour lhybridation entre algorithme gntique et recherche locale. Nous donnons le squelette de GT S MOKP lalgorithme 1. Plus de dtails sont fournis dans la section 2.2. Require: une instance MOKP Ensure: un ensemble de solutions non domines P InitPopulation (|P |) while Critre darrt non rencontr do GetRandomWeightVector (utilis pour lvaluation, voir prochaine section) Evaluer chaque individu s dans P selon f (s,r,) (voir prochaine section) T P les N "meilleurs" individus de P (p1 ,p2 ) ChooseParents(T P ) s Crossover(p1,p2 ) s TabuSearch(s,N umberOf Iterations) P AddPopulation(s,P ) end while Algorithm 1: GT S MOKP : genetic tabu search algorithm pour le MOKP. Remarquons toutefois, que bien que non clairement explicites dans lalgorithme, les solutions non-domines sont enregistres dans une structure de donnes approprie. Cest cet ensemble de solutions qui est donn en sortie de lalgorithme. Nous prsentons dans la prochaine section les dirents composants de GT S MOKP .

2.2

Espace de recherche et valeurs dvaluations

une conf iguration (ou un individu) s est un vecteur binaire de n composantes satisfaisant toutes les m contraintes du problme. Lespace de recherche s est alors constitu par lensemble de tous les vecteurs binaires, qui est clairement un sous-ensemble de {0,1}n. Pour valuer une conguration s, nous utilisons comme dans [7], une fonction dagrgation linaire pondre, dnie comme suit :
o

f (s,r,) =
i=1

i (ri zi (s))

(1)

o s la conguration valuer; ` zi (s) (i=1...o) la valeur de s pour la ieme composante de la fonction objective du problme; un vecteur de poids compos de o composantes comprises entre [0..1], dont la ` ` ieme composante i correspond au poids associ au ieme objectif; r un vecteur de rfrence o-composantes. Ce point de rfrence est dans notre cas calcul en fonction des valeurs maximales, sur chaque objectif, des points de lensemble courant des solutions non domines : ri = maxxSet (xi ) i [1..o].

123123126 Ainsi, pour chaque conguration s et pour un vecteur de rfrence r donn, une valeur dadaptation (tness) est attribue s selon lvaluation et le poids associ chaque objectif de s. Cette fonction dvaluation (1) dnie un ordre total pour les congurations de lespace de recherche S. Cet ordre est utilis comme base pour les oprateurs gntiques et ceux de recherche locale. Notre fonction dvaluation tant base sur une fonction dagrgation linaire, certaines solutions Pareto optimales peuvent ne jamais tre atteintes. Notons toutefois que grce au hasard de la recherche heuristique, certaines de ces solutions peuvent quand mme tre dtermines par notre algorithme. Dautres fonctions dvaluations sont aussi possibles comme celles bases sur le ranking des solutions, lordre lexicographique des objectifs, etc. (voir [2]).

2.3

La recherche gntique

Aprs avoir assign une valeur dadaptation chaque individu de P , la population courante est trie selon ces valeurs dadaptation. Les N premiers (meilleurs) individus 2 sont dupliqus dans une population temporaire. Puis, deux individus (de cette population temporaire) sont slectionns de manire alatoire pour tre recombins travers un oprateur de croisement. Nous utilisons ici le croisement alatoire mono-point. Aprs avoir restaur la faisabilit du nouvel individu obtenu, celui-ci est amlior par une recherche tabou (voir prochaine section). Si lindividu amlior s est meilleur que le plus mauvais individu de la population temporaire, s est ajout la population courante et remplace le plus vieil individu stock dans celle-ci. Dans les autres cas, s est rejet.

2.4

La recherche Tabou (TS)

Loprateur TS TabuSearch(s,L) a pour but damliorer une conguration ralisable s produite par loprateur de croisement, pour un nombre maximum ditrations L. Cette recherche est eectue avant dinsrer le s amlior dans la population. Cette section rappelle les aspects les plus importants de la recherche Tabou. Pour une prsentation approfondie de TS, le lecteur est invit consulter le livre de Glover et Laguna [5]. Nous prsentons ci-dessous quelque notations ncessaires pour une bonne comprhension de notre algorithme TS. Voisinage et mouvement. La fonction de voisinage N est dnie sur lespace de recherche S, et associe chaque conguration s un sous-ensemble de S. Plus prcisment, prenons une conguration s, alors N ={s | s est ralisable et Hammingdistance(s,s )= 1}. En dautres termes, pour chaque s S, une conguration s voisine est obtenue par lajout (changement dune variable de 0 1) ou par la suppression (changement dune variable de 1 0) dun objet de s de telle manire que les contraintes restent toujours satisfaites. Lopration de changer une variable pour obtenir une conguration voisine est appele un mouvement. Un mouvement de s vers s N peut tre identi sans ` ambigut grce lattribut j si s est obtenu par changement du j eme composant de s.
2. N |P | est xer de manire empirique. Dans ce papier, N = 20 pour |P | variant de 150 350

123123127

valuation du voisinage. La qualit de chaque conguration voisine s N est calcule grce la fonction dagrgation linaire pondre (1), de la mme manire que pour nimporte quelle autre conguration de lespace de recherche S. La liste Tabou. Le rle de la liste de tabou est dempcher lalgorithme de tomber dans des cycles court terme. Comme un mouvement correspond au changement dune seule variable, lindex de la variable change, cest dire j, est marqu comme tabou pour les k prochaines itrations. La valeur k (taille de la liste tabou) est un paramtre xer de manire empirique. Notre taille de liste tabou est xe 2 pour chaque excution de tabou. Le squelette de notre algorithme TS utilis dans GT S MOKP est donn lalgorithme 2. Require: une conguration ralisable s0 , le nombre ditrations L Ensure: une nouvelle conguration ralisable s s s0 for i = 0 to L do choisir le meilleur mouvement autoris mettre jour la liste tabou eectuer le mouvement slectionn dans s mettre jour lensemble des solutions non-domines avec s end for Algorithm 2: Lalgorithme de recherche Tabou.

3
3.1

Rsultats exprimentaux
Jeux de donnes

Dans cette section, nous comparons notre algorithme GT S MOKP avec NSGA et MOGLS, deux des mthodes les plus performantes pour le MOKP. Les exprimentations sont eectues sur les 9 instances publies dans [16]. Ces benchmarks ont 2, 3 et 4 objectifs combins avec 250, 500 et 750 objets. De plus, pour chaque instance, le nombre de contraintes est gal au nombre dobjectifs. Ces instances ont t gnres de manire alatoire avec des poids et des prots dcorls, et les capacits de chaque contraintes sont rgles environ la moiti de la somme des poids de la contrainte considre. Il en dcoule que le nombre dobjets prsents attendu dans les solutions optimales est denviron la moiti du nombre total dobjets du problme.

3.2

Mesure des performances

Pour valuer les rsultats (le front des meilleurs compromis) produits par les dirents algorithmes, nous utilisons deux mesures qui ne dpendent pas de lchelle de calcul de

123123128 chaque objectif : La taille de lespace non domin (S) et la couverture de deux ensembles [15]. Dnition 1 La taille de lespace non domin (S). Soit A = (x1 ,x2 ,...,xl ) X un sousensemble de l vecteurs de dcision. La fonction S calcule le volume born par lunion de tous les polytopes p1 ,p2 ,...,pl , o chaque pi est form par lintersection des hyperplans des xi par rapport aux axes du repre : pour chaque axe de lespace des objectifs, il existe un hyperplan perpendiculaire laxe et passant par le point (f1 (xi ),f2 (xi ),...,fk (xi )). Pour le cas deux dimensions, chaque pi reprsente un rectangle dni par les points de coordonnes (0,0) et (f1 (xi ),f2 (xi )). Cette mesure ne peut pas tre utilise pour comparer deux ensembles relativement lun par rapport lautre. Pour calculer un ratio permettant de comparer deux ensembles, nous appliquons une deuxime mesure. Dnition 2 La couverture de deux ensembles. Soit A,B X deux ensembles de vecteurs de dcisions. La fonction C associe chaque pair ordonne (A,B) une valeur de lintervalle [0,1] : |{b B | a A : a b}| C(A,B) := |B| La valeur C(A,B) = 1 signie que tous les vecteurs de dcisions de B sont faiblement domins 3 par ceux de A. A linverse, C(A,B) = 0, signie quaucun des points de B nest faiblement domin par un point de A.

3.3

Paramtres exprimentaux

Lalgorithme GT S MOKP est programm en CAML et compil avec OCAML. Pour obtenir des comparaisons quitables avec les autres algorithmes de ltat de lart, nous avons aussi implment, toujours en CAML, NSGA et MOGLS, deux algorithmes reconnus comme trs performants pour le MOKP. Dans notre implmentation, les principales structures de donnes sont partages par les trois algorithmes. Cela nous permet davoir une base solide pour des comparaisons quitables entre ces algorithmes. Avant de comparer GT S MOKP , NSGA et MOGLS, nous avons dabord compar notre implmentation de NSGA et MOGLS avec celles de MOMHLib [7]. Les rsultats obtenus nous permettent darmer que les deux implmentations ont des performances comparables. Dans nos exprimentations, nous utilisons les paramtres suivants : pour NSGA, nous initialisons le taux de mutation 0.2, et la distance de voisinage 0.4, en accord avec [16] et [6]; pour GT S MOKP , nous initialisons le nombre de gnrations 50, le nombre ditrations tabou L = 12 et la taille de la liste tabou 2 pour chaque excution de lalgorithme tabou; pour NSGA et MOGLS, nous autorisons toujours un nombre largement suprieur de gnrations pour obtenir des temps de calcul suprieurs ou gaux ceux obtenus pour GT S MOKP (voir tableau 1);
3. Un point u domine faiblement un point v si et seulement si, i {1,2,...,k} : ui vi .

123123129

Instances Nombre Nombre dobjectifs dobjets 250 2 500 750 250 3 500 750 250 4 500 750

Mthodes Taille de la Nombre de gnrations population (tous les algorithmes) NSGA MOGLS GT S M OKP 150 500 110 50 200 500 140 50 250 500 150 50 200 1100 160 50 250 1100 170 50 300 1100 170 50 250 3000 300 50 300 3000 320 50 350 3000 320 50

Tab. 1 Valeurs des paramtres pour les dirents algorithmes et instances. Linitialisation de la taille de la population dpend du nombre dobjets ainsi que du nombre dobjectifs de linstance traite. Sur une mme instance, la taille de population est la mme pour les trois algorithmes (voir tableau 1). Notons que pour MOGLS et GT S MOKP , le critre darrt est calcul comme suit : critre darrt = Nombre de gnrations taille de la population. La notion de gnration nest prsente que pour garder la prsentation classique des paramtres des algorithmes volutionnaires. Le tableau 1 rcapitule les valeurs des principaux paramtres utiliss par NSGA, MOGLS et GT S MOKP . Le tableau 2 montre pour chacun des trois algorithmes compars et pour chaque instance du problme, le temps de calcul obtenu pour les valeurs des paramtres 4 . Notons que NSGA demande toujours plus de temps de calcul que MOGLS, qui lui mme demande plus de temps de calcul que GT S MOKP . Donc, nous sommes srs que GT S MOKP nest pas favoris par rapport aux autres algorithmes en comptition.

3.4

Rsultats comparatifs

Dans cette section, nous prsentons les rsultats exprimentaux obtenus par GT S MOKP ainsi que ceux de NSGA et MOGLS 5 . Les rsultats suivants reprsentent pour chaque instance les moyennes sur plusieurs excutions indpendantes. Le tableau 3 montre les rsultats obtenus pour la mesure S (taille de lespace non domin). Sur ce tableau, nous observons premirement que GT S MOKP et MOGLS donnent tout les deux de meilleurs rsultats (des valeurs de S plus leves) que NSGA sur toutes les instances. En comparant GT S MOKP et MOGLS, nous observons que GT S MOKP dpasse MOGLS pour 7 des 9 instances et donnent des rsultats identiques sur les 2 instances bi-objectives restantes (500 et 750 objets). Nous remarquons aussi que GT S MOKP obtient de trs bons rsultats sur les instances les plus diciles.
4. Le temps de calcul est bas sur le code gnr par le compilateur OCAML sur un PC sous Linux (Bi-Pentium III 1 Ghz). 5. MOGLS dtient notre connaissance les meilleurs rsultats exprimentaux sur les instances utilises (voir [6]).

123123130

Nombre dobjectifs 2

Nombre dobjets 250 500 750 250 500 750 250 500 750

NSGA 60 205 330 265 900 1800 1417 3500 7000

MOGLS 54 150 200 250 490 740 1264 2300 3100

GT S MOKP 50 135 185 210 465 660 1188 2200 2500

Tab. 2 Moyenne des temps de calcul pour chaque algorithme (secondes).

Nombre dobjectifs 2

Nombre dobjets 250 500 750 250 500 750 250 500 750

NSGA 9.52e+7 3.91e+8 8.36e+8 8.45e+11 6.74e+12 2.33e+13 6.97e+15 1.09e+17 5.52e+17

MOGLS 9.86e+7 4.08e+8 8.93e+8 9.33e+11 7.72e+12 2.71e+13 8.11e+15 1.35e+17 7.19e+17

GT S MOKP 9.87e+7 4.08e+8 8.93e+8 9.35e+11 7.73e+12 2.72e+13 8.12e+15 1.36e+17 7.20e+17

Tab. 3 Moyenne de la taille de lespace non domin S.

123123131

NSGA

MOGLS

GT S M OKP

Fig. 1 Rsultats des comparaisons obtenues avec la mesure C. Chaque rectangle contient neuf petites barres noires reprsentant la distribution des valeurs de C pour un ordre particulier de la paire dalgorithmes ; les trois barres noires de gauche correspondent aux instances bi-objectives respectivement (de gauche droite) de 250, 500 et 750 objets ; les 3 barres noires du milieu correspondent aux instances 3 objectifs et celles de droite aux instances 4 objectifs. Sur chaque rectangle, lchelle va de 0 en bas 1 en haut. De plus, chaque rectangle (lalgorithme A en ligne, et lalgorithme B en colonne) est associe la fraction du nombre dindividus de B faiblement domins par A : C(A,B). La gure 1 rcapitule les rsultats de la mesure C (couverture de deux ensembles) suivant la prsentation adopte dans [16]. Sur cette gure, chaque petite barre noire reprsente les rsultats de la mesure C entre deux mthodes, pour chaque instance de problme. Du fait dune trs faible dispersion des rsultats, la moyenne est pertinente comme valeur retenue pour la mesure C. Il est observ quune fois de plus, les rsultats obtenus par NSGA sont infrieurs ceux de MOGLS et de GT S MOKP pour toutes les instances. En comparant MOGLS et GT S MOKP , nous observons que les rsultats penchent en faveur de GT S MOKP sur toutes les instances. En eet, les valeurs obtenues C(M OGLS,GT S MOKP ) sont infrieures celles de C(GT S MOKP ,M OGLS). Notons que sur plusieurs instances (500 objets 3 objectifs, et 500 objets 4 objectifs) le rapport entre les rsultats est suprieur 10, ce qui signie que la quasi-totalit des solutions trouves par GT S MOKP sont de qualit gale ou suprieure celles trouves par MOGLS. En rsum, mme si GT S MOKP est excut dans des conditions dfavorables (moins de gnrations et moins de temps de calcul autoris), il donne des rsultats au moins

123123132 gaux ou suprieurs ceux obtenus par NSGA et MOGLS sur les 9 instances testes avec les deux mesures utilises. Pour nous convaincre de cette supriorit, nous avons aussi compt pour chaque algorithme le nombre de solutions trouves qui sont membre du front Pareto optimal. Du fait de la taille des instances du problme considr, nous navons les fronts Pareto optimaux que pour les instances bi-objectives de 250 et 500 objets. Une fois encore, GT S MOKP obtient de meilleurs rsultats comparativement aux autres algorithmes NSGA et MOGLS. En eet, pour la premire instance (250 objets), 9.33% des solutions trouves par GT S MOKP sont des lments du front Pareto alors que ce taux nest respectivement que de 0.18% pour NSGA et 6.51% pour MOGLS. Pour la seconde instance (500 objets), ce taux est respectivement de 0.35% pour GT S MOKP , 0.07% pour MOGLS et 0% pour NSGA. De plus, nous avons observ que dans les autres exprimentations que nous avons eectues, o le nombre de gnrations pour GT S MOKP est x la mme valeur que celui de MOGLS, les rsultats obtenus par GT S MOKP sont encore meilleurs que ceux prsents dans ce papier.

Conclusion

Dans ce papier, nous avons prsent GT S MOKP , un algorithme gntique avec recherche tabou trs performant pour rsoudre le sac dos multi-objectifs multidimensionnel en 0-1 (MOKP01). Notre algorithme GT S MOKP combine les concepts gnraux des mthodes volutionnaires avec les proprits locales de la recherche tabou, conduisant un meilleur compromis entre exploitation et exploration. Les performances de GT S MOKP ont t valides sur un ensemble de 9 instances publies et compares avec NSGA et MOGLS, deux algorithmes de ltat de lart. Les rsultats exprimentaux ont montr que GT S MOKP , avec moins deort, obtient des meilleurs rsultats que les autres algorithmes en comptition sur les instances testes. Les parties gntique et recherche tabou utilises dans GT S MOKP sont implmentes de manire naturelle en se basant sur les principaux concepts de ces deux paradigmes. Pour cette raison, nous sommes fortement convaincus que beaucoup damliorations sont possibles. Par exemple, sur la partie gntique, dautres stratgies de slection peuvent tre exprimentes, et des oprateurs de croisements spciques au problme peuvent tre dvelopps. Pour loprateur TS, nous pensons que les techniques dveloppes pour le problme de sac dos multidimensionnel classique, comme celles prsentes dans [13], peuvent apporter beaucoup un problme du type MOKP.

Remerciements
Nous tenons remercier les dirents relecteurs de ce papier pour leurs commentaires trs utiles.

Rfrences
[1] D.W. Corne, J. D. Knowles M-PAES : a memetic algorithm for multiobjective optimization. Proceedings of the 2000 congres on evolutionary computation (CEC 2000).

123123133 [2] M. Ehrgott, X. Gandibleux A Survey and annotated Bibliography of Multiobjective Combinatorial Optimization. OR Spektrum, 22 : 425460, 2000. [3] P. Galinier, J.K. Hao Hybrid evolutionary algorithms for graph coloring. Journal of Combinatorial Optimization, 3(4) : 379397, 1999. [4] X. Gandibleux, N. Mezdaoui, A. Freville A multiobjective Tabu Search procedure to solve combinatorial optimization problems. Lecture Notes in Economics and Mathematical Systems, 455 : 291300, Springer, 1997. [5] F. Glover, M. Laguna Tabu Search, Kluwer Academic Publishers. 1997. [6] A. Jaszkiewicz On the performance of multiple objective genetic local search on the 0/1 knapsack problem : a comparative experiment. Research report, Institute of Computing Science, Poznan University of Technology, RA-002, 2000. [7] A. Jaszkiewicz Experiments done with the MOMHLib. http://www-idss.cs.put.poznan.pl/ jaszkiewicz/MOMHLib/ [8] N. Jozefowiez, F. Semet, E-G. Talbi Une mta-heuristique parallle et hybride pour un problme dlaboration de tournes de vhcules bi-critre. Quatrime Congrs de la Socit Francaise de Recherche Oprationnelle et dAide a la dcision ROADEF2002, Paris, 2002. [9] J.D. Schaer Multiple objective optimization with vector evaluated genetic algorithms. Ph. D. thesis. Vanderbilt University, Unpublished, 1984. [10] P. Serani Simulated annealing for multiobjective optimization problems. Proc. of 10th Int. Conf. on MCDM, 1 : 8796, 1992. [11] N. Srinivas, K. Deb Multiobjective optimization using non dominated sorting in genetic algorithms. Evolutionary Computation, 2(3) : 221248, 1994. [12] E.L. Ulungu, J. Teghem, Ph. Fortemps, D. Tuyttens MOSA method : a tool for solving multiobjective combinatorial optimization problems. Journal of Multi-Criteria Decision Analysis, 8 : 221336, 1999. [13] M. Vasquez, J.K. Hao A hybrid approach for the 0-1 multidimensional knapsack problem. Proc. of the 13th Intl. Joint Conference on Articial Intelligence (IJCAI01). 1 : 328333, 2001. [14] E. Zitzler, L. Thiele An evolutionary algorithm for multiobjective optimization : the stength Pareto approach. Technical Report 43, 1998. [15] E. Zitzler, L. Thiele Multiobjective optimization using evolutionary algorithms : a comparative case study. Lecture Notes in Computer Science, 1498 : 292301, Springer, 1998. [16] E. Zitzler, L. Thiele Multiobjective evolutionary algorithms : a comparative case study and the strength Pareto approach. IEEE Transactions on Evolutionary Computation, 3 : 257271, 1999.