• Aucun résultat trouvé

Résolution du problème du p-médian, application à la restructuration de bases de données semi-structurées

N/A
N/A
Protected

Academic year: 2021

Partager "Résolution du problème du p-médian, application à la restructuration de bases de données semi-structurées"

Copied!
133
0
0

Texte intégral

(1)

HAL Id: tel-00720204

https://tel.archives-ouvertes.fr/tel-00720204

Submitted on 24 Jul 2012

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Résolution du problème du p-médian, application à la

restructuration de bases de données semi-structurées

Jean-Christophe Gay

To cite this version:

Jean-Christophe Gay. Résolution du problème du p-médian, application à la restructuration de bases

de données semi-structurées. Autre [cs.OH]. Université Blaise Pascal - Clermont-Ferrand II, 2011.

Français. �NNT : 2011CLF22171�. �tel-00720204�

(2)

N◦ d’ordre : D.U. : 2171 EDSPIC : 536

Universit´

e Blaise Pascal - Clermont II

Ecole Doctorale

Sciences Pour l’Ing´enieur de Clermont-Ferrand

TH `

ESE

pr´esent´ee par

Jean-Christophe GAY

pour obtenir le grade de

Docteur d’Universit´

e

Sp´ecialit´e : Informatique

esolution du Probl`

eme du

p-m´edian,

Application `

a la Restructuration de Bases de

Donn´

ees Semi-Structur´

ees

Soutenue publiquement le 19 octobre 2011 devant le jury compos´e de :

Pr´esident:

Alain QUILLOT Professeur des Universit´es, Universit´e Blaise Pascal, LIMOS

Rapporteurs:

A. Ridha MAHJOUB Professeur des Universit´es, Universit´e Paris Dauphine, LAMSADE Fran¸cois VANDERBECK Professeur des Universit´es, Universit´e Bordeau 1, IMB

Examinateurs:

Fatiha BENDALI Maˆıtre de Conf´erence, Universit´e Blaise Pascal, LIMOS Farouk TOUMANI Professeur des Universit´es, Universit´e Blaise Pascal, LIMOS Eric GOURDIN Chercheur chez Orange Labs R&D

Directeur de th`ese:

(3)
(4)

Remerciements

Je tiens tout d’abord `a remercier mon directeur de th`ese, Mourad Ba¨ıou, pour m’avoir encourag´e tout au long de cette th`ese. Il a su me motiver quand il fallait et me faire d´ecouvrir la recherche.

Je remercie Ridha Mahjoub, Fran¸cois Vanderbeck pour avoir pris le temps de relire ma th`ese ainsi que pour leurs conseils et les diff´erentes corrections qu’ils ont pu apporter.

Je remercie Fatiha Bendali, Farouk Toumani et Eric Gourdin pour avoir ac-cept´e de participer `a mon jury de th`ese et pour leurs remarques pertinentes qui ont permis l’am´elioration de ce manuscrit.

Je remercie mes coll`egues et amis (en particulier Romain, C´edric, Fr´ed´erique, Olivier, H´el`ene, Ren, Heitor, Raksmey, Virginie, Christophe, Pascale. . . pour ne citer qu’eux) pour tous les moments de d´etente que l’on a pu passer ensemble et leurs conseils.

Enfin je tiens `a remercier ma conjointe pour m’avoir toujours encourag´e et pour le soutient moral qu’elle a su m’apporter pendant toute la dur´ee de cette th`ese.

(5)
(6)

esum´

e

Les probl`emes que nous consid´erons dans cette th`ese sont de nature combina-toire. Notre principal int´erˆet est le probl`eme de restructuration de donn´ees semi-structur´ees. Par exemple des donn´ees stock´ees sous la forme d’un fichier XML sont des donn´ees semi-structur´ees. Ce probl`eme peut ˆetre ramen´e `a une instance du probl`eme du p-m´edian. Le principal obstacle ici est la taille des in-stances qui peut devenir tr`es grande. Certaines instances peuvent avoir jusqu’`a 10000 ou 20000 sommets, ce qui implique plusieurs centaines de millions de variables. Pour ces instances, r´esoudre ne serait-ce que la relaxation lin´eaire du probl`eme est tr`es difficile. Lors d’exp´eriences pr´eliminaires nous nous sommes rendu compte que CPLEX peut r´esoudre des instances avec 1000 sommets dans des temps raisonnables. Mais pour des instances de 5000 sommets, il peut prendre jusqu’`a 14 jours pour r´esoudre uniquement la relaxation lin´eaire. Pour ces raisons nous ne pouvons utiliser de m´ethodes qui consid`ere la r´esolution de la relaxation lin´eaire comme une op´eration de base, comme par exemple les m´ethodes de coupes et de branchements. Au lieu d’utiliser CPLEX nous util-isons une impl´ementation parall`ele (utilisant 32 processeurs) de l’algorithme du Volume. L’instance pour laquelle CPLEX demande 14 heures est r´esolue en 24 minutes par l’impl´ementation s´equentielle et en 10 minutes par l’impl´ementation parall`ele de l’algorithme du Volume.

La solution de la relaxation lin´eaire est utilis´ee pour construire une solution r´ealisable, grˆace `a l’application d’une heuristique de construction gloutonne puis d’une recherche locale. Nous obtenons des r´esultats comparables aux r´esultats obtenus par les meilleures heuristiques connues `a ce jour, qui utilisent beaucoup plus de m´emoire et r´ealisent beaucoup plus d’op´erations. La m´emoire est impor-tante dans notre cas, puisque nous travaillons sur des donn´ees de tr`es grandes tailles.

Nous ´etudions le dominant du polytope associ´e au probl`eme du p-m´edian. Nous discutons de sa relaxation lin´eaire ainsi que de sa caract´erisation poly´ e-drale. Enfin, nous consid´erons une version plus r´ealiste du probl`eme de restruc-turation de donn´ees semi-structur´ees. Grosso modo, nous ajoutons au probl`eme du p-m´edian original des nouveaux sommets s’ils aident `a r´eduire le coˆut global des affectations.

Mots-cl´es: p-m´edian, algorithme du Volume, relaxation lin´eaire, impl´ementation parall`ele, base de donn´ee semi-structur´ee.

(7)
(8)

Abstract

The problems we consider in this thesis are of combinatorial nature. Our main interest is the problem of approximating typing of a semistructured data. For example XML is a semistructured data. This problem may be reduced to an instance of the p-median problem. The main obstacle here is the size of the instances that may be very huge, about 10000 and 20000 nodes which imply several hundreds of million variables. For these instances, even solving the linear relaxation is a hard task. In some preliminary results we noticed that Cplex may solve instances of size 1000 in an acceptable time. But for some instances having 5000 nodes, it may needs 14 days for solving only the linear relaxation. Therefore, we cannot use methods that consider the linear relaxation as an elementary operation, as for example branch-and-cut methods. Instead of using Cplex we use the Volume algorithm in a parallel implementation (32 processors). For the instance where the Cplex needs 14 hours, the Volume algorithm in sequential implementation needs 24 minutes and in parallel implementation it needs 10 minutes.

The solution of the linear relaxation is used to produce a feasible solution by first applying a greedy and then a local search heuristic. We notice that the re-sults we obtain are relatively the same as those given by the best method known up today, which produces more effort and consumes more memory. Memory is important in our case since the data we consider are huge.

We study the dominant of the polytope associated with the p-median prob-lem. We discuss linear relaxation and a polyhedral characterization. Finally, we consider a more realistic version of the p-median problem when applied to the problem of approximating typing of a semistructured data. Roughly speaking, we add new nodes to the underlying graph if this help to reduce the overall cost.

Keywords: p-median, Volume algorithm, linear relaxation, parallel implemen-tation, semi-structured database.

(9)
(10)

Table des mati`

eres

Introduction 17

1 Applications et M´ethodes 21

1.1 Quelques applications . . . 21

1.1.1 Le probl`eme des centres de commutation dans les r´eseaux de t´el´ecommunication [54, 55] . . . 21

1.1.2 Le probl`eme des lieux d’ouverture de comptes bancaires [38] . . . 22

1.1.3 Le probl`eme des proxys web [75] . . . 22

1.2 M´ethodes . . . 23

1.3 Heuristiques . . . 25

1.4 Algorithmes d’approximations . . . 27

1.5 Approche poly´edrale . . . 28

2 Bases de donn´ees semi-structur´ees et le probl`eme du p-m´edian 33 2.1 Base de donn´ees semi-structur´ee . . . 34

2.1.1 XML et bases de donn´ees semi-structur´ees . . . 38

2.1.2 Typage des donn´ees en base de donn´ees . . . 39

2.2 Restructuration de bases de donn´ees . . . 43

2.2.1 Principe . . . 43

2.2.2 R´eduction du probl`eme en une instance du probl`eme du p-m´edian . . . 45

2.2.3 Variante du probl`eme . . . 46

2.3 Cr´eation de donn´ees pour le p-m´edian . . . 48

2.3.1 Cr´eation de donn´ee `a partir d’une base de donn´ees semi-structur´ee . . . 48

2.3.2 Utilisation de probl`emes existants . . . 51

2.3.3 G´en´eration al´eatoire de donn´ees . . . 51

2.3.4 G´en´eration de donn´ees `a partir d’un DAG . . . 52

2.3.5 Environement de test . . . 54

3 R´esolution du probl`eme du p-m´edian 55 3.1 L’algorithme du Volume . . . 55

3.1.1 Relaxation Lagrangienne et sous-gradient . . . 55

3.1.2 Application au probl`eme du p-m´edian . . . 57

3.2 R´esultats de calcul pr´eliminaires . . . 59

3.3 Parall´elisation de la r´esolution du probl`eme du p-m´edian . . . 62

3.3.1 Vocabulaire . . . 64 9

