lsqlin
Solves a linear quadratic problem.
Calling Sequence
x = lsqlin(C,d,A,b)
x = lsqlin(C,d,A,b,Aeq,beq)
x = lsqlin(C,d,A,b,Aeq,beq,lb,ub)
x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)
x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,param)
[xopt,resnorm,residual,exitflag,output,lambda] = lsqlin( ... )
Parameters
C :
a matrix of doubles, represents the multiplier of the solution x in the expression C*x - d. C is M-by-N, where M is the number of equations, and N is the number of elements of x.
d :
a vector of doubles, represents the additive constant term in the expression C*x - d. d is M-by-1, where M is the number of equations.
A :
a vector of doubles, represents the linear coefficients in the inequality constraints
b :
a vector of doubles, represents the linear coefficients in the inequality constraints
Aeq :
a matrix of doubles, represents the linear coefficients in the equality constraints
beq :
a vector of doubles, represents the linear coefficients in the equality constraints
LB :
a vector of doubles, contains lower bounds of the variables.
UB :
a vector of doubles, contains upper bounds of the variables.
x0 :
a vector of doubles, contains initial guess of variables.
param :
a list containing the the parameters to be set.
xopt :
a vector of doubles, the computed solution of the optimization problem.
resnorm :
a double, objective value returned as the scalar value norm(C*x-d)^2.
residual :
a vector of doubles, solution residuals returned as the vector C*x-d.
exitflag :
Integer identifying the reason the algorithm terminated.
output :
Structure containing information about the optimization.
lambda :
Structure containing the Lagrange multipliers at the solution x (separated by constraint type).
Description
Search the minimum of a constrained linear least square problem specified by :
\begin{eqnarray}
&\mbox{min}_{x}
& 1/2||C*x - d||_2^2 \\
& \text{subject to} & A.x \leq b \\
& & Aeq.x \leq beq \\
& & lb \leq x \leq ub \\
\end{eqnarray}
We are calling IPOpt for solving the linear least square problem, IPOpt is a library written in C++. The code has been written by Andreas Wächter and Carl Laird.
Examples
Examples
Authors
Harpreet Singh