Three examples with different levels of documentation details are provided below.
// no details:
Constraint xyRelation =
forall(p)
| x[p] <= M * y[p];
// with key
Constraint xyRelation =
key("x-y relation")
| forall(p)
| x[p] <= M * y[p];
// with key and definition
Constraint xyRelation =
key("x-y relation")
| "capacity of a location can be used only if it is opened"
| forall(p)
| x[p] <= M * y[p];
public static Constraint operator |(
ForAllSets forAllSets,
ConstraintExpr constrExpr
)