QQ登录

只需要一步,快速开始

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

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

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

1192

主题

4

听众

2946

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念
9 \# r" R1 s) V5 k! g/ X2 t8 v  X
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。: a1 S2 h" }$ ?! e8 U) X
' B9 Q$ d  D' G2 L( h4 N
#### 黄金分割比- P) }: A4 p! E% L1 r
3 @# U. V( s& p" {4 \% g3 f
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。3 G& ^( g0 j$ r5 i; h. A9 E

$ X( T$ `. ?' a  f- \### 实施步骤
; ]6 C+ e3 z5 n4 F+ z' N
, F! d* R4 _, u* I  J) |1. **初始化区间**:
2 Z5 O6 q: N' B* V; L   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
. [  i) s7 [/ m* u2 g. D! F. ~) @% N0 z
2. **计算分割点**:
8 S' \/ S+ O  m   计算两个点 \(x_1\) 和 \(x_2\):
+ O& g& r2 f! G- ]5 ^+ h   - \( x_1 = b - \phi \cdot (b - a) \)
3 T& j0 i5 D0 i$ u/ {" B2 C   - \( x_2 = a + \phi \cdot (b - a) \)1 Z: {9 ~5 W9 }& Y- d( ?

6 N- K9 [2 c+ D! `4 p   这些点按照黄金分割比例将整个区间分为两部分。- E5 k4 A/ W) w, A" L2 l
! i  T: Y: Z. K
3. **评估函数值**:) M8 `0 d  C5 A6 T& r
   计算这两个分割点的函数值:
# T; S4 |8 e9 S9 _0 F8 b   - \( f_1 = f(x_1) \)" c4 m9 t! B2 [7 I* q
   - \( f_2 = f(x_2) \)
1 e9 |( A1 \/ W, {; F3 c6 r6 b* y- o; s4 h) b2 {+ K
4. **缩小区间**:
3 Q" m) @2 i% x   根据函数值的比较来决定缩小哪个部分的区间:3 I- W. X( t3 U1 w. ^' v; R! ^
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。7 D1 P( U; `4 M$ U* x
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
/ j1 }% T- d. c# w+ u3 }4 Q
1 f2 [/ ^  j* |5. **迭代**:
, J1 h5 ^* \6 G6 `, ]   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。# E( N9 B: H% A- l& C  r

, [' |! F/ P5 i3 z6. **输出结果**:
3 U  D" z8 @& x0 X( X9 Z   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
0 z' V: S! f2 U6 \: G+ H' @. R5 ^
1 L) M% g% \8 a& J! ^3 l### 具体示例, O8 M  b+ A( i

( d$ _# y( Z1 H' A/ q+ P假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:
; |* F7 `/ X0 T& B3 U  X
" G" g: G( B8 U( R% S4 u! v1 C- P0 F/ ~1. **初始化**:
. ^6 T: H9 p: Z% |% c5 x   - 区间 \([0, 5]\)0 h; Z4 n+ q2 k5 I. v
   - 容忍度 \(tol = 1 \times 10^{-5}\)
3 t5 [4 J4 t* z# D4 J7 Y# @/ v7 N& i2 e5 |% f
2. **计算分割点**:
, _% ?* W- l  J" a6 y# c# Q9 w0 M   - 计算 \(x_1\) 和 \(x_2\). P& U% R+ v9 o

2 s) ?( ]/ k$ |1 w* M3. **评估函数值**:
4 q/ L  U0 P8 Q- `: F+ r6 y! }6 L   - 计算 \(f(x_1)\) 和 \(f(x_2)\)# v1 e" d. T' X0 y
/ i% T, g: Q3 D$ o
4. **缩小区间**:: T9 X& i2 T0 s. [2 ^) e* n
   - 根据比较结果更新 \(a\) 和 \(b\)9 l+ _& V$ S4 C( t  j$ h5 b. P5 I

0 y8 d; d- n6 p5 x( v5. **迭代**:6 e) z( }" c/ [
   - 循环直到 \(b - a < tol\)
4 L( D' C. M! a2 Z7 u4 u2 x3 l8 p) R! |7 L5 b
6. **输出**:
5 x# q" i8 w- H& a   - 找到极小值点和最小值。
( m$ m9 P: n3 H4 N) q4 \1 I6 O
# N" U2 G3 k4 ~8 j1 q' L) a### 优势与局限
) M% y+ x  y% D6 s3 R5 `
( R3 M+ I# u4 i, M/ ]& C( G**优势**:& I( Y& r; }# v& O' @. w* ~7 V
- 收敛速度较快,特别适合于平滑函数。
9 q+ s/ p0 J, t; p, J. s5 h- 简单易实施,对于不需要求导的函数也有效。
. k3 n+ d) m. N
8 k2 H& ?1 F% ^0 R' M/ }**局限**:
. h+ T) L& f% q( [* e* @/ k. F) h- 只能用于一维问题,对于多维问题不适用。! |; ], c; W, b( X' \
- 在函数已有许多极值的情况下可能找不到全局极值。
& X$ x- |, [* F/ ^! a& Z7 Z
- K  w4 x) V& l### 结论/ [9 c  E5 d$ u* h5 |
$ t% q0 [. R5 }) r) o6 n
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。! B' j/ l' e$ v$ z% R7 V4 R& Y  V4 z
" x7 a* o" m  n0 z; ~7 L0 x

1 P' q* _. _- R  _& o
9 I' q4 v6 ^% G! Y' {! F( f( ^

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, 2026-8-25 09:27 , Processed in 0.401728 second(s), 55 queries .

回顶部