Examples
implies
is used to define logic implications. As an example, the following code will ensure that a variable
x
satisfies a set of linear inequalities if a binary variable
d
is true. If
d
is false, the value of
x
is arbitrary the constraints could be satisfied, but they do not have to be)
d = binvar(1);
F = implies(d,A*x <= b);
implies is mainly intended for (BINARY -> BINARY) or (BINARY -> Linear constraint), although it can be used also for more general constructions such as (Linear Constraint -> Linear Constraint) (bearing in mind that these models typically are numerically sensitive and may require a lot of binary variables to be modeled).
The following code reverts the logic: if a set of linear inequalities are satisfied, the binary variable is forced to be true.