Matlab中linprog函数的用法总结
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