• Aucun résultat trouvé

A.4 Une solution optimale du second problème de set packing de l’exemple 1.3

6.22 Exploration de l’espace de recherche par séparation

l’ordre croissant de leur numéro. Nous avons noté dans l’exemple3.13que∀x ∈ XEM : x2 = 0 et

x6 = 1. Par conséquent, la racine de l’arbre, notée ñ0, sera telle queI1={6}, I0 ={2}. La séparation

portera surI∼ = {1, 3, 4, 5}, avec ¯ω = 15. La première s’effectue sur l’objet numéro 1 pour obtenir

deux sous-espaces, l’un contenant les solutions oùx1 = 1, l’autre où x1 = 0. Les valeurs de Ietω¯

sont donnés à titre informatif.

ñ0 : L’exploration débute par la séparation de ñ0, avec I1 = {6}, I0 = {2}, I∼ = {1, 3, 4, 5} et ¯

ω= 15. Cette séparation s’effectue sur l’objet numéro 1.

ñ1: I1 ={1, 6}, I0 ={2}, I∼ ={3, 4, 5} et ¯ω = 7. Ce nœud est maintenant divisé sur l’objet

numéro 3.

ñ2: I1 ={1, 3, 6}, I0 ={2}, I∼={4, 5} et ¯ω = 0. Aucun autre objet ne peut être ajouté,

nous obtenons une première solution x1 = (1, 0, 1, 0, 0, 1), z(x1) = (13, 22). C’est la

meilleure solution connue pour l’instant, nous l’ajoutons à ¯X← {x1}.

ñ3: I1 = {1, 6}, I0 = {2, 3}, I∼ = {4, 5} et ¯ω = 7. Ce nœud est divisé sur l’objet nu-

méro 4.

ñ4: I1={1, 4, 6}, I0={2, 3}, I∼={5} et ¯ω = 2. L’objet 5 ne peut pas être ajouté à I1 carw5 = 4 > ¯ω. Il est par conséquent directement ajouté à I0pour obtenir une

nouvelle solutionx2 = (1, 0, 0, 1, 0, 1), z(x2) = (17, 18). Aucune solution de ¯X ne

la domine, elle est donc sauvegardée : ¯X← ¯X∪ {x2} = {x1, x2}.

ñ5: I1={1, 6}, I0={2, 3, 4}, I∼ ={5} et ¯ω = 7. L’objet 5 peut ici être ajouté à I1

pour obtenir la solutionx3 = (1, 0, 0, 0, 1, 1), z(x3) = (16, 21). Aucune solution de

¯

X ne la domine, elle est donc sauvegardée : ¯X ← ¯X∪ {x3}.

ñ6: I1 ={6}, I0 ={1, 2}, I∼ ={3, 4, 5} et ¯ω = 15. Ce nœud est maintenant divisé sur l’objet

numéro 3.

ñ7: I1 = {3, 6}, I0 = {1, 2}, I∼ = {4, 5} et ¯ω = 8. Ce nœud est divisé sur l’objet nu-

méro 4.

ñ8: I1 = {3, 4, 6}, I0 = {1, 2}, I∼ = {5} et ¯ω = 3. L’objet numéro 5 ne peut pas

être ajouté àI1 carw5 = 4 > ¯ω. Il est donc directement ajouté à I0 pour donner

la solution x4 = (0, 0, 1, 1, 0, 1), z(x4) = (20, 16). Aucune solution de ¯X ne la

domine, elle est donc sauvegardée : ¯X← ¯X∪ {x4}.

ñ9: I1 = {3, 6}, I0 = {1, 2, 4}, I∼ = {5} et ¯ω = 8. L’objet numéro 5 peut ici être

ajouté àI1pour obtenir la solutionx5= (0, 0, 1, 0, 1, 1), z(x5) = (19, 19). Aucune

solution de ¯X ne la domine, elle est donc sauvegardée. Par contre, elle domine x2. Cette dernière est donc supprimée de ¯X qui, au final, est égal à{x1, x3, x4, x5}. ñ10: I1 ={6}, I0 = {1, 2, 3}, I∼ ={4, 5} et ¯ω = 15. Remarquons que Pi∈I∼wi ≤ ¯ω.

