I'm looking at a global minimisation problem on the $n$-sphere ($n$ of the order 10--50) but with a complete swine of an objective --- it is (effectively) a black box; it is piecewise smooth but with discontinuities and (this is the kicker) the minimum seems to occur at (one side of) a discontinuity.  My best results so-far are with a simulated annealing (scipy.optimize.anneal, hacked so that updates stay on the sphere) which seems to give me reasonable results with 100,000 evaluations on an $n=10$ problem taking about 2 CPU-hours.  Is there a better way?   
Global optimisation with discontinuous objective
nonconvex;constrained optimization