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 :

Partage de trajets


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 62
    Points : 37
    Points
    37
    Par défaut Partage de trajets
    Bonjour,

    Je dois développer une application de partage de trajet, via l'application google map comme taxi G7 ou Uber.

    Mon application doit pouvoir grouper les demandes de trajet partant d'un point de départ A vers plusieurs points d'arrivées et ainsi établir un itinéraire pour chaque groupes de destinations. Ainsi, se retrouverons dans un même groupe, tous les trajets qui ont la même destination et/ou des destinations très proches.

    Exemple:
    supposons que 4 clients font une demande de course de Créteil vers paris comme suit:

    client destination
    client 1 15 ème arrondissement.
    client 2 19 ème arrondissement
    client 3 20 ème arrondissement
    client 4 12 ème arrondissement

    Dans cette exemple mon application doit pouvoir grouper les demandes des clients 2,3 et 4 car les arrondissements 19, 20 et 20 sont très proche.
    ensuite mettre la demande du client 1 dans un autre groupe car celle-ci est très distante des autres.

    Je cherches un algorithme pouvant satisfaire à ce problème.

    Merci par avance de votre aide.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    cela ressemble a un cas typique de programmation par satisfaction de contraintes
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 62
    Points : 37
    Points
    37
    Par défaut
    Merci de ta reponse arnapurna, cependant as-tu un exemple concret? sinon c'est pas grave!

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Partage de trajets
    Bonjour,

    J'utiliserais la méthode du voyageur de commerce.

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    Citation Envoyé par phryte Voir le message
    J'utiliserais la méthode du voyageur de commerce.
    C'est plutôt du type VRP (une variante du TSP, c'est vrai) : organiser une tournée de véhicules pour prendre des personnes ou des choses ; de ce que je comprends, la différence, c'est que tu peux déterminer le nombre de véhicules qui doivent prendre la route. Le VRP a déjà été pas mal étudié, mais reste difficile à résoudre, je ne sais pas exactement pour ta version.
    https://en.wikipedia.org/wiki/Vehicle_routing_problem
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    2 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 040
    Points : 2 841
    Points
    2 841
    Par défaut Partage de trajets
    Bonjour,
    Je ferais comme dans cette discussion :

    http://www.developpez.net/forums/d15...s-d-ouverture/

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    La difficulté est autre, ici, il me semble : il s'agit de grouper des demandes par proximité (selon des chemins à choisir) plutôt que de "simplement" les ordonner (sur un seul chemin).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 265
    Points : 352
    Points
    352
    Par défaut
    moi j'aurais fait ça différemment mais c'est peut etre impossible dans le contexte.

    je dispose d'une carte de la France (par exemple) au format image.
    a chaque ajout de trajet je donne une valeur particulière au pixel de départ et d'arrivé (la clef permetant de retrouvé le trajet en BDD par exemple, je stocke egalement en BDD les coordonnée pixélique histoire de pas reparcourir mon image)
    j'ai donc une map a jour avec divers pixel allumé.

    lorsque je souhaite groupé des trajets , je selectionne le trajet "initiale" et je fais une recherche autour du pixel (avec la résolution de la carte on fait une conversion km/pixel et on détermine le rayon de recherche) (on va donc parcourir qque centaine de pixel, peut-etre des milliers mais c'est très rapide au final), pour chaque pixel qui contient la valeur d'une clef je pourrais groupé le trajet.

    après le principale soucis c'est la map qu'il faut actualiser et surtout avoir assez de mémoire pour ne pas la chargé tout le temps.
    après tu peux imaginer travailler a différente résolution et avec des maps morcelées.

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut
    @gpcbitnik38 : tu sembles plutôt résoudre un TSP "de base". Ensuite, tu ne seras jamais sûr d'avoir une si bonne solution à ton problème, tu feras peut-être des centaines, des milliers de kilomètres de trop. Mieux vaut regarder du côté de Concorde (http://www.math.uwaterloo.ca/tsp/concorde.html) ou Mathematica (la fonction FindShortestTour, https://www.wolfram.com/mathematica/...-salesman.html). OR-Tools (de Google) peut aussi servir (https://developers.google.com/optimization/routing/tsp).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. [Kylix] partager fonctions
    Par RezzA dans le forum EDI
    Réponses: 1
    Dernier message: 16/03/2003, 16h02
  2. [VB6] [Réseau] Connexion et partage de données
    Par tomnie dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/10/2002, 18h12
  3. Partager son disque
    Par tintin22 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 16/09/2002, 00h34
  4. Réponses: 4
    Dernier message: 13/05/2002, 16h43
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

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