数学建模社区-数学中国

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

作者: 杨利霞    时间: 2019-4-10 10:57
标题: 数学建模:优化算法
数学建模:优化算法3 |1 {2 I3 h- n& X
优化算法$ w' O) |! O1 F9 O/ X2 R6 A

4 D2 C; _" \& N数学建模问题总共分为四类:
1 a+ R: N  ]. P( d3 f1. 分类问题 2. 优化问题 3. 评价问题 4. 预测问题. q( d0 `1 T4 Q0 ?
1 o9 v. K" A0 V- l% x. |  m" c
一、粒子群算法(PSO)
# J& k" p) [* r  r
3 K+ E  w% }- @. p% X算法对于Hepper的模拟鸟群(鱼群)的模型进行修正,同遗传算法类似,也是一种基于群体叠代的,但并没有遗传算法用的交叉以及变异,而是粒子在解空间追随最优的粒子进行搜索。
, Z/ V; `5 w* P6 }PSO的优势在于简单,容易实现,无需梯度信息,参数少,特别是其天然的实数编码特点特别适合于处理实优化问题。同时又有深刻的智能背景,既适合科学研究,又特别适合工程应用。
# B- k' U) X) o" P6 @( W+ x1 Y2 r
基本PSO算法
  ~9 q: q/ @# D, C& I$ D- H6 }0 X. l
D维空间中,有m个粒子;
6 R7 }% u2 Z2 F; R* L1 `- @3 U粒子i位置:xi=(xi1,xi2,…xiD)
" u; F6 `) T4 [9 P+ d8 J0 s2 \, Y粒子i速度:vi=(vi1,vi2,…viD),1≤i≤m,1 ≤d ≤D
$ E/ B% i6 l" Z2 U. _) V9 E& L' ?粒子i经历过的历史最好位置:pi=(pi1,pi2,…piD)
/ O) p; F( p5 o! H  X: A6 K群体内(或领域内)所有粒子所经历过的最好位置: pg =(pg1,pg2,…pgD) 6 x( R- `. f9 E$ i  {) [
: k: B4 @* k! B$ U) z; f

/ _: X5 ?" o  ?+ h7 ~二、模拟退火算法(SA)
1 q# r' ]1 ~& S5 ?& P6 V. b
3 Z2 T' u+ Y5 @, O0 T- S9 `( |模拟退火过程: . m- c7 j# [9 @# w& a, h- c
设定初始高温,相当于物理退火的加温过程。初始温度要足够高,在实际应用中,要根据以往的经验,通过反复实验来确定T0的值。
6 g* m8 h/ e' |* c8 N- S& O热平衡达到,相当于物理退火的等温过程。是指在一个给定温度下,SA用特殊的抽样策略进行随机搜索,最终达到平衡状态的过程。这是SA算法的内循环过程。 ' u+ t+ c7 {. P9 k
降温函数,相当于物理退火的冷却过程。用来控制温度的下降方式,这是SA算法的外循环过程。常用的降温函数有Tk+1=Tk-DT,Tk+1=Tk*r,其中r∈(0.95,0.99)。+ r  ?- a0 ~1 H) J5 Z& R2 U' R" P
( a. f0 [$ \2 Y2 v) y! G
三、遗传算法
) B1 \& \2 d8 ^+ O( l; F- P
, W9 H8 |) x1 W0 p* q% w6 K7 S产生一个初始种群
& i: J  [, j& O- i! I根据问题的目标函数构造适值函数
  g4 N: s- K) U; |6 {1 s3 ]根据适应值的好坏不断选择和繁殖
" H4 l) \; c4 C2 \7 ~0 O若干代后得到适应值最好的个体即为最优解+ D1 z( W/ }! v' c2 Y* Y

# g) j4 h/ \4 x/ m" S四、算法步骤 6 |& w' `. q3 k. D$ d
初始种群
: m1 I8 l0 n9 w! q/ M编码方法—二进制编码,可以对多个编码进行组合。   Z$ s# R6 r1 S0 d( t' V3 J
适值函数,往往就是目标函数,以值得大小为依据
) l$ W! s% {5 {% u0 }遗传运算,交叉和变异 4 ~& q5 j9 V) V! T2 g) v
选择策略,算出适应度,根据比例采用转盘模型 / ?2 ?; O1 M5 G# e$ d9 t: X
停止准则& O1 L- s3 G" P( z% h, }% `2 e
! ?2 p0 D7 Y) L# q' u, y, h
参考:https://blog.csdn.net/zuochao_2013/article/details/71435105
. @# \% E( y* v0 G* f$ y# ~0 B, M- q0 O0 H/ e5 c6 p
四、神经网络算法1 g3 E- a) q6 P! \8 o