(11)

10 TABLE DES MATI `ERES

3.3.2 Etude de l’algorithme du Volume . . . 65

3.3.3 Algorithmes de principe . . . 68

3.3.4 Gestion des communications . . . 71

3.3.5 Impl´ementation . . . 79

3.3.6 Etude sur le nombre de processus calculateurs . . . 79

3.3.7 R´esultats de calcul . . . 81

3.4 Heuristiques . . . 83

3.4.1 Lagrangienne . . . 84

3.4.2 Arrondi al´eatoire . . . 85

3.4.3 Respect des centres . . . 86

3.4.4 Construction gloutonne . . . 86

3.4.5 Recherche Locale . . . 91

3.5 R´esultats de calculs . . . 102

4 Mod`eles li´es au probl`eme du p-m´edian 109 4.1 Le dominant de la relaxation lin´eaire de LDSC . . . 109

4.2 R´esolution de la variante du probl`eme de restructuration de bases de donn´ees semi-structur´ees . . . 114

4.2.1 Instances . . . 114

4.2.2 Heuristiques . . . 115

4.2.3 R´esultats de calcul . . . 118

(12)

Liste des Figures

1 Base de donn´ees relationnelle repr´esentant un journal . . . 35

2 Document semi-structur´e . . . 36

3 Graphe associ´e au document de la Figure 2 . . . 37

4 Fichier XMl repr´esentant des donn´ees . . . 38

5 Graphe d’une base de donn´ees semi-structur´ee . . . 39

6 Une base de donn´ees simple . . . 41

7 Graphe des distances d’une base de donn´ees. . . 46

8 Solutions optimale `a deux probl`emes . . . 47

9 Exemple de fichier XML . . . 49

10 Exemple de fichier XML avec des r´ef´erences . . . 50

11 Simplification du diagramme de classe l’impl´ementation de l’algorithme du Volume. . . 66

12 R´ecapitulatif des acc`es aux donn´ees par les diff´erents processus. . 74

13 R´ecapitulatif des ´echanges par pipes entre les processus. . . 75

14 Liste des informations `a faire passer d’un processus calculateur au processus XtComputeur . . . 76

15 Forme des messages entre un calculateur et l’Agregateur . . . 78

16 Evolution du temps de r´esolution de la relaxation lin´eaire de notre probl`eme en fonction du nombre de processus calculateurs. . . . 80

17 Les carr´es sont ˙C, en noir sont les sommets dans ˆC et les blancs sont ceux de ˜C. (a) d´esigne un cycle g-impair qui n’est pas un Y -cyle et (b) d´esigne un Y -cycle. Les arcs du cycle sont en gras. 113 18 Le mˆeme cycle que celui de la Figure 17 (b). La valeur y∗(v) est 1 quand v n’est pas dans le cycle. Les arcs qui ne sont pas repr´esent´es dans la figure prennent la valeur 0. . . 114

(13)
(14)

Liste des Tableaux

1 Liste des m´ethodes principales du parseur Xerces-C . . . 49 2 Liste des instances du p-m´edian g´en´er´ees al´eatoirement `a partir

d’une liste d’objets respectant des d´efinitions de types avec les param`etres employ´es pour leur g´en´eration. . . 53 3 Temps de calculs obtenus avec CPLEX lors de r´esolution de la

relaxation lin´eaire du p-m´edian pour des instances de la TSPLIB. 61 4 Comparaison en temps et en valeur sur de petites instances

en-tre l’algorithme du Volume et CPLEX pour la r´esolution de la relaxation lin´eaire du p-m´edian. . . 62 5 Suite du Tableau 4 . . . 63 6 R´esultats de l’algorithme du Volume s´equentiel sur des instances

de petites et moyennes tailles. . . 64 7 Liste non exhaustive des IPCs disponibles. . . 73 8 Acc´el´erations constat´ees pour la version parall`ele de l’algorithme

du Volume pour le probl`eme du p-m´edian. . . 81 9 Comparaison entre l’algorithme du Volume s´equentiel et parall`ele

pour des instances de petites tailles. . . 82 10 Suite du Tableau 9. . . 83 11 Comparaison en valeur entre l’heuristique gloutonne “classique”

et la version modifi´ee tenant compte de la solution de la relaxation lin´eaire sur des instances de petite taille de la TSPLIB. . . 88 12 Suite du tableau 11. . . 89 13 Comparaison entre les version modifi´ee et originelle de l’heuristique

de construction gloutonne sur des petites instances. . . 90 14 Comparaison entre la solution trouv´ee par application de l’heuristique

de construction gloutonne puis d’une recherche locale et les solu-tions trouv´ee par notre m´ethode de r´esolution ainsi que la solution fournie par l’heuristique hybride. . . 92 15 Comparaison en temps entre l’impl´ementation na¨ıve et l’impl´

e-mentation de Whitaker de la recherche locale pour le probl`eme du p-m´edian. . . 95 16 Comparaison entre trois versions de la recherche locale pour le

probl`eme du p-m´edian. . . 99 17 Comparaison entre les deux versions de l’heuristique de

construc-tion gloutonne suivie d’une proc´edure de recherche locale. . . 100 18 Suite du Tableau 17 . . . 101

(15)

14 LISTE DES TABLEAUX 19 Comparaison en valeur entre l’heuristique hybride [90], l’heuristique

d´ecrite dans [5] et l’algorithme du Volume parall`ele suivit de l’heuristique gloutonne puis d’une recherche locale. . . 104 20 Suite du Tableau 19. . . 105 21 R´esolution d’instances du p-m´edian de petites tailles par l’algorithme

du Volume puis application d’une heuristique gloutonne de con-struction et d’une recherche locale. . . 106 22 R´esolution d’instances du p-m´edian de tailles moyennes par l’algorithme

du Volume puis application de l’heuristique gloutonne modifi´ee et d’une recherche locale. . . 107 23 R´esolution d’instances du p-m´edian de grandes tailles par l’algorithme

du Volume puis application de l’heuristique gloutonne modifi´ee et d’une recherche locale. . . 108 24 Diff´erents r´esultats de l’applications de la premi`ere heuristique

d´ecrite par l’Algorithme 21 sur des instances simulant des bases de donn´ees semi-structur´ees. . . 119 25 Diff´erents r´esultats de l’applications de la seconde heuristique

d´ecrite par l’Algorithme 22 sur des instances simulant des bases de donn´ees semi-structur´ees. . . 120

(16)

Liste des Algorithmes

1 Forme g´en´erique de la m´ethode du sous-gradient . . . 25

2 Forme simplifi´ee de l’heuristique Hybride [90] . . . 27

3 Generation BDD(q, k, n) . . . 52

4 SubGradient(P ) . . . 56

5 Volume(P ) . . . 57

6 R´esolution du sous-probl`eme Lagrangien . . . 59

7 Algorithme du Volume appliqu´e au probl`eme du p-m´edian . . . . 59

8 Algorithme du Volume appliqu´e au probl`eme du p-m´edian . . . . 67

9 R´esolution du sous-probl`eme Lagrangien (d´etails) . . . 68

10 Algorithme des processus Calculateurs . . . 69

11 Algorithme du processus Agregateur . . . 70

12 Algorithme du processus Maˆıtre . . . 71

13 Gestion des communications complexe dans un processus lecteur 78 14 Heuristique Lagrangienne . . . 84

15 Heuristique d’arondis al´eatoires . . . 85

16 Heuristique de construction gloutonne . . . 87

17 localSearch(J) . . . 93

18 findOut(J , fi, φ1, φ2) . . . 94

19 rechercheLocale(J, φ1, φ2) . . . 97

20 updateStructures(u, gain, loss, extra, φ1, φ2) . . . 97

21 Heur1(w, A, s1, s2, n, k, q) . . . 116

22 Heur(G, n, p, A, k) . . . 117

(17)
(18)

Introduction

Dans cette th`ese, nous nous int´eressons au probl`eme de restructuration de donn´ees semi-structur´ees. Nous montrerons comment ce probl`eme peut se r´ e-duire `a une instance du probl`eme du p-median et comment le r´esoudre pour des instances de tr`es grandes tailles. Le probl`eme du p-m´edian est un probl`eme d’optimisation combinatoire, c’est-`a-dire qu’il peut se formuler par un pro-gramme lin´eaire en nombres entiers. La diff´erence entre les programmes lin´eaires classiques et les programmes lin´eaires en nombres entiers est que, dans cette deuxi`eme classe, les variables de la solution optimale doivent ˆetre enti`eres alors que, dans les programmes classiques, nous n’avons pas cette restriction.

Le probl`eme du p-median est une variante de la classe des probl`emes de localisation dans le domaine de l’optimisation combinatoire. Malgr´e une riche litt´erature dans ce domaine et les nombreuses m´ethodes d´evelopp´ees pour r´ e-soudre ce genre de probl`eme, il n’existe pas de m´ethode pour r´esoudre des instances de tr`es grandes tailles. Il est mˆeme difficile de r´esoudre la relax-ation lin´eaire classique associ´ee `a ce probl`eme. Bien entendu, plusieurs heuris-tiques ont ´et´e d´evelopp´ees et donnent des r´esultats satisfaisants, mais sans une ´evaluation de la borne inf´erieure (nous traitons un probl`eme de minimisation) les r´esultats des heuristiques qui ne se basent pas sur la r´esolution de la relaxation lin´eaire ne peuvent pas ˆetre interpr´et´es. Une des bornes inf´erieures connues dans la litt´erature est la valeur de la solution optimale de la relaxation lin´eaire, bien entendu, on pourra l’am´eliorer avec l’ajout de contraintes valides. Une raison de plus qui rend indispensable la r´esolution de cette relaxation lin´eaire, et il est crucial de pouvoir la r´esoudre dans des temps raisonnables.

