MATLAB优化工具箱PPT课件.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 优化 工具箱 PPT 课件
- 资源描述:
-
线性规划的线性规划的MATLAB命令命令x=lp(c,A,b)x=lp(c,A,b,v1)x=lp(c,A,b,v1,v2)x=lp(c,A,b,v1,v2,x0)x=lp(c,A,b,v1,v2,x0,ne)x=lp(c,A,b,v1,v2,x0,ne,dis)x,lag=lp(c,A,b,)x,lag,how=lp(c,A,b)min z=cxs.t.Axbv1,v2 为给出为给出x的下界和上界,的下界和上界,v1,v2的维的维数数k可以小于可以小于x的维数,这时的维数,这时v1,v2 表示表示x的前的前k个分量的下界和上界;个分量的下界和上界;x0 表示初始解;表示初始解;ne 等式约束的个数,将等式约束置于等式约束的个数,将等式约束置于不等式约束前面。不等式约束前面。当某些参数省缺时,需用当某些参数省缺时,需用 占位占位dis 控制警告信息,控制警告信息,dis=-1,不显示不显示lag 拉格朗日乘子拉格朗日乘子,how 给出错误信息给出错误信息命令命令说明说明例例1 求解求解 max z=3x1+x2s.t.x1+x2 2 x12x2 2 3x1+2x2 14 x1,x20输入方法输入方法c=-3,1;A=-1,1;1,-2;3,2;b=2,2,14;v1=0,0;x=lp(c,A,b,v1)z=-c*x 例题例题输出结果输出结果x=4 1z=13 例题例题输入方法输入方法输出结果输出结果例例2 求解求解 min z=x1+x2s.t.x1x2 1 x1 0c=1,1;A=1,-1;b=1;v1=0;x=lp(c,A,b,v1)z=-c*x x=0 -1z=1例例3 求解求解 例题例题输入方法输入方法c=-6,-4;A=2,3;4,2;b=100,120;vlb=0,0;vub=x,lam=lp(c,A,b,vlb,vub)Z=c*x输出结果输出结果x=20.0000 20.0000lam=0.5000 1.2500 0 0Z=-200 例题例题输入方法输入方法c=-5,4,2;A=6,-1,1;1,2,4;b=8,10;vlb=-1,0,0;vub=3,2;x,lam=lp(c,A,b,vlb,vub)Z=c*x输出结果输出结果x=1.3333 0 0lam=0.8333 0 0 3.1667 2.8333 0 0Z=-6.6667例例4 求解求解二次规划的二次规划的MATLAB命令命令x=qp(H,c,A,b)x=qp(H,c,A,b,v1)x=qp(H,c,A,b,v1,v2)x=qp(H,c,A,b,v1,v2,x0)x=qp(H,c,A,b,v1,v2,x0,ne)x=qp(H,c,A,b,v1,v2,x0,ne,dis)x,lam=lp(H,c,A,b,)x,lam,how=lp(H,c,A,b)min q(x)=1/2xTHx+cTx s.t.Axbv1,v2 为给出为给出x的下界和上界,的下界和上界,v1,v2的的维数维数k可以小于可以小于x的维数,这时的维数,这时v1,v2 表示表示x的前的前k个分量的下界和上界;个分量的下界和上界;x0 表示初始解;表示初始解;ne 等式约束的个数,将等式约束置等式约束的个数,将等式约束置于不等式约束前面。于不等式约束前面。Dis控制警告信息控制警告信息,dis=-1时不显示警告信息时不显示警告信息当某些参数省缺时,需用当某些参数省缺时,需用 占位占位lag 拉格朗日乘子拉格朗日乘子,how 错误信息错误信息命令命令说明说明 例题例题输入方法输入方法H=1,-1;-1,2;c=-2,-6;A=1,1;-1,2;2,1;b=2;2;3;x,l=qp(H,c,A,b,zeros(2,1)输出结果输出结果x=0.6667 1.3333l=3.1111 0.4444 0 0 0 例题例题输入方法输入方法H=2,0;0,2;c=-4,0;A=-1,1;1,-1;b=2;-1;X=qp(H,c,A,b,zeros(2,1)输出结果输出结果X=0.5000 1.5000问题问题模型模型基本的程序名基本的程序名.m文件文件无约束极小无约束极小(非线性规划)(非线性规划)非线性最小二乘非线性最小二乘约束极小约束极小(非线性规划)(非线性规划)非负线性最小非负线性最小二乘二乘约束线性最小约束线性最小二乘二乘功能功能省缺值及含义省缺值及含义说明(说明(opt=optins)0,无中间结果,无中间结果Opt(1)=1,有中间结果输出有中间结果输出Opt(1)=-1,给出警告信息给出警告信息输出形式输出形式解解x(k)的精度的精度用用opt(2)设置设置x(k)的精度的精度函数函数f(k)的精度的精度用用opt(3)设置设置f(k)的精度的精度函数值输出函数值输出opt(8)输出结束时的函数值输出结束时的函数值主要算法主要算法0,BFGS法法;1,DFP法法 用用opt(6)选择选择函数计算次数函数计算次数opt(10)输出函数计算次数输出函数计算次数等式约束等式约束0,等式约束个数为,等式约束个数为0opt(13)输出等式约束个数输出等式约束个数例例1 求求 的近似值的近似值使用命令使用命令x=fmin(f1,x1,x2),求函数,求函数f1在区间在区间x1xx2上最小值上最小值fmin(cos,3,4)执行程序执行程序输出结果输出结果ans=3.14159480185141例例2 计算函数式计算函数式(x3+cos(x)+xlog(x)/ex 在在(0,1)范围内的最小值范围内的最小值执行程序执行程序fmin(x3+cos(x)+x*log(x)/exp(x),0,1)输出结果输出结果ans=0.52228834066617观察中间结果;将解和函数值的精度提观察中间结果;将解和函数值的精度提高到高到108,给出迭代次数及结果的函数值。,给出迭代次数及结果的函数值。编写程序编写程序function y=f1(x)a=10;b=1;y=x(1)2/a+x(2)2/b;使用命令使用命令x=fminu(f1,x0),x=fminu(f1,x0,opt)执行程序执行程序x0=1,1;%初始值初始值x=fminu(f1,x0),%BFGS(拟牛顿法拟牛顿法)输出结果输出结果无中间结果无中间结果x=1.0e-007*0.0431 -0.2708执行程序执行程序x0=1,1;%初始值初始值x=fmins(f1,x0)%简单搜索法简单搜索法.输出结果输出结果x=1.0e-004*0.2618 -0.0797f-COUNT FUNCTION STEP-SIZE GRAD/SD 4 1.1 0.544554 -4.04 9 0.0809191 0.504496 -2.67e-008 15 7.35327e-016 4.95545 -2.27e-009x=1.0e-007*0.0431 -0.2708x0=1,1;%初始值初始值opt(1)=1;%输出中间结果输出中间结果x=fminu(f1,x0,opt)提高精度提高精度108,不输出中间结果,只给出迭代次数和结果各函数值,不输出中间结果,只给出迭代次数和结果各函数值执行执行程序程序输出结果输出结果输出中间结果输出中间结果执执行行程程序序输输出出结结果果x0=1,1;opt(2)=1e-8;opt(3)=1e-8;x,opt=fminu(f1,x0,opt)Y=opt(8),n=opt(10),x=1.0e-008*0.1845 0.0908 Y=1.1653e-018n=23例例4 求函数求函数 的最小值的最小值 编写程序编写程序function y=f3(x)y=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);执行程序执行程序x0=-1,1;options=;x,options=fminu(f3,x0,options);x,y=options(8),n=options(10),输出结果输出结果x=0.50000349872452 -1.00000872066009y=1.302815164349921e-010n=36优化程序的选择优化程序的选择:options(6)=0时为时为BFGS方法方法;options(6)=1为为DFP法法;options(7)=0;混合插值混合插值;options(7)=1为立方插值为立方插值例例5 求函数求函数 的最小值的最小值(分别用分别用BFGS和和DFP方法方法)编写程序编写程序function y=f4(x)y=(x(1)+x(2)2+5*(x(3)-2*x(4)2+(x(2)-2*x(3)4+10*(x(1)-x(4)4;执行程序执行程序BFGS混合插值混合插值x0=3,-1,0,1;options(6)=0;options(7)=0;x=fminu(f4,x0,options),输出结果输出结果x=0.01101475115242 -0.01099180836233 0.00562807899161 0.00290682431604执行程序执行程序BFGS立方插值立方插值x0=3,-1,0,1;options(6)=0;options(7)=1;x=fminu(f4,x0,options),x=-0.00379331489930 0.00377922373234 -0.00081367476184 -0.00040994333806输出结果输出结果执行程序执行程序DFP混合插值混合插值x0=3,-1,0,1;options(6)=1;options(7)=0;x=fminu(f4,x0,options),x=0.01070930955579 -0.01070999578237 0.00078904792467 0.00047988726153输出结果输出结果执行程序执行程序DFP立方插值立方插值x0=3,-1,0,1;options(6)=1;options(7)=1;x=fminu(f4,x0,options),输出结果输出结果x=-0.03078933783743 0.03128589541937 -0.02035363789309 -0.01011235888056leastsq(fun,x0);或或leastsq(fun,x0);寻找寻找M文件中文件中fun(x)返回的函数值的平方和的最小值返回的函数值的平方和的最小值,fun返回目标返回目标函数的向量函数的向量.例例2 用下面一组数据拟合用下面一组数据拟合c(t)=rekt 中的系数中的系数r,k.t 0.25 0.5 1 1.5 2 3 4 6 8c 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01使用命令使用命令编写程序编写程序x=leastsq(ct,x0)function f=ct(x)t=0.25,0.5,1,1.5,2,3,4,6,8;c=19.21,18.15,15.36,14.1,12.89,9.32,7.45,5.24,3.01;f=c-x(1)*exp(x(2)*t);执行程序执行程序x0=10,0.5;x=leastsq(ct,x0)输出结果输出结果x=20.2413 -0.2420带约束非线性规划的逐步二次规划法带约束非线性规划的逐步二次规划法SQP法的法的MATLAB命令命令命令命令说明说明x=constr(fun,x0)x=constr(fun,x0,opt)x=constr(fun,x0,opt,v1,v2,grad)x=constr(fun,x0,opt,v1,v2,grad,p1,p2)x,opt=constr(fun,x0,)v1和和v2表示表示x的下界和的下界和上界上界;fun.m给出目标函数给出目标函数f 和和约束条件约束条件g。形式为。形式为f,g=fun(x);grad.m给出目标函数给出目标函数f 和约束条件和约束条件g 的梯度。的梯度。形式为形式为df,dg=fun(x);例题例题1f(x1,x2)=100(x2x12)2+(1x1)2x12+x121.5,x1+x2 0编写程序编写程序 function f,g=f2(x)f=100*(x(2)-x(1)2)2+(1-x(1)2;g(1)=x(1)2+x(2)2-1.5;g(2)=-x(1)-x(2);输入方法输入方法x0=-1.9,2;opt(1)=1;x=constr(f2,x0,opt),f=100*(x(2)-x(1)2)2+(1-x(1)2给出梯度时给出梯度时输出中间结果时输出中间结果时x0=-1.9,2;opt(1)=1;x=constr(f2,x0,opt,grad),f=100*(x(2)-x(1)2)2+(1-x(1)2function df,dg=grad(x)df=-400*x(1)*(x(2)-x(1)2)-2*(1-x(1),200*(x(2)-x(1)2);dg=2*x(1),-1;2*x(2),-1;输出输出结果结果梯度梯度最优解最优解最优值最优值迭代次数迭代次数不给出不给出(0.9077,0.8222)0.008669给出给出(0.9072,0.8228)0.008836输出输出结果结果x=0.9072 0.8227f=0.0086编写程序编写程序 x0=-1,1;opt=;x,opt=constr(f5,x0,opt);x,f=opt(8),n=opt(10)例题例题2 求解下列条件极值求解下列条件极值 输出结果输出结果x=-9.5474 1.0474f=0.0236n=29function f,g=f5(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);g(1)=1.5+x(1)*x(2)-x(1)-x(2);g(2)=-x(1)*x(2)-10;例题例题3 求解下列条件极值问题求解下列条件极值问题 编写程序编写程序 x0=-1,1;opt=;vlb=0;0;vub=;x,opt=constr(f5,x0,opt,vlb,vub);x,f=opt(8),n=opt(10)输出结果输出结果x=0 1.5000f=8.5000n=10用户提供导数时用户提供导数时,则问题会更有效更准确则问题会更有效更准确.例题例题4 求解下列极值求解下列极值 编写程序编写程序?x0=-1,1;opt=;x,opt=constr(f5,x0,opt,grad1);x,f=opt(8),n=opt(10)function df,dg=grad1(x)df=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1)+4*exp(x(1)*(2*x(1)+x(2),4*exp(x(1)*(x(1)+x(2)+0.5);dg=x(2)-1,-x(2);x(1)-1,-x(1);x=-9.5474 1.0474f=0.0236n=11输出结果输出结果等式约束问题等式约束问题 例例5:求下列极值求下列极值编写程序编写程序 function f,g=f6(x)f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);g(1)=x(1)+x(2);g(2)=1.5+x(1)*x(2)-x(1)-x(2);g(3)=-x(1)*x(2)-10;执行程序执行程序 x0=-1,1;clear options;opt(13)=1;x,opt=constr(f6,x0,opt);x,f=opt(8),n=opt(10)输出结果输出结果x=-1.2247 1.2247f=1.8951n=13展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




MATLAB优化工具箱PPT课件.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4606709.html