数学建模社区-数学中国
标题:
急求高手指点!!!
[打印本页]
作者:
侠客雪飞
时间:
2011-2-13 23:27
标题:
急求高手指点!!!
想要用遗传工具箱解优化问题,从网上找到的方法,目标函数是:
# S( `. [8 B. S' M! l" `/ t! _
- E+ a! m- i% F* q/ \
function z=dd(x);
: r3 t8 q- I: N2 c4 D
f=842*x(1)*x(6)+588*x(2)*x(7)+498*x(3)*x(8)+62.2*x(4)*x(9)
- i i; }0 G" l7 }: Q6 a* h
+190.2*x(5)*x(10);
( g0 r. [1 O& J- P, `- z
g(1)=-x(1)+x(6);
; k1 D$ Y# K( e
g(2)=-x(2)+x(7);
* ~0 }# N, j) ^8 N
g(3)=-x(3)+x(8);
( V" U* b+ g! o1 V
g(4)=-x(4)+x(9);
+ m$ e* T" s% ^! F/ i
g(5)=-x(5)+x(10);
' {& r$ N: j- X/ Q
g(6)=x(1)-0.73;
" o1 Y8 N! H1 P& [/ H8 J
g(7)=x(2)-0.33;
5 z% A- @* r. f9 J8 y
g(8)=x(3)-0.93;
5 X& k# _4 v1 }* \- g0 N6 w
g(9)=x(4)-0.85;
0 q1 M9 C- r m! Z$ _
g(10)=x(5)-1;
" h% [. Q8 Z( q# j
g(11)=842*x(1)+588*x(2)+498*x(3)+62.2*x(4)+190.2*x(5)-835.706;
+ r. S* r2 y4 ^
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;
, a7 R: }* L) g! F5 M! W
else z=-100;
" d" B; }; V( u
end
9 z* t7 q5 S4 V
z=-z;
; U- O( w' @) q) j2 {! w
+ z7 l) A1 j" Z1 x
主程序里是:
' c' Y0 P2 z- x0 u4 A
options=gaoptimset
4 M# U+ _2 F7 r' i, Z# d4 K
('populationsize',20,'generations',100,'plotfcns',@gaplotbestf);
2 |3 J; [9 @; F
[x,z,reason]=ga(@dd,10,options)
) C; ?/ A" c6 i
但结果每算一次都不一样,而且z值就是输进去的那个值,此时是100.不知道为什么?用网上所给的例子就可以算出结果。
+ q( y! Z6 C! H
$ H3 C) L& y& N7 T: ~
跪求指点!
; U- u- W# {, D4 u* G$ Z7 k
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5