24.07.2013 Views

Complexité de problèmes d'ordonnancement de rencontres de type ...

Complexité de problèmes d'ordonnancement de rencontres de type ...

Complexité de problèmes d'ordonnancement de rencontres de type ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Complexité</strong> <strong>de</strong> <strong>problèmes</strong> d’ordonnancement<br />

<strong>de</strong> <strong>rencontres</strong> <strong>de</strong> <strong>type</strong> speed-dating<br />

Agnès Le Roux 1 , Odile Bellenguez-Morineau 1 , Christelle Guéret 1 , Damien Prot 1<br />

LUNAM Université, École <strong>de</strong>s Mines <strong>de</strong> Nantes, IRCCyN<br />

(Institut <strong>de</strong> Recherche en Communications et Cybernétique <strong>de</strong> Nantes) UMR CNRS 6597<br />

44307 Nantes Ce<strong>de</strong>x 3, Nantes (France)<br />

{agnes.le-roux,odile.morineau,christelle.gueret,damien.prot}@mines-nantes.fr<br />

Mots-clés : speed-dating, ordonnancement, N P-complétu<strong>de</strong>.<br />

1 Introduction<br />

Nous nous intéressons au problème d’ordonnancement <strong>de</strong> <strong>rencontres</strong> au cours <strong>de</strong> soirées <strong>de</strong><br />

speed-dating. Il s’agit d’un mo<strong>de</strong> <strong>de</strong> <strong>rencontres</strong> rapi<strong>de</strong>s amicales ou amoureuses entre une<br />

population d’hommes et <strong>de</strong> femmes. Idéalement, lors <strong>de</strong> ces soirées, sept hommes et sept<br />

femmes se rencontrent sur <strong>de</strong>s créneaux horaires <strong>de</strong> sept minutes. Toutes les <strong>rencontres</strong> qui<br />

s’effectuent sur le même créneau commencent et finissent au même moment. À la fin <strong>de</strong> chaque<br />

rencontre, les hommes se déplacent <strong>de</strong> manière à rencontrer une nouvelle personne, alors que<br />

les femmes restent assises. L’organisation <strong>de</strong> soirées <strong>de</strong> speed-dating peut paraître anodine. En<br />

effet, si autant d’hommes que <strong>de</strong> femmes participent à une soirée et que tous sont à l’heure,<br />

la planification <strong>de</strong>s <strong>rencontres</strong> est facile à organiser : il suffit d’effectuer une permutation<br />

circulaire <strong>de</strong>s hommes à la fin <strong>de</strong> chaque créneau. Dans la pratique, il arrive souvent que<br />

les <strong>de</strong>ux populations soient <strong>de</strong> tailles différentes ou que certaines <strong>rencontres</strong> soient interdites<br />

car les participants se sont déjà rencontrés lors d’une soirée précé<strong>de</strong>nte. De plus, certains<br />

participants arrivent en retard. Tous ces événements perturbateurs engendrent <strong>de</strong>s attentes<br />

pour les participants ne pouvant ainsi pas enchaîner toutes leurs <strong>rencontres</strong>. L’objectif considéré<br />

ici est la minimisation du nombre maximum d’attentes <strong>de</strong>s participants. Nous nous intéressons<br />

à la version statique du problème dans laquelle toutes les données (retards <strong>de</strong>s participants,<br />

<strong>rencontres</strong> ayant déjà eu lieu dans <strong>de</strong>s soirées précé<strong>de</strong>ntes) sont connues à l’avance. Nous<br />

proposons dans cet article <strong>de</strong>s notations et une classification <strong>de</strong> ces <strong>problèmes</strong> ainsi que <strong>de</strong><br />

premiers résultats <strong>de</strong> complexité.<br />

Dans un premier temps, nous décrivons le problème étudié et définissons les notations que nous<br />

utilisons. Ensuite, nous dressons un état <strong>de</strong> l’art <strong>de</strong> <strong>problèmes</strong> d’ordonnancement connexes.<br />

Enfin, nous démontrons <strong>de</strong> nouveaux résultats <strong>de</strong> complexité.<br />