Etant donn´e un graphe dirig´e G = (V, A) et des coˆuts c(u, v) associ´es `a chaque arc (u, v), le probl`eme du p-m´edian (pMP) consiste en la s´election de p sommets appel´es des centres et l’affectation des sommets non s´electionn´es aux centres tout en minimisant la somme totale de l’affectation. Ce probl`eme est NP-Complet mˆeme lorsque la fonction coˆut c est une m´etrique [49, 70, 87, 80]. Il est polynomial dans certaines classes de graphes comme les arbres [70] o`u la fonction coˆut a une certaine forme. Il est aussi polynomial dans des classes de graphes d´efinies par des structures interdites [8].

La relaxation lin´eaire classique du probl`eme du p-median associ´e au graphe G, not´e par RLpMP(G), est la suivante :

(19)

18

Introduction

RLpMP(G) = ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ minimiser  (u,v)∈A c(u, v)x(u, v),  v∈V y(v) = p,  (u,v)∈A x(u, v) + y(u) = 1 ∀ u ∈ V, x(u, v)≤ y(v) ∀(u, v) ∈ A,

x(u, v)≥ 0 ∀(u, v) ∈ A,

y(u)≥ 0 ∀u ∈ V.

Les instances qui nous int´eressent contiennent plusieurs centaines de mil-lions de variables. Et, compte tenu de la d´eg´en´erescence naturelle du probl`eme, les solveurs commerciaux bas´es sur la m´ethode du simplexe ne peuvent pas r´esoudre de telles instances. Une des m´ethodes utilis´ees pour r´esoudre cette re-laxation lin´eaire est la relaxation Lagrangienne [38, 41, 17, 5, 22] qui s’av`ere tr`es performante, mais le nombre de variables dans les instances trait´ees est moins important que les centaines de millions de variables que nous voulons traiter. De plus, la relaxation Lagrangienne est utilis´ee comme outil pour obtenir une borne inf´erieure et non pour obtenir la solution de la relaxation lin´eaire. Dans cette th`ese, nous utilisons l’algorithme du Volume [2] pour obtenir une solution approch´ee de la solution optimale de RLpMP(G). Cet algorithme utilise la relax-ation Lagrangienne et la m´ethode du sous-gradient pour maximiser la fonction Lagrangienne de la relaxation. `A chaque ´etape de la m´ethode du sous-gradient, l’algorithme du Volume produit une solution primale par des combinaisons con-vexes des diff´erentes solutions du sous-probl`eme Lagrangien. Les coefficients de cette combinaison sont mis `a jour `a chaque it´eration. L’algorithme s’arrˆete quand la violation des contraintes relax´ees est n´egligeable. Nous verrons que l’algorithme du Volume r´esoud des instances intraitables par CPLEX, mais les temps d’ex´ecution peuvent ˆetre importants. Pour les r´eduire, nous proposons une parall´elisation de l’algorithme du Volume, nous avons not´e que la diminution du temps est fortement li´ee au nombre de processeurs de la machine. Plusieurs exp´erimentations sont men´ees pour ´evaluer la performance et la comparaison de plusieurs heuristiques.

Nous nous int´eresserons ´egalement au probl`eme de localisation de d´epˆots sans capacit´es (LDSC), un probl`eme li´e au probl`eme du p-median. Dans le probl`eme LDSC, le nombre de centres `a ouvrir n’est pas fix´e `a l’avance et chaque ouverture entraine un coˆut fixe. Donc, le probl`eme LDSC est d´efini par la donn´ee d’un graphe dirig´e G = (V, A), un coˆut c(u, v) pour chaque arc (u, v) ∈ A et un coˆut f (u) pour chaque sommet u∈ V . La relaxation lin´eaire classique du probl`eme LDSC, not´ee par LDSC(G), est la suivante:

LDSC(G) = ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ minimiser  (u,v)∈A c(u, v)x(u, v) + u∈V f (u)y(u),  (u,v)∈A

x(u, v) + y(u) = 1 ∀u ∈ V,

x(u, v)≤ y(v) ∀(u, v) ∈ A,

x(u, v)≥ 0 ∀(u, v) ∈ A,

(20)

19 Comme pour le probl`eme du p-m´edian la r´esolution de LDSC(G) par CPLEX est difficile pour les instances de tr`es grandes tailles, mˆeme si le probl`eme est un peu plus facile que celui du p-m´edian. L’algorithme du Volume a ´et´e appliqu´e dans [12] pour r´esoudre LDSC(G). Des modifications de la m´ethode du simplexe pour traiter les contraintes x(u, v)≤ y(v) s´epar´ement des autres contraintes ont ´et´e propos´ees dans [95, 101], alors que dans [83] ces contraintes sont trait´ees comme des coupes et sont ajout´ees au fur et `a mesure quand c’est n´ecessaire. Nous donnons la description du dominant du polytope de la relaxation lin´eaire LDSC(G) et nous montrons la similitude entre l’optimisation sur ce dominant et la m´ethode dans [83].

Les probl`emes de localisation proches de la forme ´etudi´ee dans cette th`ese ont ´et´e introduits dans les ann´ees 50, l’application typique est la distribution d’un certain bien depuis des entrepˆots potentiels aux clients au moindre coˆut [16]. Un entrepˆot potentiel signifie que la construction d’un entrepˆot dans un site, qui g`en`ere un certain coˆut pris en compte dans le coˆut total, n’est effective que s’il contribue `a la solution optimale. Donc, si nous connaissons les entrepˆots de la solution optimale, les seuls coˆuts qui restent variables sont ceux de livraison (transport) aux clients qui est un probl`eme facile `a r´esoudre. Dans sa version originale, les entrepˆots peuvent avoir des capacit´es et les clients des demandes. La version plus simple (sans capacit´es) formul´ee par le programme lin´eaire en nombres entiers LDSC(G) auquel nous ajoutons l’exigence sur l’int´egrit´e des variables a ´et´e initialement rencontr´ee dans [77, 11]. D’autres types de probl`emes de localisation ont ´et´e trait´es `a savoir quand le site d’installation d’un entrepˆot n’est pas connu et se situe dans une r´egion “continue” (voir [47]). Dans cette th`ese nous ´etudions la version dans laquelle les entrepˆots se situent dans une r´egion discr`ete (voir [82]).

Cette th`ese est organis´ee comme suit. Dans le Chapitre 1, nous pr´esenterons diverses applications du probl`eme du p-m´edian ainsi que des m´ethodes utilis´ees pour le r´esoudre. Nous pr´esenterons aussi, plus en d´etails, la formulation clas-sique de ce probl`eme et deux reformulations de la litt´erature.

Dans le Chapitre 2, nous introduirons le probl`eme d’extraction de sch´ema d’une base de donn´ees semi-structur´ee. Nous discuterons de sa forme g´en´erale qui est intraitable et ensuite nous pr´esenterons une version simplifi´ee et nous montrerons comment elle peut se r´eduire au probl`eme du p-m´edian.

Le Chapitre 3 introduit l’algorithme du Volume et son application pour r´esoudre la relaxation lin´eaire RLpMP(G) du probl`eme du p-m´edian. Nous dis-cuterons des d´etails qui permettent une impl´ementation parall`elle de ce probl`eme. Dans ce mˆeme chapitre, plusieurs exp´erimentations seront effectu´ees pour es-timer la qualit´e de cette parall´elisation et nous pr´esenterons quelques heuris-tiques naturelles qui se basent sur la solution de RLpMP(G) pour donner une solution r´ealisable.

Enfin, dans le Chapitre 4, nous pr´esentons le probl`eme de localisation de d´epˆot et la caract´erisation du dominant du polytope de sa relaxation lin´eaire, LDSC(G). Il sera discut´e quelques cas o`u ce dominant d´efini un poly`edre en-tier. Des r´esultats exp´erimentaux seront donn´es pour comparer la r´esolution de LDSC(G) et celle sur le dominant par la m´ethode du simplex. Dans ce mˆeme chapitre, nous pr´esenterons des heuristiques permettant de r´esoudre une variation du probl`eme de restructuration des bases de donn´ees semi-structur´ees. Les notations et d´efinitions seront donn´ees juste avant leur premi`ere intro-duction. Les notations suivent en g´en´eral ce qui est souvent utilis´e dans la

(21)

20

Introduction

(22)

Chapitre 1

Applications et M´

ethodes

1.1

Quelques applications

1.1.1

Le probl`

eme des centres de commutation dans les

eseaux de t´

el´

ecommunication [54, 55]

L’information qui transite dans un r´eseau g´en´eral doit passer par un certain nombre de commutateurs S1, . . . , Sp. Cette information peut ˆetre le contenu

d’un message dans un r´eseau de t´el´ecommunication. Nous imaginons un r´eseau de t´el´ecommunication comme un graphe G = (V, A), o`u les sommets repr´esentent des centres t´el´ephoniques et les arˆetes des connexions potentielles (en fibre op-tique) entre ces centres t´el´ephoniques. Chaque sommet v est associ´e avec un poids hv qui d´esigne le nombre de fils (lignes) n´ecessaires pour connecter le

sommet v `a un commutateur, et chaque arˆete (u, v) d´esigne le coˆut unitaire d’utilisation de cette connexion. Il est important de noter que les commuta-teurs sont install´es sur les sommets et/ou sur les arˆetes. Le probl`eme est de trouver l’installation qui minimise la somme totale de la longueur des lignes entre les sommets et les commutateurs.

La distance entre toute paire de sommets u et v, not´ee par d(u, u), est la longueur de la plus courte chaˆıne dans G entre u et v. La longueur d’une chaˆıne est la somme des poids de ses arˆetes. Soit Xpun ensemble de points x1, . . . , xp

dans G qui ne sont pas n´ecessairement tous des sommets. Soit d(vi, Xp) = min{d(vi, x1), . . . , d(vi, xp)},

o`u les visont pr´ecis´ement les sommets de G. Le probl`eme revient `a trouver

