数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
8 g1 Y/ ]: h; E3 S3 k9 s: ~
%m文件
, ]# b' I9 ~7 J) Y& c
function eval=f(sol)
& J u% ?! _: u! O5 w" D
numv=size(sol,2);
) g. q U8 a) x
x=sol(1:numv);
: X3 c9 N% R v+ L" g3 h
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
+ Y/ t$ m. Z# S
%m文件
! g, \& H% \! B5 `
function[sol,eval]=fitness(sol,options)
8 I3 P% m6 O9 I- j J1 u9 V$ |
numv=size(sol,2)-1;
1 ]5 s& r% e4 h
x=sol(1:numv);
7 j, Y- g9 L% z) V: R/ F, q
eval=f(x);
5 M( f- i% B4 q/ J
eval=-eval;
0 U! t# }' f; Z& ^! ~; @
%主程序
* j" i9 U6 z9 X! g7 v
clc,clear
2 C/ Y( ~$ Z1 Y+ y9 C5 J. B, J
bounds=ones(2,1)*[-5 5];
1 ^' q5 |0 Y) ^$ D$ O C$ K
initPop=initializega(10,bounds,'fitness');
6 B6 K' O2 u- g8 m3 ^% W
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
7 |/ ^2 U3 Q6 }& i' h
然后是出现的问题:
Index exceeds matrix dimensions.
: y( M0 J) v" l& ?
+ P5 P: v Z, x! Y3 c. O
Error in b2f (line 34)
+ R5 `- q: I7 W
a=bval((cs(i)+1):cs(i+1));
) |/ U) s8 g5 q6 z
: y/ @( i+ h% M& L' Q8 v* }
" T/ T/ O. C0 I0 G/ ?4 Y/ a7 d
Error in ga (line 194)
& m8 ?! c( }( S4 N( Y; o& {
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
7 P+ M! j% X* _
& q# l9 F, y$ L0 n8 {$ f) l% v8 m
. ^$ O& \! w% k
Error in Untitled4 (line 4)
4 Z4 M0 e3 q6 G6 A9 R# X& [0 }
[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]);
8 K9 k* y. f. d" b' _$ d! a
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
: A' D. B: L1 k8 {
) D. U. L, m) ]7 {. [
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5