数学建模社区-数学中国

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

作者: 杨利霞    时间: 2019-4-18 15:54
标题: 数学建模:优化算法
数学建模:优化算法
- L, G9 Y2 T2 G数学建模问题总共分为四类:
( w! \1 p/ S  \8 _% e1. 分类问题 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 mPSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
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; y2 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 s1、容易理解,容易实现,具有较强的通用性;
! b6 Q1 I) `! D2、局部开发能力强,收敛速度很快。
* A: X7 Y4 Y$ D缺点:
( S5 y* z  \+ u# I+ e1、全局开发能力弱,只能搜索到局部最优解;
. 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$ Db、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如: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% KA(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

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






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