2 Description du problème et notations<br />

Le problème d’ordonnancement <strong>de</strong> soirées <strong>de</strong> speed-dating se définit formellement <strong>de</strong> la façon<br />

suivante : p femmes doivent rencontrer n hommes pendant un créneau chacun. À chaque homme<br />

(resp. chaque femme) est associée une date d’arrivée rmj (resp. rfi). Les contraintes sont les<br />

suivantes :<br />

– Les <strong>rencontres</strong> ont toutes la même durée d’un créneau.<br />

– On ne peut pas planifier plus d’une rencontre par participant pendant un créneau.<br />

– Une rencontre n’est planifiée que sur un créneau.


– Certaines <strong>rencontres</strong> sont interdites si <strong>de</strong>ux participants se sont déjà rencontrés lors d’une<br />

soirée précé<strong>de</strong>nte. Les <strong>rencontres</strong> sont définies dans une matrice <strong>de</strong> <strong>rencontres</strong> :<br />

1 si la rencontre doit avoir lieu entre i et j ;<br />

∀(i, j) ∈ 1, p × 1, n, Oij =<br />

0 si la rencontre est interdite.<br />

– On ne peut pas planifier une rencontre si l’un <strong>de</strong>s participants concernés n’est pas arrivé.<br />

La soirée se termine lorsque toutes les <strong>rencontres</strong> ont été planifiées. L’objectif est <strong>de</strong> minimiser<br />

le plus grand nombre <strong>de</strong> créneaux d’attente <strong>de</strong>s participants <strong>de</strong> la soirée (noté Wmax).<br />

Afin <strong>de</strong> définir la plus gran<strong>de</strong> attente, nous introduisons les notations suivantes pour i ∈ 1, p<br />

et j ∈ 1, n :<br />

– emj = rmj + card {i ∈ 1, n; Oij = 1} est la date <strong>de</strong> fin au plus tôt <strong>de</strong> l’homme j, c’està-dire<br />

la date à laquelle il finit dans le cas idéal où il n’a aucun créneau d’attente.<br />

– efi = rfi+card {j ∈ 1, p; Oij = 1} est la date <strong>de</strong> fin au plus tôt <strong>de</strong> la femme i, c’est-à-dire<br />

la date à laquelle elle finit dans le cas idéal où elle n’a aucun créneau d’attente.<br />

– Cmj (resp. Cfi) est la date <strong>de</strong> fin <strong>de</strong>s <strong>rencontres</strong> <strong>de</strong> l’homme j (resp. <strong>de</strong> la femme i).<br />

– Wmax = max<br />

i∈1,p,j∈1,n {Cfi − efi, Cmj − emj}<br />

Étant donné que les efi et emj sont les dates <strong>de</strong> fin au plus tôt pour <strong>de</strong>s femmes et <strong>de</strong>s hommes,<br />

∀i ∈ 1, p, Cfi − efi ≥ 0 et ∀j ∈ 1, n, Cmj − emj ≥ 0, on a donc dans tous les cas Wmax ≥ 0.<br />

Nous proposons la notation à trois champs α|β|γ suivante pour ces <strong>problèmes</strong> :<br />

– le paramètre α ∈ {SDn, SDn,p, SDn≥p, SDn≤p} désigne le problème du speed-dating avec :<br />

– α = SDn quand le nombre <strong>de</strong> femmes est égal au nombre d’hommes ;<br />

– α = SDn,p dans le cas où le nombre d’hommes peut être différent du nombre <strong>de</strong> femmes ;<br />

– α = SDn≥p (resp. SDn≤p) quand le nombre d’hommes (resp. <strong>de</strong> femmes) est supérieur<br />

ou égal au nombre <strong>de</strong> femmes (resp. d’hommes).<br />

– Le paramètre β ∈ P({Oij ∈ {0, 1}, rfi, rmj}) représente les contraintes suivantes :<br />

– Oij ∈ {0, 1} si certaines <strong>rencontres</strong> sont interdites,<br />

