数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
, Y4 e9 F' t$ N: y+ G" d( G
%m文件
/ ]( w0 y n9 ~1 L8 s; W3 h
function eval=f(sol)
4 u% i% p- _/ O7 x' x, Q# y
numv=size(sol,2);
" C% W8 [, S8 v: |
x=sol(1:numv);
9 K- x' s7 {8 {( P! r" Z k
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
% d- {" ^8 W! @7 E5 U" U/ x6 f
%m文件
5 v7 Z `- I8 A' u, ^. G
function[sol,eval]=fitness(sol,options)
: `. ~1 ~. J8 y4 J8 c$ L( G' n
numv=size(sol,2)-1;
6 b6 N4 P+ v- Y/ B" L1 X$ ~1 J
x=sol(1:numv);
0 ?; M8 N" A/ E7 e/ k7 s% M Y' _+ q. N1 V
eval=f(x);
7 J/ E. Y- z. d, c- N
eval=-eval;
. M4 J7 x' p" R- D2 Q* {
%主程序
& j. @ d& G1 E& l5 T* Z
clc,clear
5 Q. b4 E& m) A) P# Z$ S
bounds=ones(2,1)*[-5 5];
/ p# o! s3 q& R. V* f: ]
initPop=initializega(10,bounds,'fitness');
2 f+ u: e' F4 K/ Q$ |
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
& i- _/ u0 B$ S8 U% M( v5 A
然后是出现的问题:
Index exceeds matrix dimensions.
# S) M$ b$ M3 F0 n
4 \- [0 M5 t2 X6 n) x) p
Error in b2f (line 34)
+ s0 V, Q$ z5 T) L
a=bval((cs(i)+1):cs(i+1));
: z! a! I0 T* T P8 z
5 j! w5 h/ l& }3 L, t, o% q6 O
7 }; G( ?* w! [. k: P, p9 L" P
Error in ga (line 194)
2 V" C$ l% f: F k: x0 f
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
9 I) Z4 h9 C' i
, X. ?' v8 S2 F5 v
, @# B2 C2 j5 K7 h. ?9 N
Error in Untitled4 (line 4)
9 x5 \( M% w2 F E6 T+ \
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['arithXover'],[2 0;2 3;2 0],'nonUnifMutation',[2 25 3]);
% c. T6 g: q4 d# K" a9 x
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
4 R5 @/ l! s4 H& ]5 N
, L1 v9 H2 c. B+ V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5