null
基于MATLAB优化工具箱
的优化计算
基于MATLAB优化工具箱
的优化计算
1.1 MATLAB优化工具箱1.1 MATLAB优化工具箱null一、常用的优化功能函数
求解线性规划问题的主要函数是linprog。
求解二次规划问题的主要函数是quadprog。
求解无约束非线性规划问题的主要函数是fminbnd、fminunc和fminsearch。
求解约束非线性规划问题的主要函数是fgoalattain和fminimax。二、一般步骤二、一般步骤 建立目标函数文件 针对具体工程问题建立优化设计的数学模型不等式约束条件表示成g(X)≥0的形式 建立调用优化工具函数的命令文件文件内容:必须的输入参数、描述函数表达式等
存储:以自定义的目标函数文件名存储在文件夹中建立约束函数文件文件内容:必须的输入参数、约束函数表达式等
存储:以自定义的约束函数文件名存储在文件夹中将优化设计的命令文件复制到MATLAB命令窗口中进行运算求解。分析优化设计的数学模型,选择适用的优化工具函数
文件内容:初始点,设计变量的边界约束条件,
运算结果输出等内容
存储:以自定义的命令文件名存储于文件夹中。1.2 线性规划问题1.2 线性规划问题一、线性规划数学模型一、线性规划数学模型1.主要应用对象:
(1)在有限的资源条件下完成最多的任务;
(2)如何统筹任务以使用最少资源。
2.数学模型形式:
min f TX
s.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三种产品,已知生产每种产品在消耗原料方面的各项指标和单位产品的利润,以及可利用的数量,试制定适当的生产规划使得该工厂的总利润最大。→x1→x2→x32x14x23x33x14x22x32x1x1x23x22x32x3≤≤≤++++++++二、例题二、例题解: 1.确定决策变量: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)max 2x1+4x2+3x33x1+4x2+2x3≤6002x1+x2+2x3≤400x1+3x2+2x3≤800设生产A、B、C三种产品的数量分别是x1,x2,x3,决策变量: 根据三种单位产品的利润情况,按照实现总的利润最大化,建立关于决策变量的函数:2.建立目标函数:根据三种资料数量限制,建立三个线性不等式约束条件5.M文件运行结果:
Optimization terminated
successfully.
xopt =0.0000
66.6667
166.6667
fopt=-766.6667x1,x2,x3≥0[xopt, fopt]=linprog( f, A, b, Aeq, beq, lb, ub, x0, options)---1.3 二次规划问题1.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.4898s.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)1.4 无约束非线性规划问题1.4 无约束非线性规划问题无约束非线性规划问题的MATLAB函数有无约束非线性规划问题的MATLAB函数有fminbnd要求目标函数为连续函数只求解单变量问题fminunc可求解单变量和多变量问题适用于简单优化问题可求解复杂优化问题fminsearch1.4.1函数fminbnd1.4.1函数fminbnd1.使用格式:
[xopt,fopt]=fminbnd(fun,x1,x2,options)设置优化选项参数迭代搜索区间目标函数返回目标函数的最优值返回目标函数的最优解1.4.1函数fminbnd1.4.1函数fminbnd2.例题:
求解一维无约束优化问题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')
grid on运行结果:
xopt =
0.5223
fopt =
0.39741.4.2函数fminsearch1.4.2函数fminsearch1.使用格式:
[xopt,fopt]=fminsearch(fun,x0,options)设置优化选项参数初始点目标函数返回目标函数的最优值返回目标函数的最优解1.4.2函数fminsearch1.4.2函数fminsearch2.例题:求解二维无约束优化问题
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
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_4.m
x0=[0,0]; %初始点
[xopt,fopt]=fminsearch(@search,x0)运行结果:
xopt =
1.0000 2.0000
fopt =
4.00001.4.3函数fminunc1.4.3函数fminunc 1.使用格式:
[x,fval,exitflag,output,grad,hessian]=fminunc(@fun,x0,options,P1,P2…)设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数1.4.3函数fminunc1.4.3函数fminunc2.例题:
已知梯形截面管道的参数是:底边长度c,高度h,面积A=64516mm2,斜边与底边夹角为θ。管道内液体的流速与管道截面的周长s的倒数成比例关系。试按照使液体流速最大确定该管道的参数。
解:(1)建立优化设计数学模型
管道截面周长
管道截面积:其中设计变量:minx1x2f(X)1.4.3函数fminunc1.4.3函数fminunc2.例题:
解:(1)建立优化设计数学模型
(2)编写求解无约束非线性优化问题的M文件目标函数的文件(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); %定义目标函数[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.4fmm\n',x(1))
fprintf(1,'斜边夹角θ x(2)=%3.4f度\n',x(2))
fprintf(1,'截面周长s f=%3.4fmm\n',Fmin)计算结果
截面高度h x(1)=192.9958mm
斜边夹角θ x(2)=60.0005度
截面周长s f=668.5656mm1.4.3函数fminunc1.4.3函数fminunc2.例题:
解:(1)建立优化设计数学模型
(2)编写求解无约束非线性优化问题的M文件
(3)编写绘制一维函数图形的M文件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/(^{。})')title('目标函数等值线')
subplot(1,2,2);
meshc(x1,x2,f);
axis([100,300,30,120,600,1200])
title('目标函数网格曲面图')控制参数options控制参数options123控制参数options控制参数options1231.5 约束非线性规划问题1.5 约束非线性规划问题null1. 数学模型形式:
min f (X)
s.t. AX≤b (线性不等式约束)
AeqX=beq (线性等式约束)
C(X)≤0 (非线性不等式约束条件)
Ceq(X)=0(非线性等式约束)
Lb ≤X ≤Ub (边界约束条件)约束条件null 2.使用格式:
[x,fval,exitflag,output, grad,hessian]=
fmincon(@fun,x0,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数初始点调用目标函数的函数文件名目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵
符号“[ ]”代替控制参数options控制参数options控制参数options控制参数options例1-6例1-6 某二级斜齿圆柱齿轮减速器,高速级输入功率P1=6.2kW,转速n1=1450r/min;总传动比i=31.5,齿轮宽度系数ψa=0.4,齿轮材料和热处理:大齿轮45号钢正火187~207HB,小齿轮45号钢调质228~255HB,工作寿命10年以上。要求按照总中心距a∑最小来确定齿轮传动
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。
解:(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…)%两级斜齿轮减速器总中心距目标函数
function f=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=%3.4fmm\n',fn)
g=jsqyh_g(x); disp ' ==========最优点的性能约束函数值=========='
fprintf(1,' 高速级齿轮副接触疲劳强度约束函数值 g1=%3.4fmm\n',g(1))
fprintf(1,' 低速级齿轮副接触疲劳强度约束函数值 g2=%3.4fmm\n',g(2))
fprintf(1,' 高速级大齿轮齿根弯曲强度约束函数值 g3=%3.4fmm\n',g(3))
fprintf(1,' 低速级大齿轮齿根弯曲强度约束函数值 g4=%3.4fmm\n',g(4))
fprintf(1,' 大齿轮顶圆与轴不干涉几何约束函数值 g5=%3.4fmm\n',g(5))[ ],[ ],[ ],[ ],文件名为
eg9_6.m二、例题二、例题(3) M文件运行结果 ************两级斜齿轮传动中心距优化设计最优解*************
高速级齿轮副模数 Mn1=2.0461mm
低速级齿轮副模数 Mn2=3.6059mm
高速级小齿轮齿数 z1=18.5156mm
低速级小齿轮齿数 z2=16.0000mm
高速级齿轮副传动比 i1=5.8000mm
齿轮副螺旋角 beta=8.0000
减速器总中心距 a12=317.4186mm
==========最优点的性能约束函数值==========
高速级齿轮副接触疲劳强度约束函数值 g1=0.0000mm
低速级齿轮副接触疲劳强度约束函数值 g2=0.0000mm
高速级大齿轮齿根弯曲强度约束函数值 g3=-1.0042mm
低速级大齿轮齿根弯曲强度约束函数值 g4=-15.1854mm
大齿轮顶圆与轴不干涉几何约束函数值 g5=-761.8043mm2mm4mm19165.88338.292mm340mm9.838(4) 优化结果处理 1.6 多目标优化问题1.6 多目标优化问题多目标优化问题的MATLAB函数有多目标优化问题的MATLAB函数有fgoalattain需确定各分目标的加权系数需知各分目标的单个的最优值目标函数的最大值逐次减小fminimax1.6.1 函数fgoalattain1.6.1 函数fgoalattain
min v
s.t. fi(X)-wiv ≤goali i=1,2,…,t
AX≤b (线性不等式约束)
AeqX=beq (线性等式约束)
C(X)≤0 (非线性不等式约束条件)
Ceq(X)=0 (非线性等式约束)
Lb ≤X ≤Ub (边界约束条件)一、多目标优化问题数学模型标量变量各分目标函数分目标函数的权重各分目标函数的目标值1.6.1 函数fgoalattain1.6.1 函数fgoalattain 二、优化函数使用格式
[x,fval,exitflag,output, grad,hessian]=
fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数各分目标权重各分目标期望值目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵
符号“[ ]”代替初始点目标函数文件名三、例题三、例题 设计带式输送机传动装置上的普通V带传动。已知电机额定功率P=4kW,转速n1=1440r/min,传动比i=3,采用A型V带,每天工作不超过10小时。要求传动结构紧凑(带的根数尽量少,带轮直径和中心距尽量小)。
解:(1)建立优化设计的数学模型
①设计变量:
V带传动的独立设计变量是小带轮直径dd1和带的基准长度Ld
X=[dd1,Ld]T=[x1,x2]T
②目标函数:
小带轮直径:
中心距:
带的根数:1.6.1 函数fgoalattain1.1拟合直线P0=(0.02424dd1-1.112879)(kW)0.17kWKL=0.20639Ld0.211806拟合幂函数方程拟合双曲线方程minf1(X)=dd1=x1三、例题 ③约束条件:含性能约束和边界约束小带轮直径>=推荐的A型带轮最小直径最大带速<25m/s小带轮包角>120°带传动的中心距要求小带轮基准直径的下限和上限带基准长度的下限和上限性 能 约 束边 界 约 束三、例题1.6.1 函数fgoalattain三、例题三、例题解:(1)建立优化设计的数学模型
①设计变量: X=[dd1,Ld]T=[x1,x2]T
②目标函数:
小带轮直径:
中心距:
带的根数:
1.6.1 函数fgoalattainminf1(X)=dd1=x180~100mm320~400mm1~4按容限值确定权重,以使目标函数值在数量级上统一 ③约束条件:
(2)确定分目标和它们的权重1.6.1 函数fgoalattain(3)编制优化设计的M文件 [x,fval,exitflag,output, grad,hessian]=
fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%V带传动多目标优化设计的目标函数文件
function f=VDCD_3mb_MB(x)
P=4;i=3;KA=1.1; %已知条件:功率,传动比,工况系数
f(1)=x(1); %f1-小带轮基准直径:目标函数1
a1=x(2)/4-pi*x(1)*(i+1)/8;
a2=x(1)^2*(i-1)^2/8;
a=a1+sqrt(a1^2-a2);
f(2)=a; %f2,中心距:目标函数2
P0=0.02424*x(1)-1.1128789; %单根带额定功率
DP0=0.17; %功率增量
alpha=180-180*x(1)*(i-1)/pi/a; %小带轮包角
Kalp=alpha/(0.549636*alpha+80.396114); %包角系数
KL=0.20639*x(2)^0.211806; %长度系数
f(3)=KA*P/(P0+DP0)/Kalp/KL; %f3-V带根数:目标函数31.6.1 函数fgoalattain三、例题1.6.1 函数fgoalattain(3)编制优化设计的M文件
%V带传动多目标优化设计的约束函数文件
function[g,ceq]=VDCD_3mb_YS(x)
i=3;n1=1440; %已知条件:传动比,转速
g(1)=100-x(1); %小带轮直径>=Ddmin
g(2)=pi*x(1)*n1/6e4-25 %带速范围V<=Vmax
a1=x(2)/4-pi*x(1)*(i+1)/8;
a2=x(1)^2*(i-1)^2/8;
a=a1+sqrt(a1^2-a2);
g(3)=120-180*(1-x(1)*(i-1)/a/pi); %小带轮包角>=alpmin
g(4)=0.7*x(1)*(i+1)-a; %中心距范围a>=amin
ceq=[];1.6.1 函数fgoalattain三、例题 [x,fval,exitflag,output, grad,hessian]=
fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)1.6.1 函数fgoalattain(3)编制优化设计的M文件%V带传动多目标优化设计的调用命令
P=4;i=3;n1=1440;KA=1.1; %已知条件:功率,传动比,转速,工况系数
x0=[100;1250]; %初始点(小带轮直径,V带基准长度)
goal=[75,280,2]; %分目标
w=[10^(-2),40^(-2),1.5^(-2)]; %分目标加权系数
lb=[80,630]; %最小带轮直径和A型V带的基准长度
ub=[100;4000]; %最大带轮直径和A型V带基准长度
[xopt,fopt]=fgoalattain(@VDCD_3mb_MB,x0,goal,w,[],[],[],[],lb,ub,@VDCD_3mb_YS)1.6.1 函数fgoalattain三、例题 [x,fval,exitflag,output, grad,hessian]=
fgoalattain(@fun,x0,goal,w,A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)[ ],[ ],[ ],[ ],1.6.1 函数fgoalattain(4) M文件运算结果Optimization terminated successfully:
Search direction less than 2*options.
xopt =
1.0e+003 *
0.1000
1.2269
fopt =
100.0000 281.5296 3.5957
1.6.1 函数fgoalattain三、例题(5) 优化结果处理 dd1100mm1227mmLd小带轮基准直径带传动中心距带的根数1250mm圆整4圆整1.6.1 函数fgoalattain(4) M文件运算结果%优化结果数据处理后部分参数计算
Dd1=100;Dd2=Dd1*i;z=4;Ld=1250;
v=pi*Dd1*n1/6e4;
a1=Ld/4-pi*Dd1*(i+1)/8;
a2=Dd1^2*(i-1)^2/8;
a=a1+sqrt(a1^2-a2);
alpha=180-180*Dd1*(i-1)/pi/a;
disp ''
disp '***************计算结果*****************'
fprintf(1,' 小带轮基准直径 Dd1=%3.0fmm\n',Dd1);
fprintf(1,' 大带轮基准直径 Dd2=%3.0fmm\n',Dd2);
fprintf(1,' V带基准长度 Ld=%3.0fmm\n',Ld);
fprintf(1,' 传动中心距 a=%3.2fmm\n',a);
fprintf(1,' 小带轮包角 alpha=%3.2f度\n',alpha);
fprintf(1,' V带根数 z=%3.0fmm\n',z);1.6.1 函数fgoalattain三、例题(5) 优化结果处理 1.6.1 函数fgoalattain(4) M文件运算结果***************计算结果*****************
小带轮基准直径 Dd1=100mm
大带轮基准直径 Dd2=300mm
V带基准长度 Ld=1250mm
传动中心距 a=293.82mm
小带轮包角 alpha=141.00度
V带根数 z= 4mm1.6.1 函数fgoalattain三、例题(5) 优化结果处理 (6) 最终方案 1.6.2 函数fminimax1.6.2 函数fminimax
min max {f1,f2,…,f3}
s.t. AX≤b (线性不等式约束)
AeqX=beq (线性等式约束)
C(X)≤0 (非线性不等式约束条件)
Ceq(X)=0 (非线性等式约束)
Lb ≤X ≤Ub (边界约束条件)一、多目标优化问题数学模型各分目标函数1.6.2 函数fminimax1.6.2 函数fminimax 二、优化函数使用格式
[x,fval,exitflag,output, grad,hessian]=
fminimax(@fun,x0, A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)设置优化选项参数目标函数在最优解的海色矩阵返回目标函数在最优解的梯度优化算法信息的一个数据结构返回算法的终止标志返回目标函数的最优值返回目标函数的最优解附加参数非线性约束条件的函数名设计变量的下界和上界线性等式约束的常数向量线性等式约束的系数矩阵线性不等式约束的常数向量线性不等式约束的系数矩阵无定义时以空矩阵
符号“[ ]”代替初始点目标函数文件名三、例题三、例题 已知直径为1单位长度的圆柱梁,要求将它制成矩形截面梁,满足重量最轻和强度最大的条件,试确定矩形截面尺寸。
解:(1)建立优化设计的数学模型
①设计变量:
矩形截面的宽和高
X=[x1,x2]T
②目标函数:
重量→截面积:
弯曲强度→ 矩形截面矩量:1.6.2 函数fminimaxminf1(X)=x1x2r =1x1x2 ③约束条件:含性能约束和边界约束变量x1的上下限变量x2的上下限等式约束性 能 约 束边 界 约 束1.6.2 函数fminimax(2)编制优化设计的M文件1.6.2 函数fminimax三、例题 [x,fval,exitflag,output, grad,hessian]=
fminimax(@fun,x0, A,b,Aeq,beq,Lb,Ub,’Nlc’,options,P1,P2…)%矩形截面梁两目标优化设计的目标函数文件
function f=JXL_2mb_MB(x)
f(1)=x(1)*x(2); %f1:梁的截面积
f(2)=-x(1)*x(2)^2/6; %f2:梁的截面矩量%矩形截面梁两目标优化设计的约束函数文件
function [c,ceq]=JXL_2mb_YS(x)
ceq=x(1)^2+x(2)^2-1; %非线性等式约束
c=[]; %所有非线性不等式约束%矩形截面梁两目标优化设计
x0=[1;1];
lb=[0;0];
ub=[1;1];
[xopt,fopt]=fminimax(@JXL_2mb_MB,x0,[],[],[],[],lb,ub,@JXL_2mb_YS)(3)运行结果Optimization terminated successfully:
xopt =
0.7071
0.7071
fopt =
0.5000 -0.0589[ ],[ ],[ ],[ ],控制参数options控制参数options12控制参数options控制参数options12nullThe end!练习练习用matlab优化工具箱中的函数求解下列各题。
1、求下述凸轮机构在升程中的最大压力角αmax及其相对应的凸轮转角φmax,迭代精度取ε=0.01。对心尖顶从动件盘形凸轮机构的基圆半径rb=40mm,推杆行程h=20mm,升程角φ0=π/2,推杆运动规律为 和
压力角的计算
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
为
2、求下面优化问题的最优解,初始点X0=[2,4,5]T 练习练习3、如图所示的偏置直动滚子从动件盘形凸轮机构,凸轮顺时针方向等角速转动, rad/s,推程运动角 ,推程时从动件按正弦加速度运动规律上升,其行程h=40mm,从动件导路偏置于凸轮回转中心左侧。机构有关尺寸及其他设计数据为:
a=50mm,c=15mm,d=160mm,从动件质量m=5.0kg;
凸轮轴半径 ,外载荷 ;
弹簧初压力 ,弹簧刚度K=5N/mm;
从动件与导路接触面间摩擦系数 ;
凸轮理论轮廓基圆半径与滚子半径之比
k=3.5;凸轮与滚子材料的综合弹性模量
;凸轮的许用接触应力
;凸轮机构推程许用压力角
。
试通过优化设计使凸轮基圆半径最小。练习练习4、有一鼓风机用普通V带传动,所需传递的功率P=10kW,采用转速n1=1450r/min的交流异步电动机驱动。又知鼓风机每天工作16h,转速=630r/min。并希望D1≤150mm,a≤880mm。原设计用B型带5根, D1 =140mm, D2 =315mm,带的节线长度L=2280mm, a =778mm。现要求在传递功率P、转速n1 、 n2和V带型号不变的条件下,按带的最佳传动能力设计此V带传动.