优化问题的MATLAB求解

上传人:嘀****l 文档编号:246603553 上传时间:2024-10-15 格式:PPTX 页数:35 大小:1.61MB
返回 下载 相关 举报
优化问题的MATLAB求解_第1页
第1页 / 共35页
优化问题的MATLAB求解_第2页
第2页 / 共35页
优化问题的MATLAB求解_第3页
第3页 / 共35页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,优化问题的,MATLAB,求解,一、,matlab,优化工具箱中常用的功能函数,求解,线性规划,问题的主要函数是,linprog,。,求解,二次规划,问题的主要函数是,quadprog,。,求解,无约束非线性规划,问题的主要函数是,fminbnd,、,fminunc,和,fminsearch,。,求解,约束非线性规划,问题的主要函数是,fgoalattain,和,fminimax,。,二、一般步骤,建立目标函数文件,针对实际问题建立优化设计的数学模型,不等式约束条件表示成,g(X)0,的形式,建立调用优化工具函数的命令文件,文件内容:,必须的输入参数、描述标函数表达式等,存储:,以自定义的目标函数文件名存储在文件夹中,建立约束函数文件,文件内容:,必须的输入参数、约束函数表达式等,存储:,以自定义的约束函数文件名存储在文件夹中,将优化设计的命令文件复制到,MATLAB,命令窗口中进行运算求解,分析优化设计的数学模型,选择适用的优化工具函数,文件内容:,初始点,设计变量的边界约束条件,,运算结果输出等内容,存储:,以自定义的命令文件名存储于文件夹中。,线性规划问题,三、线性规划数学模型,1.,主要应用对象:,(,1,)在有限的资源条件下完成最多的任务;,(,2,)如何统筹任务以使用最少资源。,2.,数学模型形式:,min,f,T,X,s.t. AXb,(,线性,不等式约束条件),AeqX=beq,(,线性,等式约束条件),lb X ub,(边界约束条件),约束条件,决策变量,目标函数,非负数,线性,3.MATLAB,中函数调用格式,xopt, fopt=linprog( f, A, b, Aeq, beq, lb, ub, x0, options),最优解,最优值,目标函数各维变量系数向量,初始点,可选项,四、线性规划例题,生产规划问题,:某厂利用,a,b,c,三种原料生产,A,B,C,三种产品,已知生产每种产品在消耗原料方面的各项指标和单位产品的利润,以及可利用的数量,试制定适当的生产规划使得该工厂的总利润最大。,生产每单位产品所消耗的原料,现有原料数量(千克),A,B,C,a,3,4,2,600,b,2,1,2,400,c,1,3,2,800,单位产品利润,(万元),2,4,3,合计,1800,千克,x,1,x,2,x,3,2,x,1,4,x,2,3,x,3,3,x,1,4,x,2,2,x,3,2,x,1,x,1,x,2,3,x,2,2,x,3,2,x,3,+,+,+,+,+,+,+,+,3.,确定约束条件:,X=x,1,x,2,x,3,T,4.,编制线性规划计算的,M,文件,f= 2, 4, 3,A=3,4,2;2,1,2;1,3,2;,b=600;400;800;,Aeq=;beq=;,lb=zeros(3,1);,xopt,fopt=linprog(f,A,b,Aeq,beq,lb),四、线性规划例题,解:,1.,确定决策变量:,max2,x,1,+4,x,2,+3,x,3,3,x,1,+4,x,2,+2,x,3,600,2,x,1,+,x,2,+2,x,3,400,x,1,+3,x,2,+2,x,3,800,设生产,A,、,B,、,C,三种产品的数量分别是,x,1,x,2,x,3,,决策变量:,根据三种单位产品的利润情况,按照实现总的利润最大化,建立关于决策变量的函数:,2.,建立目标函数:,根据三种资料数量限制,建立三个线性不等式约束条件,5.M,文件运行结果:,Optimization terminated,successfully.,xopt =0.0000,66.6667,166.6667,fopt=-766.6667,x,1,x,2,x,3,0,xopt, fopt=linprog( f, A, b, Aeq, beq, lb, ub, x0, options),-,-,-,二次规划问题,1.,研究意义:,(,1,)最简单的非线性规划问题;,(,2,)求解方法比较成熟。,2.,数学模型形式:,s.t. AXb,(,线性,不等式约束条件),AeqX=beq,(,线性,等式约束条件),lb X ub,(边界约束条件),五、二次规划问题数学模型,约束条件,决策变量,目标函数,二次函数,3.MATLAB,中函数调用格式,xopt, fopt=quadprog(H,C, A, b, Aeq, beq, lb, ub, x0, options),最优解,最优值,目标函数的海赛矩阵,初始点,可选项,目标函数的一次项系数向量,结果,xopt=2.571,1.143,0.000,fopt=-16.4898,六、二次规划问题例题,求解约束优化问题,s.t.,解:,(,1),将目标函数写成二次函数的形式,,其中:,xopt, fopt=quadprog( H, C, A, b, Aeq, beq, lb, ub, x0, options),(,2),编写求解二次规划的,M,文件:,H=4,-2,0;-2,4,0;0,0,2;,C=0,0,1;,A=1,3,2;,b=6;,Aeq=2,-1,1;,beq=4;,lb=zeros(3,1);,xopt,fopt=quadprig(H,C,A,b,Aeq,beq,lb),无约束非线性规划问题,七、无约束非线性规划问题的函数,fminbnd,要求目标函数为连续函数,只求解单变量问题,fminunc,可求解单变量和多变量问题,适用于简单优化问题,可求解复杂优化问题,fminsearch,1.,使用格式:,xopt,fopt=,fminbnd,(fun,x1,x2,options),八、函数,fminbnd,设置优化选项参数,迭代搜索区间,目标函数,返回目标函数的最优值,返回目标函数的最优解,2.,例题:,求解一维无约束优化问题,f,(,x,)=(,x,3,+cos,x,+,x,log,x,/e,x,),在区间,0,1,中的极小值。,解,:,(1),编制求解优化问题的,M,文件。,%,求解一维优化问题,fun=inline(x3+cos(x)+x*log(x)/exp(x),x);%,目标函数,x1=0;x2=1;%,搜索区间,xopt,fopt=fminbnd(fun,x1,x2),(2),编制一维函数图形的,M,文件。,ezplot(fun,0,10),title(x3+cosx+xlogx)/ex),grid on,八、函数,fminbnd,运行结果:,xopt =,0.5223,fopt =,0.3974,1.,使用格式:,xopt,fopt=,fminsearch,(fun,x0,options),九、函数,fminsearch,设置优化选项参数,初始点,目标函数,返回目标函数的最优值,返回目标函数的最优解,2.,例题:,求解二维无约束优化问题,f,(,x,)=(,x,1,4,+3,x,1,2,+,x,2,2,-2,x,1,-2,x,2,-2,x,1,2,x,2,+6),的极小值。,解,:,(1),编制求解二维无约束优化问题的,M,文件。,%,求解二维优化问题,fun=,x(1)4+3*x(1)2+x(2)2-2*x(1)-2*x(2)-2*x(1)2*x(2)+6,;,x0=0,0;,%,初始点,xopt,fopt=fminsearch(fun,x0),(2),讨论。,将目标函数写成函数文件的形式:,%,目标函数文件,search.m,function f=search(x),f=x(1)4+3*x(1)2+x(2)2-2*x(1)-2*x(2)-2*x(1)2*x(2)+6;,则命令文件变为:,%,命令文件名称为,eg9.m,x0=0,0;,%,初始点,xopt,fopt=fminsearch(search,x0),九、函数,fminsearch,运行结果:,xopt =,1.0000 2.0000,fopt =,4.0000,1.,使用格式:,x,fval,exitflag,output,grad,hessian=,fminunc,(fun,x0,options,P1,P2),十、函数,fminunc,设置优化选项参数,初始点,调用目标函数的函数文件名,目标函数在最优解的海色矩阵,返回目标函数在最优解的梯度,优化算法信息的一个数据结构,返回算法的终止标志,返回目标函数的最优值,返回目标函数的最优解,附加参数,管道截面积:,其中设计变量:,十、函数,fminunc,2.,例题:,已知梯形截面管道的参数是:底边长度,c,,高度,h,,面积,A=64516mm,2,,斜边与底边夹角为,。管道内液体的流速与管道截面的周长,s,的倒数成比例关系。试按照使液体流速最大确定该管道的参数。,解,:,(1),建立优化设计数学模型,管道截面周长,h,c,min,x,1,x,2,f(X),目标函数的文件,(sc_wysyh.m),:,function f=sc_wysyh(x) %,定义目标函数调用格式,a=64516;hd=pi/180;,f=a/x(1)-x(1)/tan(x(2)*hd)+2*x(1)/sin(x(2)*hd); %,定义目标函数,十、函数,fminunc,2.,例题:,解,:,(1),建立优化设计数学模型,(2),编写求解无约束非线性优化问题的,M,文件,x,fval,exitflag,output,grad,hessian=fminbnd(fun,x0,options,P1,P2),求最优化解时的命令程序,:,x0=25,45; %,初始点,x,Fmin=fminunc(sc_wysyh,x0); %,求优语句,fprintf(1,截面高度,h x(1)=%3.4fmmn,x(1),fprintf(1,斜边夹角, x(2)=%3.4f,度,n,x(2),fprintf(1,截面周长,s f=%3.4fmmn,Fmin),计算结果,截面高度,h x(1)=192.9958mm,斜边夹角, x(2)=60.0005,度,截面周长,s f=668.5656mm,xx1=linspace(100,300,25);,xx2=linspace(30,120,25);,x1,x2=meshgrid(xx1,xx2);,a=64516;hd=pi/180;,f=a./x1-x1./tan(x2*hd)+2*x1./sin(x2*hd);,subplot(1,2,1);,h=contour(x1,x2,f);,clabel(h);,axis(100,300,30,120),xlabel(,高度,h/mm),ylabel(,倾斜角,theta/(,。,),十、函数,fminunc,2.,例题:,解,:,(1),建立优化设计数学模型,(2),编写求解无约束非线性优化问题的,M,文件,(3),编写绘制一维函数图形的,M,文件,title(,目标函数等值线,),subplot(1,2,2);,meshc(x1,x2,f);,axis(100,300,30,120,600,1200),title(,目标函数网格曲面图,),控制参数,options,序号,功能,默认值及其含义,说明,1,输出形式,0,,无中间结果输出,Options(1)=1,按照表格输出结果,Options(1)=-1,隐藏警告信息,2,解,x,的精度,1e-4,Options(2),设置,x,解的终止条件,3,函数,f,的精度,1e-4,Options(3),设置函数,f,的终止条件,4,约束,g,的精度,1e-6,Options(4),设置约束,g,的终止条件,5,选择主要算法,0,Options(5),选择主要优化算法,6,搜索方向算法,0,fmin(),函数为无约束优化搜索方向提供,3,种算法:,Options(6)=0,拟牛顿法,BFGS,公式,Options(6)=1,拟牛顿法,DFP,公式,Options(6)=2,梯度法,7,步长一维搜索,0,fmin(),函数为无约束优化的步长一维搜索提供,2,种算法:,Options(7)=0,二次和三次混合插值法,Options(7)=1,三次多项式插值法,1,2,3,控制参数,options,序号,功能,默认值及其含义,说明,8,函数值输出,Options(8),输出最终迭代函数值,9,梯度检验,0,,不检验,Options(9),比较梯度,10,函数计算次数,Options(10),输出函数计算次数,11,梯度计算次数,Options(11),输出函数梯度计算次数,12,约束计算次数,Options(12),输出约束计算次数,13,等式约束个数,0,,等式约束为,0,Options(13),输入等式约束个数,14,最大迭代次数,100n,(,n,为变量维数),Options(14),输入最大迭代次数,15,目标个数,0,Options(15),输入目标个数,16,差分步长,最小值,1e-8,Options(16),步长的下限或变量的最小梯度值,17,差分步长,最大值,0.1,Options(17),步长的上限或变量的最大梯度值,18,步长,Options(18),步长参数,第,1,次迭代时置,1,1,2,3,约束非线性规划问题,1.,数学模型形式:,min,f,(,X,),s.t. AXb,(,线性,不等式约束),AeqX=beq,(,线性,等式约束),C(X)0,(,非线性,不等式约束条件),Ceq(X)=0,(,非线性,等式约束),Lb X Ub,(边界约束条件),约束条件,2.,使用格式:,x,fval,exitflag,output, grad,hessian=,fmincon,(fun,x0,A,b,Aeq,beq,Lb,Ub,Nlc,options,P1,P2),设置优化选项参数,初始点,调用目标函数的函数文件名,目标函数在最优解的海色矩阵,返回目标函数在最优解的梯度,优化算法信息的一个数据结构,返回算法的终止标志,返回目标函数的最优值,返回目标函数的最优解,附加参数,非线性约束条件的函数名,设计变量的下界和上界,线性等式约束的常数向量,线性等式约束的系数矩阵,线性不等式约束的系数矩阵,线性不等式约束的常数向量,无定义时以空矩阵,符号“, ”,代替,控制参数,options,序号,功能,默认值及其含义,说明,1,输出形式,0,,无中间结果输出,Options(1)=1,按照表格输出结果,Options(1)=-1,隐藏警告信息,2,解,x,的精度,1e-4,Options(2),设置,x,解的终止条件,3,函数,f,的精度,1e-4,Options(3),设置函数,f,的终止条件,4,约束,g,的精度,1e-6,Options(4),设置约束,g,的终止条件,5,选择主要算法,0,Options(5),选择主要优化算法,6,搜索方向算法,0,fmin(),函数为无约束优化搜索方向提供,3,种算法:,Options(6)=0,拟牛顿法,BFGS,公式,Options(6)=1,拟牛顿法,DFP,公式,Options(6)=2,梯度法,7,步长一维搜索,0,fmin(),函数为无约束优化的步长一维搜索提供,2,种算法:,Options(7)=0,二次和三次混合插值法,Options(7)=1,三次多项式插值法,控制参数,options,序号,功能,默认值及其含义,说明,8,函数值输出,Options(8),输出最终迭代函数值,9,梯度检验,0,,不检验,Options(9),比较梯度,10,函数计算次数,Options(10),输出函数计算次数,11,梯度计算次数,Options(11),输出函数梯度计算次数,12,约束计算次数,Options(12),输出约束计算次数,13,等式约束个数,0,,等式约束为,0,Options(13),输入等式约束个数,14,最大迭代次数,100n,(,n,为变量维数),Options(14),输入最大迭代次数,15,目标个数,0,Options(15),输入目标个数,16,差分步长,最小值,1e-8,Options(16),步长的下限或变量的最小梯度值,17,差分步长,最大值,0.1,Options(17),步长的上限或变量的最大梯度值,18,步长,Options(18),步长参数,第,1,次迭代时置,1,28,例,1),先建立,M-,文件,fun.m,定义目标函数,:,function f=fun(x);,f=-2*x(1)-x(2);,2),再建立,M,文件,mycon2.m,定义非线性约束:,function g,ceq=mycon2(x),g=x(1)2+x(2)2-25;x(1)2-x(2)2-7;,ceq=;,29,3),主程序,fxx.m,为,:,x0=3;2.5;,VLB=0 0;VUB=5 10;,x,fval,exitflag,output,=fmincon(fun,x0,VLB,VUB,mycon2),30,4),运算结果为,:,x =,4.0000,3.0000,fval =-11.0000,exitflag = 1,output =,iterations: 4,funcCount: 17,stepsize: 1,algorithm: 1x44 char,firstorderopt: ,cgiterations: ,31,1),先建立,M,文件,fun4.m,定义目标函数,:,function f=fun4(x);,f=exp(x(1),*(4*x(1)2+2*x(2)2+4*x(1)*x(2)+2*x(2)+1);,x,1,+x,2,=0,s.t. 1.5+x,1,x,2,- x,1,- x,2,0,-x,1,x,2,10,0,例,2),再建立,M,文件,mycon.m,定义非线性约束:,function g,ceq=mycon(x),g=1.5+x(1)*x(2)-x(1)-x(2);-x(1)*x(2)-10;,ceq=;,32,3),主程序,youh3.m,为,:,x0=-1;1;,A=;b=;,Aeq=1 1;beq=0;,vlb=;vub=;,x,fval=fmincon(fun4,x0,A,b,Aeq,beq,vlb,vub,mycon),4),运算结果为,:,x = -1.2250 1.2250,fval = 1.8951,The end!,练习,1.,(连续投资问题),某部门有现金,10,万元,在今后五年内考虑给下面项目投资,已知:,项目,A,,从第一年到第四年每年年初需要投资,并于次年末回收本利,115%;,项目,B,,第三年初需要投资,到第五年末回收本利,125%,,但最大投资额不超过,4,万元;,项目,C,,第二年初需要投资,到第五年末回收本利,140%,,但最大投资额不超过,3,万元;,项目,D,,五年内每年初可购买公债,于当年末归还,并加利息,6%,;,问:如何投资到第五年末时收益最大?,练习,2.,(供应与选址问题),某公司有,6,个建筑工地要开工,每个工地的位置(用平面坐标系,a,,,b,表示,距离单位:千米 )及水泥日用量,d(,吨,),由下表给出。目前有两个临时料场位于,A(5,1),,,B(2,7),,日储量各有,20,吨。假设从料场到工地之间均有直线道路相连。,(,1,)试制定每天的供应计划,即从,A,,,B,两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。,(,2,)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为,20,吨,问应建在何处,节省的吨千米数有多大?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!