44 #ifndef ROL_TYPEB_LINMOREALGORITHM_HPP 45 #define ROL_TYPEB_LINMOREALGORITHM_HPP 60 template<
typename Real>
63 Ptr<TrustRegionModel_U<Real>>
model_;
111 Ptr<ReducedLinearConstraint<Real>>
rcon_;
112 Ptr<NullSpaceOperator<Real>>
ns_;
126 std::ostream &outStream = std::cout)
override;
128 void writeHeader( std::ostream& os )
const override;
130 void writeName( std::ostream& os )
const override;
132 void writeOutput( std::ostream& os,
bool write_header =
false )
const override;
139 std::ostream &outStream = std::cout);
149 std::ostream &outStream = std::cout)
const;
165 std::ostream &outStream = std::cout);
179 std::ostream &outStream = std::cout);
188 Real
dtrqsol(
const Real xtx,
const Real ptp,
const Real ptx,
const Real del)
const;
211 const Real tol,
const Real stol,
const int itermax,
214 std::ostream &outStream = std::cout)
const;
Provides the interface to evaluate objective functions.
Provides an interface to run the trust-region algorithm of Lin and More.
Real mu0_
Sufficient decrease parameter (default: 1e-2)
Real dcauchy(Vector< Real > &s, Real &alpha, Real &q, const Vector< Real > &x, const Vector< Real > &g, const Real del, TrustRegionModel_U< Real > &model, Vector< Real > &dwa, Vector< Real > &dwa1, std::ostream &outStream=std::cout)
int minit_
Maximum number of minor (subproblem solve) iterations (default: 10)
bool normAlpha_
Normalize initial Cauchy point step length (default: false)
bool hasEcon_
Flag signifies if equality constraints exist.
LinMoreAlgorithm(ParameterList &list, const Ptr< Secant< Real >> &secant=nullPtr)
Real TRsafe_
Safeguard size for numerically evaluating ratio (default: 1e2)
Real gamma0_
Radius decrease rate (negative rho) (default: 0.0625)
ESecant esec_
Secant type (default: Limited-Memory BFGS)
Real dtrpcg(Vector< Real > &w, int &iflag, int &iter, const Vector< Real > &g, const Vector< Real > &x, const Real del, TrustRegionModel_U< Real > &model, BoundConstraint< Real > &bnd, const Real tol, const Real stol, const int itermax, Vector< Real > &p, Vector< Real > &q, Vector< Real > &r, Vector< Real > &t, Vector< Real > &pwa, Vector< Real > &dwa, std::ostream &outStream=std::cout) const
Real delMax_
Maximum trust-region radius (default: ROL_INF)
Real interpfPS_
Backtracking rate for projected search (default: 0.5)
bool useSecantPrecond_
Flag to use secant as a preconditioner (default: false)
Defines the linear algebra or vector space interface.
Ptr< ReducedLinearConstraint< Real > > rcon_
Equality constraint restricted to current active variables.
int SPiter_
Subproblem solver iteration count.
ETRFlag
Enumation of flags used by trust-region solvers.
Real dprsrch(Vector< Real > &x, Vector< Real > &s, Real &q, const Vector< Real > &g, TrustRegionModel_U< Real > &model, BoundConstraint< Real > &bnd, Vector< Real > &pwa, Vector< Real > &dwa, std::ostream &outStream=std::cout)
Ptr< NullSpaceOperator< Real > > ns_
Null space projection onto reduced equality constraint Jacobian.
bool writeHeader_
Flag to write header at every iteration.
Provides the interface to evaluate trust-region model functions.
Provides an interface to run bound constrained optimization algorithms.
ESecant
Enumeration of secant update algorithms.
void applyFreeHessian(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, TrustRegionModel_U< Real > &model, BoundConstraint< Real > &bnd, Real &tol, Vector< Real > &pwa) const
void writeHeader(std::ostream &os) const override
Print iterate header.
int maxit_
Maximum number of CG iterations (default: 20)
Real eta0_
Step acceptance threshold (default: 0.05)
int redlim_
Maximum number of Cauchy point reduction steps (default: 10)
int pslim_
Maximum number of projected search steps (default: 20)
Provides interface for and implements limited-memory secant operators.
bool interpRad_
Interpolate the trust-region radius if ratio is negative (default: false)
bool useSecantHessVec_
Flag to use secant as Hessian (default: false)
void initialize(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout)
Ptr< TrustRegionModel_U< Real > > model_
Container for trust-region model.
Real alpha_
Initial Cauchy point step length (default: 1.0)
Real spexp_
Relative tolerance exponent for subproblem solve (default: 1, range: [1,2])
int nhess_
Number of Hessian applications.
Real extrapf_
Extrapolation rate for Cauchy point computation (default: 1e1)
void writeName(std::ostream &os) const override
Print step name.
Provides the interface to apply upper and lower bound constraints.
Real dtrqsol(const Real xtx, const Real ptp, const Real ptx, const Real del) const
Real qtol_
Relative tolerance for computed decrease in Cauchy point computation (default: 1-8) ...
Real dgpstep(Vector< Real > &s, const Vector< Real > &w, const Vector< Real > &x, const Real alpha, std::ostream &outStream=std::cout) const
unsigned verbosity_
Output level (default: 0)
void applyFreePrecond(Vector< Real > &hv, const Vector< Real > &v, const Vector< Real > &x, TrustRegionModel_U< Real > &model, BoundConstraint< Real > &bnd, Real &tol, Vector< Real > &dwa, Vector< Real > &pwa) const
Real interpf_
Backtracking rate for Cauchy point computation (default: 1e-1)
Real gamma2_
Radius increase rate (default: 2.5)
int SPflag_
Subproblem solver termination flag.
Real eps_
Safeguard for numerically evaluating ratio.
Real eta1_
Radius decrease threshold (default: 0.05)
int explim_
Maximum number of Cauchy point expansion steps (default: 10)
Real eta2_
Radius increase threshold (default: 0.9)
Real tol1_
Absolute tolerance for truncated CG (default: 1e-4)
Real tol2_
Relative tolerance for truncated CG (default: 1e-2)
void run(Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, std::ostream &outStream=std::cout) override
Run algorithm on bound constrained problems (Type-B). This general interface supports the use of dual...
Real gamma1_
Radius decrease rate (positive rho) (default: 0.25)
void writeOutput(std::ostream &os, bool write_header=false) const override
Print iterate status.
TRUtils::ETRFlag TRflag_
Trust-region exit flag.