我有大约 700 个元素,想要创建 20 个的组合。可能的组合总数是 [700 C 20] ~ 2.5e+38 个组合。这个大数据集属于图的规范。这是一个图优化问题,因此,我什至想将约束应用于这组组合。
我正在使用R!出于此目的,因为它具有丰富的软件包范围和大型数据集处理能力。我正在使用“组合”包。但问题是,当我尝试计算这个时,我收到以下错误:
combn(theDataSet,20,myFunction)
Error in matrix(r, nrow = len.r, ncol = count) :
invalid 'ncol' value (too large or NA)
In addition: Warning message:
In combn(theDataSet, 20, myFunction) : NAs introduced by coercion
对此问题的任何解决方案、替代包或算法表示赞赏。也许有任何处理结果的方法?
由于这是图优化问题,因此也非常感谢任何与此相关的包或算法。
或者,如果有任何其他可用于解决此类问题的工具,请告诉我。
我是电子专业的,所以我不太了解图形优化的高级算法,我不得不采用组合方法。如果有更智能的方法来解决这个问题,我很想知道。
请帮忙。
编辑:
由于你们中的一些人一直在询问实际问题,因此我将对其进行摘要,因为将我的实际作业问题发布在互联网上以逐行回答是不光彩的。
抽象的:
大约有 700 个节点,每个节点每天都必须由机器人充电。机器人(放置在圆顶内)携带一个具有大约 5000 单位能量的源,每个节点需要不同的能量水平(所有节点的平均需求约为 250,但对于某些机器人,它的范围从 120 到 500 单位的节点)。给出了节点到圆顶的距离和节点之间的距离(以维度 701x701 的矩阵形式)。每个机器人一天可以行进多少是有限制的。设计一个算法并编写一个程序(在任何商业可用的规格或包中),以有效地计算所需的机器人数量和所有机器人行进的总距离。