实验9_非线性规划_陈雨_2010012199.pdf

实验9_非线性规划_陈雨_2010012199.pdf

ID:51510451

大小:476.41 KB

页数:19页

时间:2020-03-26

实验9_非线性规划_陈雨_2010012199.pdf_第1页
实验9_非线性规划_陈雨_2010012199.pdf_第2页
实验9_非线性规划_陈雨_2010012199.pdf_第3页
实验9_非线性规划_陈雨_2010012199.pdf_第4页
实验9_非线性规划_陈雨_2010012199.pdf_第5页
资源描述:

《实验9_非线性规划_陈雨_2010012199.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验9非线性规划陈雨基应022010012199【实验目的】掌握用MATLAB优化工具箱和LINGO解非线性规划的方法;练习建立实际问题的非线性规划模型。【实验内容】题目44.1数学模型我们先约定如下记号:a:生产A所用甲原料1a:生产A所用乙原料2a:生产A所用丙原料3b:生产B所用甲原料1b:生产B所用乙原料2b:生产B所用丙原料3a:A产品产量b:B产品产量c:原料甲进货量1c:原料乙进货量2c:原料丙进货量333其中ciaiibi,1,2,3aabbii,ii11根据题

2、目,可以列出如下约束条件与目标函数:原料甲乙先混合,则有:abab12213%1%aaa2%1232.5%a产品A、B的含硫量约束:3%1%bbb2%1231.5%b原料甲、乙、丙的供应量约束:ccc,,500123产品A、B最大市场需求量约束:ab100,200非负性约束:ab,0,i1,2,3ii目标函数即净利润:zab9cc15c616101234.2模型优化4.2.1第一小问我们直接利用MATLAB优化工具箱函数fmincon,注意我们需要将规划问题化为

3、函数输入格式,详细见函数代码exp904.m:functionexp904clearall;clc;x0=[0;0;100;0;200;0];A1=([eye(3),zeros(3)]+[zeros(3),eye(3)]);b1=500*ones(3,1);v1=zeros(6,1);[x,fv,ef,out]=fmincon(@objfun,x0,A1,b1,[],[],v1,[],@confun)functionf=objfun(x)f=-(9*(x(1)+x(2)+x(3))+15*(x(

4、4)+x(5)+x(6))-6*(x(1)+x(4))-16*(x(2)+x(5))-10*(x(3)+x(6)));endfunction[c1,c2]=confun(x)c1=[[0.005,-0.015,-0.005,0,0,0]*x;[0,0,0,0.015,-0.005,0.005]*x;[1,1,1,0,0,0]*x-100;[0,0,0,1,1,1]*x-200];c2=x(1)*x(5)-x(2)*x(4);endend注:由于word格式限制,上述代码中几处换行在MATLAB执

5、行时需做调整。x=-0.000000.0000-0.0000100.0000100.0000fv=-400ef=1out=iterations:8funcCount:56lssteplength:1stepsize:1.0958e-19algorithm:'medium-scale:SQP,Quasi-Newton,line-search'firstorderopt:4.4409e-16constrviolation:4.3831e-20message:[1x783char]T注:此处xaaab

6、bb[,,,,,]123123根据MATLAB的部分输出结果,我们得到结论:公司最优进货量为,甲0t,乙100t,丙100t;并全部生产200t产品B;最大净利润为400千元(40万元)。4.2.2第二小问我们需要改变约束条件,另外由于规划对初值敏感,我们还需改变初值x0,x0=[300;0;300;0;0;0]程序如下:functionexp90402clearall;clc;x0=[300;0;300;0;0;0];A1=([eye(3),zeros(3)]+[zeros(3),eye(3

7、)]);b1=500*ones(3,1);v1=zeros(6,1);[x,fv,ef,out]=fmincon(@objfun,x0,A1,b1,[],[],v1,[],@confun)functionf=objfun(x)f=-(9*(x(1)+x(2)+x(3))+15*(x(4)+x(5)+x(6))-...6*(x(1)+x(4))-...16*(x(2)+x(5))-10*(x(3)+x(6)));endfunction[c1,c2]=confun(x)c1=[[0.005,-0.0

8、15,-0.005,0,0,0]*x;[0,0,0,...0.015,-0.005,0.005]*x;...[1,1,1,0,0,0]*x-600;[0,0,0,1,1,1]*x-200];c2=x(1)*x(5)-x(2)*x(4);endendx=3000300000fv=-600ef=1out=iterations:1funcCount:7lssteplength:1stepsize:0algorithm:'medium-scale:SQP,Quasi-Newton,line-search

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

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

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