QQ登录

只需要一步,快速开始

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

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

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

1186

主题

4

听众

2922

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念
2 _' r7 A5 r9 _- K3 m5 f' u2 J' r; P% g( s+ b6 E
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
  ]) s$ Y% F' I# u2 P6 R% e' }! D; E% A
#### 黄金分割比0 M+ b8 z" T& ^2 q( b, ^; O1 |  P

* l" v0 Y% O; B) Q- z7 A. Q4 ^( I黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。6 j+ k' q/ }( R& ~8 _. s9 ]
( C9 h6 C! [5 }5 D5 a* @
### 实施步骤
- Y! m4 D) p1 \& T9 A1 m* {2 [# w$ ^) G2 |' Z/ C2 ?
1. **初始化区间**:
2 _7 g$ h# c2 L1 T3 `+ m% s" L   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
7 n2 d; \7 s9 r' k2 Q  J
5 K# m, q1 r  U6 V0 d- a5 W2. **计算分割点**:; i# P. M( e5 o1 O' ^' M
   计算两个点 \(x_1\) 和 \(x_2\):. l, V1 z, ^! j
   - \( x_1 = b - \phi \cdot (b - a) \)4 N' ?0 H9 c* l3 J$ L2 F
   - \( x_2 = a + \phi \cdot (b - a) \)+ c$ n* u2 [) B8 n: d5 R

; F* q. s6 t7 I( Z0 c+ |2 ?8 P4 Y0 t   这些点按照黄金分割比例将整个区间分为两部分。
' L* i) _) ]7 J2 e0 X$ U
; C" X; U% ?7 ?& S& `- e( Q3. **评估函数值**:, [' A* T/ g8 A5 x% t
   计算这两个分割点的函数值:
$ A, O3 r9 b% @( j8 Q) F  b9 R   - \( f_1 = f(x_1) \)
' t9 P& y% ~. w   - \( f_2 = f(x_2) \)
! @0 H  A! T2 l0 m2 `
# b7 L' F( P) A) r! X8 q1 i# N4. **缩小区间**:( D: S% p/ P1 N1 F2 [- d
   根据函数值的比较来决定缩小哪个部分的区间:/ q' C* f$ ^( k0 B( q) F
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。
! J1 [: I9 F  u; `7 |% E! X   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。: I$ X* H+ V) E  O
& H; D2 T* X; K. C; `$ w
5. **迭代**:
1 q! }8 E  y9 m9 E3 O7 O4 `8 A) h. s   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。. F  a1 h  ~2 t- E0 G

; }5 x% v" O6 C4 ?6. **输出结果**:  a! o6 ~3 k2 d' {
   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
! V3 v/ f, ^, Y) p! s& ?3 r: X0 S0 Y4 D! [
### 具体示例2 b& b( x$ w6 o, S+ G- u4 q
# m) x. N. G$ v, @8 l
假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:  x  \! G' F8 t- H0 d
; B+ o! z; }; `" ~! F
1. **初始化**:" r; d% b5 q% m4 t& d# ]  b. l* m
   - 区间 \([0, 5]\). x( @* W# G. [2 l/ I
   - 容忍度 \(tol = 1 \times 10^{-5}\)
4 m; u: E" Q+ X$ j
3 R  k1 [) \" h4 r2 V7 r6 T/ u2. **计算分割点**:4 H6 O6 W1 J# g! m8 _
   - 计算 \(x_1\) 和 \(x_2\)
$ d7 _. t; k4 i' q7 z3 r: W# ~3 G4 Y. {" A0 q
3. **评估函数值**:0 b8 C9 s8 f) C, U5 W: v1 o
   - 计算 \(f(x_1)\) 和 \(f(x_2)\)1 ], p8 i5 \  g8 I0 z0 C

2 n' o' ~! }0 ~# B% |: }( q4. **缩小区间**:; F3 e% Z  T6 P' b
   - 根据比较结果更新 \(a\) 和 \(b\)
4 v. Z$ b" \& U- V- V" Z4 }4 L; e# W) Y" e$ ^; R
5. **迭代**:" j( a) P$ w) l& ~8 S5 j
   - 循环直到 \(b - a < tol\)
1 ?# g4 X* A0 T# j( Q$ o# p! x. i* a) k, N$ b
6. **输出**:# l( a, x+ l3 `4 X0 T
   - 找到极小值点和最小值。
; \2 ?$ Z4 {. X% [9 `7 D- p: \3 k. s5 j) a, u% R. e; _
### 优势与局限/ }$ h7 o% h; ?' [0 M
# J" y8 M( w' E% H* W
**优势**:
" {/ c' M0 H" D$ ^' @4 k: z' L- 收敛速度较快,特别适合于平滑函数。
0 k# E; \4 e( {7 ?3 K  d$ _5 b- 简单易实施,对于不需要求导的函数也有效。
" ]; I$ n; H* ]$ ^  V, k8 k) s0 ?. E6 ^6 C2 _7 E
**局限**:' [/ m. x0 ^- n' k: ^. c$ D
- 只能用于一维问题,对于多维问题不适用。
. j0 L9 U$ s/ `" R$ n) M- 在函数已有许多极值的情况下可能找不到全局极值。7 g" B0 o  a# I+ J% h
9 p! |- t( M( f+ l$ a
### 结论/ y2 n% e. r5 r) G- n" V( m! y% y
6 ]! Q: v6 v' I2 c# i6 f/ e
黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。' D' n9 i7 H1 Q& S6 W  Q6 v

$ a0 S' l) s" e1 N/ b8 N* ~" D: {1 Z- C3 p" e) p! I2 u& N
$ v& @7 ]+ _3 ~

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-10 16:33 , Processed in 0.298164 second(s), 55 queries .

回顶部