[ library(eplex) | Reference Manual | Alphabetic Index ]
# Ind => LinCon

# 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 )

## See Also

suspend : => / 2, ic : => / 2, gfd : => / 2, $>= / 2, $= / 2, $=< / 2, eplex_add_constraints / 2