数学建模社区-数学中国

标题: lingo编译出错了 求大神解答~! [打印本页]

作者: a19941021jy    时间: 2013-8-29 18:08
标题: lingo编译出错了 求大神解答~!

QQ图片20130829160816.jpg (56.2 KB, 下载次数: 171)

QQ图片20130829160816.jpg

QQ图片20130829160753.jpg (78.23 KB, 下载次数: 185)

QQ图片20130829160753.jpg


作者: madio    时间: 2013-8-29 18:40
无法复制代码,不能实验,我看了一下,估计是@bin(k(i))这句错误,应该用@for函数把所有的变量都定义为0-1变量
作者: wujianjack2    时间: 2013-8-29 19:05
本帖最后由 wujianjack2 于 2013-8-29 19:19 编辑

   楼主你好,冒昧回答下你的问题。
   其一:不要总是认为软件报错在哪行就盯着哪儿看,错误可能不止这么一处,希望楼主注意下;
   其二:@bin()函数的使用有错误,如果是对集合的属性进行操作,必须指出属性所属的集合;
   其三:楼主集合中定义了T2,程序中可曾用到?
   其四:定义集合时,leixing有三个元素,z为lvguan和leixing的衍生集合yuding中的属性,z(i,4)=0从何而来?再者,凡涉及集合属性的操作,必须指定其所属集合。
   其五:如果是涉及到程序代码的问题,请不要以图片形式贴出你的代码,最好可以直接复制到软件中进行调试,切记!
   其六:如果直接按照你的程序这么写,肯定会出现下标越界,注意“z(i,j+1)”这项,你得把这个处理好。
   以上是我个人的一点见解,仅供楼主参考,我见识也很有限,望笑纳。
作者: a19941021jy    时间: 2013-8-29 19:48
本帖最后由 wujianjack2 于 2013-8-29 20:04 编辑
wujianjack2 发表于 2013-8-29 19:05
楼主你好,冒昧回答下你的问题。
   其一:不要总是认为软件报错在哪行就盯着哪儿看,错误可能不止这么 ...

model:
sets:
  lvguan/1..10/:k;
  leixing/1,2,3/:T1,T2,C1,C2;
  yuding(lvguan,leixing):x1,x2,y,z;
endsets
min=@sum(lvguan:k(i));
@for(lvguan(i):@bin(k(i)));
@for(leixing(j):
  @sum(lvguan(i):k(i)*x1(i,j))>=T1(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x2(i,j)+y(i,j)+z(i,j+1)))>=T2(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x1(i,j)+y(i,j)))<=C1(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x2(i,j)+z(i,j+1)))<=C2(j));
data:
  T1=203 133 43;
  T2=146 83 53;
  C1=345 304 220;
  C2=107 105 110;
enddata
end
第六点不会处理  求大神教下  谢谢~!
作者: a19941021jy    时间: 2013-8-29 19:49
本帖最后由 a19941021jy 于 2013-8-29 19:53 编辑
madio 发表于 2013-8-29 18:40
无法复制代码,不能实验,我看了一下,估计是@bin(k(i))这句错误,应该用@for函数把所有的变量都定义为0-1变 ...

model:
sets:
  lvguan/1..10/:k;
  leixing/1,2,3/:T1,T2,C1,C2;
  yuding(lvguan,leixing):x1,x2,y,z;
endsets
min=@sum(lvguan:k(i));
@for(lvguan(i)冒号@bin(k(i)));
@for(leixing(j):
  @sum(lvguan(i):k(i)*x1(i,j))>=T1(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x2(i,j)+y(i,j)+z(i,j+1)))>=T2(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x1(i,j)+y(i,j)))<=C1(j));
@for(leixing(j):
  @sum(lvguan(i):k(i)*(x2(i,j)+z(i,j+1)))<=C2(j));
data:
  T1=203 133 43;
  T2=146 83 53;
  C1=345 304 220;
  C2=107 105 110;
enddata
end
还是不对,求教下~!谢谢~!
作者: wujianjack2    时间: 2013-8-29 20:13
a19941021jy 发表于 2013-8-29 19:48
model:
sets:
  lvguan/1..10/:k;

  首先,提醒你下,记得在“高级模式”里编辑,再勾选“禁用表情”,代码就显示正常了;
  再者,我在“其六”里指出的这个问题其实应该与你的模型有关,而不是主要在代码上做功夫。即指,当j=3时,是否是“x(i,3)+y(i,3)>=t2(3)"这种情况,此时z是不是不起作用了,如此来进行分析,当然代码不是这样写,只是简单提醒下你此处应注意哪些地方;
   最后,我必须说明下,发帖前请看本版置顶中的发帖规范,尽量避免出现”求大神“等这样无意义的词语,我建议你更应该以标题来简要概括说明下你的问题所在,尽量详细点,这样大家一看标题就可以知道是否能够帮助你,这才是更有利于问题解决的做法,谢谢你的理解与支持!
作者: a19941021jy    时间: 2013-8-29 20:29
wujianjack2 发表于 2013-8-29 20:13
首先,提醒你下,记得在“高级模式”里编辑,再勾选“禁用表情”,代码就显示正常了;
  再者,我在“ ...

我再想想看  以后会注意的  谢谢~!




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