• Aucun résultat trouvé

B(v) P( ˜X(v), ˜fv) P( ˆX(v)∩ X, f) 2.4.3.c 8 D1. Table2.1 – Récapitulatif des bornes

Dans l’ordre, chaque ligne de la table 2.1 nous donne la notation de la borne, la relaxation qui a permis de la calculer, le problème dont la valeur optimale est minorée par cette borne, la section dans laquelle elle a été détaillée, l’étape de l’algorithme 2.4 où elle est placée. Enfin, la dernière colonne indique le type de difficulté (voir début de section 2.4) sur lequel le test de borne agit directement.

2.5 Conclusion

Nous avons présenté dans ce chapitre une méthode générique qui procède par énumé-ration ordonnée pour résoudre des problèmes d’optimisation combinatoire. Nous mettons en œuvre cette méthode comme un algorithme de Branch and Bound, pour lequel nous proposons deux variantes qui se distinguent par une minoration unique ou variable. Nous proposons d’introduire des améliorations dans le schéma général de notre algorithme. Ces améliorations sont données sous la forme de règles d’élagage permettant d’améliorer les performances de notre méthode.

Nous présenterons dans les chapitres 3 et 4 deux applications de cette méthode, une pour la recherche de solutions de bon compromis pour le problème d’affectation multiobjectif et la seconde pour la résolution du problème du voyageur de commerce asymétrique.

Solution de compromis pour le

problème d’affectation

multiobjectif

1

Résumé

Dans ce chapitre nous présentons les algorithmes que nous proposons pour la recherche d’une solution de bon compromis pour le problème d’affectation multiobjectif. Nous considérons qu’une telle solution minimise une fonction scalari-sante non-linéaire de type point de référence.

Dans la section 3.1, nous formalisons le problème. Nous précisons dans les sec-tions 3.2 et 3.3 les spécificités de la procédure générique d’énumération ordonnée, présenté dans le chapitre 2, lorsqu’elle est utilisée dans le contexte de la recherche de bon compromis et nous présentons ensuite différentes versions de cette procé-dure. Nous présentons dans la section 3.4 une synthèse des résultats expérimentaux obtenus par la mise en œuvre informatique de nos algorithmes. Nous montrons dans cette dernière section l’efficacité globale de notre méthode.

3.1 Définitions préliminaires

Le problème d’affectation multiobjectif peut être formulé comme un programme li-néaire multiobjectif en nombres entiers :

min zk(x) = n X i=1 n X j=1 ckijxij k = 1, . . . , p s.c. n X j=1 xij = 1 i = 1, . . . , n n X i=1 xij = 1 j = 1, . . . , n xij ∈ {0, 1} i = 1, . . . , n, j = 1, . . . , n (3.1) où (c1

ij, . . . , cpij)∈ Np le coût vectoriel associé à l’affectation de l’élément i à l’élément j, avec i, j = 1, . . . , n. Comme dans le cas mono-objectif, le problème d’affectation mul-tiobjectif peut être considéré comme le problème du couplage parfait mulmul-tiobjectif dans un graphe biparti complet G = (U ∪ V, E) muni des valuations vectorielles (c1

ij, . . . , cpij), avec |U| = |V | = n.

Sans renoncer à l’aspect multiobjectif du problème original, le problème de recherche de solution de bon compromis est bien un problème d’optimisation combinatoire mono-objectif non-linéaire, issu de l’agrégation des mono-objectifs du problème (3.1) à l’aide d’une pseudo-distance de type point de référence. Autrement dit, notre problème peut se for-maliser comme le programme mathématique non linéaire (3.2), avec des contraintes im-plicites sur l’efficacité de la solution optimale retournée.

min f (z(x)) = max k=1,...,pk( n X i=1 n X j=1 ckijxij − ¯zk)} s.c. n X j=1 xij = 1 i = 1, . . . , n n X i=1 xij = 1 j = 1, . . . , n xij ∈ {0, 1} i = 1, . . . , n, j = 1, . . . , n (3.2)

où λ ∈ Rp> est la direction de recherche et ¯z ∈ Rp le point de référence. Le problème d’affectation avec le critère min max Regret, prouvé NP-difficile2

par Kouvelis et Yu (1997), est un cas particulier du problème (3.2), aussi le problème (3.2) est NP-difficile. Afin de résoudre le problème (3.2) tout en garantissant l’efficacité de la solution optimale, des approches en deux phases peuvent être envisagées. Ces approches consistent à générer toutes les solutions efficaces pour le problème (3.1), puis à choisir la solution

qui minimise la fonction f parmi les solutions efficaces. Cependant ce type d’approches a ses limites et n’est pas approprié pour résoudre notre problème. Nous donnons dans ce qui suit deux raisons qui nous ont conduits à écarter ces approches.

