数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
8 ]/ z. @6 x0 \% ]" h
%m文件
0 p8 s" @% p U6 W/ {/ K
function eval=f(sol)
# K/ F& A+ y2 c0 u3 ~
numv=size(sol,2);
' R0 Q' ?" O; c0 d1 b
x=sol(1:numv);
% u9 n( n3 p J, T
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
$ G1 q2 I! k6 I; Z+ t
%m文件
8 o- |9 ~ |$ Q4 A9 O
function[sol,eval]=fitness(sol,options)
$ k) F: H) B. {* F! h6 F
numv=size(sol,2)-1;
l4 `" w- g0 A( d- C
x=sol(1:numv);
3 ~ j, O4 H) w7 h, l0 x
eval=f(x);
& \0 I3 }0 q8 m2 K. U% J' l- z
eval=-eval;
- B1 g" c$ n0 W4 v3 V; b
%主程序
( h& `5 A9 U: _2 r7 K( H) W2 L
clc,clear
4 P# L, {' z7 C: N- [8 o+ B( X
bounds=ones(2,1)*[-5 5];
. b4 U9 _- O# _& M% k) g* i
initPop=initializega(10,bounds,'fitness');
0 m$ q3 L6 R; `* J9 p5 E
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
$ p( @: @# E5 j% B
然后是出现的问题:
Index exceeds matrix dimensions.
5 |% J) R# S8 ]1 v7 n
5 O$ l& A' V1 _' j
Error in b2f (line 34)
/ w% ` n: d+ N3 b. R; x+ p
a=bval((cs(i)+1):cs(i+1));
, _8 X$ A- D3 E2 t
0 o; B) g0 A3 ]9 I7 Y/ [
) s5 `: V0 O$ r' l8 l; j7 I. d
Error in ga (line 194)
8 |$ @% O2 I- ~8 Z
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
2 u! R$ ~0 j3 J& f1 a+ m$ c
6 j3 S- e1 A- @% A% S8 H6 k4 L
% V! U* T; |, g4 y( G
Error in Untitled4 (line 4)
% f+ j6 [0 x; q6 _! q6 E
[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]);
v! I( I! D( G/ B8 ^# ^/ @" k
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
' i4 T& P# W, d2 z
: G5 X: j" P% U! u T
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5