lsqlin用来解决带约束的线性规划的目标函数为二次完全平方问题的函数。不存在两个参数的情况,至少应该有四个参数。参数顺序的含义分别是目标函数系数C,目标函数系数d,不等式约束A,不等式约束b,等式约束Aeq,等式约束beq,解的下界lb,解的上届up,初始值,额外选项。
以下以六个参数为例说明问题
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];
lb = -0.1*ones(4,1);
ub = 2*ones(4,1);
[x,resnorm,residual,exitflag,output,lambda] =lsqlin(C,d,A,b,[ ],[ ],lb,ub)
Optimization terminated.
x =
-0.1000
-0.1000
0.2152
0.3502
resnorm =
0.1672
residual =
0.0455
0.0764
-0.3562
0.1620
0.0784
exitflag =
1
output =
iterations: 4
constrviolation: 1.3878e-17
algorithm: 'medium-scale: active-set'
firstorderopt: []
cgiterations: []
message: 'Optimization terminated.'
lambda =
lower: [4x1 double]
upper: [4x1 double]
eqlin: [0x1 double]
ineqlin: [3x1 double]