首页 理论教育 搜索区间的确定与消去法原理

搜索区间的确定与消去法原理

时间:2023-06-25 理论教育 版权反馈
【摘要】:此过程一直迸行到函数值再次上升时为止,即可找到搜索区间的终点。最后得到的三点即为搜索区间的始点、中间点和终点,形成函数值的“高-低-高”趋势。图3-2 正向搜索的外推法图3-3 反向搜索的外推法上述确定搜索区间的外推法,其程序框图如图3-4所示。

搜索区间的确定与消去法原理

978-7-111-53920-9-Chapter03-1.jpg

图3-1 具有单谷性的函数

欲求一元函数f(x)的极小点x*(为书写简便,这里仍用同一符号f表示相应的一元函数),必须先确定x*所在的区间。

1.确定搜索区间的外推法

在一维搜索时,我们假设函数f(x)具有如图3-1所示的单谷性,即在所考虑的区间[ab]内部函数f(x)有唯一的极小点x*,为了确定极小点x*所在的区间[ab],应使函数f(x)在区间[ab]上形成“高-低-高”趋势。

为此,从a=0开始,以初始步长h0向前试探。如果函数值上升,则步长变号,即改变试探方向。如果函数值下降,则维持原来的试探方向,并将步长加倍。区间的始点、中间点依次沿试探方向移动一步。此过程一直迸行到函数值再次上升时为止,即可找到搜索区间的终点。最后得到的三点即为搜索区间的始点、中间点和终点,形成函数值的“高-低-高”趋势。

图3-2表示沿a的正向试探。每走一步都将区间的始点、中间点沿试探方向移动一步(迸行换名)。经过三步最后确定搜索区间[a1a3],并巨得到区间始点、中间点和终点a1a2a3所对应的函数值y1y2y3

图3-3所表示的情况是,开始是沿a的正方向试探,但由于函数值上升而改变了试探方向,最后得到始点、中间点和终点a1a2a3及它们的对应函数值y1y2y3,从而形成单谷区间[a3a1]为一维搜索区间。

978-7-111-53920-9-Chapter03-2.jpg

图3-2 正向搜索的外推法

978-7-111-53920-9-Chapter03-3.jpg

图3-3 反向搜索的外推法

上述确定搜索区间的外推法,其程序框图如图3-4所示。

2.区间消去法原理(www.xing528.com)

搜索区间[a,b]确定之后,采用区间消去法逐步缩短搜索区间,从而找到极小点的数值近似解,假定在搜索区间内任取两点a1b1a1b1,并计算函数值fa1)、fb1)。于是将有下列三种可能情形:

1)fa1)<fb1),如图3-5a所示。由于函数为单谷,所以极小点必在区间[a,b1]内。

2)fa1)>fb1),如图3-5b所示。同理,极小点应在区间[a1b]内。

3)fa1)=fb1),如图3-5c所示,这时极小点应在[a1b1]内。

根据以上所述,只要在区间[ab]内取两个点,算出它们的函数值并加以比较,就可以把搜索区间[ab]缩短成[ab1]或[a1b]。应当指出,对于第一种情况,我们已算出区间[ab1]内点a1的函数值,如果要把搜索区间[ab1]迸一步缩短,只需在其内再取一点算出函数值并与fa1)加以比较,即可达到目的。对于第二种情况,同样只需再计算一点函数值就可以把搜索区间继续缩短。第三种情形与前面两种情形不同,因为在区间[a1b1]内缺少已算出的函数值。要想把区间[a1b1]迸一步缩短,需在其内部取两个点(而不是一个点)计算出相应的函数值再加以比较才行。如果经常发生这种情形,为了缩短搜索区间,需要多计算一倍数量的函数值,这就增加了计算工作量。因此,为了避免多计算函数值,我们把第三种情形合并到前面两种情形中去。例如,可以把前面三种情形改为下列两种情形:

1)若fa1)<fb1),则取[ab1]为缩短后的搜索区间。

2)fa1)>fb1),则取[a1b]为缩短后的搜索区间。

978-7-111-53920-9-Chapter03-4.jpg

图3-4 外推法的程序框图

978-7-111-53920-9-Chapter03-5.jpg

图3-5 区间消去法原理

a)fa1)<fb1) b)fa1)>fb1) c)fa1)=fb1

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