版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于MATLAB优化工具箱
的优化计算MATLAB优化工具箱一、常用的优化功能函数求解线性规划问题的主要函数是linprog。求解二次规划问题的主要函数是quadprog。求解无约束非线性规划问题的主要函数是fminbnd、fminunc和fminsearch。(un-condition)求解约束非线性规划问题的主要函数是fgoalattain和fminimax。二、一般步骤
建立目标函数文件
针对具体工程问题建立优化设计的数学模型不等式约束条件表示成g(X)≥0的形式
建立调用优化工具函数的命令文件文件内容:必须的输入参数、描述标函数表达式等存储:以自定义的目标函数文件名存储在文件夹中建立约束函数文件文件内容:必须的输入参数、约束函数表达式等存储:以自定义的约束函数文件名存储在文件夹中将优化设计的命令文件复制到MATLAB命令窗口中进行运算求解。分析优化设计的数学模型,选择适用的优化工具函数文件内容:初始点,设计变量的边界约束条件,运算结果输出等内容存储:以自定义的命令文件名存储于文件夹中。2线性规划问题一、线性规划数学模型1.主要应用对象:(1)在有限的资源条件下完成最多的任务;(2)如何统筹任务以使用最少资源。2.数学模型形式:
minfTXs.t.AX≤b(线性不等式约束条件)
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三种产品,已知生产每种产品在消耗原料方面的各项指标和单位产品的利润,以及可利用的数量,试制定适当的生产规划使得该工厂的总利润最大。生产每单位产品所消耗的原料现有原料数量(千克)ABCa342600b212400c132800单位产品利润(万元)243合计1800千克→x1→x2→x32x14x23x33x14x22x32x1x1x23x22x32x3≤≤≤++++++++3.确定约束条件:X=[x1,x2,x3]T4.编制线性规划计算的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.确定决策变量:max2x1+4x2+3x33x1+4x2+2x3≤6002x1+x2+2x3≤400x1+3x2+2x3≤800设生产A、B、C三种产品的数量分别是x1,x2,x3,决策变量:
根据三种单位产品的利润情况,按照实现总的利润最大化,建立关于决策变量的函数:2.建立目标函数:根据三种资料数量限制,建立三个线性不等式约束条件5.M文件运行结果:Optimizationterminatedsuccessfully.xopt=0.000066.6667166.6667fopt=-766.6667x1,x2,x3≥0[xopt,fopt]=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)---9.3二次规划问题:
目标函数是二次函数,约束条件是线性的1.研究意义:(1)最简单的非线性规划问题;(2)求解方法比较成熟。2.数学模型形式:
s.t.AX≤b(线性不等式约束条件)
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)9.4无约束非线性规划问题无约束非线性规划问题的MATLAB函数有fminbnd要求目标函数为连续函数只求解单变量问题fminunc可求解单变量和多变量问题适用于简单优化问题可求解复杂优化问题fminsearch1.使用格式:
[xopt,fopt]=fminbnd(fun,x1,x2,options)9.4.1函数fminbnd设置优化选项参数迭代搜索区间目标函数返回目标函数的最优值返回目标函数的最优解2.例题:求解一维无约束优化问题f(x)=(x3+cosx+xlogx/ex)
在区间[0,1]中的极小值。解:(1)编制求解优化问题的M文件。
%求解一维优化问题fun=inline(‘(x^3+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('(x^3+cosx+xlogx)/e^x')gridon9.4.1函数fminbnd运行结果:xopt=0.5223fopt=0.39741.使用格式:
[xopt,fopt]=fminsearch(fun,x0,options)9.4.2函数fminsearch设置优化选项参数初始点目标函数返回目标函数的最优值返回目标函数的最优解2.例题:求解二维无约束优化问题
f(x)=(x14+3x12+x22-2x1-2x2-2x12x2+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
functionf=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_4.m
x0=[0,0];%初始点
[xopt,fopt]=fminsearch(@search,x0)9.4.2函数fminsearch运行结果:xopt=1.00002.0000fopt=4.00001.使用格式:
[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)9.4.3函数fminunc设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数管道截面积:其中设计变量:9.4.3函数fminunc2.例题:已知梯形截面管道的参数是:底边长度c,高度h,面积A=64516mm2,斜边与底边夹角为θ。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大确定该管道的参数。解:(1)建立优化设计数学模型
管道截面周长
hcθminx1x2f(X)目标函数的文件(sc_wysyh.m):functionf=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);%定义目标函数9.4.3函数fminunc2.例题:解:(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,'截面高度hx(1)=%3.4fmm\n',x(1))fprintf(1,'斜边夹角θx(2)=%3.4f度\n',x(2))fprintf(1,'截面周长sf=%3.4fmm\n',Fmin)计算结果截面高度hx(1)=192.9958mm斜边夹角θx(2)=60.0005度截面周长sf=668.5656mmxx1=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/(^{。})')9.4.3函数fminunc2.例题:解:(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-4Options(2)设置x解的终止条件3函数f的精度1e-4Options(3)设置函数f的终止条件4约束g的精度1e-6Options(4)设置约束g的终止条件5选择主要算法0Options(5)选择主要优化算法6搜索方向算法0fmin()函数为无约束优化搜索方向提供3种算法:Options(6)=0,拟牛顿法BFGS公式Options(6)=1,拟牛顿法DFP公式Options(6)=2,梯度法7步长一维搜索0fmin()函数为无约束优化的步长一维搜索提供2种算法:Options(7)=0,二次和三次混合插值法Options(7)=1,三次多项式插值法123控制参数options序号功能默认值及其含义说明8函数值输出Options(8)输出最终迭代函数值9梯度检验0,不检验Options(9)比较梯度10函数计算次数Options(10)输出函数计算次数11梯度计算次数Options(11)输出函数梯度计算次数12约束计算次数Options(12)输出约束计算次数13等式约束个数0,等式约束为0Options(13)输入等式约束个数14最大迭代次数100n(n为变量维数)Options(14)输入最大迭代次数15目标个数0Options(15)输入目标个数16差分步长最小值1e-8Options(16)步长的下限或变量的最小梯度值17差分步长最大值0.1Options(17)步长的上限或变量的最大梯度值18步长Options(18)步长参数,第1次迭代时置11239.5约束非线性规划问题1.数学模型形式:
minf(X)
s.t.AX≤b(线性不等式约束)
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-4Options(2)设置x解的终止条件3函数f的精度1e-4Options(3)设置函数f的终止条件4约束g的精度1e-6Options(4)设置约束g的终止条件5选择主要算法0Options(5)选择主要优化算法6搜索方向算法0fmin()函数为无约束优化搜索方向提供3种算法:Options(6)=0,拟牛顿法BFGS公式Options(6)=1,拟牛顿法DFP公式Options(6)=2,梯度法7步长一维搜索0fmin()函数为无约束优化的步长一维搜索提供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,等式约束为0Options(13)输入等式约束个数14最大迭代次数100n(n为变量维数)Options(14)输入最大迭代次数15目标个数0Options(15)输入目标个数16差分步长最小值1e-8Options(16)步长的下限或变量的最小梯度值17差分步长最大值0.1Options(17)步长的上限或变量的最大梯度值18步长Options(18)步长参数,第1次迭代时置1例9-6
某二级斜齿圆柱齿轮减速器,高速级输入功率P1=6.2kW,转速n1=1450r/min;总传动比i=31.5,齿轮宽度系数ψa=0.4,齿轮材料和热处理:大齿轮45号钢正火187~207HB,小齿轮45号钢调质228~255HB,工作寿命10年以上。要求按照总中心距a∑最小来确定齿轮传动方案。解:(1)建立优化设计的数学模型①设计变量:将涉及总中心距a∑齿轮传动方案的6个独立参数作为设计变量
X=[mn1,mn2,z1,z3,i1,β]T=[x1,x2,x3,x4,x5,x6]T②目标函数:减速器总中心距a∑最小为目标函数二、例题
③约束条件:含性能约束和边界约束高速级齿轮接触强度条件低速级齿轮接触强度条件高速级大齿轮弯曲强度条件低速级大齿轮弯曲强度条件大齿轮与轴不干涉低速级齿轮副模数的下限和上限高速级小齿轮齿数的下限和上限高速级小齿轮齿数的下限和上限低速级小齿轮齿数的下限和上限高速级传动比的下限和上限齿轮副螺旋角的下限和上限性能约束边界约束二、例题(2)编制优化设计的M文件
[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%两级斜齿轮减速器总中心距目标函数functionf=jsqyh_f(x);hd=pi/180;a1=x(1)*x(3)*(1+x(5));a2=x(2)*x(4)*(1+31.5/x(5));cb=2*cos(x(6)*hd);f=(a1+a2)/cb;%两级斜齿轮减速器优化设计的非线性不等式约束函数function[g,ceq]=jsqyh_g(x);hd=pi/180;g(1)=cos(x(6)*hd)^3-3.079e-6*x(1)^3*x(3)^3*x(5);g(2)=x(5)^2*cos(x(6)*hd)^3-1.701e-4*x(2)^3*x(4)^3;g(3)=cos(x(6)*hd)^2-9.939e-5*(1+x(5))*x(1)^3*x(3)^2;g(4)=x(5)^2.*cos(x(6)*hd)^2-1.076e-4*(31.5+x(5))*x(2)^3*x(4)^2;g(5)=x(5)*(2*(x(1)+50)*cos(x(6)*hd)+x(1)*x(2)*x(3))-x(2)*x(4)*(31.5+x(5));ceq=[];[]文件名为:Jsqyh_g.m文件名为:Jsqyh_f.m二、例题(2)编制优化设计的M文件
[x,fval,exitflag,output,grad,hessian]=fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)x0=[2;4;18;20;6.4;10];%设计变量的初始值lb=[2;3.5;14;16;5.8;8];%设计变量的下限ub=[5;6;22;22;7;15];%设计变量的上限[x,fn]=fmincon(@jsqyh_f,x0,[],[],[],[],lb,ub,@jsqyh_g);disp'************两级斜齿轮传动中心距优化设计最优解*************'fprintf(1,'高速级齿轮副模数Mn1=%3.4fmm\n',x(1))fprintf(1,'低速级齿轮副模数Mn2=%3.4fmm\n',x(2))fprintf(1,'高速级小齿轮齿数z1=%3.4fmm\n',x(3))fprintf(1,'低速级小齿轮齿数z2=%3.4fmm\n',x(4))fprintf(1,'高速级齿轮副传动比i1=%3.4fmm\n',x(5))fprintf(1,'齿轮副螺旋角beta=%3.4fmm\n',x(6))fprintf(1,'减速器总中心距a12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 626建材、家具、家电电商平台建设项目
- 2024跨境电子商务合作经营合同
- 2024股权补偿协议范本
- 2025年度主播与直播平台合作分成协议3篇
- 福建省南平市莒口中学2021-2022学年高二化学下学期期末试卷含解析
- 2024棉花种子种植基地建设与运营合同3篇
- 2024版:北京企业经营托管协议3篇
- 2024版空压机短期租赁合同
- 2024跨国企业集团内部交易合同
- 2023年教科版四年级上册英语Unit7How many stars does each group have(含答案)
- 光伏安装施工合同范本
- 人教版(2024)数学七年级上册期末测试卷(含答案)
- 2024年学校意识形态工作总结(3篇)
- ISO28000:2022供应链安全管理体系
- 反恐怖防范知识课件
- 汽车发动机机械系统检修课件(全)全书教学教程完整版电子教案最全幻灯片
- 纸箱类检测讲解
- 设计阶段的HAZOP总体分析
- 2022《义务教育数学课程标准(2022版)》解读
- 螺纹及紧固件基础知识
- 滴滴打车项目融资计划书ppt课件
评论
0/150
提交评论