I am wondering about the characteristics and performance of some constraints with only binary variables. I assume that solving (integer) linear programs is faster than quadratic ones.
At first:
$$
a,b,c \in \{0,1\} \\
a\cdot b = c \tag{1}
$$
Is it a quadratic constraint because of the multiplication with two variables.
I try to model the logical equation $ a \land b = c $ and wonder about the performance of equation 1 or 2 (linearization of AND-Constraint, Chapter 2.5).
\begin{align}
c &\le a \\
c &\le b \\
c &\ge a+b-1 \tag{2}
\end{align}
Which one should I use and why (please considering performance)?
Second:
What is the difference between equation 3 and 4 for the logical equation $ a = 1 \rightarrow b = c$ with $ a \in \{0,1\}; b,c \in \mathbb{N}$? From a logical/mathematical point of view, I do not see anyone.
$$
a \cdot b = a\cdot c
\tag{3}
$$
\begin{align} b-a\cdot M &= c-a\cdot M \tag{4} \end{align}
Summary of the questions:
- Is there a performance issue between $(1)$ and $(2)$?
- Which equation ($(3)$ or $(4)$) should I use and why?
If you know a good resource that explains these basics, please let me know.