数学建模社区-数学中国
标题:
一个优化问题
[打印本页]
作者:
zhenshan198
时间:
2011-1-21 21:44
标题:
一个优化问题
本帖最后由 zhenshan198 于 2011-1-21 23:04 编辑
请用lingo求解这个问题
min f(x)=x1^2+x2^2+8
s.t.
x1^2-x2>=0
-x1-x2^2+2=100
x1,x2>=0
我的编程为
min=x1*x1+x2*x2+8;
x1*x1-x2>=0;
-x1-x2*x2+2=100;
结果却是
No feasible solution found.
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 0
Model Class: NLP
Total variables: 2
Nonlinear variables: 2
Integer variables: 0
Total constraints: 3
Nonlinear constraints: 3
Total nonzeros: 6
Nonlinear nonzeros: 4
Variable Value Reduced Cost
X1 0.000000 0.000000
X2 0.000000 0.000000
Row Slack or Surplus Dual Price
1 -0.1000000+308 -1.000000
2 0.000000 0.000000
3 0.000000 0.000000
望哪位大侠指点迷津,万分感谢!
作者:
xlm2010
时间:
2011-1-21 21:49
shafa 我先试试
作者:
五味大侠
时间:
2011-1-21 22:59
lz,你第三个式子等号右边怎么是100。。。
作者:
zhenshan198
时间:
2011-1-21 23:03
回复
五味大侠
的帖子
哦 应该是100,题目打错了一个数据
作者:
zhenshan198
时间:
2011-1-21 23:05
回复
五味大侠
的帖子
现在改过来了,你再看看
作者:
五味大侠
时间:
2011-1-21 23:13
式子应该没问题吧。不过确实无可行解啊。你想问什么?
作者:
zhenshan198
时间:
2011-1-21 23:21
不会吧,lingo解不出来,不敢相信,matlab可以解出来的。
作者:
zhenshan198
时间:
2011-1-21 23:23
回复
五味大侠
的帖子
lingo是求解优化问题的专业软件啊
作者:
五味大侠
时间:
2011-1-21 23:25
lingo里认为x1和x2是大于等于0的啊,你看看matlab解出来的应该不满足x1,x2>=0的条件吧
作者:
zhenshan198
时间:
2011-1-21 23:27
x =
1.0032
0.9985
y =
10.0077
这是matlab给出的结果
作者:
五味大侠
时间:
2011-1-21 23:32
你matlab没弄错吧,这问题用眼扫一下显然就是无可行解的。。。
作者:
zhenshan198
时间:
2011-1-21 23:40
回复
五味大侠
的帖子
这是MATLAB一教程上的例题,用了惩罚函数,应该不会有问题
作者:
五味大侠
时间:
2011-1-21 23:52
别说书上,单论这题,你觉得书上结果对吗?
作者:
zhenshan198
时间:
2011-1-22 00:03
回复
五味大侠
的帖子
我发现问题了,你说的那个地方应该是0不是100,这样lingo解出来了结果是
Global optimal solution found.
Objective value: 10.00000
Objective bound: 10.00000
Infeasibilities: 0.5125306E-08
Extended solver steps: 2
Total solver iterations: 91
Model Class: NLP
Total variables: 2
Nonlinear variables: 2
Integer variables: 0
Total constraints: 3
Nonlinear constraints: 3
Total nonzeros: 6
Nonlinear nonzeros: 4
Variable Value Reduced Cost
X1 1.000000 0.000000
X2 1.000000 0.000000
Row Slack or Surplus Dual Price
1 10.00000 -1.000000
2 0.2724872E-07 -0.4000000
3 -0.5125306E-08 1.200000
这才是对的,谢谢啦!
作者:
zhenshan198
时间:
2011-1-22 00:04
回复
zhenshan198
的帖子
肯定是排版出错了,100应该是无可行解的
作者:
五味大侠
时间:
2011-1-22 00:06
客气了。嗯,之前一直觉得100这数给的很诡异。。。
作者:
肖情
时间:
2011-1-22 08:58
有时候,就得多用软件算一下,避免错误结果。。。
作者:
zhenshan198
时间:
2011-1-22 10:46
回复
肖情
的帖子
就是就是
作者:
tiant0928
时间:
2011-1-22 16:52
matlab的结果不满足规划的约束:-x1-x2^2+2=100
作者:
tiant0928
时间:
2011-1-22 16:57
把模型改为:
min=x1*x1+x2*x2+8;
x1*x1-x2>=0;
x1+x2*x2=-98;
@bnd(-10000,x1,10000);
@bnd(-10000,x2,10000);
可以有解
作者:
tiant0928
时间:
2011-1-22 16:59
是不是lz的模型本身有问题,x1,x2均大于0,规划问题的约束-x1-x2*x2+2=100;显然满足不了啊。
作者:
tiant0928
时间:
2011-1-24 08:44
LZ你的模型 有问题,在x1,x2非负情况下,约束:-x1-x2^2+2=100显然无法满足,matlab的结果应该是虚数解吧??
作者:
zhenshan198
时间:
2011-1-24 20:09
回复
tiant0928
的帖子
题目中的一个约束条件应该是:-x1-x2^2+2=0;是印刷出错了
作者:
shengshengchina
时间:
2011-10-6 09:13
在优化问题方面,我宁愿相信lingo,matlab有时总是莫名惊诧!
作者:
yp4567
时间:
2011-10-6 10:26
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5