非线性规划的目标函数自变量为x的二次函数约束条件又全是线性的,则称之为二次规划。二次规划的在Matlab中的数学模型可表述如下:
其中,f和b是列向量,A是相应维数的矩阵,H是实对称矩阵。Matlab中求解二次规划的命令是:[X,FVAL]=QUADPROG(H,f,A,b,Aeq,beq,LB,UB,X0,OPTIONS),其中X的返回值是一个向量,FVAL的返回值是目标函数在X处的值。此外,主要的函数形式还有:
x = quadprog(H,f)
x = quadprog(H,f,A,b)
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
x = quadprog(problem)
[x,fval] = quadprog(H,f,…)
[x,fval,exitflag] = quadprog(H,f,…)
[x,fval,exitflag,output] = quadprog(H,f,…)
[x,fval,exitflag,output,lambda] = quadprog(H,f,…)
案例: