数学建模社区-数学中国
标题:
急求高手指点!!!
[打印本页]
作者:
侠客雪飞
时间:
2011-2-13 23:27
标题:
急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:
, x. ~7 I; Q0 T- g% x0 ^6 p
9 e$ i7 |- H+ c7 P; ]# I% H1 ^; E; |
function z=dd(x);
2 U4 S" h" T7 F
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
, `0 V( s& F: I4 c6 o
+190.2*x(5)*x(10);
D, o/ d( n6 k
g(1)=-x(1)+x(6);
0 `. R/ j9 \( h# Z
g(2)=-x(2)+x(7);
/ Z8 e) N/ Q' k2 C) R
g(3)=-x(3)+x(8);
5 a; p2 w) `" y
g(4)=-x(4)+x(9);
4 q" Y8 n; J2 a2 {" C
g(5)=-x(5)+x(10);
+ p+ l: O& Y8 x1 M, d! w1 D
g(6)=x(1)-0.73;
3 r! {( X, @7 E( m8 k- [0 I% L
g(7)=x(2)-0.33;
: n2 _5 {' Y( P- ?
g(8)=x(3)-0.93;
* q4 j, B0 X/ g
g(9)=x(4)-0.85;
3 g* P; F* H* B2 v
g(10)=x(5)-1;
) ~" N8 q+ \ I8 ~ L1 L% h
g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;
% l+ C! u! q6 c1 _) v0 u+ ~
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;
8 g4 I4 P1 R$ V5 {) c8 f" ^0 f
else z=-100;
1 y P* @4 @; d6 |7 Y$ U
end
1 a$ w! @/ ~" _8 W) z: M7 O
z=-z;
# a. G% q5 i+ A4 z( S; Q; ^0 T
8 g6 F% N- \# `2 F; B- ~
主程序里是:
5 {# P7 P1 l6 ?' Y) M& r
options=gaoptimset
7 E2 U( @/ `3 j0 b
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
' n& I$ c& a; G& O2 I$ E
[x,z,reason]=ga(@dd,10,options)
( E8 h& h% w. B3 U# }1 ?4 D1 P$ B
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。
* {$ U# t4 u0 I! c) b
$ n8 ^. k; T4 [4 b" j4 l* \
跪求指点!
0 E5 w6 P5 i9 | v8 W5 l
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5