L1Solve: Difference between revisions

From TomWiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:Solvers]]
[[Category:Solvers]]
{{cleanup|Clean this article.}}
==Purpose==
==Purpose==


Line 16: Line 14:




where <math>$x,x_L,x_U \in \Rdim{n}$</math> , <math>$r(x) \in \Rdim{N}$</math> , <math>$c(x),c_L,c_U\in \Rdim{m_1}$</math> , <math>$b_L,b_U \in \Rdim{m_2}$</math> and <math>$A\in \Rdim{m_2 \times n}$</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>


===Description of Inputs===
==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.
|-valign="top"
 
|||||''L1Solve ''will create the new patterns for the sub-solver using the information supplied in these two fields.
''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''.
Calls ''PrintResult ''with specified ''PriLev''.
|-
|-
|||= 2||standard output from ''PrintResult''.
|||= 2||standard output from ''PrintResult''.
|}
|}


===Description of Outputs===
==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 <math>{J\_k</math><math>$^T$</math><math>}</math> · ''r k''.  The returned problem structure ''Result.Prob ''is the result after ''L1Solve ''transformed the problem, i.e. the altered ''Prob ''structure.
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>$y,z \in \Rdim{N}$</math> along with ''N'' equality constraints <math>$r_i(x) + y_i - z_i = 0$</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 .

See Also

infSolve