• Aucun résultat trouvé

3.2 Les diff´ erentes approches li´ ees ` a notre objectif

3.2.2 k-median/k-center : Formulation

Les probl`emesk-center etk-median (aussi appel´esp-center etp-median dans la litt´ era-ture) sont connus comme des probl`emes de location/allocation que nous d´etaillons ensuite.

Nous traitons ensemble ces deux probl`emes dont l’objectif est similaire malgr´e un crit`ere

`

a optimiser diff´erent.

Ce probl`eme de location-allocation est formul´e dans la section 3.2.2.1 dans le cadre du k-median et dans la section 3.2.2.2 dans le cadre duk-center. Il existe plusieurs fa¸cons de formuler ces probl`emes notamment en terme de ”graphe” ou en terme de ”programmation enti`ere”. Nous verrons que ces mod´elisations permettent d’utiliser des algorithmes d´edi´es `a ces approches. Nous verrons donc des solutions qui permettent de r´esoudre ces approches, et nous verrons qu’elles ne sont pas adapt´ees aux gros volumes de donn´ees que nous devons traiter. Enfin nous d´etaillerons les heuristiques applicables `a k-median etk-center dans la section 3.2.3 et nous verrons que plusieurs m´ethodes existantes peuvent ˆetre compar´ees.

Nous pr´esenterons ensuite la m´ethode combinant plusieurs heuristiques que nous avons d´evelopp´ee pour am´eliorer les r´esultats.

3.2.2.1 k-median

Formulation du probl`eme Ce probl`eme a ´et´e formul´e dans le cadre d’allocation de ressources. Soit L un jeu de m emplacements de ressources (en anglais location), U un ensemble de n utilisateurs en demande de ressources (ou clients) et une matrice D de taille n × m contenant les distances entre chaque utilisateur Ui ∈ U et les emplacements de ressources Lj ∈L (ou le coˆut induit par l’acheminement des ressources `a un utilisateur).

L’objectif de ce probl`eme pour un fournisseur de ressources (ou produits) est alors de trouver un sous-ensemble de L de taille p qui minimise la somme des distances parcourues pour r´epondre `a la demande des clients :

ArgM in

l⊆L|l|=p

X

Ui∈U

M inLj∈l d(Ui, Lj)

Notre probl`eme peut ˆetre vu comme un cas particulier du probl`eme k-median dans le cas o`u L = U. Il s’agirait alors de trouver un sous-ensemble qui v´erifie l’argument suivant :

ArgM in

Cela revient `a minimiser la somme des distances entre toute mol´ecule et son centre le plus proche. Le probl`eme duk-median est donc diff´erent du nˆotre. Cependant un certain nombre d’heuristiques permettant de le r´esoudre s’appliquant ´egalement au probl`eme du k-center, elles seront pr´esent´ees dans les sections suivantes.

3.2.2.2 k-center

Formulation du probl`eme Drezner [142] propose deux formulations pour le probl`eme k-center. Comme pour le probl`emek-median, nous avons un jeu L de m emplacements et un jeu U de n points de demande.

La premi`ere formulation propose de trouver k nouveaux emplacements dans L qui mini-misent la distance pond´er´ee maximale entre un point de demande dans U et l’installation

dans L la plus proche.

La deuxi`eme formulation s’effectue en deux phases. Dans un premier temps le jeu U de points de demande est partitionn´e en k groupes disjoints. Puis pour chacun de ces groupes une installation dans L est choisie pour minimiser la distance maximale entre un point du groupe et l’installation attribu´ee `a celui-ci. Cela permet de s´electionner un sous-ensemble de L. La distance maximale parmi toutes celles obtenues pour la partition de U doit ˆetre minimis´ee par le choix des sous-ensembles de L. Le crit`ere `a optimiser s’´ecrit donc comme suit :

Argmin

l⊆L

M axUi∈U M in

Lj∈l d(Ui, Lj)

Dans notre cas, comme pour le probl`eme k-median, les points de demande U sont les mol´eculesMet le jeu d’emplacements L correspond aussi `a l’ensemble des mol´ecules. Ces derni`eres ne sont pas dans un jeu de donn´ees s´epar´e mais inclus dans l’ensemble M. Le crit`ere du probl`emek-center devient donc :

Argmin

C⊂M

i=1...nM ax M in

j=1...k d(mi, cj)

Ici j qui correspondait `a un parcours des centres possibles pour le probl`eme k-center se limitait `a un nombre m de centres. Or dans notre cas les centres possibles correspondent `a toutes les mol´ecules de l’ensemble de d´epart soit n mol´ecules (avec n tr`es sup´erieur `a m).

Rappelons notre objectif de d´epart avec le crit`ere suivant : ArgM in

C partition deM

l=1...kM ax M in

j=1...|Cl|ρ(Cl|mlj)

