有所帮助
我有一个浮点数的2D数组,我想将此数组分为任意数量的区域,以便所有区域的元素的总和更多或不等于。区域必须是连续的。我的意思是,应尽可能减少区域总和的标准偏差。
我之所以这样做,是因为我有与某个区域中"人口"相对应的值图,我想将该区域分为相对较平等的人群。
谢谢!
我会这样做:
1.加整个总和
2.组合质量(坐标)的本地中心
3.现在计算区域总和
-
例如:
region sum = whole sum / number of centers of masses
4.对于每个质量中心
- 开始区域
- 并逐渐增加尺寸,直到总和匹配区域总和
- 避免区域的交集(为此使用一些用法图)
- 如果区域具有所需的总和或无处可生产
您必须对此算法进行一些调整以适合您的需求和输入数据
希望它对...
标准偏差是衡量分区是否接近相等的方法。较低的标准偏差意味着更接近总和。
由于问题似乎是n-p,例如聚类问题,因此可以使用遗传算法来解决问题: -
- 标准偏差可以用作染色体的健身措施。
- 考虑k传染性区域,每个基因(元素)将具有维持区域传染性的k值之一。
- 在染色体上应用遗传算法,并在固定量后获得K的最佳染色体。
- k从2到n,并通过应用遗传算法获得最佳染色体。