un ensemble “p-m´edian” de points Xp∗tel que pour n’importe quel ensemble de

points Xp de cardinalit´e p, nous avons :

 vi∈V hid(vi, Xp∗)≤  vi∈V hid(vi, Xp).

Il n’est pas difficile de voir qu’il existe toujours un ensemble de points Xp∗

qui correspond `a un ensemble de sommets Vp∗ de V . Mais la r´eciproque n’est

pas vraie. Dans l’article [55], Hakimi propose une r´eduction au probl`eme de couverture de sommets, ensuite il ´enum`ere toutes les solutions possibles de ce probl`eme via les fonctions bool´eennes [78, 61]

(23)

22 CHAPITRE 1. APPLICATIONS ET M ´ETHODES

1.1.2

Le probl`

eme des lieux d’ouverture de comptes

ban-caires [38]

Le nombre de jours n´ecessaires pour encaisser un ch`eque dans une banque situ´ee dans une ville i depend de la ville j o`u le ch`eque a ´et´e d´epos´e. Par cons´equent, une compagnie qui doit r´egler ses factures `a plusieurs clients a int´erˆet `a ouvrir des comptes dans plusieurs endroits strat´egiques afin de maximiser ses fonds disponibles. Elle aimerait payer un client de la ville i `a partir d’une banque d’une ville j qui maximise le nombre de jours n´ecessaires pour l’encaisser.

La formulation de ce probl`eme est la suivante : soit I ={1, . . . , m} l’ensemble de sites o`u se situent les clients et J = {1, . . . , n} les sites potentiels o`u des comptes bancaires peuvent ˆetre ouverts. Soient dj le coˆut fixe pour maintenir

un compte au site j, fila valeur (en euros) totale des ch`eques `a payer aux clients

dans le site i et φij est le nombre de jours n´ecessaires pour encaisser un ch`eque

dans le site i et qui est d´epos´e dans le site j. Soient yj =



1 si un compte est maintenu dans le site j, 0 sinon,

xij =



1 si le client dans le site i est pay´e depuis un compte dans le site j, 0 sinon.

Donc le probl`eme des lieux d’ouverture de comptes bancaires peut se for-muler par le programme lin´eaire en nombres entiers suivant:

(LOCB) ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ Maximiser  i∈I  j∈J cijxij−  j∈J djyj  j∈J xij = 1, ∀i ∈ I 1≤ j yj ≤ K, 0≤ xij ≤ yj ≤ 1 ∀i ∈ I, j ∈ J xij, yj∈ {0, 1}, ∀i ∈ I, j ∈ J.

1.1.3

Le probl`

eme des proxys web [75]

Un proxy est un programme servant d’interm´ediaire pour acc´eder `a un r´eseau, g´en´eralement Internet. Dans ce cas, le r´eseau est suppos´e ˆetre une arborescence T avec un sommet racine r. L’ensemble des sommets de T est not´e par V (T ). Les arcs de T sont dirig´es des feuilles vers la racine. Un sommet v de T fait une demande de service, comme la connexion `a une adresse http. Cette demande se propage du sommet v vers la racine `a travers l’arborescence. Cette propagation s’arrˆete quand un proxy est rencontr´e. Le probl`eme revient `a placer un nombre fixe de proxys dans les sommets de T de sorte que la distance parcourue par les demandes faites au niveau de chaque sommet soit minimale.

Chaque sommet v de T a un poids w(v) qui correspond en g´en´eral `a la fr´equence des demandes pass´ees depuis ce sommet. Chaque arc (u, v) est associ´e avec une distance d(u, v) qui prend en compte le trafic et la congestion observ´ee sur cet arc. La d´efinition de la distance peut ˆetre ´etendue d’un sommet `a un de ses ancˆetres et pas seulement d’un sommet `a son p`ere. C’est-`a-dire que la distance d’un sommet u `a v est la somme des distances des arcs composants le chemin de u `a v (v est un ancˆetre de u donc il est sur le chemin de u vers la racine

(24)

1.2. M ´ETHODES 23 r). Soit V⊆ V (T ) un sous-ensemble de sommets de T , si v est un sommet de T , v d´esigne l’ancˆetre le plus proche de v dans V. Donc, le probl`eme revient `

a d´efinir les p proxys qui minimisent{c(T, V) : V⊆ V (T ), |V| = p}, o`u c(T, V) = 

v∈V (T )

w(v)d(v, v).

La diff´erence entre ce mod`ele et le probl`eme du p-m´edian classique pMP introduit plus haut, r´eside dans l’affectation des sommets non-s´electionn´es aux centres. Dans le mod`ele classique, l’affectation se fait d’un voisin `a un autre, alors que, dans ce mod`ele, elle se fait d’un sommet u `a un sommet v mˆeme s’ils ne sont pas voisins, mais il faut qu’ils se trouvent dans le chemin unique de u vers t la racine de l’arborescence.

Un algorithme de complexit´e O(p2n2), o`u n = |V (T )|, a ´et´e donn´e dans [70]. Un autre algorithme de complexit´e O(pn3) a ´et´e developp´e par Hsu [66]. Par l’application de la programmation dynamique un algorithme de complexit´e O(pn2) est pr´esent´e dans [98]. Plus r´ecemment, nous relevons un algorithme en O(P p2) [103] bas´e sur la programmation dynamique, o`u P d´esigne la somme du nombre d’ancˆetres de chaque sommet de l’arborescence. D’autres algorithmes bas´es sur les mˆemes techniques existent pour des cas plus simples. Dans le cas d’une chaˆıne, il existe un algorithme en O(pn) [60]. Dans le cas d’arbres, pour p = 2 et p = 3, des algorithmes en O(n log n) et O(n log2n) ont ´et´e d´evelopp´es par Chrobak et al. [33].

1.2

ethodes

La d´efinition du probl`eme du p-m´edian et sa relaxation lin´eaire

La donn´ee est une constante p et un graphe dirig´e G = (V, A), o`u chaque arc (u, v)∈ A est associ´e avec un poids d(u, v) (qui, en g´en´eral et dans plusieurs applications, est une m´etrique) et chaque sommet v ∈ V est associ´e avec un poids w(v). Etant donn´e un sous-ensemble S ⊆ V et v ∈ V \ S, le sommet Sv

est d´efini comme suit :

Sv= argminu∈S{w(v)d(v, u)}.

Noter que pour deux sommets diff´erents v et vdans V\S, Svet Sv peuvent

co¨ıncider. Les sommets dans S sont appel´es m´edians ou centres.

Le probl`eme du p-m´edian (classique) pMP revient `a d´eterminer un sous-ensemble S⊆ V , |S| = p, qui minimise 

v∈V \S

w(v)d(u, Sv).

Quand on ´ecrit pMP(G), c’est pour pr´eciser que le probl`eme du p-m´edian est associ´e au graphe G o`u, au pr´ealable, nous avons d´efini les poids des arcs et des sommets. Le probl`eme pMP(G) peut ainsi se formuler par le programme lin´eaire en nombres entiers suivant :

(25)

24 CHAPITRE 1. APPLICATIONS ET M ´ETHODES Z(pMP(G)) = minimiser  (u,v)∈A w(u)d(u, v)x(u, v) (1.1)  v∈V y(v) = p, (1.2)  v:(u,v)∈A

x(u, v) = 1− y(u) ∀u ∈ V, (1.3) x(u, v)≤ y(v) ∀(u, v) ∈ A, (1.4)

y(v)≥ 0 ∀v ∈ V, (1.5)

x(u, v)≥ 0 ∀(u, v) ∈ A, (1.6)

x∈ {0, 1}|A|, y∈ {0, 1}|V |. (1.7) La variable y(u) prend la valeur 1, si le sommet u est s´electionn´e c’est-`

a-dire qu’il est consid´er´e comme un m´edian, et 0 sinon. La variable x(u, v) prend la valeur 1 quand un sommet u non-s´electionn´e est affect´e au m´edian v. Donc l’´egalit´e (1.2) impose la s´election d’exactement p m´edians. L’addition des in´egalit´es (1.4) qui indiquent qu’aucun sommet ne peut ˆetre affect´e `a un sommet qui n’est pas un m´edian, implique que, dans les ´egalit´es (1.3), si u n’est pas un m´edian alors il doit ˆetre affect´e `a un m´edian.

Nous donnons maintenant une d´efinition du probl`eme du k-centres pour permettre aux lecteurs de diff´erencier les deux probl`emes k-centres et p-m´edian. Mˆeme si parfois nous appelons les m´edians des centres, les deux probl`emes sont diff´erents.

Le probl`eme duk-centres. La donn´ee du probl`eme et l’ensemble des solutions r´ealisables sont les mˆemes que pour le probl`eme du p-m´edian ci-dessus. Par contre, nous cherchons un sous-ensemble S ⊆ V , |S| = k qui minimise la fonction objective suivante:

max{minu∈S{w(v)d(u, v)}; v ∈ V \ S}. Relaxation Lagrangienne dup-m´edian

Avant de rentrer dans les d´etails de certaines m´ethodes, nous allons d’abord pr´esenter la relaxation Lagrangienne (une m´ethode duale) appliqu´ee au pMP initialement appliqu´ee pour ce probl`eme dans [50]. Si nous dualisons les ´egalit´es (1.3) et nous notons par π le vecteur des multiplicateurs duaux, g´en´eralement appel´es les multiplicateurs de Lagrange, le sous-probl`eme Lagrangien s’´ecrira comme suit : L(π) = Minimiser  (u,v)∈A ¯ c(u, v)x(u, v)− u∈V π(u)y(u) + u∈V π(u) (1.8)

