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 :

Optimiser la durée de fonctionnement de pompes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Par défaut Optimiser la durée de fonctionnement de pompes
    Bonjour à tous, l'algorithme porte sur le fonctionnement de pompes à eau dans une exploitation de sel de mer.
    Je dois créer un algo qui consiste à "optimiser la durée de fonctionnement des 3 pompes, en fonction du volume total de l'eau à pomper, et le débit horaire des pompes" (m^3 d'eau par heure).

    Edit: j'ai enlevé l'interface car je pense finalement qu'elle ne représente pas ce que l'algo devrait donner, ça risque d'embrouiller en fait.

    L'algorithme calcule la durée de fonctionnement de chaque pompe de façon optimisée selon ce que l'utilisateur saisit comme volume total et débit des pompes.
    Par exemple, il choisit 200 000 000 m^3 comme volume total, et 40 000m^3/h comme débit pour la pompe 1. L'algo devrait faire la division: 200 000 000 / 40 000 = 5000 heures.
    La durée de fonctionnement optimale pour la pompe 1 est de 5000 heures (puisque chaque heure, elle pompe 40 000 m^3. Pour pomper les 200 000 000 voulus, on multiplie 40 000* 5000).

    C'est le raisonnement auquel je suis arrivé après réflexion, mais pour en faire un algorithme...comme je débute en programmation, je ne trouve pas comment.

    Auriez vous une idée d'un algorithme pour ce cas?

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 217
    Par défaut
    Dans l'image de l'interface, il y a un truc que tu n'as pas affiché, c'est le débit de chaque pompe.
    Ajoute cette information, ça t'aidera à mieux "visualiser l'exercice".
    Ceci étant, je pense qu'il te manque des données pour trouver la solution optimum. Est-ce que faire tourner la pompe n°1 pendant 10 heure, ça revient plus ou moins cher que faire tourner la pompe n°2 pendant 8 heures ? ou pendant 12 heures ?

    Quand tu auras ces infos, tu pourras commencer à bosser.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Par défaut
    tbc92: merci pour ta réponse tout d'abord, en fait j'ai modifié le 1er post car c'était erroné. L'algorithme ne part d'aucune donnée précise en fait, il ne connait ni le volume total, ni le débit des pompes.
    Il attend que l'utilisateur l'informe de ces données. Ensuite, à partir du volume total et du débit, il calcule la durée optimale de fonctionnement des pompes.

    Le problème maintenant, c'est de créer l'algorithme. J'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Début
    Fonction DureePompes(Duree en Entier) en Entier
    Lire VolumeTotal       //L'utilisateur saisit le volume total souhaité//
    Lire DebitPompe
    CalculDuree <= VolumeTotal/DebitPompe
    Renvoyer CalculDuree
    Fin Fonction
    C'est incomplet, ça j'en suis quasiment sur. Comment faire pour attribuer le résultat de la division à l'une des 3 pompes?

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    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 489
    Par défaut
    salut

    reprenons ce que tu as deja fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Fonction DureePompes(Duree en Entier) en Entier //<= A quoi sert Duree en Entier ?
      Lire VolumeTotal //L'utilisateur saisit le volume total souhaité//
      Lire DebitPompe
      CalculDuree <= VolumeTotal/DebitPompe
      Renvoyer CalculDuree
    Fin Fonction
    maintenant sachant que tu a trois pompe il te suffit de créer un tableau de trois éléments et de le remplir avec ta fonction DureePompes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Pompes : Tableau[1..3] Entier
      Pour tout indice i de 1 a 3 Faire 
        Pompes[I] =  DureePompes();
    pour chaque pompes tu as donc affecté le résultat voulue

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2017
    Messages : 35
    Par défaut
    D'accord! J'ai remplacé la variable "Duree" par "CalculDuree" du coup, je crois que c'est ce qu'il faut mettre comme paramètre.
    J'ai aussi modifié un peu le pseudo-code pour certaines raisons, je ne sais pas si c'est correct.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Début
    Fonction DureePompes(CalculDuree en Entier) en Entier
    Lire VolumeTotal
    Lire DebitPompe
    CalculDuree <= VolumeTotal/DebitPompe
    Renvoyer CalculDuree
    Fin Fonction
     
    Fonction main()
    Pompes Tableau[1..3] en Entier
    Pour i <= 1 à 3
    Pompes[i] <= DureePompes(CalculDuree)
    Fin Fonction
    Fin
    Quand on appelle la fonction DureePompes dans le main, on envoie la variable CalculDuree comme paramètre. Est-ce que c'est bien ça?

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 217
    Par défaut
    Différentes choses sont 'discutables'. Le truc qui me gène le plus, c'est en ligne 13 : FIN Fonction. J'aurais plutôt vu FIN Boucle.

Discussions similaires

  1. [XL-2010] Comment optimiser le temps de fonctionnement d'une macro
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/02/2016, 09h15
  2. [XL-2010] Comment optimiser le temps de fonctionnement d'une macro
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/12/2015, 00h29
  3. Pb d'optimisation (durée d'exe trop longue)
    Par lucas67 dans le forum C#
    Réponses: 7
    Dernier message: 26/08/2008, 10h23
  4. Durée fonctionnement programme
    Par philippe30 dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2005, 22h26

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