Les deux crit`eres semblent ´equivalents. Cependant, celui de k-center, en partant de tous les jeux de centres possibles, minimise le rayon maximum d’une partition obtenue `a partir d’un ensemble de centres. Or notre crit`ere minimise le rayon maximum d’une par-tition deMparmi toutes les partitions possibles, et ceci dans le but d’obtenir l’ensemble de centres correspondant. Nous avons donc deux crit`eres qui auront une valeur identique une fois minimis´es mais qui peuvent conduire `a des partitions et des ensembles de centres diff´erents. Nous illustrons cette diff´erence par les sch´emas 3.1(a) et 3.1(b) montrant une partition obtenue apr`es optimisation du crit`ere de k-center et de notre crit`ere respecti-vement. Le sch´ema 3.1(a) montre donc qu’`a partir d’un jeu de centres donn´e, une bonne partition peut ˆetre trouv´ee sans pour autant que le centre choisi ne soit le meilleur repr´ e-sentant du groupe (dans le groupe de droite, le centre n’est pas le meilleur repr´esentant du groupe). Le sch´ema 3.1(b) montre que par notre crit`ere, comme nous cherchons les meilleurs centres `a partir d’une partition, une fois la bonne partition trouv´ee, les centres correspondant seront les meilleurs repr´esentants des groupes. En effet dans le groupe de droite, le centre choisi est plus central dans le groupe que celui choisi park-center dans le sch´ema 3.1(a). Or notre objectif premier n’est pas de trouver une bonne partition, mais plutˆot un ensemble de centres repr´esentatifs de toute mol´ecule de l’ensemble de d´epart , et ce afin de traduire la diversit´e (que l’on peut qualifier de dispersion dans l’espace des des-criptions) du jeu de mol´ecules initial. C’est pourquoi malgr´e des valeurs finales similaires du crit`ere , nous pr´efe´erons adapter les algorithmes con¸cus pour le probl`eme k-center `a notre crit`ere d’optimisation.

81

(a) S´election via le crit`erek-center (b) S´election via notre crit`ere

Figure3.1: Diff´erence de s´election selon le crit`erek-center et selon notre crit`ere Enfin, les sch´emas pr´ec´edents illustrent un cas id´eal. En effet, dans le crit`ere, c’est le rayon maximum de la partition qui influence le r´esultat. Donc dans tous les groupes qui ne r´ealisent pas ce maximum, on peut obtenir des r´esultats tr`es ´eloign´es de nos attentes.

En effet, le sch´ema 3 montre que dans le cas d’un jeu comportant des outliers, minimiser le rayon maximum pourrait conduire `a former des groupes de tailles h´et´erog`enes induisant un mauvais pavage de l’espace.

Il existe donc des heuristiques applicables au probl`eme k-center que nous d´etaillons ensuite pour aider `a p´enaliser ou favoriser certains ph´enom`enes au cours de la recherche de centres pour obtenir une bonne solution. Nous nous int´eressons donc particuli`erement

`

a la r´esolution du probl`eme k-center.

Cas particulier : le probl`eme 1-center Comme pour le probl`emek-median, on peut d´ecrire un cas particulier du probl`emek-center : le probl`eme 1-center ´etudi´e en d´etail par Durier en 1995 [143]. L’objectif de ce cas particulier est de trouver un unique emplacement dans L, qui minimise la plus grande distance entre un point dans un jeu de taille n et cet emplacement.

Autres approches Ce probl`eme peut ˆetre r´esolu soit par des approches graphes, soit par des approches de programmation enti`ere. Cependant, la complexit´e de ces approches est trop ´elev´ee. Pour donner un exemple nous d´etaillons ici l’approche graphe et une de ses applications. Soit un graphe complet, pond´er´e et non dirig´e G =(V,E) o`u V est l’ensemble des nœuds (mol´ecules pour nous) et E l’ensemble des arˆetes symbolisant la plus petite distance entre deux nœuds. Le poids de chaque arˆete v´erifie l’in´egalit´e triangulaire ; c’est

`

a dire, connaissant 3 nœuds A, B et C, le poids de l’arˆete connectant le nœud A au noeud B est inf´erieur ou ´egal `a la somme des poids des arˆetes connectant A `a C et C `a B. Pour tout jeu S inclus dans V et pour tout nœud v appartenant `a V, on d´efinit d(v,S) comme

´

etant la longueur de la plus petite arˆete de v `a tout nœud dans S. Soit :

∀S={sj}j=1...|S|⊆V, ∀ vi ∈V d(vi, S) = M in

Mihelic et Robic [144] proposent une heuristique, l’algorithme du jeu dominant, qui r´ e-sout le probl`emek-center sous sa forme graphe en temps polynomial. Sa complexit´e pour le probl`eme k-center atteint en effet O(n2log(n)). Cette complexit´e semble satisfaisante pour les auteurs qui testent des jeux de 900 nœuds au maximum. Mais elle est trop ´elev´ee pour notre probl`eme puisque la taille de notre jeu de donn´ees peut atteindre plusieurs millions d’objets.

Documents relatifs