Matlab中 linprog函數的用法總結
1.簡介
在matlab中,linprog函數可以求解線性規划問題,用於尋找目標函數的最小值
matlab中,規划模型的標注寫法如下
\[min\ f\,^Tx\;\; such \ that \begin{equation} \left\{ \begin{array}{**lr**} A \cdot x \leq b \\ Aeq\cdot x =beq\\ lb \leq x \leq ub \end{array} \right. \end{equation} \]
\[f,x,b,beq,lb,ub是向量;A和Aeq是矩陣 \]
2.語法
2.1 x=linprog(f,A,b)
用於求解
\[min\ f\ ^Tx\; such\ that\ A\cdot x \]
2.2 x=linprog(f,A,b,Aeq,beq)
用於求解
\[min\ f\,^Tx\;\; such \ that \begin{equation} \left\{ \begin{array}{**lr**} A \cdot x \leq b \\ Aeq\cdot x =beq\\ \end{array} \right. \end{equation} \]
如果沒有等式存在,就用[]代替Aeq和beq
2.3 x=linprog(f,A,b,Aeq,beq,lb,ub)
用於求解
\[min\ f\,^Tx\;\; such \ that \begin{equation} \left\{ \begin{array}{**lr**} A \cdot x \leq b \\ Aeq\cdot x =beq\\ lb \leq x \leq ub \end{array} \right. \end{equation} \]
可以約束決策變量的范圍在[lb,ub]內
2.4 [x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
用法和2.3一致,不同的是,這種寫法會返回目標函數的值fval