I want to solve $$\min_x f(x)\qquad \textrm{s.t.}\qquad g_i(x) \geq 0\ \ \textrm{or}\ \ h_i(x) \geq 0$$ for $i=1,\ldots,m$.
Clearly if the inequality constraints split the feasible set into $2^m$ disconnected components, there is no hope for an efficient numerical solution. But in my case I know there is only one feasible connected component (consider for example a single pair of constraints, $g(x,y) = x$ and $h(x,y) = y$).
Is there some trick for converting these constraints to the standard conjunction of inequality constraints supported by black-box (nonlinear, nonconvex) optimization software? One can try for instance replacing the constraints with $k_i = \max(g_i,h_i)$ but since $k_i$'s gradient is not continuous I have little hope that this idea is effective in practice.
EDIT: Another idea (thanks to a quick discussion with Bernard Mourrain) is to introduce slack variables $y_i$ and solve $$\min_{x,y} f(x)\quad \textrm{s.t.}\quad [g_i(x)-y_i][h_i(x)-y_i]=0,\ y_i \geq 0$$ which now has only conjunctions of constraints, albeit for increased number of constraints and variables. Is this approach viable?