可行方向法小论文

上传人:m**** 文档编号:508696436 上传时间:2022-09-20 格式:DOC 页数:15 大小:691KB
返回 下载 相关 举报
可行方向法小论文_第1页
第1页 / 共15页
可行方向法小论文_第2页
第2页 / 共15页
可行方向法小论文_第3页
第3页 / 共15页
可行方向法小论文_第4页
第4页 / 共15页
可行方向法小论文_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《可行方向法小论文》由会员分享,可在线阅读,更多相关《可行方向法小论文(15页珍藏版)》请在金锄头文库上搜索。

1、机械优化设计论文可行方向法专业:机械工程及其自动化 班级: 02班 学号: 0227 姓名: 库后涛 11月 22日摘要: 以机械优化设计的传统求解方法为基础,探讨了优化设计的MATLAB实现方法,该方法初始参数输入简单,编程工作量小,具有明显的优越性通过实例介绍了MATLAB进行优化设计的基本原理和过程,为机械零件的优化设计提供了一种新方法。在机械优化设计中问题,绝大多数都属于约束优化设计问题,Zoutendiji可行方向法就是求解约束优化问题的一种有代表性的直接解法。关键词:机械优化设计 ,Zoutendiji可行方向法,约束优化问题。Abstract: Based on the trad

2、itional solving method to mechanical optimization design,this paper discusses the realization with MATLABThe MATLAB software simplifies the input of initial parameters and the computer programming,which make it have the apparent superior .The authors use an example to show the fundamental and the pr

3、ocess of using MATLAB to realize the optimal designConsequently a new method is providedAmong mechanical optimization design problems, of which the vast majority are constraint optimization problems, Zoutendiji feasible direction method is a representative direct method of solving constrained optimi

4、zation problems Keywords:mechanical optimization design ,Zoutendiji feasible direction method,constrained optimization problems目录引言.4线性不等式约束的Zoutendijk可行方向法.4非线性约束问题可行方向法.7Zoutendijk法使用举例.8总结 .11一、引言 械优化设计中问题,绝大多数都属于约束优化设计问题,其数学模型为: (1.1)求解式(6-1)的方法称为约束优化方法。根据求解方式不同,可分为直接求解法和间接求解法。 在约束优化问题的直接求解法中,可行

5、方法是最大的一类,它也是求解大型约束优化问题的主要方法之一。这种方法的基本原理就是:给定一个可行点之后,用某种方法确定一个改进的可行方向,然后沿方向,求解一个有约束的线搜索问题,得极小点,按迭代公式计算:,如果不是最优解,则重复上述步骤。可行方向法就是利用线性规划方法来确定的。可行方向法常用方法有Zoutendijk可行方向法,既约梯度法,Rosen梯度投影法,Frank-Wolfe方法。Zoutendijk可行方向法对线性和非线性的不等式约束问题均适用,但约束条件不含等式约束,是可行方向法中选择可行下降方向的主要方法之一。二、线性不等式约束的Zoutendijk可行方向法1、可行方向的搜索策

6、略考虑NLP问题 (2.1)Th1设是问题(4.1.1)的可行解,在点处有则非零向量d为处的可行方向的充要条件是Zoutendijk法把确定搜索方向归结为求解LP: 显然d=0是可行解。由此可知,目标函数的最优值必小于等于0.:最优值小于0,则可得下降可行方向d,否则我们可证x是KKT点。Th2 考虑问题(2.2),设x是可行解,在点x处有则x为KKT点的充要条件是问题(4.1.2)的目标函数最优值0。2、确定一维搜索步长设xk是(2.1)的可行解,不妨看做第k次迭代的出发点,dk为xk处一个下降可行方向。后继点xk+1由下列迭代公式给出:的取值原则有两点:第一, 保持迭代点的可行性;第二,

7、使目标函数值尽可能减小。根据上述原则,可以通过求解下列一维搜索问题来确定步长: 问题(2.3)可作进一步简化。由于dk是可行方向,必有因此,(2.3)中第2个约束是多余的在点处,根据约束是否起作用,记, (2.4) (2.5)于是,(2.3)中第1个约束可写成: (2.6)由于dk为可行方向,自然成立。约束(2.6)化为这样,问题(2.3)化简为 (2.8)根据(2.8)的约束条件,易求出的上限,令由(2.5)知,(2.9)的约束可写成由此得到的上限问题(2.3)于是化为: 于是,给定问题(2.1)和一个可行点,可以通过求解问题(2.2)得到下降可行方向,通过求解问题(2.12)确定沿此方向进

8、行一维搜索的步长。3、Zoutendijk可行方向法的计算步骤:1)求一初始可行解xk,令k1,转2。2)对于可行点xk处对A和b进行分解,使得,3)求解问题 ,得最优解dk。4)如果,计算结束,是KKT点;否则转5。5)利用(2.8)-(2.11)计算,然后再0, 上作一维搜索设为最优解,令6)置k=k+1,转2三、非线性约束问题可行方向法1、非线性约束设是问题的一个可行解,令,即是点紧约束的指标集,设和在点可微,在点连续,如果,则是一改进的可行方向。2、非线性不等式约束的Zoutendijk方法的计算步骤:1) 选取允许误差,求一初始可行点,令,转2)。2)确定指标集。3) 若,且,计算结

9、束,取;若,且,令,转6);若,转4)。4) 令,求解线性规划问题(4-2)的最优解;5) 若,计算结束,取;否则令,转6)。6) 求出线搜索问题的最优解,其中;令,返回2)。四、Zoutendijk法使用举例求matlab程序:定义所求函数并赋值function h= fun1(x)syms a b;x1=a b;f=a2+4*b2;h=subs(f,x1,x);end求导函数dfx:function dfx=dfxfun(x)syms a b;x1=a b;f=a2+4*b2;grad=jacobian(f,x1);dfx=subs(grad,x1,x);end根据function h=f

10、un(lamda,d,x)syms a b;x1=a b;f=a2+4*b2;xx=x+lamda*d;h=subs(f,x1,xx);end主函数function Zoutendijk(x0,A,b)c=0;kk=0;options=optimset(Display,off); while c=b(i)-1e-4 %不起作用约束A1,b1 k=k+1; A1(k,:)=A(i,:); b1(k,1)=b(i); end if Cb(i)-1e-4 %起作用约束放到A2,b2 j=j+1; A2(j,:)=A(i,:); b2(j,1)=b(i); end end %A1,b1 %A2,b2

11、if isempty(A2) %A2为0向量矩阵 f1=dfxfun(x0); if (abs(f1)=1e-4) break else d=-f1; end else lb=-1 -1; ub=1 1; b0=zeros(size(b1); f1=dfxfun(x0); d,fval1=linprog(f1,A1,b0,lb,ub); %求解最小化问题,得到可行方向d和最值 if fval1=0 break end end %pause dd=A2*d; bb=b2-A2*x0; lamdmax=max(bb./dd); lamda=fminbnd(lamda)fun(lamda,d,x0)

12、,0,lamdmax,options); %求函数的局部极小值 if (isempty(lamda(:)%f(x)T dk=0迭代结束 break end x0=x0+lamda*d;%获得新点end fprintf(可行方向法n:迭代次数:kk=%dn,kk); fprintf(最优解:n); x0 fval3=fun1(x0); fprintf(函数最值:n); fval3%用非线性约束函数方法,检验所得到的结果是否正确x0=0;0;x,fval=fmincon(fun1,x0,A,b,options);%求解非线性问题fprintf(用非线性约束规划检验:最优解为:n);xfprintf(约束条件下函数最值:n);fvalendcommand中输入:x

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号