14 #if defined(DEBUG) || defined(WARNINGMSG)
24 FunctionMinimum CombinedMinimumBuilder::Minimum(
const MnFcn& fcn,
const GradientCalculator& gc,
const MinimumSeed& seed,
const MnStrategy& strategy,
unsigned int maxfcn,
double edmval)
const {
28 FunctionMinimum min = fVMMinimizer.Builder().Minimum(fcn, gc, seed, strategy, maxfcn, edmval);
32 MN_INFO_MSG(
"CombinedMinimumBuilder: migrad method fails, will try with simplex method first.");
35 FunctionMinimum min1 = fSimplexMinimizer.Builder().Minimum(fcn, gc, seed, str, maxfcn, edmval);
38 MN_INFO_MSG(
"CombinedMinimumBuilder: both migrad and simplex method fail.");
42 MinimumSeed seed1 = fVMMinimizer.SeedGenerator()(fcn, gc, min1.UserState(), str);
44 FunctionMinimum min2 = fVMMinimizer.Builder().Minimum(fcn, gc, seed1, str, maxfcn, edmval);
47 MN_INFO_MSG(
"CombinedMinimumBuilder: both migrad and method fails also at 2nd attempt.");
48 MN_INFO_MSG(
"CombinedMinimumBuilder: return simplex Minimum.");