五味大侠 发表于 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);
可以有解
页: 1 [2] 3
查看完整版本: 一个优化问题