File Exchange

image thumbnail

Constrained minimum L1-norm solutions of linear equations

version 1.1.0.3 (80.3 KB) by Matt J
Finds least L1-norm solutions to linear equations C*x=d subject to linear and/or integer constraints.

17 Downloads

Updated 09 May 2020

View License

This submission contains routines for finding the minimum L1-norm solution of the linear equations C*x=d, subject to linear and possibly integer constraints on the unknown parameter vector x. It is similar to the Optimization Toolbox's lsqlin except that it minimizes with respect to the L1-norm, and also because options for integer constraints are available. The solution is achieved by reformulating the problem as a linear program.

When there are no integer constraints, one can use minL1lin, whose syntax

[x,resnorm,residual,exitflag,output,lambda] = minL1lin(C,d,A,b,Aeq,beq,lb,ub,x0,options)

is the same as for lsqlin with all the same defaults for A,b,..,x0. However, the "options" are those of linprog which is used by the algorithm internally. When integer constraints are present, one may use instead minL1lintin, whose syntax is

[x,resnorm,residual,exitflag,output,lambda] = minL1intlin(C,d,intcon,A,b,Aeq,beq,lb,ub,x0,options)

This routine is very similar except that intlinprog is the solver that is used internally. The arguments intcon,A,b,Aeq,beq,lb,ub,x0,options are all as for intlinprog. Some examples of these routines are given in the examples tab.

Cite As

Matt J (2020). Constrained minimum L1-norm solutions of linear equations (https://www.mathworks.com/matlabcentral/fileexchange/52795-constrained-minimum-l1-norm-solutions-of-linear-equations), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

Neat and easy to use, thank you

Updates

1.1.0.3

Edits to Livescript examples

1.1.0.2

Added new routine minL1intlin to support integer constraints

1.1.0.1

No changes - just Description Edit.

1.1.0.0

Small fix: error was being thrown in cases where linprog failed to find a solution

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux