Modelling belonging of a real variable to an interval by a boolean variable
In the context of a MILP, I have variables $x_{t} \in \mathbb{R}$ which have a lower bound $x^{min}$ and an upper bound $x^{max}$.
Let $I_{1} = [x^{min},a_{1}], I_{2} = ]a_{1}, a_{2}], ..., I_{n} = ]a_{n-1}, x^{max}]$ form a partition of $[x^{min}, x^{max}]$.
The behaviour of the system I want to model depends on which $I_{p}$ the value of each $x_{t}$ belongs to, therefore I want other variables $y_{p,t} \in {0,1}$ such that $y_{p,t} = 1 \iff x_{t} \in I_{p}$.
The variables $y_{p,t}$ appear in the objective function in a sum of the type $$\sum_{t} \sum_{(p,q) \in {1,n}^2} c_{p,q}y_{p,t}y_{q,t-1}$$ where the $c_{p,q}$ are constant, positive factors1. We want to minimize the objective function, so the $y_{p,t}$ will be minimized by the solver.
I came up with the following constraints for the $y_{p,t}$ variables but I am not entirely satisfied and wondering if I could do better.
For each interval $I_{p} = ]a_{p-1}, a_{p}]$ we would have the following constraints on new variables, $z^{ub}{p,t}$ and $z^{lb}{p,t} \in {0,1}$ :
$$ z^{lb}{p,t} \geq \frac{x{t}-a_{p-1}}{M}$$ $$ z^{ub}{p,t} \geq \frac{a{p}-x_{t}}{M} + \epsilon$$ where $M$ and $\epsilon$ are appropriate constants.
The case $p = 0$ is different but obtained by adding epsilon to the first constraint right hand side as well.
Then $y$ would be obtained with a logical "and" between $z^{lb}$ and $z^{ub}$ : $$ y_{p,t} = z^{lb}{p,t}*z^{ub}{p,t} $$ which is easily linearized.
The reasons I am not satisfied with this, although I believe it should work, is both having to use $M$'s and $\epsilon$'s and having to linearize the logical "and" constraint. 1021
Is there a smarter way to design these constraints ?
Hopefully I provided enough information. I didn't include the whole model because it's quite long and I don't think it would be useful. But please let me know if that's not the case.
1 : I know this is not linear, but it is easily linearized and I think it is clearer this way. 946