bundles / scipy latest / scipy / optimize / _trustregion_constr / qp_subproblem / modified_dogleg
function
scipy.optimize._trustregion_constr.qp_subproblem:modified_dogleg
source: /scipy/optimize/_trustregion_constr/qp_subproblem.py :315
Signature
def modified_dogleg ( A , Y , b , trust_radius , lb , ub ) Summary
Approximately minimize 1/2*|| A x + b ||^2 inside trust-region.
Extended Summary
Approximately solve the problem of minimizing 1/2*|| A x + b ||^2 subject to ||x|| < Delta and lb <= x <= ub using a modification of the classical dogleg approach.
Parameters
A: LinearOperator (or sparse array or ndarray), shape (m, n)Matrix
Ain the minimization problem. It should have dimension(m, n)such thatm < n.Y: LinearOperator (or sparse array or ndarray), shape (n, m)LinearOperator that apply the projection matrix
Q = A.T inv(A A.T)to the vector. The obtained vectory = Q xbeing the minimum norm solution ofA y = x.b: array_like, shape (m,)Vector ``b``in the minimization problem.
trust_radius: floatTrust radius to be considered. Delimits a sphere boundary to the problem.
lb: array_like, shape (n,)Lower bounds to each one of the components of
x. It is expected thatlb <= 0, otherwise the algorithm may fail. Iflb[i] = -Inf, the lower bound for the ith component is just ignored.ub: array_like, shape (n, )Upper bounds to each one of the components of
x. It is expected thatub >= 0, otherwise the algorithm may fail. Ifub[i] = Inf, the upper bound for the ith component is just ignored.
Returns
x: array_like, shape (n,)Solution to the problem.
Notes
Based on implementations described in pp. 885-886 from [1].
Aliases
-
scipy.optimize._trustregion_constr.equality_constrained_sqp.modified_dogleg