– rfi (resp. rmj) dans le cas où <strong>de</strong>s femmes (resp. hommes) sont en retard (rfi ≥ 0 et/ou<br />

rmj ≥ 0).<br />

– Enfin, γ = Wmax est l’objectif considéré ici.<br />

Le cas général <strong>de</strong> notre problème se note donc SDn,p|Oij ∈ {0, 1}, rfi, rmj|Wmax.<br />

3 État <strong>de</strong> l’art<br />

Les <strong>problèmes</strong> <strong>de</strong> speed-dating sont <strong>de</strong>s <strong>problèmes</strong> récents qui ont peu été traités dans la<br />

littérature. À notre connaissance, les seuls travaux sur le sujet sont ceux <strong>de</strong> Lapègue et al. [3]<br />

qui proposent un modèle <strong>de</strong> programmation par contraintes pour résoudre le cas dynamique<br />

dans lequel les dates d’arrivée <strong>de</strong>s participants sont connues au fur et à mesure <strong>de</strong> la soirée.<br />

On peut assimiler le problème <strong>de</strong> speed-dating à un problème d’open shop à durée d’opérations<br />

unitaire dans lequel chaque machine est associée à une femme, chaque job à un homme<br />

et chaque opération représente une rencontre. Si <strong>de</strong>s <strong>rencontres</strong> peuvent être interdites, notre<br />

problème s’apparente au cas où pij ∈ {0, 1}. Les dates <strong>de</strong> disponibilité et <strong>de</strong> fin au plus tôt<br />

<strong>de</strong>s hommes correspon<strong>de</strong>nt respectivement aux dates <strong>de</strong> disponibilité et dates d’échéance <strong>de</strong>s<br />

jobs. Il est à noter qu’à la différence <strong>de</strong>s <strong>problèmes</strong> d’open shop rencontrés dans la littérature,<br />

dans lesquels une date <strong>de</strong> disponibilité et une date d’échéance ne sont associées qu’aux jobs,<br />

celles-ci sont à la fois associées aux femmes et aux hommes.<br />

Dans [2], les auteurs présentent un algorithme en O(mn) pour le problème O|ri, pij = 1|Lmax<br />

dans le cas où le nombre <strong>de</strong> machines est au moins égal au nombre <strong>de</strong> jobs. On en déduit<br />

immédiatement que les <strong>problèmes</strong> SDn≥p|rfi|Wmax et SDn≤p|rmj|Wmax se résolvent en O(np).<br />

Cet article contient également un algorithme permettant <strong>de</strong> résoudre ce problème avec n et m<br />

quelconques en O(n 5/2 p 3/2 log(mn)). L’adaptation <strong>de</strong> celui-ci permet <strong>de</strong> résoudre les <strong>problèmes</strong>


SDn≤p|rfi|Wmax et SDn≥p|rmj|Wmax en O(p 5/2 n 3/2 log p) et O(n 5/2 p 3/2 log n) respectivement.<br />

4 Nouveaux résultats <strong>de</strong> complexité<br />

À un problème d’optimisation <strong>de</strong> soirée <strong>de</strong> speed-dating <strong>de</strong> <strong>type</strong> α|β|Wmax, on associe le<br />

problème <strong>de</strong> décision : “Existe-t-il une planification <strong>de</strong>s <strong>rencontres</strong> <strong>de</strong> la soirée avec les données<br />

α sous les contraintes β avec Wmax ≤ k ?” (où k ∈ N). Ce problème est noté α|β|Wmax ≤ k.<br />

Nous proposons les nouveaux résultats <strong>de</strong> complexité suivants dont les démonstrations complètes<br />

sont détaillées dans [4].<br />

Proposition 1 Le problème SDn|Oij ∈ {0, 1}, rfi, rmj|Wmax = 0 est N P-complet.<br />

Preuve : Nous introduisons un problème <strong>de</strong> coloration d’arêtes afin d’effectuer une réduction<br />

vers notre problème. Le problème d’extension <strong>de</strong> coloration <strong>de</strong>s arêtes d’un graphe noté PrExt<br />

est un problème <strong>de</strong> coloration d’arêtes dans lequel certaines arêtes ont une couleur préaffectée.<br />

