数学建模社区-数学中国

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

作者: 侠客雪飞    时间: 2011-2-13 23:27
标题: 急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:; L8 R' Q7 L' g9 L7 p5 p7 h
, X+ r  g. Q) [  o5 e  `$ S
function z=dd(x);' u" u3 I, A  f4 B( f( g8 e/ |
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)1 L: V9 V# M) y3 g. Q% _, E
+190.2*x(5)*x(10);
* V' L' u3 Y! p3 x: g) ig(1)=-x(1)+x(6);
8 l& ^2 `9 }9 j3 b4 u3 ig(2)=-x(2)+x(7);+ B& z6 F# L6 i3 ?
g(3)=-x(3)+x(8);
5 p: R$ ?! e) U; Y* _g(4)=-x(4)+x(9);
" G* I7 D; X6 P2 J- x- I( mg(5)=-x(5)+x(10);
3 v3 @$ r% ~% J$ j- I* Y1 ]/ _g(6)=x(1)-0.73;
  h/ ]( R, Y* \+ Xg(7)=x(2)-0.33;
+ K  F1 u' O0 P5 Z9 |& Pg(8)=x(3)-0.93;
, N+ V# D4 l1 U- }5 jg(9)=x(4)-0.85;
. r; c; O; _- d3 ^% Z# Pg(10)=x(5)-1;
* V8 Y& ?3 T& @+ i+ n* }1 y) Bg(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;+ m) z8 f1 S& ~* a/ {- Z: D6 @8 z
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;
5 l) ~6 {4 C' }$ [0 melse z=-100;
0 Q' \+ g" y4 Aend
! a6 [% U* o. A+ D$ \3 C$ M4 Sz=-z;
* O0 d  q' Y- y/ F! d! H* n
( J6 Z' s' X% r; r主程序里是:
2 K3 ]5 W" l& R8 j6 loptions=gaoptimset
9 R3 G' p6 N3 d; K4 ]('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
5 F9 V6 d2 d+ s  Y1 P! t[x,z,reason]=ga(@dd,10,options)8 z$ y' |/ r4 a! v- z
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。& h0 q+ c9 _& C* N

% t* c1 a8 O2 S' }. b" v跪求指点!" l! @  Z. \1 d# H8 y: A8 N





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