symdiff
OPL keyword for the difference between union and intersection
Purpose
OPL keyword to construct set expressions.
context |
---|
Model files (.mod) |
Syntax
BinaryExpression: Expression "==" Expression | Expression "!=" Expression | Expression "<=" Expression | Expression "<" Expression | Expression ">=" Expression | Expression ">" Expression | Expression "+" Expression | Expression "-" Expression | Expression "*" Expression | Expression "/" Expression | Expression "%" Expression | Expression "in" Expression | Expression "not in" Expression | Expression "inter" Expression | Expression "union" Expression | Expression "diff" Expression | Expression "symdiff" Expression | Expression "^" Expression | Expression "&&" Expression | Expression "||" Expression
Description
Set
data can be initialized by set expressions. These expressions are
constructed from previously defined sets and the set operations union
, inter
, diff
, and symdiff
.
The keyword symdiff
runs the difference
between the union and the intersection of two sets.
s1 symdiff s2 = (s1 union s2) diff (s1 inter s2)
Example
{int} s1 = {1,2,3};
{int} s2 = {1,4,5};
{int} i = s1 inter s2;
{int} u = s1 union s2;
{int} d = s1 diff s2;
{int} sd = s1 symdiff s2;
initializes i
to
{1}, u
to {1,2,3,4,5}, d
to
{2,3}, and sd
to {2,3,4,5}.