机械优化设计研究生大作业

发布 2022-09-15 04:24:28 阅读 3336

第一题。

1.1 题目。

求函数f(x)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5的极小值,初始点为x(0)=[2,2]t,误差ε不大于0.001。

注:此问题为无约束非线性规划问题的求解。

1.2 建立数学模型。

find x1 , x2

min f(x)=x14-2x12x2-2x1x2+3x12+4x22+4.5x1-4x2+5

初始点 x(0)=[2,2]t, ε0.001

1.3 运行结果。

通过牛顿法迭代5次可得出结果,当x1=-0.65083910731569,x2=0.40135662524523时,目标函数最优值fmin=2.

97849714338108,且满足。

1.4 迭代曲线。

1.5 检验结果。

用matlab自带优化程序检验。

程序为:>>x0=[-2,2];

x,fval]=fminsearch('x(1)^4-5*x(1)^2*x(2)-2*x(1)*x(2)+4*x(1)^2+6*x(2)^2+4.5*x(1)-4*x(2)+5',x0)

x =-0.65086658687466 0.40137142333985

fval =2.97849714628600

经检验用牛顿法进行迭代优化结果是正确的,优化结果达到精度要求,ε≤0.001。

1.6 讨论。

1)由以上迭代曲线可知,牛顿法迭代收敛速度很快,本优化经过迭代3次后目标函数值趋于平稳。也可采用**分割法,变尺度法等其他方法优化。由于本题比较简单,不必采用变尺度法来优化。

2)采用matlab编程解决了求导和计算海森阵比较复杂的难题,编程简单方便。

1.7 matlab源程序。

function zy32

format long

syms x1 x2 %定义符号变量x1,x2

f=x1^4-2*x1^2*x2-5*x1*x2+6*x1^2+7*x2^2+4.5*x1-4*x2+5 %定义函数f

df=[diff(f,x1);diff(f,x2)]

diff(f,x1)用于对函数f中变量x1求偏导。

diff(f,x2)用于对函数f中变量x2求偏导。

f1=diff(f,x1,2); diff(f,x1,2)用于对函数f中变量x1求而二次偏导。

f2=diff(diff(f,x1),x2);

diff(diff(f,x1),x2)用于对函数f中变量下x1,x2求偏导。

f3=diff(diff(f,x2),x1);

f4=diff(f,x2,2); diff(f,x2,2)用于对函数f中变量x2求而二次偏导。

ddf=[f1,f2;f3,f4]; 求函数f的海森阵。

x1=-2;x2=2;

