如何尽可能均匀地分类(或分配)结构?

时间:2018-01-10 10:03:49

标签: c++ algorithm classification distribution

我想在10个小组中分发100个人。我必须考虑每个人的特征,例如性别,国家,年龄(10岁,20岁,30岁......)等。

这意味着,他们和这类特征应尽可能均匀地分布

我虽然制作一些枚举和结构会有所帮助。

enum class Sex { Female, Male };
enum class Country { America, China, Korea };
enum class Age { Ones, Twos, Threes };

class Person
{
  Sex sex;
  Country country;
  Age age;
}

对于每组,每个特征的比例应尽可能与总比例相同。

有没有有用的算法?

1 个答案:

答案 0 :(得分:0)

制定一些质量mertics(基于组内比率与目标人口比率的差异,或相似),将人对组分配编码为二元向量,并运行(几乎标准)遗传算法以优化您的分配质量。 / p>