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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2005
    Messages : 65
    Points : 43
    Points
    43

    Par défaut Algorithme pour déterminer une structure de classe

    Bonjour à tous

    Je fais pour un lycée ( enfin j'essaie ...) une macro sous excel pour répartir des élèves dans des classes en fonction de 3 majeures choisies (parmi 9), des langues et des options choisies.
    J'ai réussi pour chaque élève à savoir dans quelle(s) classe(s) il peut aller en fonction de la structure choisie par le proviseur.
    reste à optimiser le placement des élèves dans les classes et là ça coince !

    J'ai placé en premier les élèves qui n'avait qu'une classe possible mais pour les autres, c'est le vide absolu dans mon cerveau ??????????????

    je cherche un algo qui optimise le placement des élèves qui ont plusieurs choix pour remplir au mieux les classes dont le nb max est limité à 35

    exemple :

    3 classes 10 11 12
    105 élèves pouvant aller dans :
    que 10, que 11 que 12, ds 10 et 11, ds 10 et 12, ds 11 et 12, dans 10 11 12,

    Si vous connaissez le nom d'un algo ou la méthode qui fait cette tache autrement qu'au hasard, je suis preneur car j'erre sur le net sans savoir que chercher.

    Merci d'avance pour votre temps.

  2. #2
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    3 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 620
    Points : 8 699
    Points
    8 699

    Par défaut

    Bonjour

    Tu remplis la classe 10 avec que des "que 10".
    Si ce n'est pas plein, tu remplis avec des "10 ou 11".
    Si ce n'est pas plein, tu remplis avec des "10 ou 12".
    Si ce n'est toujours pas plein, c'est que c'est impossible.
    Tu remplis alors la classe 11 avec des "que 11".
    Si ce n'est pas plein, tu remplis avec des "11 ou 12".
    Si ce n'est pas plein, tu remplis avec des "10 ou 11" récupérés dans la classe 10 et en les remplaçant par des "10 et 12".
    Si ce n'est toujours pas plein, c'est que c'est impossible.
    Tu remplis alors la classe 12 avec les 35 élèves restants.
    Si ce n'est pas possible, c'est que la répartition est impossible.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2005
    Messages : 65
    Points : 43
    Points
    43

    Par défaut

    Bonjour Flodelarab


    Ta méthode est déjà différente de la mienne car tu pars des classes en cherchant les élèves alors que moi j'étais plutôt sur tu prends un élève et tu choisis une classe.

    Merci pour ta réponse. Je vais essayer de mettre ça en œuvre.

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

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

    Informations forums :
    Inscription : décembre 2006
    Messages : 10 061
    Points : 15 758
    Points
    15 758

    Par défaut

    Bonjour,

    Citation Envoyé par Gloubi99 Voir le message
    Si vous connaissez le nom d'un algo ou la méthode qui fait cette tache autrement qu'au hasard, je suis preneur car j'erre sur le net sans savoir que chercher.
    C'est un problème d'affectation (assignment problem)

    Dans cette modélisation, ton problème est:
    - 105 élèves (les agents)
    - 105 (3x35) places de cours (les taches)
    - une affinité/aversion entre un élève et un cours (le cout)

    Le but étant de trouver les affectations agent/tache qui minimiseront/maximiseront le coût total.

    La page wikipedia donne des liens vers des algos.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2005
    Messages : 65
    Points : 43
    Points
    43

    Par défaut

    Merci bcp pseudocode c'est exactement ce que je cherchais
    Creuser le problème mais savoir dans quelle direction.

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

Discussions similaires

  1. Algorithme pour redimensionner une image
    Par ryosnake dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 20/05/2009, 10h36
  2. algorithme pour chercher une phrase dans un texte
    Par kha_yassine dans le forum Débuter
    Réponses: 8
    Dernier message: 22/06/2007, 22h24
  3. Gtk: problème pour passer une structure en paramètres
    Par C_Chaou dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 19/04/2007, 19h29
  4. [Image] Algorithme pour déterminer une forme continue
    Par wizzmasta dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 25/04/2006, 15h56
  5. [MFC][debutant] probleme pour déclarer une structure
    Par Robleplongeur dans le forum MFC
    Réponses: 10
    Dernier message: 21/02/2005, 13h29

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