数学建模社区-数学中国
标题:
急求高手指点!!!
[打印本页]
作者:
侠客雪飞
时间:
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) i
g(1)=-x(1)+x(6);
8 l& ^2 `9 }9 j3 b4 u3 i
g(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( m
g(5)=-x(5)+x(10);
3 v3 @$ r% ~% J$ j- I* Y1 ]/ _
g(6)=x(1)-0.73;
h/ ]( R, Y* \+ X
g(7)=x(2)-0.33;
+ K F1 u' O0 P5 Z9 |& P
g(8)=x(3)-0.93;
, N+ V# D4 l1 U- }5 j
g(9)=x(4)-0.85;
. r; c; O; _- d3 ^% Z# P
g(10)=x(5)-1;
* V8 Y& ?3 T& @+ i+ n* }1 y) B
g(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 m
else z=-100;
0 Q' \+ g" y4 A
end
! a6 [% U* o. A+ D$ \3 C$ M4 S
z=-z;
* O0 d q' Y- y/ F! d! H* n
( J6 Z' s' X% r; r
主程序里是:
2 K3 ]5 W" l& R8 j6 l
options=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