td=eval(df计算梯度初值。

hs=eval(ddf计算海森阵初值。

eval命令用于将符号变量转化为数值变量。

i=0;eps=0.1

while eps>0.01;

i=i+1;

eps=sqrt(td(1).^2+td(2).^2); 求梯度的模。

x=[x1;x2]-inv(hs)*td; %记录自变量迭代值。

x1=x(1);

x2=x(2);

xx(i,:)x记录迭代过程中间值。

td=eval(df);

hs=eval(ddf);

last(i)=eval(f记录迭代过程中间值

enddisp('迭代次数');

ixx=xx

fmin=last

figure(1)

plot(fmin画目标函数变化图。

grid on;

hold on;

xlabel('迭代次数');

ylabel('f(x)')

title('f(x)函数迭代值');

figure(2)

plot(xx(:,1));

grid on;

xlabel('迭代次数');

ylabel('x1迭代值');

title('x1变化图');

figure(3)

plot(xx(:,2));

grid on;

xlabel('迭代次数');

ylabel('x2迭代值');

title('x2变化图');

第二题。2.1 数学模型。

find x1 , x2

min f (x)=2x12+2x22-4x1-6x2

g1(x)=x1+5x2-5≤0

g2(x)=2x12-x2≤0

g3(x)=-x1≤0

g4(x)=-x2≤0

初始点x(0)=[0,0.75]t, ε0.001

2.2 优化方法。

此问题可规结为强约束问题,此题用罚函数法对在求解强约束非线性优化问题求解。用功能函数constr可以解决此类问题,本题中目标函数是非线性的,约束是线性的。

2.3 优化结果。

最小目标函数值f=-5.5039,自变量取值:x =[0.6589, 0.8682]t

验证优化结果正确。

2.4 matlab 源程序。

在command window 输入question2,然后回车即行;

function

funf='f=x(1)^2+4*x(2)^2-7*x(1)-5*x(2) ;定义目标函数。

fung='g=[x(1)+5*x(2)-5; 2*x(1)^2-x(2)];定义约束条件。

funi=[funf fung组合矩阵。

x0=[0,0初值;

options=1显示过程。

vlb=[0 0下边界x;

vub无上边界;

x,options]=constr(funi,x0,options,vlb,vub)

2.5 计算结果。

2.6 迭代曲线。

2.7 讨论。

(1)利用matlab优化工具箱里边的功能函数condtr来优化求解目标函数f,能很快实现优化,达到目标,方便快捷。

2)由图可见迭代五次达到最低端,10次后趋于平稳。

3)优化结果满足精度要求ε<0.001。

4)可见matlab很容易对目标实现优化,对编程人员要求不高。只要知道如何使用命令。

第三题。3.1 题目。

平面铰链四连杆机构,各杆长度为,,,已知;主动杆输入角为,从动杆的输出角为;摇杆在右极位时,杆1、杆2伸直,主动杆在初始位置,从动杆在初始位置。试设计四连杆机构的各杆长度,使其输出角在曲柄从转到时,最佳再现给定函数:,且要求最小传动角不小于45o,即≥45o。

3.2 数学模型。

3.2.1 确定设计变量。

机构位置决定于4个杆长与主动杆转角,再现角位移的机构与杆件的绝对长度无关,只决定于相对长度;转角连续变化,故非设计变量。因此计算时取曲柄长度为单位长度,即=1;而其他的杆长按比例取为的倍数,机架长,而初始角可以按下列几何关系求得:

故仅有、为独立变量,是二维最优化设计问题,设其设计变量为:

3.2.2 确定目标函数。

此再现运动的机械运动优化中,目标函数为机构实际运动轨迹与预定运动轨迹均方根最小,位置取若干离散点,即。

本题则取目标函数为:

p取30,则,式中期望输出角的离散值为:

实际输出角的计算公式为:

由三角关系式得:

3.2.3 确定约束条件。

根据对传动角的约束要求及曲柄与机架处于共线位置时和机构的尺寸的关系:

以及;,得约束条件:

满足曲柄存在条件,得约束条件:

取,进一步分析可行域可知(两椭圆方程)起约束作用,其他约束均在其外不起作用。

3.2.4 数学模型。

find 3.3 优化方法。

用matlab自带函数fmincon来优化求解,

3.4 优化结果。

2019级研究生优化大作业

2014级研究生 最优化理论与方法 课程大作业之读书报告部分要求。1 整理最优化理论中关于一个解是不是最优解的各种充分 必要或充要条件。2 给出最优化理论中迭代算法的框架结构,讨论初始化环节都需要确定哪些内容?给出最优化问题求解算法中常用的终止条件,并分析其原理。3 叙述算法收敛性的定义,列举常用的...

研究生ansys大作业

工程图学大作业。学号姓名 按图1尺寸建立轴承座的实体模型 因结构和载荷的对称性,只建立了一半模型 尽量采用六面体网格划分轴承座的单元,径向力p1 100n,轴向均布压力载荷p2 20n。要求按小 格式写 1 建模过程。简单叙述 2 网格划分。简单叙述,列出分割后的实体图和网格图,并说明单元和节点数 ...

机械优化设计大作业

1.题目自拟。多元函数优化问题。2.已知条件。根据具体题目确定。3.作业要求。1 建立优化模型 包括设计变量 目标函数 约束条件 2 程序求解,可以选用c fortran basic等编程语言或matlab maple等工具软件,写出最优解。3 学习本课程的心得体会。不少于 4 用a4纸打印。注意 ...