数学建模社区-数学中国

标题: 数学建模:优化算法 [打印本页]

作者: 杨利霞    时间: 2019-4-18 15:54
标题: 数学建模:优化算法
数学建模:优化算法
' `5 U) D5 s1 g* l. z) X数学建模问题总共分为四类:
0 h( G; s( a4 e' ?" Q1. 分类问题 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$ pPSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
8 J0 R' d* `/ H; L/ f! W" H8 r0 y7 Z, i7 A5 S: p, ~
基本PSO算法
2 c2 E* g# e: W4 Z
& o7 y# v! T) `! G# _4 UD维空间中,有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 x1 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$ d2、局部开发能力强,收敛速度很快。
+ 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 XA(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: s6 _* 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#_labelTop5 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

117.69 KB, 下载次数: 0, 下载积分: 体力 -2 点






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5