概述
转:https://zhuanlan.zhihu.com/p/26963923
Matlab中线性规划的标准形式为:
调用格式:
[x,fval, exitflag, output, lambda] =linprog(c, A, b, Aeq, beq, LB, UB, X0, options)
其中,x返回最优解;
fval返回目标函数值;
A和b对应不等式约束Ax≤b;
Aeq和beq对应等式约束Ax=b;
LB和UB分别是变量x的下界和上界;
x0为x的初始值;
options为控制参数;
exitflag返回算法停止的原因:
1表示成功找到最优解,
0表示达到最大迭代次数,不能继续寻找最优解,
<0表示优化失败(-2未找到可行解,-3问题没有定义边界,-4 NaN存在导致算法退出,-5原始对偶问题没有可行解,-7算法搜索方向存在问题);
output返回algorithm采用的算法(大中小型),迭代次数等优化信息;
lambda返回最优解x处的拉格朗日乘子的一些参数。
options参数设置:
1)options=optimset(‘optimfun’)
若已有设置好的参数项设置,直接使用其名称即可;
2)opts=optimset(‘param1’,
value1, ‘param2’, value2, …)
创建一个名为opts的参数设置,分别指定参数值,未指定的保持默认。例如,要设置使用大型算法、显示每次迭代、允许误差为10^(-8)
opts=optimset(‘LargeScale’,‘on’, ‘Display’, ‘iter’, ‘TolFun’, 1e-8)
TolFun是指函数容限阈值(tolerance)
最后
以上就是畅快故事为你收集整理的linprog() Linear programming.的全部内容,希望文章能够帮你解决linprog() Linear programming.所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复