具有中等大小集的记忆效率加权集分配

时间:2017-09-27 12:40:38

标签: c++ algorithm mathematical-optimization

我试图根据一些权重(i,j)函数匹配(线性分配)两组元素。直到现在我才使用munkres,但结果单独使用的内存量(15000 x 15000 x sizeof(float))太大了。我的下一个赌注是拍卖算法,但我不确定它是否符合我的标准。

可能只有一面出现的元素。优选实施最佳且易于实施的解决方案。我只需要一个正确方向的提示,非常感谢你。

1 个答案:

答案 0 :(得分:0)

一旦计算出重量,就不需要精确地存储它。您可以使用half-precision floating point值或其他一些16位格式立即将存储要求从858 MB减少到429 MB。例如,根据权重范围,您可能需要采用权重的对数并将其存储为16位整数。或者你只能存储原始32位浮点数的指数部分,这只是8位,将存储空间减少到215 MB。

一旦权重被转换(或量化),您就可以正常应用算法。