工程优化目标函数的几种极值求解方法c编程

工程优化目标函数的几种极值求解方法c编程

ID:41464341

大小:63.68 KB

页数:8页

时间:2019-08-25

工程优化目标函数的几种极值求解方法c编程_第1页
工程优化目标函数的几种极值求解方法c编程_第2页
工程优化目标函数的几种极值求解方法c编程_第3页
工程优化目标函数的几种极值求解方法c编程_第4页
工程优化目标函数的几种极值求解方法c编程_第5页
资源描述:

《工程优化目标函数的几种极值求解方法c编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目标函数极值求解的几种方法题目:分别用最速下降法,牛顿法,共辘梯度法,拟牛顿法求函数/=(^-1)2+5(兀2-5)2+(心一1)2+5(兀4一5)2的最小值,初始点自拟。一维搜索法:迭代下降算法大都具有一个共同点,这就是得到点兀⑷后需要按某种规则确定一个方向d⑷,再从兀⑷岀发,沿方向d⑹在直线(或射线)上求目标函数的极小点,从而得到X⑷的后继点兀如),重复以上做法,直至求得问题的解,这里所谓求目标函数在直线上的极小点,称为一维搜索。一维搜索的方法很多,归纳起来大体可以分为两类,一类是试探法:采用这类方法,需要按某种方式找试探点,通过一系列的试探点来确定极小点。另一类是函数逼近法或插值法:这

2、类方法是用某种较简单的曲线逼近本来的函数曲线,通过求逼近函数的极小点来估计目标函数的极小点。这里采用的是第一类试探法屮的黄金分割法。实现过程如下:(1)置初始区间[40]及精度要求L>0,计算试探点人和",计算函数值/(人)和/(Ai),计算公式是:人二⑷+0.382(勺-绚),M=4+0.618($-®)。令k二1。(2)若如-蘇“则停止计算。否则,当/(几)>/(弘)吋,转步骤(3);当/(以)5/仏)时,转步骤⑷o(3)置昭1=4,优+1=勺,入+严儿,儿+i如+0・6180如一%丄计算函数值八心,转⑸。(4)置=ak,bk+i=A,A+i=以,入+1二+°・382仇+

3、-务和),计算

4、函数值/(入」,转⑸。最速下降法实现原理描述:在求日标函数极小值问题时,总希望从一点出发,选择一个日标函数值下降最快的方向,以利于尽快达到极小点,正是基于这样一种愿望提出的最速下降法,并且经过一系列理论推导研究可知,负梯度方向为最速下降方向。最速下降法的迭代公式是兀如)=无“)+牝⑷,其中卅)是从用出发的搜索方向,这里取在点M处最速下降方向,即d⑷=-V/(/)oA,是从用出发沿方向少)进行的一维搜索步长,满足卅)+刑))=min.f(兀⑷+加⑹)。实现步骤如下:(1)给定初点兀⑴wR",允许误差£>0,置k=l。(2)计算搜索方向〃)=-▽/(#),若⑷

5、",则停止计算;否则,从用出发,沿

6、方向〃⑹进行的一维搜索,求入,使/(兀⑷+心〃⑷卜min/(兀⑷+加⑷)。久no(3)兀(曲)=兀伙)+心〃⑷,置k二k+1返冋步骤(2)。牛顿法牛顿法迭代公式:代丄朋+入少),少)是在点严)处的牛顿方向,〃⑷⑷)」号6⑷),心是从*)出发沿牛顿方向〃⑷进行搜索的最优步长。(1)给定初点X(1)GRn,允许误差£〉0,置k二1。(2)计算严=巧(十),若

7、

8、g⑹卜£,则停止计算;否则,转⑶。(3)计算^=-V2f(x(k))~lg^从M出发,沿方向d⑹进行的一维搜索,求心,使/(兀⑷+入d⑷)二min/G⑷+加⑷),*如)=*)+入d⑹,置k二k+1返回步骤⑵。共辄梯度法若d⑴,〃⑵,…,〃

9、⑹是疋屮k个方向,它们两两关于A共辘,即满足泸TAd⑴=O,iHj;i,j=,…,k,称这组方向为A的k个共辘方向。共辘梯度法的基本思想是把共觇性与最速下降法相结合,利用已知点处的梯度构造一组共觇方向,并沿这组方向进行搜索,求岀目标函数的极小点,根据共辘方向的基本性质这种方法具有二次终止性。实现步骤如下:⑴给定初点x{])eRn,允许误差£>0;(2)若酚(刊卜£,则停止计算;否则,转⑶;(3)置〃⑴二-中6⑴),k=lo(4)作一维搜索,求入,满足/卅)+2皿⑷)=哦1/岸)+加⑹);(5)令少)*)+2肿,求g(Z=Vf(兀仙))。⑹若

10、

11、gE)

12、",则停止计算;否则,转⑺;⑺若k=n

13、,则令兀(】)=兀決),转⑶;否则,转8);令〃(如)=-&(如)+0皿⑷,其中仅置k=k+l,转⑷。程序#include#include#include#defineN100doubleF(doublex[],doublep[],doublexi[],doubleba[],intn,doublet){doublef=0;inti;for(i=0;i

14、f],doublexif],doubleba[],intn){doublea二0,b二10,xl,x2,fl,f2,e=0.0001,y;x2=a+0.618*(b-a);f2二F(x,p,xi,ba,n,x2);xl=a+0.382*(b-a);fl=F(x,p,xi,ba,n,xl);while(fabs(b-a)>e)if(fl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。