QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2923

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念
4 ^% y0 O; R/ F- u6 n4 C
- M9 g& m9 T& r/ F3 h黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
! C4 A" t- |8 H$ t+ E8 i3 D& b! o2 m
, T4 F% _1 a1 u& x; X#### 黄金分割比
: M" Z- d4 W' Z' D& s! j/ i
. v3 i& D8 v) S/ v黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
* h, L3 g+ C) z) i' Z- ~8 d
  ^9 C; s$ c7 u6 v### 实施步骤
  W. K1 C% @. u* T% V
) |" c1 i2 ?: ~! K1. **初始化区间**:- f4 v8 m" |$ c
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
* H6 O9 u# r/ b
) t2 e5 e! l- P; K8 j2. **计算分割点**:2 G/ C6 V) X. H" F8 _' W
   计算两个点 \(x_1\) 和 \(x_2\):( d; b' Y8 i. K) ]" S3 Z4 R
   - \( x_1 = b - \phi \cdot (b - a) \)
! O1 A; L' m9 h7 j4 e! H   - \( x_2 = a + \phi \cdot (b - a) \)
& w+ l4 s3 c. K9 v6 w& g! j0 F6 r& V: J3 t
   这些点按照黄金分割比例将整个区间分为两部分。
6 v7 h  @8 j% E& e) W. s. \6 E
3 l( D1 W# X/ G% X3. **评估函数值**:1 ]& k8 \, V9 V
   计算这两个分割点的函数值:
, {/ l/ Q, J* u. _   - \( f_1 = f(x_1) \)
$ M' t$ L4 W2 v) x! Q   - \( f_2 = f(x_2) \)
- `/ R9 A0 h5 S: H) ~( |/ F9 H% p9 T/ t! }4 {9 x" y
4. **缩小区间**:
+ |( X5 A  b5 ?( @4 \( i9 J   根据函数值的比较来决定缩小哪个部分的区间:
5 A5 Z/ D& L' B$ ]9 P   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。
6 A: y" u# X( V; O, k6 l4 N   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。- a+ ?. H0 q' h1 U% L& l
7 R3 N9 K# C  A! ^4 I7 E0 ~
5. **迭代**:! r+ \/ w0 S- N9 ^5 M! ~4 E
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
8 ?% j! k' L( I+ Z8 r! X2 s: D% |. `2 {+ Z9 E1 j
6. **输出结果**:
8 C: F" U7 Q" B* p8 a6 D! |   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
( U' o4 L) {/ V5 }1 J
, e" v3 M* K0 d9 b" w### 具体示例2 y- x4 W3 U) S1 q, n6 D
4 H' g. [8 ?% _* l; u
假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:0 J- P) ]5 q% t2 N

) {% G; y/ f5 B1. **初始化**:" H/ e( S2 ^  b& y& J
   - 区间 \([0, 5]\)  N. K5 _# E9 f
   - 容忍度 \(tol = 1 \times 10^{-5}\)1 a7 r3 A) P! J  T$ I4 n2 }

8 _8 L7 f- W. l& ^6 I2. **计算分割点**:2 v8 P6 \7 s* r' u
   - 计算 \(x_1\) 和 \(x_2\)
3 [2 G, S9 W2 I/ ?6 a: b& g/ ]
% i6 }* P7 E0 F& ^7 n3. **评估函数值**:
1 a' U: o+ \. q" @- {   - 计算 \(f(x_1)\) 和 \(f(x_2)\)
5 p7 [3 c; t7 A  G* I
+ V( N2 a) R) h8 x4. **缩小区间**:4 z& d8 s9 @- S. l% P/ z
   - 根据比较结果更新 \(a\) 和 \(b\)
6 S4 N- q& i* ?# Y+ g' D7 x$ y; v1 W% U9 i% G0 f0 p
5. **迭代**:7 G8 n" r, ~/ c& ]$ q$ R6 o) o
   - 循环直到 \(b - a < tol\)
2 l6 f5 Z% S" |% M3 L: T- c' R, n
; z( ~( y# B& T6 ~/ P' B6. **输出**:8 b4 Q7 z  l- a) S" }- l9 a$ P' r
   - 找到极小值点和最小值。
+ J, m4 |8 J+ f7 t7 g1 d6 h
. g9 X  M2 j; _( e! _### 优势与局限
4 ?# D' ~7 d8 g: @
  v( f) c, y' z: ~5 h. O$ b**优势**:
' e) b* k( R2 V( I' Z  |- 收敛速度较快,特别适合于平滑函数。
! \9 h( Q% w$ r; b# \! h- 简单易实施,对于不需要求导的函数也有效。% @0 v. ~/ Z8 g0 K1 G% |
; \1 i! }. X5 G5 h1 ]2 a: }5 @
**局限**:
3 L% t& A" P0 X# \- 只能用于一维问题,对于多维问题不适用。
% V  b) U; S9 n+ N- 在函数已有许多极值的情况下可能找不到全局极值。
& g( N% o5 t" A' u# P& |7 C$ s: a# J9 S
### 结论
$ V) u. M, a$ b- L" e4 b$ T& p
  H9 N7 d! U  ^3 u+ E- ^* Q1 M! k0 N! R黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。7 N( y* c+ G2 j9 m$ i4 l
, a+ @% a  d/ O# ^$ S6 b7 z0 e
4 K* S+ h, s3 ?, l/ [( r

' H* I: k9 t9 ~8 q. o: E

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-22 09:55 , Processed in 0.605781 second(s), 55 queries .

回顶部