Le problème du Voyageur de Commerce

Transcription

Le problème du Voyageur de Commerce
Le problème du Voyageur de
Commerce
Johanne Cohen
[email protected]
Laboratoire LORIA
„
Le probleme
du Voyageur de Commerce – p.1/14
Ennoncé du problème
Un représentant doit visiter villes. Le
représentant souhaite faire une tournée en
visitant chaque ville au moins exactement
1 fois et en terminant à sa ville de départ.
„
Le probleme
du Voyageur de Commerce – p.2/14
Traduction en un problème de décision
un rationnel
une fonction cout
un graphe complet
I NSTANCE :
Q UESTION :
Existe-t-il un tournée de coût au plus égale à ?
Th«
eor„
eme 1: Le problème du Voyageur de Commerce est
NP-complet.
„
Le probleme
du Voyageur de Commerce – p.3/14
Inégalité triangulaire
D«
efinition:
La fonction de coût vérifie l’inégalité triangulaire si
,
arbitraires de
pour 3 sommets , ,
Le problème du Voyageur de Commerce avec
la fonction de coût vérifiant l’inégalité triangulaire est
NP-complet.
Th«
eor„
eme 2:
„
Le probleme
du Voyageur de Commerce – p.4/14
une fonction cout
S ORTIE : un cycle hamiltonien.
E NTR «
EE:
un graphe complet et un rationnel
Algorithme
comme racine.
à partir
dans
2. Construire un arbre couvrant minimal
de la racine .
1. coisir un sommet
A LGORITHME :
qui visite les sommets
4. retourner le cycle hamiltonien.
dans l’ ordre de
3. Soit la liste des sommets visités lors d’ un parcours
préfixe.
„
Le probleme
du Voyageur de Commerce – p.5/14
Illustration de l’algorithme
a
a
d
d
e
f
b
c
e
g
f
b
g
c
h
instance
h
arbre couvrant
„
Le probleme
du Voyageur de Commerce – p.6/14
Illustration de l’algorithme
a
d
a
d
e
f
b
e
g
f
b
g
c
c
h
arbre couvrant
h
parcours préfixe
„
Le probleme
du Voyageur de Commerce – p.6/14
Illustration de l’algorithme
a
a
d
d
e
e
f
b
c
g
f
b
g
c
h
parcours préfixe
h
solution
„
Le probleme
du Voyageur de Commerce – p.6/14
Facteur d’approximation
L’algorithme retourne une solution à un facteur
de l’optimal.
Th«
eor„
eme 2:
arbre couvrant minimal:
Soit
Il reste donc à prouver que
la tournée optimale
Soit
Preuve:
Soit
le parcours de l’arbre (ajout d’un sommet dans
la liste dès que l’on les rencontre lors su parcours).
„
Le probleme
du Voyageur de Commerce – p.7/14
Facteur d’approximation
L’algorithme retourne une solution à un facteur
de l’optimal.
Th«
eor„
eme 2:
arbre couvrant minimal:
Soit
Preuve:
Soit
le parcours de l’arbre (ajout d’un sommet dans
la liste dès que l’on les rencontre lors su parcours).
„
Le probleme
du Voyageur de Commerce – p.8/14
Facteur d’approximation
L’algorithme retourne une solution à un facteur
de l’optimal.
Th«
eor„
eme 2:
arbre couvrant minimal:
Soit
Preuve:
Soit
le parcours de l’arbre (ajout d’un sommet dans
la liste dès que l’on les rencontre lors su parcours).
a
d
f
&
%
'
%
$
()!
b
$
%
#
!
"
!
parcours
"
e
g
c
h
„
Le probleme
du Voyageur de Commerce – p.8/14
+
*
*
?
grâce à (1) et (2).
3. Donc
(liste des sommets dès
car 1 arête est visitée 2 fois.
2.
Soit
le parcours de l’arbre
que l’ on les rencontre).
arbre couvrant minimal:
1. Soit
Preuve:
5. Donc
,
4. On peut supprimer sommet de
sans augmenter le
coût ( grâce à l’inégalité triangulaire).
„
Le probleme
du Voyageur de Commerce – p.9/14
Plus précisement,
,
On peut supprimer sommet de
(grâce à l’inégalité triangulaire).
sans augmenter le coût
b
b
c
c
h
h
(
(
(
#
"
"
#
"
- -
-
"
#
#
"
"
#
# "
car
"
....b c h b....
....b c b h b....
grâce à l’inégalité triangulaire
„
Le probleme
du Voyageur de Commerce – p.10/14
Pb. général du Voyageur de Commerce
2
,
.
0
.
/
Si
et
, il n’existe aucun
algorithme d’approx. en tps polynomial de borne pour le
problème général du voyageur de commerce.
Preuve: par l’ absurde. Supposons qu’il existe un algo.
d’approx. de borne .
Construisons une instance du voyageur de commerce à
partir d’une instance du problème du cycle hamiltonien.
%
=;
<
%
!;
'
?
>
#
:
B
D
<
@EDA
C
1 C
,
79866
@A
,
4
766
:
5
1
3
1
1
Th«
eor„
eme 2:
„
Le probleme
du Voyageur de Commerce – p.11/14
:
C
C
3
1 C
ayant en entrée
1 C
D
<
@EDA
I
!
&
3. retourner
H @A
!A
la tournée calculée par
2. Soit
C
1 C
,
HE
F C
G
C
C
a un cycle hamiltonien,
.
4
:
Algo. polynomial déterminant si
1 C
,
2
2. Sinon, le coût d’1 tournée
1.
a une tournée de
C
C
1. Si a un cycle hamiltonien,
coût
:
Suite (1/3)
„
Le probleme
du Voyageur de Commerce – p.12/14
Suite (2/3)
|V|
C
C
1 C
ayant en entrée
1 C
D
<
3
0
@EDA
I
!
&
3. retourner
H @A
!A
la tournée calculée par
2. Soit
:
4
a un cycle hamiltonien,
.
1.
:
Algo. polynomial déterminant si
ρ|V|
solutions possibles
„
Le probleme
du Voyageur de Commerce – p.13/14
|V|
C
C
C
C
C
H
C
0
,
est un cycle hamiltonien
, cela signifie que
1 C
H 2. Si
C
, cela signifie que
C
1 C
1. Si
Suite (3/3): Remarque
,
est un cycle non-hamiltonien
ρ|V|
solutions possibles
„
Le probleme
du Voyageur de Commerce – p.14/14

Documents pareils