您尝试解决的问题通常称为分配问题或选票分配问题。这与将美国众议院的席位数量分配给每个州是同一个问题。
您的方法(称为 Hamilton 方法或最大余数方法)未能解决的稳健性问题被称为Alabama Paradox。来自维基百科的文章,“阿拉巴马悖论是在 1880 年发现的,当时发现增加席位总数会使阿拉巴马州的份额从 8 个减少到 7 个。”
从历史上看,美国至少使用了四种不同的方法:Jefferson 方法、Hamilton 方法、Webster 方法和
自 1941 年以来使用的当前Huntington-Hill 方法。
后面这些方法背后的想法如下。让D = N/k,总人口除以座位/陪护人数。然后 let d = D,并修改d直到四舍五入k_i = round(G_i/d)
加起来正确的座位数,即
回合(G_1/d)+回合(G_2/d)+ ... +回合(G_m/d)= k
关键在于函数的round工作方式。Webster 的方法在通常意义上进行:弱高于 0.5 上升,严格低于 0.5 下降,这很像使用算术平均值。Huntington-Hill 方法基于使用几何平均值的思想。这里有这些方法的一个很好的总结
。请注意,所有这些除数算法都存在缺陷,因为它们违反了配额规则:不能保证一个州至少获得
floor(G_m/D)代表。
如果你想更多地玩这个,在Cut The Knot上有一篇很棒的文章,里面有历史、方程式和有趣的小程序。