我正在尝试找出一个算法...
输入是一堆具有多个值的对象(例如,每个对象 3 个值,颜色/味道/年龄,尽管可能更多)。
然后,该算法会将对象分配到预定义数量的集合中。每个集合最终应该有几乎相同数量的对象(最好每个集合的对象计数不应该超过 1),并实现每个集合的值分布尽可能公平的目标(例如,尽量接近每组中的红色数量相同,其他颜色相同,以及口味和年龄等)。
值与对象绑定,不能更改。如果您将一个对象从一组移动到另一组,它会带来它的所有值。
我发现了这个相关的问题:Algorithm for fair distribution of numbers into two sets
并且建议的“数字分区问题”似乎有助于单值分布,但我正在寻找每个对象具有多个值的信息/算法(如上所述)。
另请注意,这些值不能标准化,即每个对象不能合计为一个值。
感谢您的任何帮助。