I have a function $f(\boldsymbol{x})$ of $d>2$ variables that is piecewise convex. By that, I mean that there are regions in the domain $\boldsymbol{x}$ such that if the domain was restricted to those regions, then $f$ would appear convex. The actual function $f$ is formed by "stitching" each of these piecewise convex shapes together. In a typical example, $d=4$ and the number of piecewise regions might be $50$.
I am trying to find the global minimum of this function. Is there a good, systematic way to find the minimum? Right now, I am just trying a bunch of different initialization points, which is exceedingly slow.