Math Minimization library and methods (in C++)?

Greetings to all,

I have an optimization problem I’m trying to solve. I have 3 variables (basically the position of sphere in X, Y, Z), and I have a cost function I want to minimize. I do not have a way of getting the derivative directly (although I could use something like forward-difference if I have to). So far, I’ve been using MINPACK and lmdif function, but it’s very sensitive to the starting position.

Can anyone suggest a decent, efficient algorithm for this kind of problem, and moreover can anyone suggest any libraries that are known to work correctly and efficiently? I’m using C++ and Visual Studio. Method-wise, I’m considering Simplex, BFGS, or Simulated Annealing, but, again, I’m not sure what libraries to go with…

Right now, I just want to get it to work well with the artificial, clean data, but the final problem will have to deal with somewhat noisy data AND an additional parameter (the radius of the sphere, which also has a size constraint). That said, anything that can also handle the latter conditions robustly as well would be excellent.

If anyone could provide any assistance, it would be very greatly appreciated.

Sincerely,

Michael