Le problème PrExt pour un graphe biparti complet Kλ,λ avec λ couleurs est N P-complet [1].<br />

Soit un graphe Kλ,λ = G(U1∪U2, E) et un sous-ensemble <strong>de</strong> ses arêtes précolorées D. La couleur<br />

<strong>de</strong> l’arête e ∈ D est notée c(e). On construit une instance <strong>de</strong> SDn|Oij ∈ {0, 1}, rfi, rmj|Wmax =<br />

0 en associant une femme à chaque sommet <strong>de</strong> U1, un homme à chaque sommet <strong>de</strong> U2 et une<br />

rencontre pour chaque arête non précolorée. Ces hommes et femmes ont une date d’arrivée<br />

nulle. Pour chaque arête [i, j] ∈ D, on ajoute <strong>de</strong>ux participants : un homme (resp. une femme)<br />

qui rencontre uniquement la femme i (resp. l’homme j) et dont la date d’arrivée est c([i, j]).<br />

La figure (1) illustre une telle transformation. Cette transformation est polynomiale.<br />

Il est facile <strong>de</strong> montrer que si une solution du PrExt considéré existe, alors il existe une solution<br />

pour SDn|Oij ∈ {0, 1}, rfi, rmj|Wmax = 0 et réciproquement. <br />

a<br />

c<br />

e<br />

1<br />

0<br />

b<br />

d<br />

f<br />

H4<br />

rh4 = 1<br />

H5<br />

rh5 = 0<br />

F1 H1<br />

F2 H2<br />

F3 H3<br />

F4<br />

rf4 = 1<br />

F5<br />

rf5 = 0<br />

FIG. 1 – Graphe biparti complet avec précoloration et son équivalent speed-dating.<br />

À partir <strong>de</strong> cette proposition, on peut démontrer <strong>de</strong> manière assez immédiate que les <strong>problèmes</strong><br />

d’optimisation <strong>de</strong> <strong>type</strong> SDn,p, SDn≤p et SDn≥p avec les contraintes {Oij ∈ {0, 1}, rfi, rmj}<br />

sont N P-difficiles.<br />

Proposition 2 Les <strong>problèmes</strong> symétriques SDn,p|Oij ∈ {0, 1}, rmj|Wmax = 0 et SDn,p|Oij ∈<br />

{0, 1}, rfi|Wmax = 0 sont N P-complets.<br />

Preuve : On opère une réduction polynomiale <strong>de</strong> SDn,p|Oij ∈ {0, 1}, rfi, rmj|Wmax = 0 vers<br />

SDn,p|Oij ∈ {0, 1}, rmj|Wmax = 0 en ajoutant <strong>de</strong>s hommes fictifs qui effectuent <strong>de</strong>s <strong>rencontres</strong><br />

avec les femmes avant leur date <strong>de</strong> disponibilité. De la même manière, on peut réduire polynomialement<br />

SDn,p|Oij ∈ {0, 1}, rfi, rmj|Wmax = 0 à SDn,p|Oij ∈ {0, 1}, rfi|Wmax = 0 en<br />

ajoutant <strong>de</strong>s femmes fictives. <br />

On démontre à partir <strong>de</strong> la proposition 2 que les tous les <strong>problèmes</strong> d’optimisation dont<br />

les contraintes sont {Oij ∈ {0, 1}, rfi} ou {Oij ∈ {0, 1}, rmj} sont N P-difficiles en ajoutant<br />

éventuellement <strong>de</strong>s participants fictifs qui n’effectuent aucune rencontre.<br />

Proposition 3 Le problème SDn,p|Oij ∈ {0, 1}|Wmax = 0 est N P-complet.


Preuve : On opère une réduction polynomiale <strong>de</strong> SDn,p|Oij ∈ {0, 1}, rmj|Wmax = 0 vers<br />

SDn,p|Oij ∈ {0, 1}|Wmax = 0 en ajoutant <strong>de</strong>s femmes fictives qui rencontrent les hommes<br />