Par conséquent, tous les objets deI∼peuvent être ajoutés àI1 pour obtenir la dernière solution,x6 = (0, 0, 0, 1, 1, 1), z(x6) = (23, 15). Aucune solution de ¯X ne la domine,

elle est donc sauvegardée : ¯X ← ¯X∪ {x6}.

Lorsque l’exploration est terminée, toutes les solutions efficaces{x1, x3, x4, x5, x6} ont été trouvées.

6.1.1 Particularités des PSE pour le problème de sac à dos mono-objectif

Les PSE pour le problème de sac à dos mono-objectif profitent de deux particularités de sa structure. Premièrement, une notion d’efficacité (définition2.2page32) est associée à chaque objet et permet de les

comparer deux à deux d’une manière pertinente. Il est alors tout naturel, lors de l’exploration, de choi- sir les objets les plus efficaces en premier, au détriment des moins efficaces. Deuxièmement, plusieurs bonnes fonctions de calcul de bornes sont disponibles. En particulier, si les objets sont initialement triés en ordre décroissant d’efficacité, la borneU0présentée en page38est calculée en temps constant. On lui

préfère néanmoins les bornesU1etU2, donnant de meilleurs résultats pour un temps de calcul linéaire.

Dans le cas multi-objectif, l’efficacité d’un objet peut être calculée sur chaque objectif. On notera

ei =c1i wi, . . . ,

cpi wi



celle de l’objeti. La comparaison de deux objets n’est plus immédiate. Cependant,

une propriété de dominance peut être appliquée. Ainsi, siei ≥ ej, alors il est clair que l’objeti semble

plus intéressant que l’objetj. Il devrait donc être choisi en premier. Par contre, si ei 6≥ ej etej 6≥ ei, alors l’efficacité ne permet pas de définir une priorité de choix entrei et j.

Les bornes disponibles en mono-objectif ne s’étendent pas immédiatement au cas multi-objectif. Classiquement, pour le premier, une borne inférieure est la valeur de la meilleure solution connue et une borne supérieure est obtenue en calculant la relaxation linéaire du problème. On obtient alors deux valeurs dans R, comparables. Dans une situation multi-objectif, un ensemble de solutions se substitue à la meilleure solution et la relaxation linéaire multi-objectif est un ensemble bornant supérieurement. La comparaison n’est plus immédiate.

La section suivante discute de ces concepts d’ordre et de bornes dans une situation multi-objectif. Leur application sera faite dans deux procédures de séparation et évaluation présentées dans les sections suivantes.

6.2

Généralisation au cas multi-objectif du branchement et de l’évalua-

tion d’un nœud

Cette section décrit les étapes d’une généralisation de la procédure de séparation et évaluation du sac à dos mono-objectif au cas multi-objectif. La base de cette généralisation est l’algorithme6.1; une procédure de haut niveau pour résoudre une instance de01M OKP .

Nous pouvons remarquer que pour passer de cet algorithme à celui de la page37pour01KP , il suffit

de détailler les points suivants

– l’ensemble ¯X contient la meilleure solution connue, remplacée si nécessaire en ligne6;

– la fonctionévaluation_prometteuse(↓ ñ, ↓ ¯X) à la ligne7équivaut à calculer une borne supérieurez et à la comparer avec la plus grande valeur de z(x), x¯ ∈ ¯X ;

– le choix de l’objeti en ligne8se réduit à sélectionner l’objet ayant la plus grande efficacité parmi les objets restants.

Ces points sont aussi les trois éléments à détailler pour le cas du problème 01M OKP . L’écriture

d’une procédurenouvelle_solution(↓ x, l ¯X) est aisée ; il suffit de mettre à jour ¯X ← {x ¯

X∪ {x} : ∄x′′ ∈ ¯X∪ {x} : z(x′) ≤ z(x′′)}. Par contre, le choix de l’objet i en ligne8et l’évaluation en ligne7ne sont pas des étapes triviales.

Dans la suite de cette section, nous présentons les notions de tris et de bornes étendues du cas mono- objectif au cas multi-objectif, destinés à être utilisés au niveau des deux lignes citées ci-dessus. Contrai- rement au cas mono-objectif, il n’existe pas, en général, d’ordre total sur les objets. Plusieurs tris sont ainsi proposés pour les ordonner dans l’optique de minimiser l’espace de recherche exploré. La seconde partie de cette section sera une discussion sur les bornes dans l’espace des objectifs. Une borne infé- rieure, utilisée pour décrire l’espace de recherche, et une borne supérieure, pour évaluer une solution incomplète.

