一维搜索

一维搜索,第1张

精确一维搜索:

1)区间收缩法 ;

2)函数逼近法;

精确一维搜索:

1)Armijo准则;

2)Wolfe准则;

主要步骤:

算法流程:

例题

对称原则:

保持缩减比例原则:

优点: 不要求函数可微,除过第一次外,每次迭代只需计算一个函数值,计算量小,程序简单;

缺点:收敛速度慢;

例题:

详细迭代结果:

#include <iostream.h>

double jisuanEF(double AG)

{

return AG*AG*AG*AG-5*AG*AG*AG+4*AG*AG-6*AG+60

}

double search(double min,double max,double e)

{

double a,b,a1,a2,f1,f2,temp

a=min

b=max

a1=b-0.618*(b-a)

f1=jisuanEF(a1)

a2=a+0.618*(b-a)

f2=jisuanEF(a2)

for()

{

if(f1<=f2)

{

b=a2

a2=a1

f2=f1

a1=b-0.618*(b-a)

f1=jisuanEF(a1)

}

else

{

a=a1

a1=a2

f1=f2

a2=a+0.618*(b-a)

f2=jisuanEF(a2)

}

if(b-a<=e)

break

}

temp=(b+a)/2

return temp

}

void main()

{

double d,c,g

d=search(2.0,8.0,0.01)

c=jisuanEF(d)

g=jisuanEF(3.2796)

cout<<"c="

cout<<c<<" "

cout<<"g="

cout<<g

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11152968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存