[ library(eplex) | Reference Manual | Alphabetic Index ]

EplexInstance:(Ind => LinCon)

Linear constraint conditional on binary variable
Ind
A binary variable or negated binary variable
LinCon
A linear constraint

Description

Logical implication Ind =≥ LinCon. The linear constraint LinCon is enforced when the indicator Ind is 1, and violation of LinCon forces the indicator Ind to 0.

Ind can be a variable, or a subscript expression resulting in a variable. It can also be negated using the neg/1 prefix operator. Correspondingly, LinCon is either enforced by the binary being 0 or 1.

LinCon is any linear constraint accepted by eplex, i.e. an equality or inequality constraint over linear expressions.

This constraint does not implicitly impose bounds or a type on the binary variable in Ind. It will usually make sense to separately impose bounds of 0..1 and invoke integers/1.

Indicator constraints are not supported by every external solver. Use lp_get(has_indicator_constraints,yes) to check availability.

Examples

```    B => ( X1 \$>= X2+8 )
neg B => ( X1+5 \$=< X2 )
B[12] => ( sum(Costs) \$= 42 )
```