QQ登录

只需要一步,快速开始

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

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

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

1189

主题

4

听众

2934

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念9 [6 ~, c2 }+ u) N7 @

  K4 `8 O. `. [. K) n0 s4 b' v黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。: @2 D/ M; [& L2 z/ H: Y3 A

  d% m+ P9 P% D8 y$ R* j2 f#### 黄金分割比
" n$ E4 I: f/ C! z: Z. ?0 a3 C3 ?: f) k* s  j
黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。
9 `# A: v+ `7 c/ a& N6 h0 j0 K4 X- R- |
### 实施步骤
) q2 Y% U: P4 X/ m2 A. b
1 _4 _7 n' g: d$ g) \1. **初始化区间**:
/ p/ T2 ~% H9 Q2 t  l   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。
4 @: h+ {" k; \6 ]2 y$ V# _; A& f& [2 f5 a4 v( Y! I8 `
2. **计算分割点**:( c4 p0 \6 p) g
   计算两个点 \(x_1\) 和 \(x_2\):
9 P4 O3 O+ _, e   - \( x_1 = b - \phi \cdot (b - a) \)
* a3 J7 S5 V7 c% U! C   - \( x_2 = a + \phi \cdot (b - a) \)
5 Y) V& j! k' `) P
( k! o1 E7 P2 j" r' `' m, Z1 L6 g% W. u   这些点按照黄金分割比例将整个区间分为两部分。
  ~3 l9 b& F- V# }9 `6 r5 M0 a& d1 t, j, i6 J3 A  ?7 k
3. **评估函数值**:2 Y; V+ C' h* {9 }7 l! s# ^# ]$ I
   计算这两个分割点的函数值:+ t# ?9 u9 ]' A: ]6 S
   - \( f_1 = f(x_1) \)0 H4 p' s/ {. B- v% T" ]# \
   - \( f_2 = f(x_2) \)' T* n) s3 F, w" {. F5 ?6 ^; [

( c. F! u0 _' g; P2 ?% i4. **缩小区间**:
( Y% S7 ?" u  d- ?, D   根据函数值的比较来决定缩小哪个部分的区间:
; w3 ?, {0 Z" D2 [& Y8 `& N   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。
0 P- T1 z! E/ E1 R5 c. t   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
) C) Z: J! A* o0 w( M+ E& R, ~, m* i: B2 N; X# A
5. **迭代**:! D+ e5 s- A8 L8 Y
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。8 P# B9 n$ R7 x( `% @. E6 ^
8 P! }4 s9 P# J' v, W  N
6. **输出结果**:
/ B1 i: |- X) \1 m2 Y% {   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
0 Y- c, }; A3 n3 S2 g1 ~$ `1 L2 s7 d" t3 c4 R) h1 ]
### 具体示例1 H) {% z8 U% ~, U! ?

, k+ G$ j) ]! I# X) G' [& P4 M! H假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:
  ^- `: L8 \  H* x6 {- V' l
: K7 M) P0 z4 E1 r8 z# k; n1. **初始化**:
4 a" \+ k3 D3 x2 M. Z5 f3 @   - 区间 \([0, 5]\)
% _) D2 p# E/ b9 \   - 容忍度 \(tol = 1 \times 10^{-5}\)4 C3 D9 F3 ?9 h8 k  I
5 H# `  x# O( A2 x3 F# Y
2. **计算分割点**:
* T" [0 V/ t+ I; m7 p. [   - 计算 \(x_1\) 和 \(x_2\)
% s, s+ a5 f+ z# `
3 b' P4 I7 s* s" s" e3. **评估函数值**:
# w( u( n2 ^9 }8 K8 K2 y; ?. n& R   - 计算 \(f(x_1)\) 和 \(f(x_2)\). E3 m/ A. g' H9 L, |9 i
; }# X6 l8 r5 C& y& d# M
4. **缩小区间**:# N, B! Z9 O. D5 D" Y; ?  T
   - 根据比较结果更新 \(a\) 和 \(b\)
, [* M8 ]# K7 Y' W' v
4 [& v' v7 X! o2 V' g4 M7 {5. **迭代**:# s- j. a: R: `+ {
   - 循环直到 \(b - a < tol\)6 t' d6 q, Q/ d: r; ~' {/ q

$ x/ w% _0 h, S6. **输出**:
1 ~6 C2 ], ^$ r/ m   - 找到极小值点和最小值。, M- n# P; ~! P3 z7 V+ e

5 \' p" N3 G/ n% L### 优势与局限
4 X' [& Z+ ^' a! j. ^, C) E7 B
; w7 E! v# q& m5 t**优势**:
; D! O4 d9 ^( q; T$ ?- 收敛速度较快,特别适合于平滑函数。
! t& x; p3 ~3 n; x% J$ E6 G- 简单易实施,对于不需要求导的函数也有效。  e4 a/ n; D# j" j  U* O: s

! W/ ]/ |: w: H2 i  @- x, [) N1 i* O; j**局限**:. `2 I( a" {- p; S
- 只能用于一维问题,对于多维问题不适用。
  u# J( L& `- `' o  q8 ]- 在函数已有许多极值的情况下可能找不到全局极值。4 h; G/ `- h+ o" n$ P  S

3 c& |* w) W3 V9 m5 F# A  \3 K### 结论) Z# T7 C( E: b* B, o

0 u; A2 c6 v: A  S9 a- U, E黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。
! l5 A- I  h9 l5 B) B" L" E, ]2 T  n2 s

0 p4 F. ^# |% K: S# K9 u1 j, V
* `) d1 K# d# {9 A, o

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-5 01:29 , Processed in 0.370962 second(s), 55 queries .

回顶部