| dogleg | R Documentation |
Implements the standard Powell's Dogleg Trust-Region algorithm for non-linear optimization.
dogleg(
start,
objective,
gradient = NULL,
hessian = NULL,
lower = -Inf,
upper = Inf,
control = list(),
...
)
start |
Numeric vector. Starting values for the optimization parameters. |
objective |
Function. The objective function to minimize. |
gradient |
Function (optional). Gradient of the objective function. |
hessian |
Function (optional). Hessian matrix of the objective function. |
lower |
Numeric vector. Lower bounds for box constraints. |
upper |
Numeric vector. Upper bounds for box constraints. |
control |
List. Control parameters including convergence flags:
|
... |
Additional arguments passed to objective, gradient, and Hessian functions. |
This function implements the classic Dogleg method within a Trust-Region framework, based on the strategy proposed by Powell (1970).
Trust-Region vs. Line Search:
Trust-Region methods define a neighborhood around the current point (the trust region
with radius \Delta) where a local quadratic model is assumed to be reliable.
Unlike Line Search methods that first determine a search direction and then
find an appropriate step length, this approach constrains the step size first
and then finds the optimal update within that boundary.
Powell's Dogleg Trajectory: The "Dogleg" trajectory is a piecewise linear path connecting:
The current point.
The Cauchy Point (p_C): The minimizer of the quadratic model along
the steepest descent direction.
The Newton Point (p_N): The unconstrained minimizer of the quadratic model (B^{-1}g).
The algorithm selects a step along this path such that it minimizes the quadratic
model while remaining within the radius \Delta.
Relationship to Double Dogleg:
While the double_dogleg algorithm (Dennis and Mei, 1979) introduces a bias
point to follow the Newton direction more closely, this standard Dogleg follows
the original two-segment trajectory.
A list containing optimization results and iteration metadata.
Powell, M. J. D. (1970). A Hybrid Method for Nonlinear Equations. Numerical Methods for Nonlinear Algebraic Equations.
Nocedal, J., & Wright, S. J. (2006). Numerical Optimization. Springer.
quad <- function(x) (x[1] - 2)^2 + (x[2] + 1)^2
res <- dogleg(start = c(0, 0), objective = quad)
print(res$par)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.