I have formulated a linearly-constrained integer optimization problem. For now, I have been solving it by using an exhaustive search approach over the integer variables. However, I would now like to increase the number of variables, and of course, the size of the search space increases very quickly. Thus, I would like to formulate my problem as a mixed-integer program.
I would like to express many constraints of the following form: $$ i \leq j \implies a x + b \leq 0$$ Where the variables are $(i, j) \in \mathbb{N}^2$ and $x \in \mathbb{R}$. $(a,b) \in \mathbb{R}^2$ are constant parameters.
I notably do not want: $$a x + b \leq 0 \implies i \leq j $$
Thus any constraint that enforces equivalence between the left and right side of the implication is off the table.
So far I have looked into the Gurobi general constraints but they only support having a binary variable activating a constraint i.e. something like: $$ k = 1 \implies { i \leq j \wedge a x + b \leq 0 }$$ With $k \in \{0, 1\}$.
In my admittedly limited testing, this did not yield the same results as the original brute-force approach.
Is there a better way to express dependency between constraints ?