数学建模社区-数学中国

标题: 用遗传算法求一个二元函数的最大值是一个复数范围的值,为什么会这样呢? [打印本页]

作者: only_long    时间: 2014-8-20 19:57
标题: 用遗传算法求一个二元函数的最大值是一个复数范围的值,为什么会这样呢?
求两个二元非线性方程组的解;- F. z8 s( m& Z" E& c) Y& h
方程组为:' v6 R9 o8 Y( H
     1/x(1)+1/x(2)-1/t3=0,- `  }2 f& i$ B; X  |; j* ~) \
    sqrt(a1+b1*f+(a2+b2*f)/(t3^2-a3^2)+(a4+b3*f)/(t3^2-a5^2)-a6*t3^2)/t3-sqrt(a1+b1*f+(a2+b2*f)/(X(i,2)^2-a3^2)+(a4+b3*f)/(X(i,2)^2-a5^2)-a6*X(i,2)^2)/X(i,2)-sqrt(a1+b1*f+(a2+b2*f)/(X(i,1)^2-a3^2)+(a4+b3*f)/(X(i,1)^2-a5^2)-a6*X(i,1)^2)/X(i,1)-1/z=0,. N  s9 t9 k# d( x& x2 s8 c' K
    方程中除了x(1),x(2)(是变量),其他参数都是已经的常数,现在我将两个方程转换成求一个函数的极大值 1-f^2-g^2,f为第一个方程组的左边,g为第二个方程组的左边,现在我用的是多种群遗传算法求解上述函数的最大值,但是运行的结果是9 S" s2 _: U0 w' S5 S# y7 K' W
Warning: Imaginary parts of complex X and/or Y arguments ignored , z3 C3 C0 ~+ N" f
> In MPGA at 51
8 G* j  f3 @4 e% V8 {: d最优值为:449451.5954+2663.266383i
3 I! ?* E. ?1 }5 p, w4 }6 `. |$ {2 Z对应的自变量取值:49.9593     0.3164988 A2 M5 _1 [1 k' ]4 f
从结果来看,函数的最大值是449451.5954+2663.266383i,我很纳闷,最大值按理来说是1呀,怎么会是一个复数范围内的数值呢?为什么会出现呢?是因为在实数范围内找不到解吗?求计算的大神求助!
作者: madio    时间: 2014-8-20 23:31
出现复数就是开根号闹的,你化简一下,尽量去掉根号试试
作者: 宇仲    时间: 2015-1-21 21:26
楼主辛苦了,继续加油啊!
. P3 ~1 n' ?. q2 A+ j




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5