Formation de groupes par préférences

Bonjour,

Je voudrais constituer 6 groupes contenant chacun entre 3 et 5 élèves en tenant compte de leurs préférences.

Un élève X doit être dans un groupe qui contient au moins un de ses amis (affinité) mais qui ne contient aucun des élèves qu’il déteste (anti-affinité).

Le groupe peut être complété par d’autres élèves considérés comme « neutres » pour l’élève X, mais selon les mêmes critères pour les autres élèves entre eux.

exemple : élève X avec Y car ils ont des affinités + A et B qui ont des affinités entre eux mais pas forcément avec X et Y et sans anti affinité.

Merci d'avance

Bonjour,

Un élève X doit être dans un groupe qui contient au moins un de ses amis (affinité)

Comment faire avec les élèves qui n'ont pas d'amis ( 4 cas)

On les met ensembles ?

A+

Edit : ah ben... non.... Il y a des cas d'antiaffinité...

Re edit : je n'avais pas bien lu la demande ....

Problème complexe....

Bonjour,

Ceux qui n'ont pas d'affinité sont des élèves neutres, ils peuvent être avec tout le monde.

a+

Oui, Oui, C'est pour ça que j'ai fait un edit pour dire que je n'avais pas bien lu la demande .....

Pas évident, je n'ai pas de solution.....

Bonne suite

Bonjour,

Il y a un petit souci avec Lucas qui développe une anti affinité avec lui-même.

cdlt

Bonjour,

une proposition qui trouve une solution pour les données fournies (après correction des anomalies de noms, LOHANN vs LOHAN, KYLIAN et KILIAN, et LUCAS qui ne veut pas être avec lui-même)

à tester

Bonjour h2so4 ,

Dans le groupe 1 : AARON anti affinité avec KILIAN

Dans le groupe 2 : LUCAS anti affinité avec NOA

Mais peut être qu'il n'y a pas de solution.

Je planche sur une solution:

Générer toutes les combinaisons possibles, puis supprimer les incompatibilités.

Bonjour,

Voici le fichier modifié.

Et je ne veux que 6 groupes.Et si cela parait trop compliqué on pourra limiter les anti affinités à 2 personnes.

Bon courage

merci

Bonsoir,

J'ai une solution avec seulement 2 anti affinités :

1 NILS NOA LUCAS

2 SARAH JANE REIGHLEY MATHIS

3 AARON MAXIME T MAXIME M CLARA

4 HAMZA EVAN EULALIE MANON KILIAN

5 KELYAN LENY ANABEL LOHANN NICOLAS

6 MANDY CELYA TESS ANAIS CELIA

Qui dit mieux ?

Tous ont au moins 1 préféré.

Seul LUCAS n'a pas de chance : Il se retrouve avec NOA qui était son 3ème choix négatif...

Mais je n'ai pas de méthode générique pour traiter ce problème trop complexe :

NILS et NOA sont obligatoire ensemble (A eux 2 ils totalise plus de la moitié es exclusion.)

NILS est chef de groupe car c'est celui qui à le plus de choix négatif

KELYAN aussi car il a aussi beaucoup de refus.

Tous ceux qui n'ont qu'un préféré sont obligatoire également ce qui les rend tête de liste :

HAMZA - EVAN

KELYAN - LENY

SARAH - JANE

AARON et MANDY s'imposent brillamment avec les autres...(à cause notamment du tandem MAXIME qui imposent ) et MANDY dont les affinités sont restreinte...

Qui dit mieux.

Malheureusement je n'ai pas de méthode générique : J'utilise seulement un Dictionnary qui alimente une Listbox qui se décrémente avec ceux qui sont déjà casés...

J'aurais sans doute pu décrémenter aussi les exclus, mais ce n'étais pas vraiment nécessaire dans ce contexte.

A+

Bonsoir,

un nouvel essai qui me semble donner une solution pour les données du dernier fichier proposé.

Bonjour,

Le problème c'est que tu ne réponds pas à la condition N° 1 :

Un élève X doit être dans un groupe qui contient au moins un de ses amis.

Comme je le disais plus haut, le problème ce sont les quelques élèves qui n'ont qu'un ami :

Cela impose de les mettre directement tête de groupe sinon la probabilité d'avoir tous satisfaction est très rapidement quasi nulle.

J'ai fait une dizaine de test et ton programme ne semble trouverer que 2 combinaisons possibles :

