利用Matlab求解线性规划问题.doc

利用Matlab求解线性规划问题.doc

ID:55562684

大小:379.50 KB

页数:5页

时间:2020-05-17

利用Matlab求解线性规划问题.doc_第1页
利用Matlab求解线性规划问题.doc_第2页
利用Matlab求解线性规划问题.doc_第3页
利用Matlab求解线性规划问题.doc_第4页
利用Matlab求解线性规划问题.doc_第5页
资源描述:

《利用Matlab求解线性规划问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、利用Matlab求解线性规划问题一、若应用单纯形法求解首先将线性规划的一般形式化为标准形式1、若为maxf(x),则化为-maxf(x)2、将不等式约束变为等式约束3、将任意变量化为非负变量(即x1、x2….xn>=0)4、将负的限定系数化为正值(Ax=b,若b为负,则等式两边都同时乘以-1)使用单纯形法求解线性规划时,首先要化问题为标准形式所谓标准形式是指下列形式:当实际模型非标准形式时,则需化为标准形式例1、用单纯形法求解下面的线性规划问题minf(x)=--+2≤4+≤12-≤3,≥0解:用M函数文件形式求解A=[-12100;23010;1-1001];

2、c=[-4-1000];b=[4;12;3];[x,mf]=SimpleMthd0(A,c,b,[345])M函数文件运行得结果如下:x=4.20001.2000mf=-18.0000例2、用单纯形法求解下面的线性规划问题maxf(x)=7+14+4≤360+≤200+10≤300,≥0解:用M函数文件形式求解A=[94100;310010;45001];c=[-7-14000];b=[360;300;200];[x,mf]=SimpleMthd0(A,c,b,[345])输出的结果为:x=20.000024.0000mf=-476.0000例3、用单纯形法求解

3、下面的线性规划问题minf(x)=--+-4.4++=4++2.5+3=5,,,≥0解:用M函数文件形式求解A=[1110;122.53];c=[-1.1-2.23.3-4.4];b=[4;5];[x,mf]=SimpleMthd0(A,c,b,[34])输出结果为:x=4.0000000.3333mf=-5.8667解:用M函数文件形式求解A=[211100;123010;221001];c=[-3-1-2000];b=[20;50;60];[x,mf]=SimpleMthd0(A,c,b,[345])输出结果为:x=0060mf=-120一、若使用matla

4、b自身工具箱线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog.minf(x)s.t.(约束条件):Ax<=b(等式约束条件):Aeqx=beqlb<=x<=ublinprog函数的调用格式如下:格式1、[x,fval]=linprog(f,A,b)功能是求线性规划minf(x);约束条件是:Ax<=b。格式2、[x,fval]=linprog(f,A,b,Aeq,beq)功能是求线性规划minf(x);约束条件是:Ax<=b,但增加等式约束条件Aeq*x=Beq;若不存在不等式约束,则令A=[],b=[]。格式3、[x,fval]=lin

5、prog(f,A,b,Aeq,beq,lb,ub)功能是求线性规划minf(x);约束条件是:Ax<=b和Aeq*x=Beq,并定义x的下界lb和上界ub,使x始终在该范围内;若不等式不存在,则令Aeq=[],Beq=[]。格式4、[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub,x0)功能是求线性规划minf(x);约束条件是:Ax<=b和Aeq*x=Beq,并定义x的下界lb和上界ub,设置初值为x0。格式5、[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)功能是求线性规划minf(x)

6、;约束条件是:Ax<=b和Aeq*x=Beq,并定义x的下界lb和上界ub,设置初值为x0,用options指定得优化参数进行最小化。格式6、[x,fval]=linprog(…)功能是求线性规划minf(x),仅输出解x的值,不输出目标函数值。其中:x=linprog(f,A,b)返回值x为最优解向量。x=linprog(f,A,b,Aeq,beq)作有等式约束的问题。若没有不等式约束,则令A=[]、b=[]。x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)中lb,ub为变量x的下界和上界,x0为初值点,options为指定优

7、化参数进行最小化。Options的参数描述:Display显示水平。选择’off’不显示输出;选择’Iter’显示每一步迭代过程的输出;选择’final’显示最终结果。[x,fval]=linprog(…)左端fval返回解x处的目标函数值。例、用linprog函数求解下面线性规划问题minf(x)=--+-5+2+-≤6+-+≤12++≤4,,,≥0解:MATLAB求解程序为f=[-2,-1,3,-5];A=[1,2,4,-1;2,3,-1,1;1,0,1,1];b=[6,12,4];lb=[0,0,0,0];[x,fval]=linprog(f,A,b,[]

8、,[],lb)输出结果为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。