数学建模社区-数学中国

标题: 这个程序哪里错了 [打印本页]

作者: 魏关亭侯    时间: 2012-8-19 09:45
标题: 这个程序哪里错了
model:
sets:
customer/c1 .. c100/;
dvd/d1 .. d100/:constraint;
link(customer,dvd):volume,utility;
endsets
@for (dvd(i):@sum(customer(j):volume(j,i))<=constraint(i));
@for(customer(j):@sum(dvd(i):volume(j,i))=3);
@for(link:@bin(volume));
min=@sum(link:volume*utility);
data:
utility=......(略)
constraint=......(略)
enddata
end

作者: 濒危12345    时间: 2012-8-19 12:27
第三行,customer/c1 .. c100/;只有成员,没有属性?
作者: 魏关亭侯    时间: 2012-8-19 14:04
濒危12345 发表于 2012-8-19 12:27
第三行,customer/c1 .. c100/;只有成员,没有属性?

现在加了个属性还是不行
作者: 魏关亭侯    时间: 2012-8-19 14:08
濒危12345 发表于 2012-8-19 12:27
第三行,customer/c1 .. c100/;只有成员,没有属性?

而且好像不是一定要有属性的
作者: 魏关亭侯    时间: 2012-8-19 14:36
濒危12345 发表于 2012-8-19 12:27
第三行,customer/c1 .. c100/;只有成员,没有属性?

看来是数据的输入有误

lingo 报错
error code 29
invalid number of initialization values in a DATAr an INIT:
statement. The required number of values is :10000
8] 0 0 0 0.11111 .......(从0开始是我输入的数据),啥意思?

作者: melissa513    时间: 2012-8-19 21:02
程序我试了下,customer/c1 .. c10/; dvd/d1 .. d10/:constraint; 然后自己设置了数据,输出结果是可行的哦。
至于100*100=10000个的utility数据没有试,不过可以确定是你data部分输入出现了问题
作者: 濒危12345    时间: 2012-8-21 12:09
魏关亭侯 发表于 2012-8-19 14:36
看来是数据的输入有误

lingo 报错

貌似应该是属性值的个数多少和初值的问题,编译了几次,结果都是这两种问题,请问这个程序的背景是啥?看看能不能再重新写个程序,若较长,可以发到我的邮箱gjb19920223@163.com
作者: 魏关亭侯    时间: 2012-8-30 10:32
濒危12345 发表于 2012-8-21 12:09
貌似应该是属性值的个数多少和初值的问题,编译了几次,结果都是这两种问题,请问这个程序的背景是啥?看 ...

万分感谢,我已经查出原因了,这是05B题,customer应该是1000,不是100,导致后面数据个数不匹配。
作者: 濒危12345    时间: 2012-8-30 19:50
汗,我也是后来看了程序才知道是B的,嘿嘿
作者: 落轩飞雨    时间: 2012-9-2 12:41
参考一下谢谢了




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