当前位置:编程学习 > Matlab >>

急!!!!高分求函数最大化问题。希望得到matlab或者lingo程序,请高手指点。 问题见附件。

追问:
        	
				
非常感谢你的解答,你的解答十分正确。 可是当我把上面式子改为:
max=(2-0.9*x1)*(200-40*x2)*0.4*(1-(3-x1)/0.9*(x2-x1))-0.9*x1*(200-40*x2)*0.04*(1-(3-x1)/0.9*(x2-x1)^2);
   (200-80*x2+40*x1)*0.04*(0.9*(x2-x1)-3+x1)+0.08*(3-x1)=0;
   20/9>x1;
   x2<5;
   3<x2;
   x1+9*x2>30;
end
 改为上述式子时,得到的结果有些不理想。你可以帮我算一下这种情况吗?我给你继续加分。谢谢!!
你把x2的系数改了,相应的系数下,4.068188这个值已经是全局最优解了····这你令x1,x2为其他任意值那么解出来都会比这个值小。
大侠,我是问x1和x2的值哦,你算出的是多少呢?谢谢你哈
X1的值为:2.086678   
X2的值为:3.594769
对了,我发现max=这个式子里面-0.9*x1*(200-40*x2)*0.04*(1-(3-x1)/0.9*(x2-x1)^2),后面这个平方是不是应该在括号外面???好晕啊!!!!!
刚才哪个是我搞错了,现在这个对了在出好后面应该打括号,我忘了打了
max=(2-0.9*x1)*(200-40*x2)*0.4*(1-(3-x1)/(0.9*(x2-x1)))-0.9*x1*(200-40*x2)*0.04*(1-(3-x1)/(0.9*(x2-x1)))^2;
   (200-80*x2+40*x1)*0.04*(0.9*(x2-x1)-3+x1)+0.08*(3-x1)=0;
   20/9>x1;
   x2<5;
   3<x2;
   x1+9*x2>30;
end
结果为:
  Global optimal solution found.
  Objective value:                              2.089767
  Extended solver steps:                             100
  Total solver iterations:                         12444
呵呵 ,非常感谢你的帮助。我也是才发现你的这个平方应该打在外面的。好了,最后一个追问,我想知道在括号问题正确后,我最开始的问题的答案是多少??要有x1和x2的取值哦。对你的回答我非常满意,我将再追加给你10分。谢谢哦!
目标值为: 5.490310
X1        1.552565        
X2        3.427215          
谢谢····
谢谢!你辛苦了~不知道为什么,我用你的程序计算我最开始的问题,得出的结果却是:
x1=0   x2=10.05…………很郁闷,要是你这个结果就好了
呵呵 不管怎样就这样吧  谢谢你哦
谢谢你!你说的这个我也知道  并且试过 发现出现错误  主要原因在于y不是线性的
答案:用lingo求解的,程序如下:
model:
   max=(2-0.9*x1)*(200-10*x2)*0.4*(1-(3-x1)/0.9*(x2-x1))-0.9*x1*(200-10*x2)*0.04*(1-(3-x1)/0.9*(x2-x1)^2);
   (200-20*x2+10*x1)*0.04*(0.9*(x2-x1)-3+x1)+0.08*(3-x1)=0;
   20/9>x1;
   x2<20;
   3<x2;
   x1+9*x2>30;
end
结果为y的最大值为:513.0279
此时x1为:1.981881            
       x2为:11.00527            
希望回答对你有帮助····
其他:lingo中求最大值和最小值比matlab简单多了。在lingo中首先输入max=y(既你要求的方程式),然后再输入你的条件,最后点击一个红色圈圈的按钮就可以了。 

上一个:matlab lsqcurvefit 函数的使用
下一个:matlab中找出两个数组相同数据的个数的函数

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,