数学建模社区-数学中国
标题:
数学建模:优化算法
[打印本页]
作者:
杨利霞
时间:
2019-4-18 15:54
标题:
数学建模:优化算法
数学建模:优化算法
* x- E/ t D2 c2 q7 n: [% k
数学建模问题总共分为四类:
, O' r% A( W; J: K' M4 f: Y
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
9 Y' Q# n: g& n3 s; f% u" l; _
, f; H) S4 o* m6 j4 T
一、粒子群算法(PSO)
( r: W6 L2 H# d" _8 \$ D
% R$ ]8 S- g8 L. ?( v
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
: ?, t6 i `! P1 G' I& m
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
1 j! P5 m A$ k$ y* }
4 Z9 G' `0 `6 Z9 N- P. ]% @
基本PSO算法
% C T2 z- E1 O! A$ F- R
% Y0 U% O4 n: h' R
D维空间中,有m个粒子;
8 |) V' l6 |+ Q
粒子i位置:xi=(xi1,xi2,…xiD)
' C$ w/ q0 A# p8 ]6 ?) b
粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
{ q9 t9 ?4 I H
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
) h9 M6 H, r7 Q1 q4 c9 K4 _: ?
群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD)
/ e* D6 O M! ? ^
5 {1 w0 ?6 C9 W" I* y* }
' E& I! E6 {; f( g4 L+ L
二、模拟退火算法(SA)
+ n3 m& q* g3 }; ~% q4 H
- o0 n2 F: u7 ~" K
模拟退火过程:
; }5 g7 l+ [6 ~
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
6 ~8 E3 ~5 y" h! j% f% d: k
热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
% E* i1 q- q1 B0 [3 n
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
" m3 d( P$ R; w0 s
# N* b5 R- @+ X& u# ]
三、遗传算法
0 B& Z( x3 [( n8 p8 w& B
?- l$ c2 J0 H6 Q1 |# t. N
产生一个初始种群
3 w4 O; @. \- m
根据问题的目标函数构造适值函数
2 Q# o S( I1 F/ r* Z
根据适应值的好坏不断选择和繁殖
- |; W6 z0 |0 z- H/ `: c& F5 y
若干代后得到适应值最好的个体即为最优解
' |; `' [9 X! T; P8 d+ w. N
5 z: {0 j3 M) l* l& f
四、算法步骤
. D2 {5 k( n6 B( o
初始种群
. \$ Q& k) `* z' W/ i0 i) |
编码方法—二进制编码,可以对多个编码进行组合。
" [6 J' t7 U4 }1 [8 |
适值函数,往往就是目标函数,以值得大小为依据
7 _1 E- H' i# ~8 ~# h
遗传运算,交叉和变异
1 z# |4 @6 l" S2 {: d& P/ b+ [
选择策略,算出适应度,根据比例采用转盘模型
* z; b5 W8 _) l' X( W a! C
停止准则
7 L8 X1 g( U% l- j' H
$ a, U+ k- y# f, ^1 M; z$ u# c- ?
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
& _6 h5 b2 L3 B! ]
$ u$ |4 z3 u4 `9 {& R* O6 C
四、神经网络算法
- Y5 Y. D9 E3 \; N
5 X& w' `' M# _4 b8 i+ A
和机器学习模型中的神经网络一样,用来分类或预测
/ l) n- A% ]* Z: o/ y1 ]
& J# w% y( {% i( F; T0 U' Y
五、禁忌搜索算法 (Tabu Search)
0 _' k! ] X8 \
0 M% _6 s L& F0 L
又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
3 r& @& x9 m2 ~" _0 D/ n
优点:
3 |- E0 n9 s* m
1、容易理解,容易实现,具有较强的通用性;
! c6 ]+ r: H# D3 u2 g4 |+ K
2、局部开发能力强,收敛速度很快。
, V$ L b' O6 [% \
缺点:
, v0 a% G) z' \ ]4 [
1、全局开发能力弱,只能搜索到局部最优解;
1 P4 q1 o- `0 z; E, O- u, N$ r
2、搜索结果完全依赖于初始解和邻域的映射关系。
5 l; [( a1 f) Z- U- T3 R
( {/ {2 D9 \1 `" H6 c4 g% T
将不相同的n件物品分为m组,可以用的编码:
7 z3 q- i0 k! H" h
a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
1 c' `1 U0 `0 A& W) M6 ^- s8 j
b、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
3 C" P" W5 C. m# N
(2)初始解的获取
. r# D; H9 o7 {: q! z+ I
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
; x2 O1 _5 A5 p' [# _9 W
(3)移动邻域
! J5 V# { H5 f- |4 l6 z4 a
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
" s3 N, a7 M( N- u3 W+ o
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
3 B% r' T- y3 C# O* g
(4)禁忌表
: o" Y9 S% c- Q2 C) n4 ?
禁忌表的作用:防止搜索出现循环
, i9 |$ \5 ~, V: y. }) `
(5)渴望水平函数
7 o `- L- \, N; E% [4 R: w3 V0 k
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
h m0 x7 P9 N
( X5 R# |% |2 h: k% p. L
六、蚁群算法(AS)
0 A& X" B6 @7 r" J* X% d5 M2 n
* S5 i' e( N+ ?6 ?
. p' Y! w$ f* f
参考:http://www.cnblogs.com/asxinyu/p/Path_Optimization_Tsp_Problem_Ant_System_CSharp.html#_labelTop
4 s* \: y- k. b
---------------------
3 J' s3 t" e: s# R9 |' k" F
{8 o, @" @! u" Q* Y3 L2 j, M
" A9 j1 @. g4 p
u7 C: g3 [$ l" O* _% s0 o* {" i7 b& ]4 \
. \' [8 W* d0 ^3 E3 {
数学建模解题思路与方法.pptx
2019-4-18 15:55 上传
点击文件名下载附件
下载积分: 体力 -2 点
117.69 KB, 下载次数: 0, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5