数学建模社区-数学中国

标题: [求助]【急!!】标准PSO 对peaks函数进行寻优时出现十字收敛 [打印本页]

作者: joooook    时间: 2015-10-15 20:14
标题: [求助]【急!!】标准PSO 对peaks函数进行寻优时出现十字收敛
被这个问题困扰好久了,出现十字 , 而且 x,y方向的速度不同时为0,是什么原因?
0 i) h* B$ B$ Z7 J( [十字型很有可能是因为二维的速度收敛不一致,导致的,有哪位遇到过这样的问题吗?8 }0 [/ V, v7 V9 g0 |% Y$ A

( n9 D) t; d+ L) y, T. H! P3 T6 `( ]# M- t5 `( r+ d5 Q% F! o

# O1 \8 i. v" C  N0 X. D. `# g4 d6 T

生成m0930.png (134.86 KB, 下载次数: 653)

十字收敛过程如图

十字收敛过程如图


作者: joooook    时间: 2015-10-15 20:15
设置 c1 c2 w 除了0.9 0.9 0.7 表现十字不明显以外, 其他都很明显
* A* N4 p6 L  W4 b  q& \
作者: joooook    时间: 2015-10-15 20:16
附件里的图  粒子数 300  迭代500次9 m& M% y2 s0 \

作者: 森之张卫东    时间: 2015-10-16 11:07
同学,把你的源代码和问题发上来,共同探讨!( n' }& ~+ r; \' Q

作者: joooook    时间: 2015-10-16 11:51
森之张卫东 发表于 2015-10-16 11:07
3 E) M4 d$ X7 k$ C& S% `# O/ J4 v同学,把你的源代码和问题发上来,共同探讨!
! J3 R$ B; |% j' }. [" s/ N% n
好的  马上就发: i5 ?4 O1 L, ?+ b) j$ }8 t" k

作者: joooook    时间: 2015-10-16 11:53
代码 在附件
+ {* w5 P8 J3 ]! s: Q( P; |# w3 K2 ~9 O3 Q6 u" }3 N, ?, N; z! s
% N9 k* J. R6 Y
问题是:  为何粒子收敛过程形态出现 十字型?
% Y  g* ]% B6 y1 p$ g, W! V              我发现粒子 x,y 方向的速度收敛不同时为0,为何不是同步趋于0 ?
; E4 k1 e! [" Y4 ~/ s: E

10-16.cpp

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


作者: 士心之约    时间: 2015-10-17 18:58
个人看法:- K' q/ ~; w2 A7 y4 s8 N. U
为什么出现十字收敛,与函数有关,楼主可以试一下其他函数是否会出现此种情况。peaks函数最大的那个波峰是一个左右对称、前后对称,其在三个平面的投影分别为
. S' ~- i% G# P- K$ M0 {6 t 1.jpg * p6 w3 i9 j4 Y
2.jpg
/ ^' d$ d* f, z2 o/ p/ |; x/ D8 P+ B 3.jpg
8 G# g: @0 [6 \: l* F2 {
1 y( m, z9 j' N& w. s       在十字收敛的两条直线分别对应图像中波峰的梯度的两个极限,一个最大值一个最小值。若换其他函数,非对称或者完全对称函数则不会出现这样的情况。
# S% @: Y. F% o& d# J可能出现的情况:% D0 |) Q0 a9 L' Z) S, Z4 W
非对称函数是一条无规则的路径;) X: u7 s3 w& ^2 f# ?
完全对称的是一条直线。; k( k) l# I5 M/ T' M, B7 O
& a/ N1 n! ~9 s3 L2 V( q% b$ w+ c6 j

" }1 X% O" s" c! V% z9 G4 c
作者: joooook    时间: 2015-10-18 19:47
角度为30 的粒子图
/ }2 [, V4 J7 V* a; h1 [4 t7 G

ang=30.png (41.56 KB, 下载次数: 597)

角度为30

角度为30


作者: 士心之约    时间: 2015-10-18 20:49
joooook 发表于 2015-10-18 19:47
% |+ L7 j" o6 U. K. [" Q角度为30 的粒子图
9 z8 O# y5 }: g% x9 Q% r5 {/ |8 z
这是十字?2 t% [* k+ e4 Z

作者: joooook    时间: 2015-10-18 21:07
士心之约 发表于 2015-10-18 20:49
% E. h9 G: D! R; Z$ Z  _这是十字?

1 }# _7 A' L3 P最终汇集到左边那个点   粒子横向纵向趋近 还挺明显的
8 ~) n  u0 a! _. k8 `0 W7 ?
作者: 士心之约    时间: 2015-10-18 21:34
joooook 发表于 2015-10-18 21:07
% _2 f3 g5 f& A4 V+ c( X最终汇集到左边那个点   粒子横向纵向趋近 还挺明显的
. h: O3 ?' e1 k$ Z  a! L, t
没看出来啊
; y, k0 c  s  ~
作者: 士心之约    时间: 2015-10-18 21:34
joooook 发表于 2015-10-18 21:07 3 E& [# v/ B% A& p7 {6 n
最终汇集到左边那个点   粒子横向纵向趋近 还挺明显的

3 L8 Q' k' d1 A: \0 x/ |; m; r9 R搞张清楚点的% u, q! w* @1 O

作者: joooook    时间: 2015-10-18 22:20
清楚了点  收敛过程中 截了一张图
2 x- T& L% K3 Z& ^0 b7 b" ]

无标题.png (39.71 KB, 下载次数: 246)

无标题.png


作者: joooook    时间: 2015-10-19 10:00
士心之约 发表于 2015-10-18 21:34
7 q# z* T2 ]1 S! T没看出来啊
( h+ D0 ]1 D$ }- j
新图 已发3 r: {  F: {; p  q, d

作者: 士心之约    时间: 2015-10-19 10:19
joooook 发表于 2015-10-19 10:00
! ~# ]( g: y0 ~8 E1 b新图 已发
( _& j$ X/ y; u
这个不是最大值的那个峰啊,两个完全不同- q# M1 U6 R3 `

作者: 士心之约    时间: 2015-10-19 10:19
joooook 发表于 2015-10-19 10:00
5 S+ i; e) ?' A新图 已发

; u% A& U: N+ G- d0 k这个不是最大值的那个峰啊,两个完全不同,而且那个峰是否对称我并没有研究
6 N! p" Z% _( _6 a6 M0 r
作者: 士心之约    时间: 2015-10-19 10:19
joooook 发表于 2015-10-19 10:00
. j8 I* C# p. I8 X7 c新图 已发

# i' y" x9 V* `, g! V/ C这个不是最大值的那个峰啊,两个完全不同,而且那个峰是否对称我并没有研究  q* o) O' I) p) p- T' c( K& ]

作者: joooook    时间: 2015-10-19 11:25
士心之约 发表于 2015-10-19 10:19 ) w# Z1 m5 h$ L& r  W
这个不是最大值的那个峰啊,两个完全不同,而且那个峰是否对称我并没有研究
% r) z5 ~' u* O$ U, u" g
恩   旋转30度以后的。。  哎 我再看看+ f0 n$ A; X6 r0 `, y) \

作者: 士心之约    时间: 2015-10-19 11:26
joooook 发表于 2015-10-19 11:25
5 \1 p, X+ @' C$ f恩   旋转30度以后的。。  哎 我再看看
% @" p4 D+ x3 T. a- E/ Q5 M; Z, X
你换个函数试试卅) x6 D8 e$ b. M6 O





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