I have an MIP optimization problem that has a constraint $p\geq xy$, where $x$ is a binary variable, $p$ and $y$ are non-negative continuous variables.
I tried the Big-M method. However, the upper bound for $y$ is quite large ($M \geq 10^{15}$). All the MIP solver I tried have numerical problems and cannot solve the problem correctly. I tried to set the solver parameters and the numerical problem still exists.
Since the value range of $y$ is from $10^{-5}$ to $10^{14}$, it seems the values cannot be scaled directly in the problem.
Is there any other way to linearize the product $xy$ which can avoid numerical problems?
Some solvers allow you to directly express indicator constraints $x=1 \implies p \ge y$. Behind the scenes the solver might introduce big-M constraints or might branch on the indicator constraints. In the latter case, the constraint is ignored in the root node linear programming relaxation (weakening the relaxation but avoiding numerical difficulties from big-M); if the constraint is violated (that is, if $x=1$ and $p < y$), the $x=1$ branch imposes linear constraint $p \ge y$.
Alternatively, if you have only one such constraint, just solve two problems, effectively doing this branching yourself.