void LmmABCDFinder::solve() { QuantLib::NoConstraint empty_constraint; QuantLib::LevenbergMarquardt minimizationSolver(stopCriteria_.functionEpsilon(), stopCriteria_.rootEpsilon(), 1e-16); QuantLib::Array start_abcd (4); start_abcd[0]=0.156147; start_abcd[1]=0.363384; start_abcd[2]=0.407813; start_abcd[3]=1.; QuantLib::Problem optimizationProblem(abdcCostFunc_, empty_constraint, start_abcd); endConvergenceType_ = minimizationSolver.minimize( optimizationProblem, stopCriteria_ ); found_abcd = optimizationProblem.currentValue(); }
analysis::Problem OptimizationProblemRecord_Impl::problem() const { return optimizationProblem().cast<analysis::Problem>(); }