数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
8 j/ W2 z2 S! T$ k" K9 J B
%m文件
2 h3 N3 i: k$ u! t( d4 d
function eval=f(sol)
# ~: L& t' o% E# g. C" ^) E
numv=size(sol,2);
2 s n% X6 j e! G( K1 R
x=sol(1:numv);
4 \# v9 H, S0 M0 d- Z d4 K' K
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
" ], w! e0 u* Z. T
%m文件
- q7 l8 Y- R2 k* a/ C
function[sol,eval]=fitness(sol,options)
5 M' W" j: b1 f. v% ]# }/ [( ~
numv=size(sol,2)-1;
0 N& P& d) C1 `
x=sol(1:numv);
1 C+ c4 N5 O* p4 K ?
eval=f(x);
- D- L9 |: l* e- t; C
eval=-eval;
2 j) [! h5 e. N- H
%主程序
( y7 @# ^: @6 V
clc,clear
* Q, K6 S+ |) J6 E# r: b$ {. C
bounds=ones(2,1)*[-5 5];
5 g+ V Q8 W. d% A
initPop=initializega(10,bounds,'fitness');
& d6 [0 A1 c% O; Y4 f) ?
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
( p8 p0 M2 {) D- X
然后是出现的问题:
Index exceeds matrix dimensions.
6 I7 l+ T3 E( a
5 x" d8 R( |7 K5 `7 d" {
Error in b2f (line 34)
6 ?! h4 m) f' I* u: M
a=bval((cs(i)+1):cs(i+1));
/ P& Y+ ^& k. ~
% K$ v$ H) S/ D8 ?
1 N$ b. [2 l' V. Q( N
Error in ga (line 194)
& X/ w8 T- t7 M1 ?( q' ^
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
; m+ B* t8 F# p/ ]1 n& q: ^: h5 [3 C
! ?& J5 D( l' y2 U- }" ^- S+ p4 o
- T! x4 f3 o# H/ ~. @0 w
Error in Untitled4 (line 4)
4 R5 D* L- m! I. y1 |
[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 K7 K3 l% y/ {# ~3 x; C" y" R* a
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
b5 m: V4 Y$ T) A- \
' I, q8 a) b s8 T; Y$ p
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5