I have a constraint of the form:
$a_1*a_2 = b_{12}$
where $a_1$ and $a_2$ are integer variables with ranges $a_1∈[{0,1,2,...,m}]$, $a_2∈[{0,1,2,...,n}]$, and $b_{12}∈[{0,1,2,...,m*n}]$.
I would want to eliminate the product $a_1*a_2$ to make this constraint linear.
If $a_1$ and $a_2$ do not equal to $0$, I can use the $log(a_1*a_2)= log(b_{12})$ to convent it into
$log(a_1) +log(a_2) = log(b_{12})$, and then use the pre-defined discrete set to transform it into a linear constraitn with binary vectors. such as
$x_1= log([0,1,2,...,m]) , x_2= log([0,1,2,...,n])$, and $y= log([0,1,2,...,m*n])$.
$x_1*c1 +x_2*c2 = y*d$ where $c_1, c2, d$ are binary vectors and only one element is 1.
However, as in my model, the feasible set of $a_1$ and $a_2$ has 0 element. The "$log$" trick cannot be used as $log(0)$ has no meaning.
It would be a great help if someone could help me out at this.
Thanks a lot.