1. 程式人生 > >MatLab建模學習筆記9——二次規劃問題求解

MatLab建模學習筆記9——二次規劃問題求解

非線性規劃的目標函式自變數為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,…)
案例:
這裡寫圖片描述

Matlab中求解:
這裡寫圖片描述

求解結果如下:
這裡寫圖片描述

關於實對稱矩陣的2倍問題,參考下面:
這裡寫圖片描述