Matlab中linprog函数用法总结
linprog 计算机用语,是一种求解线性规划问题的指令。
支持 MATLAB6.0 以上的版本
1 适用条件
在MATLAB6.0以上的版本中,linprog函数可以用来数模中的求解线性规划问题
注:linprog函数用于求解目标函数的最小值
1.1 线性规划模型的三种形式:
1.1.1 一般形式:
![3445e62759ebd30ddd64008653ca508e.png](https://img-blog.csdnimg.cn/img_convert/3445e62759ebd30ddd64008653ca508e.png)
1.1.2 规范形式:
![6ca0955576c95dd923c2025e97d89cb8.png](https://img-blog.csdnimg.cn/img_convert/6ca0955576c95dd923c2025e97d89cb8.png)
1.1.3 标准形式:
![a94a167ca5fb4431831b018a33202e10.png](https://img-blog.csdnimg.cn/img_convert/a94a167ca5fb4431831b018a33202e10.png)
这三种形式的线性规划问题全是等价的,即一种形式的线性规划可以简单的变换为另一种形式的线性规划,并且他们有着相同的解。
1.2 目标函数的转化
![eeac4f4dc374ee4ff9e72f297dbed3bd.png](https://img-blog.csdnimg.cn/img_convert/eeac4f4dc374ee4ff9e72f297dbed3bd.png)
2 linprog函数的用法
若求解得到的 x 是以个矩阵,需要在每条语句后面加上 zeros(m,n) 用来表示 x 的结果
例如:x = linprog(f,A,b,zeros(m,n))
2.1 x = linprog(f,A,b)
可用于求解
![99d6cac900cccc888de893822678dc35.png](https://img-blog.csdnimg.cn/img_convert/99d6cac900cccc888de893822678dc35.png)
2.2 x = linprog(f,A,b,Aeq,beq)
可用于求解
![39d50de2a62b70c2c0c670ba1ac3f2ae.png](https://img-blog.csdnimg.cn/img_convert/39d50de2a62b70c2c0c670ba1ac3f2ae.png)
2.3 x = linporg(f,A,b,Aeq,beq,VLB,VUB)
(或 x = linprog(f,A,Aeq,beq,VLB,VUB,x0))
可用于求解
![7f70e5a313d1fb1c056e965eb30cb98f.png](https://img-blog.csdnimg.cn/img_convert/7f70e5a313d1fb1c056e965eb30cb98f.png)
2.4 [x,fval] = linprog(f,A,b,Aeq,beq,VLB,VUB)
其用法与 2.3 一致,只是这种写法会返回目标函数的值(即最小值)fval
若要求最大值则将 返回的目标函数的值 取相反数
阿尚会持续带来学习笔记,不奢望被关注,但求少侠点个赞,mua~
![aa30ecf95b3ab16b914b1cbc58eb2677.png](https://img-blog.csdnimg.cn/img_convert/aa30ecf95b3ab16b914b1cbc58eb2677.png)
有误请指正。
希望对你有帮助