CPLEX 中的可行性问题

发布于 2024-12-05 17:08:05 字数 46 浏览 0 评论 0原文

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

Is there an api to solve the feasibility problem (whether a feasible point exists) for a set of convex restraints in CPLEX.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

×眷恋的温暖 2024-12-12 17:08:05

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

var x;
var y;
minimize 1;

subject to con1:
  x + y <= 6;
  x + y >= 7;

Yes, just don't enter an objective function. cplex will give you any solution it can find or prove that there isn't a solution.

var x;
var y;
minimize 1;

subject to con1:
  x + y <= 6;
  x + y >= 7;
醉南桥 2024-12-12 17:08:05

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

You can simply add slack to all constraints, and put only the slack variables in the cost function with cost 1. Then test if Cplex finds a solution with cost 0.

美人骨 2024-12-12 17:08:05

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

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

A simple way is that you add an empty objective function.
for instance, if you use concert for .net, using AddMinimize() or AddMaximize() without any input param will do the job. You can also populate as many feasible solutions as you want by using Populate() method.

Aslo, you mentioned convex constraint. I think cplex can handle functions like log, but I think some convex function is in some freaking form and I am not sure whether you can express them as an expression in cplex model.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文