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 :

Plusieurs noeuds de départ pour arriver à un seul noeud d'arrivée en respectant un critère


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut Plusieurs noeuds de départ pour arriver à un seul noeud d'arrivée en respectant un critère
    Bonjour,

    je recherche un algorithme qui me permettra de passer de plusieurs nœuds à un seul nœuds final tout en respectant le fait que chaque segment reliant 2 nœuds possède une capacité ce qui empêche le segment d'être utiliser plusieurs fois

    Par exemple pour passer des nœuds 1, 2, 3, 4,11 au nœud 17





    On a les trajets

    [1, 5, 9, 17]
    [2, 6, 5, 9, 17]
    [3, 7, 8, 10, 9, 17]
    [4, 8, 10, 9, 17]
    [11, 14, 9, 17]

    Comme on peut voir le segment [9,17] est utilisé 5 fois si sa capacité est réduite à 5
    Le segment [5,9] a une capacité égale à 3
    Le segment [10,9] a une capacité égale à 4
    Le segment [14,9] a une capacité égale à 5
    la même chose pour le segment [5,9],[8,10] qui sont utilises plusieurs fois

    J’ai choisi d'utiliser un recuit simulé et à chaque diminution de température je choisi un trajet selon quelques critères

    Ma question est comment pourrais-je avoir les trajets les plus optimaux pour aller des nœuds 2, 3 ,4 11 au nœud 17 sachant que j’ai un code qui me permet de trouver différents trajets possible entre 2 nœuds.
    Images attachées Images attachées  

  2. #2
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Ton problème semble être juste un problème de flot maximum, non ?
    Ton nœud d'arrivée est ton nœud puits. Tu ajoutes un nœud source relié à tes nœuds de "départ" avec des arcs de capacité 1. Et voilà....

    Si en plus tes graphes sont acycliques n ça devrait plutôt bien passer

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par Acrim Voir le message
    Ton nœud d'arrivée est ton nœud puits. Tu ajoutes un nœud source relié à tes nœuds de "départ" avec des arcs de capacité 1. Et voilà....
    Dans l'exemple donné ca marche bien, car on utilise les noeuds de départ au plus une seule fois. Mais s'il y a un "split" (par exemple en ajoutant l'arc 1-6), la capacité de départ va limiter les chemins.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Bien vu mais ça va dépendre de ce qu'on appelle un nœud de départ. Si d'un nœud de départ commence un seul chemin alors je pense que ma démarche est bonne. Si d'un nœud de départ peuvent commencer plusieurs chemins alors l'exemple que tu donnes pose problème (et augmenter la capacité des arcs nœud puits/nœuds de départ n'arrange rien.)

    Il faudrait un peu plus de précision sur la définition des différents éléments.

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2011
    Messages : 68
    Par défaut
    Merci pour vos réponses

    Mon but est de réutiliser un maximum les segments.
    l'algorithme du flot maximum pourrait être bon , mais si tous les arcs sont saturés avec cet algorithme on est bloqué !? Donc on pourrait ne pas trouver de solution alors que dans les faits il est toujours possible de rajouter par exemple un lien entre deux sites ou d'augmenter la capacité existante

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par camelia136 Voir le message
    Merci pour vos réponses

    Mon but est de réutiliser un maximum les segments.
    l'algorithme du flot maximum pourrait être bon , mais si tous les arcs sont saturés avec cet algorithme on est bloqué !? Donc on pourrait ne pas trouver de solution alors que dans les faits il est toujours possible de rajouter par exemple un lien entre deux sites ou d'augmenter la capacité existante
    On doit pouvoir utiliser l'algo du flot-max, mais je pense qu'il faut d'abord identiger les capacités manquantes sur les arcs. Par exemple un propagation inverse en partant du noeud d'arrivée pour trouver les sens de circulation (s'il n'y a pas de cycle) et les capacités max des arcs sources/départ.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre expérimenté Avatar de Acrim
    Profil pro
    En recherche d'emploi
    Inscrit en
    Septembre 2010
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Septembre 2010
    Messages : 134
    Par défaut
    Citation Envoyé par camelia136 Voir le message
    Merci pour vos réponses

    Mon but est de réutiliser un maximum les segments.
    l'algorithme du flot maximum pourrait être bon , mais si tous les arcs sont saturés avec cet algorithme on est bloqué !? Donc on pourrait ne pas trouver de solution alors que dans les faits il est toujours possible de rajouter par exemple un lien entre deux sites ou d'augmenter la capacité existante
    Je n'ai pas du bien comprendre ton problème (tu peux modifier la capacité des arcs ?). Mais oui la résolution du problème du flot maximum ne te donnera qu'une réponse respectant les capacités des arcs (mais il te donnera une des solutions permettant de faire passer le plus de chemins - si je poursuis mon idée de départ).

    La recherche des coupes minimales (lié au problème de flot max) peut peut-être te guider pour identifier les capacités bloquantes...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/07/2012, 09h43
  2. [Fenêtrage] Plusieurs fonctions d'agrégat pour un seul over
    Par Dominique49 dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/03/2012, 18h46
  3. [MySQL] Selection dans plusieurs tables pour constituer un seul RecordSet
    Par mesken dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/10/2011, 21h25
  4. Réponses: 12
    Dernier message: 02/06/2010, 16h37
  5. Plusieurs devices de données pour une seule base
    Par The Wretched dans le forum Sybase
    Réponses: 4
    Dernier message: 12/10/2006, 09h27

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