数学建模培训最优化.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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. 建立主程序.并运行。 s.t. 例如:在对策论中:在最不利的条件下,寻求最有利的策略; 在投资规划中要确定最大风险的最低限度; 在城市规划中,要确定急救中心的位置,使其到所有地点最大距离为最小。 最大最小化问题 求解最大最小化问题的Matlab函数为fminimax.其调用格式如下: x=fminimax(F,x0,,A,b,Aeq,beq,lb,ub,nonlcon,options) 或 [x,fval,maxfval,exitflag,output]=fminimax(…) 其中:x返回最优解;fval返回解x处的目标函数值;maxfval返回解x处的最大函数值;exitflag描述计算的退出条件;output返回包含优化信息的输出参数。 例:求解下列最大最小化问题: 首先编写一个M文件ff2.m,计算4个函数值。 function f=ff2(x) f(1)=3*x(1)^2+2*x(2)^2-12*x(1)+35; f(2)=5*x(1)*x(2)-4*x(2)+7; f(3)=x(1)^2+6*x(2); f(4)=4*x(1)^2+9*x(2)^2-12*x(1)*x(2)+20; 然后,输入初值x0=(1,1),并调用优化函数进行计算 x0=[0 0]; [x,fval]=fminimax(@ff2,x0) 运行结果如下: x = 1.7637 0.5317 fval = 23.7331 9.5622 6.3010 23.7331 练习题: 设某城市有某种物品的10个需求点,第i个需求点Pi的坐标为(ai,bi),道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到城市某些条件的限制,该供应中心只能设在x界于[5,8],y界于[5,8]的范围之内。问该中心应建在何处为好?(即供应中心的位置到最远需求点的距离最小 ) Pi点的坐标为: ai 1 4 3 5 9 12 6 20 17 8 bi 2 10 8 18 1 4 5 10 8 9 无约束最优化问题 求一元函数fun在区间(x1,x2)上的最小值 X=fminbnd(fun,x1,x2) 或[x,fval]= fminbnd(fun,x1,x2) 求多元无约束函数fun的最小值 [x,fval]= =fminunc(fun,x0)   x0为初值 [x,fval]= fminsearch(fun,x0) 注意:fminunc不是解决平方相加函数优化问 题的最好方法 函数lsqnonlin专门解决非线性最小二乘问题: 调用格式: x = lsqnonlin(fun,x0) x = lsqnonlin(fun,x0,lb,ub) x = lsqnonlin(fun,x0,lb,ub,options) 线性最小二乘问题 lsqlin函数:用于解决线性最小二乘问题: 调用格式: x = lsqlin(C,d,A,b) x = lsqlin(C,d,A,b,Aeq,beq) x = lsqlin(C,d,A,b,Aeq,beq,lb,ub) x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0) x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options) 例. 求解下面非线性最小二乘问题 初始解向量为 解:(1) 建立函数文件example5.m function F = example5 (x) k = 1:10; F = 2 + 2*k-exp(k*x(1))-exp(k*x(2)); x0 = [0.3 0.4]; [x,resnorm, residual] = lsqnonlin(@ex

文档评论(0)

糖糖 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档