QQ登录

只需要一步,快速开始

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

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

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

1175

主题

4

听众

2866

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-9-27 17:17 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
### 黄金分割法的基本概念2 ~; i: M) F+ ^6 Q( `7 N
* D4 n7 s4 Q' e- b" b& c
黄金分割法是一种用于求解一维优化问题(特别是寻找函数极值)的方法。其基本思想是通过在给定区间内选择特定的点来逐步缩小搜索范围,最终定位到函数的极值(最大值或最小值)点。
9 s, W/ a5 b: k/ s* G
1 Z) ?4 q& @( r% Q#### 黄金分割比- {0 e# P. Z- z" P

. z0 X6 e1 J/ x/ t) L9 p0 \* Y$ L黄金分割法使用的比例称为黄金分割比,约为 \( \phi = \frac{\sqrt{5}-1}{2} \approx 0.618 \)。这个比例具有优良的数学性质,可以有效地减小搜索区间。/ s. Z$ O8 v1 |/ o- \7 F

" `3 [+ o. r( t7 P### 实施步骤
# y% c3 F5 O# P7 x
: d- `  x" i' q0 n3 [1 r1. **初始化区间**:9 T8 d' U2 I! _6 W+ Z
   选择一个包含极值的区间 \([a, b]\),并设置一个容忍度(或精度)值 \(tol\),用于判断何时停止搜索。3 d+ Q  a: H' f, y, o
5 s" r0 f1 [$ P# {
2. **计算分割点**:2 R; f4 w2 M- }
   计算两个点 \(x_1\) 和 \(x_2\):
. n  Q  m6 k5 h0 X# E   - \( x_1 = b - \phi \cdot (b - a) \)
  B& I, k5 c. Z; F   - \( x_2 = a + \phi \cdot (b - a) \)
+ X: V( K* U6 L' }* d& ?! e  d6 U
' N$ ?- V$ Q( g) z" b5 [   这些点按照黄金分割比例将整个区间分为两部分。
$ j( t4 z( W2 h+ z" @+ F$ u7 q- H: v% e. |& z% Z
3. **评估函数值**:- p- T& w2 P. O- E/ K( v1 |1 M
   计算这两个分割点的函数值:) v! h# q9 h# c  K
   - \( f_1 = f(x_1) \)5 M% D" y" L3 A5 D
   - \( f_2 = f(x_2) \)
" a- U8 @$ t4 B5 Z+ `
4 x( s% D0 N& i3 k; g4. **缩小区间**:8 o7 F4 V+ F& t" P
   根据函数值的比较来决定缩小哪个部分的区间:9 H0 I$ Q8 f4 Y, Q2 |5 `% r
   - 如果 \( f_1 < f_2 \),则在 \(x_2\) 右侧的区间不可能包含最小值,将右端点更新为 \(b = x_2\)。! T' f+ {1 q  T7 z7 i
   - 如果 \( f_1 \geq f_2 \),则在 \(x_1\) 左侧的区间不可能包含最小值,将左端点更新为 \(a = x_1\)。
6 U# ]# `% w) [3 Z) O' b- y  P
0 W: S! Q1 C' M9 s5. **迭代**:8 M- s2 O. }8 V
   重复步骤 2 到 4,直到区间的长度 \((b - a)\) 小于容忍度 \(tol\)。
7 S8 L8 _5 u. j$ C
/ U0 r0 G2 ~" W; @. q6. **输出结果**:
( V5 ^" f1 P) F; N   最后,计算区间中点 \((a + b)/2\) 作为极值点,并返回这个点的函数值。
" G  S+ e/ c2 ?( F& L+ @* b. _' N% K+ R! |! {9 S
### 具体示例0 P, v8 c9 c/ i2 w& s2 x( V
$ j, w. w2 D- R, c1 e
假设我们想要找到函数 \(f(x) = (x - 2)^2\) 在区间 \([0, 5]\) 内的最小值。实施步骤如下:2 x( z8 e5 S' u. U% w
: H" y" q7 K) d1 k* h
1. **初始化**:
! R1 @: K  q7 W8 H' \! `   - 区间 \([0, 5]\)2 L. q; a7 ^" i9 K  r
   - 容忍度 \(tol = 1 \times 10^{-5}\)
+ p" ~' i$ E9 o5 Z' P! |* @3 Y# d% U) f
2. **计算分割点**:
' a  ]* E2 p& ?: m   - 计算 \(x_1\) 和 \(x_2\)
$ W  N+ \/ w) F/ k5 m/ g0 h$ G7 s7 h, Z
3. **评估函数值**:
/ J/ l% V6 o- T- M7 A9 O9 }  }8 Y   - 计算 \(f(x_1)\) 和 \(f(x_2)\)4 ?" W8 \  M4 y! Q) ?9 C1 P

0 ]  r# c1 G$ S4. **缩小区间**:
0 u2 `. p& f3 N; _% e" d$ Q, i( h   - 根据比较结果更新 \(a\) 和 \(b\)
$ }. E0 O  f/ P+ F
9 {- h6 l: t( n, P; h% u8 r5. **迭代**:# p2 W3 {- B% A3 ]2 N' v4 K
   - 循环直到 \(b - a < tol\)' {3 r9 a4 r" X7 a

. W( l$ k# |; |% w9 |7 _6. **输出**:+ m2 z2 X+ J. A- E* f2 p$ m: _& c
   - 找到极小值点和最小值。
. M6 Z0 I1 ]# R9 y* N, E
$ Y6 ~& {5 j. t8 }, J0 f### 优势与局限
7 {* }" d5 L0 v+ k4 i6 P1 P  ^5 O( V" n% t2 t# k8 ]
**优势**:& P$ r( d" i' ]9 e( m0 N# p
- 收敛速度较快,特别适合于平滑函数。
9 z) t6 z5 C, g7 s# S" u- 简单易实施,对于不需要求导的函数也有效。
1 D. {9 ?6 r$ l- m" W: t; k+ l' N) }5 Z$ d
**局限**:
5 P  S+ F" A4 W' P! N- 只能用于一维问题,对于多维问题不适用。4 I$ k4 o& t/ M7 j& Q
- 在函数已有许多极值的情况下可能找不到全局极值。1 q! k6 t+ W$ P; v; c8 r- ]

& y" E# @# O% m9 i### 结论! `) _4 \* P( ^' e

, j7 |3 y; E8 w  B% X6 d5 \) U黄金分割法是一种高效且简单的优化方法,适用于求解一维函数的极值问题。通过迭代缩小搜索区间,能够逐步接近目标收益,并实现优化。
9 a1 w  @' g* H5 Q0 e
' N4 {* X# c) S! [& B: y; k) C0 @! k
5 r+ R2 A4 t$ U, ]* d

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, 2025-8-18 19:09 , Processed in 0.402720 second(s), 54 queries .

回顶部