Voici une méthode qui est susceptible d'obtenir un bon arrangement, même si ce n'est pas un arrangement optimal:
d'abord créer une fonction de classement qui peut prendre une paire de groupes et de déterminer si l'un est meilleur que le autre. Appliquez ensuite l'algorithme suivant:
- Affectez des personnes de manière aléatoire à des groupes.
- Choisissez au hasard une personne de chaque groupe.
- Créer de nouveaux groupes dans lesquels chaque combinaison de réaffectations est effectuée sur les personnes choisies à l'étape 2. (Pour 3 groupes, il y aura 6 ces réaffectations. Pour 4, 24.)
- De tous reasignments possibles, choisir le meilleur un.
- Répétez les étapes 2 à 4 un million de fois.
MISE À JOUR
S'il n'y a que 18 personnes qui ont besoin d'être assignée, c'est juste (18 choisissez 6) * (12 choisissez 6)/6 = 2,858,856 regroupements possibles. (Ou, dans le cas de quatre groupes c'est (18 choisir 4) * (14 choisir 4) * (10 choisir 5)/4 = 192,972,780 groupements.)
Vous pouvez simplement essayer chacun et choisir le meilleur.
Je suppose que l'algorithme de classement lui-même est vraiment la partie difficile de cette affectation.
Vous pouvez simplement donner à chaque personne un score basé sur la somme des scores des personnes sélectionnées pour être dans son groupe, puis additionner les scores de chaque personne ensemble. Le problème est que vous allez vous retrouver avec toutes les personnes populaires dans un groupe, et toutes les personnes impopulaires dans un autre groupe, et tous les nettoyeurs de combinés téléphoniques dans un autre groupe.
Vous devez simplement attribuer des personnes de manière aléatoire, puis leur dire que vous avez utilisé un système vraiment scientifique. De cette façon, tout le monde obtient un bon mélange.
Comment cela correspond à la balise '[compiler-optimization]'? –
Quantifier "heureux". Notation moyenne la plus élevée possible des pairs dans son groupe?Le problème du mariage stable, tout le monde a obtenu dans le meilleur groupe qu'ils pouvaient selon leurs classements (cela ne signifie pas toujours «heureux»)? Aussi, quel est l'ordre des classements, 1 est le meilleur ou le pire? –
1 est le meilleur. Oui, "Plus haute note moyenne possible des pairs dans son groupe" - merci! – wehavinthisbaby