数学建模社区-数学中国
标题:
数学建模:优化算法
[打印本页]
作者:
杨利霞
时间:
2019-4-18 15:54
标题:
数学建模:优化算法
数学建模:优化算法
' `5 U) D5 s1 g* l. z) X
数学建模问题总共分为四类:
0 h( G; s( a4 e' ?" Q
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
( w2 L; |; i9 v7 F# `
# j! J# k! K0 s* _) P1 f
一、粒子群算法(PSO)
- o K' U0 D7 j+ ^ [0 [
& X; O; n% h0 g2 L" ^
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
9 ~9 {* ?' w2 V( m# T$ p
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
8 J0 R' d* `/ H; L/ f! W" H
8 r0 y7 Z, i7 A5 S: p, ~
基本PSO算法
2 c2 E* g# e: W4 Z
& o7 y# v! T) `! G# _4 U
D维空间中,有m个粒子;
+ |! W) e" Q2 c9 ?& e! \ i9 q
粒子i位置:xi=(xi1,xi2,…xiD)
$ B2 |- }6 G# _0 e9 N' c
粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
: ]5 H$ P- m6 a8 w
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
2 ^% c/ V5 Q4 Q! O" L5 O4 K6 F* S
群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD)
6 W: f' O( _7 W2 y* o ?- f. Y1 U% W
' K" j: o" `* {0 m
1 {8 [, v5 ? A5 O" o ?
二、模拟退火算法(SA)
- ]0 ]9 Q+ V/ U2 d
( S9 A! u: Z) \
模拟退火过程:
: D0 z8 {' M. k, }2 c/ Z
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
9 v7 ~& k: J: k. c ]
热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
. d$ ~9 O! X5 c+ A7 Q+ l; Z+ s
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
7 f+ L; p' V; R$ z
5 @5 v& X# b, v' U& C O3 U! E
三、遗传算法
- I' Q6 [6 D6 }% p$ H8 z8 E$ N
- V! D6 E8 c; t
产生一个初始种群
2 Q, L; l' u& Y9 Z* ~& u
根据问题的目标函数构造适值函数
6 o. c+ R% _( z! |+ t/ I# e
根据适应值的好坏不断选择和繁殖
: r4 w2 [+ _/ [+ ~' ]% b& W J8 T" `
若干代后得到适应值最好的个体即为最优解
\4 S( R4 T0 y9 p9 {/ ?
/ s/ I* I' s+ a
四、算法步骤
2 c+ B0 U0 O' H: f* L3 G
初始种群
; w0 U* R* e8 k/ C! B
编码方法—二进制编码,可以对多个编码进行组合。
( ~ l3 C5 E! A" ?. p8 @7 @
适值函数,往往就是目标函数,以值得大小为依据
$ t) K3 U# @' Q3 P
遗传运算,交叉和变异
! K0 ~0 g' f: E+ Z. F$ Z
选择策略,算出适应度,根据比例采用转盘模型
q( o* m9 M8 e8 o V# }
停止准则
( {; O- T4 w+ Z+ }( F6 x
1 A4 d# B+ t. @" i# f& U
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
! [3 m- N, O& b; @. [
3 o% o' x2 |9 m! G, S4 l) `% q
四、神经网络算法
* F1 _. B. U, t
3 L. s. K* a# p* q( T2 D7 X
和机器学习模型中的神经网络一样,用来分类或预测
& P* s2 r0 [5 {- P
' G) P% g: Z, l$ a; j4 J
五、禁忌搜索算法 (Tabu Search)
& g" b' V5 s ]
. s# \# H4 ] | c. t8 w
又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
# t* P( l# w( j
优点:
8 X0 s* D% d4 _: b' w: s. L/ u
1、容易理解,容易实现,具有较强的通用性;
2 D9 |$ T3 @5 J4 h; p7 j$ d
2、局部开发能力强,收敛速度很快。
+ a9 R0 L8 }# G
缺点:
+ d) I; V$ @) @% W0 o/ K
1、全局开发能力弱,只能搜索到局部最优解;
3 J% l6 g( ?# ~* ~
2、搜索结果完全依赖于初始解和邻域的映射关系。
6 g8 \) f& O5 q7 N8 f
! y9 J" ?/ Q+ E% e& _
将不相同的n件物品分为m组,可以用的编码:
/ Y, F- O& s' Y6 J0 J/ r
a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
) h$ i% ^2 e! f9 I# B/ p7 V# x& C d
b、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
. j1 x9 i; ~- @( ~
(2)初始解的获取
0 D! e2 }' R' E8 y' x) k8 {( C
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
' _3 O, F4 l6 D$ W1 Q
(3)移动邻域
, E$ D0 U1 E! P- ]2 l( o! i# `9 q. j
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
7 i: |* x; l, j& R
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
# j9 f' ^2 X8 v% q& P' ^' H) d
(4)禁忌表
1 W4 t, J9 H5 N9 E0 N
禁忌表的作用:防止搜索出现循环
" z- N5 l3 l2 f1 q" h `, e, y
(5)渴望水平函数
2 R' f. ?) s2 }( R1 X
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
9 |4 s' ?1 V: U
9 \# }7 f! k# b5 y& T- s, t; }! R; G, G
六、蚁群算法(AS)
' {+ K7 O0 u3 P: s
6 _* j J7 V+ J; v5 U
s+ t9 `( s, p& ]1 R
参考:http://www.cnblogs.com/asxinyu/p/Path_Optimization_Tsp_Problem_Ant_System_CSharp.html#_labelTop
5 T2 d7 r$ Y, v ?
---------------------
4 {5 D/ e( c+ ]5 ~7 p
: I' f+ i) e7 Z
/ B& L& }9 n6 Y/ S
9 @8 M0 f" z% p/ r
x( R: R3 ^( v, J7 ~
数学建模解题思路与方法.pptx
2019-4-18 15:55 上传
点击文件名下载附件
下载积分: 体力 -2 点
117.69 KB, 下载次数: 0, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5