(26)

1.3. HEURISTIQUES 25 

u∈V

y(u) = p, (1.9)

x(u, v)≤ y(v) for all (u, v) ∈ A, (1.10) 0≤ y(u) ≤ 1 for all u∈ V, (1.11) x(u, v)≥ 0 for all (u, v) ∈ A. (1.12) o`u ¯c(u, v) = w(u)d(u, v)− π(u).

Le calcul de L(π) est facile [18] et se fait comme suit : pour chaque sommet v∈ V , nous calculons :

μ(v) = 

(u,v):¯c(u,v)≤0

¯

c(u, v)− π(v).

Ensuite, nous choisissons les p plus petites valeurs μ(v) pour v ∈ V , ap-pelons les μ(v1), . . . , μ(vp). Alors la solution optimale de (1.8)-(1.12) est obtenue

comme suit : y(vi) = 1 pour i = 1, . . . , p; x(u, vi) = 1 si ¯c(u, vi)≤ 0, pour chaque

arc (u, vi)∈ A, avec u ∈ V \{v1, . . . , vp}, i = 1 . . . , p. Toutes les autres variables

prennent la valeur 0. Il est clair que

maxπ∈IR{L(π)} ≤ z(pMP(G)).

Le probl`eme

L(π∗) = maxπ∈IR{L(π)} (1.13)

se r´esout par une m´ethode it´erative appel´ee la m´ethode du sous-gradient.

Algorithme 1Forme g´en´erique de la m´ethode du sous-gradient 0. Poser t = 0; πt= 0.

1. Calculer L(πt) en r´esolvant (1.8)-(1.12); soit (xt, yt) la solution optimale

obtenue; d´efinir vt, o`u vt(u) = 1− yt(u)  (u,v)∈A

xt(u, v).

2. Si|vt| ≤  ou que la valeur L(πt) ne change pas beaucoup apr`es un

cer-tain nombre d’it´erations ou que le nombre d’it´erations a atteint une certaine limite, arrˆeter la proc´edure.

3. Poser t = t + 1; πt

= πt−1+ s∗ vt−1, aller `a l’´etape 1.

Le pas s de l’avancement de cette m´ethode est une valeur empirique et elle est fix´ee selon des crit`eres heuristiques qui peuvent changer d’un probl`eme `a un autre.

1.3

Heuristiques

Dans ce qui suit, nous pr´esenterons les heuristiques qui ne sont pas bas´ees sur la solution de la relaxation lin´eaire (1.1)-(1.6). En effet, les heuristiques bas´ees sur cette relaxation lin´eaire n’ont jamais ´et´e consid´er´ees pour le probl`eme du p-median o`u les instances contiennent plusieurs centaines de millions d’arcs, car

(27)

26 CHAPITRE 1. APPLICATIONS ET M ´ETHODES il est d´ej`a assez coˆuteux de r´esoudre uniquement la relaxation lin´eaire. Nean-moins, nous trouvons des heuristiques utilisant la valeur de la relaxation lin´eaire du probl`eme de localisation de d´epˆots [12]. Comme le principal travail de cette th`ese est l’acc´eleration de la r´esolution de (1.1)-(1.6) pour les grandes tailles, nous avons ´egalement investi plusieurs heuristiques bas´ees sur la solution de cette relaxation, ces heuristiques seront pr´esent´ees dans la Section 3.4.

• Heuristiques gloutonnes [73, 96, 69, 38, 105]. Les heuristiques gloutonnes sont les plus simples. Initialement, nous avons un m´edian v∗, choisi comme ´etant le meilleur parmi tous les sommets lorsque nous d´ecidons de n’en s´electionner qu’un seul. La valeur de cette solution, ap-pel´ee la solution courante estu∈V w(u)d(u, v∗). L’heuristique gloutonne classique s´electionne un par un les m´edians jusqu’`a ce qu’elle arrive `a p m´edians. A chaque ´etape, elle s´electionne le m´edian qui procure la plus grande diminution de la valeur de la solution courante. D’autres variantes, dont la plupart sont bas´ees sur certaines r`egles de choix al´eatoires ont ´et´e pr´esent´ees par Resende et Werneck [90]. Nous avons introduit une heuris-tique gloutonne bas´ee sur la solution de la relaxation lin´eaire (1.1)-(1.6), cette heuristique sera d´etaill´ee dans la Section 3.4.4.

• Heuristiques de recherche locale [77, 99, 65, 58, 59, 48, 89]. Le principe de ces heuristiques est de s´electionner un ensemble S de cardi-nalit´e p de sommets et de les consid´erer comme m´edians. Ensuite pour chaque sommet v /∈ S on cherche un sommet u dans S, on ´evalue la valeur de la nouvelle solution induite par les m´edians (S\{v})∪{u}, si on diminue la valeur de la solution courante alors S sera mis `a jour, il devient (S\ {v}) ∪ {u}. On continue ainsi de suite jusqu’`a ce qu’aucune am´elioration ne soit possible, en respectant toujours cette r`egle d’interchanger deux sommets. Ces heuristiques varient par le choix de la solution initiale et le choix de la r`egle d’interchanger les sommets, comme par exemple inter-changer des sommets qui g´en`erent la plus grande diminution ou bien le faire d`es qu’il est possible.

• Heuristiques Lagrangiennes [18]. Ces heuritiques se basent sur la so-lution (x, y) donn´ee par le sous-probl`eme Lagrangien (1.8)-(1.12). Comme nous l’avons vu ci-dessus, la solution (x, y) est enti`ere, alors l’heuristique choisi comme m´edians les p sommets tel que y(u) = 1. Ensuite chaque sommet avec y(u) = 0 est affect´e au plus proche sommet v avec y(v) = 1. Cette heuristique est rapide, elle est donc appliqu´ee plusieurs fois durant le processus de la m´ethode du sous-gradient. La meilleure solution trouv´ee sera gard´ee comme ´etant la solution heuristique. Nous avons remarqu´e que cette heuritique ne produit pas de solutions de bonne qualit´e. La mesure de la qualit´e d’une solution est toujours compar´ee avec la borne duale (1.13).

• Heuristique Hybride [90]. C’est l’une des meilleures heuristiques sur le plan des r´esultats empiriques. Bien entendu pour pouvoir ´evaluer sa performance nous avons besoin de la valeur de la borne dual (1.13) qui ne peut ˆetre obtenue que par la parall´elisation de l’algorithme du Vol-ume pour les tr`es grandes instances, parall´elisation qui sera d´etaill´ee dans

(28)

1.4. ALGORITHMES D’APPROXIMATIONS 27 la Section 3.3. L’id´ee principale de cette heuristique est l’application in-tensive de la recherche locale en suivant la proc´edure du chemin-reliant “path-relinking”. Soit S1et S2deux sous-ensembles de V , chacun de car-dinalit´e p. La proc´edure du chemin-reliant de S1`a S2transforme S1en S2 en incluant `a chaque ´etape un ´el´ement de S2\S1`a S1, et elle fait sortir un ´

el´ement de S1\ S2. Nous pourrons ´egalement imaginer un chemin-reliant de S2 `a S1 et appliquer l’id´ee inversement. La proc´edure chemin-reliant donne la meilleure solution trouv´ee en allant de S1 `a S2. Dans [90], une autre strat´egie est adopt´ee. Elle donne un minimum local, c’est-`a-dire une solution qui est succ´ed´ee et pr´ec´ed´ee, dans le chemin-reliant, par des so-lutions moins bonnes. Si un tel minimum n’existe pas, alors elle retourne une des solutions extrˆemes.

Algorithme 2Forme simplifi´ee de l’heuristique Hybride [90] 0. it = 0; Liste-Elite=∅

1. Si it≤ Max it, soit S ⊆ V , |S| = p, g´en´er´e al´eatoirement; am´eliorer la valeur de S par recherche locale, S est l’ensemble des m´edians qui donne la meilleure solution.

2. Choisir S dans Liste-Elite selon certaines r`egles.

3. Si S existe, appliquer la proc´edure du chemin-reliant de S `a S, soit S la solution retourn´ee; ajouter S `a Liste-Elite; it = it + 1; aller `a l’Etape 1. 4. Appliquer une heuristique g´en´etique o`u la g´en´eration initiale est Liste-Elite. Les g´en´erations futures seront cr´e´es par la proc´edure du chemin-reliant entre les solutions de la g´en´eration courante. La proc´edure s’arrˆete quand aucune am´elioration n’est possible.

1.4

Algorithmes d’approximations

Soit (P ) un probl`eme d’optimisation combinatoire et soit z∗ la valeur d’une solution optimale de (P ). Soit A un algorithme qui nous donne une solution r´ealisable z(A) pour le probl`eme (P ), c’est-`a-dire une solution qui v´erifie toutes les contraintes de ce probl`eme, mais qui n’a pas forc´ement la meilleure valeur. Nous dirons que A est un algorithme α-approximation si z(A) ≤ αz∗, α > 1, quand (P ) est un probl`eme de minimisation. Lorsque (P ) est un probl`eme de maximisation, A sera dit un alogorithme α-approximation si z(A)≥ αz∗ avec 0 < α < 1. La valeur α est appel´ee le facteur d’approximation. Quand ce facteur est une constante, nous parlerons alors d’algorithmes d’approximations `

a facteur constant.

Le premier algorithme d’approximation `a facteur constant a ´et´e pr´esent´e en 1999 dans [28, 30], c’est un algorithme 623-approximation. Auparavant, d’autres algorithmes ´etaient connus avec un facteur non-constant, il d´epend du nombre de sommets de l’instance. Un algorithme O(log n log log n)-approximation est donn´e par Bartal [14, 15]. Le mˆeme algorithme est am´elior´e par Charikar et al. [29] pour atteindre un facteur de O(log p log log p). Dans [76], un algorithme (1 + )-approximation a ´et´e d´evelopp´e, pour tout  > 0, mais le nombre de m´edians ouverts peut aller jusqu’`a (1 + 1)(ln n + 1)p. Peu de temps apr`es, le facteur constant de 623 a ´et´e ramen´e `a 6 [67, 68]. Dans cet article, les auteurs donnent un algorithme d’approximation primal-dual pour le probl`eme de

