精确一维搜索算法(直接法)

本网所有内容文字、图片和音视频资料,版权均属个人所有,仅供个人呢学习参考,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。

本文不讲概念,直接干货例题

黄金分割法

eg:
	1.求解minf(x)=2x²-x-1,初始区间[a1,b1]=[-1,1],精度ε<=0.16。

解:

  1. 带入a1,b1,解得λ1,μ1,再带入f(x)求解
  2. 取min{f(λk),f(μk)},最小值更接近原问题解
  3. 将另一个f(x)所对应的 ak/bk,λk/μk替换,进行迭代
  4. 如下表:
    k ak bk λk μk f(λk) f(μk)
    1 -1 1 -0.236 0.236 -0.653 -1.125
    2 -0.236 1 0.236 0.528 -1.125 -0.970
    3 -0.236 0.528 0.056 0.236 -1.050 -1.125
    4 0.056 0.528 0.236 0.348 -1.125 -1.106
    5 0.056 0.348 0.168 0.236 -1.112 -1.125
    6 0.168 0.348 0.236 0.279 -1.125 -1.123
    7 0.168 0.279
  5. ∵b7-a7=0.111<0.16
    ∴取x=1/2(0.168+0.279)=0.23,即为所求解。

斐波那契数列法(Fibonacci)

斐波那契数列:
k 0 1 2 3 4 5 6 7 8 9 10 11 12
f(k) 1 1 2 3 5 8 13 21 34 55 89 144 233……

eg:
	试用斐波那契数列法求函数f(x)=x²-x+2的近似极小值点和极小值,要求缩短
后的区间不大于初始区间[-1,3]的0.08倍。辨别常数δ=0.01.

解:
容易验证在区间[-1,3]上函数为单峰函数
求解过程如下表:
k ak bk λk μk f(λk) f(μk)
1 -1 3 0.538 1.462 1,751 2.675
2 -1 1.462 -0.077 0.538 2.083 1,751
3 -0.077 1.462 0.538 0.846 1,751 1.870
4 -0.077 0.846 0.231 0.538 1.822 1,751
5 0.231 0.846 0.538 0.538 1,751 1,752
6 0.231 0.548

∵λ5=μ5,∴另μ5=λ5+δ=0.548
求得f(λ5),f(μ5),此时在区间(0.231,0.548)内,
由于f(a6)=1.822>f(b6)=1.752,可取近似极小值点为0.548,近似极小值为1.752。
初始区间0.08倍=0.32,缩短后区间长度为0.548-0.231=0.317<0.32,满足条件。
所以近似极小值点为0.548,近似极小值为1.752。

你可能感兴趣的:(最优化,黄金分割,斐波那契,成功失败)