数学建模社区-数学中国

标题: 求指教 [打印本页]

作者: csuband    时间: 2013-8-26 09:59
标题: 求指教
本帖最后由 wujianjack2 于 2013-8-26 10:18 编辑

谢金星的教材P136,用Lingo求解:
我的程序如下:
sets:
hang/1..4/:c,x;
lie/1..4/:;
link(hang,lie):Q;!字母 Q 显示成头像;
endsets
data:
c=6,8,4,-2;
Q=-1  2 0  0
   2 -1 2  0
   0  2 -1 2
   0  0  2 -1;
enddata
x(@index(1))*x(@index(2))+x(@index(3))*x(@index(4))>=-1;
x(@index(1))*x(@index(2))+x(@index(3))*x(@index(4))<=1;
@for(hang(i):@abs(x(i))=1);!@符号显示成头像
@sum(hang(i):x(i))>=-3;
@sum(hang(i):x(i))<=2;
max=@sum(hang(i):c(i)*x(i))
+@sum(lie(j):x(j)*@sum(hang(i):x(i)*Q(i,j)))/2;
怎么运行后出现没有可行解????
求指教

QQ截图20130826095730.png (55.52 KB, 下载次数: 188)

QQ截图20130826095730.png


作者: wujianjack2    时间: 2013-8-26 10:32
   楼主你好!你的问题表述很清晰,但是标题不明,请阅读本版置顶帖中的发帖规范,谢谢支持!
   你的代码没有什么大问题,之所以无可行解,是因为LINGO默认变量非负,因此,只需要在程序中加入一行代码:
   @FOR(HANG(I):@FREE(X(I)));
   即可,在LINGO 11上运行得到如下结果:

  Global optimal solution found.
  Objective value:                              20.00000
  Objective bound:                            20.00000
  Infeasibilities:                              0.3552714E-14
  Extended solver steps:                            1
  Total solver iterations:                            66

    Variable           Value            Reduced Cost
      X( 1)        1.000000            0.000000
      X( 2)        1.000000            0.000000
      X( 3)        1.000000            0.000000
      X( 4)       -1.000000            0.000000

以上是我个人的一点见解,仅供楼主参考,如有疑问请指出,谢谢支持!
作者: csuband    时间: 2013-8-26 19:49
谢谢!茅塞顿开
作者: wujianjack2    时间: 2013-8-26 21:01
csuband 发表于 2013-8-26 19:49
谢谢!茅塞顿开

  不用客气,欢迎积极发言讨论。不过,以后发帖请先看论坛置顶帖中的发帖规范,标题对问题一定要有一个清晰的描述,谢谢你的支持!




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