ayant <strong>de</strong>s retards avant leur date d’arrivée. Cela n’est pas suffisant pour que tous les participants<br />

aient un nombre <strong>de</strong> créneaux d’attente nulle. On ajoute alors un certain nombre<br />

d’hommes fictifs pour combler les créneaux d’attente <strong>de</strong>s femmes fictives. <br />

De manière similaire aux résultats précé<strong>de</strong>nts, on établit que tous les <strong>problèmes</strong> d’optimisation<br />

dont l’unique contrainte est Oij ∈ {0, 1} sont N P-difficiles pour Wmax = 0 et Wmax ≤ k.<br />

5 Résumé <strong>de</strong>s résultats <strong>de</strong> complexité établis<br />

Les résultats <strong>de</strong> complexité présentés dans cet article permettent d’établir l’ensemble <strong>de</strong>s<br />

résultats du tableau (1). Le symbole ? indique un problème ouvert.<br />

α\β ∅ rfi rmj rfi, rmj<br />

n O(n 2 ) O(n 2 ) O(n 2 ) ?<br />

n ≥ p O(np) O(np) O(n 5/2 p 3/2 log(n)) ?<br />

n ≤ p O(np) O(p 5/2 n 3/2 log(p)) O(np) ?<br />

n, p O(np) O(max(n, p) 5/2 min(n, p) 3/2 log(max(n, p))) ?<br />

α\β Oij ∈ {0, 1} Oij ∈ {0, 1}, rfi Oij ∈ {0, 1}, rmj Oij ∈ {0, 1}, rfi, rmj<br />

n N P-difficile N P-difficile N P-difficile N P-difficile<br />

n ≥ p N P-difficile N P-difficile N P-difficile N P-difficile<br />

n ≤ p N P-difficile N P-difficile N P-difficile N P-difficile<br />

n, p N P-difficile N P-difficile N P-difficile N P-difficile<br />

TAB. 1 – Résultats <strong>de</strong> complexité <strong>de</strong> <strong>problèmes</strong> <strong>de</strong> speed-dating pour l’objectif Wmax.<br />

6 Conclusions et perspectives<br />

Ce travail décrit un problème d’ordonnancement <strong>de</strong> <strong>rencontres</strong> <strong>de</strong> <strong>type</strong> speed-dating. L’étu<strong>de</strong><br />

<strong>de</strong> <strong>problèmes</strong> similaires disponibles dans la littérature nous permet <strong>de</strong> dire qu’à notre connaissance,<br />

ce problème n’a été traité pour le cas dynamique que dans [3]. Nous démontrons que<br />

le problème statique du speed-dating est N P-complet dans tous le cas où <strong>de</strong>s <strong>rencontres</strong> sont<br />

interdites. Nous envisageons maintenant <strong>de</strong> déterminer la complexité <strong>de</strong>s <strong>problèmes</strong> restant<br />

ouverts et <strong>de</strong> développer <strong>de</strong>s métho<strong>de</strong>s <strong>de</strong> résolution pour ces <strong>problèmes</strong>.<br />

Références<br />

[1] C.J. Colbourn. The complexity of completing partial Latin squares. Annals of Discrete<br />

Mathematics, 8:25-30, 1984.<br />

[2] H. Kellerer, T.Tautenhahn, G. Woeginger. Open-shop scheduling with release dates to<br />

minimize maximum lateness. Naval research logistics, 42 :141-145, 1995.<br />

[3] T. Lapègue, O. Bellenguez-Morineau, C. Guéret. Scheduling of a speed-dating event. Operations<br />

Research Conference 2011, 99-100, Zurich, Switzerland, August 30 to September 2,<br />

2011.<br />

[4] A. Le Roux, O. Bellenguez-Morineau, C. Guéret, D. Prot. Démonstrations <strong>de</strong> complexité<br />

<strong>de</strong> <strong>problèmes</strong> d’ordonnancement <strong>de</strong> ren<strong>de</strong>z-vous <strong>de</strong> <strong>type</strong> speed-dating dans le cas statique.<br />

Rapport technique EMN, 12/1/AUTO, 2012.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!