I know that both bilinear programming and mixed integer linear programming are NP-hard. But is there a preference to have when choosing an approach to solve a problem that can be represented in both, especially when all variables must have binary values? For example:
Bilinear version: \begin{align} \max&\quad\sum_{\forall i} v_i\cdot x_i\\ \text{s.t.}&\quad\forall i,v,\ i\neq v,\ x_i\cdot x_v = 0\\ &\quad\forall i,\ x_i \leq 1\\ &\quad\forall i,\ x_i \geq 0. \end{align} Note that the problem forces the values to be binary without explicitly stating it.
MILP version: \begin{align} \max&\quad\sum_{\forall i} v_i\cdot x_i\\ \text{s.t.}&\quad\sum_{\forall i} x_i \leq 1\\ &\quad\forall i,\ x_i \in\{0,1\}. \end{align}
These two problems will lead to the same result, but which one is more appropriate and efficiently designed?