2

是否有 api 可以解决 CPLEX 中一组凸约束的可行性问题(是否存在可行点)。

4

3 回答 3

2

是的,只是不要输入目标函数。cplex 将为您提供它可以找到或证明没有解决方案的任何解决方案。

var x;
var y;
minimize 1;

subject to con1:
  x + y <= 6;
  x + y >= 7;
于 2011-09-20T17:38:51.183 回答
1

您可以简单地将 slack 添加到所有约束,并仅将 slack 变量放入成本为 1 的成本函数中。然后测试 Cplex 是否找到成本为 0 的解决方案。

于 2011-09-20T10:01:22.897 回答
0

一种简单的方法是添加一个空的目标函数。例如,如果您使用 Concert for .net,则使用不带任何输入参数的 AddMinimize() 或 AddMaximize() 即可完成工作。您还可以使用 Populate() 方法填充任意数量的可行解决方案。

另外,您提到了凸约束。我认为 cplex 可以处理像 log 这样的函数,但我认为一些凸函数是某种形式的,我不确定你是否可以将它们表达为 cplex 模型中的表达式。

于 2012-08-08T00:41:14.523 回答