数学建模社区-数学中国
标题:
数学建模:优化算法
[打印本页]
作者:
杨利霞
时间:
2019-4-10 10:57
标题:
数学建模:优化算法
数学建模:优化算法
1 y y4 i$ b0 \0 ?# G; q
优化算法
8 H, B7 h2 g6 g( _: U5 r
% u8 j* t( Z* H8 ?0 _+ n
数学建模问题总共分为四类:
' a7 U: {" A- T- b5 b# G$ T
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
, N0 v/ c3 x: o$ u8 t
7 B; s: a; r" n: A5 e, D7 @
一、粒子群算法(PSO)
' ?) i5 X: t7 a( i1 T V+ ~, o
# F1 l, ~% |3 [2 F0 q" v
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
" y/ c" a* ]# N) p _+ P
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
, k$ `) J5 ]' P; }
1 \( U4 o8 ~/ f W+ Q2 a( r3 ^. M
基本PSO算法
& |9 T" [, O; C0 o9 x, B
7 h( b; o1 @3 M5 ^/ X- ^! Z: a
D维空间中,有m个粒子;
5 N4 ], t4 d( ?3 ~
粒子i位置:xi=(xi1,xi2,…xiD)
! o5 |8 Q9 p8 A
粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
4 b8 \: g/ M8 z K
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
* S/ i; ?2 ^" z
群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD)
7 ?. i3 h! B4 V% S
5 ?2 M8 a7 `; a
! ^/ R0 ~+ y$ v
二、模拟退火算法(SA)
& f* J9 o: u9 d% x1 |0 U. r
& H: c# B* `3 o2 a
模拟退火过程:
6 i8 {- {* k, c+ H- k1 E A
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
@( G$ L# n# n$ r
热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
: ]. ]2 J" z- q5 s5 g9 @# n' d
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
' |1 e0 `7 G* X, K c9 P
/ L2 t* v4 w2 K: v
三、遗传算法
) Y! |+ t G& c) K/ h
% L' F8 {* Z+ M& S1 d
产生一个初始种群
], s6 L" X9 z6 k& f
根据问题的目标函数构造适值函数
, P" Q% E4 w$ n( G6 ` n
根据适应值的好坏不断选择和繁殖
/ r) Z& Y$ b9 a9 f2 q
若干代后得到适应值最好的个体即为最优解
) k: a" h) a U: ]/ f4 s
5 G% P$ J1 i4 ^0 @ w+ Y
四、算法步骤
( @6 ^! I6 z- S- k5 o# |
初始种群
$ q8 P; ^; u# v) }% y/ |$ v" x5 o& a
编码方法—二进制编码,可以对多个编码进行组合。
5 r: Q7 \8 X0 n) `
适值函数,往往就是目标函数,以值得大小为依据
) [+ @* x9 _% ~8 h Y( N: O5 _+ V
遗传运算,交叉和变异
: R2 {! d# p) y& |5 B
选择策略,算出适应度,根据比例采用转盘模型
0 J' @8 J- n8 m7 S# V/ h
停止准则
( Q# r1 \& W5 v5 m- ]; A) M
( o8 q5 y1 p7 V2 O$ ^: n/ M# L7 q
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
5 D' ]2 u' e' D, D4 w! q5 P4 N
! B* A0 w2 g, i! X7 }- }7 a
四、神经网络算法
1 J4 m, }+ i, F9 c; P3 h8 q
) d$ i! [5 [2 n0 v K: g
和机器学习模型中的神经网络一样,用来分类或预测
; n/ h# M5 {: Y/ R* \7 B/ _
U+ z! L. j; S; l2 o$ O
五、禁忌搜索算法 (Tabu Search)
4 o% |- m7 A& A4 [
! ^' W% y* {) V+ ]6 d5 d7 S0 V
又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
* j9 J% e" e1 Z. \
优点:
" W; [' |/ G* w! T
1、容易理解,容易实现,具有较强的通用性;
: ~5 V) E1 w5 P0 C
2、局部开发能力强,收敛速度很快。
! t/ e* t3 I4 z2 B4 @) f& J
缺点:
" v) `7 v; |; u5 t; q; l) d
1、全局开发能力弱,只能搜索到局部最优解;
: ^! Y/ B) u: P. w. Y# Y
2、搜索结果完全依赖于初始解和邻域的映射关系。
. ~! c) N A; `, [, _5 B
) o$ P* Z. y( E) q, A" `, b2 {
将不相同的n件物品分为m组,可以用的编码:
/ R2 Q; { L) R* Y! \
a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
% b+ Q0 I5 u: _$ c6 @) l: G
b、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
8 ~3 Y+ V+ s9 ^. d+ W
(2)初始解的获取
4 K) j0 Z/ M: [) k
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
& x& {( u$ L2 D6 }5 C
(3)移动邻域
: q. P$ h( d9 n5 O
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
8 E% [1 y; F0 A' C6 N
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
* W% T; |/ a# |& V
(4)禁忌表
, U4 P* ?: \( g4 D4 e- Z5 }
禁忌表的作用:防止搜索出现循环
/ o) z0 J1 j! Z
(5)渴望水平函数
0 E. |6 h" m8 Z3 f) F. O' J
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
8 }" d' J' e2 C# b/ P
- h0 @0 U6 e; t; o* x# F n) P- H
六、蚁群算法(AS)
5 x: `0 q( a& X* p( ?- z
- l/ t% C5 }9 f9 I
" _7 l7 A. D0 e; @6 M9 \
4 ]) y7 e0 {. B3 T* E2 e0 n
% j' p5 e7 x/ E/ s- P: Y; s
% Z3 \) f1 \5 o% g; T
& d# C& u, l3 b$ J6 n2 b; q" t$ m
6 h+ S9 U T$ U- E) P
, I U. U6 \7 Z) s
6 H S. k$ v. H7 n3 K8 W6 Y
+ V2 Y! v5 ^% s' |' a
` t' w7 h: `! y- C3 a0 E
2018全国数学建模总结.docx
2019-4-10 11:37 上传
点击文件名下载附件
下载积分: 体力 -2 点
17.26 KB, 下载次数: 2, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5