(29)

local-28 CHAPITRE 1. APPLICATIONS ET M ´ETHODES isation de d´epˆots ayant un facteur d’approximation ´egal `a 3. En utilisant la relaxation Lagrangienne ils transforment ce facteur en 6 pour le probl`eme du p-median. Ce facteur a ´et´e encore r´eduit `a 4 par Charikar et Guha [27]. Finale-ment les algorithmes de recherche locale atteignent un facteur d’approximation ´

egal 3+2s [3] o`u s est le nombre de sommets qu’on autorise `a interchanger `a chaque it´eration. Bien entendu, tous les algorithmes cit´es ci-dessus sont polyno-miaux, ces r´esultats ne tiennent que lorsque la fonction objectif est une m´etrique. Sauf le r´esultat dans [76] qui est vrai quand la fonction objectif est positive et quelconque ; rappelons que dans ce cas le nombre de m´edians peut largement d´epasser p.

Concernant la complexit´e du pMP, il est connu qu’il est mˆeme NP-dur d’obtenir un algorithme (1 + 2e − )-approximation dans le cas m´etrique. Ci-dessous nous donnons la preuve qu’il est NP-dur de trouver un algorithme poly-nomial (1 + )-approximation, pour tout  > 0, dans le cas o`u la matrice des coˆuts est sym´etrique (ce qui est le cas des m´etrique). Un algorithme (1 + )-approximation est appel´e un sch´ema d’approximation.

Th´eor`eme 1.4.1. [76] Le probl`eme qui consiste `a trouver pour tout  > 0, une solution du p-m´edian de valeur au plus 1 +  fois la valeur de l’optimum est NP-dur.

Preuve. Une r´eduction `a partir du probl`eme du dominant taille p sera donn´ee. Le probl`eme du dominant de taille p. Etant donn´e un graphe non-dirig´e G = (V, E) et une constante p, existe-t-il un sous-ensemble Dp⊆ V de taille p

tel que tout sommet v∈ V \ Dp est adjacent `a au moins un sommet de Dp.

