DELMEE
DELMEE
DELMEE
Quentin D ELMÉE
Mémoire présenté en vue de l’obtention du
grade de Docteur de l’Université de Nantes
sous le sceau de l’Université Bretagne Loire
JURY
Président : M. André R OSSI, Professeur des universités, Université Paris-Dauphine
Rapporteurs : Mme Laetitia J OURDAN, Professeur des universités, Université de Lille
M. Said H ANAFI, Professeur des universités, Université de Valenciennes et du Hainaut-Cambrésis
Examinateurs : M. André R OSSI, Professeur des universités, Université Paris-Dauphine
Mme Audrey C ERQUEUS, Maître assistant, École des mines de Saint-Étienne
Directeur de thèse : M. Xavier G ANDIBLEUX, Professeur des universités, Université de Nantes
Encadrant de thèse : M. Anthony P RZYBYLSKI, Maître de conférences, Université de Nantes
Notations
Ci-après, vous pouvez trouver les notations essentielles présentées et utilisées dans ce manuscrit.
3
Table des matières
Introduction 9
1 Optimisation multi-objectif 11
1.1 Optimisation mono-objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.1 Programmation mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.2 Programmation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.3 Programmation linéaire en variables entières . . . . . . . . . . . . . . . . . . . . 12
1.1.4 Programmation linéaire en variables mixtes . . . . . . . . . . . . . . . . . . . . . 13
1.2 Optimisation multi-objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1 Définitions et propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2.2 Caractérisation de l’ensemble non-dominé . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Bornes et ensembles bornants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.3.1 Cas mono-objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.2 Cas multi-objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Relaxations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.1 Relaxation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.2 Relaxation convexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.3 Relaxation lagrangienne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5 Méthodes de résolution des problèmes BOLP . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.1 Méthode du simplexe paramétrique . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.2 Méthode dichotomique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6 Méthode de résolution des problèmes BOILP . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.1 Méthode epsilon-contrainte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.2 Méthode de Branch and Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6.3 Méthodes approchées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.7 Méthode de résolution des problèmes BOMILP . . . . . . . . . . . . . . . . . . . . . . . 31
1.7.1 Méthodes variantes d’ epsilon-contrainte . . . . . . . . . . . . . . . . . . . . . . 31
1.7.2 Méthode de Branch and Bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.7.3 Méthode en deux phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5
6 TABLE DES MATIÈRES
L’optimisation, la recherche opérationnelle et l’aide à la décision sont devenus des atouts importants
de la vie de tous les jours. Suite à la seconde guerre mondiale, ces disciplines sont devenus populaires
autant dans le monde académique que dans le monde du travail, particulièrement auprès des industries, des
sociétés de transports, etc. Dernièrement, elle a même commencé à influencer la vie de chaque citoyen.
En effet, que l’on s’en aperçoive ou non, la recherche opérationnelle est omni-présente. Que ce soit
l’analyse de nos recherches web et le traitement de ces données afin de promouvoir des publicités adaptées,
que ce soit la recherche souvent multi-critère d’un itinéraire de déplacement ou la production des biens que
l’on consomme, on retrouve la recherche opérationnelle partout.
Ces dernières décennies, les secteurs académiques et industriels se sont intéressés de façon croissante
à l’optimisation dite multi-critère ou multi-objectif. On peut cependant se poser la question de ce qu’est
l’optimisation et d’autant plus l’optimisation multi-critère. C’est pourquoi, dans un premier chapitre, nous
commencerons par présenter les grandes lignes de l’optimisation mono-objectif et plus particulièrement de
la programmation linéaire. Suite à cela, nous nous intéresserons plus particulièrement à la notion de critères
multiples en présentant les problèmes multi-objectif de programmation linéaire. Nous nous focaliserons sur
les problèmes à deux objectifs. Bien que très présente dans la littérature récente, l’optimisation bi-objectif
n’est pas récente et certaines classes de problèmes ont été fortement étudiées ces dernières décennies. Plus
récemment, on voit l’émergence d’un fort intérêt pour une classe particulière de problèmes : les problèmes
bi-objectif en variables mixtes. Tout ceci sera explicité plus profondément dans le premier chapitre.
Cependant, un parcours approfondi de la littérature ne permet que de trouver des méthodes générales.
L’intérêt d’une méthode générales et qu’elle va permettre de résoudre tout problème de cette classe par-
ticulière. Il y a cependant un désavantage évident : la méthode doit permettre de résoudre tout problème,
que ce soit un problème de transport, d’emploi du temps, de remplissage d’un sac à dos, etc. Afin de rester
générale, il n’est pas possible de prendre en compte les spécificités d’un problème plus que d’un autre.
Une question se pose donc naturellement : N’est-il pas possible, pour un problème bi-objectif à variables
mixtes présentant des spécificités particulières, de concevoir une méthode dédiée permettant de le résoudre
de façon plus efficace ?
Cette thèse a pour but de répondre à cette question. A cette fin, nous nous sommes intéressés à une
famille de problème qui se retrouve autant dans le monde académique que dans le monde industriel : les
problèmes de localisations de services. C’est pourquoi, dans un second chapitre, nous allons nous intéresser
à cette famille de problèmes. Nous commencerons par présenter le problème de localisation de service et
ses différentes variantes. Plus particulièrement, nous nous intéresserons aux problèmes avec et sans capaci-
tés aux services. Nous présenterons les méthodes qui permettent de résoudre ces deux variantes dans le cas
mono-objectif du problème avant de nous intéresser aux méthodes permettant de résoudre ces mêmes deux
variantes dans le cas bi-objectifs.
Ces deux premiers chapitres nous aurons permis de présenter la littérature essentielle à la bonne compré-
hension de nos travaux de thèse. Ces travaux vont être présentés et développés dans les chapitres suivants.
Dans un troisième chapitre, nous présenterons les travaux permettant de résoudre le problème de locali-
9
10 TABLE DES MATIÈRES
sation de services sans capacités, c’est à dire que les services ont une capacité illimitée d’approvisionnement
ou de stockage. Nous utiliserons à cette fin une méthode dite de pavage par boîtes. Nous présenterons et
comparerons différentes variantes de la méthode.
Dans un quatrième chapitre, nous présenterons les travaux permettant de résoudre le problème de locali-
sation de services avec capacités, c’est à dire que les services ont une capacité limitée d’approvisionnement
ou de stockage. De façon similaire, nous utiliserons à cette fin une méthode de pavage par boîtes et nous en
présenterons différentes variantes.
Des expérimentations approfondies permettront d’analyser les forces et faiblesses de ces méthodes.
Afin de combler les lacunes de ces méthodes, nous nous sommes intéressés à la méthodologie dite en deux
phases. Dans un cinquième et dernier chapitre nous présenterons donc deux méthodes en deux phases.
Celles-ci permettront de résoudre le problème de localisation de service bi-objectif avec et respectivement
sans capacités.
Dans chacun de ces chapitres, nous comparerons nos méthodes dédiées à une méthode générale afin de
montrer la pertinence de ces travaux. Comme nous le verrons, les résultats sont très prometteurs.
1
Optimisation multi-objectif
Ce premier chapitre a pour but de présenter la programmation linéaire multi-objectif en variables mixtes
ainsi que les méthodes de résolution exacte actuellement existantes. La première section a pour but de
présenter les notions essentielles et basiques de l’optimisation mono-objectif. La seconde section va plus
spécifiquement concerner le domaine multi-objectif et présenter les différences que cela apporte. Nous
continuerons avec une section sur les bornes et ensembles bornants pour enchaîner naturellement avec la
notion de relaxation. Suite à cela, nous présentons dans des sections différentes les méthodes de résolution
de problèmes d’optimisation multi-objectifs selon les spécificités de leurs variables.
opt z(x)
s.c ai (x)∆i bi i = 1, . . . , m
∆i ∈ {≤, =, ≥} i = 1, . . . , m
xi ∈ Di ⊆ R i = 1, . . . , n
11
12 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
Où z : Rn → R est la fonction objectif à optimiser. Le vecteur x ∈ D est appelé une solution x dans
l’espace des décisions D. Les Di ⊆ R représentent les domaines respectifs des variables xi . On va aussi
avoir à considérer ai (x) la fonction attribuée à la contrainte i pour le membre de gauche. De son côté, bi
est la constante du membre de droite. Pour finir, n va représenter le nombre de variables de décision du
problème tandis que m est le nombre de contraintes.
Une solution x sera une solution admissible si ses variables de décision satisfont le système de contrainte.
L’ensemble des solutions admissibles, ou ensemble admissible, est noté X. On peut noter que X est un
sous-ensemble de l’espace de décision D.
On peut remarquer que les actions de minimiser et maximiser sont symétriques. Il est facile de voir que
max z(x) = min −z(x) ; ainsi nous pouvons nous placer sans perte de généralité dans un contexte où nous
ne considérons que des problèmes de minimisation.
La fonction objectif à minimiser peut ainsi être réécrite sous la forme : z(x) = ni=1 ci xi où ci repré-
P
sente le coût/profit associé à la variable xi . On peut aussi réécrire cette somme comme le produit de deux
vecteurs : cT x, où cT est la transposée du vecteur de coût, c = (c1 , . . . , cn )T . De la même façon, du fait de
la linéarité des contraintes, les coefficients des variables du système de contraintes peuvent s’écrire sous la
forme d’une matrice A ∈ Rm×n . Ceci nous permet de réécrire les contraintes sous la forme : Ax ≥ b, où
b ∈ Rn est le vecteur des membres de droite, b = (b1 , . . . , bm )T .
min cT x
s.c. Ax ≥ b
xi ≥ 0 i = 1, . . . , n
Les variables sont positives ou nulles, mais peuvent aussi être bornées. Si l’on s’intéresse à l’espace de
décision, l’ensemble admissible X d’un PL est un polytope, un polyèdre non borné ou l’ensemble vide.
En particulier, X est un ensemble convexe. Différentes méthodes de résolution générale sont présentées
dans les livres Chvátal [1983], Schrijver [1998], Teghem [2003] telles que la méthode du simplexe ou les
méthodes de point intérieur.
min cT x
s.c. Ax ≥ b
xi ∈ N i = 1, . . . , n
1.2. OPTIMISATION MULTI-OBJECTIF 13
Ces changements sur la nature des variables impliquent que l’ensemble admissible X ne sera plus convexe,
contrairement aux problèmes LP. En général, il n’y a donc plus la possibilité de caractériser les solutions
optimales à l’aide des méthodes utilisées pour les problèmes LP. Afin de résoudre les problèmes de pro-
grammation linéaire en variables entières, on peut citer des méthodes de séparation et évaluation (Branch
and Bound), des méthodes de programmation dynamique ainsi que des méthodes polyédrales [Wolsey,
1998].
Optimisation combinatoire
Les problèmes d’optimisation combinatoire (Combinatorial Optimization CO) forment une sous-classe
de problèmes ILP où habituellement les variables sont binaires (xi ∈ {0, 1}). Ces problèmes se distinguent
des problèmes ILP par un ensemble de contraintes conférant au problème une structure particulière. Parmi
les problèmes CO classiques, on retrouve les problèmes d’affectation, de sac à dos, le problème de voyageur
de commerce, etc.
Tout comme les problèmes ILP, ces problèmes sont en général difficiles à résoudre. Il est intéressant de
noter qu’ils se retrouvent dans beaucoup d’applications en tant que sous-problèmes. Cependant, la structure
particulière de leur ensemble de contraintes permet le développement et l’utilisation de méthodes dédiées.
Pour un problème particulier, ces méthodes vont exploiter ses spécificités afin de le résoudre plus efficace-
ment.
min cT x
s.c. Ax ≥ b
xi ≥ 0 i = 1, . . . , k
xj ∈ N j = k + 1, . . . , n
Tout comme pour les problèmes ILP, la présence des variables discrètes rend l’ensemble de solutions ad-
missibles non convexe. La difficulté des problèmes MILP viendra donc de ces variables discrètes. Ainsi,
les résolutions des problèmes ILP et MILP seront similaires et utiliseront les mêmes méthodologies. Par
ailleurs, on peut noter que les variables continues peuvent apporter des informations supplémentaires et être
utilisées de façon intelligente pour le calcul, par exemple, de coupes [Gomory, 1960].
Où x = (x1 , . . . , xn )T .
On peut aussi considérer que la fonction objectif z : Rn → Rp associe au vecteur solution x un vecteur
de valeur (z1 (x), . . . , zp (x)) ; z(x). Ce vecteur de valeurs est appelé un point dans l’espace des objectifs. On
peut aussi remarquer que la caractérisation de l’ensemble admissible ne change pas, en effet le système de
contraintes ne dépend pas de la fonction objectif. À l’inverse, la pluralité du nombre d’objectifs impliquera
des changements quant à la définition des solutions optimales. En effet, les fonctions objectifs de problèmes
multi-objectifs seront supposées conflictuelles. Cela implique qu’il n’existera en général pas de solution
admissible permettant de minimiser tous les objectifs simultanément.
Definition 1.1. (Espace des objectifs). On appelle espace des objectifs Rp et Y = {z(x) : x ∈ X} ⊂ Rp . Y
est l’image de X par le vecteur de fonctions objectifs. Les vecteurs de Rp et Y sont appelés respectivement
points et points réalisables. Y est appelé l’ensemble de points réalisables ou ensemble réalisable.
Une façon assez naturelle de considérer le cas multi-objectif est de donner un ordre de préférence à
chaque fonction objectif. Dans ce cas précis, on va donc chercher à optimiser selon cet ordre de préférence.
On parlera alors d’ordre lexicographique :
Definition 1.2. (Ordre lexicographique). Considérons deux points y 1 , y 2 ∈ Rp , alors nous aurons y 1 <lex
y 2 s’il existe l ∈ {1, . . . , p} tel que pour tout k < l on ait yk1 = yk2 et yl1 < yl2 . Pour y 1 <lex y 2 ou y 1 = y 2
on écrira y 1 5lex y 2 .
Definition 1.3. (Optimalité lexicographique). Soit π une permutation des fonctions objectifs {1, . . . , p}.
Une solution admissible est appelée lexicographiquement optimale selon π si pour toute solution x0 ∈ X,
alors zπ (x) 5lex zπ (x0 ), avec zπ (x) = (zπ1 (x), . . . , zπp (x)).
Une solution x est dite lexicographiquement optimale s’il existe une permutation π tel que x est lexico-
graphiquement optimal selon π.
Nous obtenons ainsi une relation d’ordre sur les points réalisables du problème. Cependant, cette mé-
thode est très limitée et ne permet que de comparer les points en fonction d’un nombre fini de permutations
d’objectif. Ainsi, il était nécessaire de mettre en place une nouvelle notion de comparaison des points réa-
lisables. À cette fin, il a été mis en place une notion de dominance :
1.2. OPTIMISATION MULTI-OBJECTIF 15
Selon cette définition, deux points seront donc incomparables s’il n’existe pas de relation de dominance
entre eux. De plus, cette définition nous permet de définir les cônes de dominance : Rp= = {y ∈ Rp : y = 0}
pour la dominance faible, et respectivement Rp≥ et Rp> pour la dominance et la dominance stricte. Pour
n’importe quel point y ∈ Rp , on peut aussi définir y + Rp= comme la zone où tous les points sont faiblement
dominés par y. De même, on peut étendre cette formulation à S + Rp= pour tout ensemble de points S ⊂ Rp
et respectivement de même pour Rp≥ et Rp> ainsi que leur soustraction.
Definition 1.6. (Ensemble Efficace et Non-Dominé). L’ensemble des solutions efficaces est noté XE et son
image dans l’espace des objectifs z(XE ) est notée YN , aussi appelée l’ensemble des points non-dominés ou
l’ensemble non-dominé.
Une définition alternative de YN peut être donnée en considérant les cônes de dominance, YN = {y ∈
Y : ((y − Rp= ) ∪ Y ) = {y}}. Plus généralement, pour un ensemble de points S ⊂ RP nous noterons
SN := {s ∈ S : (s − Rp= ) ∪ S = {s}}, l’ensemble des points de S qui ne sont pas dominés par d’autres
points de S. On peut remarquer que dans le cas bi-objectif, il existe un ordre naturel des solutions effi-
caces. Il est en effet possible de trier ces solutions par valeurs croissantes d’un objectif et simultanément
par valeurs décroissantes sur le second objectif. Cette particularité rend les problèmes bi-objectifs bien plus
simples à traiter.
Définition 1.7. (Équivalence et ensemble complet [Hansen, 1980]). Deux solutions admissibles x et x0 sont
dites équivalentes si z(x) = z(x0 ).
— Un ensemble complet XE est un ensemble de solutions efficaces tel que toute solution x ∈ X \ XE
est soit équivalente, soit dominée par une solution x0 ∈ XE .
— Un ensemble complet minimal XEm est un ensemble complet sans solutions équivalentes.
— L’ensemble complet maximal XEM est l’ensemble complet contenant toutes les solutions efficaces.
Nous chercherons par la suite à calculer un ensemble non-dominé complet, ce qui correspond à un
contexte a posteriori vis-à-vis du décideur. Cependant, il est important de remarquer que, quel que soit le
contexte, nous allons toujours proposer des solutions efficaces au décideur.
Des méthodes bien connues de l’optimisation multi-objectif permettent de calculer des solutions ef-
ficaces, par exemple la somme pondérée qui consiste à agréger selon un vecteur de poids les p objectifs
initiaux.
16 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
Théorème 1.1. (Somme pondérée [Geoffrion, 1968]). Soit P un problème multi-objectif ayant p fonctions
objectifs et un vecteur de poids λ ∈ Rp≥ . Le problème pondéré Pλ est défini par :
p
X
λ
min z (x) = λk zk (x)
k=1
s.c. x ∈ X
Cette méthode de calcul est populaire du fait de sa simplicité de mise en oeuvre et parce qu’elle ne
modifie pas la structure du problème. Elle a conduit à la différentiation des solutions efficaces et des points
non-dominés en deux catégories :
— Une solution efficace x est appelée supportée s’il existe un vecteur de poids λ ∈ Rp> tel que x est
la solution optimale du problème pondéré Pλ ainsi généré. On écrira XSE l’ensemble des solutions
efficaces supportées et son image z(XSE ) sera noté YSN l’ensemble des points non-dominés sup-
portés. Il est intéressant de noter que les points non-dominés supportés se trouvent sur la frontière
de l’enveloppe convexe de YN .
— Une solution efficace x sera appelée non-supportée s’il n’existe pas de vecteur poids λ ∈ Rp> tel
que x soit optimale pour le problème pondéré Pλ . Son image dans l’espace des objectifs z(x) sera
appelée un point non-dominé non-supporté. Ainsi, XN E et YN N désigneront respectivement l’en-
semble des solutions efficaces non-supportées et l’ensemble des points non-dominés non-supportés.
Par définition, nous avons XN E = XE \ XSE et de façon similaire YN N = YN \ YSN . Quant à eux
ces points se situent à l’intérieur de l’enveloppe convexe de YN .
L’ensemble des solutions efficaces supportées (respectivement l’ensemble de points non-dominés sup-
portés) peut être lui-même découpé en deux sous-ensembles :
— L’ensemble de solutions efficaces supportées extrêmes dont l’image dans l’espace des objectifs
se situe sur un sommet de conv(Y). Ces solutions forment respectivement les ensembles XSE1 et
YSN 1 = z(XSE1 ) que l’on appelle l’ensemble des points non-dominés supportés extrêmes.
— L’ensemble de solutions efficaces supportées non-extrêmes dont l’image n’est pas sur un sommet de
conv(Y). Ces solutions nous donnent respectivement les ensembles XSE2 et YSN 2 = z(XSE2 ) que
l’on appelle l’ensemble des points non-dominés supportés non-extrêmes.
/ × ×
• Points non-dominés supportés extrêmes
• Lex12
◦ Points non-dominés supportés non-extrêmes
Points non-dominés non-supportés
◦ × × ×
/ Points faiblement non-dominés
× Points dominés et/ou faiblement dominés
• × conv(YN + R2= )
×
• /
Lex21
F IGURE 1.1 – Illustration des définitions précédentes sur un problème de type MOILP.
1.2. OPTIMISATION MULTI-OBJECTIF 17
La figure 1.1 permet d’illustrer les différentes définitions que nous venons d’énoncer. Les points sup-
portés extrêmes vont jouer un rôle important dans la définition d’ensembles bornants sur YN comme nous
le verrons dans la section suivante. Cependant, leur nombre peut augmenter de façon exponentielle avec la
taille du problème [Ehrgott, 2006].
F IGURE 1.2 – Illustration des différences d’ensemble de points non-dominés en fonction de l’intégrité des
variables.
Un premier théorème important permet directement de caractériser les MOLP. Ce théorème se base sur
la convexité de l’espace des décisions. La fonction objectif étant linéaire, nécessairement, l’ensemble des
points réalisables est lui aussi convexe. On obtient :
Théorème 1.2. ([Isermann, 1974]). Toutes les solutions d’un problème MOLP sont supportées.
Cela implique donc que l’ensemble non-dominé YN d’un MOLP va soit correspondre à un unique point
non-dominé ou à un ensemble d’arêtes non-dominées. La figure 1.2 (b) permet d’illustrer YN .
Le cas en variables discrètes des problèmes MOILP est plus difficile à considérer. L’ensemble des so-
lutions admissibles X va en effet correspondre à un ensemble dénombrable fini de solutions. Ainsi, dans
l’espace des objectifs nous allons obtenir un ensemble fini de points. Ces points vont être dominés, non-
dominés, supportés et non-supportés, comme l’illustre la figure 1.2 (a). Il n’est plus possible d’obtenir
l’ensemble YN aussi simplement que dans le cas continu.
Le cas en variables mixtes des problèmes MOMILP va combiner les propriétés et difficultés des MOLP
et MOILP, comme l’illustre la figure 1.2 (c). Récemment, un théorème important de [Vincent, 2013] a été
proposé afin de décrire de façon générale l’ensemble non-dominé YN :
Théorème 1.3. L’ensemble non-dominé d’un BOMILP est composé d’arêtes qui peuvent être fermées,
semi-ouvertes, ouvertes ou réduites à un point.
Théorème 1.4. L’ensemble non-dominé d’un MOMILP à p objectif est composé de polyèdres allant de 0 à
(p − 1) dimensions qui peuvent être fermés, semi-ouverts, ouverts, ou réduits à un point.
18 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
En plus de cela, les auteurs [Vincent, 2013] expliquent toutes les interactions de dominance que vont
avoir les arêtes et les points dans le contexte bi-objectif. Ces différentes règles sont présentées par la figure
1.3 dans le cas bi-objectif. Chaque comparaison bi-objectif d’arête et de points va nécessairement hériter
d’une de ces comparaisons.
z2 z2
t t
• • projection verticale
y yl y l : de y.
• •◦ •◦
y↔ y↔ y ↔ : projection horizontale
• • •◦ de y.
y • Points non-dominés
yl u u
• • ◦ Points dominés
z1 z1
(a) y est dominé par tous les points de (b) Tous les points de [y ↔ y l ] sont do-
[y ↔ y l ]. minés par y.
z2 z2 z2
• • r
• l t rl t •◦
t r ◦•
◦•
• • p
r •
r s↔
• •◦
s u•
u• s↔
• ◦•
s u•
•
s z1 z1
z1
(d) Les points de [rs] dominent les (e) Intersection d’arêtes. Les points
(c) Les points de [rs] dominent les
points de [rl s↔ ]. [trl [ et ]s↔ u] ne non-dominés se trouvent dans [tp] ∪
points de [rl u]. [trl [ n’est pas dominé.
sont pas dominés. [ps]∪]s↔ u].
La difficulté va donc se poser sur les différences inhérentes aux problèmes MOLP, MOILP et MOMILP.
À l’inverse des solutions supportées, il n’existe pas de méthode simple pour obtenir les solutions non-
supportées. Nécessairement, c’est le calcul des points non-supportés des problèmes MOILP et MOMILP
qui va poser problème.
Définition 1.8. (Borne supérieure et borne inférieure dans le cas mono-objectif). Considérons x∗ une solu-
tion optimale d’un problème P .
— Une borne supérieure pour x∗ est une valeur u ∈ R tel que z(x∗ ) ≤ u.
— Une borne inférieure pour x∗ est une valeur l ∈ R tel que l ≤ z(x∗ ).
La borne inférieure est, en général, obtenue à l’aide d’une version relâchée du problème (on parle de
relaxation, voir section 1.4). La borne supérieure correspond à la valeur de la meilleure solution connue,
obtenue initialement par une heuristique et mise à jour durant l’exécution de l’algorithme. L’objectif sera
donc d’obtenir des bornes les plus serrées (proches) possible. C’est-à-dire d’obtenir la borne inférieure la
plus grande et la borne supérieure la plus petite possible.
On peut par ailleurs remarquer que l’utilisation et la caractérisation des bornes supérieures et inférieures
sont interchangées dans le cas de problèmes de maximisation.
Une réutilisation directe des notions de bornes mono-objectifs consiste à considérer dans le cas multi-
objectif, deux points l, u ∈ Rp tel que pour chaque fonction objectif les inégalités de la définition 1.8 soient
respectées/satisfaites pour chaque point non-dominé du problème.
Définition 1.9. (Borne supérieure et inférieure dans le cas multi-objectif). Considérons YN l’ensemble de
points non-dominés d’un problème P .
— Une borne supérieure pour YN est une valeur u = (u1 , . . . up )T ∈ Rp tel que pour tout y ∈ YN on
ait y 5 u.
— Une borne inférieure pour YN est une valeur l = (l1 , . . . lp )T ∈ Rp tel que pour tout y ∈ YN on ait
l 5 y.
Une proposition assez naturelle lors du passage à plusieurs objectifs est donc de considérer le point idéal
y et le point nadir y N définis comme suit :
I
Il est ainsi facile de vérifier que y I 5 y 5 y N pour tout point y ∈ YN . Ces deux points sont les bornes
les plus serrées possible que l’on peut obtenir pour YN par application de la définition 1.10.
Cependant il a été constaté que ces bornes sont en général éloignées de l’ensemble non-dominé YN
[Ehrgott and Gandibleux, 2007]. Ceci s’explique par la nature conflictuelle qu’ont les objectifs les uns
envers les autres. Afin d’améliorer l’encadrement de l’ensemble non-dominé YN , la notion de bornes a été
étendue à la notion d’ensemble bornant, considérant non plus un seul point pour chaque borne, mais un
ensemble de points permettant de borner YN .
Différentes définitions ont été proposées [Villarreal and Karwan, 1981, Ehrgott and Gandibleux, 2001],
mais nous allons nous intéresser plus explicitement à celle de l’article [Ehrgott and Gandibleux, 2007]. Les
20 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
spécificités et différences de ces ensembles bornants sont présentés dans le survey récent de Przybylski and
Gandibleux [2017].
Pour la définition de [Ehrgott and Gandibleux, 2007], il nous faut introduire une notion supplémentaire.
Définition 1.11. (Ensemble Rp= -fermé et Rp= -borné). Un ensemble S ⊂ Rp= est dit Rp= -fermé si l’ensemble
S + Rp= est fermé et est dit Rp= -borné si il existe s ∈ Rp tel que S ⊆ s + Rp= .
L’ajout dans les définitions de L ⊂ (L + Rp= )N et U ⊂ (U + Rp= )N interdit que des points de L et
respectivement U ne se dominent les uns les autres. On veut que chaque point de Y soit au moins faiblement
dominé par au moins un point de L d’où Y ⊂ L + Rp= . À l’inverse, on souhaite qu’aucun point de Y ne
soit dominé par U on obtient donc Y ∈ / (U + Rp≥ ) ce qui implique donc que Y se trouvera à l’intérieur
du complémentaire de (U + R≥ ). La fermeture est ensuite utilisée pour obtenir un ensemble Rp= -fermé, on
p
v-min :Cx + Dx : Ax ≥ b, Bx ≥ c
z2
•◦ • o
YN
• ◦ yN
•◦ × EBI 1
• ◦ EBI 2
•◦ ◦ •◦ ◦ o
EBS
• •
◦
× •
◦
yI × •
x ∈ Rn , x ∈ Zn z1
On peut remarquer sur la figure 1.4 que les points y I et y N sont respectivement des EBI et EBS valides.
Tout comme évoqué précédemment, l’EBS couramment utilisé est un ensemble de points réalisables filtrés
par dominance. En général différents EBI (avec des qualités et coûts temporels différents) sont utilisés
comme la relaxation convexe ou la relaxation continue (voir ci-après la section 1.4 ).
Par abus de langage, on dira qu’un EBI L est convexe si L + Rp5 est convexe. Symétriquement dans le
cadre d’un problème de maximisation on dira qu’un EBS U est convexe si U − Rp 5 est convexe.
1.4 Relaxations
Comme nous venons de voir dans la section 1.3, les bornes et ensembles bornants sont un élément
essentiel à la résolution des problèmes ILP et MOILP. Il devient donc nécessaire d’avoir accès à un ensemble
1.4. RELAXATIONS 21
de méthodes permettant d’obtenir de telles bornes et ensembles bornants. Les relaxations (voir définition
ci-après) sont une des méthodes permettant d’obtenir de telles informations.
La propriété importante de la relaxation est que z R ≤ z ∗ c’est à dire qu’une relaxation permet toujours
d’obtenir une borne inférieure sur la valeur optimale du problème. L’extension au cas multi-objectif est
directe et implique simplement que f : Rn → Rp ainsi que z : Rn → Rp et la relation entre les fonctions
objectifs devient une relation de dominance faible tel que f (x) 5 z(x) pour tout x ∈ X.
Dans la suite de cette section, nous présenterons trois relaxations très couramment utilisées. Elles re-
présentent une importante section des travaux proposés dans ce manuscrit. Il existe bien entendu d’autres
types de relaxation que nous n’expliciterons pas, tels que la relaxation surrogate, la relaxation composite,
la relaxation combinatoire, etc.
L’extension de la relaxation linéaire au cas des problèmes multi-objectifs est tout aussi directe. On peut
remarquer qu’un problème MOILP devient après une relaxation linéaire un MOLP. En particulier dans le cas
bi-objectif, on peut utiliser une des méthodes de résolution existantes, telles que le simplexe paramétrique
[Ehrgott, 2006] ou une méthode dichotomique [Aneja and Nair, 1979] ( voir sous-section 1.5.2 ).
Pour un problème mono-objectif, la solution optimale est confondue avec la solution optimale de sa
relaxation convexe. Cependant, le calcul de conv(X) est en général N P − Hard [Wolsey, 1998], trouver
conv(X) est la finalité des méthodes polyèdrales.
À l’inverse, dans le cas d’un problème multi-objectif P , une formulation de l’ensemble admissible
X n’est pas nécessaire pour résoudre la relaxation convexe de P . En effet, les points non-dominés de la
relaxation convexe correspondent à (conv(YN ))N . Par conséquent (conv(YN ))N est un EBI pour YN , c’est
d’ailleurs l’EBI convexe le plus serré possible pour YN .
Les points extrêmes de (conv(YN ))N correspondent aux points non-dominés supportés extrêmes du
problème P . Ainsi, le calcul de (conv(YN ))N permet au passage d’obtenir un des points réalisables pour
l’ensemble admissible YN pour le problème P . Les points supportés extrêmes peuvent être obtenus à l’aide
d’une méthode dichotomique (voir sous-section 1.5.2).
La relaxation convexe de problèmes de type BOLP, BOILP, BOCO et BOMILP est très facile à résoudre
si la variante mono-objectif du problème peut se résoudre en temps polynomial ou pseudo-polynomial.
22 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
La Relaxation Lagrangienne (LGR) d’un problème P consiste à relâcher une contrainte ou un ensemble
de contraintes du problème P . Cependant, si les contraintes relâchées ne sont pas respectées, nous allons pé-
naliser la fonction objectif à l’aide de coefficients appelés multiplicateurs de Lagrange. Ces multiplicateurs
de Lagrange sont associés respectivement aux contraintes relâchées. En relâchant les contraintes, Ax ≤ b)
nous obtenons ainsi le problème P 0 (π) défini ainsi :
min z π (x) = cx + π > (b − Ax)
s.c. Cx ≥ d
x ∈ Rn
Avec π ∈ Rq= les multiplicateurs de Lagrange où q représente le nombre de contraintes relâchées.
Il est facile de voir que si la contrainte Ax ≥ b n’est pas valide, alors (b − Ax) sera positif et la fonction
objectif sera pénalisée. De même, on remarque immédiatement que pour une solution x ∈ X on a nécessai-
rement, z π (x) ≤ z ∗ (x) car la contrainte Ax ≥ b est valide. Donc (b − Ax) est soit nulle et ne contribuera
pas à la fonction objectif ou soit négative et contribuera à la minimisation.
Suivant les valeurs des multiplicateurs de Lagrange, la résolution de LGR fournit une borne dont la
qualité peut varier. Nous souhaitons obtenir la meilleure borne possible, cela mène à considérer un autre
problème d’optimisation appelé le Dual Lagrangien :
Les méthodes proposées dans ce manuscrit sont exclusivement pour des problèmes bi-objectifs. Ainsi,
nous nous concentrerons plus spécifiquement sur les méthodes de résolution bi-objectif. Le cas multi-
objectif sera tout de même évoqué.
non-dominées de Rp .
D’après le théorème 1.2, toutes les solutions efficaces d’un BOLP sont supportées. Considérant le théorème
1.1 il est donc possible de calculer les solutions efficaces de BOLP 1 en résolvant :
Pour tout λ ∈ R2> . Pour normaliser, on pose (λ1 , λ2 ) = (λ, 1 − λ) avec λ ∈ [0, 1], ce qui nous permet
d’obtenir la fonction objectif qui suit :
min c(λ)T x
s.c. x ∈ X
Nous obtenons donc un problème paramétrique où il faut déterminer les valeurs de λ ∈ [0, 1] à calculer.
Du fait de l’ordre naturel des solutions efficaces dans le cas de l’optimisation bi-objectif, il suffit donc de ré-
soudre le problème avec λ = 1 puis de faire progressivement diminuer λ jusqu’à aboutir à λ = 0 pour ainsi
obtenir YN . Cependant, il est évident de constater qu’il y a une infinité de λ à considérer. Le problème est
impossible à résoudre tel quel. Pour éviter cela, nous calculons pour une solution efficace x∗ ∈ XE les poids
critiques tel que la solution x∗ reste optimale pour le problème Pλ considéré. Ainsi, en pivotant d’un poids
critique à un autre, il est possible de visiter tous les points supportés extrêmes et d’obtenir implicitement YN .
L’initialisation de cette méthode consiste à calculer les deux solutions lexicographiquement optimales
du problème x1 et x2 ainsi que leurs valeurs dans l’espace des objectifs respectivement z(x1 ) = y 1 et
z(x2 ) = y 2 . Les itérations suivantes consistent à considérer chaque paire de points y g , y d consécutifs (par
rapport à un objectif) et de résoudre le problème pondéré par λ = (y2g − y2d , y1d − y1g )T , ce qui correspond
à un vecteur orthogonal à la droite passant par les points y g , y d . Le fonctionnement de cette méthode est
illustré par la figure 1.5.
Si la nouvelle solution x∗ obtenue en résolvant Pλ permet d’obtenir un point z(x∗ ) tel que λT z(x∗ ) <
λT y g (nécessairement λy g = λy d ) alors on peut rajouter (x∗ ) à l’ensemble de solutions supportées (voir
figure 1.5 (c) et (e) ). Il faudra ensuite itérer à nouveau la méthode en considérant les deux nouvelles paires
de points que cela forme.
Sinon nécessairement on obtient z(x∗ ) = λy g . Deux cas sont alors à considérer :
— z(x∗ ) = y g ou z(x∗ ) = y d , la solution obtenue n’est pas gardée et la méthode s’arrête sur cette paire
de points (voir figure 1.5 (f) ).
24 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
z2 z2 z2
• • •
y1 y1 y1
•
y3
y2 • y2 •
z1 z1 z1
(a) Initialisation 1) en obtenant la so- (b) Initialisation 2) en obtenant la so- (c) Itération 1) λ défini par y 1 et y 2
lution lexicographiquement optimale lution lexicographiquement optimale permet d’obtenir y 3 avec λT y 3 <
selon la permutation d’objectif (1,2). selon la permutation d’objectif (2,1). λT y 1 . Continuons avec y 2 et y 3
z2
z2 z2
•
y1 • •
y1 y1
• •
• 4 y5 y5
y • • y6
y3 ◦ y3 y3 ×◦
◦
y2 • y 4
y 2• y4 y2 •
z1
z1 z1
2 3
(d) Itération 2) λ défini par y et y
(e) Itération 3) λ défini par y 1 et y 3 (f) Itération 4,5) Les pondérations dé-
permet d’obtenir, par chance, y 4 avec
permet d’obtenir y 5 avec λT y 5 < finies par y 1 et y 5 ainsi que y 3 et y 5 ne
λT y 4 = λT y 1 . On ne cherche plus
λT y 1 . On ne cherche plus de nouveaux permettent pas d’obtenir de nouveaux
de nouveaux points pour ces pondéra-
points pour ces paires de points. points. y 6 ne peut être obtenu ainsi.
tions.
— z(x∗ ) 6= y g et z(x∗ ) 6= y d la solution obtenue se trouve sur l’arête définie par y g et y d , la solution
peut être gardée, car elle apporte des informations supplémentaires, mais la méthode s’arrête sur
cette paire de points (voir figure 1.5 (d) ).
La méthode dichotomique a aussi été adaptée à plus de deux objectifs [Przybylski et al., 2010, Özpey-
nirci and Köksalan, 2010]. La perte de l’ordre naturel et de la notion de points consécutifs rend la méthode
beaucoup plus difficile à mettre en place.
min z1 (x)
s.c. z2 (x) ≤ ε
x∈X
Avec ε ∈ R. On peut remarquer que l’ajout de la contrainte additionnelle modifie la structure du problème
original, le rendant en général plus difficile à résoudre. Résoudre ce problème permet d’obtenir une solution
au moins faiblement efficace. Pour obtenir XEm , la méthode -contrainte va résoudre des problèmes P (ε)
pour différentes valeurs de ε. La figure 1.6 illustre le fonctionnement de la méthode.
La première itération consiste à résoudre le problème en ne considérant que le premier objectif. Il n’y
a aucune contrainte ajoutée sur le second objectif. À l’itération (i + 1), nous choisissons une valeur tel
que les solutions faiblement efficaces des i itérations précédentes ne soient plus réalisables pour le nouveau
problème P (ε). Cependant on veut que toutes les autres solutions efficaces qui ne sont pas encore trouvées
restent réalisables. La méthode -contrainte se termine lorsque pour une itération il n’y a plus de solution
admissible au problème. Si l’on considère xi la solution optimale obtenue à la ième itération, nous pouvons
considérer le problème suivant pour la (i + 1)ème itération :
26 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
min z1 (x)
s.c. z2 (x) ≤ z2 (xi ) −
x∈X
Comme évoqué précédemment, le cas bi-objectif est relativement plus simple du fait de l’ordre naturel
des solutions efficaces. Cependant, des généralisations de la méthode -contrainte pour trois objectifs et
plus ont été proposées par [Laumanns et al., 2005, Lokman and Köksalan, 2013, Ozlen et al., 2014, Kirlik
and Sayın, 2014, Dächert and Klamroth, 2015, Boland et al., 2017].
z2 z2 z2
• ◦ ◦
y1 y1 y1
• •
y2 y2 •
y3
z1 z1 z1
(a) Itération 1) le problème n’est pas (b) Itération 2) le point y 1 permet (c) Itération 3) le point y 2 permet de
contraint, on résout en considérant d’ajouter une contrainte epsilon au modifier la contrainte epsilon du pro-
l’objectif 1. On obtient y 1 . problème. On obtient y 2 . blème. On obtient y 3 .
◦ ◦ ◦
y1 y1 y1
• • •
y2 • y2 • y2 •
y3 y3 y3
• • •
y4 y4 • y4 •
y5 y5 y6 •
(d) Itération 4) le point y 3 permet de (e) Itération 4) le point y 4 permet de (f) Itération 5) le point y 5 permet d’ob-
modifier la contrainte epsilon du pro- modifier la contrainte epsilon du pro- tenir y 6 . Modifier la contrainte du pro-
blème. On obtient y 4 . blème. On obtient y 5 . blème le rend irréalisable.
La première généralisation bi-objectif a été présentée par [Kiziltan and Yucaoğlu, 1983] pour des pro-
blèmes BOILP en variables binaires. La plupart des méthodes de Branch and Bound sont dédiées à des
problèmes particuliers et presque toujours en variables binaires. On trouve par exemple le problème d’arbre
couvrant de poids minimum [Domínguez et al., 1998, Sourd and Spanjaard, 2008], le problème d’affectation
bi-objectif [Delort, 2011] ainsi que le problème de sac à dos sous de multiples variantes (unidimensionnel
bi-objectif [Lukata and Teghem, 1997, Visée et al., 1998], tri-objectif [Jorge, 2010], bidimensionnel bi-
objectif [Cerqueus et al., 2015] et multidimensionnel multi-objectif [Florios et al., 2010]). Dans la suite de
cette sous-section, nous allons plus particulièrement nous intéresser au cas bi-objectif en variables binaires.
La méthode de Branch and Bound est une méthode d’énumération implicite de toutes les solutions ad-
missibles possibles afin d’obtenir un ensemble minimal de solutions efficaces XEm . On parle d’énumération
implicite parce que toutes les solutions admissibles sont évaluées bien qu’elles ne soient pas nécessairement
toutes explorées.
Afin de faire une énumération complète des solutions admissibles, l’ensemble X va être parcouru en
fixant successivement une ou plusieurs variables binaires du problème. La fixation d’une ou plusieurs va-
riables binaires va permettre de partitionner l’ensemble admissible X, que l’on pourra alors représenter
sous la forme d’un arbre de recherche. La racine de cet arbre de recherche représentera alors le problème
originel, que l’on cherche à résoudre, tandis que chaque noeud suivant représentera un sous-problème dans
lequel certaines variables seront fixées. Pour chaque noeud, et donc chaque sous-problème, les variables
binaires qui ne sont pas fixées sont appelées des variables libres (free variables).
Afin d’effectuer une énumération implicite, il faut donc que chaque sous-problème soit évalué. Cette
évaluation a plusieurs finalités, par exemple, elle permet de prouver que le sous-problème n’est pas in-
téressant et qu’aucune solution efficace ne s’y trouvera. Dans ce cas particulier, le noeud est sondé par
dominance, la recherche est alors interrompue dans cette partie de l’arbre. L’évaluation peut aussi servir,
dans le cas de branchement dynamique, à choisir la variable libre qui semble la plus intéressante à fixer.
La stratégie de branchement peut être statique (l’ordre des variables à fixer est préétabli) ou dynamique
(les informations obtenues durant l’énumération de X sont réutilisées afin de choisir la ou les variables à
fixer). Les stratégies de branchement sont en général statiques, surtout pour les problèmes multi-objectifs,
et dépendront en général des données du problème.
28 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
Borne supérieure et ensemble bornant supérieur : L’ensemble bornant supérieurement U peut être
initialisé au début de l’algorithme avec le point (∞, ∞) ou avec tout ensemble de points réalisables obte-
nus par une méthode exacte ou au moyen d’une méthode approchée (voir sous-section 1.6.3). Différentes
initialisations de U permettent d’améliorer parfois significativement la qualité et la rapidité de l’exploration
de l’arbre de recherche. Parmi les initialisations les plus courantes, on retrouve la méthode dichotomique,
permettant de résoudre la relaxation convexe dont les points réalisables forment un EBS. L’EBS U est en
général mis à jour durant l’exploration de l’arbre de recherche en y ajoutant toutes les solutions admissibles
trouvées, filtrées par dominances.
Un point réalisable de U , trouvée durant l’exploration de l’arbre de recherche ou obtenue par une mé-
thode approchée, sera appelée un point potentiellement non-dominé. En effet, celui-ci n’est pas (encore)
dominé par une autre solution obtenue durant l’exécution, mais pourra l’être plus tard par une solution
trouvée ultérieurement.
Borne inférieure et ensemble bornant Inférieur : Pour chaque noeud de l’arbre de recherche, un
ensemble bornant inférieurement L est calculé. L permet de borner inférieurement l’ensemble de points
non-dominés YN du sous-problème correspondant au noeud actuel. L est alors utilisé pour évaluer le noeud
courant et vérifier s’il peut être sondé par dominance.
Dans les premiers algorithmes de Branch and Bound bi-objectif, L était composé d’un unique point :
soit le point idéal soit un point le dominant appelé point utopique. Par exemple, [Kiziltan and Yucaoğlu,
1983] va utiliser un point utopique en assignant pour chaque variable la valeur qui permet de minimiser
au mieux l’objectif considéré, sans considérer les contraintes. Plus tard, [Lukata and Teghem, 1997, Vi-
sée et al., 1998, Jorge, 2010, Florios et al., 2010] vont aussi utiliser des points utopiques comme EBI. Ce
dernier va considérer le point idéal de la relaxation linéaire y ILP du sous-problème courant tandis que les
trois premiers vont mettre en place un point utopique calculé à partir de bornes mono-objectifs dédiées au
problème de sac à dos. Ces bornes sont bien plus serrées que celle précédemment évoquée ne prenant pas
en compte les contraintes.
Plus récemment, des ensembles bornants inférieurs plus complexes, mais aussi plus coûteux, ont été
considérés afin d’obtenir plus d’informations sur le sous-problème courant. La relaxation convexe a été
beaucoup utilisée par Sourd and Spanjaard [2008], Jorge [2010], Delort [2011].
Sondage des noeuds : Un noeud peut être sondé et coupé si l’on peut prouver que les solutions ad-
missibles (et plus particulièrement les solutions efficaces) du sous-problème correspondant au noeud, sont
nécessairement dominées pour le problème d’origine. Il existe trois façons de sonder afin de couper un
noeud :
— Sondage par inadmissibilité : Ce sondage ne concerne que l’ensemble admissible du problème. Il
n’y a donc pas de différence avec le contexte mono-objectif.
— Sondage par dominance : Cela nécessite la comparaison de l’EBI L du sous-problème actuel à
l’EBS U du problème global. Si pour tout point l ∈ L il existe un point u ∈ U tel que u domine au
moins faiblement l alors nécessairement tous les points du sous-problème sont au moins faiblement
dominés. Aucun nouveau point non-dominé ne pourra être trouvé dans cette branche de l’arbre de
recherche, il n’est donc pas nécessaire de continuer, on peut couper le noeud.
— Sondage par optimalité (mono-objectif) : Dans le cas mono-objectif, il est possible que la borne
inférieure du sous-problème courant soit une solution admissible. Cependant cela ne suffit pas à
assurer que cette solution soit optimale. Toutefois, si la valeur dans le sous-problème de départ est
la même que la valeur de la borne inférieure, c’est la solution optimale du sous-problème. Ceci n’est
en général plus vrai pour le cas multi-objectif.
1.6. MÉTHODE DE RÉSOLUTION DES PROBLÈMES BOILP 29
— Sondage par optimalité (bi-objectif) : Pour un sous-problème courant, même si toutes les solutions
de l’EBI sont des solutions admissibles, rien ne nous garantit que ces solutions soit efficaces. Il faut,
comme dans le cas mono-objectif, vérifier que la valeur des solutions par la fonction objectif du
sous-problème soit la même que celle de l’EBI. De plus, même si ces solutions sont efficaces pour
le sous-problème, rien ne nous garantit que l’on ait trouvé toutes les solutions efficaces du sous-
problème. La seule exception se trouve lorsque l’EBI se réduit à un point (idéal ou utopique) qui
correspond à une solution admissible.
L’importance du rôle de l’EBI et respectivement de l’EBS est illustrée par la figure 1.7 et respectivement
la figure 1.8. Malgré des temps de calcul potentiellement important, un EBS de qualité combiné à un EBI
de qualité permettent de couper beaucoup plus de noeuds dans l’arbre de recherche.
z2
z2
• •
• •
YN YN
•
•
•
•
U •
U •
L2
L1
• •
•
•
z1 z1
(b) Il existe des points de L2 qui ne sont pas faiblement
(a) Tout point de L1 est dominé par un point de U . Le
dominés. Le noeud correspondant à YN ne peut pas être
noeud correspondant à YN peut être sondé par dominance.
sondé par dominance.
z2
z2
◦ • •
• •
YN YN
• •
◦ •
•
U2 L •
U1 •
•
L
• ◦ •
◦
•
z1 z1
(b) Les points de U2 ne permettent pas de dominer au
(a) Tout point de L est dominé par un point de U1 . Le
moins faiblement tous les points de L. Le noeud corres-
noeud correspondant à YN peut être sondé par dominance.
pondant à YN ne peut pas être sondé par dominance.
Choix du noeud actif : Dans l’arbre de recherche, un noeud actif est un noeud qui n’a encore été ni
exploré ni sondé. C’est-à-dire un noeud dont le sous-problème correspondant contient potentiellement des
solutions efficaces pour le problème originel. Ce noeud doit donc être évalué et s’il ne peut être sondé, la
30 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
procédure de séparation poursuivra son cours dans cette branche de l’arbre. Il est connu et admis que l’ordre
d’évaluation des noeuds de l’arbre de recherche peut influencer de façon très importante la taille de l’arbre
de recherche.
En effet, lorsque l’on évalue un noeud il est possible d’obtenir de nouveaux points potentiellement non-
dominés qui vont nous permettre d’améliorer l’EBS du problème initial, ce qui peut alors nous permettre
de sonder par dominance d’autres noeuds actifs. À l’inverse, si les noeuds évalués ont peu d’intérêt pour
le problème originel, il est probable que la quantité de solutions admissibles à énumérer explicitement sera
bien plus importante.
Le choix du noeud actif peut donc devenir une question critique. Il peut être statique ou dynamique. Dif-
férentes stratégies d’exploration statique existent, nous allons présenter les plus courantes. Les plus connus
sont le parcours en profondeur (Depth-first Search) et le parcours en largeur (Breadth-first Search). De façon
similaire, différentes stratégies d’exploration dynamique existent, nous allons présenter les plus courantes.
Ainsi, on retrouve dans le cas mono-objectif l’exploration du meilleur candidat (Best Value First search) où
le noeud actif choisi est celui qui a la "meilleure" borne inférieure dans l’arbre de recherche. On retrouve
aussi l’exploration cyclique de meilleurs candidats (Cyclic Best First Search), combinant de façon cyclique
les stratégies d’exploration en profondeur, en largeur tout en se basant sur les meilleurs candidats.
Heuristiques : Parmi les méthodes approchées les plus utilisées, on peut trouver le domaine des heu-
ristiques et méta-heuristiques. Les auteurs de [Reeves, 1993] décrivent les méthodes de type heuristique
comme des méthodes cherchant à approcher les solutions efficaces à un coût très réduit, mais sans garantie
de performance. Cependant, du fait de la nature approchée de ces méthodes, il est rare, voire très rare, que
ces méthodes permettent d’obtenir la solution optimale ou l’ensemble de solutions efficaces. Il n’est (en
général) pas possible de prouver l’obtention de la solution optimale si elle est obtenue. De plus, les heu-
ristiques sont spécifiques à un problème particulier, voire même à la façon de représenter la solution de ce
problème. On peut cependant différencier les différentes méthodes heuristiques en sous-catégories.
Les premières catégories d’heuristique à avoir vu le jour sont celles de type gloutonnes ( Greedy Heuris-
tic ). Les heuristiques gloutonnes vont construire une solution en ajoutant de façon itérative des variables.
Ces variables sont triées et ajoutées selon une fonction d’utilité permettant a priori de connaître leur ap-
port/intérêt à la fonction objectif. Le principe est très simple et se met très facilement en place pour certains
types de problèmes. Par exemple, dans les problèmes de sac à dos, les objets peuvent être triés en fonction
de leur valeur divisée par leur poids. Ils seront alors ajoutés au sac à dos de façon décroissante par rapport
à leur fonction d’utilité. On peut aussi prendre l’exemple du voyageur de commerce à partir d’une ville, on
peut toujours choisir la ville non visitée la plus proche, jusqu’à retourner au point de départ.
1.7. MÉTHODE DE RÉSOLUTION DES PROBLÈMES BOMILP 31
Une seconde catégorie d’heuristique largement utilisée et réutilisée par la communauté scientifique met
en place des méthodes appelées de recherche locale, ou de recherche à voisinage (Local Search Method
et Neighborhood Search Method). Le principe est relativement simple : connaissant ou ayant obtenu une
bonne solution (en utilisant une méthode gloutonne par exemple) la méthode va explorer le voisinage de
la solution en espérant en trouver une meilleure. Le terme de voisinage va dépendre du problème et de la
représentation de la solution, mais, en général, les voisinages ont une caractéristique commune du fait qu’ils
diffèrent peu de la solution de départ.
De nombreuses méthodes de recherche locale existent. Parmi celles-ci on retrouve plus particulièrement
dans le contexte multi-objectif des méthodes de recherche locale Pareto (Pareto Local Search, [Dubois-
Lacoste et al., 2014] pour plus d’informations). Il existe aussi des méthodes de recherche locale Pareto
itérative (Iterated Pareto Local Search, [Lourenço et al., 2003] pour plus d’informations) bien que cette
dernière soit plus de l’ordre des méta-heuristiques.
Méta-Heuristiques : Les méta-heuristiques sont définies comme "une méthode mettant en oeuvre des
interactions entre des procédures d’amélioration locale et des stratégies de plus haut niveau afin de créer un
processus capable de s’extraire d’optimaux locaux et permettre ainsi une recherche robuste de l’espace des
solutions" [Glover and Kochenberger, 2006]. Selon [Ehrgott and Gandibleux, 2000], les méthodes de type
méta-heuristique peuvent être différenciées en deux familles principales. La première famille se compose
des méthodes de recherche locale dans l’espace des objectifs. On y retrouve des méthodes de recherche
tabou ([Hansen, 1997]), des méthodes gloutonnes aléatoires à pas adaptatif (Greedy Randomized Adaptive
Search Procedure GRASP [Feo and Resende, 1989]), des méthodes de recuit simulé (Simulated Annealing
[Serafini, 1994]), etc. La seconde famille se compose des méthodes dites à population, on y retrouve les
méthodes de type essaim et colonie de fourmis/abeilles (swarm, ants/bees colony [Reyes-Sierra and Coello,
2006, Karaboga and Akay, 2009]) ainsi que les algorithmes de type évolutionnaire/génétique. De très nom-
breux articles vont appréhender les problèmes multi-objectifs à partir de méthodes méta-heuristiques. Parmi
celles-ci, les algorithmes génétiques évolutionnaires sont assez répandus ([Deb, 2015]) et plus particuliè-
rement la méthode NSGA-II (Non-dominated Sorting Genetic Algorithm-II [Deb et al., 2002]) qui a très
longtemps été la méthode évolutionnaire de référence.
Triangle Splitting Method : La méthode de fractionnement par triangle (Triangle Splitting Method
TSM de [Boland et al., 2014, 2015]) est une méthode générale permettant d’obtenir un ensemble minimum
de points non-dominés pour des problèmes bi-objectifs en variables mixtes. C’est une méthode variante de
la méthode "-contrainte" qui va découper l’espace des objectifs afin d’y rechercher les points non-dominés.
32 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
La méthode va ainsi successivement trouver des points non-dominés et affiner son espace de recherche jus-
qu’à prouver l’obtention d’un ensemble minimum de points non-dominés.
La TSM va définir trois formes (arête, rectangle, triangle) qui seront utilisées de façons différentes dans
l’algorithme, voir la figure 1.9. Considérons deux points y 1 , y 2 ∈ R25 tel que y11 < y12 et y22 < y21 alors nous
avons :
— L’arête H(y 1 , y 2 ) est définie par y 1 et y 2 .
— Le rectangle R(y 1 , y 2 ) est défini par y 1 , (y11 , y22 ), y 2 et (y12 , y21 ).
— Le triangle T (y 1 , y 2 ) est défini par y 1 , y 2 et (y12 , y21 ).
y1 y1 y1
• • •
• • •
y2 y2 (max)
y2
F IGURE 1.9 – Illustration des différentes formes utilisées par la TSM. En maximisation, le triangle serait
inversé.
Deux listes sont considérées et mises à jour dans la méthode. La première liste prend note de tous les
points non-dominés trouvés et triés par ordre croissant selon le premier objectif. Chaque point de cette liste
est complété par un indicateur permettant de savoir si le point actuel et le suivant sont reliés par une arête,
c’est-à-dire s’ils sont connectés. La seconde liste est une file où se trouve toutes les zones de recherche qui
n’ont pas encore été explorées. Ces zones de recherche sont caractérisées par deux points ainsi qu’une forme
triangulaire ou rectangulaire et une direction de fractionnement (splitting direction) verticale ou horizontale.
La TSM va utiliser de façon intensive des solveurs MILP mono-objectifs, l’efficacité de la méthode sera
donc très dépendante du solveur utilisé. Premièrement à l’aide de solveurs MILP, la méthode va calculer
les deux solutions lexicographiquement optimales et leur image dans l’espace des objectifs y lex12 et y lex21 .
Cela permet d’obtenir le premier rectangle du problème R(y lex12 , y lex21 ). Suite à cela, tous les rectangles
(et respectivement les triangles) seront traités de la même manière.
Un rectangle R(y 1 , y 2 ) est exploré en appliquant une recherche dichotomique restreinte dans l’espace
défini par le rectangle. Des contraintes sont donc ajoutées au problème de départ afin d’assurer que l’image
des solutions obtenues se trouve dans le rectangle. Cette recherche dichotomique est effectuée à l’aide
d’un solveur MILP. On peut par ailleurs remarquer que l’ajout de ces contraintes est inutile pour le premier
rectangle défini par les points lexicographiquement optimaux. La figure 1.10 permet d’illustrer le découpage
d’un Rectangle.
Ceci permet d’obtenir des points non-dominés qui seront localement supportés pour le rectangle exploré.
Ces différents points obtenus permettront alors de fractionner le rectangle en un ou plusieurs triangles.
On peut alors remarquer que chaque triangle aura pour sommets d’hypoténuse des points non-dominés
localement supportés. Par ailleurs, on sait grâce à la recherche dichotomique locale que les points non-
dominés à trouver se situent nécessairement dans les triangles obtenus. Un triangle T (y 1 , y 2 ) est exploré
comme suit :
1. Un solveur MILP va résoudre un sous-problème permettant de détecter si y 1 et y 2 sont connectés,
c’est-à-dire si l’hypoténuse du triangle est composée de points non-dominés. On peut remarquer
1.7. MÉTHODE DE RÉSOLUTION DES PROBLÈMES BOMILP 33
z2 z2
• • T (y 1 , y 2 ∗)
y1 y1
R(y 1 , y 2 )
T (y 1 ∗, y 2 ∗)
• •
y2∗
T (y 1 ∗, y 2 )
• •
y2 • y1∗ y2 •
z1 z1
(a) Points non-dominés obtenus suite à la recherche di- (b) Trois nouveaux triangles sont ainsi obtenus et ajoutés
chotomique dans le rectangle R(y 1 , y 2 ). à la liste d’exploration.
que si les solutions respectives des deux points non-dominés d’un triangle ont leurs variables en-
tières/binaires égales, alors sans résoudre de sous-problème on peut conclure que l’hypoténuse est
composée de points non-dominés.
2. S’il est possible de déterminer que H(y 1 , y 2 ) existe, alors il n’est pas nécessaire de fractionner le
triangle. Les deux points sont directement rajoutés à la liste de points non-dominés en indiquant
qu’ils sont connectés.
3. Sinon le triangle est fractionné verticalement ou horizontalement en son milieu, c’est à dire respec-
y 1 +y 2 y 1 +y 2
tivement 1 2 1 ou 2 2 2 . Cela permet de créer deux sous-problèmes soit deux zones de recherche
dans le triangle. Un solveur MILP est alors utilisé dans chaque zone de recherche afin de trouver le
nouveau point lexicographiquement optimal du sous-problème. Nous obtenons ainsi deux points y 2∗
et y 1∗ respectivement pour les deux zones de recherche. Ces deux points peuvent être confondus sur
la droite de fractionnement.
4. On obtient ainsi deux nouveaux rectangles R(y 1 , y 2 ∗) et R(y 1 ∗, y 2 ) qui sont rajoutés à la file d’ex-
ploration.
La méthode se termine lorsque la file d’exploration est vide. Cependant, les marges d’erreur des solveurs
MILP, et plus particulièrement de CPLEX [Cplex, 2017], impliquent qu’il est possible que certains points,
normalement connectés et/ou confondus ne le soient pas dans les résultats obtenus. Ainsi, les auteurs ont
mis au point un post-traitement permettant de recoller les sous-arêtes d’une même arête non-dominée et de
lisser les résultats en considérant les marges d’erreur.
,tabu-constraint method : La méthode ,tabou-contrainte de [Soylu and Yıldız, 2016] est une mé-
thode générale permettant d’obtenir un ensemble minimum de points non-dominés pour des problèmes
bi-objectifs en variables mixtes. Comme son nom l’indique, c’est une adaptation de la méthode -contrainte
avec pas adaptatif au cas mixte. Cette méthode va utiliser une liste de contraintes tabou (tabu constraint)
afin d’éviter les problèmes spécifiques à l’-contrainte évoqués précédemment.
La contrainte tabou de [Fischetti and Lodi, 2003] est dérivée de la distance de Hamming [Hamming,
1950] qui va mesurer la différence absolue entre deux vecteurs de binaires. Si l’on considère deux solutions
à variables binaires x et x∗ la distance de Hamming notée H(x, x∗ ) est donnée par H(x, x∗ ) =
P
i |
∗
xi − xi |. À partir de cela, on peut définir une contrainte tabou qui exclura l’ensemble des variables binaires
de la solution x∗ en ajoutant la contrainte H(x, x∗ ) ≥ 1 à l’espace de recherche des solutions. Ainsi, il
ne sera pas possible de trouver une solution ayant le même ensemble de variables binaires que la solution,
x∗ car la contrainte ne serait pas respectée. La contrainte tabou est aussi connue sous le nom de contrainte
34 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
z2
z2
• •
y1 y1
◦ •
y∗ ◦
◦ ◦
• Points non-dominés
y2 • trouvés
y2 •
z1 ◦
o
z1 Points non-dominés
(a) Découpage vertical du triangle à trouver.
(b) Deux nouveaux rectangles sont ob-
T (y 1 , y 2 ).
tenus et ajoutés à la liste d’exploration.
z2
z2
• •
y1 y1 Contrainte de découpe.
◦ •
y2∗
◦ •
y1∗
y2 •
y2 •
z1
z1
(c) Découpage horizontal du triangle
(d) Deux nouveaux rectangles sont ob-
T (y 1 , y 2 ).
tenus et ajoutés à la liste d’exploration.
no-good [Hooker, 2011]. On peut remarquer que cette contrainte n’est pas linéaire, il est bien sûr possible
de linéariser cette contrainte comme l’explique [Soylu and Yıldız, 2016] afin de pouvoir l’utiliser dans un
solveur ILP.
Dans le contexte en variables mixtes, nous sommes en présence de variables continues et entières, plus
particulièrement binaires. Il n’est donc pas possible d’utiliser la contrainte tabou sur l’ensemble de toutes
les variables de décision. Pour contrer ce problème, on va définir x comme l’ensemble des variables binaires
de x. Les contraintes tabou seront donc ajoutées en fonction de x.
Tout comme pour l’-méthode, la première itération consiste à trouver la solution lexicographiquement
optimale selon un objectif (considérons l’objectif 1 puis 2) xlex12 . Suite à cela, les variables binaires de la
solution xlex12 sont fixées afin de résoudre le BOLP correspondant à l’aide d’un simplexe paramétrique ou
d’une recherche dichotomique. Les arêtes obtenues sont ajoutées à l’ensemble de points potentiellement
non-dominés et xlex12 est ajouté à la liste de contraintes tabou. La ,tabou-méthode utilise la contrainte
tabou sur les solutions obtenues afin d’exclure spécifiquement certains ensembles de variables binaires. La
figure 1.12 permet d’illustrer les spécificités de l’utilisation de la contrainte tabou.
Tout comme pour l’-méthode à pas adaptatif, l’,tabou-méthode se termine lorsqu’il n’y a plus d’arête
à vérifier et lorsque le problème d’-contrainte n’a plus de solutions admissibles.
On peut remarquer que les ensembles de variables entières exclus correspondent à toutes les solutions
trouvées pour un donné. La liste de contraintes tabou est ainsi réinitialisée dès qu’une nouvelle solution
obtenue permet de diminuer la valeur actuelle de .
Dans cette partie, nous allons présenter les différents algorithmes de type Branch and Bound qui ont été
mis en place et proposés afin de résoudre des problèmes généraux multi-objectifs en variables mixtes.
Mavrotas & Diakoulaki : La méthode de [Mavrotas and Diakoulaki, 1998], révisée et améliorée par
[Mavrotas and Diakoulaki, 2005], est la première méthode traitant spécifiquement des problèmes multi-
objectifs en variables mixtes. La méthode proposée va permettre de résoudre plus spécifiquement des pro-
blèmes à variables continues et binaires.
36 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
z2 x1
z2 x1 z2 x1
• z2U B •
•
• z2U B
x2 • •◦ z2U B
x2 x3
tabou List : • tabou List : • •
tabou List :
x1 x2
x2 , x3
z1 z1
z1
2
(a) Obtention de Lex12 et calcul du (b) Obtention de x qui n’a pas de
(c) Obtention de x3 qui n’a pas de seg-
segment. La vérification indique que le segment. Mise à jour de la borne su-
ment et qui est faiblement dominé. Pas
segment est dominé. Mise à jour de la périeure de z2 et des parties non-
de mise à jour de la borne supérieure.
borne supérieure de z2 et ajout de x1 à dominées. La liste tabou est remise à
On ajoute x3 à la liste tabou.
la liste tabou. vide et l’on y ajoute x2 .
z2 x1 z2 x1 z2 x1
• • • • •
x2 x3
• •◦ •◦ z2U B • •◦ •◦ • •◦ •◦
x2 x3 • z2U B x2 x3 •
tabou List : • tabou List : • tabou List : •
x2 , x3 , x1 x4 x 4 x4 x4
• • z2U B
z1 z1 z1
(d) Obtention d’un point du segment (e) Obtention d’un point du segment (f) Pas de solution admissible
de x1 qui est faiblement dominé. La de x4 et calcul du segment. La vérifi- meilleure que le segment correspon-
vérification indique que le reste du cation indique que le reste du segment dant à x4 . Mise à jour des parties
segment est dominé. On ajoute x1 à la n’est pas dominé. La liste tabou est vi- non-dominées. L’algorithme se ter-
liste tabou. dée et l’on y ajoute x4 . mine.
Comme toute méthode de Branch and Bound, celle-ci va énumérer et évaluer toutes les solutions pos-
sibles. Pour cela, la méthode n’utilise que les variables binaires qui sont énumérées dans un arbre de type
binaire. À chaque étape de l’algorithme, l’ensemble bornant supérieur Dex est tenu à jour avec les points
potentiellement non-dominés obtenus jusque là. Il est important de noter que cet EBS est vide au départ du
branch and bound, il n’y a pas d’initialisation.
La procédure de branchement est assez directe, les variables vont êtres fixées successivement à 0 puis
1 de façon statique. Après chaque branchement de variable, l’arbre est exploré en profondeur d’abord. À
chaque noeud, le point idéal de la relaxation linéaire, s’il existe, est utilisé afin de borner inférieurement cette
branche de l’arbre. S’il n’existe pas, cela implique qu’il n’y a nécessairement pas de solution admissible et
la branche est donc coupée.
Lorsque toutes les variables binaires ont été fixées et que l’on atteint donc une feuille de l’arbre, le sous-
problème restant est un MOLP. Celui-ci est résolu à l’aide d’un simplexe multicritère dans [Mavrotas and
Diakoulaki, 2005], cependant seuls les points extrêmes sont considérés. Par conséquent la méthode retourne
un ensemble discret de points et ne peut donc pas être exacte.
Vincent et Al. : Dans sa thèse Vincent [2013], Vincent et al. [2013] reprend la méthode de [Mavrotas
and Diakoulaki, 1998, 2005] en faisant la remarque que certaines erreurs sont présentes. En effet, il est
possible à la fin du Branch and Bound (et malgré l’énumération implicite complète) d’obtenir des points
dominés et au contraire des points non-dominés sont ignorés à tort.
z2
•
t
•
y1 •
t0 •
y2
•
y3
•
u0
u•
y4 •
z1
Comme l’illustre la figure 1.13, les points t et u sont éliminés, car respectivement dominés par y 1 et
y 2 . L’information sur l’arête [tu] est perdue et à cause de cela, y 2 et y 3 ne sont pas éliminés alors qu’ils
sont dominés par des points de [t0 u0 ]. De plus on peut remarquer que [t0 u0 ] n’est pas dominé, mais ne sera
pas présent dans la solution finale. Il n’était donc pas possible d’obtenir l’ensemble non-dominé YN avec la
méthode de Mavrotas and Diakoulaki [2005].
Pour en revenir à la méthode de Branch and Bound en elle-même, l’auteur va rajouter une initialisation
de l’EBS nommé Z. Cette initialisation consiste à tout d’abord calculer les points non-dominés supportés
38 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
extrêmes. Une fois ces points obtenus, on peut en déduire un sous-ensemble de sous-problèmes correspon-
dant aux différents ensembles de variables binaires utilisées. La résolution de chacun des BOLP correspon-
dant (à l’aide d’un simplexe paramétrique) permet d’obtenir de nouveaux points et arêtes potentiellement
non-dominés qui en général enrichissent considérablement l’EBS pour un coût relativement minime.
z2
•
z1
F IGURE 1.14 – Comparaison entre la zone dominée par l’EBS obtenu avec YSN (en gris foncé) et l’EBS
obtenu suite à la résolution des BOLP correspondants (gris clair et gris foncé).
La méthode va aussi comparer différents EBI pour chaque sous-problème correspondant au noeud de
l’arbre de recherche ; ces quatre EBI sont respectivement le point idéal de la relaxation linéaire, la re-
laxation linéaire, le point idéal et la relaxation convexe. Sans grande surprise, la relaxation convexe du
sous-problème permet d’explorer le moins de noeuds de l’arbre de recherche. Cependant, celle-ci ne donne
pas les meilleurs résultats en termes de temps du fait de la difficulté de résolution de la relaxation convexe
dans un cas général. Les meilleurs résultats en termes de temps sont obtenus avec la relaxation linéaire.
Celle-ci bien qu’explorant un nombre de noeuds plus important reste relativement peu coûteuse à résoudre
et permet ainsi de couper un nombre intéressant de noeuds et donc de proposer le meilleur temps.
Le choix de branchement des variables a été plus recherché que dans l’algorithme précédent. Celles-
ci vont être fixées dans un ordre statique qui sera cependant déterminé par les données du problème. Un
coefficient d’efficacité e(k) est précalculé pour chaque variable avec la formulation e(k) := (c1k −µ1 )+(c2k −
µ2 ) où µ1 et µ2 représente la valeur moyenne des coefficients selon leur objectif respectif. Les variables sont
ensuite triées par ordre décroissant de la valeur absolue de leur coefficient d’efficacité. Une fois la variable
à fixer choisie, la procédure de séparation va quant à elle considérer le signe du coefficient d’efficacité. Si
celui-ci est négatif, la variable sera d’abord fixée à 0 puis à 1 et inversement si le coefficient est positif.
L’arbre de recherche sera quant à lui exploré en profondeur d’abord.
[Belotti et al., 2013] : Cette méthode a été proposée pour un contexte plus général que [Vincent, 2013],
elle va en effet traiter des problèmes BOMILP à variables mixtes entières et continues et non simplement
à variables mixtes binaires et continues. Contrairement aux branch and bound en variables binaires, les va-
riables entières ne sont pas fixées durant l’exploration de l’arbre de recherche, mais seront bornées, par des
contraintes supplémentaires, inférieurement et/ou supérieurement. La méthode en elle-même ne diffère pas
1.7. MÉTHODE DE RÉSOLUTION DES PROBLÈMES BOMILP 39
des branch and bound classique, elle apporte cependant des règles de sondage supplémentaires.
L’EBS est initialisé à l’aide d’une méthode -contrainte à pas fixe. Les auteurs vont commencer par cal-
culer les deux points lexicographiquement optimaux de la relaxation linéaire du problème. Cela va permettre
de définir une boîte rectangulaire dans laquelle se trouve nécessairement l’ensemble de points non-dominés
du problème. Les auteurs appliquent une méthode -contrainte à pas fixe. C’est à dire qu’au lieu de ré-
soudre entièrement le problème, la valeur de ε va être décrémentée successivement d’un pas fixe avec pour
but d’obtenir un sous-ensemble de points faiblement non-dominés.
Suite à cela, l’EBS va stocker les points et arêtes potentiellement non-dominés obtenus durant l’initiali-
sation puis durant l’exploration de l’arbre de recherche. Il est mis à jour durant l’exploration à chaque fois
qu’une nouvelle solution admissible potentiellement non-dominée est obtenue.
L’EBI consiste en la relaxation linéaire du sous-problème correspondant au noeud courant. Si des solu-
tions admissibles sont obtenues, celles-ci sont rajoutées à l’EBS et filtrées par dominance.
La procédure de branchement est dynamique et s’effectuera sur les variables fractionnées des solutions
de la relaxation linéaire. Ces solutions sont donc nécessairement non-réalisables pour le problème d’ori-
gine. Si on note x la dernière solution calculée dans la résolution de la relaxation linéaire, on va choisir la
variable xj = α la plus fractionnée comme variable de séparation. Cela permettra de créer deux nouveaux
noeuds où l’on contraindra respectivement xj ≥ dαe et xj ≤ bαc.
Le choix du noeud actif est lui aussi dynamique. Les auteurs vont considérer pour chaque noeud la
dernière solution calculée lors de la relaxation linéaire. Pour cette solution, ils font la somme pour chaque
variable fractionnée de l’écart à la valeur entière la plus proche. Le noeud actif sera choisi comme étant
celui ayant la somme la plus grande.
[Stidsen et al., 2014] : Cette méthode a été proposée pour des problèmes de type BOMILP avec une
spécificité particulière, les auteurs considèrent des problèmes dont les variables continues ne sont présentes
que sur un objectif en particulier. Dans ce cas particulier, l’ensemble des points non-dominés est discret, ce
qui permet par exemple d’utiliser la méthode -contrainte à pas adaptatif.
La méthode commence par calculer les points lexicographiquement optimaux y U L et y BR pour Haut-
Gauche/Upper-Left et Bas-Droit/Bottom-Right ce qui correspond respectivement à optimiser selon les per-
mutations d’objectifs (1,2) et (2,1). Ceci permet par ailleurs d’obtenir le point idéal y I et le point nadir y N .
À partir de cela, ils vont changer l’échelle des objectifs afin de se retrouver dans le carré [0, 1] × [0, 1] en
z (x)−y U L z (x)−y2BR
appliquant aux fonctions objectifs la formule suivante : z1 (x) = y1BR −yU1 L et z2 (x) = y2U L −yBR .
1 1 2 2
Suite à cela, un problème mono-objectif va être considéré en pondérant les deux fonctions objectifs à 1.
Le Branch and Bound va ainsi s’effectuer sur ce problème mono-objectif tout en considérant l’image des
solutions obtenues dans le contexte bi-objectif.
L’ensemble bornant supérieur n’est pas initialisé et sera constitué des points potentiellement non-dominés
obtenus. Il sera mis à jour dès qu’un nouveau point potentiellement non-dominé sera obtenu.
L’ensemble bornant inférieur utilisé durant le branch and bound est la relaxation linéaire du problème
pondéré. Des contraintes de type no-good [Hooker, 2011] sont ajoutées afin d’exclure les solutions admis-
sibles déjà énumérées.
Si la solution obtenue avec l’EBI est admissible et n’est pas filtrée par dominance, elle est ajoutée aux
points potentiellement non-dominés. Si elle n’est pas réalisable, la procédure de branchement va créer deux
nouveaux noeuds en branchant une variable binaire à respectivement 0 et 1. Le choix de la variable à bran-
cher est laissé au contrôle de CPLEX [Cplex, 2017]. De la même façon, le choix du noeud actif est laissé
au contrôle de CPLEX.
40 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
À cela, les auteurs vont ajouter différentes améliorations de la méthode. La première consiste à parti-
tionner l’espace des objectifs en "coupe" ( Slicing ). Ceci permet d’affiner localement, pour chacune des
coupes la borne supérieure de la fonction mono-objectif.
z2 z2 z2
yN yN yN
yU L • yU L • yU L •
• • •
A • A • A •
C C C
• • •
B B B
• z1 • z1 • z1
yI y LR yI y LR yI y LR
(a) Une slice. (b) Deux slices. (c) Quatre slices.
F IGURE 1.15 – Illustration des bornes mono-objectives obtenues en fonction du nombre de slices.
La seconde amélioration est appelée branchement de Pareto ( Pareto Branching ). Le Pareto Branching
consiste à ajouter des bornes sur chaque objectif lors de la résolution de la relaxation linéaire lorsqu’une
solution admissible z∗ est obtenue par l’EBI. La figure 1.16 illustre les différents cas rencontrés.
z2 z2
UL •
yN UL •
yN
y y • EBS
•
A ◦ y Nouveau point
y y Borne sur z1
•◦ • ◦
•
• C • Borne sur z2
B
B •
D Borne de y
• z1 • z1
yI y LR yI y LR
L’idée principale de la méthode est d’utiliser des algorithmes spécifiques qui sont performants pour
le problème mono-objectif. La structure du problème est en général très importante pour l’utilisation de
ces méthodes spécifiques. Ainsi, il n’est pas possible de modifier la structure du problème en ajoutant des
contraintes.
1.7. MÉTHODE DE RÉSOLUTION DES PROBLÈMES BOMILP 41
Phase 1 : La phase 1 consiste au calcul des points supportés extrêmes. Ils sont en général calculés à
l’aide d’une recherche dichotomique [Aneja and Nair, 1979]. Il est ainsi possible, en plus de l’obtention
des points extrêmes, d’obtenir des points non-dominés supportés non-extrêmes. Il reste très intéressant de
considérer ces points, car ils vont ajouter de l’information qui va pouvoir être réutilisée durant la phase 2.
z2 z2
• ZdR 1 • ZdR 1
ZdR 2 ZdR 2
• •
ZdR 3
• •
ZdR 3 ZdR 4
• •
• •
z1 z1
(a) Zones de Recherche obtenues sans considération des (b) Zones de recherche obtenues avec considération des
points non-dominés non-extrêmes supportés obtenus. points non-dominés non-extrêmes supportés obtenus.
Suite à la première phase, les points obtenus sont triés selon l’objectif 1 par ordre croissant. Deux points
consécutifs vont définir une zone de recherche, comme illustrée par la figure 1.17. Soit deux points consé-
cutifs a et b, la zone de recherche correspondante est délimitée par le triangle d’hypoténuse [ab] et d’angle
droit le point défini par (a2 , b1 ). Nous appellerons ce point le nadir local défini par a et b.
z2 z2 z2
G
• • G
d •
G=d
•
• D
• D •
D
z1 z1 z1
(a) G et D ne se dominent pas et ne (b) G est faiblement dominé par D et (c) G et D ne se dominent pas et sont
sont pas connecté par une arête. ils ne sont pas connecté par une arête. connectés par une arête.
Cependant, Vincent et al. [2013] fait la remarque qu’il y a possibilité d’améliorer nettement les délimi-
tations de la zone de recherche, ne serait-ce que par la considération de son initialisation avec la résolution
des BOLP de chaque ensemble binaire. Pour mettre cela en place, il va commencer par ne plus considérer
les nadirs locaux mais un ensemble de point délimitant, pouvant correspondre à des points réalisables ou
des nadirs locaux. Ensuite, il va prouver les quatres assertions suivantes.
Proposition 1.1. Soient G et D deux points consécutifs appartenant à une zone de recherche donnée. En
fonction de leur configuration, des ensembles de points délimitants peuvent être définis :
1. Si G et D ne sont pas connectés (n’appartiennent pas à une même arête) et qu’aucune relation de
dominance n’existe entre eux, alors ils forment un point délimitant (correspondant à un nadir local)
d = (D1 , G2 ). (voir figure 1.18 (a)).
42 CHAPITRE 1. OPTIMISATION MULTI-OBJECTIF
2. Si G et D ne sont pas connectés (n’appartiennent pas à une même arête) mais que l’un des points est
faiblement dominés par l’autre, alors le point faiblement dominé est un point délimitant (correspon-
dant à un point réalisable, voir figure 1.18 (b)).
3. Si G et D appartiennent à la même arête, alors tout point de ]GD[ est un point délimitant (corres-
pondant à un point réalisable, voir figure 1.18 (c)).
4. Dans le cas précédent, si G (respectivement D) est connecté à son prédécesseur (respectivement
successeur) alors c’est un point délimitant (correspondant à un point réalisable).
L’ajout de points réalisables dans une zone de recherche va permettre de mettre à jour l’ensemble des
points délimitants en réutilisant directement la proposition de Vincent et al. [2013].
Phase 2 : La phase 2 consiste à explorer les zones de recherche obtenues dans la phase 1. Ceci va pou-
voir être fait par un algorithme d’énumération. Pour cela, différents choix s’offrent à nous.
Populaire, la méthode de Ranking est beaucoup utilisée pour la seconde phase. Cette méthode a pour
but de calculer les k meilleures solutions d’un problème mono-objectif. Il est possible d’obtenir ces solu-
tions au moyen d’une méthode de partitionnement comme proposée par [Lawler, 1972] pour les problèmes
combinatoires. On va retrouver de façon non exhaustive [Przybylski et al., 2008, Vincent et al., 2013].
Secondement, on va retrouver des méthodes de Branch and Bound bi-objectif [Przybylski et al., 2008,
Vincent et al., 2013] qui vont essayer de réduire le problème en considérant la zone de recherche et les
bornes qu’offre celle-ci.
On va aussi trouver d’autres méthodes permettant de résoudre la seconde phase. Parmi celles-ci des
méthodes de programmation dynamique [Delort, 2011] qui vont se baser sur de la ré-optimisation et des
spécificités propres au problème. On va aussi retrouver une méthode hybride de rank and bound [Vincent
et al., 2013], qui va tenter d’utiliser les avantages de la méthode de ranking et les avantages du branch and
bound pour combler les désavantages de ces deux méthodes.
Il est possible d’aller plus loin. Przybylski [Przybylski et al., 2008] fait la remarque qu’il est possible
que la résolution de la relaxation convexe nous amène peu d’informations. Pour palier à cela, il propose
d’utiliser des méta-heuristiques de type génétique afin de créer une population de points potentiellement
non-dominés. Une autre méthode qu’il propose est d’utiliser des algorithmes de path-relinking comme pro-
posé par [Gandibleux et al., 2005]. Ceci permet d’injecter de l’information supplémentaire dans l’ensemble
bornant supérieur.
Notes et remarques supplémentaires : Différentes remarques peuvent être faites sur les méthodes pré-
cédentes. On peut commencer par remarquer que Stidsen et al. [2014] ne propose pas à proprement parler
une méthode en deux phases avec un Branch and Bound mono-objectif pour seconde phase. Cependant,
si l’on considère l’obtention des points supportés extrêmes comme initialisation de sa méthode de slicing
(voir sous-section 1.7.2), nous allons fortement nous en approcher.
Dans un autre genre, Lemesre et al. [2007b] nous propose une méthode en deux phases assez parti-
culière. La première phase ne va plus correspondre au calcul des points supportés extrêmes. À la place,
Lemesre et al. [2007b] propose de calculer les deux solutions lexicographiques. Puis de partitionner en k
zones de recherche en utilisant la méthode -contrainte avec un pas fixe. Ce pas fixe va dépendre de la
distance entre les solutions lexicographiques. Les points sont triés par ordre croissant d’un objectif et vont
permettre de définir les zones de recherche.
Toutefois, on peut noter que la multiplication des zones de recherches peut amener à de la redondance
d’information et d’exploration durant la phase 2 [Delort, 2011]. Pour éviter, la multiplication des zones de
recherche, il est préférable de considérer celles définies par deux points supportés extrêmes consécutifs.
Les autres points obtenus ne sont pas oubliés pour autant. En effet, on va pouvoir réinjecter l’information
1.8. CONCLUSION 43
supplémentaire obtenue durant la phase 1 (ou au cours de la phase 2) afin de diminuer significativement
la taille des zones de recherche. Un exemple est donné dans la figure 1.19 où l’on peut clairement voir la
réutilisation de plusieurs nadirs locaux afin d’améliorer la borne supérieure dans le cadre mono-objectif.
Cela permet aussi de simplement considérer les zones dominées par les points déjà existants dans le cadre
bi-objectif.
z2
• •
• • Borne supérieure de la
somme pondérée.
• •
Partie dominée.
•
z1
1.8 Conclusion
Ce chapitre a mis en place et présenté les principes généraux de la programmation linéaire en mettant
l’accent sur les problèmes d’optimisation multi-objectif et plus particulièrement les problèmes bi-objectifs
en variables continues, entières et mixtes. Des méthodes génériques de résolution habituellement utilisées
pour les problèmes bi-objectifs en variables entières, ont été présentées ainsi que leur adaptation dans le cas
en variables mixtes.
La littérature multi-objectif s’est densifiée de manière importante ces 20 dernières années autant dans
le cas entier que continue. Les méthodes approchées pour des problèmes plus difficiles et réalistes sont
très nombreuses tout comme les méthodes exactes permettant de résoudre des problèmes, en général, plus
académiques. Les méthodes de résolution des problèmes multi-objectifs en variables mixtes sont moins
présentes dans la littérature, mais ont fleuri de façon importante ces cinq dernières années.
Toutefois, les méthodes proposées dans la littérature sont génériques, c’est-à-dire qu’aucune hypothèse
sur la structure du problème n’est formulée ni exploitée. Ces méthodes vont bien entendu pouvoir s’ap-
pliquer à des problèmes qui ont des structures particulières. Mais, les conjectures laissent penser que, tout
comme dans le cas combinatoire, une méthode dédiée serait bien plus efficace pour résoudre ces problèmes.
Cette thèse vise ainsi à l’élaboration d’une méthode dédiée permettant de résoudre des problèmes bi-
objectifs en variables mixtes de localisation de services ( Facility Location Problem FLP ). Ainsi, le second
chapitre visera à présenter la littérature concernant ce type de problèmes ainsi que les méthodes existantes
afin de les résoudre.
2
Problèmes de localisation de services
Dans ce chapitre, nous allons nous intéresser aux problèmes de localisation de services. Nous com-
mençons par introduire l’idée, le concept entourant la nature de ce type de problèmes. Suite à cela, nous
présentons la modélisation de deux variantes spécifiques. Nous finissons en présentant des méthodes de
résolutions pour le cas mono-objectif et pour le contexte bi-objectif.
2.1 Introduction
La proposition d’un service (stockage,produit,soin,sécurité,etc.) va généralement nécessiter la mise en
place d’infrastructures particulières. Ces infrastructures vont potentiellement avoir des contraintes de pla-
cement, que cela soit dues au contexte social, économique ou environnemental. On va ainsi disposer, en
général, d’un nombre limité de terrains, d’emplacements, permettant de développer des infrastructures four-
nissant un service.
Parallèlement, il faut proposer le service à une clientèle. Que celle-ci soit statique ou dynamique, il faut
considérer les demandes de cette clientèle, c’est à dire la quantité de services que désire un client. On va
considérer que le malus économique et social est bien trop important pour se permettre de ne pas satisfaire
un client. Chaque client doit donc être impérativement satisfait.
Ce type de problèmes est appelé un problème de localisation de services. Sans perte de généralité, nous
parlerons de "service" pour désigner l’infrastructure fournissant celui-ci.
45
46 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
Considérons cij le coût de support d’un service à l’emplacement j vers un client i et fj le coût d’ouver-
ture d’un service à l’emplacement j. La formulation générale de l’UFLP peut se définir comme suit :
X X
Min ckij xij + fjk yj (2.1)
(i,j)∈(I×J) j∈J
X
s.c. xij = 1 ∀i ∈ I (2.2)
j∈J
À cette formulation, il suffit de rajouter un ensemble de contraintes de capacité pour obtenir la formu-
lation du CFLP, avec di , i ∈ I la demande du client et sj , j ∈ J la capacité maximale que peut offrir le
service. Il faut rajouter la contrainte suivante :
X
di xij ≤ sj yj ∀j ∈ J (2.6)
i∈I
On peut par ailleurs remarquer que, la contrainte (2.3) est redondante avec la contrainte de capacité
(2.6). En effet, si un service n’est pas ouvert, la contrainte (2.6) implique nécessairement que les clients ne
pourront pas lui allouer leur demande. Cependant, différentes modélisations du problème de CFLP semblent
préférer garder la redondance afin d’améliorer les bornes de différentes relaxations.
Une fois les services à ouvrir sélectionnés, il reste à affecter chaque client à un ou plusieurs services
ouverts. On obtient un sous-problème appelé problème d’allocation. On le retrouve aussi en tant que sous-
problème de flot ou sous-problème de transport. La résolution exacte de ces sous-problèmes est un point
crucial dans la résolution des FLP.
X
Min ckij xij + F k
(i,j)∈(I×J)
X
s.c. xij = 1 ∀i ∈ I
j∈J
X
di xij ≤ sj ∀j ∈ J (si CFLP)
i∈I
xij ≤ 1 ∀(i, j) ∈ (I × J) (si UFLP)
xij ≥ 0 ∀(i, j) ∈ (I × J)
Dans le cas du sous-problème d’allocation provenant de l’UFLP, ce sous-problème est très simple à
résoudre dans le contexte mono-objectif. La matrice des contraintes de ce problème vérifie la propriété de
totale unimodularité. De plus, un simple algorithme linéaire permet d’attribuer chaque client à son service
optimal. La version bi-objectif est un BOLP, mais [Fernández and Puerto, 2003] propose une méthode
paramétrique dédiée qui permet de le résoudre efficacement.
Dans le cas du sous-problème d’allocation provenant du CFLP, ce sous-problème d’allocation s’appa-
rente à un problème de transport de coût minimal ( Minimum Cost Transportation Problem ), mais égale-
ment à un problème de flot de coût minimal ( Minimum Cost Network Flow Problem ). Ces deux problèmes
se résolvent très bien à l’aide de méthodes primales duales ou d’un simplexe des réseaux, qui pourra être
étendu au cas bi-objectif comme proposé dans [Sedeño-Noda and González-Martın, 2000].
Dans le reste de ce manuscrit, nous parlerons de sous-problèmes d’allocation associé à J pour décrire
le sous-problème d’allocation où les services de J sont ouverts et où la fonction objectif est sommée de la
constante correspondante.
Implicitement, on parlera d’UFLP et de CFLP pour désigner les variantes en variables mixtes tandis
qu’on utilisera le terme Single Source (SSUFLP et SSCFLP) afin de considérer les variantes en variables
binaires.
Les solutions optimales de l’UFLP et du SSUFLP sont communes dans le cas mono-objectif. En ef-
fet, une fois les services à ouvrir sélectionnés, le sous-problème d’allocation vérifie la propriété de totale
unimodularité. Cependant, dans le cas bi-objectif les sous-problèmes d’allocation induits par l’UFLP et
le SSUFLP ne sont plus équivalents. Par conséquent, les solutions efficaces de l’UFLP et du SSUFLP ne
sont que partiellement communes. On peut remarquer très simplement que les points non-dominés vont de
l’UFLP vont être composé d’arêtes. Le problème de SSUFLP étant strictement en variable binaire, il est
impossible d’obtenir des arêtes.
Si la différence entre UFLP et SSUFLP n’apparaît que dans le cas à deux objectifs ou plus, celle-ci est
directement présente dans les versions mono-objectif du CFLP et du SSCFLP. Considérons un problème de
48 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
fj sj C1 C2 C3
S1 10 30 10 10 10
S2 10 30 10 10 10
S3 10 30 10 10 10
di 20 20 20
Très clairement, le problème étant très simple, la solution optimale du CFLP va comporter deux ser-
vices. Cela permet d’apporter une capacité de 60 pour une demande totale de 60. Deux clients leur seront
entièrement alloués. Le troisième se verra satisfait par la capacité restante des deux services.
Pour le cas SSCFLP, cette solution n’est plus réalisable. En effet, un client se voit satisfait par deux
services alors qu’il devrait être servi par une source unique. Ainsi, nécessairement la solution optimale va
devoir comporter trois services ouverts auxquels un client sera alloué. Bien sûr cette différence se prolonge
dans le cas multi-objectif, plus particulièrement le cas bi-objectif.
Dans la suite de ce manuscrit, bien que nous présentons et discutons de méthodes résolvant des pro-
blèmes de localisation de services en variables binaires, les travaux que nous proposons ne concernent que
les variantes en variables mixtes de FLP.
Les coûts : On trouve différents types de coûts parfois fixes ou variables. Parmi les coûts fixes, on va
retrouver les coûts d’installation, de démarrage (start up) et d’investissement. Tandis que les coûts variables
font en général référence aux coûts environnementaux, de transport, d’opération, de production, de service,
de distribution, de gestion des déchets, de maintenance, etc. La modélisation des fonctions objectifs ne va
pas être changée par la considération de tels critères.
Les risques : Moins communs, on va trouver des objectifs visant à minimiser les risques de transport, les
risques naturels, les risques relatifs aux déchets toxiques ou plus généralement aux effets indésirables que
peut entraîner la présence d’un service dans un lieu. La modélisation des fonctions objectifs peut connaître
des changements. En effet, il va falloir prendre en compte le côté potentiellement aléatoire du problème.
Les couvertures : Ce critère est aussi très présent dans les problèmes de localisation, généralement
en maximisation. Par couverture, on entend les distances, le temps, la quantité, la demande, etc. De façon
similaire, on va aussi pouvoir tenter d’équilibrer ces notions de couverture. Cela se transcrit souvent par
l’utilisation d’objectifs de type bottleneck, tel que la minimisation de la distance/du temps maximal d’un
client à un service où la maximisation du pourcentage minimal de la satisfaction des clients.
2.2. CRITÈRES, OBJECTIFS ET CLASSES DE PROBLÈMES 49
Autres : On va retrouver d’autres critères moins présents, tel que des critères d’efficacité des services,
de profit (corrélé aux coûts), des critères politiques et sociaux, des objectifs d’accessibilité aux ressources et
services, etc. La modélisation des fonctions objectifs doit être considérée au cas par cas, selon les spécificités
des critères rencontrés.
On va aussi trouver des problèmes de localisation de services indésirables. Ces problèmes vont prendre
en considération, par exemple, l’impact d’un service sur l’environnement ou l’impact social. On peut par
exemple penser à l’installation d’une centrale nucléaire ou d’une usine de traitement des déchets. La po-
pulation en général ne désirera pas avoir ces deux services proches de chez eux, mais il faut tout de même
prendre en considération les coûts de transports (de l’énergie ou des camions-bennes) générés dans ces deux
problèmes.
On pourra aussi trouver des problèmes de localisation hiérarchique. Ces problèmes vont considérer
une hiérarchie, très bien imagée par le monde médical. On va ainsi disposer de différentes hiérarchies de
services telles que par exemple un cabinet d’infirmier, un cabinet de docteur, une clinique, un hôpital.
50 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
Hiérarchiquement, l’hôpital doit être capable de fournir les services de la petite clinique ainsi que les
siens propres. La petite clinique doit pouvoir fournir les services du cabinet de docteurs et les siens propres,
etc. Les demandes et les services prodigués sont donc multiples. Le problème revient donc à devoir placer
les services aux bons endroits afin de pouvoir satisfaire la demande de tous les clients tout en minimisant
(par exemple) les coûts.
Suite à cela, nous pouvons considérer des problèmes de localisations de hub (Hub Location Problems).
L’origine de ce problème vient du fait qu’il peut être très coûteux et peu intéressant pour le fournisseur de
services de délivrer directement ses services à tous ses clients. Ainsi on va utiliser des hubs permettant de
faire l’intermédiaire. Les services/biens y sont envoyés et les clients s’y déplaceront pour faire l’acquisition
de leur service/bien. Il est intéressant de noter que l’utilisation de hub ne bénéficie pas seulement aux
transporteurs. En effet, l’utilisation de hub va permettre d’agréger la demande de plusieurs clients. Le
fournisseur va ainsi pouvoir considérer de petits clients qui n’auraient pas été viables économiquement sans
la présence du hub.
Parmi les autres problèmes intéressants, nous pouvons présenter les problèmes de localisations compé-
titifs, répondant aux problèmes de captation de marché financier par exemple. Dans sa forme la plus simple,
le problème de localisation compétitif, en plus de devoir décider des localisations des services, doit aussi
décider des prix usités afin de capturer un marché de taille maximale. Bien entendu, le marché est envahi
par des compétiteurs externes dont les prix usités peuvent être considérés statiques ou stochastiques. De
plus, il est intéressant de préciser que la taille du marché pourra être considérée en termes de clients ou de
profits.
On peut finir cette section en présentant les problèmes de localisation/tournées de véhicules (Location-
Routing Problems). C’est une classe de problème qui va combiner dans un seul modèle les spécificités des
problèmes de tournées de véhicules (Vehicule Routing Problem) et de localisation de services. Ce problème
revient à décider des localisations des dépôts et simultanément à trouver les tournées de véhicules permet-
tant d’optimiser la fonction objectif.
En conclusion de cette sous-section, nous pouvons affirmer la classe des problèmes de localisation est
extrêmement large. Dans la suite de ce manuscrit, nous ne considérons que la résolution des problèmes
d’UFLP et de CFLP, ceux-ci étant le sujet principal des travaux que nous proposons par la suite.
Les variables vi , i ∈ I correspondent à la contrainte permettant d’assurer que chaque client voit sa demande
aboutir entièrement. Cette variable peut être interprétée comme le coût d’affectation du client i ∈ I à un
service. Les variables wij , i ∈ I, j ∈ J correspondent à la contrainte permettant d’assurer qu’un client ne
peut pas être affecté à un service non-ouvert. Ces variables peuvent être interprétées comme la contribution
du client i ∈ I pour l’ouverture du service j ∈ J.
Erlenkotter [Erlenkotter, 1978] fait par ailleurs la remarque que pour toute valeur vi , i ∈ I mettre les
variables wij , j ∈ J à leurs plus petites valeurs ne change ni la faisabilité de la solution ni la valeur de la
fonction objectif. Sans perte de généralité, on peut donc supposer que wij = max{0, vi − cij }.
En remplaçant cela dans le problème précédent, on peut ainsi condenser la formulation du dual en
n’utilisant plus qu’explicitement les variables vi :
X
maxZD = vi
i∈I
X
max{0, vi − cij } 5 fj j∈J
i∈I
On peut remarquer qu’une solution duale sera réalisable pour tout vi et plus particulièrement on peut consi-
dérer directement vi = minj∈J ci j. On peut facilement reconstruire une solution admissible pour le pro-
blème
P d’UFLP en considérant, pour un vecteur vi donné, les services correspondant aux contraintes tel que
i∈I max{0, vi −cij } = fj . Cette contrainte implique que ce service va se trouver dans la solution optimale
du primal associé au dual, ce qui est prouvé par le théorème des écarts complémentaires. Cet ensemble de
services va être noté J ∗ .
Cependant, Erlenkotter précise que cet ensemble de service J ∗ n’est potentiellement pas minimal et peut
contenir des services qu’il appelle "non-essentiels". Ces services non-essentiels n’ont pas d’impact sur la
fonction objectif du dual, mais ne permettent pas d’améliorer la fonction objectif du primal et la déprécient
potentiellement. Ainsi, il présente une heuristique de reconstruction permettant simplement de palier à cela.
Nous allons considérer tous les services "essentiels". Un service essentiel j ∈ J ∗ a la particularité de
satisfaire cij 5 vi pour au moins un client. Suite à cela, on va ajouter itérativement des services de I ∗ afin
d’allouer les clients qui n’ont pu être considéré aux services essentiels.
L’algorithme va donc travailler sur le lien primal-dual. Il se divise en trois étapes. La première étape est
nommée "Dual Ascent" et sert à améliorer itérativement la fonction objectif du dual et la meilleure solution
admissible obtenue.
Dual Ascent : Le processus "Dual Ascent" va avoir des similarités avec la méthode hongroise. Une
itération va s’effectuer sur chaque client. Pour chaque client i ∈ I, on va calculer des utilités ∆j , j ∈ J
en fonction des cij et de vi . L’utilité ∆j > 0 la plus petite va être utilisée pour mettre à jour la variable
vi . En fonction de ∆j , une liste de services admissibles va être mise à jour en diminuant leur coût résiduel
par ∆j . Le processus va continuer itérativement d’augmenter les variables vi associées à chaque client. Les
itérations cessent lorsque tous les coûts résiduels des services sont inférieurs au plus petit ∆j .
Après ce processus d’itération sur les variables de potentiel d’affectation vi des clients, celles-ci sont
bloquées par une des contraintes du dual : aucune nouvelle augmentation ne peut être effectuée. Cependant,
s’il existe un client tel que l’on trouve plusieurs services tel que vi > cij cela nous indique que le dual n’est
pas optimal. Il en va de même pour la solution admissible reconstruite. Ces clients sont des candidats pour
la diminution de leur variable vi qui permettrait la potentielle augmentation d’autres clients actuellement
bloqués.
Afin de réajuster les différents ensembles de clients et leurs variables respectives, Erlenkotter utilise
ensuite un processus nommé nommé Dual Adjustment qui va permettre de réaliser ces modifications.
52 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
Dual Adjustment : Le processus Dual Adjustment va considérer l’ensemble des clients I + tel que
vi > cij est satisfait par plusieurs services. Pour chaque client de I + , on va considérer l’ensemble de services
satisfaisant vi > cij . Pour chacun de ces services, le coût résiduel va être réaugmenté de min(vi − cij ) tandis
que vi va être diminué au cij correspondant. Suite à cela, Dual Ascent va être réutilisé en écartant tous les
clients de I + afin d’espérer faire évoluer la solution actuelle. Dual Ascent est à nouveau réutilisé en ajoutant
le client actuellement considéré puis il est lancé une dernière fois avec tous les clients. Si la solution duale
résultante est identique à celle de départ, on arrête le processus. Sinon, on considère le prochain client.
Les utilisations successives de Dual Ascent s’expliquent par la nécessité de faire évoluer certaines va-
riables vi de client indépendamment du reste. La solution duale n’étant pas nécessairement admissible, un
dernier Dual Ascent est effectué avec tous les clients. Suite à cela, il est possible de reconstruire une solution
admissible pour l’UFLP.
Cependant, le couple dual-primal obtenu suite à l’utilisation successive de Dual Ascent et Dual Adjust-
ment n’est potentiellement pas optimal. Premièrement, il est possible que la tentative d’ajustement d’un
client qui empêche l’optimalité échoue. Secondement, il est aussi possible que le dual, bien qu’optimal,
ait pour primale une solution avec des services non entiers. La reconstruction d’une solution admissible ne
permet alors pas d’assurer l’optimalité de la solution obtenue. Il devient donc nécessaire d’utiliser une autre
approche pour prouver ou trouver la solution optimale, dans notre cas l’approche du Branch and Bound.
Exploration : L’exploration de l’arbre de recherche se fait par parcours en profondeur. À chaque noeud,
on va commencer par effectuer un Dual Ascent et un Dual Adjustment en considérant les variables qui ont
été fixées. La valeur du dual est utilisé comme borne inférieure sur le sous-arbre. Suite à cela, une solution
admissible est reconstruite. Si la reconstruction d’une solution admissible pour l’UFLP ne viole pas les
conditions d’optimalité du dual, cette solution est la solution optimale du sous-arbre considéré. Il n’est
donc pas nécessaire de continuer à explorer ce sous-arbre.
Encore considérée et utilisée comme la méthode de résolution des UFLP, cette méthode est à la fois
astucieuse et rapide. Elle nous offre aussi le choix de fonctionner sous forme d’heuristique avec potentiel-
lement preuve d’optimalité. En effet, il est possible d’éviter la partie Branch and Bound tout en obtenant
des solutions de très bonne qualité. Nous sortons cependant du domaine exact, en général, du fait qu’il n’y
aura pas nécessairement preuve d’optimalité. Nous comparerons dans les expérimentations les résultats de
cette méthode avec la dernière version de CPLEX.
n X
X m n
X
Min cij xij + fj yj (2.1)
j=1 i=0 j=1
Xn
s.c. xij ≥ 1 ∀i ∈ {0, 1, ..., m} (2.2)
j=1
xij ≤ min(1, sj /di )yj ∀i ∈ {0, 1, ..., m}, ∀j ∈ {1, ..., n} (2.3)
0 ≤ xij ≤ 1 ∀i ∈ {0, 1, ..., m}, ∀j ∈ {1, ..., n} (2.4)
yj ∈ {0, 1} ∀j ∈ {1, ..., n} (2.5)
Xm
di xij ≤ sj yj ∀j ∈ {1, ..., n} (2.6)
i=0
m
X
di xij ≥ Lj yj ∀j ∈ {1, ..., n} (2.7)
i=0
n
X
PL ≤ yj ≤ PU (2.8)
j=1
Où le client "0" est un client artificiel dont les coûts d’affectation sont nuls, mais dont la demande q0 = 0
va pouvoir être mise à jour durant le branch and bound afin d’éliminer des solutions non intéressantes.
La contrainte (2.2) est légèrement différente du modèle que nous proposions est considère simplement
une contrainte d’inégalité.
La contrainte (2.3) va quant à elle assurer qu’un client est au plus alloué à la capacité maximale d’un
service. Cette contrainte est redondante avec la contrainte (2.6), mais permet d’améliorer les bornes de
différentes relaxations. Dans notre cas particulier, nous ne considérons que des instances dont la capacité
minimale des services est strictement supérieure à la demande maximale des clients, ainsi si ce n’est pour
le client 0, la contrainte (2.3) peut être ignorée.
Les contraintes (2.4) et (2.5) ne changent globalement pas comparativement au modèle que nous avons
présenté. La seule différence s’effectue sur la variable xij qui est bornée supérieurement par 1.
La contrainte (2.6) est exactement identique à celle que nous présentions. Suite à cela, l’auteur pro-
pose des contraintes supplémentaires qui vont permettre d’améliorer les bornes obtenues en résolvant la
relaxation lagrangienne.
La contrainte (2.7) force un service j ∈ J à servir un minimum de demandes Lj . Ce minimum n’est pas
nécessairement une donnée du problème et peut être calculé très simplement en considérant les clients dont
le coût d’affectation pour le service j est minimal.
La contrainte (2.8) n’est pas nécessairement une donnée du problème. PL et PU sont respectivement des
bornes sur le nombre minimal et maximal de services à ouvrir. Un nombre minimal de services à ouvrir
peut être calculé facilement en pré-traitement. Le nombre maximal, s’il n’est pas une donnée du problème,
sera mis à jour durant la résolution du Dual Lagrangien puis le branch and bound.
Afin de résoudre le problème, des sous-problèmes avec contrainte additionnelle vont être utilisés. Pour
cela, Beasley [1988] fait le choix de rajouter des contraintes d’exclusion des solutions déjà obtenues, ou
contrainte no-good. Il remarque par ailleurs qu’il est seulement nécessaire de contraindre les variables
binaires afin de contraindre la solution. Pour rappel, l’ensemble des variables binaires d’une solution x
est noté x. Considérant un ensemble W de solutions réalisables, le modèle CFLP se voit donc ajouter la
contrainte :
X X
yj − yj ≤| w | −1, ∀w ∈ W
j∈w j ∈w
/
54 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
Suite à cela, l’auteur procède à la normalisation des contraintes (2.2),(2.3),(2.4) et no-good. Il effectue
ensuite la relaxation lagrangienne de ces contraintes. Le problème en résultant est formulé ainsi :
n X
X m n
X
Min cij xij + fj y j
j=1 i=0 j=1
Xm n
X
+ si (1 − xij )
i=0 j=1
Xn m
X
+ tj ( (di /sj )xij − yj )
j=1 i=0
n
X m
X
+ uj (yj − (di /Lj )xij )
j=1 i=0
P P
X j∈Jw yj − j ∈J
/ w yj
+ vw ( − 1)
w∈W
| Ew | −1
s.c. (2.5), (2.6), (2.7) et (2.8)
Beasley [1988] introduit une méthode basée sur des reformulations permettant de résoudre ce problème
en temps polynomial. Il est alors possible d’utiliser la procédure des sous-gradients afin de converger vers
la solution optimale du dual lagrangien. Soit Zmax , la meilleure borne inférieure obtenue avec la LGR. En
considérant que nous disposons d’une solution admissible pour le CFLP et de sa valeur ZU B (obtenue par
exemple de façon heuristique) la procédure se décompose comme suit :
1. Les multiplicateurs de Lagrange tj , uj et vw sont initialisés à 0 tandis que les si sont initialisés à
minj∈J cij .
2. On résout la relaxation lagrangienne, avec les multiplicateurs actuels. On considère la solution obte-
nue ainsi que sa valeur ZLGR .
3. Si ZLGR est supérieur à Zmax , on met à jour Zmax .
4. Si ZU B = Zmax alors ZU B est optimal pour le CFLP et Zmax est optimal pour le dual lagrangien. On
peut s’arrêter.
5. Les sous-gradients Si , Tj , Uj et Vw sont respectivement calculés pour chaque si , tj , uj et vw . Ceux-
ci sont ajustés s’ils ne contribuent pas à la fonction objectif et risquent de ralentir de prochaines
itérations.
6. Les multiplicateurs de Lagrange sont mis à jour en fonction d’un "pas" e calculé comme suit :
α × (ZU B − ZLGR )
e = Pm Pn Pn P
i=0 (Si )2 + i=1 (Tj ) 2+
j=1 (Uj )2+
w∈W (Vw )
2
7. Si Zmax n’a pas été amélioré sur un certain nombre d’itérations, on divise α par deux. Si cela n’a pas
déjà été fait, on reconstruit une solution admissible à partir de Zmax et l’on résout le sous-problème
d’allocation correspondant à l’optimal. Si la valeur de la nouvelle solution est inférieur à ZU B , on met
à jours ce dernier. Si α est supérieur au critère d’arrêt, on retourne à l’étape 2 et on résout la relaxation
lagrangienne avec les nouveaux multiplicateurs. Sinon, on arrête la procédure.
Cette procédure de sous-gradient va être utilisée de façon extensive au noeud racine du Branch and
Bound aux côtés de divers tests de réduction :
Suite à cela, si la solution optimale n’a pu être trouvée et prouvée au noeud racine, Beasley commence
une procédure de Branch and Bound à arbre binaire avec exploration en profondeur :
Borne inférieure : À chaque noeud, on se base fortement sur la relaxation lagrangienne pour obtenir
une borne inférieure. Cependant, plutôt que de recommencer la procédure de sous-gradient, Beasley [1988]
va utiliser des principes de réoptimisation et considérer le Zmax que l’on obtenait au noeud précédent. Dans
cette même optique, il va considérer que la procédure des sous-gradients a déjà convergé. Ainsi, l’auteur
va réutiliser les multiplicateurs associés au Zmax du noeud précédent. Puis il va initialiser α = 0.125 et
effectuer 30 itérations en divisant par deux α toutes les 10 itérations.
Branchement : Beasley [1988] fait le choix de brancher ses variables de deux façons différentes. La
première façon de brancher se fait sur une fonction d’utilité calculée lors de la relaxation lagrangienne.
Comme on peut s’y attendre, on va créer un noeud fils où le service ayant la meilleure utilité est fixé à
ouvert et un second noeud fils où ce même service est forcé à fermé. La seconde façon de brancher va
dépendre du nombre de services ouverts. Si PL 6= PU et que le nombre de services actuellement ouverts est
égal à PL le nombre minimal de services à ouvrir, alors on crée un noeud feuille où PU = PL . Cela revient
à forcer la fermeture de tous les autres services.
Pour un noeud de l’arbre de recherche, il est donc possible de lui créer trois noeuds fils, dont un noeud
feuille. L’exploration du Branch and Bound va toujours commencer par explorer les noeuds feuilles obtenus.
Suite à cela, les autres noeuds sont explorés par un parcours en profondeur.
Noeud Feuille : Lorsque l’on arrive sur un noeud feuille, c’est à dire lorsque tous les services sont
fixés à ouverts ou fermés, nous obtenons un sous-problème d’allocation, aussi assimilé aux problèmes de
transport [Branman, 1978, Jacobsen, 1978] et de réseau (network flow) [Ahuja et al., 1993]. Cependant,
Beasley [1988] remarque que le calcul exact de ce sous-problème est très gourmand en temps de calcul.
Afin de potentiellement couper des noeuds feuilles sous-optimaux, l’auteur préfère relancer la procédure des
sous-gradients sur le noeud feuille. Si cela n’aboutit pas à l’élimination du noeud feuille, alors la solution
exacte du sous-problème d’allocation est calculée.
Cette méthode, encore considérée comme état de l’art, nous apporte différents tests de réduction astu-
cieux pour les instances de CFLP. De façon similaire à son homologue UFLP DUALOC, il est possible de
ne considérer que la première phase de la relaxation lagrangienne afin d’obtenir une heuristique de bonne
qualité. Il est même possible de prouver l’optimalité de certaines solutions. De même que DUALOC, nous
comparerons les résultats de cette méthode à ceux de CPLEX.
56 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
Fernández and Puerto [2003] vont donc proposer deux variantes qui, si ce n’est le résultat, vont considé-
rer le même schéma d’énumération des solutions. La première variante de la méthode va correspondre à une
approximation de l’ensemble non-dominé YN du problème SSUFLP bi-objectif. En effet, dans cette pre-
mière version, seuls les points supportés extrêmes du sous-problème d’allocation sont calculés. Il va donc
nous manquer potentiellement des points non-dominés non-supportés pour le sous-problème d’allocation.
Ces points peuvent aussi être non-dominés non-supportés pour le problème de SSUFLP.
La seconde variante de la méthode va quant à elle permettre d’obtenir l’ensemble non-dominé YN . Nous
allons donc plus particulièrement nous y intéresser, bien que la différence avec la variante précédente soit
minime. Cette méthode sera bien entendu plus longue en termes de temps d’exécution.
Pour débuter la méthode, Fernández and Puerto [2003] vont proposer différentes initialisations de l’en-
semble bornant supérieur. La première initialisation proposée est relativement simple et en général de mau-
vaise qualité. Les auteurs vont en effet considérer le sous-problème d’allocation où tous les services sont
ouverts. Suite à cela, ils vont calculer l’ensemble non-dominé YN de ce sous-problème. Cependant, il faut
remarquer que le sous-problème d’allocation n’est plus un BOLP, les variables étant binaires. L’utilisation
du simplexe paramétrique n’est donc plus possible.
Afin de résoudre ce sous-problème d’allocation, les auteurs commencent par montrer qu’il y a équiva-
lence entre le sous-problème d’allocation du SSUFLP et le problème de plus court chemin. Celui-ci peut
donc être résolu à l’aide de méthodes telles que l’algorithme de Martins [Martins, 1984]. Ils font d’ailleurs
le choix d’utiliser un algorithme dynamique d’étiquetage.
Pour la variante approchée, Fernández and Puerto [2003] proposent une recherche paramétrique per-
mettant de calculer les points supportés non-dominés du sous-problème d’allocation issu du SSUFLP bi-
objectif. À l’image du simplexe paramétrique, on obtient d’abord la solution optimale selon un objectif. Il
est par ailleurs assez facile d’obtenir l’optimalité lexicographique en considérant les allocations faiblement
dominées pour un même client. Une fois cela fait, les auteurs vont calculer pour chaque client le coût λ
(s’il existe) pour lequel l’allocation d’un client à un service changerait. Ils vont considérer le λ le plus
proche de celui actuel et effectuer tous les changements de clients pour obtenir un nouveau point extrême.
Ils continuent ce processus jusqu’à arriver à λ = 0.
Il est intéressant de remarquer que cela n’établit par pour Fernández and Puerto [2003] l’obtention
de l’ensemble non-dominé du sous-problème d’allocation. En effet, on ne pourra pas obtenir les points
non-supportés non-dominés du sous-problème. Cependant, les auteurs précisent qu’ils vont se servir de
ces résultats afin d’obtenir plus tard un ensemble bornant inférieur (ainsi que des solutions admissibles)
à moindre coût. De plus, les auteurs notent que dans le cadre du problème bi-objectif d’UFLP (donc en
variables mixtes), la résolution du sous-problème d’allocation selon cette méthode paramétrique permet
d’obtenir l’ensemble non-dominé du sous-problème d’allocation.
Cependant, comme nous le remarquions, cet EBS ne va en général pas être de très bonne qualité. Il est
en effet très rare que la solution avec tous les services ouverts soit efficace. Conscients de cela, Fernández
and Puerto [2003] proposent une seconde initialisation de l’EBS qu’ils vont utiliser à la place. Cette seconde
initialisation proposée correspond à la résolution exacte ou heuristique du problème de SSUFLP selon des
2.4. MÉTHODE DE RÉSOLUTION DES FLP DANS LE CONTEXTE BI-OBJECTIF 57
sommes pondérées données. Les auteurs font le choix de considérer les sommes pondérées allant de 1 à 0
par pas de 0.1 en utilisant l’algorithme DUALOC [Erlenkotter, 1978] sur chaque somme pondérée.
Pour mieux comprendre la suite de la méthode, il faut introduire la notion de solution partielle. Une
solution partielle x va correspondre à l’ensemble de variables binaires associées aux services. Cela corres-
pond exactement à x dans le cas de l’UFLP (en variables mixtes) où l’on ne considère que les variables
binaires.
Fernández and Puerto [2003] vont utiliser un graphe de programmation dynamique. Il va donc y avoir
une notion de noeuds prédécesseurs et successeurs, qui vont être reliés dans le graphe. À chaque étage de
ce graphe, on va ouvrir un service supplémentaire. Cependant, on peut remarquer aisément qu’une solution
partielle avec k ≥ 2 service ouvert va avoir k − 1 prédécesseurs dans le graphe de programmation dyna-
mique. Afin d’éviter la redondance d’énumération d’une même solution partielle, les auteurs vont mettre
en place une règle de génération des solutions partielles de l’étage suivant. Pour une permutation ρ donnée
de tous les services, les auteurs vont considérer que le générateur d’une solution partielle x va correspondre
à l’unique prédécesseur pour lequel le dernier service ouvert de x n’est pas fixé à ouvert. Par exemple, on
utilise la permutation habituelle des services allant de {1, 2, ..., n}. Si l’on considère la solution partielle
composée des services {2, 5, 6, 14, 17} alors le générateur de cette solution partielle est le prédécesseur
composé des services ouverts {2, 5, 6, 14}.
Cela va en effet permettre d’énumérer toutes les solutions partielles, toutes les combinaisons possibles
de services. Cependant, pour 30 services, cela représente 23 0 − 1 = 1073741823 solutions partielles. Il va
donc falloir mettre en place des EBI permettant de prouver qu’une partie du graphe dynamique est dominé.
Pour cela, Fernández and Puerto [2003] vont mettre en place différents EBI prenant en compte les notions
de successeurs et prédécesseurs. Ils vont par ailleurs considérer plus particulièrement l’ensemble de poids
critiques correspondant au sous-problème d’allocation où tous les services sont ouverts. Pour tout noeud
de l’arbre, cela leur permet de calculer rapidement un EBI correspondant au coût des services actuellement
ouverts. À cela les auteurs vont ajouter, pour chaque poids critique λ, les coûts des allocations optimales
des clients sur tous les services pour λ.
Si le noeud considéré n’a pu être prouvé dominé, Fernández and Puerto [2003] vont devoir considérer
toutes les solutions du sous-problème d’allocation correspondant à cette solution partielle. Dans le cas
de la variante approchée, les auteurs vont considérer les points admissibles de la relaxation linéaire du
sous-problème d’allocation. Cela correspond aux points supportés extrêmes. Dans le cas de la variante
exacte, ils vont résoudre de façon exacte le sous-problème d’allocation à l’aide d’un algorithme dynamique
d’étiquetage.
Comme remarqué précédemment, dans les deux cas, cela leur permet d’obtenir des points réalisables et
donc de mettre à jour l’EBS.
Cette méthode est à notre connaissance la première visant à résoudre de façon exacte des SSUFLP bi-
objectifs. Fernández and Puerto [2003] nous proposent ici une méthode intéressante qui sera reconsidérée
dans nos travaux. Les ensembles bornants que les auteurs proposent sont cohérents, mais semblent pouvoir
être améliorés en considérant des services fermés. On peut par ailleurs remarquer que les auteurs semblent
ne jamais considérer la fermeture de services, selon la description de la méthode.
z2
•
B1 •
Boîte définie par les
• points lexicographiques
du sous-problème d’al-
• location.
B3
•◦
•
• •◦ Points que l’on sait dominés.
•
•◦
• •◦
• • • Points non-dominés non-trouvés.
B2 • B5
•
•
• • Points potentiellement non-dominés
B4 trouvés.
z1
F IGURE 2.1 – Exemple d’un pavage par boîtes de YN avec boîtes redondantes inintéressantes.
Ainsi, comme illustré par la figure 2.1 et la figure 2.2, il est fort probable que les boîtes d’un pavage
se chevauchent. Du point de vue d’ensemble bornant, cela impliquerait une redondance de l’information
2.4. MÉTHODE DE RÉSOLUTION DES FLP DANS LE CONTEXTE BI-OBJECTIF 59
z2
•
B1 •
Boîte définie par les
• points lexicographiques
du sous-problème d’al-
• location.
B3
•◦
•
• •◦ Points que l’on sait dominés.
•
◦• •
• •◦ • Points non-dominés non-trouvés.
• • •
B2 • B5 • Association couleur/boîte.
• •
•
• • Points potentiellement non-dominés
B4 trouvés.
z1
F IGURE 2.2 – Exemple d’un pavage par boîtes de YN avec boîtes redondantes intéressantes.
obtenue sur l’encadrement de l’ensemble non-dominé YN . Cependant, l’utilisation d’un pavage reste très
intéressante, car une boîte permet d’apporter de l’information quant à l’ensemble de services J à considérer.
Par ailleurs, Gandibleux et al. [2012a] notent judicieusement que pour un problème avec n services, il y
a exactement 2n − 1 boîtes possibles, la solution avec zéro service ouvert n’étant pas réalisable. Il va ainsi
tout de même falloir utiliser un algorithme performant afin de définir un pavage de l’ensemble non-dominé
YN . Un Branch and Bound est donc utilisé pour déterminer le pavage. Cet algorithme est particulier, car il
n’est pas utilisé pour déterminer un ensemble non-dominé, mais un pavage de celui-ci.
Arbre de Recherche : L’arbre de recherche de la méthode de pavage par boîtes est particulier. Il est in-
téressant de noter que son exploration se fera en largeur. Il est possible de se référer à la figure 2.3 afin d’en
avoir une illustration. Les noeuds rectangulaires correspondent à des noeuds feuilles de l’arbre de recherche.
Cet arbre de recherche va ressembler beaucoup à la méthode de génération de solutions partielles qu’uti-
lisent Fernández and Puerto [2003]. Cependant, une différence majeure apparaît à cause de l’ensemble de
services J. En effet, il faut noter que l’ensemble de services J permet de présenter les services ouverts, les
services fermés et les services libres. C’est une différence très importante étant donné que Fernández and
Puerto [2003] semblent ne jamais considérer de services fermés.
Le noeud racine correspond à une solution non réalisable où l’ensemble de services J est vide. Suite à
cela, nous allons donc directement entamer le processus de création de noeuds fils, qui sera similaire pour
chaque noeud. La création d’un noeud fils va considérer le dernier service ouvert d’indice l. Pour le noeud
racine, il n’y a donc pas d’indice à considérer. Suite à cela, des tests de dominance à l’aide de différents
ensembles bornants inférieurs vont être effectués.
Si cette branche de l’arbre n’est pas coupée, le noeud père va créer autant de noeuds fils qu’il y a d’in-
dice dans l’ensemble {jl + 1, ..., n}. Chaque nouveau noeud fils aura un ensemble de services ouverts J ∗
qui sera constitué des services ouverts du noeud père et d’un service supplémentaire qui sera ouvert parmi
l’ensemble {jl + 1, ..., n}. Pour le noeud racine, nous nous retrouverons donc avec n noeuds fils ayant cha-
cun pour J un unique service ouvert.
C’est à ce moment que l’ensemble J devient important. En effet, on va considérer tous les services qui
se trouveront entre jl + 1. Considérons l’indice du nouveau service ouvert, notons-le k, dans le noeud fils.
Alors tous les services compris dans l’ensemble {jl + 1, ..., k − 1} sont donc considérés comme fermés
dans le noeud fils. Ainsi, si l’on reprend l’exemple des noeuds fils du noeud racine, le noeud fils ayant pour
seul service ouvert le service d’indice n est un noeud feuille du branch and bound : tous les services entre
{1, ..., n − 1} seront considérés fermés. Cela nous permet d’évoquer rapidement la particularité que cela
entraîne pour l’arbre de recherche : si l’on considère la profondeur du noeud racine comme étant à zéro,
chaque profondeur de l’arbre correspond exactement au nombre de services fixés à ouvert.
Il y une dernière spécificité à présenter. Suite à la création des noeuds fils, Gandibleux et al. [2012a]
vont créer un noeud feuille spécial. Pour ce noeud feuille, les auteurs vont considérer que les services qui
ne se trouvent pas dans l’ensemble J sont tous fermés. On tombe ainsi sur un noeud feuille et l’on peut
calculer la boîte correspondant à l’ensemble de services ouverts J. Cela permet d’obtenir deux solutions
admissibles.
{}
{1, 2} {1, 2, 3}
F IGURE 2.3 – Exemple d’arbre de recherche de la méthode de pavage par boîtes pour un problème d’UFLP
à 3 services.
Ensemble bornant inférieur : Afin de ne point énumérer tous les noeuds de l’arbre de recherche,
Gandibleux et al. [2012a] vont effectuer des tests de dominance à chaque noeud. Ceci se fera à l’aide
de deux ensembles bornants inférieurement. Le premier ensemble bornant qu’ils proposent est direct et
correspond à la somme des coûts des services ouverts :
X
CR = fjk , k ∈ {1, 2}
j∈J
2.4. MÉTHODE DE RÉSOLUTION DES FLP DANS LE CONTEXTE BI-OBJECTIF 61
On peut remarquer que cette borne ne semble pas très efficace et pourrait être fortement améliorée par
les différentes bornes que proposent Fernández and Puerto [2003].
Le second ensemble bornant que Gandibleux et al. [2012a] utilisent se situe suite à la création du noeud
feuille correspondant à l’ensemble de services ouverts J. Les auteurs vont faire un second test en considé-
rant cette fois le point idéal local de la boîte. Si celui-ci est dominé, alors toutes les solutions potentiellement
non-dominées de la boîte le sont aussi. Il n’est donc plus nécessaire de la considérer. Cependant, cette borne
n’est pas valide pour le sous-arbre du noeud considéré. Elle va permettre d’éviter l’exploration d’une boîte
non-intéressante, mais ne permet pas de couper des branches entières de l’arbre d’exploration.
Exploration des boîtes du pavage : Une fois le Branch and Bound terminé, nous obtenons un pa-
vage de l’ensemble non-dominé YN . Il reste à explorer les boîtes afin de trouver les points non-dominés
manquants ou prouver qu’il n’y en a pas d’autres. Les auteurs proposent trois étapes afin d’effectuer l’ex-
ploration dans les meilleures conditions.
1. Gandibleux et al. [2012a] vont commencer par raffiner le pavage de boîtes à l’aide d’un filtrage.
Pour chaque boîte, la méthode de filtrage va considérer les autres boîtes qui la chevauchent. Ils vont
appliquer une somme pondérée dont le vecteur de poids est défini, pour chaque boîte, par les points
lexicographiques. Cela va permettre d’obtenir éventuellement de nouveaux points dans chaque boîte.
Pour chaque boîte, si un nouveau point est obtenu, il est alors possible de diviser la boîte en deux
sous-boîtes. Des tests de dominance sont alors effectués pour vérifier si les points idéaux locaux
de chaque sous-boîte sont dominés et si elles sont donc supprimées en conséquence. Les auteurs
proposent d’effectuer une seconde recherche dichotomique sur chacune des sous-boîtes créées avant
de mettre fin à la méthode de filtrage. (Voir Figure 2.4).
2. Suite au raffinement du pavage, Gandibleux et al. [2012a] font la remarque que la multiplicité des
sous-boîtes créées va impliquer une forte redondance pour la résolution des sous-problèmes d’allo-
cation associés à chaque boîte. Ainsi, ils proposent de rassembler les sous-boîtes non éliminées qui
ont le même ensemble J, ils appellent cette procédure la reconstruction. Pour cela, il suffit de créer
la plus petite sous-boîte les contenant toutes. (Voir Figure 2.4 et Figure 2.5).
3. L’exploration finale va correspondre à l’obtention de tous les points localement non-dominés du sous-
problème d’allocation. Chaque boîte du pavage est explorée indépendamment. Les boîtes sont explo-
rées une à une à l’aide d’une méthode de résolution de plus court chemin bi-objectif, similaire à celle
utilisée par Fernández and Puerto [2003]. Une fois tous les points localement non-dominés de chaque
boîte obtenue, un algorithme va filtrer par dominance tous les points dominés et faiblement dominés.
Gandibleux et al. [2012a] proposent et testent trois combinaisons de filtrage, reconstruction et explora-
tion finale afin de procéder à l’exploration des boîtes du pavage. Ils commencent donc par proposer l’uti-
lisation de l’exploration finale sans affinement et reconstruction. Puis ils proposent d’utiliser la méthode
d’affinement et de filtrage puis de lancer directement l’exploration finale. Dernièrement, ils proposent d’uti-
liser le filtrage, la reconstruction puis l’exploration finale. Selon les instances considérées, l’une ou l’autre
de ces méthodes peut sembler la plus intéressante.
Les auteurs vont remarquer que la procédure de reconstruction est nécessaire. C’est en effet la résolu-
tion du plus court chemin bi-objectif qui prend la plus grande partie du temps de la résolution de l’instance.
Ainsi, s’il n’est pas possible d’éliminer des sous-boîtes et que celles-ci sont très nombreuses, cela va mul-
tiplier de la même façon le temps passé à résoudre le sous-problème d’allocation.
Cependant, Gandibleux et al. [2012a] font aussi la remarque qu’il peut exister un cas où la reconstruction
est inefficace. En effet, considérons l’exemple où les sous-boîtes contenant les points lexicographiques de
la boîte initiale n’ont pas pu être supprimées. Alors nécessairement, même si d’autres sous-boîtes ont pu
être éliminées, la boîte de reconstruction correspondra à la boîte initiale. Ceci est illustré par les figures 2.5
(b) et (c).
La méthode de pavage par boîtes, proposée par Gandibleux et al. [2012a], semble très intéressante et
62 CHAPITRE 2. PROBLÈMES DE LOCALISATION DE SERVICES
z2 z2 z2
• • •
• •
•◦ •◦
• • •
• •
•
•◦ •◦
•◦ • •◦ • •◦
• • • • •
•
• •
• •
• • •
z1 z1 z1
(a) Exemple de pavage avant la pro- (b) Pour chaque boîte, une somme (c) Les sous-boîtes non intéres-
cédure de filtrage. pondérée est effectuée. santes sont supprimées.
z2 z2 z2
•
• •
•
•
•
•◦
•
• •
•
• • •
z1 z1 z1
(a) Exemple de reconstruction effi- (b) Exemple sur une autre boîte : on (c) Cependant, la reconstruction
cace des boîtes de la figure 2.4 (c). peut éliminer deux sous-boîtes. oblige à considérer la boîte initiale.
apporte des résultats bien meilleurs que ceux de Fernández and Puerto [2003]. De même, les ensembles
bornants considérés semblent pouvoir être améliorés. On peut remarquer que les ensembles bornants infé-
rieurs de Fernández and Puerto [2003] ne sont pas réutilisés. Cela semble être à profit d’EBI plus rapides
à calculer et dont la qualité n’est pas nécessairement comparable à ceux de Fernández and Puerto [2003].
On peut citer par exemple le point idéal des boîtes considérées qui est une borne qui n’a pas son équivalent
dans la méthode de Fernández and Puerto [2003]. Cependant, il est important de souligner que les auteurs
ne considèrent pas d’initialisation de l’ensemble bornant supérieur. Ceci peut s’expliquer par les expéri-
mentations qui nous attestent temps très courts de résolution. Ainsi, l’EBS pourrait discutablement être trop
long à calculer.
TABLE 2.1 – Génération des instances FLP par loi uniforme discrète sans corrélation.
Il est assez naturel d’imaginer que le choix de complexifier légèrement la génération des instances part de
la volonté de se rapprocher de la réalité.
TABLE 2.2 – Génération des instances FLP par Loi uniforme discrète avec corrélation.
Où K représente le nombre moyen de services pour qu’une solution soit réalisable, R, ρ1 , ρ2 sont des
multiplicateurs fixés. On peut ainsi remarquer que Delmaire et al. [1999] vont directement mettre en cor-
rélation la demande totale de tous les clients afin d’obtenir la génération aléatoire des capacités. On peut
ainsi contrôler selon le paramètre K la quantité moyenne de services présents afin d’obtenir une solution
admissible. De plus, on peut voir directement que le coût de mise en place d’un service est directement
proportionnel selon le paramètre R à la LUD de génération des capacités.
D’une autre manière, [Holmberg et al., 1999] vont corréler la demande d’un client avec son coût d’allo-
cation. Celui-ci est donc fonction de la distance euclidienne des points générés aléatoirement dans l’inter-
valle [10, 300]. De plus, le coût d’allocation est multiplié par un paramètre ρ1 = 4 tandis que la demande est
multipliée par un paramètre ρ2 = 2. Cette volonté de corréler le coût du client à sa demande semble logique
dans un contexte réel d’usine ou d’entrepôt. En effet, en plus de la distance entre le client et le service,
il paraît assez naturel de considérer la quantité transportée. Celle-ci va pouvoir représenter un nombre de
véhicules nécessaires et donc changer le coût d’allocation du client à un service donné. Cependant, on peut
se poser la question de la nécessité de rajouter ce coût. En effet, ce que proposent Holmberg et al. [1999]
n’est pas dépendant du service considéré. Ainsi, on peut remarquer que, quelle que soit l’allocation du client
(simple, multiple), le coût total lié à la demande sera de ρ2 di . Ceci étant une constante, on pourrait donc
l’omettre de la fonction objectif.
Pour finir, Yang et al. [2012] commencent par générer aléatoirement les localisations des clients et ser-
vices dans le carré unité. Ils calculent ensuite la distance euclidienne entre les clients et les services et
multiplient le résultat par dix pour obtenir le coût d’allocation. Suite à cela, ils nous proposent une corré-
lation entre la capacité d’un service et le coût de celui-ci. En effet, la majorité du coût de mise en place
√
d’un service va provenir de U (100, 110) sj et ainsi fortement dépendre de la capacité de celui-ci. Cette
volonté de corréler la capacité d’un service à son coût fait aussi sens si l’on veut se rapprocher du contexte
réel d’une usine ou d’un entrepôt. En effet, une capacité accrue demandera dans ce contexte la construction
d’infrastructures plus importantes, accroissant ainsi le prix de mise en place du service.
Sur une note supplémentaire, il est intéressant de remarquer que, au-delà des variations d’intervalles, la
capacité des services (dans la plupart des générateurs d’instances CFLP) est réajustée. Ce réajustement est
calculé de telle sorte que le ratio demande totale sur capacité totale ( DT OT
ST OT
) atteigne une constante voulue.
Cela permet, à l’image de la constance K de [Delmaire et al., 1999], de contrôler le nombre de services
nécessaires pour qu’une solution soit réalisable.
2.6 Conclusion
Après avoir présenté les notions et enjeux de l’optimisation multi-objectif, nous avons ciblé plus préci-
sément une classe de problèmes en particulier. Ainsi, ce chapitre a eu pour but de présenter les problèmes de
localisations de services. Cependant, cette classe de problème est vaste dans le cas exact et encore plus dans
le cas heuristique. Ainsi, nous avons fait le choix de nous intéresser plus particulièrement à la résolution
exacte de deux cas académiques, les problèmes bi-objectifs de localisation de services avec et sans capacité.
Même sous sa forme la plus simple, le problème de localisation de services est majoritairement divisé
en deux factions, deux classes différentes. D’un côté, à source unique, ses variables sont toutes binaires. De
l’autre côté, avec ses particularités propres, ses variables sont mixtes. C’est ce dernier cas qui nous a plus
particulièrement intéressé.
Pour le contexte mono-objectif, nous avons présenté des méthodes efficaces et connues, qui ont eu le
temps de faire leurs preuves. Cependant, nous n’avons pas été en mesure de trouver des méthodes existantes
pour le contexte bi-objectif. Ainsi, nous avons fait le choix de présenter les méthodes exactes du contexte
à source unique. On peut admettre que ce sont les méthodes qui s’en approchent le plus, et qui nous ont
fortement inspirés dans nos travaux.
Dans les chapitres suivants, nous allons vous présenter quatre méthodes (deux pour l’UFLP, deux pour
le CFLP). Nous les avons mis en place dans le but de résoudre efficacement les problèmes d’UFLP et
de CFLP bi-objectif. Les résultats que nous obtenons sont très prometteurs et sont bien meilleurs que les
méthodes génériques.
3
Pavage de boîtes triangulaires pour UFLP
bi-objectif
Le premier algorithme que nous avons mis en place est une méthode de pavage des points non-dominés.
Elle hérite directement de la méthode de pavage par boîte [Gandibleux et al., 2012b] utilisée pour des SSU-
FLP bi-objectif. Cependant, les différences inhérentes aux BOILP et BOMILP vont apporter des modifica-
tions sur la notion de boîte ainsi que la forme de celle-ci. Ci-après, nous commencerons donc par présenter
ces changements ainsi que les différences que cela apporte en nous relatant aux définitions précédentes (voir
sous-section 2.4.2).
Suite à cela, nous développons les spécificités de la méthode de pavage de boîtes triangulaires que
nous proposons. Nous étudierons les performances de nos propositions d’amélioration de la méthode. Nous
finirons par étudier les limites inhérentes de cette dernière.
Définitions 3.1. (Boîte triangulaire). Une boîte T associée à un ensemble J de services ouverts est un
triangle rectangle dans l’espace des objectifs. Le point idéal du sous-problème d’allocation correspond
à l’angle droit et son hypoténuse est l’arête définie par les deux points lexicographiques du même sous-
67
68 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
problème. Ce triangle contient tous les points non-dominés du sous-problème d’allocation associé à l’en-
semble de services ouverts J.
Afin de simplifier la référence au point idéal du sous-problème d’allocation associé à un ensemble de
services ouverts J, nous pouvons ajouter la définition suivante :
Définitions 3.2. (Point idéal local). Le point idéal du sous-problème d’allocation d’un sous-ensemble de
services ouverts J sera appelé point idéal local de la boîte T correspondante.
Remarque : dans les sous-problèmes d’allocation, les coûts d’ouvertures des services sont comptabi-
lisés. À cela, on peut rajouter qu’il n’y a pas de modifications nécessaires quant à la notion de points
localement non-dominés (voir définition 2.4.2). Cependant, il peut être intéressant de rajouter la notion de
boîte dominée :
Définitions 3.3. (Boîte dominée). Une boîte T sera dite dominée s’il existe un ensemble de points réali-
sables P tel que ses points localement non-dominés soient tous au moins faiblement dominés par au moins
un point p ∈ P
Il est ainsi trivial de remarquer que si un point domine au moins faiblement le point localement idéal
d’une boîte T alors cette boîte est dominée. On peut ainsi affiner légèrement la notion de pavage par boîte
en ne considérant que des boîtes non-dominées.
boîte). Un pavage T de l’ensemble non-dominé YN est une collection de boîtes
Définitions 3.4. (Pavage par [
non-dominées tel que YN ⊂ T
T ∈T
F50-51Solutions
10000
9000
8000
7000
Obj. 2
6000
5000
4000
3000
2000
3000 4000 5000 6000 7000 8000 9000 10000 11000
Obj. 1
F IGURE 3.1 – Exemple d’un pavage d’un UFLP bi-objectif en variables mixtes 0-1. YN correspond aux
points noirs.
La figure 3.1 permet d’illustrer un exemple de pavage de boîtes triangulaires. Les différences esse
„„„„„„„„„„„,22222222200,3221,ntielles avec le pavage par boîtes en variables binaires se feront donc sur
le sous-problème d’allocation bi-objectif ainsi que l’arête reliant les deux points lexicographiquement opti-
maux de chaque boîte. Le sous-problème d’allocation est en effet bien plus simple à résoudre en variables
continues. De plus, l’arête réalisable obtenue pour chaque boîte nous fournit un ensemble de points réali-
sables beaucoup plus riche. L’arborescence du Branch and Bound utilisé pour obtenir le pavage de boîtes
triangulaires est identique à celui de la méthode d’origine.
3.2. ALGORITHME DE PAVAGE POUR UFLP BI-OBJECTIF 69
La première initialisation de l’EBS que nous avons considérée se trouve être celle utilisée par Vincent
et al. [2013]. Nous commençons ainsi par calculer les points supportés extrêmes. Le temps de calcul va dé-
pendre essentiellement de la résolution mono-objectif du problème d’UFLP. À cette fin, nous avons utilisé
DUALOC [Erlenkotter, 1978] et CPLEX [Cplex, 2017] (pour comparaison). Suite à cela, nous considérons
chaque ensemble de services J associé à chaque solution obtenue. Puis, on résout chaque sous-problème
d’allocation correspondant. Les points et arêtes ainsi obtenues sont filtrées par dominance. Cette initialisa-
tion sera nommée COMPLET dans les résultats expérimentaux que nous présentons.
Le calcul des points supportés extrêmes est relativement coûteux surtout pour les instances faciles.
Cela est en particulier dû à la condition d’arrêt de la méthode dichotomique. En effet, la condition d’arrêt
nous pousse toujours à faire une résolution sans trouver un nouveau point extrême. On peut remarquer
que généralement lors de l’exécution de la méthode dichotomique, il arrive fréquemment que deux points
consécutifs, p1 et p2 , aient le même ensemble de services ouverts J. De la même façon, les solutions
supportés calculées à partir du poids issu de p1 et p2 auront très souvent à nouveau le même ensemble
J. Nécessairement, lors de la résolution du sous-problèmes d’allocation associé à J, nous allons recalculer
chacun des points supportés extrêmes déjà obtenus. Ainsi, nous avons choisi d’ajouter une condition d’arrêt
dans la méthode dichotomique. Cette condition d’arrêt va s’effectuer sur l’égalité des ensembles de services.
Comme le montre la figure 3.2, nous n’avons pas la certitude d’obtenir tous les points supportés extrêmes.
Nous ne pouvons que certifier en obtenir un sous-ensemble. Cependant, nos expérimentations montreront la
pertinence de choix. Cette initialisation sera nommée PARTIEL dans les résultats expérimentaux que nous
présentons.
3 3
• •
• ◦
4 2 Stop 2
• •
z1 z1
(a) Exemple d’ordre des points obtenus lors de la (b) Ordre des points obtenus lors de la recherche di-
recherche dichotomique avec calcul supplémentaire chotomique avec arrêt heuristique et résolution des
des MOLP. Tous les points supportés extrêmes sont sous-problèmes d’allocation. Les points 2 et 3 ont le
trouvés. J, on s’arrête et l’on ne trouvera pas le point 4.
différence avec l’EBI de Fernández and Puerto [2003] qui ne considère pas la fermeture des services. Nous
obtenons donc la proposition suivante.
Proposition 3.1. Considérons un ensemble J de services ouverts et l’ensemble J de services fermés impli-
qués par J. Définissons LB(J) comme un point dans l’espace des objectifs tel que :
m
X X
k
LB(J) = min ckij + fjk , ∀k ∈ 1, 2
j ∈J
/
i=1 j∈J
Pour tout J, LB(J) est un ensemble bornant inférieur pour le sous-problème d’allocation défini par J
et pour tout successeur dans l’arbre de décision.
Ce point correspond au point idéal du sous-problème d’allocation où les services ouverts appartenant à
J ont un coût fixe comme dans le problème d’UFLP et où tous les services dont les variables sont libres
sont considérés ouverts sans coût supplémentaire. Cet EBI sera nommé EBI1 dans les expérimentations
que nous présentons. Cependant, ce point idéal peut être amélioré. Pour cela, il suffit de résoudre ce sous-
problème d’allocation. Il suffit, à l’identique des autres sous-problèmes d’allocation, de calculer ses points
supportés extrêmes. Cet EBI sera nommé EBI2 dans les expérimentations que nous présentons.
De plus, si un noeud n’est pas sondé par dominance on va explorer le noeud feuille correspondant.
Suite à cela, on peut tout de même affiner l’EBI pour le reste de l’arbre de recherche. Il suffit de remarquer
que l’ajout de minj ∈J∪J
/ fjk sur chaque objectif reste un EBI pour le sous-arbre du noeud que l’on vient de
traiter. Cela s’explique simplement par le fait que chaque noeud fils aura exactement un service de plus fixé
à ouvert. On peut ainsi faire cette dernière vérification avant de mettre à jour la liste des noeuds fils à traiter.
Ci-dessous, nous développons un exemple simple permettant de présenter les différents EBI.
Exemple 3.1. Considérons un problème d’UFLP bi-objectif à 5 clients et 5 services. Dans le tableau 3.1,
pour le premier objectif OBJ1, la case correspondant à la ligne C1 (client 1) et à la colonne S2 (service 2)
correspond au coût d’allocation c112 . Nous ne considérons pas d’initialisation de l’EBS.
3.2. ALGORITHME DE PAVAGE POUR UFLP BI-OBJECTIF 71
TABLE 3.1 – Exemple d’instance UFLP bi-objectif à 5 services (Sj ) et 5 clients (Ci )
OBJ1 S1 S2 S3 S4 S5 OBJ2 S1 S2 S3 S4 F5
C1 10 35 47 48 33 C1 14 33 37 38 46
C2 44 42 46 8 22 C2 19 14 38 37 7
C3 42 28 28 43 36 C3 22 5 10 46 29
C4 3 48 26 48 24 C4 35 18 16 33 10
C5 35 14 39 35 34 C5 13 0 50 38 48
fj 165 126 194 185 196 fj 194 166 129 110 127
Les noeuds {1},{2} nous permettent d’obtenir respectivement les points (299, 297) , (293, 236). On
peut dès alors filtrer par dominance le premier point. Le noeud {3} nous permet d’obtenir le premier EBI
CR = (194, 129). Il n’est pas possible d’éliminer ce noeud. On va donc tester EBI1. L’allocation optimale
des clients selon l’objectif 1 aux services 3,4 et 5 nous permet d’obtenir EBI11 = 194 + 33 + 8 + 28 + 24 +
34 = 321. L’allocation optimale des clients selon l’objectif 2 aux services 3,4 et 5 nous permet d’obtenir
EBI12 = 129 + 37 + 7 + 10 + 10 + 38 = 231. Il n’est donc pas possible de sonder par dominance le
noeud {3}. On peut remarquer que l’EBS étant uniquement composé du point unique correspondant à la
résolution du sous-problème d’allocation associé à {2}, il n’y a pas besoin de calculer EBI2. Cependant,
afin d’illustrer l’utilisation de celui-ci, nous allons tout de même expliciter son calcul.
On peut commencer par remarquer que, pour le sous-problème d’allocation associé à {3.4.5}, nous
avons c33 et c45 qui dominent strictement les autres allocations pour leur client respectif. Ainsi, la méthode
paramétrique dédiée de Fernández and Puerto [2003] nous permet d’obtenir 3 points critiques pour λ égale
à 0.91,0.68 et 0.39 respectivement pour les clients 5,2 et 1.
Nous obtenons ainsi les points (321, 280) , (322, 270) , (336, 240) et (350, 231) et les arêtes reliant ceux-
ci. Il n’est pas possible de prouver EBI2 dominé, nous calculons la boîte correspondant au noeud {3}. Nous
obtenons le point (380, 280) qui est directement dominé par l’EBS. Avant d’ajouter les noeuds fils, nous
pouvons ajouter pour chaque objectif le coût minimal d’ouverture du service 4 ou 5. C’est à dire f41 = 185
pour l’objectif 1 et f42 = 110 pour l’objectif 2. Nous obtenons donc pour EBI1 le point (506, 341) qui est
dominé. Nous pouvons donc couper le sous-arbre correspondant à l’exploration des noeuds fils.
La figure 3.3 propose une illustration des différents EBI. On peut remarquer par ailleurs que, si l’on
utilise EBI1 plutôt que EBI2, il peut être amélioré. EBI1 amélioré correspondrait exactement au point idéal
de EBI2 amélioré.
La seconde stratégie de branchement que nous avons considéré repose sur l’idée de Fernández and
Puerto [2003] de réutiliser les données obtenues lors de l’initialisation de l’EBS. Ainsi, la fréquence d’ap-
parition d’un service va être retenue en considérant toutes les solutions calculées lors de l’initialisation de
72 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
z2 z2
BOX • • EBI2 amélioré
EBI2 • EBI2 • •
◦ • •
• • •
• •
EBI1 • • •
•
CR
z1 z1
(a) Illustration des EBI et de leur qualité correspondante (b) Le noeud feuille correspondant à l’ensemble de ser-
lors du sondage d’un noeud. Si l’on ne peut sonder par vice du noeud a été calculé. On peut affiner les EBI sur le
dominance le noeud, on va calculer son noeud feuille cor- sous-arbre restant en ajoutant le minimum des coûts d’ou-
respondant aux services ouverts. verture des services libres sur chaque objectif.
l’EBS. Les services seront ainsi triés de façon statique par ordre décroissant de leur fréquence d’apparition.
Cette heuristique de choix de variables sera nommée SORT2 dans les expérimentations que nous présentons.
Ci-dessous, nous illustrons par un exemple simple l’utilisation du ratio que nous proposons.
Exemple 3.2. Considérons à nouveau le problème d’UFLP bi-objectif proposé dans l’exemple 3.1. Consi-
dérant la fonction d’utilité proposée nous obtenons pour chaque service le tableau 3.2 ci-dessous :
TABLE 3.2 – Calcul de l’utilité pour chaque service sur l’instance de 5 clients et 5 services.
λ = (0.5, 0.5) S1 S2 S3 S4 S5
fjλ 179,5 146 161,5 147,5 161,5
On peut remarquer que les services F3 et F5 ont la même utilité. Dans ce cas particulier, nous avons
fait le choix de les considérer dans l’ordre d’origine. Ainsi, nous obtenons les services triés dans l’ordre
F2, F4, F3, F5, F1. La figure 3.4 permet d’illustrer le début de l’arbre de recherche selon ce tri de services.
Les noeuds rectangulaires correspondent à des noeuds feuilles. Le prochain noeud à traiter se trouve être le
noeud {3}.
Nous proposons une troisième stratégie de branchement dynamique. Cependant, les résultats prélimi-
naires ont été très mauvais et nous n’avons pas gardé cette stratégie pour les expérimentations. Nous allons
tout de même décrire le procédé permettant de l’utiliser. Pour chaque noeud, nous allons considérer le
meilleur EBI utilisé et tous les points potentiellement non dominé de l’EBS. L’initialisation de l’EBS, par
notre méthode heuristique ou l’initialisation de Vincent et al. [2013] permet ainsi d’avoir une stratégie plus
fiable.
Si l’EBI est dominé, le noeud est sondé par dominance. Il n’y a donc pas à considérer cette stratégie de
branchement. Sinon, il est possible que l’EBI soit partiellement dominé par des points de l’EBS ou que la
zone correspondant aux points de l’EBI +R2= contienne des points de l’EBS. Nous allons considérer tous
les points de l’EBS qui correspondent à l’un ou l’autre des cas. La figure 3.5 permet d’illustrer un exemple
des points de l’EBS concernés. On sait que les points réalisables du sous-arbre correspondant à l’EBI vont
se trouver dans la partie "dominée" par l’EBI. C’est une information que l’on a donc essayé de réutiliser.
3.2. ALGORITHME DE PAVAGE POUR UFLP BI-OBJECTIF 73
{}
F IGURE 3.4 – Exemple d’arbre de recherche où les services ont été triés dans l’ordre {2,4,3,5,1}.
Pour cela, les points de l’EBS concernés par notre EBI vont être triés par ordre croissant selon l’objectif
1. Le premier et le dernier de ces points vont permettre de définir le vecteur de poids λ qui va être utilisé pour
calculer l’utilité des noeuds fils. La fonction d’utilité est presque la même que dans la première stratégie de
branchement. La différence va se situer sur l’utilisation de λ pour créer l’utilité et ensuite trier les services.
Pour chaque noeud, il y aura donc potentiellement un tri unique des services et donc des noeuds fils à créer.
z2 z2
• •
• • •
EBI1 • •
• •
• •
•
• EBI2 •
• •
•
z1 z1
(a) Exemple pour EBI1 des zones pour lesquelles on (b) Exemple pour EBI2 des zones pour lesquelles on
va considérer les points de l’EBS. va considérer les points de l’EBS.
Comme nous l’avons dit, les résultats préliminaires n’ont pas été en faveur de cette stratégie de branche-
ment. Nous l’avons donc abandonnée. Une des explications possibles est le rajout du temps de calcul des
utilités et du triage. Secondement, bien que l’EBI permette de placer a priori les points réalisables du sous-
arbre, celui-ci peut être de mauvaise qualité. Ainsi, il est possible d’englober tous les points potentiellement
non-dominés de l’EBS et ne pas rajouter d’information pour un temps de calcul important.
74 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
Dans la seconde stratégie, nous utilisons une recherche dichotomique effectuée sur chaque boîte, les
unes après les autres. Les points et arêtes obtenus sont également filtrés par dominance. Cette stratégie
d’exploration sera nommée PARAM dans les expérimentations que nous présentons.
Dans la troisième stratégie, nous allons ranger les boîtes en fonction de leur point idéal local. Nous
considérons tous les points idéaux locaux et les trions selon le rang de Booker et al. [1989]. Cela revient à
ajouter dans le premier rang toutes les boîtes dont le point idéal local n’est pas dominé par un autre point
idéal local. Dans le second rang, on trouve toutes les boîtes dont le point idéal local n’est pas dominé par
un autre point idéal local une fois le premier rang enlevé. Dans le troisième rang, on trouve toutes les boîtes
dont le point idéal local n’est pas dominé par un autre point idéal local une fois les deux premiers rangs
enlevés... Suite à cela, nous effectuons une méthode dichotomique sur toutes les boîtes du premier rang.
Nous essayons de filtrer par dominance les boîtes restantes des rangs suivants. Suite à cela, et s’il en reste,
nous faisons une recherche dichotomique sur les boîtes du second rang. Nous tentons à nouveau de filtrer
les boîtes de rang supérieur. On recommence avec les boîtes du rang suivant jusqu’à ce que les boîtes de
tous les rangs soient traitées. Les points et arêtes obtenus sont comme à chaque fois filtrés par dominance.
Cette troisième stratégie peut aussi s’appliquer avec une méthode paramétrique pour explorer les boîtes
plutôt que la méthode dichotomique. Cette stratégie d’exploration sera nommée RANK dans les expéri-
mentations que nous présentons.
La dernière stratégie sera nommée recherche dichotomique avec filtrage intermédiaire. Nous considé-
rons le raffinement proposé dans la méthode de pavage par boîtes [Gandibleux et al., 2012b]. Nous l’in-
tégrons dans une résolution simultanée de toutes les boîtes. Toutes les recherches dichotomiques se font
simultanément, une itération à la fois dans chaque boîte. Pour chaque boîte, l’obtention d’un nouveau point
localement supporté extrême va permettre de subdiviser la boîte en deux sous-boîtes. Après chaque itéra-
tion, un filtrage est tenté. Comme l’illustre la figure 2.4. Cette stratégie est applicable dans notre cas, car
l’achèvement des méthodes dichotomiques achève l’exploration des boîtes restantes. Il n’y a donc pas d’ex-
ploration finale à effectuer, tous les points et arêtes non-dominés ayant déjà été obtenus. Il reste à filtrer les
points et arêtes par dominance, comme mentionné par Vincent et al. [2013]. Cette stratégie d’exploration
sera nommée GLOBAL dans les expérimentations que nous présentons.
z2 z2 z2
• • • • • •
◦ • ◦ ◦•
•◦ • ◦ ◦•
•◦ •
◦ • ◦ • ◦ •
• • • • • •
◦ • ◦ •◦ • ◦ •◦ •
◦ • ◦ •
◦ • ◦ • ◦ •
z1 z1 z1
(a) Boîtes triangulaires non- (b) Résultats obtenus suite à une (c) Nous pouvons tenter de filtrer
dominées obtenues suite au Branch itération de recherche dichoto- par dominance les nouvelles boîtes
and Bound. mique effectuée sur chaque boîte. obtenues.
z2
z2 • z2
• •
•
◦ • • •
◦ • • • •
• • • •
◦ • ◦••
◦• ••
◦ • • •
◦ • •
z1
z1 z1
(e) L’exploration est terminée sur
(d) Il n’est pas nécessaire de conti- (f) L’exploration est terminée. Il
certaines boîtes. On ne garde que
nuer l’exploration sur les boîtes do- reste à filtrer par dominance les
les points localement non-dominés
minées. points et arêtes obtenus.
de ces boîtes.
Toutes les instances ont été créées de façon aléatoire en considération des générateurs présentés dans la
section 2.5. Les instances se présentent en quatre catégories :
1. Instances de Delmaire (D) [Delmaire et al., 1999].
2. Instances de Gadegaard (G) [Gadegaard, 2016].
3. Instances de Fernandez à Petit Coefficient de services (FPC) [Fernández and Puerto, 2003].
4. Instances de Fernandez à Grand Coefficient de services (FGC) [Fernández and Puerto, 2003].
Ces instances vont être produites en trois tailles distinctes :
1. Petite Taille : 20 services, 60 clients (20-60).
2. Moyenne Taille : 30 services, 90 clients (30-90).
3. Grande Taille : 40 services, 120 clients (40-120).
Nous n’avons pas considéré les instances de petite taille avec 10 services et 30 clients. En effet, le
nombre restreint d’ensembles de services (1023) en font des instances faciles à résoudre pour lesquels un
algorithme brute force peut même se montrer plus rapide que des méthodes plus sophistiquées.
Pour chaque taille et catégorie d’instance, nous avons généré 5 instances différentes. Pour une catégorie
d’instance, chacun des deux objectifs va ainsi correspondre à une génération indépendante des coûts de
services et d’allocation suivant la catégorie choisie.
Le protocole expérimental que nous avons appliqué s’imbrique dans l’idée conceptuelle de l’algorithme
que nous proposons. On peut en effet considérer que celui-ci peut se décomposer en trois sections impor-
tantes :
1. Initialisation de l’ensemble bornant supérieur.
2. Obtention du Pavage de boîtes triangulaires.
3. Exploration des Boîtes triangulaires.
Bien entendu, il va y avoir des interactions entre ces parties. Par exemple, la qualité de l’initialisation de
l’EBS va influer sur le branch and bound servant à obtenir un pavage des points non-dominés. De même,
la quantité de boîtes obtenues va influer sur l’exploration de celle-ci. Cependant, on peut tout de même
considérer ces parties comme indépendantes.
Ainsi, nous décomposerons les expérimentations en trois parties. La première partie comparera les mé-
thodes d’initialisation de l’EBS. On commencera par comparer CPLEX à DUALOC puis nous comparerons
l’initialisation de Vincent et al. [2013] à notre proposition heuristique présentée dans la sous-section 3.2.1.
La seconde partie comparera l’impact de l’initialisation et des différents choix heuristiques sur l’explora-
tion du Branch and Bound et le temps de calcul du pavage des points non-dominés. Cela correspond à la
sous-section 3.2.2 et à la sous-section 3.2.3. La dernière partie comparera les méthodes d’exploration du
pavage de boîtes triangulaires que nous avons proposées dans la sous-section 3.2.4.
TABLE 3.3 – Comparaisons CPLEX/DUALOC sur le calcul des lexicographiques. Comparaisons entre
l’initialisation de Vincent et al. [2013] et notre heuristique.
— PARTIEL : Temps et nombre de J obtenus avec le calcul partiel des points supportés extrêmes par
notre heuristique d’initialisation de l’EBS.
Nous ne présentons ici que les résultats pour les instances de taille 40-120, disponible dans le tableau
3.3. Ces résultats semblent significatifs quant aux temps d’exécution des différentes méthodes d’initialisa-
tion de l’EBS. On pourra remarquer qu’il n’y a pas de perte de généralité quant à la présentation de ces
uniques résultats, les expérimentations apportant des résultats similaires pour toutes les tailles d’instances.
Le lecteur intéressé pourra retrouver en annexe respectivement le tableau A.1 et le tableau A.2 pour les
tailles d’instances 20-60 et 30-90 respectivement.
Le tableau 3.3 apporte des éléments intéressants à considérer. On peut commencer par observer les ré-
sultats entre CPLEX et DUALOC sur le calcul des solutions lexicographiques. On peut remarquer l’instance
FPC4 où CPLEX montre des résultats meilleurs à ceux de DUALOC. À cette exception près, DUALOC
propose toujours de meilleurs résultats avec des ratios divers en fonction du type d’instance. Ces ratios sont
assez proches de 1 pour les instances FPC et peuvent devenir très grands pour les instances G.
Quant à la comparaison entre l’initialisation de Vincent et al. [2013] et notre heuristique, on peut re-
marquer pour toutes les tailles d’instance une facilité surprenante pour les instances de type G. On peut
conjecturer dès à présent que ces instances vont être faciles à résoudre et proposeront des temps très courts.
Cela se confirmera dans les expérimentations de la sous-section suivante. De façon plus étonnante, les
instances de Delmaire ont commencé par montrer une certaine facilité sur les tailles 20-60 et 30-90 pour
finalement devenir difficiles à résoudre sur la taille 40-120.
Les instances D, FPC et FGC sont plus intéressantes afin de comparer l’initialisation de Vincent et al.
[2013] à notre initialisation heuristique. Notre méthode heuristique est toujours plus rapide. On peut en
déduire qu’elle calcule beaucoup moins de points supportés extrêmes. Cependant, on peut remarquer que le
nombre d’ensembles de services obtenus est le même que celui de l”initialisation de Vincent et al. [2013].
Après résolutions des sous-problèmes d’allocation, on obtient donc le même EBS dans les deux cas. Les
ratios montrent que notre heuristique est au moins deux fois plus rapide que l’initialisation de Vincent et al.
[2013].
Ainsi, nous considérerons essentiellement notre méthode heuristique dans les expérimentations sui-
vantes, celle-ci ayant montré un temps de calcul inférieur pour une qualité équivalente.
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre. Des
définitions plus précises sont disponibles à la sous-section 3.2.2 et la sous-section 3.2.3.
— BASE : utilisation de notre méthode de base, directement héritée de la méthode de pavage par boîtes
rectangulaires.
— EBI1 : utilisation du premier EBI proposé. Il correspond au point idéal du sous-problème aux ser-
vices potentiellement ouverts à coût nul.
— EBI2 : utilisation du second EBI proposé. Il correspond au calcul des points supportés extrêmes du
sous-problème aux services potentiellement ouverts à coût nul.
3.3. RÉSULTATS EXPÉRIMENTAUX 79
— SORT1 : utilisation du premier choix de branchement, à partir de la fonction d’utilité sur les services
couplé à EBI1.
— SORT2 : utilisation du second choix de branchement, à partir de la fréquence des services présents
dans l’initialisation de l’EBS couplé à EBI1.
— +EBS : utilisation de PARTIEL avec la méthode présente dans la colonne à gauche.
L’utilisation du terme "No Data" signifie que la méthode n’a pas terminé en moins d’une heure. Nous
n’avons donc pas de données à présenter pour les instances correspondantes.
On peut commencer par remarquer que les instances FPC ne sont pas présentes dans les résultats des
tailles 30-90 et 40-120. Cela s’explique par un temps d’exécution supérieur à une heure, le temps maximal
que l’on accorde à nos méthodes. On peut supposer que, tout comme pour les instances de tailles 20-60,
le nombre de boîtes calculées et donc le nombre de noeuds explorés dans le branch and bound est très
important. Le lecteur intéressé pourra remarquer sur les annexes A.3 que l’on va ainsi explorer au minimum
10% des combinaisons possibles de services.
80
TABLE 3.4 – Comparaison des performances du Branch and Bound en fonction des différents ensembles bornants. Instances de taille 40-120.
TABLE 3.5 – Comparaison des performances du Branch and Bound en fonction des différents choix de
branchement. Instances de taille 40-120.
Dans les tableaux 3.4 et 3.5, on peut voir très clairement que les instances de Gadegaard sont réso-
lues très rapidement par notre méthode. Il semble que ces instances soient particulièrement faciles pour la
méthode de pavage par boîtes triangulaires. Les données obtenues ne permettent pas de conclure de façon
significative sur l’utilisation des différentes heuristiques que nous proposons. On peut cependant voir clai-
rement que l’initialisation de l’EBS permet de diminuer significativement le nombre de boîtes générées,
nombre qui est par ailleurs extrêmement faible comparativement au nombre total de combinaisons de ser-
vices.
Les instances FGC sont plus intéressantes. En effet, les temps d’exécution commencent à devenir assez
significatifs. De plus, le nombre de boîtes explorées a aussi une fluctuation plus significative. On peut com-
mencer par remarquer que, particulièrement pour ces instances, l’ajout seul de l’initialisation de l’EBS va
améliorer significativement la méthode de base. De plus, les différences sont assez importantes. Ainsi, le
temps de calcul de l’initialisation de l’EBS est très largement compensé lors de l’exploration de l’arbre de
recherche. Cependant, le lecteur intéressé peut remarquer une irrégularité dans nos propos. Cette irrégula-
rité s’observe sur les instances de tailles 20-60 et 30-90 comme en attestent le tableau A.3 et le tableau A.5.
On peut remarquer dans ces tableaux que l’utilisation de l’EBS va nécessairement rendre la méthode moins
intéressante que la méthode de base, cette initialisation étant alors trop coûteuse.
Cela peut s’expliquer par la petite taille des instances. Cela rend les instances de tailles 40-120 particu-
lièrement intéressantes. Elles permettent de montrer une tendance changeante quant à la considération de
l’EBS.
On peut voir par ailleurs que l’EBI EBI1 seul semble avoir de bonnes performances sur l’exploration
autant en nombre de boîtes calculées qu’en temps de calcul. L’ajout de l’initialisation de l’EBS va de plus
82 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
améliorer significativement l’utilisation de EBI1. Dans une même optique, bien que coûteux dans son ap-
proche et augmentant significativement le temps d’exploration du branch and bound, l’EBI EBI2 permet de
diminuer significativement le nombre de boîtes triangulaires générées. Les temps sont bien meilleurs que
pour la méthode de base, mais la simplicité et l’efficacité de EBI1 reste plus intéressant en termes de temps
de calcul.
Par ailleurs, l’utilisation conjuguée de EBI2 et de l’initialisation de l’EBS multiplie les comparaisons
entre arêtes et de nombreuses comparaisons inutiles peuvent ainsi être ajoutées. La figure 3.7 illustre cela.
Dans cet exemple, l’obtention du triangle bleu permet directement d’éliminer l’EBI orangé par de simples
projections. Cependant, si on initialise l’EBS on obtient les points localement supportés extrêmes du sous-
problème d’allocation associé au triangle bleu. Cependant, l’EBI orangé va nécessiter la comparaison et le
filtrage avec les deux arêtes bleues pour prouver son élimination. De simples projections ne permettent plus
d’éliminer l’EBI.
z2 z2
• • • •
•
• •
• •
z1 z1
(a) Comparaison entre l’EBI et l’EBS lorsque celui- (b) Comparaison entre l’EBI et l’EBS lorsque celui-
ci n’est pas initialisé. ci est initialisé.
F IGURE 3.7 – Exemple pouvant amener à considérer plus de solutions malgré l’initialisation de l’EBS.
Les instances de Delmaire se trouvent être particulièrement difficiles dans leur version 40-120. Elles
semblaient relativement faciles à résoudre pour les tailles plus petites, comme en attestent le tableau A.3
et le tableau A.5. Cependant, les résolutions ont montré qu’il n’est plus possible de résoudre ces instances
sans l’initialisation de l’EBS. Sans cela, les temps de calcul dépassent une heure. Ces instances permettent
par ailleurs de donner de l’importance à l’EBI LSB2 qui se trouve proposer les meilleures performances de
la méthode.
Les résultats sur les choix de branchement des noeuds du branch and bound sont plus mitigés. Selon
les instances, les résultats sont parfois contre-productifs et parfois améliorants. Il ne semble pas possible de
conclure de façon aussi décisive que pour la considération des ensembles bornants. À l’inverse des choix de
branchement, pour un même type d’instance, les ensembles bornants vont avoir un impact similaire. Ainsi,
nous ne considérons pas les choix de branchement pour la suite de ce manuscrit ni même pour la version
CFLP présentée dans le chapitre suivant.
TABLE 3.6 – Comparaisons des différentes explorations proposées du pavage par boîtes triangulaires. Ins-
tances de taille 40-120
On peut commencer par remarquer que les instances de Delmaire et Gadegaard ont montré à travers les
expérimentations précédentes une grande simplicité de résolution. Cette simplicité de résolution est bien
entendu de bon augure pour les performances de notre méthode. Cependant, nous avons aussi pu constater
qu’elles n’apportaient donc que peu d’intérêt pour l’observation de nos propositions heuristiques, voire
même ces instances apportaient des informations contraires aux instances plus difficiles telles que FPC et
FGC.
Le tableau 3.6 répond directement sans équivoque à la question de performances des méthodes d’explo-
ration que nous proposons. La recherche dichotomique est clairement la moins intéressante, comme attendu.
Les résultats de la méthode d’exploration avec ranking des points idéaux sont décevants, mais semblent lo-
giques au final. En effet, si l’on est en présence de boîtes triangulaires assez grandes, il n’est pas étonnant
que le calcul des points supportés extrêmes sur les boîtes les plus intéressantes ne permette pas d’élimi-
ner les boîtes moins intéressantes. Aucune information n’étant calculée pour les autres boîtes, nous allons
toujours devoir considérer leur point idéal local pour les éliminer et la qualité de celui-ci n’aura donc pas
changé (voir figure 3.8). Il semblerait donc à la vue des résultats que le cas contre-productif correspondant
84 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
z2 z2
• • • •
•
• •
•
• •
z1 z1
(a) Le calcul de la boîte de rang 1 permet d’éliminer (b) Le calcul de la boîte de rang 1 ne permet pas d’éli-
la boîte de rang 2. Cela permet d’explorer une boîte miner la boîte de rang 2. Cela ne permet pas de cal-
en moins comparativement à l’exploration dichoto- culer de boîtes en moins comparativement à l’explo-
mique/paramétrique. ration dichotomique/paramétrique.
F IGURE 3.8 – Exemple bénéfique et exemple contre-productif de la méthode de ranking des points idéaux.
La méthode paramétrique dédiée proposée par Fernández and Puerto [2003] montre de très bons résul-
tats comme attendus, mais nous sommes agréablement surpris des performances de la recherche dichoto-
mique avec filtrage intermédiaire. En effet, bien que cette méthode ait le défaut général de la méthode par
dichotomie, il semble que les filtrages intermédiaires permettent d’éliminer rapidement des boîtes ininté-
ressantes qui se retrouvent dominées après calcul d’informations.
Nous nous retrouvons avec deux cas à considérer. Le premier cas va correspondre à un nombre de boîtes
restreint, mais tout de même conséquent. Sur ce cas particulier, la méthode de dichotomie avec filtrage in-
termédiaire global va avoir de bien meilleurs résultats que la méthode paramétrique. Le second cas va cor-
respondre à un nombre de boîtes très élevé. Très clairement, la méthode de dichotomie avec filtrage semble
perdre son efficacité. Cela semble être causé par le nombre élevé de comparaisons. Ces comparaisons vont
être nécessaires et vont au final ralentir la méthode. À l’inverse, la méthode paramétrique va directement et
très rapidement résoudre chacun des sous-problèmes d’allocation, il n’y a pas de comparaisons et donc pas
de perte de temps.
Le lecteur intéressé peut remarquer que CPLEX propose cependant des temps de calcul proches de
DUALOC, voire meilleurs, pour les instances de tailles 40-120. De plus, on peut considérer que la TSM sera
bien plus performante sur les instances FPC. La méthode de pavage par boîtes triangulaires n’est en effet
pas très performante. Toutefois, nous ne présenterons pas les résultats de la TSM dans cette sous-section.
En effet, à la vue des performances de notre méthode de pavage par boîtes triangulaires sur les instances
FPC, nous proposons dans le chapitre 5 une seconde méthode de résolution des UFLP bi-objectifs. Les
performances finales de la TSM seront étudiées plus précisément dans les résultats expérimentaux de ce
chapitre 5 où nous présenterons un résumé des performances de toutes les méthodes que nous proposons
dans ce manuscrit.
Nous notons σ 1 et respectivement σ 2 les permutations des services triés par coût croissant selon l’objectif
1 et respectivement selon l’objectif 2.
X X
Soit C 1 = max( c1ij ) et respectivement C 2 = max( c2ij ) c.-à-d. le coût maximal des attributions de
j∈J j∈J
i∈I i∈I
tous les clients à un seul service selon l’objectif 1 et respectivement selon l’objectif 2.
Considérons maintenant F 1 et respectivement F 2 les plus petits entiers tel que la somme des F 1 (respecti-
vement XF 2 ) premiers éléments de σ 1 (respectivementX σ 2 ) soit supérieure ou égale à C 1 (respectivement C 2 )
c.-à-d. fσ11 (j) ≥ C 1 (respectivement C 2 c.-à-d. fσ22 (j) ≥ C 2 ).
j≤F 1 j≤F 2
Proposition 3.2. Si F ∗ = max(F 1 , F 2 ) < n, il n’existe pas de solutions efficaces avec plus de F ∗ services
ouverts c.-à-d. toute solution avec plus de F ∗ services ouverts est nécessairement dominée.
Preuve 3.1. Considérons une solution x ∈ X dont l’ensemble J des services ouverts est de cardinalité
strictement supérieure à F ∗ . Considérons n’importe quel service js ∈ J.
Si on considère la solution x∗ obtenue par la résolution du problème d’allocation au service {js }, alors :
et X
∀k ∈ {1, 2} : fjk < z k (x)
j∈J
On en déduit directement que ∀k ∈ {1, 2} : z k (x∗ ) < z k (x). Autrement dit, la solution x∗ composée
uniquement du service js domine strictement x.
Pour le cas du CFLP bi-objectif il suffit de considérer la permutation σ des services triés par ordre
croissant de leur capacité. Nous rappelons que sj est la capacité du service j ∈ J et di est la demande du
client i ∈ I. Définissons PL le plus petit entier tel que :
PL
X m
X
sσ(j) ≥ di
j=1 i=1
Proposition 3.3. Si F ∗ = max(F 1 , F 2 ) + PL < n, il n’existe pas de solutions efficaces avec plus de
F ∗ services ouverts c.-à-d. tout point correspondant à une solution avec plus de F ∗ services ouverts est
nécessairement dominé.
Preuve 3.2. La preuve est directe. Il suffit de considérer PL service au lieu d’un seul.
Si PL n’est pas trop grand, il est donc possible d’avoir une borne sur la profondeur maximale de bonne
qualité pour le CFLP bi-objectif.
On peut donc, à partir d’un rapide calcul entre les fjk et les ckij déterminer la profondeur maximale du
branch and bound que l’on utilise, chaque niveau correspondant à l’ouverture d’un service supplémentaire.
La borne obtenue à l’aide de cette propriété sera donc en général de bonne qualité lorsque le coût rela-
tif des clients par rapport au coût d’ouverture d’un service sera inférieur voir très inférieur. À l’inverse,
comme dans les instances FPC, la borne sera très mauvaise si le coût des clients est relativement grand
comparativement au coût d’ouverture d’un service, voire supérieur, très supérieur.
Seconde borne utilisable après initialisation avec les points lexicographiques : Considérons premiè-
rement que nous n’avons accès qu’aux points lexicographiques du problème.
Soit AO2 le coût de l’affectation optimale des clients selon l’objectif 2, en supposant que tous les services
sont ouverts.
Nous notons σ 2 la permutation des services triés par coût croissant selon l’objectif 2.
Considérons maintenant F 2 le plus petit entier tel que fσ22 (j) ≥ z 2 (Lex12) − AO2 .
P
j≤F 2
Proposition 3.4. Il n’existe pas de solution efficace avec plus de F 2 services ouverts.
Preuve 3.3. Considérons une solution x ∈ X dont l’ensemble J des services ouverts est de cardinalité
strictement supérieure à F ∗ 2. Alors par définition :
z 1 (x) ≥ z 1 (Lex12)
3.4. LIMITES DE LA MÉTHODE 87
De plus on a :
X
z 2 (x) ≥ fj2 ≥ z 2 (Lex12) − AO2
j∈J(x)
Or on a :
X
z 2 (x) ≥ fj2 + AO2
j∈J(x)
et X
fj2 + AO2 ≥ z 2 (Lex12)
i∈J(x)
Donc nécessairement :
z 2 (x) ≥ z 2 (Lex12)
La solution x est au moins faiblement dominée par Lex12.
On peut symétriquement faire la même chose en considérant Lex21 et on obtient ainsi une borne F 1 .
Proposition 3.5. Soit F ∗ = min(F 1 , F 2 ). Alors il n’existe pas de solution efficace avec plus de F ∗ services
ouverts.
On peut remarquer que cette propriété est directement réutilisable dans le contexte CFLP. De plus, cette
propriété peut être généralisée pour les instances à plus de deux objectifs, il faudra cependant considérer
toutes les permutations de l’ordre lexicographique pour chaque objectif.
Cette borne peut encore être affinée si nous considérons des points supplémentaires aux points lexico-
graphiquement optimaux. Cependant, ceux-ci sont nécessaires comme nous le verrons ci-après.
Soit une liste de k points p1 , p2 , ..., pk préfiltrés par dominance, on peut supposer à réindiçage près que
p1 = Lex12, pk = Lex21 et que p2 , ..., pk−1 sont triés dans l’ordre naturel.
Considérons l’ensemble des nadirs locaux N L = {nl1 , ..., nlk−1 } défini par nll = (pl+1 l
1 , p2 ).
Soit D l’ensemble des droites permettant de définir l’enveloppe convexe de N L − R2= . Cet ensemble va
être contenir les droites horizontales et verticales passant par les points lexicographiques. Si l’on considère
seulement celle-ci, nous retournons dans le cas précédent. C’est un cas particulier. Soit d ∈ D passant par
les nadirs locaux nl1d et nl2d considéré dans l’ordre naturel.
Nous pouvons à partir de cela définir un vecteur de poids λ(d) = (nl1d2 − nl2d2 , nl2d1 − nl1d1 ) ce qui corres-
pond au vecteur orthogonal à d.
Soit AOλ(d) le coût de l’affectation optimale des clients selon la somme pondérée par λ(d), en supposant
que tous les services sont ouverts.
À réindiçage près, considérons la permutation σ λ(d) des services triés par coûts croissants selon la somme
pondérée par λ(d).
PF λ (d)
Considérons F λ(d) le plus petit entier tel que : j=1 λ(d)> fσλ(d) ≥ λ(d)> nl1d − AOλ(d)
88 CHAPITRE 3. PAVAGE DE BOÎTES TRIANGULAIRES POUR UFLP BI-OBJECTIF
Proposition 3.6. Il n’existe pas de solution efficace avec plus de F λ(d) services ouverts.
On peut remarquer que la propriété précédente est un cas particulier de celle-ci, lorsque l’on ne dispose
que des points lexicographiques. De plus, on peut voir que ces deux points sont nécessaires, l’enveloppe
convexe des nadirs locaux n’existerait pas sans cela. De plus, on peut donc considérer chacune des droites.
On obtient ainsi :
Proposition 3.7. Soit F ∗ = mind∈D (F λ(d) ). Alors il n’existe pas de solution efficace avec plus de F ∗
services ouverts.
De la même façon, on peut directement réutiliser cette propriété pour le cas CFLP.
Ainsi, il nous est apparu logique de considérer l’espérance de ces lois uniformes discrètes afin de regar-
der si cette espérance va correspondre ou non aux bornes et profondeurs réellement obtenues. La génération
des instances de type FGC se trouve exactement dans cette catégorie. Les calculs d’espérance vont nous
donner ceci pour la génération d’instance selon Fernandez, en considérant le plus entier F tel que :
X
E(U (fmin , fmax )) ≥ m × E(U (cmin , cmax ))
j≤F
En considérant les données de générations des instances FGC, on peut remplacer pour obtenir E(M axDeep) =
m
30
.Soit pour nos instances 30-90 une espérance de profondeur de 3. La vérification de ces données sur les
résultats expérimentaux nous permet d’obtenir le tableau.
Sans trop d’étonnement, les instances créées de façon aléatoire semblent avoir des propriétés proches de
ce que l’on peut déduire des lois uniformes discrètes ayant participé à leur création. L’espérance calculée,
égale à 3, indique que les solutions de 4 services et plus sont dominées. Cela se retrouve être vrai pour les
instances testées. L’exploration de l’arbre de recherche va en effet s’arrêter à une profondeur maximale de
4. Par ailleurs, ceci pourrait expliquer la difficulté que va rencontrer notre méthode de pavage par boîtes
triangulaires sur les instances FPC. En effet, la profondeur espérée pour les instances FPC de tailles 20-60,
30-90 et 40-120 est donnée respectivement par :
60 × 50
E(M axDeep20-60 ) = = 20
150
90 × 50
E(M axDeep30-90 ) = = 30
150
120 × 50
E(M axDeep40-120 ) = = 40
150
Autrement dit, l’espérance sur la profondeur maximale prévoit que l’exploration de l’arbre de recherche
soit complète. Une vérification rapide sur la borne maximale que nous pouvons obtenir pour chaque ins-
tance nous confirme les données apportées par l’espérance. Les tailles 20-60, 30-90 et 40-120 ont respec-
tivement une borne sur la profondeur maximale de 20,30 et 40. Toutefois, nous n’avons considéré ici que
des bornes supérieures sur la profondeur maximale. L’obtention d’une borne inférieure sur la profondeur
minimale permettrait d’obtenir bien plus d’information dans le cas des instances FPC. Il n’est cependant
pas évident de borner de façon minimale la profondeur du branch and bound et ainsi prouver la difficulté de
ces instances. On peut cependant considérer des instances avec certaines particularités qui nous permettent
d’obtenir aisément une borne sur la profondeur minimale. Nous verrons cela dans la prochaine sous-section.
Cette première propriété permet de montrer l’extrême difficulté, pour notre méthode, d’un certain type
d’instance UFLP. Nous considérons dans notre cas des UFLP bi-objectifs (cette borne est facilement gé-
néralisable à plus d’objectifs) dont l’un des objectifs, que nous considérerons arbitrairement être le second
objectif, n’a pas de coût sur les services.
Proposition 3.8. Soit E l’ensemble minimal de services tel que chaque client soit attribué de façon optimale
sur le second objectif. Soit e ∈ X la solution formée par J(x).
Alors, il n’existe pas de solution x ∈ X tel que le nombre de services ouverts | J(x) | soit strictement
inférieur à | E | et tel que z(x) domine au moins faiblement z(e). Autrement dit, la profondeur minimale
du Branch and Bound sera au moins de | E |.
Preuve 3.7. Raisonnons par l’absurde. Considérons qu’il existe une solution x tel que z(x) domine au
moins faiblement z(e) . Alors sur tous les objectifs on a :
Bien entendu, on peut aussi considérer une borne sur la profondeur minimale très simple pour le CFLP.
Il suffit par exemple, dans le cas du CFLP bi-objectif, de considérer le minimum de service à ouvrir afin
d’obtenir une solution admissible. Si ce nombre est grand, on va avoir des difficultés lors du Branch and
Bound. C’est une limite dont nous avons conscience quant à notre méthode, ainsi nous ne considérons pas
de tels extrêmes lors de la génération d’instance aléatoire. Nous allons créer des instances difficiles de par
les coûts associés aux variables. Cependant, en moyenne le nombre de services nécessaires à la faisabilité
d’une solution sera fixé à 5.
3.5 Conclusion
La méthode de pavage par boîtes triangulaires que nous proposons hérite directement des principes de
la méthode de pavage par boîtes [Gandibleux et al., 2012a]. Elle va l’adapter et l’affiner en s’inspirant for-
tement des propositions faites par Fernández and Puerto [2003] et Vincent et al. [2013].
Nous avons en effet pu constater que, en général, l’utilisation d’ensembles bornants plus sophistiqué est
contre-productif. De même, les choix de branchement des variables n’ont pas offert de résultats concluants.
Une seule de nos propositions fait exception. Il s’agit de EBI1 qui obtient de bons résultats. Ainsi, nous
pouvons conclure que la force de cette méthode va reposer sur la simplicité de son exécution et des en-
sembles bornants utilisés.
On a pu constater que notre méthode va particulièrement bien résoudre les instances où le choix d’ou-
verture d’un service est important de par le coût de celui-ci. Cependant, cette force de simplicité va aussi se
trouver être sa plus grande faiblesse, comme le montrent les limites montrées sur la méthode. Des instances
plus "difficiles" comparativement aux choix et besoins des services vont se retrouver impossibles à résoudre,
même pour de petites tailles. Il est donc nécessaire de considérer une méthode de remplacement permettant
d’obtenir des résultats qui seront plus indépendants de l’instance considérée et potentiellement développer
un choix heuristique permettant d’utiliser l’une ou l’autre méthode selon les données du problème.
4
Pavage de boîtes triangulaires pour CFLP
bi-objectif
Deux premières constatations évidentes sont à présenter lorsque l’on passe de l’UFLP au CFLP. Les
méthodes dédiées utilisées pour l’initialisation de l’ensemble bornant supérieur et les méthodes dédiées uti-
lisées pour les résolutions du sous-problème d’allocation ne sont plus les mêmes. Ci-après, nous présentons
l’algorithme de Beasley [Beasley, 1988] que nous avons repris et modifié ainsi que le simplexe des réseaux
[Ahuja et al., 1993, Sedeño-Noda and González-Martın, 2000] pour lequel des modifications spécifiques au
CFLP bi-objectif ont été réalisées. Suite à cela, nous présentons les spécificités de la méthode de pavages
par boîtes triangulaires pour CFLP bi-objectif . Nous finissons par présenter les résultats expérimentaux.
91
92 CHAPITRE 4. PAVAGE DE BOÎTES TRIANGULAIRES POUR CFLP BI-OBJECTIF
Exemple 4.1. Nous allons considérer le problème FLP présenté dans le tableau 3.1 avec une demande de
20 pour chaque client et une capacité de 50 pour chaque service. Dans le tableau 4.1, nous obtenons les
différentes utilités en fonction de l’objectif 1, de l’objectif 2 et d’une pondération par λ = (0.5, 0.5).
TABLE 4.1 – Exemple des utilités obtenues pour l’objectif 1, l’objectif2 et une pondération des objectifs.
S1 S2 S3 S4 S5
Utilité OBJ1 3,3 2,52 3,88 3,7 3,92
Utilité OBJ2 3,88 3,32 2,58 2,2 2,54
Utilité λ = (0.5, 0.5) 3,59 2,92 3,23 2,95 3,23
Pour l’objectif 1, nous allons donc trier les services dans l’ordre S2, S1, S4, S3 et S5. Pour l’objectif 3,
les services sont triés dans l’ordre S4, S5, S3, S2 et S1. Pour la pondération des objectifs par λ, nous pouvons
remarquer que les utilités des services S3 et S5 sont égales. Nous faisons le même choix que lors des
choix de branchement pour l’UFLP dans la sous-section 3.2.3. Cela va permettre de trier les services dans
l’ordre S2, S4, S3, S5 et S1. Comme nous pouvons le remarquer pour cette petite instance, la pondération
des objectifs va beaucoup influer sur l’utilité obtenue. Nous espérons ainsi pouvoir mieux répondre à la
considération multi-objectif comparativement à la fonction d’utilité de Beasley [1988].
S1 S2 S3
C1 C2 C3 C4 C5 CV
du meilleur service est négative, nous allons comparer avec le service ayant la pire fonction d’utilité. Si la
valeur absolue du service ayant la pire utilité est supérieure à la valeur absolue du service ayant la meilleure
utilité négative, alors nous proposons de fixer le pire service à fermé, puis ouvert.
Il est possible que les fonctions d’utilité ne semblent pas nous indiquer une préférence pour l’ouverture
ou la fermeture des services qu’il reste à fixer. On se retrouve dans un tel cas si toutes les fonctions d’uti-
lité sont négatives ou toutes positives. Alors, nous avons pris la décision de continuer comme Beasley en
considérant le service correspondant à la plus petite utilité.
Pour rappel, dans la structure (T, L, U ), nous avons T représentant l’arbre couvrant en lui-même. Nous
avons L représentant les arcs qui ne sont pas dans l’arbre couvrant, de flot nul. Finalement, nous avons U
représentant les arcs qui ne sont pas dans l’arbre couvrant, de flot maximal, égal à la capacité de l’arc.
Nous allons choisir pour noeud racine le client virtuel. Chaque profondeur paire sera composée unique-
ment de client tandis que chaque profondeur impaire sera composée uniquement de services. Ceci se voit
directement par le fait qu’il n’y a pas d’arc reliant les services entre eux, de même pour les clients. Ainsi,
pour un service, chaque arc allant à la profondeur +1 sera dit "pointant vers le bas" (downward pointing)
ce qui signifie qu’il s’éloigne du noeud racine. Pour ce même service, chaque arc allant à la profondeur −1
sera dit "pointant vers le haut" (upward pointing) à l’inverse il se rapproche du noeud racine (voir figure 4.2
(a)).
Suite à cela, la construction de l’arbre couvrant est directe. Il suffit de considérer directement les noeuds
reliés par un flot au noeud racine et de les considérer comme successeurs et réitérer pour chaque successeur.
Il se peut que l’on obtienne une forêt si il existe un service servant des clients pour lesquels la somme de la
demande est exactement égale à la capacité du service. Cette forêt ne sera donc pas reliée au client virtuel,
aucun flot ne permettant d’y accéder. Il suffit donc de connecter ce service à n’importe quel autre client par
un arc de flot de coût nul afin de résoudre le problème (il s’agit ici d’un cas de dégénérescence). On peut
donc considérer sans perte de généralité que l’on ajoute l’arc reliant le service au client virtuel.
Ahuja et al. [1993] définissent la notion d’arbre couvrant fortement réalisable. Cette notion est impor-
tante parce qu’elle permet d’éviter les problèmes de cyclage du simplexe des réseaux en cas de dégéné-
rescence. Considérant une structure (T, L, U ), l’arbre couvrant T sera dit fortement réalisable si l’une des
deux conditions équivalentes suivantes est vérifiée.
Définition 4.1. (Arbre couvrant fortement réalisable).
1. Un arbre couvrant T sera dit fortement réalisable si chaque arc de l’ arbre couvrant avec un flot égal à
zéro est pointant vers le haut et si chaque arc avec un flot égal au maximum de sa capacité est pointant
vers le bas.
2. Un arbre couvrant T sera dit fortement réalisable si l’on peut envoyer un flot positif depuis n’importe
quel noeud jusqu’au noeud racine sans violer les capacités maximales des arcs.
Le choix de considérer le client virtuel comme noeud racine va permettre d’obtenir un arbre couvrant
fortement réalisable pour presque tous les cas. En effet, un arc à flot nul n’est possible que dans le cas de
l’existence d’une forêt. Dans ce cas, le service étant relié à un client, le flot sera montant conformément à
la définition 4.1. De plus, tous nos arcs dont le flot est maximum sont toujours descendant d’un service vers
un client (conformément à la définition 4.1) sauf pour un cas unique illustré dans la figure 4.2 image (a).
Cependant, la figure 4.2 image (b) propose un arbre couvrant équivalent, qui lui est fortement réalisable. La
seule différence se trouve avec le noeud racine qui est passé du client virtuel au seul service ayant un flot
maximal avec lui.
Les arbres couvrants étant identiques, cela n’aura pas d’impact sur les coûts réduits. On a cependant un
problème en ce qui concerne l’arc sortant si l’on suit la règle classique de choix de l’arc sortant.
Définition 4.2. (Règle de choix de l’arc sortant).
L’arc sortant sélectionné est le dernier arc bloquant rencontré lorsque l’on parcourt le cycle dans l’orien-
tation de l’arc entrant à partir de l’apex, où l’apex correspond au sommet de profondeur minimale dans le
cycle.
En effet, si l’apex est notre client virtuel cela implique que l’arc entrant est une nouvelle connexion
entre un service et le client virtuel. Dans ce cas particulier, il suffit alors de considérer l’apex comme
étant l’unique service précédemment relié au client virtuel afin de choisir l’arc sortant. Ceci correspond
exactement à la considération de l’arbre couvrant fortement réalisable de la figure 4.2 (b).
Ceci permet de ne jamais avoir à considérer l’ensemble U qui dans notre cas est donc inexistant.
4.2. SOUS-PROBLÈME D’ALLOCATION : ADAPTATION DU SIMPLEXE DES RÉSEAUX 95
CV
Max S1
S1 Max Max
Max C1 C2 CV C3
C1 C2 C3
S2 S3
S2 S3 Max Max
Max Max C4 C5
F IGURE 4.2 – Illustration d’un même arbre couvrant avec un choix différent de noeud racine.
S1 C3
C1 C3 S1 S3
S2 S3 C1 C5
C5 S2
(a) Exemple de cycle avec un service pour apex. (b) Exemple de cycle avec un client pour apex.
Donc, soit la capacité résiduelle est supérieure au flot, et nécessairement l’arc limitant sera le flot de
la variable x3,1 en orientation inverse. Soit, la capacité résiduelle est égale au flot en orientation inverse.
Cependant, on peut voir sur la figure 4.3 (a) que l’arc 31 se trouve derrière l’arc 33 si l’on considère la règle
de choix de l’arc sortant. Ainsi, on choisit l’arc 31 qui est en orientation inverse et non l’arc 33 qui est dans
l’orientation du cycle.
Cependant, lorsque l’apex se trouve être un client, cette règle de choix de l’arc sortant pose alors pro-
blème, voir figure 4.3 (b). Considérons comme précédemment le client C3. A priori, le traitement de ce
client en considération de l’apex (lui-même) devrait nous donner comme arc sortant l’arc 33 si jamais la
capacité résiduelle de l’arc 33 est égale au flot de l’arc 31. Pour rappel, le noeud racine est le client virtuel
et chaque profondeur va alterner entre client et service. Donc, le client C3 (et plus généralement tout client)
ne peut être apex que si le client C3 se voit desservi par un troisième service, plus haut dans l’arbre cou-
vrant. Le cas du client virtuel est une exception qui a été considérée précédemment. Ainsi, étant donné que
nous pouvons considérer notre arbre couvrant comme fortement réalisable, il n’est pas possible que l’arc
s’éloignant du noeud racine vers le client C3 ait un flot nul. Si nous reprenons la fin de l’équation, nous
avons donc :
du Branch and Bound ne correspond pas nécessairement à une solution admissible. Ainsi, nous allons devoir
prendre en considération cette différence qui va nous permettre d’affiner les ensembles bornants inférieurs.
Pour toutes ces raisons ainsi que des résultats préliminaires désastreux, nous avons décidé de ne pas
considérer les multiplicateurs de Lagrange des points précédents. En conclusion, seule la première propo-
sition a été considérée dans les résultats expérimentaux.
Nous avons aussi essayé de considérer, les différents tests et réductions que Beasley propose. Cepen-
dant, ceux-ci ne sont pas utilisables dans un contexte multi-objectif. En effet, même si un service est fixé
ouvert pour chaque objectif par les tests de réduction, il n’y a aucune certitude qu’il soit fixé ouvert selon
une somme pondérée de ces objectifs.
Beasley nous propose une relaxation lagrangienne qui pourrait aussi être considéré afin de former un
ensemble bornant inférieur comme proposé pour le TSP [Delmée et al., 2016]. Cette possibilité n’a, à ce
jour, pas été considérée du fait des résultats expérimentaux préliminaires. En effet, les particularités des
ensembles non-dominés nous ont fortement inclinés à considérer une méthode en deux phases qui sera pré-
sentée dans le chapitre suivant.
98 CHAPITRE 4. PAVAGE DE BOÎTES TRIANGULAIRES POUR CFLP BI-OBJECTIF
Nous avons préféré utiliser des EBI simples et courts en termes de temps de calcul. Nous allons re-
prendre ceux utilisés pour l’UFLP tout en considérant le nombre minimal de services afin d’obtenir une
solution admissible. Ainsi, si le nombre minimal de services permettant d’obtenir une solution admissible
est Smin et que l’on actuellement a k services ouverts. Alors, on peut considérer les services potentiellement
ouverts triés respectivement par ordre croissant de coût de mise en place selon l’objectif 1 (respectivement
l’objectif 2) et ajouter les coûts d’ouvertures par ordre croissant jusqu’à obtenir exactement Smin services.
Suite à cela, on résout le sous-problème d’allocation sans contrainte de capacité. Nous finissons par ob-
tenir un point utopique ou les points supportés extrêmes ce sous-problème d’allocation sans contrainte de
capacité. Un exemple est donné ci-dessous.
Exemple 4.2. Considérons un problème de CFLP bi-objectif à 5 clients et 5 services. Dans le tableau 3.1,
pour le premier objectif OBJ1, la case correspondant à la ligne C1 (client 1) et à la colonne S2 (service
2) correspond au coût d’allocation c112 . C’est exactement la même instance que pour l’UFLP, nous allons
cependant considérer pour chaque client une demande égale à 20 et pour chaque service une capacité égale
à 50. Il faut donc au minimum deux services pour obtenir une solution admissible.
TABLE 4.2 – Exemple d’instance CFLP bi-objectif à 5 services (Sj ) et 5 clients (Ci )
OBJ1 S1 S2 S3 S4 S5 OBJ2 S1 S2 S3 S4 F5
C1 10 35 47 48 33 C1 14 33 37 38 46
C2 44 42 46 8 22 C2 19 14 38 37 7
C3 42 28 28 43 36 C3 22 5 10 46 29
C4 3 48 26 48 24 C4 35 18 16 33 10
C5 35 14 39 35 34 C5 13 0 50 38 48
fj 165 126 194 185 196 fj 194 166 129 110 127
Sans initialisation de l’EBS, il est inutile de considérer utiliser des bornes sur les noeuds qui n’abou-
tissent pas à des solutions admissibles. En effet, nous n’avons pas de points réalisables pour comparer l’EBI
obtenu. Cependant, dans un souci d’illustrer ces EBI, nous allons reprendre l’exemple du noeud {3}. Ce
noeud nous permet d’obtenir le premier EBI CR = (194, 129), ce premier EBI venant de l’UFLP peut
tout de suite être amélioré en considérant le nombre minimal de services nécessaires pour obtenir une so-
lution réalisable. Ce nombre est dans notre exemple de deux. Nous pouvons donc considérer ajouter sur
chaque objectif, le coût minimal d’ouverture d’un second service. Nous obtenons un coût amélioré de
CR = (194 + min(f41 , f51 ), 192 + min(f42 , f52 ) = (379, 239).
Si il n’était hypothétiquement pas possible d’éliminer ce noeud, on pourrait calculer la version CFLP de
EBI1. Tout comme pour CR, il nous suffit de reconsidérer la méthode de calcul d’EBI1 tout en considérant
CR précédemment calculé. L’allocation optimale des clients selon l’objectif 1 aux services 3,4 et 5 nous
permet d’obtenir EBI11 = 379 + 33 + 8 + 28 + 24 + 34 = 506. L’allocation optimale des clients selon
l’objectif 2 aux services 3,4 et 5 nous permet d’obtenir EBI12 = 239 + 37 + 7 + 10 + 10 + 38 = 341. Nous
avons fait le choix de ne pas considérer la résolution exacte du sous-problème d’allocation correspondant
parce que l’utilisation du simplexe des réseaux est beaucoup plus coûteuse en temps de calcul.
Le calcul d’EBI2 est encore similaire, il nous suffit de considérer le coût CR obtenu avec le CFLP et
de mettre à jour les points obtenus suite à l’allocation des clients. Pour EBI2, nous obtenons ainsi les points
(506, 390) , (507, 380) , (521, 350) et (535, 341) et les arêtes reliant ceux-ci. Cependant, il n’est plus pos-
sible, après avoir calculé le noeud feuille et la boîte correspondante, d’améliorer ces bornes avant d’ajouter
les noeuds fils. En effet, les services sont déjà ajoutés dans les bornes que nous utilisons afin de considérer
une ouverture utopique des services nécessaires à rendre la solution admissible. Toutefois, si le nombre de
4.4. RÉSULTATS EXPÉRIMENTAUX 99
services ouverts correspond à une solution admissible, alors nécessairement il n’y a plus de services uto-
piques à considérer et la borne redevient exactement la même que celle utilisée pour l’UFLP. On peut donc
considérer la même amélioration proposée pour les noeuds fils.
Toutes les instances ont été créées de façon aléatoire en considération des générateurs présentés dans la
section 2.5. Les instances se présentent en quatre catégories :
1. Instances de Delmaire (D) [Delmaire et al., 1999].
2. Instances de Gadegaard (G) [Gadegaard, 2016].
3. Instances de Fernandez à Petit Coefficient de services (FPC) [Fernández and Puerto, 2003].
4. Instances de Fernandez à Grand Coefficient de services (FGC) [Fernández and Puerto, 2003].
Ces instances vont être produites en trois tailles distinctes :
1. 5 instances de Moyenne Taille : 20 services, 60 clients (20-60).
2. 5 instances de Grande Taille : 30 services, 90 clients (30-90).
3. 5 instances de très grande taille : 40 services, 120 clients (40-120).
Pour une catégorie d’instance, le premier objectif va ainsi correspondre à une génération indépendante
des coûts de services et d’allocation suivant la catégorie choisie. Nous avons fait le choix de créer des
objectifs qui ne sont pas corrélés. Cependant, les méthodes de génération de Delmaire et Gadegaard vont
nécessairement impliquer une corrélation positive des deux objectifs. Afin de répondre à ce problème, nous
avons fait le choix de créer le second objectif selon la catégorie FGC pour toutes les instances.
100 CHAPITRE 4. PAVAGE DE BOÎTES TRIANGULAIRES POUR CFLP BI-OBJECTIF
Nous décomposerons les expérimentations en deux parties. La première partie comparera les méthodes
d’initialisations de l’EBS. Nous commencerons par comparer CPLEX, la méthode de Beasley [1988] ORI-
GINAL ainsi que les différentes variantes et combinaisons que nous proposons (voir sous-section 4.1). Nous
comparerons ces méthodes sur notre initialisation heuristique de l’EBS, sous-section 4.4.2.
Suite à cela, nous allons comparer CPLEX à la meilleure méthode adaptée, selon les résultats obtenus
dans les expérimentations précédentes. Nous comparerons ces deux méthodes sur l’initialisation proposée
par Vincent et al. [2013] pour le problème de CFLP, voir sous-section 4.4.3.
Dans la seconde partie, nous allons comparer les impacts de l’initialisation de l’EBS et des différents
choix d’EBI sur l’exploration du Branch and Bound de la méthode de pavage par boîtes triangulaires. Les
résultats correspondent donc plus généralement au temps de calcul du pavage des points non-dominés.
Nous n’avons pas examiné les choix de branchement lors de l’exploration du branch and bound, ceux-ci
n’ayant pas permis d’obtenir des résultats probants avec l’UFLP. De plus, nous ne reviendrons pas sur
l’exploration des boîtes triangulaires calculées, les résultats étant similaires à ceux de l’UFLP. Ces résultats
sont disponibles à la sous-section 4.4.4.
La modification de l’initialisation, RATIO, offre parfois les meilleures performances pour certains types
et tailles d’instances. Nous allons donc conserver cette amélioration pour la tester dans la méthode finale
regroupant les modifications améliorantes. Cependant, l’intérêt de cette proposition va sûrement être étouffé
par le changement DICHO s’ils sont utilisés ensemble. Ceci s’explique par le changement d’initialisation
4.4. RÉSULTATS EXPÉRIMENTAUX 101
qu’apporte aussi la méthode DICHO, réutilisant les solutions admissibles connues. On peut ainsi espérer
que les instances où RATIO est moins efficace, voire contre-productif, vont être contrebalancées par DI-
CHO.
Les propositions de changement de choix de branchement donnent des résultats très mitigés. Les ré-
sultats sur les différentes tailles d’instance ne permettent pas de conclure sur l’intérêt de la proposition.
La modification apporte souvent des résultats proches de ceux de Beasley sans pour autant se démarquer
profondément. Elle semble parfois plus intéressante tout en offrant de mauvaises performances sur d’autres
types d’instances. On peut cependant avec le recul de ces résultats expliquer une partie de ces contre-
performances. Bien que l’idée de fixer à fermé des services peu intéressants semble logique, il peut y avoir
un problème si le nombre minimal de services pour obtenir une solution admissible n’a pas été atteint. En
effet, on peut imaginer facilement que cela va jouer en défaveur de la convergence vers une solution opti-
male, ou ne serait-ce admissible. Or, la borne supérieure est nécessaire pour la convergence de la méthode
de sous-gradient. La qualité de celle-ci va impacter fortement la convergence de la méthode. Les mauvais
résultats nous le confirment. Ainsi, nous proposons une légère modification de BRANCH pour permettre
de prendre justement en compte l’admissibilité de la solution. Si le nombre minimal de services a été atteint
selon les bornes de Beasley (à la fois par admissibilité, mais aussi par mise à jour des bornes) alors on va
102 CHAPITRE 4. PAVAGE DE BOÎTES TRIANGULAIRES POUR CFLP BI-OBJECTIF
permettre de fixer à fermé des services. Sans cela nous continuons d’utiliser le choix de branchement de
Beasley.
La modification du temps de convergence de la méthode des sous-gradients pour le noeud racine offre
aussi des résultats mitigés. Dans les petites tailles d’instances, la proposition LGR semble être contre-
productive. On peut supposer que les instances étant relativement faciles, ajouter du temps de convergence
n’est pas intéressant. Cependant, pour les instances de tailles plus importantes et plus particulièrement pour
les instances G, la méthode LGR offre de très bonnes performances proches des meilleures proposées. Ce-
pendant, on peut aussi noter que nous avons fait le choix de tripler ce temps de convergence, ainsi on peut
fortement mettre en doute ce choix heuristique. Nous proposons donc d’expérimenter sur une multiplication
par deux de ces temps de convergence afin de réitérer des expérimentations.
Suite à ces différentes expérimentations, nous avons donc fait des modifications aux heuristiques de
branchement et de convergence de la méthode de sous-gradient, comme proposé. Ci-après, nous étudions à
nouveau les différents résultats que ces modifications vont obtenir. De plus, nous avons pu observer de très
bons résultats pour DICHO et RATIO. Nous allons donc tenter de combiner ces différentes modifications
afin de constater si elles peuvent ou non améliorer les temps de calcul obtenus. Nous présentons ci-dessous
la signification des colonnes de données dans un souci de clarté :
— BRANCH2 : Obtention de l’initialisation heuristique de l’EBS par la méthode adaptée avec notre
seconde proposition de modification sur le branchement.
— LGR2 : Obtention de l’initialisation heuristique de l’EBS par la méthode adaptée avec notre propo-
sition de multiplier par 2 (au lien de 3) le temps de convergence de la méthode de sous-gradient.
— 2MODIF : Obtention de l’initialisation heuristique de l’EBS par la méthode adaptée avec les propo-
sitions améliorantes DICHO et RATIO.
— 3MODIF : Obtention de l’initialisation heuristique de l’EBS par la méthode adaptée avec les propo-
sitions améliorantes DICHO, RATIO, BRANCH2.
— 4MODIF : Obtention de l’initialisation heuristique de l’EBS par la méthode adaptée avec les propo-
sitions DICHO, RATIO, BRANCH2, LGR2.
Très clairement, le tableau 4.4 permet de voir que la modification du choix de branchement BRANCH2
est beaucoup plus intéressante que son prédécesseur. Ainsi, sur les tailles d’instances un peu plus grandes,
BRANCH2 permet de toujours être au moins aussi bon que le branchement de ORIGINAL et aura même
tendance à améliorer les temps de calcul. Les résultats étant majoritairement améliorants, nous allons consi-
dérer cette modification dans la version définitive de notre méthode.
À l’inverse, les résultats de la modification LGR2 sont toujours mitigés. Bien que moins prononcés que
LGR1, les performances de LGR2 sont contre-productives sur la plupart des instances, excepté les instances
FGC et G pour lesquelles les résultats sont prometteurs. Ainsi, bien qu’il soit probable que cette modifica-
tion ne soit pas considérée en fin de compte, nous allons tout de même tester la combinaison de LGR2 avec
les autres modifications avant de totalement l’éliminer.
Cela nous amène à la considération des différentes combinaisons des modifications que nous propo-
sons. Les méthodes DICHO et RATIO étant généralement fortement améliorantes, nous allons directement
considérer une version de la méthode incorporant les deux. On la retrouvera sous le nom de 2MODIF. Suite
à cela, nous allons considérer l’incorporation des choix de branchement BRANCH2. Ce choix de bran-
chement, bien qu’améliorant sur les instances de tailles 20-60 et 30-90, apporte une différence en temps
contestable. Cette méthode combinant ces trois modifications se retrouvera sous le nom de 3MODIF. Suite
aux bons résultats que 3MODIF nous apporte, nous allons essayer de rajouter la dernière modification que
nous proposons, LGR2. Malgré les résultats mitigés, on peut espérer que la combinaison aux autres modi-
fications va améliorer le comportement de la méthode aux côtés de cette modification.
TABLE 4.4 – Comparaison des secondes modifications et des différentes combinaisons. Instances de tailles
40-120
De façon similaire à LGR2, 4MODIF va présenter les meilleures performances pour les instances G de
tailles 40-120. Cependant, la méthode 2MODIF domine très clairement les méthodes 3MODIF et 4MODIF
sur les instances FPC de tailles 30-90 et 40-120.
Une question se pose quant à l’utilisation de 4MODIF pour les instances de Gadegaard. Cependant, les
performances de 4MODIF sont vraiment mauvaises comparativement à celle de 2MODIF pour les autres
instances. Au contraire, les performances de 2MODIF restent relativement bonnes (voire meilleures) com-
parativement à 4MODIF pour les instances G. Ainsi, nous prenons la décision d’utiliser 2MODIF comme
méthode de comparaison avec CPLEX et ORIGINAL.
On peut maintenant considérer à nouveau le tableau 4.3 et s’intéresser plus particulièrement aux per-
formances de 2MODIF comparativement à CPLEX et ORIGINAL. Le lecteur intéressé pourra aussi aller
consulter le tableau B.1 et le tableau B.3 pour les instances de tailles 20-60 et 30-90. Nous pouvons être
agréablement surpris de constater que 2MODIF semble être la méthode la plus intéressante pour les ins-
tances G de taille 20-60, toutes méthodes confondues. De même, 2MODIF reste majoritairement dominante
sur les instances FPC, FGC et G de taille 30-90. Sur les instances de taille 40-120, 2MODIF semble la mé-
thode la plus intéressante sur un bon nombre d’instances, toutes méthodes confondues.
Par ailleurs, lorsque 2MODIF n’obtient pas les meilleurs résultats, toutes méthodes confondues, ses
performances restent proches de la meilleure. On peut ainsi constater que 2MODIF se trouve en général à
moins de 10% supplémentaire de temps de calcul comparativement à la meilleure méthode. Le lecteur avisé
peut remarquer que l’instance G2 fait exception à la règle, avec des performances excellentes de CPLEX.
On peut tout de même conclure que 2MODIF permet de proposer un bon compromis et une bonne combi-
naison des différents réglages que nous proposons. 2MODIF va ainsi permettre d’avoir de bons résultats de
façon stable sans avoir besoin d’une heuristique supplémentaire nécessaire. L’utilisation de 2MODIF per-
met ainsi d’échapper à la décision heuristique des modifications améliorantes à considérer pour une instance
donnée. Dans la suite de ce manuscrit, nous considérerons donc notre méthode 2MODIF pour la résolution
des instances CFLP mono-objectifs.
Nous avons remarqué que CPLEX et 2MODIF ont des résultats assez proche pour certaines instances du
tableau 4.3. Bien que 2MODIF soit en général meilleur, on peut se poser la question des performances obte-
nues non pas sur notre heuristique d’initialisation de l’EBS, mais sur l’initialisation de Vincent et al. [2013].
Le tableau 4.5 va présenter les résultats obtenus. Par ailleurs, on peut remarquer que ces résultats vont aussi
permettre de comparer les performances de l’initialisation de Vincent et al. [2013] comparativement à notre
heuristique.
Les résultats que nous présente le tableau 4.5 confirment ceux obtenus précédemment. Si l’on considère
les instances FGC3 et G4 de tailles 20-60 ainsi que les instances FGC3 et G1,G2 de tailles 30-90, CPLEX
présente de meilleurs résultats. Dans tous les autres cas, 2MODIF domine clairement CPLEX sur les autres
instances de toutes tailles. Le moins bon ratio CPLEX/2MODIF est aux alentours de 1 pour les instances
FGC et G de toutes tailles tandis qu’il monte jusqu’à 10 pour les instances D et FPC de tailles 40-120.
Un autre constat qu’il est possible de faire se situe quant à la difficulté de calculer l’initialisation de
Vincent et al. [2013] comparativement à notre heuristique d’initialisation de l’EBS. En effet, pour les ins-
tances de tailles 40-120 on peut remarquer des ratios allant de 4 à 20 fois plus de temps nécessaire au calcul
de l’initialisation de Vincent et al. [2013]. Les ratios sont tout aussi importants pour les instances de tailles
20-60 et 30-90. Cependant, on peut remarquer des différences quant aux nombres de services obtenus.
Ainsi, contrairement à l’UFLP, nous avons une légère perte de la qualité de l’EBS obtenu.
4.4. RÉSULTATS EXPÉRIMENTAUX 105
Les résultats que nous obtenons sont très similaires à ceux obtenus pour l’UFLP. Pour les instances
de petite taille, les idées que nous proposions semblent intéressantes, mais le temps de calcul nécessaire
à leur obtention va rendre la méthode résultante moins efficace. Ainsi, pour les instances de tailles 20-
60 du tableau B.5, l’initialisation de l’EBS et l’utilisation des EBI sont contre-productives. Cependant,
lorsque l’on monte en taille et en difficulté, il ne va plus être possible de résoudre certaines instances sans
l’initialisation de l’EBS. C’est particulièrement vrai dans le tableau 4.6 des instances de tailles 30-90 où les
instances FGC ne sont résolues qu’avec l’initialisation de l’EBS. Celui-ci apportera généralement de très
grandes améliorations sur le temps total de la méthode. Les ensembles bornants inférieurs EBI1 et EBI2
se comporte tout comme pour l’UFLP et il n’est possible de conclure que sur EBI1 qui semble améliorant
106 CHAPITRE 4. PAVAGE DE BOÎTES TRIANGULAIRES POUR CFLP BI-OBJECTIF
TABLE 4.6 – Comparaison des différentes heuristiques proposées sur le Branch and Bound. Instances de
taille 30-90.
30-90 Nbr Box Calculées / Temps en secondes
BASE +EBS EBI1 +EBS EBI2 +EBS
D0 591706 102.51 299694 26.01 305621 24.45 182945 9.41 134135 21.14 135784 13.53
D1 444395 104.76 219287 31.74 227017 27.33 162684 13.84 59383 10.64 62062 7.84
D2 383176 60.25 188878 15.80 214584 18.94 156671 9.58 84614 12.69 85383 8.19
D3 229673 47.60 176803 23.24 163015 18.56 132802 11.55 61096 9.33 60999 7.89
D4 436941 112.86 215460 33.28 254644 38.58 168991 16.89 95384 17.61 97121 11.70
FPC0 No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data
FPC1 No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data
FPC2 No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data
FPC3 No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data
FPC4 No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data No Data
FGC0 No Data No Data 2491429 1772.74 No Data No Data 1738555 861.51 No Data No Data 879428 288.43
FGC1 No Data No Data 3095029 2805.24 No Data No Data 2483818 1817.34 No Data No Data 1398503 655.21
FGC2 No Data No Data 1318019 366.10 No Data No Data 925042 169.50 No Data No Data 743492 164.29
FGC3 No Data No Data 2519549 1589.23 No Data No Data 1820921 790.39 No Data No Data 1452896 620.30
FGC4 No Data No Data 2646618 2033.68 No Data No Data 1909161 1096.67 No Data No Data 944053 310.19
G0 992314 196.44 924420 173.12 909506 167.73 842422 146.13 783763 156.95 777676 146.99
G1 1306755 388.84 1141299 268.52 1141118 306.54 1004534 219.33 947774 293.82 943957 229.90
G2 739231 82.13 695026 73.91 600766 53.38 561247 46.96 508042 57.50 527099 61.32
G3 838152 132.81 787133 121.77 705298 91.88 659753 80.14 602030 87.98 641473 96.03
G4 664693 63.83 613032 52.15 555717 44.91 508626 37.67 441941 46.37 438754 45.48
Comme précisé précédemment, nous ne présenterons pas l’exploration du pavage des boîtes triangu-
laires obtenues suite à l’exploration du Branch and Bound. Les résultats sont très similaires à ceux de
l’UFLP. Nous avons pris la décision de faire l’exploration à l’aide de la recherche dichotomique avec fil-
trage intermédiaire, sans oublier l’amélioration précisée dans la sous-section 4.3.3.
4.5 Conclusion
Le problème de localisation de services avec capacité est bien plus difficile à résoudre que son homo-
logue sans capacité. La méthode que nous avons proposée semble s’essouffler malgré des résultats corrects
pour les instances correspondant à sa zone de facilité. Cependant, si l’on considère le nombre de services
(nécessaires à l’admissibilité d’une solution) relativement élevé, nous pouvons directement deviner que
notre méthode ne fonctionnera pas.
Par ailleurs, après analyse des résultats sur les différentes instances, nous nous sommes rendu compte
que les ensembles non-dominés semblent avoir beaucoup de points supportés. Mettre au point une méthode
en deux phases intégrant certains des éléments proposés dans ce chapitre semble donc prometteur.
5
Méthode en deux phases pour CFLP et UFLP
bi-objectif
Dans ce chapitre, nous présentons dans une première section notre méthode en deux phases pour CFLP
bi-objectif. Dans une seconde section, nous présentons la méthode en deux phases pour UFLP bi-objectif.
Cette configuration inversée s’explique par la chronologie de nos recherches effectuées durant la thèse.
Pour le CFLP, l’utilisation d’une méthodologie en deux phases est apparue évidente. En effet, les en-
sembles non-dominés semblent avoir beaucoup de points supportés. La méthode en deux phases est donc
un candidat adéquat pour la résolution exacte du CFLP bi-objectif. Nous proposons deux stratégies d’ex-
ploration des zones de recherche de la seconde phase.
Pour l’UFLP, les bons résultats du CFLP ainsi qu’une considération plus mono-objectif de la seconde
phase nous ont permis de cibler les changements permettant d’obtenir une méthode en deux phases sur la
base de DUALOC [Erlenkotter, 1978].
Pour le calcul de la première phase selon l’initialisation de Vincent et al. [2013], nous pouvons nous
référer au premier chapitre, sous-section 1.7.3. Cependant, nous devons aussi considérer le calcul de la
première phase selon le sous-ensemble de points supportés extrêmes obtenus avec notre initialisation heu-
ristique, voir sous-section 3.2.1. Une fois les points supportés obtenus, nous résolvons les sous-problèmes
d’allocation associés à chaque ensemble de services ouverts. Cependant, notre critère d’arrêt ne permet pas
d’assurer l’obtention de tous les points supportés extrêmes.
On peut commencer par remarquer deux cas de figure. Soit deux points supportés extrêmes consécutifs.
Si ces deux points ont des ensembles de services ouverts différents, alors la recherche dichotomique n’a pas
utilisé notre critère d’arrêt. Nous pouvons directement réutiliser l’ensemble de points délimitant comme
proposé par Vincent et al. [2013].
107
108 CHAPITRE 5. MÉTHODE EN DEUX PHASES POUR CFLP ET UFLP BI-OBJECTIF
Autrement, ces deux points ont des ensembles de services ouverts égaux. La recherche dichotomique a
utilisé notre critère d’arrêt. Nous sommes dans un cas similaire aux méthodes de Lemesre et al. [2007b,a]
où nous allons donc devoir considérer des zones de recherche rectangulaires. Ces zones de recherche sont
rectangulaire car nous n’avons pas pu prouver qu’il n’existe pas de points réalisables au delà des deux points
consécutifs G et D délimitant la zone de recherche. La figure 5.1 permet d’illustrer cela.
z2 z2 z2
G ZdR 1 G
• • • •
ZdR 1
ZdR 1
ZdR 2 ZdR 2
• • • • •
D D •
ZdR 2
• • •
• et — Nadirs locaux z1 • et — Nadirs locaux z1 • et — Nadirs locaux z1
(a) Exemple de ZdR obtenues avec (b) Exemple de ZdR obtenues avec (c) Exemple de ZdR obtenues avec
notre critère d’arrêt supplémentaire notre critère d’arrêt supplémentaire notre critère d’arrêt supplémentaire
dans le contexte BOCO. sans résolution des BOLP. et résolution des BOLP.
F IGURE 5.1 – Illustration des différences qu’apporte le calcul de la première phase sur les zones de re-
cherche et la mise à jour de celle-ci.
Cependant, nous devons remarquer une différence importante à considérer. Ainsi, les deux points consé-
cutifs sont reliés par une arête de points potentiellement non-dominés. Ainsi, nous sommes plus exactement
en présence de zones de recherche triangulaires inversées, comme illustré par la figure 5.1 (b). Cependant,
afin de simplifier l’appellation et la différence entre les zones de recherche nous continuerons d’utiliser le
terme rectangulaire.
On peut commencer par remarquer que EXPLO, tout comme la méthode de Beasley [1988], va consi-
dérer un ensemble de contraintes tabou déterminé par les ensembles de services ouverts obtenus dans les
solutions admissibles trouvées. Cet ensemble est initialement vide et l’on y rajoute les ensembles de services
ouverts des solutions admissibles obtenues. On peut remarquer que l’exploration des zones de recherches
se situe après l’obtention des points (ou d’un sous-ensemble de points) supportés extrêmes. Il est donc
possible de considérer les ensembles de services ouverts des solutions correspondantes et de les ajouter, à
l’initialisation même de la méthode. Dans la suite, nous allons donc initialiser la liste de contraintes tabou
d’EXPLO en y ajoutant tous les ensembles de services ouverts de solutions déjà obtenues.
5.2. SECONDE PHASE POUR CFLP : EXPLORATION DES ZONES DE RECHERCHE 109
De façon similaire aux méthodes de ranking, nous allons devoir considérer un problème pondéré en
fonction de la zone de recherche. Soit G et D les deux points supportés extrêmes consécutifs délimitant
une zone de recherche. Nous pouvons calculer λ, le vecteur de poids orthogonal à la droite passant par G
et D. Le problème d’exploration pondéré PE (λ) est défini comme la somme pondérée par λ du problème
de CFLP auquel on a ajouté pour chaque ensemble de services ouverts de chaque solution admissible, une
contrainte tabou.
Nous allons énumérer les solutions optimales de chaque sous-problème d’allocation pondéré par λ
(SPAλ). Vu qu’il s’agit d’un ensemble discret de points, on peut les classer par valeur pondérée. Ainsi,
dans une zone de recherche triangulaire si on considère G et D comme étant respectivement les premiers
et seconds meilleurs points, la résolution optimale du problème PE (λ) permet d’obtenir le 3ème meilleur
point en considérant les optimaux de chaque SPAλ.
Dans une zone de recherche rectangulaire, la résolution à l’optimalité de PE (λ) permet soit d’obtenir
le meilleur point, en considérant les optimaux de chaque SPAλ. Soit d’obtenir le second meilleur point, en
considérant les optimaux de chaque SPAλ. Si le point obtenu est le second meilleur point, cela permet de
prouver que le point optimale correspond au sous-problème d’allocation associé à l’ensemble de services
ouverts des points G et D.
- - - Borne sup de PE (λ) avec 2MODIF - - - Borne sup de PE (λ) avec 2MODIF
z2 z2
•
•
•
•
z1 z1
(a) Initialisation de la borne supérieure de PE (λ) (b) Initialisation de la borne supérieure de PE (λ)
avec l’utilisation de 2MODIF. Zone de recherche rec- avec l’utilisation de 2MODIF. Zone de recherche tri-
tangulaire. angulaire.
F IGURE 5.2 – Illustration de l’impossibilité d’utiliser 2MODIF et son initialisation de la borne supérieure
lors de l’exploration des zones de recherche.
Cependant, pour EXPLO, il n’est pas possible d’initialiser la borne supérieure des méthodes de réso-
lutions de PE (λ) comme le fait 2MODIF. En effet, dans 2MODIF le point réalisable obtenu correspond
à l’optimal des SPAλ des ensembles de services ouverts déjà calculés. Ces services se retrouvent dans la
liste de contraintes tabou de PE (λ). L’initialisation de 2MODIF va ainsi proposer une borne supérieure
surestimée pour EXPLO. Les figures 5.2 (a) et (b) permettent d’illustrer de simples exemples pour le cas
des zones de recherche rectangulaires et triangulaires. Ainsi, très clairement la borne supérieure calculée va
empêcher l’exploration de la zone de recherche.
Lors de l’initialisation de la borne supérieure de PE (λ), nous allons donc devoir considérer les points
délimitants de la zone de recherche. Soit P L l’ensemble des points délimitant d’une zone de recherche.
La borne supérieur de PE (λ) est définie par β = maxy∈P L λ> y. On peut considérer β comme le pire
point réalisable, ou le pire nadir local selon la somme pondérée par λ. Cela permet d’être certain que l’on
explorera la totalité de la zone de recherche. La figure 5.3 permet d’illustrer les β obtenus dans le cadre
d’une zone de recherche rectangulaire et d’une zone de recherche triangulaire. Dans la suite, nous allons
110 CHAPITRE 5. MÉTHODE EN DEUX PHASES POUR CFLP ET UFLP BI-OBJECTIF
•
D D
•
z1
z1
(a) Initialisation de l’initialisation de la borne supé-
(b) Initialisation de la borne supérieure de PE (λ) en
rieure de PE (λ) en considérant β. Zone de recherche
considérant β. Zone de recherche triangulaire.
rectangulaire.
F IGURE 5.3 – Illustration de l’initialisation de la borne supérieure de PE (λ) en considérant β lors de l’ex-
ploration des zones de recherche.
Considérons γ la borne inférieure d’un noeud de l’arbre de recherche d’EXPLO. Il est bien entendu
possible de considérer dans l’espace des objectifs, la droite correspondant à cette borne inférieure. La droite
d’équation λ> (x, y) = γ correspond à son homologue EBI dans le contexte bi-objectif. Cependant cette
borne n’est pas de très bonne qualité et ne permet pas nécessairement de conclure efficacement sur l’intérêt
de la solution vis à vis de la zone de recherche. La figure 5.4 permet d’illustrer cela simplement par des
exemples qui ne reflètent pas la réalité, mais reflètent le problème rencontré.
Dans les figure 5.4 (a) et (b), nous avons clairement γ < β. Cependant, on peut voir que le point
correspondant à la borne inférieure γ est potentiellement non-dominé dans la ZdR de la figure 5.4 (a) tandis
qu’il est faiblement dominé par un point supportés extrêmes de la figure 5.4 (b). Nous allons donc être
obligé de considérer la solution correspondante alors qu’elle est dominé pour le problème bi-objectif.
Dans les figures 5.4 (c) et (d), nous avons clairement γ > β. Très clairement, le point ne va pas être
intéressant pour le problème PE (λ). Dans la figure 5.4 (c), le point obtenu est dominé, il n’y aurait aucun
intérêt à le considérer. Cependant, il est possible comme dans la figure 5.4 que ce point soit potentiellement
non-dominé dans une autre zone de recherche. Ainsi, nous ne pouvons pas ajouter l’ensemble de services
ouverts de la solution correspondante à la contrainte tabou, tout en éliminant la solution. Nous ne pouvons
que déduire que cette solution n’est pas intéressante pour PE (λ).
5.2. SECONDE PHASE POUR CFLP : EXPLORATION DES ZONES DE RECHERCHE 111
• •
z1 z1
(a) Exemple où γ < β et le nouveau point obtenu est (b) Exemple où γ < β et le nouveau point obtenu est
potentiellement non-dominé. dominé.
z2 z2
• •
•
New Point
ZdR ZdR
• •
•
New Point
• •
Nadir Locaux z1 Nadir Locaux z1
(c) Exemple où γ > β et le nouveau point obtenu est (d) Exemple où γ < β et le nouveau point obtenu est
dominé. potentiellement non-dominé.
Ainsi, nous proposons d’utiliser d’autres ensembles bornants inférieurs qui vont mieux prendre en
compte le côté bi-objectif des zones de recherche. Nous avons commencé par nous intéresser à la borne
inférieure obtenue par la relaxation lagrangienne. Si λ est normé, il est en effet possible de considérer les
multiplicateurs de Lagrange pour chaque objectifs en réutilisant directement ceux de PE (λ) Delmée et al.
[2016]. Nous avons ainsi exploré l’idée de considérer le point idéal de la relaxation lagrangienne du pro-
blème d’exploration puis (si nécessaire) de résoudre la relaxation convexe de de la relaxation lagrangienne
du problème d’exploration. Cependant, on peut remarquer que les contraintes tabou sont relâché et pénali-
sées dans l’objectif aux côtés de leur multiplicateur de Lagrange. Si l’on cherche à obtenir le point idéal, en
résolvant la relaxation lagrangienne selon l’objectif 1 et respectivement selon l’objectif 2, alors nous allons
converger vers la seconde meilleure solution selon l’objectif 1 et respectivement vers la seconde meilleure
solution selon l’objectif 2. Ainsi, pour une zone de recherche quelconque, l’obtention de cet EBI grâce à la
relaxation lagrangienne va être de très mauvaise qualité.
Devant cette constatation, nous avons fait le choix de reporter le travail d’élimination des noeuds lors
du calcul d’une solution admissible. Ainsi, lors du calcul d’une solution admissible, si le point obtenu se
trouve dans la zone de recherche, nous allons définir que c’est un point est intéressant. Nous rajoutons ce
point dans notre liste de solution à considérer et nous ajoutons l’ensemble de services correspondant à la
liste tabou. Autrement, nous avons deux cas à considérer selon la valeur pondérée par λ du point correspon-
dant. Plus généralement, nous allons définir comme intéressant tout point qui n’a pas pu être coupé lors de
l’exploration de l’arbre de recherche du branch and bound. L’ensemble des points intéressants sera noté P I.
Soit y ∗ le nouveau point réalisable obtenu et γ ∗ = λ> y ∗ la valeur correspondante dans PE (λ). Si le
point est dans la zone de recherche, bien entendu nous le considérons directement intéressant. Il est ajouté
à un ensemble P I de point intéressant et l’ensemble de services ouverts de la solution correspondante est
ajoutée à la liste de contraintes tabou.
Si γ < β et que le point est en dehors de la zone de recherche alors nous calculons les points lexi-
cographiques correspondant au sous-problème d’allocation CFLP de la solution obtenue (voir figure 5.5
(a)).
Si nous ne pouvons pas éliminer par dominance le point et le sous-problème d’allocation correspondant,
alors il est considéré intéressant et nous la mettons de côté. Que le sous-problème d’allocation soit dominé
5.2. SECONDE PHASE POUR CFLP : EXPLORATION DES ZONES DE RECHERCHE 113
ou non, l’ensemble de services ouverts y correspondant est ajouté à la liste tabou afin que la solution ne soit
pas recalculée.
Sinon, nous avons γ > β alors le point est en dehors de la zone de recherche. De plus, elle n’est clai-
rement pas intéressante pour PE (λ). Cependant, il n’est pas possible de conclure si le point est dominé ou
non, comme l’illustre les figure 5.4 (c) et (d). Nous ne faisons rien de particulier et ne rajoutons pas la so-
lution à la liste tabou. Ainsi, si le point correspondant est non-dominé (voir figure 5.4 (d)), il sera recalculé
dans la zone de recherche correspondante.
Par ailleurs, nous avons fait le choix de ne pas considérer les points supportés extrêmes du sous-
problèmes d’allocation. En effet, les expérimentations réalisées dans le chapitre précédent, section 4.4 ont
montré que le calcul de EBI2 est (en général) très coûteux dans la méthode de pavage par boîtes triangu-
laires.
Soit PEi (λ) le problème PE (λ) de la i-ème itération. A la fin de la première itération, nous nous re-
trouvons donc avec la solution optimale xλ de PE1 (λ). Cette solution est la meilleure solution de tous les
SPAλ selon le λ correspondant à la zone de recherche actuelle. Cette nouvelle solution nous permet de
considérer un nouvel ensemble de services ouverts. Nous pouvons résoudre le sous-problème d’allocation
correspondant et mettre à jour les points délimitants de la zone de recherche.
z2 z2
• •
• •
ZdR • •• ZdR •
λ
x
• •
z1 z1
(a) Première itération : obtention de l’optimal de (b) Après filtrage par dominance et mise à jour des
PE (λ). On ajoute en plus les points intéressants ob- points délimitants, la zone de recherche a nettement
tenus. On résout les SPA correspondants. diminué en surface.
F IGURE 5.6 – Illustration de la réutilisation des points intéressants entre deux itérations de la première
stratégie d’exploration.
Cependant, nous avons parlé dans la sous-section 5.2.1 d’un ensemble P I de points intéressants et des
ensembles de services ouverts correspondant. Ces points intéressants et les sous-problèmes d’allocation
114 CHAPITRE 5. MÉTHODE EN DEUX PHASES POUR CFLP ET UFLP BI-OBJECTIF
correspondant n’ont pas pu être prouvé en dehors de la zone de recherche. Il est donc possible de mettre à
profit l’obtention de ces solutions en résolvant pour chaque point intéressant le sous-problèmes d’allocation
correspondant. Après filtrage par dominance des points et arêtes obtenus, nous pouvons espérer avoir amé-
lioré de façon importantes la délimitation (par l’ensemble P L de points délimitant) de la zone de recherche.
La figure 5.6 permet d’illustrer l’intérêt de la liste de points intéressant. Sur la figure 5.6 (a), la première
itération a permis d’obtenir le point optimale et 3 autres points intéressant. On peut remarquer que deux
points et les sous-problèmes d’allocation associés vont au final être prouvé dominé. On peut donc discuter
de l’intérêt d’avoir gardé ces deux points. Cependant, si l’on ne gardait pas en mémoire ces points inté-
ressants finalement dominés, il faudrait certainement chercher à les retrouver aux itérations suivantes. De
plus, la mise à jours des points délimitants de la zone de recherche à l’aide des points permet d’améliorer
significativement la taille de la zone de recherche. Le prochain β sera de bien meilleure qualité.
Suite à cela, nous avons mis à profit tout l’effort de calcul de la première itération, nous pouvons com-
mencer l’itération suivante. A chaque nouvelle itération, nous considérons un nouveau problème d’explo-
ration pondéré PE2 (λ) où l’ensemble de contrainte tabou est mis à jour en considérant tous les ensembles de
services ouverts que nous avons traité aux itérations précédentes. C’est à dire, les ensembles de services ou-
verts des solutions intéressantes, et des solutions dominés. On peut espérer que l’ajout de nouveaux points
et arêtes réalisables ont permis de mettre à jour l’ensemble de points délimitant, ainsi nous recalculons
β = maxy∈P L λ> y. Suite à cela, nous relançons la méthode EXPLO.
Les itérations cessent lorsqu’il n’est plus possible d’obtenir une solution admissible pour β donné ou
que toutes les solutions admissibles ont été prouvé en dehors de la zone de recherche. On peut faire quelques
remarques supplémentaires sur cette première stratégie d’exploration.
On peut commencer par remarquer qu’il est donc possible de trouver, durant la première itération, toutes
les solutions correspondant à des points à l’intérieure de la zone de recherche. Ou une partie de ces solu-
tions là. Plus généralement, si l’on considère l’itération i et le problème PEi (λ) correspondant, la solution
optimale de PEi (λ) correspond à la k-ème meilleure solution de PE1 (λ) qui n’a pas encore été trouvée par
optimalité ou trouvé dans l’ensemble P I de points intéressants.
A l’inverse, il est possible que nous soyons malchanceux et que la k-ème itération correspondent à
l’obtention de la k-meilleure solution de PE1 (λ). La figure 5.7 permet d’illustrer un tel cas. La première
itération, illustré par la figure 5.7 (a), ne permet d’obtenir que l’optimal du problème PE1 (λ). De même pour
les figures 5.7 (b), (c) et (d) où les problèmes PEi (λ), i ∈ {2, 3, 4} ne permettent d’obtenir respectivement
qu’un seul point, le point optimal de chaque problème.
On peut comprendre que si la convergence de la méthode des sous-gradients est efficace, la borne supé-
rieure correspondant à la meilleure solution obtenue dans EXPLO va être de très bonne qualité. Il est même
possible que la solution optimale soit prouvée avant de commencer l’exploration de l’arbre de recherche.
Cela va impliquer que nous allons potentiellement couper les noeuds de l’arbre de recherche correspon-
dant aux k meilleures solutions des SPAλ que nous cherchons à obtenir. À cause de cela, il va donc être
nécessaire de commencer de nouvelles itérations et donc de recommencer le processus de convergence des
multiplicateurs de Lagrange en considérant la liste de contraintes tabou mise à jour.
Cependant, la première stratégie comme nous le proposons est très coûteux. A chaque itération, de mul-
tiples sous-problèmes d’allocation sont résolus et de multiples points et arêtes sont filtrés par dominance.
De plus, les utilisation consécutives de EXPLO impliquent que nous devons réinitialiser le processus de
convergence des multiplicateurs de Lagrange après chaque preuve et obtention d’une kième meilleure so-
lution. Le processus résultant est très coûteux en temps de calcul.
Ainsi, nous proposons des modifications permettant de procéder à une énumération complète sans ré-
5.2. SECONDE PHASE POUR CFLP : EXPLORATION DES ZONES DE RECHERCHE 115
z2 z2
• •
ZdR • ZdR ••
• •
z1 z1
(a) Première itération : obtention du premier meilleur (b) Seconde itération : obtention du second meilleur
point. Mise à jour de la zone de recherche et des point. Mise à jour de la zone de recherche et des
bornes mono-objectif. bornes mono-objectif.
z2 z2
• •
•
ZdR • • ZdR •
• •
z1 z1
(c) Troisième itération : obtention du troisième (d) Quatrième itération : obtention du quatrième
meilleur point. Mise à jour de la zone de recherche et meilleur point. Mise à jour de la zone de recherche
des bornes mono-objectif : Second point supprimé. et des bornes mono-objectif.
F IGURE 5.7 – Illustration de l’inefficacité que peut rencontrer cette première stratégie d’exploration.
116 CHAPITRE 5. MÉTHODE EN DEUX PHASES POUR CFLP ET UFLP BI-OBJECTIF
• • •
• •
• • •
• •
ZdR ZdR ZdR
• • •
Nadirs locaux z1 Nadirs locaux z1 Nadirs locaux z1
(a) Obtention de nouveaux points (b) La mise à jour de la borne supé- (c) Dans cet exemple, il n’y a pas
et mise à jour de la zone de re- rieure permet l’énumération com- de nadirs locaux, mais on peut
cherche et des nadirs locaux. plète de la zone de recherche. considérer des points réalisables.
F IGURE 5.8 – Illustration de la mise à jour de la borne supérieure du problème d’exploration pondéré par λ
La différence que nous proposons est donc simple et va se situer dans la méthode d’obtention des k-
meilleures solution. Ainsi, la borne supérieure du problème d’exploration pondéré par λ est mise à jour non
plus en fonction de la meilleure solution trouvée, mais en fonction des points nadirs locaux. Cela va ce-
pendant demander de considérer une liste de nadirs locaux, mis à jour dynamiquement durant la recherche.
Nous devons considérer la borne supérieure du problème d’exploration pondéré par λ la plus grande/serrée
possible, tout en assurant l’énumération complète des points potentiellement non-dominés de la zone de
recherche. La figure 5.8 permet d’illustrer le principe de mise à jour de la borne supérieur du problème
d’exploration pondéré par λ en fonction de l’obtention de nouveaux points. On peut remarquer que cela im-
plique que la borne supérieur du problème d’exploration pondéré par λ va intersecter la zone de recherche
en un nombre de points fini. Ces points sont nécessairement des points réalisables ou des nadirs locaux.
Sinon, cela implique nécessairement que l’on va potentiellement manquer l’énumération de points,
comme l’illustre la figure 5.9 (b).
A mise à jour près des bornes, la seconde stratégie que nous proposons revient donc à une énumération
complète de toutes les solutions se trouvant entre la borne inférieure selon λ de notre zone de recherche
et la borne supérieure selon λ. Cela ressemble donc fortement à la méthode "Near Shortest Path" et "Near
Shortest Path Dijkstra" [Raith and Ehrgott, 2009] où les auteurs vont utiliser une méthode pour calculer
tous les plus courts chemin dans un interval donné.
5.3. RÉSULTATS EXPÉRIMENTAUX 117
• •
• •
• •
• •
z1 z1
(a) Obtention de nouveaux points et mise à jour des (b) La mise à jour de la borne supérieure empêche
nadirs locaux. l’énumération complète de la zone de recherche.
F IGURE 5.9 – La mise à jour de la borne supérieure dans le cas d’une zone de recherche rectangulaire
empêche nécessairement l’énumération complète de la zone de recherche.
Cependant, cette seconde stratégie présente un désavantage évident. Cette méthode d’énumération pro-
duit davantage de solutions dominées. Elles auraient pu être éliminées avec l’ajout d’information de la
première stratégie. Cependant, l’intérêt de cette méthode réside dans la simplicité et la rapidité des calculs
de ces solutions. On peut donc espérer que le temps perdu à obtenir des solutions dominées reste moins
important que le temps utilisé à calculer les points réalisables nécessaire à leur suppression. On peut aussi
remarquer que si le nombre de solutions augmentent, alors nécessairement le nombre de sous-problèmes
d’allocation à résoudre va lui aussi augmenter. Cependant, à l’instar de la méthode de pavage par boîtes tri-
angulaires, une méthode dichotomique avec filtrage intermédiaire permet de rapidement éliminer les points
dominés.
TABLE 5.1 – Comparaison des différentes secondes phases proposées sur instances de taille 40-120.
calculées identique et petit. Considérant tout cela, on peut une nouvelle fois mettre en doute les perfor-
mances de la machine et le manque de régularité dans les temps que celle-ci obtient. Ainsi, il semble plus
logique de considérer des performances équivalentes. Cette remarque est aussi valable pour les instances
où la méthode par énumération directe est plus rapide de seulement quelques millisecondes. Les aléas de
la machine semblent apporter des différences de l’ordre de 2-3 millisecondes. On peut cependant espérer
une réelle différence en performances lorsque la différence en temps est supérieure à une dizaine, plusieurs
dizaines, de millisecondes.
Par contre, on peut remarquer que les résultats sur le nombre de solutions obtenues ont tendance à être
contre-intuitifs. En effet, la méthode énumérative va donc chercher à directement considérer toutes les so-
lutions sans calculer d’information. Ainsi, elle va parfois présenter de meilleurs résultats et calculer moins
de solutions. On s’attendait en toute logique à des résultats inverses, l’ajout d’information permettant de
couper plus de noeuds et ainsi de calculer moins de solutions. Cependant, la méthode avec calcul et ajout
d’information va nécessairement calculer plus de solutions afin de, justement, ajouter de l’information.
C’est donc un premier point en défaveur de cette méthode. Secondement, on ne peut prouver la complétion
de la méthode avec un seul lancement. Celle-ci est donc utilisée à plusieurs reprises en considérant le cal-
cul et ajout d’information entre chaque utilisation. Ainsi, pour toutes ces raisons, le nombre de solutions
obtenues et calculées va être en général plus important pour la méthode avec calcul d’information. L’utili-
sation de logiciel d’analyse de performances permet aussi de montrer que le temps d’exécution de ces deux
méthodes va être très lié au temps d’exécution du simplex network. Or, il semble être beaucoup plus utilisé
dans la méthode avec calcul d’information. Cela explique les différences en temps en faveur de ENUM.
5.4. CONCLUSION 119
5.4 Conclusion
La méthode en deux phases que nous proposons obtient des performances bien meilleures comparati-
vement aux algorithmes génériques. De façon surprenante, les résultats montrent qu’une considération plus
mono-objectif de la seconde phase d’exploration (que l’on retrouve dans les travaux de Visée et al. [1998])
va permettre d’obtenir dans notre cas de meilleurs résultats.
On peut cependant faire une remarque importante. La considération des méthodes en deux phases ré-
centes ne nous avait pas permis de considérer une méthode en deux phases adéquate pour l’UFLP. En
effet, il nous paraissait difficile de considérer de façon bi-objectif l’algorithme DUALOC qui se base très
fortement sur le problème dual à l’UFLP. Ce n’était pas le cas avec Beasley qui utilise la relaxation la-
grangienne, réutilisable dans le contexte bi-objectif. La considération d’algorithme d’énumération mono-
objectif, semble donner de bons résultats et nous permet de considérer la modification et réutilisation de
DUALOC pour l’exploration énumérative des zones de recherches de la seconde phase. Ci-après, nous
allons donc présenter et évaluer cette possibilité.
Ensemble bornant supérieur de la seconde phase : La borne supérieure que nous allons considérer
avec DUALOC consistera en la valeur mono-objectif du pire nadir local selon le vecteur de poids λ, où le
pire point réalisable s’il n’y a pas de nadir local. Cette borne supérieure ne sera mise à jour qu’à l’occasion
de la mise à jour des nadirs locaux.
Ensemble bornant inférieur de la seconde phase : Nous allons considérer la seconde phase de la mé-
thode de façon très mono-objectif, tout comme la seconde stratégie d’exploration que nous avons proposée
pour le CFLP. Ainsi, l’EBI que nous allons considérer va être obtenue par le dual de la relaxation linéaire
du problème pondérée selon le vecteur de poids λ. Cette borne inférieure dans DUALOC va donc corres-
pondre à une droite dans l’espace des objectifs. Contrairement au CFLP où nous avons cherché à calculer le
point correspondant dans l’espace des objectifs pour mettre à jour les nadirs locaux, nous allons considérer
seulement la borne inférieure. Ainsi, comme pour DUALOC, si la valeur du dual est supérieur à celle de
notre borne supérieure, nous pouvons couper le sous-arbre correspondant. En effet, toute solution admis-
sible du sous-arbre va être nécessairement dominée par notre borne mono-objectif. Deux cas se présentent.
Soit la solution va être aussi dominée dans le cas bi-objectif et donc nous n’avons pas à la considérer, soit
elle ne l’est pas. Mais en ce cas, il sera possible de prouver qu’elle n’est pas dominée via l’exploration et
l’énumération d’une autre zone de recherche. Il est donc inutile de considérer le sous-arbre correspondant.
De façon similaire à l’exploration des zones de recherche pour CFLP, nous allons considérer plus par-
ticulièrement les solutions que nous ne pouvons pas prouver dominées. Les ensembles de services corres-
pondant à ces solutions sont ajoutés à une liste "tabou" dont on se servira pour vérifier si on a déjà ou non
obtenue la solution. De plus, les ensembles de services de ces solutions intéressantes sont ajouté dans une
liste dont nous calculerons plus tard les sous-problèmes d’allocation.
Modification de DUALOC : Différentes remarques et modifications sont à faire sur l’algorithme DUA-
LOC afin de pouvoir procéder à l’énumération complète, en une seule utilisation de la méthode, des solu-
tions présentes dans les zones de recherches. Premièrement, afin d’éviter les répétitions de calculs nous
allons ajouter une liste tabou de solutions à ne pas considérer. L’algorithme DUALOC ne va pas prendre
en compte ce genre de contraintes supplémentaires. Ainsi, nous n’allons pas pouvoir l’utiliser directement
dans la méthode tout comme nous pouvions le faire avec notre méthode modifiée de Beasley. Cependant,
nous pouvons néanmoins vérifier la présence ou non de l’ensemble de services que nous considérons à
l’intérieur de l’ensemble de nos solutions calculées tabou. Si l’ensemble de services est déjà présent, il est
inutile de recalculer la solution correspondante.
D’autres remarques sont à faire sur les critères d’arrêt que propose Erlenkotter [1978] dans DUALOC.
Par exemple lorsque DUALOC obtenait une solution admissible au début de la méthode, on pouvait prouver
avoir directement trouvé la solution optimale. Nous aurons effectivement obtenu la solution optimale, mais
il n’est plus possible d’arrêter la méthode si l’on veut énumérer toutes les solutions. Il faut nécessairement
et absolument prouver que l’on a considéré tous les points non-dominés de notre zone de recherche. Ainsi,
nous allons devoir tout de même procéder à l’exploration de l’arbre de recherche du Branch and Bound.
De même, lors de l’exploration du Branch and bound, si DUALOC trouve une solution admissible, cette
solution est optimale pour le sous-arbre considéré et il n’était plus nécessaire de continuer l’exploration du
sous-arbre correspondant. Pour énumérer toutes les solutions, nous sommes en présence de deux cas lors
de l’obtention d’une solution admissible. Tout comme pour DUALOC, cette solution est l’optimale du
sous-arbre considéré. Ainsi dans le premier cas si la valeur mono-objectif de cette solution admissible est
supérieure à celle de notre borne supérieure, nous pouvons en déduire que toutes les autres solutions le
seront aussi. Dans le second cas, la valeur mono-objectif de cette solution admissible est inférieure à celle
de notre borne supérieure. On ne peut donc pas prouver qu’il n’y aura pas d’autres solutions du sous-arbre
qui se trouveront dans notre zone de recherche, ainsi il est nécessaire de continuer l’exploration du Branch
and Bound.
Ainsi, pour prouver l’arrêt de l’exploration sur un sous-arbre nous allons devoir utiliser essentiellement
la borne inférieure obtenue avec le dual de la relaxation linéaire du problème pondéré.
5.6. RÉSULTATS EXPÉRIMENTAUX 121
Résolution des sous-problème d’allocation obtenus : De façon similaire à la méthode en deux phases
pour CFLP, nous allons mettre de côté tous les ensembles de services correspondant à des solutions. Nous
n’avons pas pu prouver que ces solutions étaient dominées et nous avons ajouté leur ensemble de services
à notre liste à résoudre. Pour chaque ensemble de services de cette liste, nous allons calculer les points et
arêtes localement non-dominés du sous-problème d’allocation associé. Pour cela, nous proposons d’utiliser
la méthode dichotomique avec filtrage intermédiaire mis en place dans le cadre de la méthode de pavage par
boîtes triangulaires (voir sous-section 2.4.2). Bien entendu, il faut donc commencer par obtenir les points
lexicographiques de chaque sous-problèmes d’allocation avant de pouvoir utiliser la méthode. Toutefois,
nous allons voir dans les expérimentations que le nombre important de boîtes obtenues nous permet de
reconsidérer la méthode paramétrique dédiée de Fernández and Puerto [2003].
TABLE 5.2 – Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de l’ex-
ploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 30-90.
Le tableau 5.3 et le tableau 5.4 présentent les comparaisons entre la TSM et les deux méthodes que nous
proposons dans ce manuscrit sur le problème d’UFLP bi-objectif et respectivement de CFLP bi-objectif.
Par souci de clarté, nous présentons ci-après la signification des colonnes :
— CPLEX : Calcul des points supportés extrêmes à l’aide de CPLEX.
— 2P : Temps de calcul total de la méthode en deux phases.
— BOX : Temps de calcul total de la méthode de pavage par boîtes triangulaires.
Comme le montre le tableau 5.4, les résultats sont sans équivoques pour le CFLP. Le calcul des points
supportés extrêmes calculée par CPLEX est toujours très nettement plus lent que la 2P. C’est donc néces-
sairement le cas si l’on considère le meilleur entre 2P et BOX.
Cependant, le tableau 5.3 permet d’observer des résultats plus mitigés pour l’UFLP. En effet, les ins-
tances de Gadegaard présentent des temps très courts de résolution. Nous préférons ainsi obtenir les résultats
de la TSM pour convaincre le lecteur de l’efficacité de notre méthode. De plus, le calcul des points suppor-
tés extrêmes avec CPLEX montre des résultats plus performants pour les instances FPC0, FPC3 et FPC4
de tailles 30-90 et globalement toutes les FPC de tailles 40-120. Pour ces dernières instances, aucune mé-
thode n’a obtenu de résultats en moins d’une heure. Ainsi, nous exécuterons la TSM sur ces méthodes afin
de montrer l’efficacité de nos méthodes pour la taille 30-90. Comme les résultats le montreront, la TSM
5.7. COMPARAISONS TSM, PAVAGE ET DEUX PHASES 123
TABLE 5.3 – Comparaisons entre l’initialisation de Vincent et al. [2013] calculée par CPLEX et nos
meilleurs résultats pour l’UFLP.
TABLE 5.4 – Comparaisons entre l’initialisation de Vincent et al. [2013] calculée par CPLEX et nos
meilleurs résultats pour le CFLP.
n’arrive pas à résoudre en moins d’une heure les instances de tailles 40-120.
TABLE 5.5 – Temps de calcul de la TSM sur les instances UFLP à vérifier.
Conclusions
A ce jour, à notre connaissance, il n’existe pas dans la littérature de méthodes exactes dédiées permettant
de résoudre un problème spécifique bi-objectif en variables mixtes. Notre travail avait pour but d’étudier
l’efficacité et les performances de méthodes dédiées pour la résolution de problèmes bi-objectif en variables
mixtes comparativement aux méthodes générales.
Nous avons présenté dans le premier chapitre, les grands principes de l’optimisation multi-objectif avant
de présenter succinctement les méthodes de résolutions exactes des problèmes de programmation linéaire
bi-objectifs en variables mixtes. Ces différentes méthodes sont génériques et ne vont pas prendre en compte
les structures particulières, lorsqu’il y en a, des problèmes considérés. Suite à ce constat, nous nous sommes
intéressé à la résolution exacte d’un problème structuré, le problème bi-objectif de localisation de services
en variables mixtes.
Le second chapitre a eu pour but de présenter plus spécifiquement le problème de localisation de ser-
vices. Nous avons commencé par la présentation de la méthode DUALOC [Erlenkotter, 1978] et de la
méthode Branch and Bound de Beasley [1988]. Ces deux méthodes, bien que développées il y a 40 et 30
ans respectivement, sont toujours considérées comme état de l’art par de récentes revues de littérature. Nous
avons ensuite étendu la littérature au contexte bi-objectif. Nous avons pu voir que la résolution exacte de
problème de localisation de services dans le contexte bi-objectif a déjà été considérée pour cette classe de
problèmes, mais uniquement dans sa variante à source unique. Nous avons donc proposé dans les chapitres
3,4 et 5 différentes méthodes permettant de résoudre efficacement les problèmes d’UFLP et de CFLP bi-
objectif.
Le troisième chapitre a présenté la première méthode que nous proposons afin de résoudre l’UFLP
bi-objectif. C’est la méthode de pavage par boîtes triangulaires. Cette méthode hérite directement de la mé-
thode de pavage par boîtes (rectangulaires) [Gandibleux et al., 2012a] en considérant toutes les modifica-
tions rencontrés dans le cas mixtes et en proposant de nouveaux ensembles bornants inspirés par Fernández
and Puerto [2003], Vincent [2013]. Nous avons d’ailleurs réutilisé DUALOC [Erlenkotter, 1978] afin d’ini-
tialiser l’ensemble bornant supérieur et la méthode paramétrique dédiée de Fernández and Puerto [2003]
afin de résoudre les sous-problèmes d’allocation. Nous achevons ce chapitre en discutant plus particulière-
ment des limites de la méthode. Ces limites vont nécessairement apparaître plus facilement dans le contexte
CFLP.
Le quatrième chapitre a présenté l’adaptation de la méthode de pavage par boîtes triangulaires au cas
CFLP. L’utilisation de DUALOC a été remplacé par la méthode de Beasley [1988]. La mise en place de
cette méthode nous a permis de questionner certaines particularité de celle-ci. Nous avons étudié ces ques-
tions plus pleinement dans les expérimentations. Ainsi, notre méthode obtenue est une réadaptation de la
méthode de Beasley [1988] avec réutilisation, lorsque possible, du contexte bi-objectif. De façon similaire,
la résolution du sous-problèmes d’allocation du CFLP nous a obligé à remplacer la méthode paramétrique
127
128 CHAPITRE 5. MÉTHODE EN DEUX PHASES POUR CFLP ET UFLP BI-OBJECTIF
dédiée de Fernández and Puerto [2003] par un simplexe des réseaux [Ahuja et al., 1993]. Nous avons pu
apporter des modifications spécifiques au sous-problème d’allocation du CFLP. Cela nous a permis d’amé-
liorer légèrement le simplexe des réseaux pour ce cas particulier.
Le cinquième chapitre est parti de deux constats. La méthode de pavage par boîtes triangulaires est
beaucoup moins efficace pour le problème de CFLP bi-objectif, comme attendu. Cependant, les ensembles
non-dominés des instances de CFLP bi-objectifs semblent contenir beaucoup de points supportés. Ainsi,
nous avons fait le chois de développer une méthode en deux phases pour le problème de CFLP bi-objectif.
Les bons résultats de celle-ci nous ont poussé à considérer une méthode en deux phases pour l’UFLP bi-
objectif. La première phase est très similaire à l’initialisation de l’ensemble bornant supérieur que nous
avons présentée dans les deux méthodes de pavages par boîtes triangulaires. Il restait donc à présenter la
seconde phase et les stratégies d’exploration des zones de recherche, fortement inspirée par Raith and Ehr-
gott [2009], Vincent et al. [2013], Stidsen et al. [2014].
Nous avons testé rigoureusement ces quatre méthodes sur divers types et tailles d’instances. Ces ins-
tances ont été créées de façon aléatoire. Pour cela, nous avons repris les propositions que nous avons pu
observer dans la littérature. On peut d’ailleurs remarquer que ces propositions tendent à l’élaboration d’ins-
tances proches des problèmes observés dans la réalité. Les résultats expérimentaux ont permis de présenter
les forces et faiblesses des différentes méthodes. Celles-ci ont montrés des performances complémentaires
sur les différents tailles et types d’instances que nous proposons. Il est bien entendu possible de créer des
instances qui vont mettre en défaut les méthodes que nous proposons. On peut cependant se poser la ques-
tion de la justification de telles instances. Ces instances reflètent-elles la réalité ?
Pour conclure, ces méthodes nous ont permis d’atteindre l’objectif initial de cette thèse et de montrer
qu’il est possible, en considérant la structure particulière d’un problème, de proposer des méthodes dédiées
plus efficaces que les méthodes génériques.
Perspectives
Comme nous l’avons précisé, la méthode en deux phases pour UFLP bi-objectif a été conçue sur la fin
de la thèse. Nous n’avons ainsi pas eu le temps d’élaborer et d’expérimenter différentes stratégies d’ex-
ploration des zones de recherche de la seconde phase. Très clairement, nous sommes déçu de n’avoir pu
résoudre les instances FPC de taille 40-120 en moins d’une heure. La recherche d’une méthode d’explora-
tion permettant de résoudre efficacement ces instances plus difficiles est donc une perspective de travaux
qui nous tient à coeur.
De plus, contrairement à la méthode de Beasley [1988], nous n’avons pas remis en cause les choix heu-
ristiques qui se trouvent dans la méthode DUALOC [Erlenkotter, 1978]. Celle-ci devenant un point essentiel
de l’exploration des zones de recherche, il pourrait être intéressant de chercher s’il est possible d’améliorer
la méthode. Par exemple, Erlenkotter [1978] fait le choix de brancher un service à zéro puis à un. Ce choix
s’explique par les contraintes de gestion de la mémoire de 1978. Très clairement, les avancées technolo-
giques nous permettent de ne plus avoir à considérer de tels problèmes. Il pourrait donc être intéressant de
simplement étudier le changement de ce choix de branchement.
Les résultats que nous avons obtenus peuvent être qualifiés de prometteurs. Ainsi, nous pouvons es-
pérer une croissance des méthodes dédiées permettant de résoudre des classes spécifiques de problèmes
bi-objectif en variables mixtes.
Annexes
A
Résultats sur la méthode de pavage pour UFLP
bi-objectif.
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre.
131
132 ANNEXE A. RÉSULTATS SUR LA MÉTHODE DE PAVAGE POUR UFLP BI-OBJECTIF.
TABLE A.1 – Comparaisons CPLEX/DUALOC sur le calcul des lexicographiques. Comparaisons entre
l’initialisation de Vincent et al. [2013] et notre heuristique. Instances de taille 20-60.
TABLE A.2 – Comparaisons CPLEX/DUALOC sur le calcul des lexicographiques. Comparaisons entre
l’initialisation de Vincent et al. [2013] et notre heuristique. Instances de taille 30-90.
TABLE A.3 – Comparaison des performances du Branch and Bound en fonction des différents ensembles bornants pour instances de taille 20-60
TABLE A.4 – Comparaison des performances du Branch and Bound en fonction des différents choix de
branchement pour instances de taille 20-60
TABLE A.5 – Comparaison des performances du Branch and Bound en fonction des différents ensembles bornants pour instances de taille 30-90
TABLE A.6 – Comparaison des performances du Branch and Bound en fonction des différents ensembles
bornants pour instances de taille 30-90
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre.
TABLE A.7 – Comparaisons des différentes explorations proposées du pavage par boites triangulaires. Ins-
tances de tailles 20-60.
TABLE A.8 – Comparaisons des différentes explorations proposées du pavage par boites triangulaires. Ins-
tances de taille 30-90
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre.
141
142 ANNEXE B. RÉSULTATS SUR LA MÉTHODE DE PAVAGE POUR CFLP BI-OBJECTIF.
Nous présentons ci-dessous la signification des colonnes de données dans un souci de clarté :
— BRANCH2 : Résolution par la méthode adaptée avec notre seconde proposition de modification sur
le branchement.
— LGR2 : Résolution par la méthode adaptée avec notre proposition de multiplier par 2 (au lien de 3)
le temps de convergence de la méthode de sous-gradient.
— 2MODIF : Résolution par la méthode adaptée avec les propositions améliorantes DICHO et RATIO.
— 3MODIF : Résolution par la méthode adaptée avec les propositions améliorantes DICHO, RATIO,
BRANCH2.
— 4MODIF : Résolution par la méthode adaptée avec les propositions DICHO, RATIO, BRANCH2,
LGR2.
143
TABLE B.2 – Comparaison des secondes modifications et des différentes combinaisons. Instances de tailles
20-60
TABLE B.4 – Comparaison des secondes modifications et des différentes combinaisons. Instances de tailles
30-90
TABLE B.5 – Comparaison des différentes heuristiques proposées sur le Branch and Bound. Instances de taille 20-60.
TABLE B.6 – Comparaison des différentes heuristiques proposées sur le Branch and Bound. Instances de
taille 40-120.
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre.
— CALC : Nombre de solutions calculées et temps de calcul de la seconde phase avec calcul et ajout
d’information.
— ENUM : Nombre de solutions calculées et temps de calcul de la seconde phase énumérative directe.
149
150 ANNEXE C. RÉSULTATS SUR LA DEUX PHASES POUR UFLP ET CFLP BI-OBJECTIF.
TABLE C.1 – Comparaison des différentes secondes phases proposées sur instances de taille 20-60.
TABLE C.2 – Comparaison des différentes secondes phases proposées sur instances de taille 30-90.
Ci-après, nous listons la signification des colonnes trouvées dans les tableaux qui vont suivre.
— COMPLETUB : Temps de calcul des points supportés extrêmes pour initialiser l’EBS (DUALOC).
— PARTIELUB : Temps de calcul de notre heuristique d’initialisation de l’EBS (DUALOC).
— EXPLO : Temps de calcul de la seconde phase avec l’initialisation de l’EBS de la colonne à gauche.
— BOX : Nombre de J obtenu suite à la méthode en deux phases.
— PARAM : Temps d’exploration de toutes les boîtes à l’aide d’une recherche paramétrique dédiée.
— GLOBAL : Temps d’exploration de toutes les boîtes à l’aide d’une recherche dichotomique appli-
quée à toutes les boîtes simultanément puis couplée à un filtrage intermédiaire.
TABLE C.3 – Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de
l’exploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 20-60.
TABLE C.4 – Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de
l’exploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 30-90.
2.1 Génération des instances FLP par loi uniforme discrète sans corrélation. . . . . . . . . . . 63
2.2 Génération des instances FLP par Loi uniforme discrète avec corrélation. . . . . . . . . . 64
4.1 Exemple des utilités obtenues pour l’objectif 1, l’objectif2 et une pondération des objectifs. 92
4.2 Exemple d’instance CFLP bi-objectif à 5 services (Sj ) et 5 clients (Ci ) . . . . . . . . . . 98
4.3 Comparaison CPLEX/ORIGINAL sur instance de taille 40-120 . . . . . . . . . . . . . . . 101
4.4 Comparaison des secondes modifications et des différentes combinaisons. Instances de
tailles 40-120 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.5 Comparaison CPLEX/2MODIF sur l’initialisation de Vincent et al. [2013]. . . . . . . . . 105
4.6 Comparaison des différentes heuristiques proposées sur le Branch and Bound. Instances de
taille 30-90. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.1 Comparaison des différentes secondes phases proposées sur instances de taille 40-120. . . 118
5.2 Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de
l’exploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 30-90. 122
5.3 Comparaisons entre l’initialisation de Vincent et al. [2013] calculée par CPLEX et nos
meilleurs résultats pour l’UFLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.4 Comparaisons entre l’initialisation de Vincent et al. [2013] calculée par CPLEX et nos
meilleurs résultats pour le CFLP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.5 Temps de calcul de la TSM sur les instances UFLP à vérifier. . . . . . . . . . . . . . . . . 125
153
154 LISTE DES TABLEAUX
A.5 Comparaison des performances du Branch and Bound en fonction des différents ensembles
bornants pour instances de taille 30-90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
A.6 Comparaison des performances du Branch and Bound en fonction des différents ensembles
bornants pour instances de taille 30-90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
A.7 Comparaisons des différentes explorations proposées du pavage par boites triangulaires.
Instances de tailles 20-60. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
A.8 Comparaisons des différentes explorations proposées du pavage par boites triangulaires.
Instances de taille 30-90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
C.1 Comparaison des différentes secondes phases proposées sur instances de taille 20-60. . . . 150
C.2 Comparaison des différentes secondes phases proposées sur instances de taille 30-90. . . . 150
C.3 Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de
l’exploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 20-60. 151
C.4 Comparaisons des temps de calcul de l’initialisation de l’EBS et du temps de calcul de
l’exploration correspondante. Comparaisons des filtrages finaux. Instances de tailles 30-90. 152
Table des figures
2.1 Exemple d’un pavage par boîtes de YN avec boîtes redondantes inintéressantes. . . . . . . 58
2.2 Exemple d’un pavage par boîtes de YN avec boîtes redondantes intéressantes. . . . . . . . 59
2.3 Exemple d’arbre de recherche de la méthode de pavage par boîtes pour un problème d’UFLP
à 3 services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.4 Illustration du préfiltrage du pavage de boîtes. . . . . . . . . . . . . . . . . . . . . . . . . 62
2.5 Illustration d’une reconstruction efficace et d’une reconstruction inefficace. . . . . . . . . 62
3.1 Exemple d’un pavage d’un UFLP bi-objectif en variables mixtes 0-1. YN correspond aux
points noirs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2 Illustration des différences de l’initialisation de l’EBS. . . . . . . . . . . . . . . . . . . . 70
3.3 Illustration des zones de recherches obtenues à l’issue de la phase 1. . . . . . . . . . . . . 72
3.4 Exemple d’arbre de recherche où les services ont été triés dans l’ordre {2,4,3,5,1}. . . . . 73
3.5 Illustration du placement de l’EBI dans l’espace des objectifs. . . . . . . . . . . . . . . . 73
3.6 Illustration de l’exploration par recherche dichotomique avec filtrage. . . . . . . . . . . . 75
3.7 Exemple pouvant amener à considérer plus de solutions malgré l’initialisation de l’EBS. . 82
3.8 Exemple bénéfique et exemple contre-productif de la méthode de ranking des points idéaux. 84
155
156 TABLE DES FIGURES
4.2 Illustration d’un même arbre couvrant avec un choix différent de noeud racine. . . . . . . 95
4.3 Cas possible de cycle et d’apex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1 Illustration des différences qu’apporte le calcul de la première phase sur les zones de re-
cherche et la mise à jour de celle-ci. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.2 Illustration de l’impossibilité d’utiliser 2MODIF et son initialisation de la borne supérieure
lors de l’exploration des zones de recherche. . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3 Illustration de l’initialisation de la borne supérieure de PE (λ) en considérant β lors de
l’exploration des zones de recherche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.4 Zone de Recherche : illustration de l’importance de l’EBI considéré. . . . . . . . . . . . . 111
5.5 Zone de Recherche : illustration de l’importance de l’EBI considéré. . . . . . . . . . . . . 112
5.6 Illustration de la réutilisation des points intéressants entre deux itérations de la première
stratégie d’exploration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.7 Illustration de l’inefficacité que peut rencontrer cette première stratégie d’exploration. . . . 115
5.8 Illustration de la mise à jour de la borne supérieure du problème d’exploration pondéré par λ 116
5.9 La mise à jour de la borne supérieure dans le cas d’une zone de recherche rectangulaire
empêche nécessairement l’énumération complète de la zone de recherche. . . . . . . . . . 117
Bibliographie
R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Networking flow-theory, algorithms and application, 1993.
55, 91, 93, 94, 128
Y. P. Aneja and K. P. Nair. Bicriteria transportation problem. Management Science, 25(1) :73–78, 1979.
21, 22, 23, 41
J. E. Beasley. An algorithm for solving large capacitated warehouse location problems. European Journal
of Operational Research, 33(3) :314–325, 1988. 52, 53, 54, 55, 91, 92, 97, 100, 108, 127, 128, 141
N. Boland, H. Charkhgard, and M. Savelsbergh. The triangle splitting method for biobjective mixed integer
programming. In International Conference on Integer Programming and Combinatorial Optimization,
pages 162–173. Springer, 2014. 31, 84
N. Boland, H. Charkhgard, and M. Savelsbergh. A criterion space search algorithm for biobjective mixed
integer programming : The triangle splitting method. INFORMS Journal on Computing, 27(4) :597–618,
2015. 31
N. Boland, H. Charkhgard, and M. Savelsbergh. The quadrant shrinking method : A simple and efficient
algorithm for solving tri-objective integer programs. European Journal of Operational Research, 260
(3) :873–885, 2017. 26
L. B. Booker, D. E. Goldberg, and J. H. Holland. Classifier systems and genetic algorithms. 1989. 74
J. Branman. A note on pivoting in transportation codes. European Journal of Operational Research, 2(5) :
377–378, 1978. 55
A. Cerqueus, A. Przybylski, and X. Gandibleux. Surrogate upper bound sets for bi-objective bi-dimensional
binary knapsack problems. European Journal of Operational Research, 244(2) :417–433, 2015. 27
V. Chvátal. Linear programming wh freeman and company. New York, pages 13–26, 1983. 12
I. I. Cplex. 12.8 user’s manual. ILOG. See ps_usrmancplex.pdf, 2017. 33, 39, 69, 91, 100, 141
K. Dächert and K. Klamroth. A linear bound on the number of scalarizations needed to solve discrete
tricriteria optimization problems. Journal of Global Optimization, 61(4) :643–676, 2015. 26
K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan. A fast and elitist multiobjective genetic algorithm :
Nsga-ii. IEEE transactions on evolutionary computation, 6(2) :182–197, 2002. 31
157
158 BIBLIOGRAPHIE
H. Delmaire, J. A. Díaz, E. Fernández, and M. Ortega. Reactive grasp and tabu search based heuristics
for the single source capacitated plant location problem. INFOR : Information Systems and Operational
Research, 37(3) :194–225, 1999. 63, 64, 65, 76, 99
Q. Delmée, K. Klamroth, and A. Przybylski. Utilisation de la relaxation lagrangienne pour déterminer des
ensembles bornants inférieurs pour le problème de voyageur de commerce bi-objectif. In ROADEF 2016,
2016. 97, 112
R. M. R. Domínguez, S. Alonso, J. Sicilia, and C. González. The problem of the optimal biobjective
spanning tree. 1998. 27
J. Dubois-Lacoste, T. Stützle, M. Birattari, and M. López-Ibáñez. Anytime Local Search for Multi-Objective
Combinatorial Optimization : Design, Analysis and Automatic Configuration. PhD thesis, Citeseer, 2014.
31
M. Ehrgott. Multicriteria optimization. Springer Science & Business Media, 2006. 17, 21, 22
M. Ehrgott and X. Gandibleux. A survey and annotated bibliography of multiobjective combinatorial opti-
mization. Or Spectrum, 22(4) :425–460, 2000. 31
M. Ehrgott and X. Gandibleux. Bounds and bound sets for biobjective combinatorial optimization problems.
Multiple Criteria Decision Making in the New Millennium, 507 :241–253, 2001. 19
M. Ehrgott and X. Gandibleux. Bound sets for biobjective combinatorial optimization problems. Computers
& Operations Research, 34(9) :2674–2694, 2007. 19, 20
D. Erlenkotter. A dual-based procedure for uncapacitated facility location. Operations Research, 26(6) :
992–1009, 1978. 50, 51, 57, 69, 107, 120, 127, 128
R. Z. Farahani, M. SteadieSeifi, and N. Asgari. Multiple criteria facility location problems : A survey.
Applied Mathematical Modelling, 34(7) :1689–1709, 2010. 48
T. A. Feo and M. G. Resende. A probabilistic heuristic for a computationally difficult set covering problem.
Operations research letters, 8(2) :67–71, 1989. 31
E. Fernández and J. Puerto. Multiobjective solution of the uncapacitated plant location problem. European
Journal of Operational Research, 145(3) :509–529, 2003. 47, 56, 57, 59, 61, 63, 70, 71, 74, 76, 84, 88,
90, 99, 121, 127, 128
M. Fischetti and A. Lodi. Local branching. Mathematical programming, 98(1-3) :23–47, 2003. 33
S. L. Gadegaard. Integrating cut–and–solve and semi–lagrangean based dual ascent for the single source
capacitated facility location problem. 2016. 63, 64, 76, 99
S. L. Gadegaard, A. Klose, and L. R. Nielsen. An improved cut-and-solve algorithm for the single-source
capacitated facility location problem. EURO Journal on Computational Optimization, 6(1) :1–27, 2018.
63
BIBLIOGRAPHIE 159
X. Gandibleux, H. Morita, and N. Katoh. A population-based metaheuristic for solving assignment pro-
blems with two objectives. Journal of Mathematical Modelling and Algorithms, por aparecer, 2005.
42
X. Gandibleux, A. Przybylski, S. Bourougaa, A. Derrien, and A. Grimault. Computing the efficient frontier
for the 0/1 biobjective uncapacitated facility location problem. In MOPGP 2012, 2012a. 57, 58, 59, 60,
61, 90, 127
X. Gandibleux, A. Przybylski, S. Bourougaa, A. Derrien, and A. Grimault. Sur le calcul des solutions
efficaces du probl‘eme bi-objectif de localisation de services sans contrainte de capacité. In ROADEF
2012, 2012b. 57, 67, 69, 74
A. M. Geoffrion. Proper efficiency and the theory of vector maximization. Journal of Mathematical Ana-
lysis and Applications, 22(3) :618–630, 1968. 16
F. W. Glover and G. A. Kochenberger. Handbook of metaheuristics, volume 57. Springer Science &
Business Media, 2006. 31
R. Gomory. An algorithm for the mixed integer problem. Technical report, RAND CORP SANTA MO-
NICA CA, 1960. 13
Y. Y. Haimes. On a bicriterion formulation of the problems of integrated system identification and system
optimization. IEEE transactions on systems, man, and cybernetics, 1(3) :296–297, 1971. 25
R. W. Hamming. Error detecting and error correcting codes. Bell Labs Technical Journal, 29(2) :147–160,
1950. 33
M. P. Hansen. Tabu search for multiobjective optimization : Mots. In Proceedings of the 13th International
Conference on Multiple Criteria Decision Making, pages 574–586, 1997. 31
P. Hansen. Bicriterion path problems. In Multiple criteria decision making theory and application, pages
109–127. Springer, 1980. 15
K. Holmberg, M. Rönnqvist, and D. Yuan. An exact algorithm for the capacitated facility location problems
with single sourcing. European Journal of Operational Research, 113(3) :544–559, 1999. 63, 64, 65
J. Hooker. Logic-based methods for optimization : combining optimization and constraint satisfaction,
volume 2. John Wiley & Sons, 2011. 35, 39
H. Isermann. Proper efficiency and the linear vector maximum problem. Operations Research, 22(1) :
189–191, 1974. 17
J. Jorge. Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en
variables binaires. PhD thesis, Université de Nantes, 2010. 27, 28, 40
D. Karaboga and B. Akay. A survey : algorithms simulating bee swarm intelligence. Artificial intelligence
review, 31(1-4) :61–85, 2009. 31
G. Kirlik and S. Sayın. A new algorithm for generating all nondominated solutions of multiobjective
discrete optimization problems. European Journal of Operational Research, 232(3) :479–488, 2014. 26
G. Kiziltan and E. Yucaoğlu. An algorithm for multiobjective zero-one linear programming. Management
Science, 29(12) :1444–1453, 1983. 27, 28
160 BIBLIOGRAPHIE
M. Laumanns, L. Thiele, and E. Zitzler. An adaptive scheme to generate the pareto front based on the
epsilon-constraint method. In Dagstuhl Seminar Proceedings. Schloss Dagstuhl-Leibniz-Zentrum für
Informatik, 2005. 26
E. L. Lawler. A procedure for computing the k best solutions to discrete optimization problems and its
application to the shortest path problem. Management science, 18(7) :401–405, 1972. 42
J. Lemesre, C. Dhaenens, and E.-G. Talbi. An exact parallel method for a bi-objective permutation flowshop
problem. European Journal of Operational Research, 177(3) :1641–1655, 2007a. 108
J. Lemesre, C. Dhaenens, and E.-G. Talbi. Parallel partitioning method (ppm) : A new exact method to
solve bi-objective problems. Computers & operations research, 34(8) :2450–2462, 2007b. 42, 108
B. Lokman and M. Köksalan. Finding all nondominated points of multi-objective integer programs. Journal
of Global Optimization, 57(2) :347–365, 2013. 26
H. R. Lourenço, O. C. Martin, and T. Stutzle. Iterated local search. International series in operations
research and management science, pages 321–354, 2003. 31
U.-E. Lukata and J. Teghem. Solving multi-objective knapsack problem by a branch-and-bound procedure.
In Multicriteria analysis, pages 269–278. Springer, 1997. 27, 28
G. Mavrotas and D. Diakoulaki. A branch and bound algorithm for mixed zero-one multiple objective linear
programming. European Journal of Operational Research, 107(3) :530–541, 1998. 35, 37
G. Mavrotas and D. Diakoulaki. Multi-criteria branch and bound : A vector maximization algorithm for
mixed 0-1 multiple objective linear programming. Applied mathematics and computation, 171(1) :53–71,
2005. 35, 37
Ö. Özpeynirci and M. Köksalan. An exact algorithm for finding extreme supported nondominated points of
multiobjective mixed integer programs. Management Science, 56(12) :2302–2315, 2010. 25
A. Przybylski and X. Gandibleux. Multi-objective branch and bound. European Journal of Operational
Research, 260(3) :856–872, 2017. 20, 27
A. Przybylski, X. Gandibleux, and M. Ehrgott. Two phase algorithms for the bi-objective assignment
problem. European Journal of Operational Research, 185(2) :509–533, 2008. 40, 42
A. Przybylski, X. Gandibleux, and M. Ehrgott. A recursive algorithm for finding all nondominated extreme
points in the outcome set of a multiobjective integer programme. INFORMS Journal on Computing, 22
(3) :371–386, 2010. 25
A. Raith and M. Ehrgott. A comparison of solution strategies for biobjective shortest path problems. Com-
puters & Operations Research, 36(4) :1299–1331, 2009. 116, 128
BIBLIOGRAPHIE 161
C. R. Reeves. Modern heuristic techniques for combinatorial problems. John Wiley & Sons, Inc., 1993. 30
C. S. ReVelle and H. A. Eiselt. Location analysis : A synthesis and survey. European journal of operational
research, 165(1) :1–19, 2005. 48
M. Reyes-Sierra and C. C. Coello. Multi-objective particle swarm optimizers : A survey of the state-of-the-
art. International journal of computational intelligence research, 2(3) :287–308, 2006. 31
A. Schrijver. Theory of linear and integer programming. John Wiley & Sons, 1998. 12
A. Sedeño-Noda and C. González-Martın. The biobjective minimum cost flow problem. European Journal
of Operational Research, 124(3) :591–600, 2000. 47, 91, 99
P. Serafini. Simulated annealing for multi objective optimization problems. In Multiple criteria decision
making, pages 283–292. Springer, 1994. 31
F. Sourd and O. Spanjaard. A multiobjective branch-and-bound framework : Application to the biobjective
spanning tree problem. INFORMS Journal on Computing, 20(3) :472–484, 2008. 27, 28
B. Soylu and G. B. Yıldız. An exact algorithm for biobjective mixed integer linear programming problems.
Computers & Operations Research, 72 :204–213, 2016. 33, 35
T. Stidsen, K. A. Andersen, and B. Dammann. A branch and bound algorithm for a class of biobjective
mixed integer programs. Management Science, 60(4) :1009–1032, 2014. 35, 39, 42, 128
J. Teghem. Programmation linéaire. 2003. 12
E. Ulungu and J. Teghem. The two phases method : An efficient procedure to solve bi-objective combina-
torial optimization problems. Foundations of Computing and Decision Sciences, 20(2) :149–165, 1995.
40
T. J. Van Roy. A cross decomposition algorithm for capacitated facility location. Operations Research, 34
(1) :145–163, 1986. 52
V. Verter. Uncapacitated and capacitated facility location problems. In Foundations of location analysis,
pages 25–37. Springer, 2011. 50, 52
B. Villarreal and M. H. Karwan. An interactive dynamic programming approach to multicriteria discrete
programming. journal of mathematical analysis and applications, 81(2) :524–544, 1981. 19
T. Vincent. Caractérisation des solutions efficaces et algorithmes d’énumération exacts pour l’optimisation
multiobjectif en variables mixtes binaires. PhD thesis, Université de Nantes, 2013. 17, 18, 35, 37, 38,
40, 69, 74, 127, 155
T. Vincent, F. Seipp, S. Ruzika, A. Przybylski, and X. Gandibleux. Multiple objective branch and bound
for mixed 0-1 linear programming : Corrections and improvements for the biobjective case. Computers
& Operations Research, 40(1) :498–509, 2013. 35, 37, 41, 42, 69, 72, 74, 76, 77, 78, 90, 92, 100, 104,
105, 107, 117, 121, 123, 124, 128, 132, 133, 153
M. Visée, J. Teghem, M. Pirlot, and E. L. Ulungu. Two-phases method and branch and bound procedures
to solve the bi–objective knapsack problem. Journal of Global Optimization, 12(2) :139–155, 1998. 27,
28, 119
L. A. Wolsey. Integer programming. Wiley, 1998. 13, 21
Z. Yang, F. Chu, and H. Chen. A cut-and-solve based algorithm for the single-source capacitated facility
location problem. European Journal of Operational Research, 221(3) :521–532, 2012. 63, 64, 65
162 BIBLIOGRAPHIE
E. Zitzler, D. Brockhoff, and L. Thiele. The hypervolume indicator revisited : On the design of pareto-
compliant indicators via weighted integration. In International Conference on Evolutionary Multi-
Criterion Optimization, pages 862–876. Springer, 2007. 30
Thèse de Doctorat
Quentin D ELMÉE
Résolution Exacte de problèmes de localisation de services bi-objectif en
variables mixtes
Résumé Abstract
Dans ce travail, nous nous intéressons à la résolu- The purpose of this work is the exact solution of bi-
tion exacte de problèmes de localisation de service en objective mixed-integer facility location problems. Bi-
variables mixtes. Les problèmes de programmation li- objective mixed integer linear programming problem
néaire bi-objectif en variables mixtes ont été très étu- have been largely studied in recent years but only in
diés dans les dernières années, mais uniquement dans the generic context. The same way, the study of bi-
un contexte générique. De même, les problèmes de lo- objective facility location problems has been restricted
calisation de services bi-objectif n’ont été étudiés que to the discrete case.
dans un cas purement discret. We consider first the bi-objective uncapacitated fa-
Nous considérons dans un premier temps le pro- cility location problem. To solve it, we adapt the box
blème de localisation de services bi-objectif sans ca- paving method proposed for the discrete case. Rect-
pacité. Afin de le résoudre, nous adaptons la méthode angular boxes become triangular. Moreover, their ex-
de pavage par boîtes proposée pour le cas discret. Les ploration becomes considerably easier. The difficulty of
boîtes rectangulaires deviennent triangulaires dans le the problem is therefore translated to the enumeration
cas mixte. De plus, leur exploration est grandement fa- and the filtering of these boxes. Different enumeration
cilitée, ce qui déplace la difficulté du problème dans strategies are proposed.
l’énumération et le filtrage de ces boîtes. Différentes Next, we consider the bi-objective capacitated fa-
stratégies d’énumération sont proposées. cility location problem. We first propose an adaptation
Le problème de localisation de services bi-objectif of the triangular box paving method to the capacitated
avec capacité est ensuite considéré. Tout d’abord, une case. However, the structure of the problem highly lim-
adaptation de la méthode de pavage par boîtes trian- its the method. Thus, we consider a two phase method.
gulaires est réalisée pour le cas avec capacité. Cepen- The main exploration routine is based on the adap-
dant, la nature du problème rend cette méthode beau- tation of a branch and bound algorithm proposed by
coup plus limitée. Nous considérons ensuite une mé- Beasley that we adapt to the bi-objective context.
thode en deux phases dont la principale routine d’ex- Experimental results on various instances show
ploration repose sur une adaptation d’un algorithme de the efficiency of the proposed methods.
branch and bound initialement proposé par Beasley,
dans le contexte bi-objectif.
Les résultats expérimentaux sur des instances aux
caractéristiques variées attestent de la pertinence des
méthodes que nous proposons.