L1Solve: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Solvers]] | [[Category:Solvers]] | ||
==Purpose== | ==Purpose== | ||
Line 16: | Line 14: | ||
where <math> | where <math>x,x_L,x_U \in \MATHSET{R}^{n}</math> , <math>r(x) \in \MATHSET{R}^{N}</math> , <math>c(x),c_L,c_U\in \MATHSET{R}^{m_1}</math> , <math>b_L,b_U \in \MATHSET{R}^{m_2}</math> and <math>A\in \MATHSET{R}^{m_2 \times n}</math>. | ||
==Calling Syntax== | ==Calling Syntax== | ||
<syntaxhighlight lang="matlab"> | |||
Result = L1Solve(Prob,PriLev) | Result = L1Solve(Prob,PriLev) | ||
</syntaxhighlight> | |||
== | ==Inputs== | ||
{| | {| class="wikitable" | ||
|-valign="top" | |-valign="top" | ||
|''Prob ''||colspan="2"|Problem description structure. ''Prob ''should be created in the '''cls '''constrained nonlinear format. | |''Prob ''||colspan="2"|Problem description structure. ''Prob ''should be created in the '''cls '''constrained nonlinear format. | ||
Line 54: | Line 53: | ||
|-valign="top" | |-valign="top" | ||
|||''JacPattern''||Prob.LS.y must have the correct residual length if ''JacPattern ''is empty but ''ConsPattern ''is not. | |||''JacPattern''||Prob.LS.y must have the correct residual length if ''JacPattern ''is empty but ''ConsPattern ''is not. | ||
''L1Solve ''will create the new patterns for the sub-solver using the information supplied in these two fields. | |||
|- | |- | ||
|||''PriLev''||Print level in ''L1Solve''. | |||''PriLev''||Print level in ''L1Solve''. | ||
|- | |- | ||
|||= 0||silent except for error messages. | |||= 0||silent except for error messages. | ||
|- | |-valign="top" | ||
|||''> ''0||print summary information about problem transformation. | |||''> ''0||print summary information about problem transformation. | ||
Calls ''PrintResult ''with specified ''PriLev''. | |||
|- | |- | ||
|||= 2||standard output from ''PrintResult''. | |||= 2||standard output from ''PrintResult''. | ||
|} | |} | ||
== | ==Outputs== | ||
{| | {| class="wikitable" | ||
|- valign="top" | |||
|''Result''||Structure with results from optimization. Fields changed depends on which solver was used for the extended problem. | |''Result''||Structure with results from optimization. Fields changed depends on which solver was used for the extended problem. | ||
The fields ''x_k'', ''r_k'', ''J_k'', ''c_k'', ''cJac'', ''x_0'', ''xState'', ''cState'', ''v_k'', are transformed back to the format of the original L1 problem. ''g k ''is calculated as ''J_k<sup>T</sup> · r k''. The returned problem structure ''Result.Prob ''is the result after ''L1Solve ''transformed the problem, i.e. the altered ''Prob ''structure. | |||
|} | |} | ||
==Description== | ==Description== | ||
L1Solve solves the L1 problem by reformulating it as the | L1Solve solves the L1 problem by reformulating it as the general constrained optimization problem | ||
general constrained optimization problem | |||
Line 96: | Line 94: | ||
A problem with ''N ''residuals is extended with 2''N ''nonnegative variables <math> | A problem with ''N ''residuals is extended with 2''N ''nonnegative variables <math>y,z \in \MATHSET{R}^{N}</math> along with ''N'' equality constraints <math>r_i(x) + y_i - z_i = 0</math>. | ||
==See Also== | ==See Also== | ||
[[infSolve|''infSolve'']] | [[infSolve|''infSolve'']] |
Revision as of 09:57, 20 July 2011
Purpose
Find a constrained L1 solution of a function of several variables with the use of any suitable nonlinear TOMLAB solver.
L1Solve solves problems of the type:
Failed to parse (unknown function "\multicolumn"): {\displaystyle \begin{array}{cccccc} \min\limits_x & \multicolumn{5}{l}{\sum_i |r_i(x)|} \\\mbox{subject to} & x_L & \leq & x & \leq & x_U \\{} & b_L & \leq & Ax & \leq & b_U \\{} & c_L & \leq & c(x) & \leq & c_U \\ \end{array} }
where Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x,x_L,x_U \in \MATHSET{R}^{n}}
, Failed to parse (unknown function "\MATHSET"): {\displaystyle r(x) \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 b_L,b_U \in \MATHSET{R}^{m_2}}
and Failed to parse (unknown function "\MATHSET"): {\displaystyle A\in \MATHSET{R}^{m_2 \times n}}
.
Calling Syntax
Result = L1Solve(Prob,PriLev)
Inputs
Prob | Problem description structure. Prob should be created in the cls constrained nonlinear format. | |
L1Solve uses one special field in Prob: | ||
SolverL1 | Name of the TOMLAB solver used to solve the augmented general nonlinear problem generated by L1Solve. | |
Any other fields are passed along to the solver specified by Prob.SolverL1. In particular: | ||
A | Linear constraint matrix. | |
b_L | Lower bounds on variables. | |
b_U | Upper bounds on variables. | |
c_L | Lower bounds for nonlinear constraints. | |
c_U | Upper bounds for nonlinear constraints.. | |
x_L | Lower bounds on variables. | |
x_U | Upper bounds on variables. | |
x_0 | Starting point. | |
ConsPattern | Nonzero patterns of constraint and residual Jacobians. | |
JacPattern | Prob.LS.y must have the correct residual length if JacPattern is empty but ConsPattern is not.
L1Solve will create the new patterns for the sub-solver using the information supplied in these two fields. | |
PriLev | Print level in L1Solve. | |
= 0 | silent except for error messages. | |
> 0 | print summary information about problem transformation.
Calls PrintResult with specified PriLev. | |
= 2 | standard output from PrintResult. |
Outputs
Result | Structure with results from optimization. Fields changed depends on which solver was used for the extended problem.
The fields x_k, r_k, J_k, c_k, cJac, x_0, xState, cState, v_k, are transformed back to the format of the original L1 problem. g k is calculated as J_kT · r k. The returned problem structure Result.Prob is the result after L1Solve transformed the problem, i.e. the altered Prob structure. |
Description
L1Solve solves the L1 problem by reformulating it as the general constrained optimization problem
Failed to parse (SVG with PNG fallback (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{array}{cccccc} \min\limits_x & \multicolumn{5}{l}{\sum_i (y_i+z_i) } \\ \mbox{subject to} & x_L & \leq & x & \leq & x_U \\ {} & 0 & \leq & y & \leq & \infty \\ {} & 0 & \leq & z & \leq & \infty \\ {} & b_L & \leq & Ax & \leq & b_U \\ {} & c_L & \leq & c(x) & \leq & c_U \\ {} & 0 & \leq & r(x)+y-z & \leq & 0 \\ \end{array} }
A problem with N residuals is extended with 2N nonnegative variables Failed to parse (unknown function "\MATHSET"): {\displaystyle y,z \in \MATHSET{R}^{N}}
along with N equality constraints .