Pour chacune d'elles j'ai coloré en rouge ceux qui ne retrouvent pas leur ami

groupe 1 NILS LENY KELYAN LOHANN AARON

groupe 2 KILIAN CLARA CELIA REIGHLEY SARAH

groupe 3 NOA ANABEL MANDY CELYA JANE

groupe 4 TESS LUCAS NICOLAS EVAN MAXIME M

groupe 5 EULALIE MATHIS MAXIME T

groupe 6 MANON HAMZA ANAIS

groupe 1 NILS KILIAN REIGHLEY JANE SARAH

groupe 2 KELYAN TESS ANABEL CLARA CELIA

groupe 3 NOA NICOLAS EVAN MAXIME M LOHANN

groupe 4 LUCAS MAXIME T AARON EULALIE MANDY

groupe 5 MATHIS ANAIS CELYA

groupe 6 LENY MANON HAMZA

A+

Bonjour,

effectivement mon algorithme donne priorité à l'anti-affinité, puis à l'affinité. et propose une solution qui tient compte de l'affinité quand c'est possible, j'aurais dû le préciser.

Merci beaucoup!

En effet, ce que je demande est très compliqué. La prochaine fois que je changerai mes groupes, je demanderai aux élèves de donner au minimum 3 affinités pour que le problème ne soit pas insoluble.

Bonjour

Je viens de réutiliser le fichier pour faire de nouveaux groupes en demandant à mes élèves de donner au minimum 4 affinités pour éviter que le problème reste insoluble. Donc le logiciel me propose en effet plusieurs possibilités mais il n'y a jamais de groupes de 4, uniquement des groupes de 3 ou 5 élèves. Serait-il possible de modifier ce paramètre, de rendre possibles les groupes de 3, 4 ou 5 élèves?

Sinon, il fonctionne très bien.

Merci d'avance

643-18-avril.xlsm (23.47 Ko)

Bonjour,

voici une nouvelle version, on essaie de former des groupes de 5 et de 4, si possible sinon des groupes de 5 et de 3.

1043-18-avril-v1.xlsm (23.75 Ko)

Merci pour tout votre travail! Mais j'aurais encore besoin de vos services...

Je vous ai soumis une classe où je n'ai que 26 élèves. Mais j'en ai d'autres à 29 ou 30... est-ce que cette formule est censée fonctionner quand même? J'ai fait un essai avec une classe à 28 et j'ai un pop-up qui dit "Hugo P non trouvé parmi mes élèves" alors qu'il y est bien et que l'orthographe est correcte... et les groupes 5 et 6 ne sont pas formés...

Merci d'avance

Bonjour,

en colonne A, on trouve "HUGO P" et dans les affinités, on trouve 2x "HUGO P ", l'espace à la fin du nom fait que les noms ne sont pas identiques. Il faut donc ajouter un espace à HUGO P en colonne A ou supprimer l'espace dans "HUGO P " dans les affinités.

En principe, la macro s'adapte au nombre d'élèves.

Merci, en effet j'ai modifié l'espace et ça marche... enfin, si on veut... Si je prends Liloo, elle n'a aucune affinité dans son groupe...

J'imagine que la formule donne la priorité aux anti-affinités. Serait-il possible de faire l'inverse? Et éventuellement ne prendre en compte que la 1ère anti-affinité si ça bloque.

2351-20-avril-v1.xlsm (24.95 Ko)

Merci, en effet j'ai modifié l'espace et ça marche... enfin, si on veut... Si je prends Liloo, elle n'a aucune affinité dans son groupe...

voir mon message du 27/3 11:19.

Pour ta demande, j'y réfléchirai dès que j'aurai le temps et si j'ai envie et ta dernière réponse ne me donne pas vraiment envie.

Oui, je sais que c compliqué ce que je demande... désolée.

Mais j'essaie de faire des groupes de travail où les élèves se sentent bien. Ça fait un an que je fais ça à la main et qu'à chaque fois (environ 8-10 fois par an dans chaque classe), ca me prend 1h30... Comme à chaque fois le résultat est imparfait, il y a des incompatibilités et je change pour éviter que ce soit toujours les mêmes qui soient mécontents...

Pas étonnant que je n'y arrive pas à la main si aucun programme informatique n'y arrive... Donc pas grave si tu n'y arrives pas ou si tu en a ras-le-bol de mes problèmes! Je comprends tout à fait! un grand merci pour tout le temps passé en tout cas!

Rechercher des sujets similaires à "formation groupes preferences"