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 :

Procédure d'Organisation de Chambres


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 3
    Par défaut Procédure d'Organisation de Chambres
    Bonjour, je cherche les grandes lignes d'une procédure php/Mysql qui aurait pour but de remplir une table "Chambre" dans un bdd en tenant en compte de ceci:
    Elle contient les champs: NomClient, NumClient, SexeClient, DemChIndiv, NumChambre.

    Chambres 1 à 30: Individuelles
    Cambres 31 à 40: Doubles.


    Connaissant le sexe des clients de l'hotel, on peut faire cohabiter dans les chambres doubles deux personnes du même sexe uniquement.
    Certains veulent des chambres individuelles,dans le champ "DemChIndiv" (demande chambre individuelle sera mis "oui"). Ou bien faire une table Chambre Indiv et une table chambres doubles.
    A chaque départ et arrivée d'un client il faudrait mettre à jour l'organisation des chambres pour qu'elle colle au mieux avec les attentes de chaque client.

    En résumé, tout se joue sur le numéro de la chambre qui pourra être complètement remanié à chaque départ et arrivée de client.

    Je ne sais pas si c'est clair....Si les champs de la table sont corrects à la base... un vrai casse-tête...
    Merci d'avance, n'hésitez pas à me poser des questions supplémentaires

  2. #2
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 49
    Par défaut
    Tu peut ajouter une table
    Chambre(NoChambre, Capacité, CountClient)
    Capacité : capacité de la chambre
    CountClient : combien de client est déja dans la chambre
    et cela pour deux raisons :
    1- pour faire plus réalist car les chambre d'hotel n'ont pas des numero sequentiel
    2- je trouve que cela simplifie grandement le probleme d'affectation des chambre (j'ai meme une petite idée)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 3
    Par défaut
    hum hum bonne idée.
    Par contre je ne vois pas comment faire pour poser des conditions de réorganisation des chambres. Si toutes les chambres sont affectées à un ou deux clients, qu'il y en a un qui part, un autre qui rentre et qu'il faut réorganiser le tout pour répondre au problème de même sexe par chambre et ceux qui veulent des chambres individuelles...
    Comment un algorithme peut gérer la réogarnisation totale?
    Peut-il trouver la solution la plus simple pour déplacer un minimum de personnes?
    Je sais que tout est possible mais là..çà me parait flou comme histoire...

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

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Par défaut
    Citation Envoyé par novo
    Comment un algorithme peut gérer la réogarnisation totale?
    Peut-il trouver la solution la plus simple pour déplacer un minimum de personnes?
    Je sais que tout est possible mais là..çà me parait flou comme histoire...
    Pour minimiser le nombre de déplacements, on peut s'orienter vers des algorithmes d'optimisation combinatoire. Sans les contraintes de sexe et de chambres seules, il s'agit d'un simple problème de transport qui peut être résolu par un algorithme de flot (Ford-Fulkerson ou autre).

    En revanche, les contraintes supplémentaires rendent le problème plus difficile. Une manière d'avoir la solution optimale et de modéliser le problème comme un programme mathématique en nombres entiers et de le résoudre par un solveur adapté (par exemple GLPK en licence GNU).

    On peut toutefois envisager un algorithme plus simple du type:
    • - on part de l'affectation courante des chambres
      - on enlève les clients qui sont partis.
      - pour chaque nouveau client:
      [list:3ddefe3ed9]
      - on essaie de l'affecter si possible avec quelqu'un sinon on essaye de le mettre seul dans une chambre
      - si ce n'est pas possible, on essaie de regrouper deux clients déjà affecter qui sont seuls dans une même chambre, dans le but de libérer une chambre à laquelle on affecte le nouveau client
      - sinon, on refuse le nouveau client
    [/list:u:3ddefe3ed9]
    Une telle procédure devrait donner de bons résultats (je n'ai pas chercher à voir si elle donne une solution optimale mais ce n'est pas impossible)

  5. #5
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Juste une idée, comme ça ...

    Ne serait il pas possible de gérer ça avec une gestion raisonnablement intelligente de files d'attentes ?

    Considérer chaque catégorie de chambres comme une file ...

    - Une file (table) de chambre simples vides
    - Une file de chambres doubles vides
    - Une file de chambres doubles avec un homme
    - Une file de chambres doubles avec une femme
    - Une file de chambres doubles pleines (hommes)
    - Une file de chambres doubles pleines (femmes)
    - Une file de chambres simples remplies par un homme
    - Une file de chambres simples remplies par une femme


    En gérant ainsi, plusieurs cas se présentent successivement à l'arrivée d'une personne :

    1- Il existe une chambre double avec une personne de même sexe -> on met la 2e personne avec (sauf désidérata contraire)
    2- Il existe une chambre double vide -> on met la personne dedans (sauf désidérata contraire)
    3- Il existe une chambre simple vide -> on met la personne dedans
    4- Il existe une chambre simple pleine avec une personne de sexe opposé et une chambre double ne contenant qu'une personne de sexe opposé -> On déplace la personne de la chambre simple à la chambre double (sauf désidérata contraire) et on met l'arrivant dans la chambre simple.

    Peut être existe t'il d'autre cas, je n'ai pas vérifié la couverture, mais déjà, on a la majorité des situations.

    Si tu gères correctement le changement de file des chambres à l'arrivée et au départ des personnes, tu ne devrais pas avoir beaucoup de grosses réorganisations à faire ...

    Par contre, ainsi on privilégie l'usage des chambres doubles ... Elles risquent donc de n'être jamais vides ... Il faut peut être alors gérer aussi un indicateur de non réaffectation de lit, pour permettre d'éviter la réutilisation d'une chambre que l'on veut neutraliser pour travaux, ou autres ...

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 3
    Par défaut
    ok, merci beaucoup c'est sympa, je vais chercher de ce(s) côté(s) là...

Discussions similaires

  1. Procédures et organisation de tests
    Par pinocchio dans le forum PL/SQL
    Réponses: 6
    Dernier message: 15/03/2012, 14h25
  2. Chambre hopital lit libre procédure stockée
    Par sexbombrock dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/05/2009, 02h05
  3. ProgressBar avec plusieurs procédures
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/09/2002, 18h03
  4. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27
  5. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08

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