QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1596|回复: 0
打印 上一主题 下一主题

黄金分割法求一维函数的极值

[复制链接]
字体大小: 正常 放大

1171

主题

4

听众

2781

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念8 H. M$ k/ J: M0 H# p0 X6 {* I

$ M9 I  U' o8 _! z4 A" C黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
. q/ e5 q2 u% x0 b9 p4 V
/ g. q" H. H% _- t#### 黄金分割比% ^8 w9 X7 D( m" q3 x% _

2 E7 X% b) h$ s; n黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
; Z2 ^* _- a& E7 n
5 g: Z3 A- k7 m### 实施步骤
/ b" K; F7 g6 I; Q0 ]" @
1 z, b( J* n7 l* S6 ?1. **初始化区间**:
) n; {+ Q1 d. C. C   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
7 F; _5 J0 ?& O2 P8 C
% S, [; r: d; ?7 r2. **计算分割点**:
$ j& i0 D* T. }4 J/ j1 ]; T   计算两个点 \(x_1\) 和 \(x_2\):
3 ]8 O4 Q/ l' G: V   - \( x_1 = b - \phi \cdot (b - a) \)7 b  B% Y9 Y7 l2 S2 p
   - \( x_2 = a + \phi \cdot (b - a) \)* a! M. d1 f5 F! f2 N1 v
& w2 Q( _* ?# I8 X
   这些点按照黄金分割比例将整个区间分为两部分。
' r+ _3 E! V) P3 o( O
9 Y% e) U; g( N- `2 s, g3. **评估函数值**:$ |( J" F, d) C" D8 ^
   计算这两个分割点的函数值:' \: S( C. L- ?1 q
   - \( f_1 = f(x_1) \)
- {/ o0 K. D- ?4 ?; I) C: z+ k1 ^   - \( f_2 = f(x_2) \): D8 ?5 C3 G% V

) I. p9 J2 ^  y4 _* P4. **缩小区间**:  X* U. d2 J1 q! f
   根据函数值的比较来决定缩小哪个部分的区间:
7 W# w8 V  t( \   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。
, W2 P7 `1 F) z2 V# B9 `) m* \! b   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。1 F2 L. f3 s2 S1 _7 `0 \

5 E; N  u; [2 R+ r% s. z3 p5. **迭代**:( o% i- T; N! A6 Y  N' I7 k( h
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。. k; _+ z' M6 B( l

2 `  |0 A0 Y# I  P6. **输出结果**:
) {2 a/ D! _/ G& b. Y7 S9 x( C( c   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。, c* _. h5 M" p" m/ K
- a- n" k& \7 Z. w0 }/ `, d
### 具体示例
) t2 u) |- r& x
9 q- K/ \; R$ y; Q: Y  U( J* V( K1 q  }假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:$ J9 m% A/ b# U& h$ N' L
6 ]& l0 e: [- ]% M
1. **初始化**:
7 D7 Q! J- y: R6 d) K$ y- f   - 区间 \([0, 5]\)
* p7 i0 K( w* z/ J6 _   - 容忍度 \(tol = 1 \times 10^{-5}\): P/ I+ s9 Z$ _/ R; u$ ^- n7 p- {, a
) [1 K7 \. w5 ~/ O0 n0 ^8 D9 d
2. **计算分割点**:
" b7 V! {+ _; n. s. R   - 计算 \(x_1\) 和 \(x_2\)
* |2 _4 D5 e* p( G& ]
8 h6 }; w* u8 D  s. |  _3. **评估函数值**:# E+ l( K7 u/ z4 [$ g3 R
   - 计算 \(f(x_1)\) 和 \(f(x_2)\): Q. v6 f  ~0 U+ F( b. K

/ D8 W8 Q0 [- E" M4. **缩小区间**:
/ Q4 f% z3 C& S6 U   - 根据比较结果更新 \(a\) 和 \(b\)* e% f$ Z  i! J& _* `1 U9 U! a- `

* U' X& Q) H  J7 p1 _" _; ^/ y5. **迭代**:
! X& g2 c. ~+ `" P9 d2 J! U+ L   - 循环直到 \(b - a < tol\)
& W- ?' g- i  c: d9 a+ {: u7 t: Z
; H& U8 T; M& u5 A$ ^6. **输出**:
: N6 p+ G  C, K! D4 e$ ?+ R% X7 l   - 找到极小值点和最小值。
" p# {7 g7 I0 Y; [( R, M! }. L6 }+ V4 U- h9 e6 L# W
### 优势与局限; {1 z. z3 N7 \7 O; W8 m, J( w
  |) H  W7 {' f
**优势**:! V/ c' g8 N+ m0 g1 W. ~# o
- 收敛速度较快,特别适合于平滑函数。
; M. s/ @. Y$ b+ G& x5 f- 简单易实施,对于不需要求导的函数也有效。( l  P7 D: S1 a( K& s
3 C4 [5 M0 K3 L! H/ x# G1 [
**局限**:  k9 a8 |' p. J$ C
- 只能用于一维问题,对于多维问题不适用。
1 S+ E0 Y. _  D- m8 H/ g- 在函数已有许多极值的情况下可能找不到全局极值。- L/ _. J# f0 b
' Y: s) Z, G, n3 z; R7 E
### 结论# ~. c0 V! w! l
$ G. h  G7 D- y# I, ], N
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。" D+ h2 ]% \* u

6 I( J9 N2 y) D3 q
- X" W6 P9 @0 G( J  z
' S' F" u$ n3 J6 ]  Y. E' S

minHJ.m

841 Bytes, 下载次数: 0, 下载积分: 体力 -2 点

售价: 2 点体力  [记录]  [购买]

zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-6-23 15:30 , Processed in 0.601963 second(s), 55 queries .

回顶部