数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
7 J( S6 T5 X2 R! |
%m文件
9 a1 q0 w0 V* Y- P) q
function eval=f(sol)
7 d- r7 a, ^# }( B
numv=size(sol,2);
0 ^9 z* Q' h$ j2 e+ g
x=sol(1:numv);
2 |/ m4 W8 ]! T. A0 M( I
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
* ~/ F |0 z7 F" v8 A6 s
%m文件
: C+ [, Z! w# P: P: X
function[sol,eval]=fitness(sol,options)
9 w- ~ n2 s4 c
numv=size(sol,2)-1;
8 Y! r5 r* B" m6 e1 i/ o7 V! o, u# D
x=sol(1:numv);
7 ~3 j& W: K$ b) H7 U
eval=f(x);
9 v+ g% n, m! I7 L8 H" Y1 ?
eval=-eval;
2 D5 F, L* Z4 J- S" u
%主程序
/ o5 x1 {9 Z( J
clc,clear
3 @: ]" N* o9 M/ j
bounds=ones(2,1)*[-5 5];
8 s2 h( c& Y- s, `6 y& Y
initPop=initializega(10,bounds,'fitness');
7 ?2 s! n# s) g- f
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
( [/ K1 T' [( r8 c- S8 A1 o
然后是出现的问题:
Index exceeds matrix dimensions.
* _2 E# ^/ m u! o7 [, V/ R
2 j# {9 n+ b- _2 y# V
Error in b2f (line 34)
: S J) E7 p. @. f6 X6 t9 Y
a=bval((cs(i)+1):cs(i+1));
6 o4 e% c4 E1 @/ G, `, V
h% f) j L/ b* N
8 w2 [7 q" n) G5 S/ x5 E+ D
Error in ga (line 194)
2 y* S7 |' D. F# Q' v+ v" l
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
5 n) O* n% L, s5 Y& e& _
5 ~! z8 g; R% |* K$ r' v- q
W/ M$ ?( o6 t+ n9 Q
Error in Untitled4 (line 4)
" D, c3 n0 H" ?! z- {
[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]);
5 Q% s/ p7 }# B5 g. K' P8 j
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
$ b0 @ Z( m s( l8 E
# F1 Z+ o1 f* B7 m# \- }+ Z/ Q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5