I have a linear program that has a constraint as follows :
$$a = \min\{b,x\},$$
where $x$ is the variable.
I tried to write it as $$a\leq\min\{b,x\}\tag{1},$$
and
$$a\geq\min\{b,x\}.\tag{2}$$
Equation $(1)$ is equivalent to the two inequalities :
$$a\leq b,$$ and $$a\leq x.$$
How to deal with equation $(2)$?
If $a$ and $b$ are both constants, then there are two cases. If $a<b$, then the constraint can be written as $x=a$. If $a=b$, then the constraint can be written as $x\geq b$. If $a>b$, then the constraint is violated.
If $a$ is a variable, there are also two cases.
If $a$ is a constant and $b$ is a variable, then again, the problem mightn't be convex, so once again you can't necessarily write a linear constraint which is equivalent. For example, $$\begin{align*} \min_{x,b}\quad& x+b\\ \text{s.t.}\quad& 1=\min\{b,x\} \end{align*}$$ is not convex, since $(1,3)$ and $(3,1)$ are both feasible but the convex combination $(2,2)$ is not.
In all cases, you can turn your linear programme into a mixed-integer linear programme by defining a new variable $z\in\{0,1\}$ which equals $1$ when $a=b$ and equals $0$ when $a=x$. In particular, you can write the constraints as $$\begin{align*} a&\leq b\\ a&\leq x\\ a&\geq x-Mz\\ a&\geq b-M(1-z)\\ x&\leq b+Mz\\ b&\leq x+Mb\\ z&\in\{0,1\} \end{align*} $$ where $M$ is a big-M value.