数学建模社区-数学中国
标题:
数学建模:优化算法
[打印本页]
作者:
杨利霞
时间:
2019-3-19 17:41
标题:
数学建模:优化算法
数学建模:优化算法
& J% @" T+ m( g
数学建模问题总共分为四类:
. ^" ^+ C3 `- s- I& W
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
, p" Z2 a: b. P1 i7 t
1 j/ X/ Y7 O: Q- D( {
一、粒子群算法(PSO)
0 O& d: B) r+ F
# |) ?! n& C' X/ ` V. S
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
% V5 n8 V3 g% e) |7 J0 Y" d' o" h$ X
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
, Z% C8 W' D% e/ A' k
3 k: W! X" L0 O1 _) t! U
基本PSO算法
; Q" g: c8 Q9 J2 r8 ?
8 J5 B0 C3 X9 H: z3 e: Z( t
D维空间中,有m个粒子;
8 w% ^: Q' ^" G" R4 V1 h* E
粒子i位置:xi=(xi1,xi2,…xiD)
3 ]% ^. v& _4 O6 D
粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
4 M' r) z+ _% @4 W
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
0 P" z9 k# c, @) |- \% x2 T; d
群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD)
, y/ T+ f7 v; ? O; r# w1 K
* `8 h5 m5 T/ H' ]
: [# n6 F' n& ?
二、模拟退火算法(SA)
2 F6 i% G+ Y% r. l' Y% H _$ ]4 C
2 K/ K, C8 L9 x5 @0 a% j0 _) N
模拟退火过程:
! i5 @& {0 ?$ Y/ m5 I
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
+ E, Y. g: V6 o% [2 g; y# ^
热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
6 p) a) t8 }7 h2 Z, v; c. I
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
p/ I9 Q$ f i0 G! b# d+ Y1 Z* ^
7 r j1 A, u$ ~# v' ], |
三、遗传算法
. Y2 N8 z' {. ~! p) V/ ?, m
# J6 C! K+ @, l5 Y; g# D
产生一个初始种群
: r) X" l$ l! N8 s# A9 P+ l
根据问题的目标函数构造适值函数
0 v# B* J% t3 v8 W5 Z
根据适应值的好坏不断选择和繁殖
/ H- @2 P" J& y/ m/ M; K4 B" g* r
若干代后得到适应值最好的个体即为最优解
9 i) h% r$ q" J. _
" X" G; n. }! D0 d0 P
四、算法步骤
) l R* ?" }- h# N$ K" X% c
初始种群
\6 l2 c9 G8 ]2 T4 q4 J
编码方法—二进制编码,可以对多个编码进行组合。
. u7 D4 _# I: n/ S) i3 H+ A
适值函数,往往就是目标函数,以值得大小为依据
& c2 |+ j$ z7 H$ l9 u
遗传运算,交叉和变异
. i5 S% k, n7 \
选择策略,算出适应度,根据比例采用转盘模型
6 m4 A! d1 ?! k5 X2 L" ]
停止准则
( v) @" ^. W I1 F
8 Y6 [4 I. h$ t8 i
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
) Q, R+ e: d5 x
) \' t# _9 A$ A+ M$ q' x+ n; y
四、神经网络算法
3 @$ J& Z0 ^0 H; ?2 Z7 y4 y1 k/ F
7 v T. c8 _9 O1 l
和机器学习模型中的神经网络一样,用来分类或预测
% z. z8 E, |7 W( m
7 K1 |& @! q0 M" R/ l7 d
五、禁忌搜索算法 (Tabu Search)
. I. y" `6 Q" \7 \' x$ y
3 y! M2 Q& i' f. E5 X b
又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
* ]& |) e9 M" f+ ~! L4 w9 E
优点:
/ v; Q5 S; M# _2 _8 J
1、容易理解,容易实现,具有较强的通用性;
: Y1 C$ c4 z8 m" X" R8 y( r: [
2、局部开发能力强,收敛速度很快。
/ \, G) }4 k6 ^ q( E% _+ e; f2 T
缺点:
" V$ d; _! X2 Z: w. n! A2 O, @
1、全局开发能力弱,只能搜索到局部最优解;
: I% F h& n7 p+ o+ _, i0 R$ n
2、搜索结果完全依赖于初始解和邻域的映射关系。
* L) u% j/ A5 K, F; s+ F1 ~0 @# P0 K
; f1 }7 d5 A; ^8 E n5 _, l- q
将不相同的n件物品分为m组,可以用的编码:
, n7 @0 y. @6 K' I2 K
a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
. G8 d# R# _- W6 O& x
b、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
4 t; Z2 w2 s3 N
(2)初始解的获取
3 G: c, `- g) n
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
+ m+ x5 ~, U R; t5 b
(3)移动邻域
{. \% C/ c9 D3 J+ `0 @
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
$ }% B* J* u" }8 c; y! d& B
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
. D( l! i& A0 P+ \0 F! p: c2 A) F
(4)禁忌表
+ v5 M9 _/ A( I# Q, n7 H
禁忌表的作用:防止搜索出现循环
# K; I8 t0 x! K! M) X+ i( O1 L3 }
(5)渴望水平函数
: I1 ~8 z4 n) p- `* Q* {
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
2 g0 G+ u1 y. C; L" G6 o) }/ Z
7 b/ i1 [; _: m, G: x; r0 p
六、蚁群算法(AS)
# r" k/ @ |! z7 Z, w. t
/ [* P( A! x# f: x
9 ?, K# ?* s) @
参考:http://www.cnblogs.com/asxinyu/p/Path_Optimization_Tsp_Problem_Ant_System_CSharp.html#_labelTop
2 M2 }4 m0 V i4 r* N; S) }8 Q
---------------------
" V/ N* Z' K% w; G* x5 @1 q
作者:_朝闻道_
2 f; j8 A! F7 ]
来源:CSDN
4 L$ D( \$ u+ Y+ V
2 ?( {' d+ y* X% e b
! L+ i( D6 S7 U3 g% w0 g
/ h6 t# _. g; F. `
1 T: L+ g2 _( }
16种常用的数据分析方法汇总.docx
2019-3-25 17:34 上传
点击文件名下载附件
下载积分: 体力 -2 点
20.53 KB, 下载次数: 0, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5