lingo老是出错,估计错误之处在文中标出的地方,还望高手指点迷津!
model:sets:
dvd/1..100/:b;
user/1..1000/:n,m;
link(user,dvd):p,g;
endsets
data:
p=@ole('C:\Users\Yangping Zhu\Desktop\data2.xlsx',prefer);!偏爱程度;
@text()=@status();
b=27 30 28 32 25 28 28 32 30 29 31 31 27 33 27 30 33 29 32 37 31 32 35 30 29 32 28 27 31 31 32 28 29 26 35 31 29 30 28 28 38 33 30 29 34 30 30 28 29 30 34 29 32 30 31 32 35 25 27 33 30 33 34 35 32 34 29 31 34 32 31 34 27 26 29 28 28 32 26 32 32 25 23 27 29 25 31 24 30 32 34 30 30 29 33 25 31 32 26 28;
enddata
!目标函数,满意度最大
max=@sum(link(i,j):g(i,j)*p(i,j));
!约束条件;
@for(dvd(j):@sum(user(i):g(i,j))<b(j));!总定量不超过DVD现有量;
@for(user(i):@sum(dvd(j):g(i,j))=3);!每个会员可以收到三张DVD;
@sum(dvd(j):b(j))>3000;!现有DVD总量大于3000张,即保证每位会员能够分配到三张DVD;
!每位会员的满意度;
@for(user(i):
n(i)=@sum(dvd(j):g(i,j)*p(i,j))
);
@for(user(i):
m(i)=@if(n(i)#ge#0.3361,1,0)
);
!一个月内95%的会员得到他想看的DVD;
@sum(user(i):m(i))/1000=0.95;
@for(link:@bin(g));!g是0-1变量;
end
估计错误之处在“每位会员的满意度;”的下面for函数后面几句,急需牛人指点! 楼主能不能上传 p=@ole('C:\Users\Yangping Zhu\Desktop\data2.xlsx',prefer);!偏爱程度; 中的内容上来啊?O(∩_∩)O谢谢
I_know__!!!! 发表于 2011-8-12 18:40 static/image/common/back.gif
楼主能不能上传 p=@ole('C:\Users\Yangping Zhu\Desktop\data2.xlsx',prefer);!偏爱程度; 中的内容上 ...
那个比较大,是一个1000*100的表格。那一块应该没有问题的。 本帖最后由 yujingxian 于 2011-8-12 22:53 编辑
错误在于:
第14行:“!目标函数,满意度最大”后面少了一个分号!
这是个初级错误,不该犯,而且程序中你的目标函数也变绿了,应该可以看出来是第14行的毛病。
yujingxian 发表于 2011-8-12 22:53 static/image/common/back.gif
错误在于:
第14行:“!目标函数,满意度最大”后面少了一个分号!
这是个初级错误,不该犯,而且程序中你 ...
您好,这个错误改好了。可是,还报错。我觉得在我标注的“每位会员的满意度”下面的几句for好像也不对,您觉得呢? 把错误提示的图片发上来好吗?这样好找错误。
页:
[1]