我想在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;
}
对于每组,每个特征的比例应尽可能与总比例相同。
有没有有用的算法?
答案 0 :(得分:0)
制定一些质量mertics(基于组内比率与目标人口比率的差异,或相似),将人对组分配编码为二元向量,并运行(几乎标准)遗传算法以优化您的分配质量。 / p>