QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |正序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念
) _  O0 J* J2 [) K3 Z) i
9 U$ H7 @6 a4 x6 y) d7 R黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。) T" H. n& p# n4 v, i; @; g- {

) T% B* m4 c7 w/ i- C#### 黄金分割比
0 D4 K' K; x  \, m7 m1 M3 L" p9 n, ]. h8 c: T5 Y, a1 q% w, }& K
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。. S* o1 [( l( c
4 M* ?7 n9 g8 \/ [# U
### 实施步骤0 e6 }& k) f" ?/ L  a) X

' M* c& D  }$ V1. **初始化区间**:% C- ^% j4 Y4 p2 A7 b* k
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
" k2 G9 u# Y& x5 }3 j6 e4 _5 J9 X" s' u) {" `
2. **计算分割点**:0 K2 k' Z3 }$ I5 N( X- C6 r% @
   计算两个点 \(x_1\) 和 \(x_2\):
' G$ v3 ?" L4 O- x. O3 A   - \( x_1 = b - \phi \cdot (b - a) \)3 j  }8 r5 Z7 u
   - \( x_2 = a + \phi \cdot (b - a) \)/ C% l. Z# x) p- Y1 s7 e

4 s0 j: m6 R- L" y7 x   这些点按照黄金分割比例将整个区间分为两部分。, p3 h6 |8 \2 B/ \, T2 o
# Z3 t! T3 t7 z2 P, {1 c9 U' b
3. **评估函数值**:
  z, n+ f9 U: U) K! q$ \5 a   计算这两个分割点的函数值:- y1 b* r  w* W4 }5 y
   - \( f_1 = f(x_1) \)
( X6 j3 S  C$ y8 e% Q   - \( f_2 = f(x_2) \)5 U" W+ F& V/ L& P1 p: t7 E: I
6 W( G0 E' \: ]8 r/ }) ]
4. **缩小区间**:/ B1 D8 ]" k) ]
   根据函数值的比较来决定缩小哪个部分的区间:7 U8 o/ T1 V& A1 ^; `- z, F9 m
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。0 z2 m6 K' z! B$ p& n, `1 t0 i# I
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
" X; N5 |+ ]8 n9 D6 R, B* h% w+ k- `8 d/ C  r
5. **迭代**:( H; g8 e* o. q& B# ?# P# n; Z( J
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
. M8 F4 B! [+ W8 }  v- s, S0 I+ G% H% g- Z5 d- k3 r: G
6. **输出结果**:
# B4 O+ [# q5 ?+ I9 y7 Q3 T! V   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
% P9 F* a4 h5 g6 ^! R
5 |: I1 w" h7 X# n8 m### 具体示例
8 J+ ^& \3 B! P; K
5 h9 c& g( C4 w0 g+ _* R/ D假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:" O! p9 U# Z$ h4 E3 Z' ^$ x

; i/ @3 d- [$ [8 F( }1. **初始化**:
  H3 |- b  m6 |7 h& t+ N   - 区间 \([0, 5]\)
! _" |+ }: K: y  z* H" K& s) u( J$ H& I! k   - 容忍度 \(tol = 1 \times 10^{-5}\)
6 r% e" V5 a8 J" L9 n, V4 F3 g4 z
2. **计算分割点**:
1 u8 c# T% G1 W2 X   - 计算 \(x_1\) 和 \(x_2\)& m8 g  t. q% W8 v2 d5 |
/ T+ h, t& R& m5 t; X9 e. e$ \6 W
3. **评估函数值**:  Q9 h5 ?$ m7 r0 Z: i
   - 计算 \(f(x_1)\) 和 \(f(x_2)\)4 J( p; m) j4 Q/ ^1 l/ G! y/ v

. ^. I5 @( }% L9 q/ p' U4. **缩小区间**:& N6 i' X( J- w! l
   - 根据比较结果更新 \(a\) 和 \(b\)
  A" j( b8 ]" [" |* a" g' |. f+ \( q8 i+ e/ o0 `9 ?5 b
5. **迭代**:+ c4 l2 v4 l3 \% Z6 t9 S5 }' f* _
   - 循环直到 \(b - a < tol\)7 N9 Z6 Y5 U6 ]& L4 |

- k, _3 T0 P9 f* O8 a# G6. **输出**:
1 m, J* `4 o6 u+ A' _& @   - 找到极小值点和最小值。
! p4 w( a- |! W. M! Y
; C( a$ P) e5 A( c### 优势与局限
( J! h$ r3 }+ |6 D* P! b# ]$ l/ U- {1 V. _9 |+ n% R/ g# N0 ^/ J
**优势**:2 P& k' P% n( O/ A
- 收敛速度较快,特别适合于平滑函数。
! H% @4 E- E0 k6 L$ O- 简单易实施,对于不需要求导的函数也有效。
5 H% j' ?. R4 b1 V6 D* h2 {! [+ W
; U  O0 B2 B; V; f9 M**局限**:3 c! o( R+ P3 j2 _  r! ^# [
- 只能用于一维问题,对于多维问题不适用。! Q, S) \% a% `5 O( \
- 在函数已有许多极值的情况下可能找不到全局极值。
. ?: l7 ~, Q) N8 M
+ u5 {) \3 c$ _; W- N( x### 结论
' P6 w, t! O5 t& e1 ]  v; b. p' y. k4 G8 N+ t5 {' o" e
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。0 T# e0 Z/ x3 I$ p8 ^6 l# V( i
1 g  o$ P" T: t! Y4 E/ P3 x
9 y( N4 @7 [4 d* V
5 `. q, Y# U6 J; 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-2 23:39 , Processed in 0.277140 second(s), 55 queries .

回顶部