数学建模社区-数学中国

标题: 菜鸟请教个问题 [打印本页]

作者: luomuguiyan    时间: 2010-5-16 12:43
标题: 菜鸟请教个问题
本帖最后由 luomuguiyan 于 2010-5-16 14:10 编辑

总是提示  
      Model is ill defined.
      Check for undefined indices and/or conditions in expression:9

  1. MIN=@sum(wuzi(j):@sum(factory(i):x(i,j)*dj(i,j))*n(j))

  2. +(@sum(wuzi(j):n(j)))*(@sum(factory(i):@sum(cangku(k):z(i,k)*ysf1(i,k))))

  3. +365/7*@sum(shop(t):@sum(cangku(k):y(k,t)*ysf2(k,t)))

  4. +@sum(wuzi(j):@sum(shop(t):((365*kcf(j)*q(j)*q(j)/(2*xql(t,j)))+(kcf(j)*xql(t,j)/365)*(365/n(j)-365*q(j)/xql(t,j))*(365/n(j)-365*q(j)/xql(t,j)))))
  5. ;
复制代码
  1. @for(wuzi(j):15*20000+@sum(wuzi(j):@sum(factory(i):x(i,j)*dj(i,j)))+ @sum(factory(i):@sum(cangku(k):z(i,k)*ysf1(i,k)))<=1800000);
  2. @for(wuzi(j):@sum(factory(i):x(i,j))=@sum(cangku(k):u(k,j)));
  3. @for(factory(i):@sum(wuzi(j):x(i,j))=@sum(shop(t):z(t,j)));
  4. @for(cangku(k):@sum(wuzi(j):u(k,j)*tj(j))<=krl(k));
  5. @for(wuzi(j):@for(factory(i):n(j)*x(i,j)<=ncl(i,j)));
  6. @for(wuzi(j):@for(shop(t):v(t,j)<=xql(t,j)));
  7. @for(wuzi(j):@sum(cangku(k):v(t,j))=@sum(cangku(k):u(t,j)));
  8. @for(wuzi(j):(@sum(wuzi(j):n(j)))*(@sum(shop(t):@sum(factory(i):z(i,k))))=(365/7)*(@sum(shop(t):@sum(cangku(k):y(k,t)))));
  9. @for(shop(t):(365/7)*@sum(cangku(k):y(k,t))=@sum(wuzi(j):v(t,j)*n(j)));
  10. @for(cangku(k):@sum(factory(i):z(i,k))=@sum(wuzi(j):u(k,j)));
复制代码






[code][/code]
作者: olh2008    时间: 2010-5-16 13:47
请用高级模式里的代码环境重新发一下上面的程序。直接发会有好多乱码。
作者: 咫尺天涯    时间: 2010-5-16 14:06
支持!!!!!!!!!!!!!!!!!!!!!!
作者: luomuguiyan    时间: 2010-5-16 14:11
回复 2# olh2008


    这样应该可以了~~~
作者: olh2008    时间: 2010-5-16 14:30
你的代码是不完整的,没有关于集的定义啊。就是SETS ... ENDSETS 及 DATA... ENDDATA
作者: luomuguiyan    时间: 2010-5-16 14:32
回复 5# olh2008


  1. MODEL:
  2. SETS:
  3. SHOP/1..10/;
  4. FACTORY/1..4/;
  5. CANGKU/1..6/:KRL;
  6. WUZI/1..15/:TJ,KCF,Q,N;
  7. LINKS(SHOP,WUZI):XQL,v;
  8. LINKS1(FACTORY,WUZI):NCL,DJ,X;
  9. LINKS2(FACTORY,CANGKU):YSF1,z;
  10. LINKS3(cangku,shop):ysf2,y;
  11. LINKS4(CANGKU,wuzi):u;

  12. ENDSETS
复制代码

作者: luomuguiyan    时间: 2010-5-16 14:42
回复 5# olh2008


    真是不好意思,忘记上传了
作者: olh2008    时间: 2010-5-16 15:04
你这一句有问题:
  1. for(factory(i):@sum(wuzi(j):x(i,j))=@sum(shop(t):z(t,j)));
复制代码

你这个Z的集是LINKS2(FACTORY,CANGKU),但你用的时候并不是这样的。
还有一个很奇怪的问题,你这里难道所有的变量都是未知的么?怎么没有DATA段。
作者: luomuguiyan    时间: 2010-5-16 16:44
回复 8# olh2008


    因为我代码是分开放的。。。放上去看着很乱,所以就没上传了。。。只有XYZUV,N,Q是变量
作者: olh2008    时间: 2010-5-16 17:59
我只能检查出你语法上的错,但逻辑上的错我是看不出来的。
作者: luomuguiyan    时间: 2010-5-17 13:50
回复 10# olh2008


    o十分感激了~~~已经可以运行了。。。。谢谢
作者: zangbaise    时间: 2010-5-17 15:02
我也有个问题想问,可是还不能发表新话题,就先来这里问一下了。

我想写一个通用的lingo程序,对其中的某个变量取不同值时得到的目标函数值是不一样的,这个怎么操作啊。由于我的数据量是很大的,我要从excel里面导入数据给这个变量,然后程序根据这个变量不同的取值计算出不同的目标函数值,再导回到excel里面。可是我看到只能把变量值导入到excel里,怎么把目标函数值导入呢?或者怎么得到对于变量取不同值时的不同目标函数值?

麻烦各位知道的说一下。。。谢谢了
作者: alair002    时间: 2012-2-5 20:38
楼主分享的很好。。。8959701622253204




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