我得到一个矩阵使用真实条目并定义内积
我也得到一个整数并且需要找到所有二进制向量这样
二进制向量是指一个向量,其条目在为了小 解决这个问题并不难 - 只需测试所有可能的向量。在实践中可以很大,只有一小部分向量满足这个条件。因此我想知道
有没有更有效的方法来计算所有满足的二进制向量?
我很确定这个问题一般来说很难,但我想知道是否有任何方法可以避免必须测试所有载体?
编辑。矩阵是形式在哪里是一个整数并且是二元对称矩阵。不是的特征值
我得到一个矩阵使用真实条目并定义内积
我也得到一个整数并且需要找到所有二进制向量这样
二进制向量是指一个向量,其条目在为了小 解决这个问题并不难 - 只需测试所有可能的向量。在实践中可以很大,只有一小部分向量满足这个条件。因此我想知道
有没有更有效的方法来计算所有满足的二进制向量?
我很确定这个问题一般来说很难,但我想知道是否有任何方法可以避免必须测试所有载体?
编辑。矩阵是形式在哪里是一个整数并且是二元对称矩阵。不是的特征值
您的条目是否矩阵实际上是实数还是整数?如果它们是实数,您需要多精确地满足约束?的条目是所有非负数,或者某些条目是否为负数?
您的问题通常是 NP-Hard,因此您不应该期望找到多项式时间算法。你可能会发现你可以做得比检查所有更好通过使用回溯搜索组合。我建议查看约束编程求解器(例如 Eclipse)来执行此回溯搜索。
您也可以尝试使用整数线性编程软件来解决此问题,但大多数 ILP 代码并未设置为找到所有解决方案,而是在找到单个最优解决方案后停止,即使可能有更多解决方案。