数学建模社区-数学中国

标题: 急求高手指点!!! [打印本页]

作者: 侠客雪飞    时间: 2011-2-13 23:27
标题: 急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:1 r& g% L) r- X$ s. e

( G6 K* V" E2 y; L: zfunction z=dd(x);- Z; T, j1 E/ H. \
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
& g/ A* B" O; _6 Y  B2 O% d+190.2*x(5)*x(10);9 C+ Q/ E" B4 o
g(1)=-x(1)+x(6);
/ ?+ z. s) n$ u4 J! }6 a$ B, |* T/ _g(2)=-x(2)+x(7);- q. H( \2 _7 c/ a7 X3 ?' ?" a
g(3)=-x(3)+x(8);; O- D. i# O. z2 s6 A& }
g(4)=-x(4)+x(9);
! K: g, E3 V9 F* rg(5)=-x(5)+x(10);
% Y; j1 c/ a5 a- C( V1 x# p- d2 dg(6)=x(1)-0.73;
% i& w( c4 b# v+ o+ @# L$ }g(7)=x(2)-0.33;
2 D& q9 n2 h! f+ g$ P! I, M$ `g(8)=x(3)-0.93;5 {) u8 l% o2 Y( l5 L. n0 |
g(9)=x(4)-0.85;! ~5 d4 {/ c- r, x3 I# X
g(10)=x(5)-1;
0 c  Z' m2 V4 G5 F9 {g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;& `+ _/ T' I% _( E/ [. v
if(g(1)<0) &(g(2)<0) &(g(3)<0) &(g(4)<0) &(g(5)<0) &(g(6)<0) &(g(7)<0) &(g(8)<0) &(g(9)<0) &(g(10)<0) &(g(11)>0) &(g(12)>0) & (x>=0) z=f;
6 a, @" N- {; G' w( pelse z=-100;  e( t9 Y- |& q# ?0 |: ~
end" P; o3 b2 y" w2 |; c
z=-z;
/ s+ }4 h' w$ b/ w4 x! A4 S
* W# x! Q; N. M, l主程序里是:  [+ y2 `2 y5 f2 I: |+ u
options=gaoptimset# H+ K, J, s2 i2 p& z
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);! a5 w( u" J$ o. i$ G
[x,z,reason]=ga(@dd,10,options)
/ I2 d! |7 L  S; ^但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。
' a* u$ B& k+ ~+ _/ Q; ]/ f
. O* G/ [4 }7 K# f! K; l/ M1 j跪求指点!- I( n$ C1 n0 w$ Q: y: c





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5