1: Procédurepse_mokp(↓ ñ, l ¯X)

2: Paramètre↓ ñ : le nœud à partir duquel se fait l’exploration.

3: Paramètrel ¯X : ensemble des solutions potentiellement efficaces.

4: si P

j∈I1(ñ)wj ≤ ω alors

5: si I∼(ñ) =∅ alors

6: nouvelle_solution(↓ x(ñ), l ¯X)

7: sinon si évaluation_prometteuse(↓ ñ, ↓ ¯X) alors

8: choisiri∈ I∼(ñ)

- - Construire les nœuds fils, le premier ne contenant pas l’objeti, l’autre le contenant - -

9: ñ1 ←sélectionner(↓ ñ, ↓ i, 1)

10: ñ0 ←sélectionner(↓ ñ, ↓ i, 0)

- - Séparer la recherche sur ces deux nœuds - -

11: pse_mokp(ñ1, ¯X)

12: pse_mokp(ñ0, ¯X)

13: fin si

14: fin si

ALG. 6.1 – Schéma d’une procédure de séparation et évaluation pour le problème01M OKP

L’ensemble des solutions atteignables dans le sous-arbre d’un nœud ñ sera noté XT(ñ), leurs images

seront YT(ñ) = {z(x) : x ∈ XT(ñ)}. L’ensemble des points non dominés dans ce dernier sera noté

YNT(ñ) = {y ∈ YT(ñ) : ∄y∈ YT(ñ), y ≤ y}. Les solutions associées à ces points seront notées

XET(ñ) ={x ∈ XT(ñ) : z(x)∈ YT N(ñ)}.

À nouveau, la précision « (ñ) » sera omise si cela ne provoque pas d’ambiguïté.

6.2.1 Notions de tri des variables en multi-objectif

L’intérêt de trier les variables a priori est de sélectionner en priorité celles pour lesquelles l’affecta- tion d’une valeur permettra de réduire au maximum l’espace de recherche. C’est-à-dire que cette valeur amènera autant que possible vers des solutions efficaces. L’idéal, ou utopie, étant de ne faire que des choix amenant systématiquement à de telles solutions.

On noteraπj une permutation des objets obtenue en les triant dans l’ordre décroissant d’efficacité sur l’objectifj.

Dans [10], les auteurs observent l’influence de l’ordre de considération des objets sur les perfor- mances de leur algorithme. Les ordres présentés sont basés sur la position des objets dans les permuta- tionsπj. Ainsi, sirj

i est la position de l’objeti dans l’ordre πj, les auteurs définissentπsumune permuta-

tion obtenue selon les valeurs croissantes des sommes des positions des objets dans lesp permutations πj. De même,πmaxest la permutation obtenue selon les valeurs croissantes de la plus mauvaise position des objets dans lesp ordres πj. Cette position est calculée pour l’objeti parmaxj=1,...,p

n

rijo+pn1 Pp

j=1r j i,

de manière à discriminer les objets ayant la même position maximum. D’une manière symétrique,πmin

est la permutation obtenue selon les valeurs croissantes de la meilleure position des objets dans lesp

ordresπj, calculée parminj=1,...,p

n

rjio+pn1 Pp

j=1r j i.

i 1 2 3 4 5 6

e1 0,25 0,25 0,71 1,8 2 3

e2 1 0,25 0,85 0,4 1,25 4

Table 6.1 – Efficacités des objets de l’exemple3.13de la page55

Nous définissons, de plus, les permutations suivantes, basées sur la relation de dominance sur l’ef- ficacité des objets.πdom est une permutation obtenue en mettant une contrainte de précédence sur un objet par rapport à ceux qu’il domine, en terme d’efficacité.π#est obtenue en triant les objets par ordre croissant du nombre d’objets qui les dominent, en terme d’efficacité. Enfin,πrgest obtenue selon le rang des objets en niveau de dominance, comme décrit par Srinivas et Deb pour l’algorithme NSGA [127]. C’est-à-dire que les objets dont l’efficacité n’est pas dominée sont placés en premiers, puis viennent ceux dont l’efficacité est non dominée parmi les objets restants, et ainsi de suite.

Enfin,πrndsera une permutation aléatoire des objets.