algorithm - 计算线性不等式的解

标签 algorithm math counting

<分区>

我正在尝试解决一个问题,我已将其简化为计算多个线性不等式的整数 解的数量。我需要能够计算任意数量的变量 c_1、...、c_n 的解的数量,但是对于 n=3,方程可以写成:

The equations. http://silicon.appspot.com/readdoc?id=155604

现在,我预先知道 n 和 r 的值,并希望找到存在的 (c_1, ..., c_n) 解的数量。

这能否有效地完成(比枚举解决方案更快)? (如果是:如何?;如果不是:为什么?)

最佳答案

为了解决这个问题,我可能会进入约束规划领域。看起来你有一个经典的 all different 约束(有点像 N-Queens 问题)。试一试下面列出的免费约束求解器之一。这将为您提供非常有效的解决方案。它基本上会生成整个搜索树,但是有了很好的 All-Different 约束实现,这棵树最终将被修剪得几乎没有。

http://www.gecode.org/ http://minion.sourceforge.net/ http://jacop.osolpro.com/ http://research.microsoft.com/apps/pubs/default.aspx?id=64335

这是维基百科列表:
http://en.wikipedia.org/wiki/Constraint_programming#Constraint_programming_libraries_for_imperative_programming_languages

关于algorithm - 计算线性不等式的解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970507/

相关文章:

geocoding - 根据经度和纬度设计网格叠加

algorithm - 在图中,找到连接到一个节点但未连接到另一个节点的所有节点的最快方法是什么?

java - 合并社区并找到最大社区的规模

c++ - 有概率的程序

java - 使用 switch 语句计算对象变量出现次数不起作用

java - Java 中计算单词对的数据结构类型是什么?

java - Do-While 循环在 Java 中的不同行上计数 1 到 30

algorithm - 易于移位的线段树

javascript - 使用 d3js 绘制平行测量符号线

algorithm - 线性问题和非线性问题的区别?点积和内核技巧的本质