STrustr: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Solvers]] | [[Category:Solvers]] | ||
==Purpose== | ==Purpose== | ||
Line 23: | Line 21: | ||
==Calling Syntax== | ==Calling Syntax== | ||
<syntaxhighlight lang="matlab"> | |||
Result = sTrustr(Prob, varargin) | Result = sTrustr(Prob, varargin) | ||
</syntaxhighlight> | |||
== | ==Inputs== | ||
{| | {| class="wikitable" | ||
!''Prob''||colspan="2"|Problem description structure. The following fields are used: | |||
|- | |- | ||
|||''A ''||Constraint matrix for linear constraints. | |||''A ''||Constraint matrix for linear constraints. | ||
Line 54: | Line 54: | ||
|||''FUNCS.c''||Name of m-file computing the vector of constraint functions ''c''(''x''). | |||''FUNCS.c''||Name of m-file computing the vector of constraint functions ''c''(''x''). | ||
|- | |- | ||
|||''FUNCS.dc''||Name of m-file computing the matrix of constraint normals '' | |||''FUNCS.dc''||Name of m-file computing the matrix of constraint normals ''δc''(''x'')''/dx''. | ||
|- | |-valign="top" | ||
|||''optParam''||Structure with special fields for optimization parameters, see | |||''optParam''||Structure with special fields for optimization parameters, see [[TOMLAB Appendix A]]. | ||
Fields used are: ''eps_f'', ''eps_g'', ''eps_c'', ''eps_x'', ''eps_Rank'', ''MaxIter'', ''wait'', ''size_x'', ''size_f'', ''xTol'', ''LowIts'', ''PriLev'', ''method ''and ''QN InitMatrix''. | |||
|- | |- | ||
|||''PartSep''||Structure with special fields for partially separable functions, see | |||''PartSep''||Structure with special fields for partially separable functions, see [[TOMLAB Appendix A]]. | ||
|- | |- | ||
|||''varargin''||Other parameters directly sent to low level routines. | |||''varargin''||Other parameters directly sent to low level routines. | ||
|} | |} | ||
==Description of Outputs== | |||
{| | {| class="wikitable" | ||
!''Result''||colspan="2"|Structure with result from optimization. The following fields are changed: | |||
|- | |- | ||
|||''x_k''||Optimal point. | |||''x_k''||Optimal point. | ||
Line 88: | Line 88: | ||
|||''cJac''||Constraint Jacobian at optimum. | |||''cJac''||Constraint Jacobian at optimum. | ||
|- | |- | ||
|||''xState''||State of each variable, described in | |||''xState''||State of each variable, described in [[TOMLAB Appendix A]]. | ||
|- | |- | ||
|||''Iter''||Number of iterations. | |||''Iter''||Number of iterations. | ||
|- | |- | ||
|||''ExitFlag''||Flag giving exit status. | |||''ExitFlag''||Flag giving exit status. | ||
|- | |-valign="top" | ||
|||''Inform''||Binary code telling type of convergence: | |||''Inform''||Binary code telling type of convergence: | ||
1: Iteration points are close. | |||
2: Projected gradient small. | |||
3: Iteration points are close and projected gradient small. | |||
4: Relative function value reduction low for ''LowIts ''iterations. | |||
5: Iteration points are close and relative function value reduction low for LowIts iterations. | |||
6: Projected gradient small and relative function value reduction low for LowIts iterations. | |||
7: Iteration points are close, projected gradient small and relative function value reduction low for LowIts iterations. | |||
8: Too small trust region. | |||
9: Trust region small. Iteration points close. | |||
10: Trust region and projected gradient small. | |||
11: Trust region and projected gradient small, iterations close. | |||
12: Trust region small, Relative f(x) reduction low. | |||
13: Trust region small, Relative f(x) reduction low. Iteration points are close. | |||
14: Trust region small, Relative f(x) reduction low. Projected gradient small. | |||
15: Trust region small, Relative f(x) reduction low. Iteration points close, Projected gradient small. | |||
101: Maximum number of iterations reached. | |||
102: Function value below given estimate. | |||
103: Convergence to saddle point (eigenvalues computed). | |||
|- | |- | ||
|||''Solver''||Solver used. | |||''Solver''||Solver used. | ||
Line 141: | Line 141: | ||
==Description== | ==Description== | ||
The routine ''sTrustr ''is a solver for general constrained optimization, which uses a structural trust region algorithm combined with an initial trust region radius algorithm (''itrr''). The feasible region defined by the constraints must be convex | The routine ''sTrustr ''is a solver for general constrained optimization, which uses a structural trust region algorithm combined with an initial trust region radius algorithm (''itrr''). The feasible region defined by the constraints must be convex. BFGS or DFP is used for the Quasi-Newton update, if the analytical Hessian is not used. ''sTrustr ''calls internal routine ''itrr''. | ||
==M-files Used== | ==M-files Used== |
Revision as of 08:49, 21 July 2011
Purpose
Solve optimization problems constrained by a convex feasible region.
sTrustr solves problems of the form
where Failed to parse (unknown function "\MATHSET"): {\displaystyle x,x_{L},x_{U}\in \MATHSET{R}^{n}}
, Failed to parse (unknown function "\MATHSET"): {\displaystyle c(x),c_{L},c_{U}\in \MATHSET{R}^{m_{1}}}
, Failed to parse (unknown function "\MATHSET"): {\displaystyle A\in \MATHSET{R}^{m_{2}\times n}}
and Failed to parse (unknown function "\MATHSET"): {\displaystyle b_{L},b_{U}\in \MATHSET{R}^{m_{2}}}
.
Calling Syntax
Result = sTrustr(Prob, varargin)
Inputs
Prob | Problem description structure. The following fields are used: | |
---|---|---|
A | Constraint matrix for linear constraints. | |
b_L | Lower bounds on the linear constraints. | |
b_U | Upper bounds on the linear constraints. | |
c_L | Lower bounds on the general constraints. | |
c_U | Upper bounds on the general constraints. | |
x_L | Lower bounds on the variables. | |
x_U | Upper bounds on the variables. | |
x_0 | Starting point. | |
FUNCS.f | Name of m-file computing the objective function f (x). | |
FUNCS.g | Name of m-file computing the gradient vector g(x). | |
FUNCS.H | Name of m-file computing the Hessian matrix H (x). | |
FUNCS.c | Name of m-file computing the vector of constraint functions c(x). | |
FUNCS.dc | Name of m-file computing the matrix of constraint normals δc(x)/dx. | |
optParam | Structure with special fields for optimization parameters, see TOMLAB Appendix A.
Fields used are: eps_f, eps_g, eps_c, eps_x, eps_Rank, MaxIter, wait, size_x, size_f, xTol, LowIts, PriLev, method and QN InitMatrix. | |
PartSep | Structure with special fields for partially separable functions, see TOMLAB Appendix A. | |
varargin | Other parameters directly sent to low level routines. |
Description of Outputs
Result | Structure with result from optimization. The following fields are changed: | |
---|---|---|
x_k | Optimal point. | |
f_k | Function value at optimum. | |
g_k | Gradient value at optimum. | |
c_k | Value of constraints at optimum. | |
H_k | Hessian value at optimum. | |
v_k | Lagrange multipliers. | |
x_0 | Starting point. | |
f_0 | Function value at start. | |
cJac | Constraint Jacobian at optimum. | |
xState | State of each variable, described in TOMLAB Appendix A. | |
Iter | Number of iterations. | |
ExitFlag | Flag giving exit status. | |
Inform | Binary code telling type of convergence:
1: Iteration points are close. 2: Projected gradient small. 3: Iteration points are close and projected gradient small. 4: Relative function value reduction low for LowIts iterations. 5: Iteration points are close and relative function value reduction low for LowIts iterations. 6: Projected gradient small and relative function value reduction low for LowIts iterations. 7: Iteration points are close, projected gradient small and relative function value reduction low for LowIts iterations. 8: Too small trust region. 9: Trust region small. Iteration points close. 10: Trust region and projected gradient small. 11: Trust region and projected gradient small, iterations close. 12: Trust region small, Relative f(x) reduction low. 13: Trust region small, Relative f(x) reduction low. Iteration points are close. 14: Trust region small, Relative f(x) reduction low. Projected gradient small. 15: Trust region small, Relative f(x) reduction low. Iteration points close, Projected gradient small. 101: Maximum number of iterations reached. 102: Function value below given estimate. 103: Convergence to saddle point (eigenvalues computed). | |
Solver | Solver used. | |
SolverAlgorithm | Solver algorithm used. | |
Prob | Problem structure used. |
Description
The routine sTrustr is a solver for general constrained optimization, which uses a structural trust region algorithm combined with an initial trust region radius algorithm (itrr). The feasible region defined by the constraints must be convex. BFGS or DFP is used for the Quasi-Newton update, if the analytical Hessian is not used. sTrustr calls internal routine itrr.
M-files Used
qpSolve.m, tomSolve.m, iniSolve.m, endSolve.m