matlab极值与优化.ppt_第1页
matlab极值与优化.ppt_第2页
matlab极值与优化.ppt_第3页
matlab极值与优化.ppt_第4页
matlab极值与优化.ppt_第5页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

函数的极值与优化,2,MATLAB在优化中的应用,在研究与解决具体问题中,经常遇到有关优化问题,它起源于工业生产组织管理的决策问题。本节的目的是学会用MATLAB软件求解一些优化问题,包括求解线性规划和非线性规划问题。,1、线性规划求解,多变量线性函数在变量满足线性约束条件下的最优值。随着计算机的发展,出现了如单纯形法等有效算法,它在工农业、军事、交通运输、决策管理与规划等领域中有广泛的应用。,3,某厂每日8小时的产量不低于1800件。为了进行质量控制,计划聘请两种不同水平的检验员。一级检验员的标准为:速度25件/小时,正确率98%,计时工资4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时。检验员每错检一次,工厂要损失2元。为使总费用最省,该工厂应聘一级、二级检验员各几名?,解设需要一级和二级检验员的人数分别为x1、x2人,则应付检验员的工资为:,因检验员错检而造成的损失为:,故目标函数为:,例1,4,约束条件为:,线性规划模型:,5,一般线性规划问题的数学表达式:,max(min)f=,s.t.,.,用矩阵向量符号表示:,max(min)f=cX,6,MATLAB优化工具箱解线性规划,1.模型:minz=cTXs.tAXb,命令:x=linprog(c,A,b),2.模型:minz=cTX,s.tAXbAeqX=beq,命令:x=linprog(c,A,b,Aeq,beq),如果没有不等式:,AXb不存在,则令A=,b=.,7,命令:x=linprog(c,A,b,Aeq,beq,vlb,vub),如果没有等式约束存在,,则令Aeq=,beq=.,4.命令:x=linprog(c,A,b,Aeq,beq,vlb,vub,x0),也用于求模型3,其中x0表示初始值。,5.命令:x,fval=linprog(),返回最优解及处的目标函数值fval.,3.模型:minz=cTXs.tAXbAeqX=beqvlbxvub,8,解编写M文件xxgh1.m如下:,c=-0.4;-0.28;-0.32;-0.72;-0.64;-0.6;A=0.010.010.010.030.030.03;0.02000.0500;00.02000.050;000.03000.08;b=850;700;100;900;Aeq=;beq=;vlb=0;0;0;0;0;0;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),9,例用MATLAB求解例1:,编写M文件xxgh2.m如下:,c=40;36;A=-5-3;b=-45;Aeq=;beq=;vlb=0;0;vub=;x,fval=linprog(c,A,b,Aeq,beq,vlb,vub),10,结果为:x=9.00000.0000fval=360,即只需聘用9个一级检验员。,注:本问题应还有一个约束条件:x1、x2取整数。故它是一个整数线性规划问题。这里把它当成一个线性规划来解,求得其最优解刚好是整数:x1=9,x2=0,故它就是该整数规划的最优解。若用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解。,Matlab中,求一元函数极值的函数为fminbnd此函数最简输入格式为:x=fminbnd(f,a,b)含义为:求函数f在区间a,b上的极小值点(自变量值).,2.非线性优化问题的求法,非线性一元函数极值的求法,常用格式如下:(1)x=fminbnd(fun,x1,x2)(2)x=fminbnd(fun,x1,x2,options)(3)x,fval=fminbnd(.)(4)x,fval,exitflag=fminbnd(.),非线性优化问题指的是目标函数或者约束函数中至少有一个非线性函数的优化问题,非线性函数极值的求法,函数fminbnd的算法要求目标函数必须是连续函数,并可能只给出局部最优解。,对于极大值问题,需转化为极小值问题来处理。(-f(x)在区间a,b上取极小值的点就是f(x)在a,b上取极大值的点),运行结果:xmin=3.9270ymin=-0.0279xmax=0.7854y=-0.6448ymax=-y,解在matlab命令窗口中输入:f=2*exp(-x)*sin(x);ezplot(f,0,8);%作图语句xmin,ymin=fminbnd(f,0,8)f1=-2*exp(-x)*sin(x);xmax,y=fminbnd(f1,0,8),非线性函数极值的求法,多元函数的无约束极小值问题,在Matlab中有2个经常使用的函数:1、fminsearch2、fminunc,注意:(1)在使用这两个函数时,必须首先用M文件的形式存储待求最值的函数,该函数需以向量函数的形式表达;(2)极大值问题需转化为极小值问题。,多元函数极值的求法,非线性函数极值的求法,使用格式:x,fval,exitflag,output=fminsearch(f,x0)输入参数:f:目标函数;x0:初始点(向量).输出参数:x:最优解;fval:最优解对应的函数值;exitflag:函数退出优化运算的原因:1,收敛于最优解;0,迭代次数超过优化属性设置;-1,迭代算法被output函数终止;output:有关优化的属性信息,如优化迭代次数和优化算法等.例:fminsearch(f,1,2)含义为:从点1,2开始搜寻函数f的最小值。,fminsearch非线性规划的单纯型法搜索最值,非线性无约束优化问题,例:求函数在x=1,y=2附近的最小值点。解决步骤:1、建立M文件,保存函数f;M文件内容为:functionf2=fun2(x)f2=-(x(1)+x(2)+(x(1)2+x(2)2+1);2、调用fminsearch函数求最值.在命令窗口中,输入:x0=1,2;x,fval=fminsearch(fun2,x0)3、输出结果为:x=0.50000.5000fval=0.5000,非线性无约束优化问题,此函数与fminsearch不同的地方在于使用的搜索方法,它使用牛顿法(拟牛顿)搜索最值,在效率上有所提高;使用格式与fminsearch类似:x,fval=fminunc(f,x0)其中f为待求极值的向量函数,x0为搜索过程开始时自变量的初始值。例:fminunc(f,1,2)含义为:从点1,2开始搜寻函数f的极小值。,fminunc,非线性无约束优化问题,例求解二元函数的最小值.输入目标函数的程序代码:functionf=optfun(x)f=3*x(1)2+2*x(1)*x(2)+x(2)2;将上述代码保存为optfun.m文件。x,fval=fminunc(optfun,x0)或x1,fval1=fminsearch(optfun,x0),非线性无约束优化问题,Matlab默认的二次规划用MATLAB软件求解,其输入格式如下:x,fval=quadprog(H,c,A,b);x,fval=quadprog(H,c,A,b,Aeq,beq);x,fval=quadprog(H,c,A,b,Aeq,beq,LB,UB);x,fval=quadprog(H,c,A,b,Aeq,beq,LB,UB,X0);,二次规划问题,20,例,写成标准形式:,二次规划问题,21,H=2-2;-24;c=-2;-6;A=11;-12;b=2;2;Aeq=;beq=;VLB=0;0;VUB=;x,z=quadprog(H,c,A,b,Aeq,beq,VLB,VUB),运算结果为:,x=0.80001.2000z=-7.2000,输入命令:,二次规划问题,求解约束非线性优化问题Matlab求解约束非线性优化问题fmincon常用调用格式如下:x,fval=fmincon(fun,x0,A,b,Ae,be,lb,ub,nonlcon),约束非线性优化问题,x,fval=fmincon(fun,x0,A,b,Ae,be,lb,ub,nonlcon)输入参数:fun表示优化目标函数,x0表示优化的初始值A,b表示满足线性关系式的系数矩阵和右端项Ae,be表示线性等式约束的系数矩阵和右端项lb,ub表示取值范围的上限和下限nonlcon表示需要参数满足的非线性关系式和,24,例,1)先建立M文件fun3.m,定义目标函数:,functionf=fun3(x);f=exp(x(1)*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);,2)再建立M文件myc.m定义非线性约束:,functionc,ceq=myc(x)c=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;ceq=;,25,3)主程序youh.m为:,x0=-1;1;A=;b=;Aeq=11;beq=0;vlb=;vub=;x,fval=fmincon(fun3,x0,A,b,Aeq,beq,vlb,vub,myc),3.运算结果为:x=-1.22471.2247fval=1.8951,上机作业,1.求解如下问题2.求函数在区间-10,10内的极大极小值点.3.求函数在区间-10,10内的极小值点,并通过该函数的图象体会局部极小值的含义.,4.求解5.求解二次规划问题,上机作业,6.求解初始点为10,10,10,上机实验,选学内容例:供应与选址,某公司有6个建筑工地,位置坐标为(ai,bi)(单位:公里),水泥日用量di(单位:吨),假设:料场和工地之间有直线道路,线性规划模型,决策变量:cij12维(料场j到工地i运量),例:供应与选址,用例中数据计算,xuanzhi.m最优解为,总吨公里数为136.2,线性规划模型,决策变量:cij(料场j到工地i的运量)12维,例:供应与选址,2)改建两个新料场,需要确定新料场位置(xj,yj)和运量cij,在其它条件不变下使总吨公里数最小。,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论