I'm running a simulation of an electromagnetic system using Radia, an external code that is run from Mathematica. I want to use FindMinimum to determine some optimum parameters for this simulation. So my function definition is something like:
totalFPandRMSXZ[eps1_?NumericQ, eps2_?NumericQ, eps3_?NumericQ, ebs1_?NumericQ, ebs2_?NumericQ] := Total@(Flatten[finalPosAndRMSXP[eps1, eps2, eps3, ebs1, ebs2]][[2, 6, 9, 11, 13, 14]])^2 where finalPosAndRMSXP builds a structure, solves it and evaluates it.
So I use FindMinimum to look for the best values for the variables ebs1 and ebs2 (eventually I'll extend to all five variables).
FindMinimum[totalFPandRMSXZ[0, 0, 0, ebs1, ebs2], {ebs1, 8, 7}, {ebs2, 6, 6.5}, AccuracyGoal -> 3] This is slow to run, so I don't want too many function calls. And this will be a real thing that gets built, so I only want to find an answer for the best value of ebs1 and ebs2 to one decimal place. (These are dimensions in mm.) There may be a difference between 8.000 and 8.001, but I'm not interested in it. But when I execute the FindMinimum, I get function calls with parameters:
{0,0,0,8.,6.} {0,0,0,7.96875,6.} {0,0,0,8.01931,6.} {0,0,0,8.01914,6.} {0,0,0,8.01183,6.} {0,0,0,8.01635,6.} {0,0,0,8.01807,6.} {0,0,0,8.01873,6.} {0,0,0,8.01848,6.} {0,0,0,8.01887,6.} How can I tell Mathematica to take bigger steps?