Solves a linear quadratic problem.
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( ... )
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.
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 vector of doubles, represents the linear coefficients in the inequality constraints
a vector of doubles, represents the linear coefficients in the inequality constraints
a matrix of doubles, represents the linear coefficients in the equality constraints
a vector of doubles, represents the linear coefficients in the equality constraints
a vector of doubles, contains lower bounds of the variables.
a vector of doubles, contains upper bounds of the variables.
a vector of doubles, contains initial guess of variables.
a list containing the the parameters to be set.
a vector of doubles, the computed solution of the optimization problem.
a double, objective value returned as the scalar value norm(C*x-d)^2.
a vector of doubles, solution residuals returned as the vector C*x-d.
Integer identifying the reason the algorithm terminated.
Structure containing information about the optimization.
Structure containing the Lagrange multipliers at the solution x (separated by constraint type).
Search the minimum of a constrained linear least square problem specified by :
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.
C = [0.9501 0.7620 0.6153 0.4057 0.2311 0.4564 0.7919 0.9354 0.6068 0.0185 0.9218 0.9169 0.4859 0.8214 0.7382 0.4102 0.8912 0.4447 0.1762 0.8936]; d = [0.0578 0.3528 0.8131 0.0098 0.1388]; A =[0.2027 0.2721 0.7467 0.4659 0.1987 0.1988 0.4450 0.4186 0.6037 0.0152 0.9318 0.8462]; b =[0.5251 0.2026 0.6721]; Aeq = [3 5 7 9]; beq = 4; lb = -0.1*ones(4,1); ub = 2*ones(4,1); [xopt,resnorm,residual,exitflag,output,lambda] = lsqlin(C,d,A,b,Aeq,beq,lb,ub) |