如何解决在 Java 中乘以/添加 Google OR 工具 IntVar 和常量
我目前开始使用 Java 中的 Google OR 工具 CP-Sat 求解器,并面临使用简单数学方程(包括常量和 OR-Tools 内部“Intvar”)的问题。
我的问题的一个小例子:
// Variables
Intvar a = model.newIntvar(0,5,"a");
Intvar b = model.newIntvar(0,"b");
int c = 1;
// Constraint
model.addEquality(a,a * c); // Cannot apply * with Intvar and int
model.addEquality(a,a + b); // Cannot Apply + with Intvars
// What I want to achieve
model.addEquality(a,a * c + b);
我习惯了 Python,其中这些类型 - 问题并不真正存在,有一个简单的 model.Add(a == a * c + b)
完成了工作。
Also Or-Tools LinearExpr.sum 或 LinearExpr.term 根本没有帮助我。
有没有人用 Java 处理过 CP-Sat 优化问题并知道解决方法?
解决方法
java 中没有运算符重载。 所以你被 LinearExpr 方法困住了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。