[ALGO] Répartition possible de chambres pour site de voyage

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par p0k3, 3 Juillet 2015.

  1. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Bonjour à tous,

    Petit défi algo !

    Je suis en train de développer un site de voyage mutualisé pour un client, et je suis en face d'un petit défi algorithmique intéressant que je n'ai toujours pas résolu !

    Pour un produit, j'ai une liste de types de chambres disponible. Par exemple :
    - chambre 2 places avec lit double (donc 2 personnes)
    - chambre 2 places avec 2 lits simples (2 personnes également)
    - chambre individuel (1 personne)
    - chambre 3 places

    Un utilisateur qui passe une commande indique alors un nombre de participants (4 adultes + 2 enfant.... 2 adultes + 1 enfant)
    L'objectif de cet alog est de ressortir toutes les combinaisons possible de chambre :

    Exemple : J'ai 2 adultes et 1 enfant avec les types de chambre listés plus haut. L'algo devrait me ressortir :
    - 1 chambre 2 places lit double + 1 chambre individuelle
    - 1 chambre 2 places lits simples + 1 chambre individuelle
    - 1 chambre 3 places
    - 3 chambres individuelles

    Vous comprenez le défi ? Quelqu'un a une piste ?
    Ca fait 2 jours que j'y réfléchi et je stagne !

    Merci pour votre future aide
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    Et qu'est-ce qui te fait dire que les 2 adultes veulent dormir dans le même lit ? :D
     
  3. HawkEye
    HawkEye WRInaute accro
    Inscrit:
    23 Février 2004
    Messages:
    13 933
    J'aime reçus:
    4
    ...et qu'est-ce qui te fait dire que ce seraient les 2 adultes qui partageraient le grand lit, spout :mrgreen:
     
  4. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Bah justement, comme on connait pas les participants... On doit pouvoir leur proposer tous types de chambres correspondant à leur nombre !
     
  5. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    @HawkEye: :mrgreen:

    En plus de adultes/enfants, il faut aussi "lit bébé".

    Tu sauves en plus le nombre total de lits par location, ensuite pr la recherche pareil, tu additionnes le nombre de participants, ensuite il ne reste plus qu'a filtrer (WHERE SQL) par nombre de lits minimum.
     
  6. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Ok, mais ça ne me donne pas de combinaisons possibles ?
     
  7. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 839
    J'aime reçus:
    247
    Mais ça te sort les locations qui correspondent au nombre de participants non ?
    Ensuite rien ne t'empêche de faire un "faceted search" pour afficher les différentes combinaisons correspondantes au filtre ?
     
  8. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Faut se placer comme sur Voyages Privées ou autre :

    On a des types de chambre disponible (ceux ne sont que des types)
    On doit ressortir les combinaisons de types de chambres possibles
     
  9. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 371
    J'aime reçus:
    2
    Tu t'y prends mal.... pour avoir monté ce genre de site. Tu laisses ton client te détailler les chambres qu'il souhaite, et à partir de là, tu lui fais les proposition.

    Le client sait exactement ce qu'il veut, il n'a pas besoin que tu l'assommes avec "toutes les combinaisons possibles"

    (C'est pastoral, la réservation de chambres ? ^^)

    Ah et puis genre, n'oublie pas les lits supplémentaires pour bébé, les chambres communicantes :D :D :D

    (Oui, l'âge des enfants est super important dans ce genre d'algo si tu veux le mettre en place, parce que

    1- normalement ça influe sur le prix
    2- ça influe aussi directement sur la répartition souhaitée des chambres)
     
  10. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    (Le projet pastoral est en cours, :) j'ai commencé une formation pour devenir pasteur ;))

    J'ai pas autant de règle que ça, derrière y'a encore de l'humain pour gérer les réservations.
    C'est juste que si un client commande 4 voyages, mais que c'est 2 couples, il pourrait choisir 2 chambres lit double.
    Si c'est 1 couple avec 2 enfants, il pourrait choisir 1 chambre lit double + 1 chambre 2 lits simples
    Si c'est 1 couple avec 2 enfants majeurs (gars et fille), il pourrait choisir 1 chambre lit double + 2 chambre individuelle

    Vous voyez le délire ? Ensuite c'est juste une liste à choisir.
     
  11. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 371
    J'aime reçus:
    2
    Donc, comme je te dis, tu ne cherches pas "toutes les possibilités", tu le laisses t'indiquer les chambres qu'il souhaite.

    (tu as oublié la chambre lit double et la chambre twins... pour les deux couples, la chambre lit double + lit simple + lit enfant)

    Et puis les hôtels qui ont des suites, aussi, ...

    Bon après tu fais comme tu le sens, hein ...
     
  12. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Oui, je viens de comprendre ce que tu as dit...
    Du coup, je propose la liste des chambres possibles et ils font leur business !
     
  13. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 371
    J'aime reçus:
    2
  14. p0k3
    p0k3 WRInaute occasionnel
    Inscrit:
    2 Juin 2010
    Messages:
    315
    J'aime reçus:
    0
    Merci pour les aides ;=)
     
  15. indigene
    indigene WRInaute accro
    Inscrit:
    7 Septembre 2003
    Messages:
    3 751
    J'aime reçus:
    83
    Il faut quand même un algo pour trier les propositions en fonction du nombre de personnes. Imagine que l'hotel dispose de chambres 4 lits. Si je suis une personne seule ça serait plus normal de me proposer en premier des chambres 1 lit avant de me proposer des chambres 4 lits. Pour deux couples ça serait l'inverse.

    Il faut donc un algo pour fixer une priorité en fonction du nombre de personnes et du nombre de lits de la chambre. Le principe serait qu'on cherche d'abord à caser tout le monde dans la même chambre et on attribue une note à la proposition (de 1 à 20 par exemple), ensuite on enlève une personne pour rechercher toutes les chambres avec le nombre de personnes -1, et ainsi de suite. Et quand on arrive aux chambres 1 lit, on recommence dans l'autre sens en ajoutant un lit de plus, puis deux lits de plus, etc... Car quand on est seul on peut très bien réserver une chambre 4 lits si on a envie.

    Exemple pour 2 couples (4 personnes) :
    Chambre 2 lits doubles : note 20
    Chambre 1 lit double + 2 lits séparés : note 19
    Chambre 4 lits séparés : note 18
    maintenant je fais comme si on avait 3 personnes et une quatrième à part
    Chambre 3 lits séparés + Chambre 1 lit simple : note 17
    Chambre 3 lits séparés + chambre 1 lit double : note 16
    Chambre 1 lit double + 1 lit simple + chambre 1 lit simple : note 15
    Chambre 1 lit double + 1 lit simple + chambre 1 lit double : note 14
    Maintenant je fais comme si on avait 2 personnes et deux autres à part
    Chambre 2 lits séparés + Chambre 2 lits séparés : note 13
    Chambre 1 lit double + chambre 2 lits séparés : note 12
    Chambre 1 lit double + chambre 1 lit double : note 11
    Maintenant je fais comme si on avait 1 seule personne et 3 fois une personne à part
    Chambre 1 lit simple + chambre 1 lit simple + chambre 1 lit simple + chambre 1 lit simple : note 10
    Chambre 1 lit double + chambre 1 lit simple + chambre 1 lit simple + chambre 1 lit simple : note 9
    Ensuite on commence à proposer des chambres avec un lit en plus
    Chambre 2 lits séparés + chambre 1 lit simple + chambre 1 lit simple + chambre 1 lit simple : note 8
    Chambre 2 lits séparés + chambre 2 lits séparés + chambre 1 lit simple + chambre 1 lit simple : note 7
    Chambre 2 lits séparés + chambre 2 lits séparés + chambre 2 lits séparés + chambre 1 lit simple : note 6
    etc...

    Dans cet algorithme on peut faire entrer de la récursivité.
    Mais ça devient assez complexe juste pour trier les propositions en fonction du nombre de personnes.
    Une proposition avec tous les types de chambres disponibles et un système de cases à cocher pour pouvoir en sélectionner plusieurs est bien plus simple à gérer.
     
  16. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 371
    J'aime reçus:
    2
    SAuf que ... en pratique, on revient exactement au même problème dès que tu sors de la config "simple"
    Sauf que... la plupart des hôtels ont des chambres doubles avec supplément single (ou pas) et que la vraie chambre single avec le lit de 140 est rarissime, c'est plus une question de prix
    Sauf que... même toute seule, je peux avoir envie de dormir dans un grand lit donc dans une chambre double

    Bref, c'est totalement inutile de se prendre la tête pour faire un algo a priori basé sur le nombre de personnes
    Une fois que le client a dit ce qu'il voulait comme produit, là on va chercher les dispos... au lieu de tourner dans tous les sens

    Juste un truc... vous pensez perf quand vous imaginez ça ? ^^

    Ben voilà, tout ça pour conclure comme moi ^^
     
Chargement...
Similar Threads - [ALGO] Répartition possible Forum Date
Répartition adwords / naturel AdWords 9 Février 2018
Ancres nommées et répartition du jus Netlinking, backlinks, liens et redirections 19 Octobre 2015
Répartition du texte / pondération des mots Débuter en référencement 27 Juin 2014
Quel est la répartition de la typologie des sites pénalisés par google ? Crawl et indexation Google, sitemaps 14 Décembre 2013
Répartitions des backlinks Débuter en référencement 7 Juin 2012
Répartition des sources de visites en général Administration d'un site Web 15 Octobre 2009
Répartition du linkjuice Crawl et indexation Google, sitemaps 28 Août 2009
Repartition des moteurs de recherche en Langue Arabe Référencement international (langues, pays) 20 Janvier 2009
Calcul répartition valeurs dans une base Administration d'un site Web 31 Décembre 2008
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice