Optimization: principles and algorithms, by Michel Bierlaire
intersectionTrustRegion.m
Go to the documentation of this file.
1 %> \file
2 %> Algorithm 12.1: Calculation of the intersection with the trust region. Implementation of algorithm 12.1 of \cite Bier15-book
3 %>
4 %> @note Tested with \ref runIntersectionTrustRegion.m
5 %> @note Called by \ref dogleg
6 %>
7 %> @author Michel Bierlaire
8 %> @date Sat Mar 21 15:37:52 2015
9 %> @ingroup Algorithms
10 %> @ingroup chap12
11
12 %> Calculate the step along a direction that is on the border of the trust region centered at 0
13
14 %> @param x a point within the trust region , that is such that \f$\|x\| \leq \Delta \|\f$.
15 %> @param d the direction
16 %> @param delta the radius \f$\Delta\f$ of the trust region
17 %> @return lambda The step \f$\lambda\f$ such that \f$\|x + \lambda d\|_2 = \Delta\f$.
18 function lambda = intersectionTrustRegion(x,d,delta)
19  a = d' * d ;
20  b = 2.0 * x' * d ;
21  c = x' * x - delta * delta ;
22  d = b * b - 4.0 * a * c ;
23  lambda = (- b + sqrt(d) ) / (2.0 * a) ;
24 endfunction
function intersectionTrustRegion(in x, in d, in delta)
Calculate the step along a direction that is on the border of the trust region centered at 0...
function dogleg(in g, in H, in delta)
Given a current iterate , consider the trust region subproblem subject to Apply the Dogleg method t...