IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

[PVC] christofides : couplages


Sujet :

Algorithmes et structures de données

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut [PVC] christofides : couplages
    Bonjour,

    dans le cadre de la résolution du problème de voyageur de commerce
    avec l'algorithme de christofidès, je ne saisi pas bien la partie de
    l'algorithme où il faut réaliser les couplages de cout minimum sur
    les sommets de dégrés impairs.

    j'ai mon arbre recouvrant minimum et ma liste des sommets de degré
    impair..
    J'ai donc aussi les aretes du graphe (A), et la liste de sommets (V) donc je peux chercher sur G' =(V,A)
    Mais trouver des couplages ne s'apparente pas à trouver un arbre donc prim ou kruskall non apliquable..

    j'aurai bien une idée d'algo très naïf mais bon..;

    merci
    a+

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Bonjour,
    je n'ai pas de réponse précise, mais vu que personne ne répond, j'y vais quand même...
    Je sais que pour calculer des couplages maximums il suffit de rechercher successivement des chaines alternées. Pour un couplage parfait de coût min, apparemment Edmonds a proposé un algo en 1965; il y en a eu de plus efficaces par la suite.
    Voici des références sur des sujets approchants :
    Le premier ne traite apparemment que de la recherche d'un couplage parfait
    http://www-math.mit.edu/~goemans/18434/edmonds.pdf
    A première vue, celui-ci compare différents algos en expliquant celui de Edmonds mais sans le donner explicitement. Peut-être que dans la biblio tu trouveras ton bonheur...
    http://www2.isye.gatech.edu/~wcook/papers/IJOCmat.pdf

  3. #3
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Il y a une description dans le livre de Diestel. Il s'agit bien d'un couplage (matching) dans un graphe quelconque (les couplages dans les graphes bipartis sont souvent enseignés, ce qui n'est pas le cas des couplages dans les graphes quelconques).

    http://www.math.uni-hamburg.de/home/...ory/index.html

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    a priori, il y aurait l'algo d'edmonds, en n3

    mais en selectionnant les arretes minimum et en ameliorant par 2-opt, on doit pouvoir obtenir une solution bonne, voir optimale ?

  5. #5
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par lechewal
    en ameliorant par 2-opt, on doit pouvoir obtenir une solution bonne, voir optimale ?
    Bonne oui mais pas optimale à tout coup. D'une manière pratique, l'algorithme de Christofides (qui a une garantie de performance 3/2) ne se comporte pas mieux, dans la plupart des cas, que des algorithmes sans garantie (plus proche voisin) ou avec garantie 2 (basé sur l'arbre couvrant sans le couplage). En revanche, la recherche locale (2-opt et raffinements) donne de très bons résultats.

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    Une question relative au 2-opt précisément..

    Je connais l'algo, mais sur un cycle hamiltonien déjà créé, lequel on améliore.

    Seulement, il semblerait qu'ici, il faille effectué l'algo sur les couplages !?

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Un couplage non optimal te donnera simplement un cycle eulérien moins bon, améliorable par 2-opt tout comme celui obtenu avec un couplage optimal.
    Je pense qu'il est inutile d'essayer d'améliorer seulement les couplages (amélioration très locale) pour ensuite effectuer une amélioration plus globale sur tout le cycle, qui a de grandes chances de défaire les améliorations précédentes.

  8. #8
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    mh, j'ai vraiment du mal a faire mon 2-opt sur une liste d'arcs.. Faire les modifs en même temps, c'est pas aisé..

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Je ne suis pas sûr d'avoir compris ton problème : n'est-il pas possible, si tu as deux arcs (i,j) et (k,l) dans ta liste, de les remplacer par (i,l) et (j,k) s'ils existent ?

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 95
    Points : 66
    Points
    66
    Par défaut
    Oui, c'est ça.

    Mais dans les faits, modifier une liste d'arc en cours de parcours, c'est pas si simple :S

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 192
    Points : 231
    Points
    231
    Par défaut
    Où se pose ton problème exactement?

Discussions similaires

  1. Installation du mod_rewrite (Couplage Apache & Tomcat)
    Par Ashen-Shugar dans le forum Tomcat et TomEE
    Réponses: 13
    Dernier message: 25/02/2015, 15h28
  2. couplage de deux applications
    Par chonos dans le forum Développement
    Réponses: 4
    Dernier message: 04/04/2006, 20h15
  3. Couplage MySql et vb.net
    Par new_wave dans le forum Installation
    Réponses: 8
    Dernier message: 25/01/2006, 11h53
  4. Quelques question sur le PVC .
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 15/12/2005, 22h54
  5. couplage base de données oracle et sqlserver avec c et c++
    Par mloul dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 22/11/2004, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo