Closed arbimo closed 2 years ago
Expressions with optional variables should be reified to optional literals
For instance a constraint a < b should be reified to a literal l such that
a < b
l
prez(l) <=> prez(a) && prez(b)
l = true
prez(a) && prez(b) & int(a) < int(b)
l = false
prez(a) && prez(b) & int(a) >= int(b)
l = absent
!prez(a) || !prez(b)
Currently the value of l is unspecified if one of the variables is absent which is unsatisfactory and requires the addition of specialized constraints such as OptLeq
OptLeq
Expressions with optional variables should be reified to optional literals
For instance a constraint
a < b
should be reified to a literall
such thatprez(l) <=> prez(a) && prez(b)
l = true
iffprez(a) && prez(b) & int(a) < int(b)
l = false
iffprez(a) && prez(b) & int(a) >= int(b)
l = absent
iff!prez(a) || !prez(b)
Currently the value of
l
is unspecified if one of the variables is absent which is unsatisfactory and requires the addition of specialized constraints such asOptLeq