Matlab 二次規划模型求解案例


二次規划:

目標函數是決策變量的二次函數,約束條件是線性函數。

二次規划標准模型:

\[min\quad f=\frac{1}{2}X^THX+C^TX \]

\[s.t.\begin{cases} \quad AX\leq b\\ Aeq\cdot X=beq\\ L\leq X\leq U\\ \end{cases} \]

quadprog 調用格式:
[x,favl]=quadprog(H,c,A,b,Aeq,beq,L,U,x0)

例:

\[min\quad f(x_1,x_2)=x_1^2-2x_1x_2+2x_2^2-4x_1-12x_2 \]

\[s.t.\quad\begin{cases} x_1+x_2=2\\ x_1-2x_2\geq-2\\ 2x_1+x_2\leq3\\ x_1\geq0\\ x_2\geq0 \end{cases} \]

標准模型中:

\[H=\left[ \begin{array}{c} 2&-2\\ -2&4\\ \end{array} \right] \quad\quad c=[-4\quad -12] \]

\[A=\left[\begin{array}{c} -1&2\\ 2&1\\ \end{array}\right] \quad b=\left[\begin{array}{c} 2\\ 3\\ \end{array}\right] \quad Aeq=[1\quad 1]\quad beq=2 \]

Matlab 程序:
H=[2 -2; -2 4];
c=[-4 -12];
A=[-1 2;2 1];
b=[2 3]';
Aeq=[1 1];
beq=2;
L=[0 0];
U=[];
[x,favl]=quadprog(H,c,A,b,Aeq,beq,L,U)
計算結果:
x =

    0.6667
    1.3333


favl =

  -16.4444

>> 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM