how to make a code for distributing n different things among r groups such that each group get atleast certain amount?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
if I have 7 machines and I want to distribute them in 3 groups with all possible combinations such that each group has atleast 2 machines.how can I code this?
0 commentaires
Réponses (1)
Guillaume
le 24 Jan 2017
Modifié(e) : Guillaume
le 24 Jan 2017
machines = 1:7;
groupcount = 3;
minmachinepergroup = 2;
minmachines = minmachinepergroup * groupcount;
assert(numel(machines) >= minmachines, 'Not enough to fill the minimum in each goup');
rmachines = machines(randperm(numel(machines))); %randomise the machines
groupdest = [repmat(1:groupcount, 1, minmachinepergroup), randi(groupcount, 1, numel(machines) - minmachines)]; %distribute first the minimum per group, then randomise
groups = accumarray(groupdest(:), rmachines, [], @(v) {v}); %distribute the machines into the groups
Voir également
Catégories
En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!