数学建模社区-数学中国
标题:
数学建模:优化算法
[打印本页]
作者:
杨利霞
时间:
2019-4-18 15:54
标题:
数学建模:优化算法
数学建模:优化算法
- L, G9 Y2 T2 G
数学建模问题总共分为四类:
( w! \1 p/ S \8 _% e
1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题
% f' [( F5 l: ~& H3 i
5 U% F$ o; I* @0 m) @& d
一、粒子群算法(PSO)
) E. A/ x# J1 u* b$ Q
6 `4 R+ |/ r0 }" d; f
算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
% ~1 O: e( O0 L" w5 m
PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
3 p2 d, c2 d# N
. O' I' d1 L4 P* v
基本PSO算法
$ X' i) V7 o6 D
2 m3 T0 ?( ~6 x# ~
D维空间中,有m个粒子;
; z# b4 y) n; Z( p. t, [
粒子i位置:xi=(xi1,xi2,…xiD)
; Y8 ^' U% k1 L* P8 x; y g
粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
/ x! V0 {1 A' f9 a/ r+ ^8 ^
粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
! U( x# S5 H. s7 P
群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD)
" K( x' x9 B2 w# e
: a. ^$ h" J% Y6 D
" G) W* D3 U& }9 U# n z' H. G
二、模拟退火算法(SA)
( c ~! W+ d& z$ `) x; y
2 l; l. Q7 H1 I( L( n) q" s& U
模拟退火过程:
4 a9 p( W" D8 b) S
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
- s1 v2 O! ^" m/ _* M
热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。
* O* h/ U4 w) b2 o% b" y( C, }
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。
5 W7 E W5 t$ I9 ?
6 X( U/ C9 j: K& f! R
三、遗传算法
3 V) ?) \# a4 y6 p- d2 x* y
2 N/ N4 N+ h7 E: ?% z g1 Q+ ^' ~
产生一个初始种群
0 L0 N7 s2 H- |
根据问题的目标函数构造适值函数
( L3 m9 G h# l5 J) b( h5 K
根据适应值的好坏不断选择和繁殖
! i& Y: e6 F5 C. J+ E! h
若干代后得到适应值最好的个体即为最优解
- o6 W/ v3 y5 }/ i8 |7 r# U: [
. d4 }8 l; X( Y. M
四、算法步骤
" { j+ Y7 E- P$ O; a
初始种群
" Y7 I' ?3 o9 D* `1 q: U
编码方法—二进制编码,可以对多个编码进行组合。
* _3 w9 U7 |3 I' _
适值函数,往往就是目标函数,以值得大小为依据
9 r( f( D$ h8 f8 ~+ v9 @
遗传运算,交叉和变异
) Y! C* U$ L) B2 R
选择策略,算出适应度,根据比例采用转盘模型
/ W4 A2 p- V# T% p+ z3 U
停止准则
" N* Q" l3 g6 c- v
" |8 g! T# Z' y7 x+ f
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
. H; p6 [; \; g6 b- V% I4 |* W
7 x7 D) E7 X9 t1 G1 N
四、神经网络算法
|5 j" u" B% [% s
& U9 @% @: F7 E
和机器学习模型中的神经网络一样,用来分类或预测
+ y9 q; V$ b3 U K
7 P5 ~2 Z, ]+ C
五、禁忌搜索算法 (Tabu Search)
, q& O1 c$ Q7 j! r7 U% N
: F& o R8 j( g, l2 e; U
又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。
0 W k# o+ r2 F/ t( F+ C- Y$ l
优点:
( t* `: |3 \, j# m+ @5 s
1、容易理解,容易实现,具有较强的通用性;
! b6 Q1 I) `! D
2、局部开发能力强,收敛速度很快。
* A: X7 Y4 Y$ D
缺点:
( S5 y* z \+ u# I+ e
1、全局开发能力弱,只能搜索到局部最优解;
. A7 ~4 X; i [
2、搜索结果完全依赖于初始解和邻域的映射关系。
# [) q& a5 ^8 U6 k
% |# h6 u9 _4 H+ @* h- {3 v; L
将不相同的n件物品分为m组,可以用的编码:
6 y F& Q' @( s& G) j M8 N
a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
+ a3 f( H' |' H( e; M7 t3 b" b$ D
b、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
7 v9 p# k' Y4 y! e% o
(2)初始解的获取
) d$ @, |# l# {. l6 ]
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
0 d. s2 C7 w3 \8 T- j7 V
(3)移动邻域
& Y3 @* @ z7 ?9 |( p
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
+ F Z) H6 Z5 p5 p
从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。
$ |* f5 u" J4 ]
(4)禁忌表
( U7 X O7 F q5 ]3 s
禁忌表的作用:防止搜索出现循环
5 y5 g! C! l! n) F9 n
(5)渴望水平函数
: y$ H9 m+ P% K
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
4 I" A7 `. m$ Y: K$ I' n
[* i/ N8 d. Y* o3 v: z0 \
六、蚁群算法(AS)
2 n q: a# c. |( P+ a
$ d8 B/ X: Z+ N9 |
5 I1 ^0 `/ O1 l- w" B
参考:http://www.cnblogs.com/asxinyu/p/Path_Optimization_Tsp_Problem_Ant_System_CSharp.html#_labelTop
4 J j& d* Q4 o2 a! b2 n9 l
---------------------
. o. {& Q6 X; t3 V
7 R* `$ |; _8 I9 }1 C" y9 d$ ?
% y6 R8 H6 ?" ?6 ~& L
M, _/ I5 x# x2 ?1 z, W( }
" A" {, c- @" _; p5 a" o
数学建模解题思路与方法.pptx
2019-4-18 15:55 上传
点击文件名下载附件
下载积分: 体力 -2 点
117.69 KB, 下载次数: 0, 下载积分: 体力 -2 点
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5