Le premier obstacle à l’utilisation des approches en deux phases est théorique ; le problème d’affectation multiobjectif est intraitable. Une famille d’instances du problème d’affectation avec deux critères qui le prouve peut être consultée dans le livre de Ehrgott (2005). Tous les points réalisables de chaque instance de cette famille sont non-dominés. Nous proposons une autre famille d’instances avec deux objectifs qui a les mêmes proprié-tés. Soient c1

ij = (j− 1)ni−1et c2

ij = nn− c1

ij les coûts de l’arête (i, j) selon le premier et le second objectif, pour tout i, j = 1, . . . , n. Les points réalisables de cette instance sont tous non-dominés, i.e. pour toute paire de solutions différentes x1, x2, z(x1) ne domine pas z(x2) et z(x2) ne domine pas z(x1).

En effet, soit x1 une solution réalisable avec E(x1) = {(1, j1), . . . , (n, jn)}. Sa valeur selon le premier critère est z1(x1) = Pn

k=1(jk− 1)nk−1 et peut s’écrire aussi z1(x1) = (jn− 1) . . . (j1− 1)n en base n, où (jk− 1) est le kème

chiffre de z1(x1) écrit en base n. Soit x2 une solution réalisable différente de x1, i.e. il existe au moins une arête, no-tons la (k, jk) avec k ∈ {1, . . . , n}, telle que (k, jk) ∈ E(x1) et (k, jk) /∈ E(x2). Les valeurs z1(x1) et z1(x2) diffèrent donc au moins par le kèmechiffre de leurs valeurs écrites en base n. Il en résulte alors que pour tout x1, x2 ∈ X, x16= x2, z1(x1)6= z1(x2).

D’autre part pour toute solution réalisable x : z2(x) = nn+1− z1(x). Par conséquent, la comparaison de deux solutions quelconques x1, x2 de X donne lieu à deux situations : soit (z1(x1) < z1(x2) et z2(x1) > z2(x2) ou bien z1(x1) > z1(x2) et z2(x1) < z2(x2), donc z(x1) et z(x2) ne sont pas comparables.

D’un autre côté, les approches en deux phases sont inefficaces en pratique pour la recherche d’une solution de bon compromis. Plusieurs procédures ont été proposées pour déterminer l’ensemble de toutes les solutions efficaces pour le problème d’affectation multiobjectif. On doit les plus efficaces à Przybylski et al. (2008) pour le cas avec deux objectifs et Przybylski et al. (2010) pour le cas avec trois objectifs. Les auteurs par-viennent à résoudre des instances de taille relativement grande pour la génération de toutes les solutions efficaces (n = 100 pour deux objectifs et n = 50 pour trois objectifs). Nous souhaitons néanmoins résoudre des instances de plus grande taille pour la recherche d’une solution de compromis. De plus, le passage de deux à trois critères n’est pas trivial. Nous souhaitons proposer une procédure pour la recherche d’une solution de bon compromis qui ne dépend pas du nombre d’objectifs et qui permet de résoudre de grandes instances, aussi bien au sens de la taille du problème d’affectation n qu’en termes de nombre d’objectifs p. C’est pour cela que nous nous tournons vers des approches de recherche directe.

Les méthodes classiques de résolution des programmes linéaires mixtes en nombres entiers sont des approches directes envisageables pour résoudre le problème (3.2). En effet, le problème (3.3) est une formulation linéaire équivalente au problème (3.2). Cependant ces méthodes souffrent de deux faiblesses. Nous montrons dans la section 3.4, dévolue aux résultats expérimentaux, que les algorithmes par énumération ordonnée sont plus

efficaces que ces approches. De plus ce type de méthodes ne garantit pas l’efficacité de la solution optimale retournée.

min µ s.c. µ≥ λk(Pn i=1 n P j=1 ck ijxij − ¯zk) k = 1, . . . , p n P j=1 xij = 1 i = 1 . . . n n P i=1 xij = 1 j = 1 . . . n xij ∈ {0, 1} i, j = 1, . . . , n (3.3)

Nous proposons donc des algorithmes par énumération ordonnée pour la recherche d’une solution de bon compromis pour le problème d’affectation multiobjectif. Dans un premier temps nous présentons dans la section 3.2 une procédure d’énumération ordon-née avec une fonction minorante dont les paramètres ne varient pas pendant le processus d’énumération (voir la section 2.2). Nous précisons ensuite dans la section 3.3, les mo-difications qu’il faut apporter à la version précédente afin d’obtenir la variante de la procédure avec minoration variable (voir la section 2.3).