L1Solve

From TomWiki
Jump to navigationJump to search

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:



where , , , and .

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



A problem with N residuals is extended with 2N nonnegative variables along with N equality constraints .

See Also

infSolve