我Gecode通过它的C++API 在一种带有正面和负面例子的学习环境中使用。在这种情况下,我有两个BoolVarArray:positive_bags_和negative_bags_.
而且我想做的事情似乎很简单:我想根据用户参数以最小的增长率约束来约束这些袋子gmin。
因此,约束应如下所示:sum(positive_bags_) >= gmin * sum(negative_bags_). 它使用这样rel定义的函数工作:rel(*this, sum(positive_bags_) >= gmin * sum(negative_bags_))但我的问题是,在我的情况下gmin是一个浮点数,但被转换rel为整数。
因此,我只能将其限制positive_bags_为2, 3, ... 倍,negative_bags_但我需要将我的实验定义gmin为1.5例如。
我检查了文档,没有找到linear同时使用Boolean/Integer和Float变量的定义。
有没有办法使用 float 来定义这个约束gmin?
提前致谢!