Etant donn´es un graphe non-dirig´e G = (V, E), une constante 0≤ p ≤ |V | et  > 0, construire le graphe dirig´e complet G = (V, A) comme suit : chaque arˆete uv de G est remplac´ee par deux arcs (u, v) and (v, u) chacune avec un coˆut c(u, v) = c(v, u) = 1 ; pour chaque non-arˆete de uv de G, on ajoute deux arcs (u, v) et (v, u) de mˆeme coˆut c(u, v) = c(v, u) = (1 + )(n− p) + 1. Donc, le graphe G et les coˆuts c d´efinissent une instance du probl`eme du p-m´edian.

Si le graphe G admet un dominant de taille p, alors par d´efinition la valeur de la solution optimale du p-m´edian sera n− p. Donc, un algorithme (1 + )-approximation d´elivre une solution de valeur inf´erieure ou ´egale `a (1 + )(n− p). Par contre, si G n’admet pas un dominant de taille p, alors n’importe quelle solution du p-m´edian enpruntera un arc de coˆut (1 + )(n− p) + 1 (cet arc correspond `a une non-arˆete de G). En r´esum´e, si la valeur de la solution donn´ee par l’algorithme (1 + )-approximation est inf´erieure ou ´egale `a (1 + )(n− p), alors G admet un dominant de cardinalit´e p, sinon G n’admet pas un tel dominant.

1.5

Approche poly´

edrale

Avant de pr´esenter les r´esultats et la m´ethode bas´ee sur la programmation lin´eaire, nous avons besoin d’introduire quelques d´efnitions.

• Poly`edre. Un poly`edre P est un ensemble de points de IRn

satisfaisant un nombre fini d’in´egalit´es lin´eaires, c’est-`a-dire P ={x ∈ IRn : Ax≥ b}. • Polytope. Un poly`edre born´e est appel´e polytope.

(30)

1.5. APPROCHE POLY´EDRALE 29 • In´egalit´e valide. Soit P un poly`edre dans IRn

. Une in´egalit´e aTx≥ α est valide pour P si elle est v´erifi´ee par chacun des points de P , P ⊆ {x ∈ IRn : aTx≥ α}.

• Combinaison convexe. Soit S = {x1, . . . , xk} un ensemble de points

de IRn. Un point x∈ IRn peut ˆetre obtenu par combinaison convexe des points de S s’il existe des scalaires positifs λ1, . . . , λk tels que

x = k  i=1 λixi, k  i=1 λi= 1, λi≥ 0, pour i = 1, . . . , k.

• Enveloppe convexe. Soit S = {x1, . . . , xk} un ensemble de points de

IRn. L’enveloppe convexe des points de S not´ee conv(S) est l’ensemble de tous les points de IRn pouvant ˆetre obtenus par combinaison convexes de points de S.

• Dimension Un poly`edre P dans IRn

est de dimension k, not´e dim(P ) = k, si le nombre maximum de points de P affinement ind´ependants est k + 1. • Ind´ependance affine. Soit {x1, . . . , xk} un ensemble de points de IRn.

Ces k points sont dits affinement ind´ependants si le syst`eme

k  i=1 λixi= 0, k  i=1 λi= 0,

a comme solution unique λi= 0 pour i = 1, . . . , k.

• Face. Soit P = {x ∈ IRn

: Ax≥ b} un poly`edre de IRn et aTx≥ α une

in´egalit´e valide pour P . L’ensemble F ={x ∈ P : aTx = α} est dit une

face de P .

• Facette. Une face F d’un poly`edre P est une facette de P si dim(F ) = dim(P )− 1.

• Point extrˆeme. Soit P un poly`edre. Une face de P de dimension 0 est un point extrˆeme de P . Cette d´efinition est ´equivalente `a la propri´et´e suivante : un point x ∈ P est un point extrˆeme de P s’il n’existe pas x1, x2∈ P , x1= x2 tel que x =12x1+12x2.

• Probl`eme de s´eparation. Etant donn´e un syst`eme lin´eaire Ax ≤ b et un vecteur y, le probl`eme de s´eparation associ´e `a ce syst`eme et `a y est de v´erifier si y est une solution de Ax≤ b et dans le cas contraire de trouver une contrainte de ce syst`eme viol´ee par y.

(31)

30 CHAPITRE 1. APPLICATIONS ET M ´ETHODES

La m´ethode de coupes et de branchements

C’est une m´ethode exacte et bas´ee sur la donn´ee d’une relaxation lin´eaire du probl`eme d’optimisation combinatoire en question. Cette relaxation lin´eaire peut contenir un nombre exponentiel, en fonction du nombre de variables, d’in´egalit´es lin´eaires. Supposons que pour un probl`eme d’optimisation combina-toire nous disposons d’une formulation du probl`eme par un programme lin´eaire en nombres entiers contenant un certain nombre d’in´egalit´es valides Ax ≥ b, c’est-`a-dire nous d´esirons r´esoudre le probl`eme suivant:

minimiser cTx, (1.14)

Ax≥ b, (1.15)

x∈ {0, 1}n. (1.16)

Soit P le poly`edre dont les sommets sont les solutions de (1.15)-(1.16). Si une description compl`ete de P par un syst`eme d’in´egalit´es lin´eaires est connue et si le probl`eme de s´eparation associ´e `a ce syst`eme est polynomial alors (1.14)-(1.16) peut ˆetre r´esolu en temps polynomial [72, 52]. L’inverse de cette assertion est aussi vrai [52, 71, 86]. Cette ´equivalence entre optimisation et s´eparation ´

etait `a l’origine des m´ethodes de coupes et branchements utilis´ees pour r´esoudre des probl`emes d’optimisation combinatoire.

Malhereusement, pour les probl`emes NP-durs, on ne connait pas l’ensemble des in´egalit´es permettant de r´esoudre le probl`eme, c’est-`a-dire P ⊂ {x ∈ IRn : Ax ≥ b}. En g´en´eral le syst`eme Ax ≥ b contient un nombre important d’in´egalit´es valides qui en pratique peuvent s’av´erer suffisantes pour r´esoudre le probl`eme `a optimalit´e, ou dans le cas contraire elles produisent des bornes pour la valeur de la solution optimale.

L’algorithme de coupe et de branchements associ´e au probl`eme (1.14)-(1.16) commence par r´esoudre le programme lin´eaire :

minimiser cTx, (1.17)

A0x≥ b0. (1.18)

o`u A0x≥ b0est un sous-syst`eme de Ax≥ b, contenant un nombre raisonnable de contraintes. Nous supposons savoir r´esoudre en temps polynomial le probl`eme de s´eparation associ´e au syst`eme Ax≥ b. Soit x∗ la solution de (1.17)-(1.18). L’algorithme r´esoud par la suite le probl`eme de s´eparation associ´e `a x∗ et Ax≥ b. Si nous avons d´etermin´e une in´egalit´e aTx≥ α parmi Ax ≥ b, tel que

aTx< b, alors nous ajoutons aTx≥ α au syst`eme A

0x≥ b0et nous r´esolvons

`

a nouveau (1.17)-(1.18). Nous r´ep´etons cette proc´edure jusqu’`a ce que Ax0≥ b. Si la solution courante x∗est `a composantes en 0-1, alors nous avons trouv´e une solution optimale de (1.14)-(1.16). Sinon, l’algorithme fait un branchement sur une composante fractionnaire x∗i en construisant deux nouveaux programmes

obtenus `a partir du programme courant, en ajoutant respectivement les ´egalit´es (non valides) xi = 1 ou xi = 0 et en proc´edant comme ci-dessus pour les

poly`edres P∩ {x : xi = 0} et P ∩ {x : xi= 1}.

Cette m´ethode a ´et´e utilis´ee dans [4, 5]. Dans [4], Avella et Sassano ont donn´e une ´etude poly´edrale du polytope du p-m´edian d´efini seulement par rapport

(32)

1.5. APPROCHE POLY´EDRALE 31 aux variables d’affectations et lorsque le graphe G = (V, A) est un graphe dirig´e complet. Nous notons,|V | = n et donc |A| = n(n−1). Nous pouvons facilement, dans ce cas, v´erifier que la projection du polytope d´efini par les in´egalit´es (1.2)-(1.6) donne le polytope suivant :

x(u, v) +  (v,t)∈A x(v, t)≤ 1, ∀(u, v) ∈ A, (1.19)  (u,v)∈A x(u, v) =|V | − p, (1.20) x(u, v)≥ 0, ∀(u, v) ∈ A. (1.21) Soit Qp(G) le polytope d´efini par les in´egalit´es (1.19)-(1.21). Dans [4]

l’enveloppe convexe des points dans Qp(G)∩ {0, 1}|A| a ´et´e not´ee par Mp¯(−→Kn)

et il a ´et´e montr´e que sa dimension est n(n− 1) − 1. Plusieurs facettes de Mp¯(−→Kn) ont ´et´e introduites. Ces facettes sont issues du polytope des stables

d’un graphe. Dans cet article, les auteurs ont appliqu´e l’algorithme de coupes sans le branchement sur quelques instances de petites tailles de la librairie OR [19]. Ils ont montr´e que les familles de facettes introduites peuvent suffir dans de nombreux cas pour obtenir la solution optimale. D’autres r´esultats plus pouss´es sur des instances de plus grandes tailles allant jusqu’`a 5000 sommets ont ´et´e re-port´es dans [5]. Pour r´esoudre de telles instances, les auteurs ont eu recours `a la g´en´eration de colonnes combin´ee dans un algortihme de coupes et branche-ments qui englobe plusieurs familles de contraintes valides. Sans la g´en´eration de colonnes, il est impossible de pratiquer un algorithme de coupes et de branche-ments sur des instances de tailles avoisinant les 3000 sommets. La g´en´eration de colonnes seule ne peut pas esquiver le probl`eme de d´eg´en´erescence qui est la cause principale de la lenteur des logiciels commerciaux comme CPLEX. Le ph´enom`ene de d´eg´en´erescence apparaˆıtra lors de la g´en´eration de colonnes lorsque nous ajoutons des colonnes avec un coˆut r´eduit assez grand, la valeur de la relaxation lin´eaire ne change pas et rapidement nous nous trouverons avec un nombre ing´erable de colonnes. Pour ´eviter ce ph´enom`ene, les auteurs fixent des limites sur les coˆuts r´eduits et quelques autres r`egles. Aussi, l’ensemble ini-tial des colonnes est obtenu en r´esolvant le probl`eme Lagrangien (1.13). Cette solution servira de base pour la s´election de l’ensemble de d´epart.

Dans [22], un probl`eme industriel appel´e “Optimal Diversity Management” a ´et´e formul´e comme un probl`eme du p-m´edian par Briant et Naddef. Dans cet article, des r´esultats tr`es proches de l’optimum ont ´et´e report´es sur des in-stances allant jusqu’`a 5500 sommets. Mais la structure particuli`ere du probl`eme implique des graphes assez creux, donc plus faciles `a r´esoudre. Leur technique consiste `a r´esoudre le probl`eme Lagrangien (1.13), ils fixent ensuite des variables en exploitant l’information d´elivr´ee par les coˆuts r´eduits. Ainsi, la taille du probl`eme est r´eduite en fixant quelques variables. Le nouveau probl`eme obtenu est introduit dans CPLEX pour trouver une solution en 0-1. Nous voyons bien que cette technique se limite `a des instances de tailles raisonnables.

D’autres types d’approches ont ´et´e consid´er´es par exemple dans [39]. Ils introduisent de nouvelles variables pour exprimer le fait que chaque sommet doit ˆetre affect´e au sommet le plus proche parmi ceux qui sont ouverts. Rap-pelons que cette consid´eration est prise en compte dans la fonction objectif de

(33)

32 CHAPITRE 1. APPLICATIONS ET M ´ETHODES la formulation (1.1)-(1.7). Plus tard dans [46] cette formulation a ´et´e am´elior´ee en exprimant les variables additionnelles par un produit de quelques autres variables. Ensuite une lin´earisation est donn´ee pour obtenir une nouvelle for-mulation lin´eaire. D’autres travaux expriment l’affectation d’un sommet au plus proche m´edian par l’ajout d’in´egalit´es lin´eaires [92, 104, 35, 51, 56, 44, 36, 57, 25, 20, 94, 100, 21, 79]. Nous pouvons ´ecrire l’in´egalit´e la plus simple qui exprime cette affectation comme suit :



w:c(u,w)>c(u,v)

x(u, w) + y(v)≤ 1 ∀(u, v) ∈ A. (1.22)

Les variables x et y sont telles qu’elles ´etaient d´efinies dans (1.1)-(1.7) et c(i, j) = w(i)d(i, j).

Soit M Pp(G) le polytope associ´e au probl`eme p-m´edian. M Pp(G) est

l’en-veloppe convexe de solutions en 0-1 qui v´erifient (1.2)-(1.6). Peu de r´esultats poly´edraux ont ´et´e trouv´es concernant le polytope M Pp(G). Dans [42, 43, 107],

nous trouvons une ´etude faciale et plusieurs facettes du polytope M Pp(G). Dans

[6, 97] le polytope M Pp(G) est compl`etement d´ecrit quand le graphe G n’admet

pas deux arcs entrants dans un sommet et un autre sortant de ce mˆeme sommet comme sous-graphe. Dans [9] les auteurs traitent la relation entre le polytope associ´e au probl`eme de localisation de d´epˆots et le polytope M Pp(G).

Les facettes du polytope associ´e au probl`eme de localisation de d´epˆots ont ´

et´e ´etudi´ees dans [53, 40, 31, 32, 26]. Toutes ces facettes peuvent dans certains cas d´efinir des facettes de M Pp(G), mais dans tous les cas elles sont valides pour

M Pp(G) et elles peuvent donc ˆetre utilis´ees dans n’importe quel algorithme de

(34)

Chapitre 2

Bases de donn´

ees

semi-structur´

ees et le

probl`

eme du

p-m´edian

Internet est encore aujourd’hui en pleine expansion, mˆeme s’il fait parti de notre quotidient. Ce m´edia est devenu ces derni`eres ann´ees une source d’informations sur tous les sujets ou presque. Des quatres coins du monde on peut consulter une page web traitant par exemple des derniers films hollywoodiens, ou de la derni`ere th´eorie de physique `a la mode. Toutes ces pages pr´esentent de l’information qui est organis´ee, mise en page et pr´esent´ee de mani`ere `a ce qu’un utilisateur puisse la comprendre et la parcourir simplement. L’organisation, la mise en page et la pr´esentation d’une information prend du temps, et le temps est une ressource que l’on ne peut pas ´etendre `a volont´e. Au d´ebuts du web les pages ´etaient statiques, pour chaque article une page ´etait cr´e´ee, remplie et mise en page par un r´edacteur. Cette technique de pr´esentation `a rapidement ´et´e abandonn´ee pour une technique de r´edaction alimentant un format d’affichage qui sera rempli lors de la g´en´eration de la page avec l’information requise. Le web statique a fait place au web dynamique.

De plus en plus de sites web utilisent ces techniques de g´en´eration de pages dynamiques en rapport avec l’information demand´ee par l’utilisateur. Ainsi sur un site de pr´esentation de films il n’y a pas une page ´ecrite pour chaque film, mais un format g´en´erique qui est rempli `a chaque fois qu’un utilisateur souhaite consulter la page d’un film. Pour ce faire il faut avoir deux choses, un moyen technique de r´ealiser ceci et un moyen d’acc´eder aux donn´ees requises. Les moyens techniques developp´es pour r´esoudre ce probl`eme ne manquent pas grˆace `a des outils comme les CGI (Comon Gateway Interface) ou encore le PHP (PHP: Hypetext Preprocessor), mis rapidement en relation avec des bases de donn´ees pouvant ˆetre interrog´ees par un langage de type SQL (Structured Query Language ou langage de requˆete structur´e). Ces deux outils ont permis le developpement de sites web compl`etement dynamiques dans lesquels chaque page est g´en´er´ee directement `a la demande des utilisateurs.

Mais les bases de donn´ees se sont rapidement d´evelopp´ees sur internet pour atteindre des tailles tr`es importantes. Les requˆetes complexes sur ces bases prennent de plus en plus de temps alors que le but principal est de pr´esenter

(35)

34CHAPITRE 2. BASES DE DONN ´EES SEMI-STRUCTUR´EES ET LE PROBL `EME DU P -M ´EDIAN des donn´ees et non de les interroger. De plus lorsque l’on manipule des donn´ees

n’ayant pas toutes la mˆeme structure il devient difficile de les stocker dans des bases de donn´ees relationnelles classiques. Une nouvelle forme de base de donn´ees a donc fait son apparition : les bases de donn´ees semi-structur´ees. Avec l’essort du XML (eXtensible Markup Language) ces nouvelles bases de donn´ees ont trouv´e leur support de pr´ef´erence et sont devenues de plus en plus utilis´ees. Un probl`eme se pose cependant, car s’il est facile de r´ecup´erer de l’information au sein de ces bases, il est tr`es complexe de faire de l’interrogation de donn´ees (par exemple trouver tous les films dans lesquel apparaˆıt un acteur donn´e).

Il existe des outils d’interrogation de donn´ees semi-structur´ees mais ces out-ils ne sont pas efficaces en terme de temps de r´eponse et de m´emoire utilis´es. Il serait donc int´eressant de fournir un moyen simple et efficace d’interroger ces donn´ees. L’approche que nous proposons ne consiste pas `a cr´eer un nouvel outil d’interrogation de ces donn´ees mais de chercher `a restructurer ces donn´ees. Une fois les donn´ees restructur´ees elles pourront ˆetre enregistr´ees dans une base de donn´ees relationnelle classique. Cette base pourra alors ˆetre interrog´ee efficace-ment grˆace aux techniques d´evelopp´ees pour les base de donn´ees relationnelles. Pour arriver `a restructurer ces bases de donn´ees il faut d’abord trouver un moyen d’affecter chaque donn´ee `a une table dans une base de donn´ee relation-nelle. Cette ´etape de la restructuration est le typage des donn´ees, mais rapide-ment le nombre de types diff´erents au sein d’une base de donn´ees semi-structur´ee va devenir trop important (et c’est la raison mˆeme de leur existence). Il faut donc r´eduire ce nombre `a un nombre plus acceptable, c’est-`a-dire faire un choix parmi l’ensemble des types existants pour n’en retenir qu’un sous-ensemble.

Nous verrons dans la section 2.2 comment ce probl`eme se ram`ene `a une instance du probl`eme du p-m´edian.

Un des enjeux de ce probl`eme de restructuration est la taille des donn´ees. Les bases de donn´ees poss`edent des milliers d’enregistrements. Mˆeme si tous ces enregistrements ne donnent pas naissance `a un sommet lors de la transformation du probl`eme, la taille du p-m´edian r´esultant `a r´esoudre peut rapidement devenir tr`es grande.

2.1

Base de donn´

ees semi-structur´

ee

Une recherche de donn´ees sur le web va produire en g´en´eral des donn´ees irr´eguli`eres. Par exemple les diff´erentes informations pr´esentes sur les pages des membres d’un mˆeme groupe vont contenir des informations communes (nom, pr´enom, adresse mail, ...) mais certaines pages vont contenir des informations sup-pl´ementaires que les autres n’auront pas (surnom, photo, ...).

Ces donn´ees semi-structur´ees sont n´ees avec Internet et la n´ecessit´e de stocker des informations diverses et vari´ees le plus efficacement possible. Mais ces donn´ees sont aussi une r´eponse aux limites des bases de donn´ees relationnelles. Consid´erons une base de donn´ee dont le sch´ema est d´efini par trois tables :

• une table journal avec un identificateur et le titre du journal,

• une table article avec un identificateur, un titre, un auteur et le journal dans lequel l’article a ´et´e publi´e,

(36)

2.1. BASE DE DONN´EES SEMI-STRUCTUR ´EE 35 Ces tables sont remplies comme le montre la Figure 1.

Table auteur Table article Id Nom

1 E. Pri´e 2 O. Letr´eguily 3 V. Vaisman 5 P. Gonneau

Id Titre Auteur Journal 6 Prise de tˆete 2 4

7 Mat ! 5 4

Table journal Id Titre

4 Echecs et Mats !

Figure 1: Exemple de remplissage d’une base de donn´ees relationnelle d´ecrivant un journal. La base comporte 3 tables et quelques enregistrements.

La structure de ces tables ´etant fix´ee, il est impossible d’avoir un auteur ayant un nom et un pr´enom, ou d’avoir un article ayant deux auteurs. De mˆeme comme il faut fixer la structure des tables, il est impossible de d´efinir une table journal ayant un nombre d’articles non born´e. Ce sont ces limitations et la n´ecessit´e de stocker un nombre de donn´ees important qui ont permis l’´emergence des bases de donn´ees semi-structur´ees. En effet, il est facile de stocker dans un fichier des relations entre des objets, ainsi un journal va pouvoir contenir des articles, et chaque article peut avoir un ou plusieurs auteurs. Chaque auteur pourra alors ˆetre d´efini d’une mani`ere particuli`ere. Ce qui peut donner des fichiers simples mais contenant de nombreuses informations. La Figure 2 pr´esente un fichier XML contenant un document semi-structur´e.

Cette notion de document semi-structur´e peut ˆetre encore affin´ee. Une donn´ee semi-structur´ee se repr´esente sous la forme d’un graphe enracin´e dont les arcs sont orient´es et labellis´es [24]. Cette repr´esentation convient tr`es bien pour mod´eliser le web par exemple. Chaque page d’un site serait un sommet du graphe et chaque lien existant serait un arc entre deux sommets. Mais cette repr´esentation convient tout aussi bien pour afficher les relations contenues dans une base de donn´ees. La Figure 3 pr´esente un tel graphe pour l’exemple du doc-ument de la Figure 2.

Il existe dans ces bases de donn´ees deux types d’objets diff´erents : les objets complexes et les objets atomiques.

• Objet Atomique : ce sont les objets de la base porteurs des valeurs. Ces objets sont les sommets pendants du graphe associ´e, c’est-`a-dire les objets n’ayant aucun arc sortant.

• Objet Complexe : ce sont les objets de la base porteurs des relations. Nous remarquons facilement un premier int´erˆet `a l’utilisation des bases de donn´ees semi-structur´ees avec ce petit exemple. En effet, il est clair que la place requise pour stocker ces informations sous la forme d’une base de donn´ee relationnelle est beaucoup plus importante que celle requise pour un stockage sous la forme de donn´ees semi-structur´ees. Mais c’est surtout la simplicit´e du stockage des informations qui est int´eressante. Pour dire qu’un article fait partie d’un journal, il suffit d’ouvrir une balise article au sein de la balise journal

(37)

36CHAPITRE 2. BASES DE DONN ´EES SEMI-STRUCTUR´EES ET LE PROBL `EME DU P -M ´EDIAN <document id = 0>

<journal id = 4>

<titre id = 12>Echecs et Mats !</titre> <article id = 6>

<titre id = 11>Prise de tˆete</titre> <´ecritPar ref = 2 />

<´ecritPar ref = 3 /> </article>

<article id = 7>

<titre id = 13>Mat !</titre> <´ecritPar ref = 5 />

</article> </journal> <auteur id = 2>

<nom id = 9>O. Letr´eguily</nom> <co-auteur ref = 3 /> </auteur> <auteur id = 3> <nom id = 10>V. Vaisman</nom> <co-auteur ref = 2 /> </auteur> <auteur id = 1>

<nom id = 8>E. Pri´e</nom> </auteur>

<auteur id = 5>

<pr´enom id = 14>Pascal</pr´enom> <nom id = 15>Gonneau</nom> </auteur>

</document>

Figure 2: Exemple de document semi-structur´e. Le document est pr´esent´e sous la forme d’un fichier XML.

correspondante. Dans une base de donn´ee relationnelle il faut stocker la relation l’article i appartient au journal j. Et il est tr`es facile de faire des relations complexe dans un document semi-structur´e. Si deux auteurs (ou plus) ont ´ecrit un article il suffit de mettre deux balises auteur (ou plus) au sein de la balise article correspondante. Pour g´erer des articles `a deux auteurs il faudrait ajouter `

a la description de la base de donn´ees relationnelle de nouvelles tables. Pour contenir l’ensemble des informations du fichier de la Figure 2 il faudrait :

• ajouter une table pour la gestion des articles `a deux auteurs, • ajouter une table pour la gestion des co-auteurs,

• ajouter une table pour les auteurs avec un nom et un pr´enom (ou alors modifier les tables existantes et remplacer les informations manquantes par un champ vide).

Il faut alors cr´eer beaucoup de tables, g´erer les d´ependances entre ces tables, et faire en sorte que les auteurs de la table auteur sans pr´enom et ceux de la

Figure

Table auteur Table article
Figure 2: Exemple de document semi-structur´ e. Le document est pr´ esent´ e sous la forme d’un fichier XML.
Figure 3: Repr´ esentation sous forme d’un graphe enracin´ e dirig´ e et labellis´ e du document semi-structur´ e de la Figure 2.
Figure 4: Exemple de fichier XML repr´ esentant une base de donn´ ees Un exemple d’une base de donn´ ee stock´ ee sous la forme d’un fichier XML est d´ ecrit sur la Figure 4
+7

Références

Documents relatifs

Un particulier cherche `a acqu´erir un appartement aux alentours imm´ediats de la place

Universit´ e Pierre et Marie Curie – Paris 6 Examen de rattrapage Licence de Math´ ematiques Analyse Hilbertienne et Num´ erique.. 29 janvier 2007 9h

Obligatoires : copies s´epar´ees pour chaque partie ; num´erotation des copies de 1/n `a n/n ; votre nom sur chaque copie ; num´erotation des questions ; r´esolution dans l’ordre

Toutes les justifications doivent figurer sur votre copie, mais la r´edaction doit rester sobre.. Vous pouvez admettre un r´esultat, `a condition de le signaler

Nous allons voir souvent dans la suite que ce lien entre L(E, F) et M n,p ( K ) est extrˆ ement f´ econd, il permet de transformer nombre de probl` emes sur les applications lin´

Pour des raisons techniques, si, un jour donn´ e, on utilise le hangar H, le lendemain on r´ eutilisera ce mˆ eme hangar avec une probabilit´ e de 0, 5 et si, un jour donn´ e,

Equations diff´ erentielles du second

Le d´ epartement de contrˆ ole de qualit´ e de l’entreprise a effectu´ e une ´ etude qui a pour but d’´ etablir dans quelle mesure la r´ esistance ` a la rupture (en kg/cm 2 )