数学建模社区-数学中国
标题:
使用遗传算法遇到问题,求助!
[打印本页]
作者:
xiaoOMming
时间:
2013-8-23 10:54
标题:
使用遗传算法遇到问题,求助!
程序如下:
/ u/ g7 M B/ {1 h; K/ F- J
%m文件
/ I8 ~. | D5 ?# h
function eval=f(sol)
3 `' c9 ]/ K9 K5 X3 x8 h
numv=size(sol,2);
! |) h- O# Q) G5 T/ K
x=sol(1:numv);
! Y6 t6 r1 o3 P, N* l5 l# P1 a+ x
eval=-20*exp(-0.2*sqrt(sum(x.^2/numv)))-exp(sum(cos(2*pi*x))/numv)+22.71282;
0 G* z# G+ s& m
%m文件
+ {% _; F! P4 @4 S) W2 p
function[sol,eval]=fitness(sol,options)
. J" Y+ U. K) D
numv=size(sol,2)-1;
8 w5 P7 V) N. ^# a) h) k5 h- {
x=sol(1:numv);
8 q' \9 R _( d
eval=f(x);
: W5 ?! z9 g! R$ {- B- D
eval=-eval;
- B2 ?( j6 z- u) m; ^
%主程序
0 G4 B4 f$ o% p8 Y
clc,clear
6 E/ z3 S% v1 u! A( _! l( d
bounds=ones(2,1)*[-5 5];
4 t% l2 |8 F, b9 P
initPop=initializega(10,bounds,'fitness');
: ~$ U2 y% ~" \. x9 H4 u
[p,endPop,bestSols]=ga(bounds,'fitness',[],initPop,[1e-6 0 0],'maxGenTerm',1000,'normGeomSelect',[0.08],['simpleXover'],[0.3],'binaryMutation',[0.1]);
# h4 l, G) Y8 e+ s& }9 ^* f
然后是出现的问题:
Index exceeds matrix dimensions.
! f5 P: Z* d# G- x' K$ q4 e( p
* k2 S# W* |, O% R$ [5 `
Error in b2f (line 34)
) m" l4 A' p+ D5 N$ ` Q6 ~
a=bval((cs(i)+1):cs(i+1));
7 V3 s! J& r. v( x8 H& n
d! ]* i5 A, w& y% O# s# d( d
) C0 D# T5 U7 Y1 T2 T; A/ Q' P2 c
Error in ga (line 194)
) D1 M6 ?7 B( {5 H+ J9 X
bPop(bFoundIn,
=[gen b2f(startPop(bindx,1:numVar),bounds,bits)...
8 l+ a) ^2 P5 m+ Q4 \ ], h
( F7 \ r: A" @
* l; a# b, ?$ R. z- m
Error in Untitled4 (line 4)
9 e8 b. T7 o- Q
[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]);
9 l" r- [6 K+ a/ ?
是我的工具箱有问题还是程序有问题,不懂求教大神
遗传工具箱.rar
(102.67 KB, 下载次数: 0)
2013-8-23 10:52 上传
点击文件名下载附件
下载积分: 体力 -2 点
工具箱
. k5 t& B8 j ?
) {$ ?, y0 r* q% K! Q
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5