数学建模社区-数学中国
标题:
急求高手指点!!!
[打印本页]
作者:
侠客雪飞
时间:
2011-2-13 23:27
标题:
急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:
z; P y+ |& M9 H. A
8 A7 ], E& j; A! j! ~- {
function z=dd(x);
% K$ M- u! E+ K( w/ B3 R4 d
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
! ~" Y4 H' S( s' F4 t/ M* b
+190.2*x(5)*x(10);
" Y( x% P2 Q1 m- r8 U+ s
g(1)=-x(1)+x(6);
" s- K) N* j T
g(2)=-x(2)+x(7);
, F* Q4 Q. z) T, W! W. X8 ^! g
g(3)=-x(3)+x(8);
: f" i1 `4 U1 F
g(4)=-x(4)+x(9);
9 p. n M& _2 c/ q5 y
g(5)=-x(5)+x(10);
4 f8 _) i. E) w! |
g(6)=x(1)-0.73;
5 _7 c0 t/ A) ~4 D T
g(7)=x(2)-0.33;
9 j* F# K( I8 }! r
g(8)=x(3)-0.93;
/ y1 D+ ~# z1 e1 V- p2 X
g(9)=x(4)-0.85;
8 N; d; l* T5 V: D: G, g1 A
g(10)=x(5)-1;
4 w& \0 d# ?6 [, L; m/ w
g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;
5 k- ^% { }& ~$ T5 t
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;
/ B# E, \6 l5 N( ~$ o
else z=-100;
% @+ _# O4 p3 _. l
end
3 n2 F) @& u9 G0 N$ q9 P
z=-z;
2 b% k. i! T( K$ J
3 ~( y+ j% E( ]5 M }; r, {7 H
主程序里是:
G' Z# E! v& w
options=gaoptimset
* P5 F8 D$ j X2 ~+ g$ j4 ?
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
1 _' @, C$ J/ [) Z; `- |- V1 d
[x,z,reason]=ga(@dd,10,options)
5 B7 x* }# p" w ~! N8 h6 R
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。
. L8 j( b: @. o, Q: {
1 ~+ {" U" O8 Z5 F$ N
跪求指点!
* w7 u/ u" M. q1 U+ B& L) v
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5