熟悉lingo的高手请帮个忙
05年B题,DVD在线租赁问题,我已编好程序model:
sets:
x/1..1000/:hyh;
y/1..100/:dvd;
s(x,y):d,A;
endsets
data:
A=@ole('pianaidu.xls','myd');
dvd=@ole('pianaidu.xls','dvdsl');
@ole('pianaidu.xls','jieguo')=d;
enddata
max=@sum(s:d*A) ;
@for(s(i,j):◎bin(d(i,j)));
@for(x(i):
@sum(y(j):d(i,j))<=3;
@sum(y(j):d(i,j))>=2;
);
@for(y(j):◎sum(x(i):d(i,j))<=dvd(j));
end
程序很简单,但总是出错,由于其中用到的excel表格无法上传,所以恳请哪位高手能留一个E-MAIL信箱,我把文件一起发给您调试一下,谢了!! 你把哪个excel表打开没有 打开了,还是出错:'( 出错的提示是什么啊:D lingo里面出错好像都是一个提示,代码1017,unexpected Jacobianover flow. model:
sets:
x/1..1000/:hyh;
y/1..100/:dvd;
s(x,y):d,A;
endsets
data:
A=@ole('pianaidu.xls','myd');
dvd=@ole('pianaidu.xls','dvdsl');
!@ole('pianaidu.xls','jieguo')=d;不懂你这句是何用意
enddata
max=@sum(s:d*A);
@for(s(i,j):@bin(d(i,j)));
@for(x(i):
@sum(y(j):d(i,j))<=3;
@sum(y(j):d(i,j))>=2;
);
@for(y(j):@sum(x(i):d(i,j))<=dvd(j));
end
我用10万个0,1区间的随机数模拟了你的结果,现在能运行了你大部分的错误为书写格式上的问题 这个问题和EXCEL数据是否打开没有多大关系,你的题示是假克比行列式跃界,你用的不是有序列号的LINGO8.0吧 我用的是lingo9.0啊
中间的那个就是lingo和excel之间的调用啊 楼上的朋友,能不能再说清楚一点,数据的输入和输出怎么实现呢,我是新手,实在不明白,谢谢了:handshake 你的LINGO9.0是没有序列号的,是不能解如此规模问题的,见意你用LINGO8.0(网上有序列号),你的这句话是何意@ole('pianaidu.xls','jieguo')=d;?d是决策0-1变量,你的用意是否想将数据重新写入EXCEL?至于数据的输入与输出的实现在万保成老师的教程上有说明,教程网上也有得下
页:
[1]
2