I use Gecode
through its C++
API in a kind of learning context with positive and negative examples.
In this context I have two BoolVarArray
: positive_bags_
and negative_bags_
.
And what I want to do seems very simple: I want to constrain these bags with a minimal growth rate constraint based on a user parameter gmin
.
Thereby, the constraint should look like: sum(positive_bags_) >= gmin * sum(negative_bags_)
.
It works using the rel
function defined like this: rel(*this, sum(positive_bags_) >= gmin * sum(negative_bags_))
but my problem is that in my case gmin
is a float but is casted by rel
as an integer.
Therefore I can only constrain positive_bags_
to be 2
, 3
, ... times bigger than negative_bags_
but I need for my experiments to define gmin
as 1.5
for example.
I checked the documentation and did not find a definition of linear
that use both Boolean
/Integer
and Float
variables.
Is there some way to define this constraint using a float gmin
?
Thanks in advance!