7 J1 \* |7 d* ^6 M& J5 E和机器学习模型中的神经网络一样,用来分类或预测
- C; J' h: ?! W" e. _% L
0 ^4 ]$ ~. g; P" w9 F% R五、禁忌搜索算法 (Tabu Search)- s, r% E/ a: [6 L- S9 G

/ Q* {0 K  z/ Y6 c+ @, s2 \又称爬山启发式算法,从当前的节点开始,和周围的邻居节点的值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点替换当前节点,从而实现向山峰的高处攀爬的目的。它是禁忌搜索的基础,TS算法是在其上改进而来。 " S: M" f3 p! a4 a
优点: ) ?) i; p0 a! e$ J) @
1、容易理解,容易实现,具有较强的通用性;
; k9 E! f- d1 J. p1 t  ]; \2、局部开发能力强,收敛速度很快。 ! m( s' T8 N4 ?1 s3 r: |. D
缺点: 3 Y0 P3 v+ E% L" R
1、全局开发能力弱,只能搜索到局部最优解; ; t5 k3 x5 j3 n3 C
2、搜索结果完全依赖于初始解和邻域的映射关系。6 y6 s/ |) T2 o) \2 Q! G
$ O  H% y4 l! q3 H' R. a; n
将不相同的n件物品分为m组,可以用的编码:
3 H7 g; ?1 B$ \) L% p4 L3 o6 f8 }a、带分隔符的顺序编码,以自然数1~n分别代表n件物品如:1-3-4-0-2-6-7-5-0-8-9
! t) t6 l7 ?5 Q+ |- J: |% O9 ab、自然数编码,每一位分别代表一件物品,而每一位的值代表该物品所在的分组。如:1-2-1-1-2-2-2-3-3
+ ]4 W* A  L; G2 m& r7 J! z9 Q(2)初始解的获取 1 O4 W5 z4 s: o  z' D5 Q2 B
可以随机给出初始解,也可以事先使用其他启发式等算法给出一个较好的初始解。
. a- d% ]$ s: w" J(3)移动邻域 5 V( |/ F* r4 x0 C
移动是从当前解产生新解的途径,例如上述问题中用移动s产生新解s(x)。
& Z9 {  j  j7 D从当前解可以进行的所有移动构成邻域,也可以理解为从当前解经过“一步”可以到达的区域。 / S' ~( J4 b6 I+ v1 I$ i: ]
(4)禁忌表 9 X* x) f5 W3 k! _- o
禁忌表的作用:防止搜索出现循环
) w6 x% t' [* j(5)渴望水平函数 2 ]7 p  x: p1 T' z3 `' ]! t
A(x,s)一般为历史上曾经达到的最好目标值,若有C(s(x))
- P8 ?5 j' P/ O) V$ s( E9 k/ H' F! g$ ]0 l# Q- m, U
六、蚁群算法(AS)$ J0 G; G7 h8 g( ~  m, E0 E* V
+ B8 M& q, D0 y2 C" _8 w: ]6 b, p5 B. t

# b4 d* ?* c+ }0 P# j9 }
9 [' v3 M7 R" A! p* X- k% R5 v+ E0 {2 M: q1 ^8 l; D
% S2 r3 z, ~# i7 S! L7 m
+ f( o4 H* L) f5 q6 X* m2 y
, F& T' g( Q4 |8 r/ m

; _& ~0 e' T' B, {$ j# O) |/ e
! R8 {4 z. P; ]1 T4 Z& o1 W6 L0 P$ N! \2 r9 D
! L+ K; b& r6 T' A, J

2018全国数学建模总结.docx

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






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