数学建模社区-数学中国
标题:
急求高手指点!!!
[打印本页]
作者:
侠客雪飞
时间:
2011-2-13 23:27
标题:
急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:
4 h; X: w( e. V/ I$ h
: T5 b3 N. ]3 e* @) \4 [9 Z& {
function z=dd(x);
. d5 E* w2 Z* y9 }0 N
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
* U* |( U P4 J, w
+190.2*x(5)*x(10);
% n. n! m. u" _2 a
g(1)=-x(1)+x(6);
8 s2 Z' n( ] {1 o) Q9 L
g(2)=-x(2)+x(7);
0 Y/ x- S! h. i; C+ N' d8 D, v
g(3)=-x(3)+x(8);
8 \" X* s) V" N+ r! n2 X
g(4)=-x(4)+x(9);
4 E6 r/ u" q. H( ?5 T( b3 p, ^
g(5)=-x(5)+x(10);
( @# k1 I$ h" V: I8 h+ y4 V
g(6)=x(1)-0.73;
# Q! g/ s# S, M3 F1 S1 ^: n k
g(7)=x(2)-0.33;
$ n( @2 s# I9 i, a9 ]2 |
g(8)=x(3)-0.93;
+ P+ q2 o+ b/ y: C- U
g(9)=x(4)-0.85;
! x2 |- H& h$ k: C6 J
g(10)=x(5)-1;
: Y% c( s+ N- t" B$ Z8 w) w
g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;
, V# ~$ V+ x5 q
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;
3 K, Q8 c" H, X/ g
else z=-100;
3 S: m; \3 O# O+ p
end
' w. j! v4 m1 ]# `
z=-z;
% Q& k: f$ }/ A' V, h* H4 n _
} g7 H: M: c. c# p$ `5 m9 P
主程序里是:
" J* i' B- [* U6 t
options=gaoptimset
$ Q3 ^. T* V( E3 T6 q
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
: d, X' E8 C2 T1 U
[x,z,reason]=ga(@dd,10,options)
& w: C2 ?0 U5 _4 r+ ?
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。
" {5 |! Q2 B2 o& P4 g
0 e K! G6 o2 ~' ^9 z$ y. d& u, c
跪求指点!
- U4 C8 h# m. E; v
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5