- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程优化 6-解非线性规划的MATLAB指令
解非线性规划的MATLAB指令 约束非线性规划的一般形式为: 其中,f(x)为多元实值函数;g(x),ceq(x)为向量函数,并且f(x),g(x), ceq(x)中至少有一个函数是非线性函数(否则成为线性规划问题)。 x=fmincon(‘fun’,x0,A,b) x=fmincon(‘fun’,x0,A,b,Aeq,beq) x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub) x=fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub,nonlcon) x=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON, OPTIONS) 在Matlab优化工具箱中,fmincon函数是用SQP算法来解决一般的约束非线性规划的函数,它的命令格式为: 上式中x为最优点;若将左端的x换为[x,f],则返回最优点x和最优值f。 【例1 】 求解约束非线性规划: (初值为[1;1]) 解:首先建立一个m文件fun1.m function y=fun1(x) y=-exp(x(1))*x(2)^2*(3-exp(x(1))-x(2)^2); 存储为fun1.m 首先将问题转化为matlab要求的格式;即求出fun,A,b,Aeq,Beq,X0,Lb,Ub function [g,cep]=fun2(x) g=[]; % g为非线性不等式,且为g=0 ceq=exp(x(1))+x(2)^2-3; % ceq为非线性等式 然后存储为fun2.m 建立主程序: A=[];b=[];Aeq=[];Beq=[];Lb=[];Ub=[]; [x,f]=fmincon(‘fun1’,[1;1],[],[],[],[],[],[],’fun2’) -f 建立非线性约束m-文件 fun2.m 运行结果为: x = 0.8852 0.7592 f = 6.2043e-016 最优点 最优值 【例 2】 求解约束非线性规划: 解:首先建立一个m文件 fun5.m function y=fun5(x) y=(x(1)-1)^2+(x(2)-2)^2+(x(3)-3)^2+(x(4)-4)^2; 存储为fun5.m文件. x0=[1;1;1;1];A=[1 1 1 1;3 3 2 1]; B=[5;10];Aeq=[];Beq=[]; Lb=[0;0;0;0]; [x,g]=fmincon(‘fun5’,x0,A,B,Aeq,Beq,Lb) 运行结果为: x = 0.0000 0.6667 1.6665 2.6668 g = 6.3333 建立主程序 小结:用Matlab求解非线性规划问题,基本步骤: 1. 首先建立M文件fun.m,定义目标函数 f(x): function f=fun(x); f= f(x); 2.若约束条件中有非线性约束:g(x) 或Ceq(x)=0,则建立M文件nonlcon.m定义函数g(x)与Ceq(x): function [g,Ceq]=nonlcon(x) g=... Ceq=... 3. 建立主程序.并运行。 2x1+3x2 6 s.t x1+4x2 5 x1,x2 0 练习:利用Matlab求解下列最优化问题 (1) (2) (3) (1) x = 0.7647 1.0588 fval = -2.0294 参考答案 (2) x = -1.2250 1.2250 fval = 1.8951 (3) x = 4.0000 3.0000 fval =-11.0000 应用实例:供应与选址 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨。假设从料场到工地之间均有直线道路相连。 (1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。 (2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数有多大? (一)、建立模型 记工地的位置为(ai,bi),水泥日用量为di,i=1,…,6;料场位置为(xj,yj),日储量为ej,j=1,2;从料场j向工地i的运送量为Xij。 当用临时料场时决策变量为:Xij, 当改用新料场时决策变量为:Xij,xj,yj。 (二)使用临时料场的情形
文档评论(0)