4 #include <boost/property_tree/ptree.hpp>
10 namespace Optimization {
51 NewtonTrust(std::shared_ptr<muq::Modeling::ModPiece>
const& cost,
52 boost::property_tree::ptree
const& pt);
56 virtual std::pair<Eigen::VectorXd, double>
Solve(std::vector<Eigen::VectorXd>
const& inputs)
override;
62 Eigen::VectorXd
Prec(Eigen::VectorXd
const& s)
const;
65 double Dist2Bndry(Eigen::VectorXd
const& x, Eigen::VectorXd
const& d)
const;
68 Eigen::VectorXd
SolveSub(
double fval,
69 Eigen::VectorXd
const& x0,
70 Eigen::VectorXd
const& grad);
Newton optimizer with trust region to ensure global convergence.
const double initialRadius
Eigen::VectorXd SolveSub(double fval, Eigen::VectorXd const &x0, Eigen::VectorXd const &grad)
NewtonTrust(std::shared_ptr< muq::Modeling::ModPiece > const &cost, boost::property_tree::ptree const &pt)
Eigen::VectorXd Prec(Eigen::VectorXd const &s) const
virtual ~NewtonTrust()=default
virtual std::pair< Eigen::VectorXd, double > Solve(std::vector< Eigen::VectorXd > const &inputs) override
Solve the optimization problem.
const unsigned int printLevel
double Dist2Bndry(Eigen::VectorXd const &x, Eigen::VectorXd const &d) const
Solve an optimization problem.