QQ登录

只需要一步,快速开始

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

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

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

1198

主题

4

听众

2975

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念; j/ j1 W. H  @, @% }
) g  A& B& _, O7 o) K% E& M$ i! I
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
* R, o6 A% K" F- H
7 D' ]5 F4 s; @4 g/ Y" Y4 Z( y#### 黄金分割比7 a" N% a' m7 ~3 ]1 g. b

) G5 I" R* \: n3 z& @' {; e6 \黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
/ {5 b9 B3 [6 b+ Z4 W
# A. ]* |2 {$ w; u8 p+ ?7 n### 实施步骤6 |* }" R' H5 b; J

6 T; @5 ?" V, [% W; m1. **初始化区间**:- C2 `, X  h5 N. Z
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。4 ]) l2 \# u4 L3 b) C( ~; J& y

9 r5 s2 `: ], {( S" V2. **计算分割点**:$ R( `8 M4 I: z5 X" v+ w
   计算两个点 \(x_1\) 和 \(x_2\):9 _1 I1 _% y4 ^9 P/ c
   - \( x_1 = b - \phi \cdot (b - a) \)
, ]0 y/ X3 J3 y/ \! m   - \( x_2 = a + \phi \cdot (b - a) \)
+ R" S5 A9 z6 T& \4 f" s; w" P& B0 h
6 d2 o1 W( x* q. E, u   这些点按照黄金分割比例将整个区间分为两部分。  r( P# g) n; b& w5 _2 i7 W

9 k2 M' ]1 y  `7 k  a& ]; d; V; h3. **评估函数值**:
0 j9 f2 O# m& F) T+ ~6 X9 \   计算这两个分割点的函数值:4 E) X: ]2 H/ X* C& ^( R
   - \( f_1 = f(x_1) \)
. Y1 b8 u( n- q6 {3 I0 p   - \( f_2 = f(x_2) \)
- q) v% ]/ Z4 o/ ^% K, _4 l
) K" E" Y* p4 h5 }0 y! ?4. **缩小区间**:
1 o& p  q4 {0 }: @   根据函数值的比较来决定缩小哪个部分的区间:( u, _0 z4 H& N
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。; M' {% ^# x5 P' N5 [* s8 l
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。' P7 v  \: h) T( Z% P
2 u6 z2 g: R* t: f
5. **迭代**:
0 L9 T5 M+ [" m   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
4 |7 a1 l' V: o% R/ l) h
# ?" i0 }, J" s' B  O0 f6. **输出结果**:; x; C5 \! F. F7 K
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
9 d% ]% W. y# i
/ F9 a4 E" f- q### 具体示例
( A- F( Y3 j+ x: s8 Y6 x" \- k' u2 D
+ V# c; a+ H. l4 w% K+ q假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:- ?  [( M' ~: l0 l9 R8 c9 T0 S4 ?
: M# T" E, m4 V
1. **初始化**:' w! z. d4 k% |% Q9 o5 a
   - 区间 \([0, 5]\)5 Z1 z6 I) p1 H% d" f" G- H( Q
   - 容忍度 \(tol = 1 \times 10^{-5}\)9 w7 K. B2 X7 O( a  M2 f1 O$ c9 w& y
5 E" a- u1 c2 ^6 B' K8 J/ g
2. **计算分割点**:# {! c4 A# H( R5 E& O
   - 计算 \(x_1\) 和 \(x_2\); d* i. ^* _4 b% x
* A; f& D; I& R
3. **评估函数值**:
* k/ v: q: H! ^   - 计算 \(f(x_1)\) 和 \(f(x_2)\)
& {1 Q; M4 f2 U% ^% P5 Q0 E9 x. b+ r4 F$ Z" X
4. **缩小区间**:
: X0 L+ }7 W1 C- b1 I! B1 n   - 根据比较结果更新 \(a\) 和 \(b\): a0 a. A3 W/ H+ W

! d" M$ k  M8 S- i4 t7 Y, C5. **迭代**:0 U" n$ h0 R' C* N2 d0 v
   - 循环直到 \(b - a < tol\)  M8 ^" k7 X6 [
( R3 |! D. G  X' B2 `5 @7 g
6. **输出**:6 l4 a6 R: ~/ r3 h
   - 找到极小值点和最小值。4 t$ y; w+ _# z/ V2 L1 }. K

/ h4 A5 w' |+ r6 h0 {$ E" p) d, t### 优势与局限  q" F$ Q# x3 ?+ ~/ o* ^( R; S! l5 t
/ v2 u, E$ Q! C/ \7 }3 p9 m
**优势**:
5 D; M, d. r# C# c- 收敛速度较快,特别适合于平滑函数。  l: E8 ?0 F" U  K- x
- 简单易实施,对于不需要求导的函数也有效。
- Q- `1 r: d7 {# s9 V' Z
. I2 o+ m1 k6 G' ?0 K: n**局限**:
* N$ \! @6 o4 k& o$ z- 只能用于一维问题,对于多维问题不适用。
+ J) E9 n, {+ Q7 a$ O9 W7 V5 E* I- 在函数已有许多极值的情况下可能找不到全局极值。7 i9 f+ D- `: W6 `- M/ r

) a3 D' a" b1 k- \; P3 z1 o### 结论
9 F6 t0 \3 z+ S$ p
1 ]$ D6 \' j. g黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。
+ O) _: f9 b; w2 S! U! ~3 q- m% c. G
: \$ v; ^5 P2 ^3 w  v& [7 L$ f7 z2 o. n; V

7 M2 d& W) f4 E4 G' w

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-9-12 05:01 , Processed in 0.589799 second(s), 55 queries .

回顶部