QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |正序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念
2 T  ?9 t& F# m9 r' N, H/ R2 S4 N/ N" T* T" K
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
) {4 \2 s! X0 [
" p! i2 s% m' S' A9 d4 c6 }* h#### 黄金分割比
2 k' N* x* |9 @5 N
  b. x3 d. o. h# G  N! \# h黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
3 [. P' t% a0 p- d# ]9 X1 h- w2 X+ R( l5 ?9 K
### 实施步骤
" N: N  e/ }: v
0 @/ f. }7 e/ K) h+ b0 [1. **初始化区间**:, m) V, y: v/ U; A" ?' c
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。9 Q1 k- g0 m; I$ {  B3 ~0 A

+ [$ i7 }- F$ j6 `  U( @9 ~8 }2. **计算分割点**:5 g5 ]) r  {0 ~: A- x
   计算两个点 \(x_1\) 和 \(x_2\):' n( B5 {( n# n9 x  P2 L: o
   - \( x_1 = b - \phi \cdot (b - a) \)
$ m" _. \" _% T& p+ X/ r# k   - \( x_2 = a + \phi \cdot (b - a) \)
+ y2 V  P( O4 N$ z, ^8 J: y
2 S1 p* T0 ]7 O1 a   这些点按照黄金分割比例将整个区间分为两部分。
# n- i3 i) O8 C" V
$ y0 M$ X$ C+ ]8 M2 Q3. **评估函数值**:, J$ z" @, Z, e, O
   计算这两个分割点的函数值:' n0 {  B; G: \7 G1 }: c7 P
   - \( f_1 = f(x_1) \)! E! j& s' j5 [+ S. T
   - \( f_2 = f(x_2) \), @2 ?$ g9 @  F1 O8 q2 L( ^
. w2 z2 Z/ D/ T$ p' b) g9 K5 ^  y
4. **缩小区间**:
# t' M( T9 L/ m- N) x5 u% ?! e6 ~   根据函数值的比较来决定缩小哪个部分的区间:
, m6 Y( j+ o, d3 m! y8 A4 K1 I5 K   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。9 `, a+ G0 s; I; n; c4 ]. D
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
, |" u8 p' O* Y! }2 y9 q8 C
! j# r2 z; \1 [0 R9 V  J5. **迭代**:
' v9 A$ }! Y# a$ i3 r; |   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
3 W  Y2 Q- v% a, Y) d
$ @! J8 t& V) N6. **输出结果**:/ C# J) k6 s& V9 m+ H
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。- f1 c! f1 d" G$ O" H
# x4 s; s' G8 E8 j! Q: {7 c
### 具体示例; I( s# L* e8 R7 G- W6 e  Z" B
5 |; U. e4 Y$ M6 e! p
假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:
& k5 Y# X, i0 [/ `7 b
0 Q- K+ G  p: N! K* D7 ?3 [  E1. **初始化**:) ]- ~* C! X: [8 g1 F( Q& \  [
   - 区间 \([0, 5]\)% o% A  a  i* K- c( T$ o  b' ^; t
   - 容忍度 \(tol = 1 \times 10^{-5}\)
# y, k) ?( b9 ~5 ~/ a" Y# U/ ?; \% ]" q8 A. S. l
2. **计算分割点**:. D/ Z8 Q- H  q, E5 o4 b+ O
   - 计算 \(x_1\) 和 \(x_2\)
, J* c* k8 t/ s5 F# [
: M6 G4 _. b  r2 q; `3. **评估函数值**:  s; S2 B; ^+ D. R/ k1 q7 X
   - 计算 \(f(x_1)\) 和 \(f(x_2)\)
1 ]% U  w" b+ R6 {, M& a- d& h6 l- `! t9 i9 E2 F/ x
4. **缩小区间**:; m+ I1 ]) B2 T: t0 x& C
   - 根据比较结果更新 \(a\) 和 \(b\)7 M8 u1 T; o- e6 {
' X, M; f8 S3 V
5. **迭代**:
; l2 Y1 i7 e9 f4 k   - 循环直到 \(b - a < tol\): |6 c% ^. j2 W- s) B- ?$ n
7 T, x2 w( K3 o- Q% O) k0 ]
6. **输出**:
$ ]" i6 S8 C/ M' y   - 找到极小值点和最小值。
5 j2 l/ n' L- O0 M8 }0 b# u9 Q9 i  D7 u1 F! P4 ?
### 优势与局限
* z8 W' p, X( W4 u) [, W4 ^3 I% R+ m4 i2 Z
**优势**:
- }% f1 O  k5 P% |9 u9 r( ^! E5 c- 收敛速度较快,特别适合于平滑函数。: R7 I- d, ?, i* h4 y
- 简单易实施,对于不需要求导的函数也有效。; g0 n! f$ ], P7 d

* E1 h. c; K1 J! u7 g7 W" v**局限**:
* A2 Y- h* N& b  o4 M! R2 j: V- 只能用于一维问题,对于多维问题不适用。
4 ]9 z) B( {& _/ Q4 X; q- 在函数已有许多极值的情况下可能找不到全局极值。
& G7 M! [6 j6 z+ ]0 o/ y$ Y( W7 Z2 L2 |0 \  }3 E" k7 L; ?. Y
### 结论
4 N$ O; S% t% c" S5 [  D& Y2 `" |6 ?9 V) i2 m5 I( \0 {4 Y$ G
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。) D, |' p* ?& \  i0 m

. d7 n' u  O* Y) Q! Q4 K+ v7 \" ^; U9 A+ h+ s' C* ?1 a

/ k0 l& D6 f- J  R2 _0 T  M

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-4-13 10:46 , Processed in 0.414171 second(s), 55 queries .

回顶部