数学建模社区-数学中国

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

作者: 杨利霞    时间: 2019-4-18 15:54
标题: 数学建模:优化算法
数学建模:优化算法
3 I) e+ J. j! Z- A5 E数学建模问题总共分为四类: 4 @* q5 P/ p' j5 H* ?
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
: p& q% z0 Z& k
# w' e) W  `# Z' h, V) w一、粒子群算法(PSO)) X/ U* R- B. S3 N& P
5 m* V# _8 l8 r8 _/ o
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。 ! ]* F; m0 r+ a4 D4 R0 b" l' ~" b
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。& y  X! f* u2 |/ @

8 s, L! w) ]7 b4 C基本PSO算法
; J/ l' m! ?, M6 ?  w. [- q% \$ `! q& z0 H- {
D维空间中,有m个粒子;
5 b& _7 T3 m) G* p- z$ I( j粒子i位置:xi=(xi1,xi2,…xiD)
6 c6 H5 Z2 }9 [' }! y$ {) W; g, d粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
5 t, t  {8 }0 b8 c* f粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
1 d3 H' f; I6 C& }+ [/ L群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD) % g- R% }9 s0 u+ A  {5 x' z

+ L" \! D! j4 I& N
$ O  c* G$ y6 Z! l' I+ y+ g二、模拟退火算法(SA)) `. x' _3 ^2 d8 Y' }

: F( E* P& i+ q" Q& j' A& M/ x模拟退火过程: 6 T, F( S* i# t
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
" X8 d% }/ ~' _& t热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
$ k" m8 ^; m0 O1 `4 o9 C. [2 d降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
. e; n( U# r% Y
, o7 u/ N7 t9 _0 i, ]$ l三、遗传算法/ ~* E1 V. _- R  ^" Q1 E
( f! t- X# S2 |$ P7 _
产生一个初始种群
. d. U8 t- j' g根据问题的目标函数构造适值函数
0 s* n& e7 w# @. n8 m- `根据适应值的好坏不断选择和繁殖 9 [- i& _" s. L/ o1 b- K
若干代后得到适应值最好的个体即为最优解
6 L. f( d3 o: h7 [  q0 m) X* I8 d1 O- w+ O, b9 ^2 [/ h* S
四、算法步骤 # p2 A& W$ }; A6 D) ^7 H2 y
初始种群 " T$ b$ O9 \  O
编码方法—二进制编码,可以对多个编码进行组合。
1 n3 ^+ }' [- y4 i+ s! l: z适值函数,往往就是目标函数,以值得大小为依据
# D' B9 D8 D$ \1 U' K遗传运算,交叉和变异
4 k1 U% T* D. I/ u3 o选择策略,算出适应度,根据比例采用转盘模型 + ]% u+ O  ^5 q! T# e# d, g  e
停止准则# r4 ^) r( i1 P( J, N
; B. J; b: J  ?+ }- r; \9 Z
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
% q; A) N  |7 s
1 l( R8 O5 J) ~; w1 W四、神经网络算法
1 r3 a, U. ~# c' m$ i' W* E% n, J9 R( `6 |' l2 Q
和机器学习模型中的神经网络一样,用来分类或预测6 n. O' ~, P( C. D
, j' D% {6 l0 E- o( U' E
五、禁忌搜索算法 (Tabu Search)
: G3 n7 w8 V! Z, @
$ q$ C, c. \0 J% V0 @& }6 l又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
; ?% k5 L: B4 c( o( W/ _$ D! d优点:
; w" t" H7 \$ ?) ]' l7 V" J1、容易理解,容易实现,具有较强的通用性;   ^5 u/ z' h. y+ `+ Q# T. R
2、局部开发能力强,收敛速度很快。
/ K7 t1 Q/ }, @$ a缺点: 9 y3 ^; Z) i% D( ]* X, R
1、全局开发能力弱,只能搜索到局部最优解;
4 p! z5 h' ?% U2、搜索结果完全依赖于初始解和邻域的映射关系。
6 S5 b8 r. D" b, q, i  ]* b6 }. o  Q$ p4 C. u/ k/ M
将不相同的n件物品分为m组,可以用的编码:
+ r# _3 A' {) W# V8 \  aa、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
( j) ]  v+ H% @, Eb、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
" I0 X: {# t0 S' K" \6 b(2)初始解的获取 . t* r, N% Z( k7 d! \( U, m: P' K
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。 % i1 I' U5 e" {, c0 q
(3)移动邻域
0 f( g& @0 G& ]# `9 k5 s' w6 p移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。 $ k' b7 A& z2 j) `1 g2 N! n
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
" @' h$ i- ~' a. r9 B4 }6 i/ }3 Q(4)禁忌表 ( U5 P, u, }- U3 |, u; n
禁忌表的作用:防止搜索出现循环
3 M6 f3 m% y6 v8 h$ h(5)渴望水平函数
( ^) A( v2 o; M& Z3 P1 vA(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))- t* a* `0 X; w1 N* x) H( s& f

" M3 D- [2 a% o六、蚁群算法(AS)
8 V0 n! A1 V4 R& B" O8 h1 T
6 `  Y( K1 h9 j$ F8 t- q1 E, b( d! E5 H$ E( }
参考:http://www.cnblogs.com/asxinyu/p/Path_Optimization_Tsp_Problem_Ant_System_CSharp.html#_labelTop' f. C; O; g' y
--------------------- + ]4 x& w8 _! w5 K) w+ C
4 }/ @# k+ ^- b3 c8 O( e) k

& Y  ^. j' B" A  r
$ M1 R' ~1 ?2 Q5 [! Q6 I; _0 [0 j6 ^& H

数学建模解题思路与方法.pptx

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






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