数学建模社区-数学中国
标题:
为什么限制条件会失效? 0-1整数规划
[打印本页]
作者:
wangcx123
时间:
2015-8-6 19:14
标题:
为什么限制条件会失效? 0-1整数规划
model:
sets:
junction/1..92/;
server/1..20/;
link(junction,server):x,d;
endsets
data:
d=@ole('C:\Users\WCX\Desktop\distance.xls',distance);
enddata
min=@sum(link(i,j):x(i,j)*d(i,j));
@for(server(j)
sum(link(i,j):x(i,j))=1);
@for(link(i,j):x(i,j)*d(i,j)<=30);
@for(link(i,j)
bin(x));
end
这是源代码,运行结果得到最优解是0.
分析后发现应该是“@for(server(j)
sum(link(i,j):x(i,j))=1);”这个限制条件失效了,本人是新手,这个代码改了很久都是错的,恳请大家赐教! 谢谢大家!!
下面是d的数据:
distance.xls
(49 KB, 下载次数: 0)
2015-8-6 19:10 上传
点击文件名下载附件
excel数据
下载积分: 体力 -2 点
作者:
wangcx123
时间:
2015-8-6 19:17
带表情的其实是 “:@”,结果显示成图片了。。。。
作者:
liwenhui
时间:
2016-1-25 15:30
这句不需要这样,试试这样:
model:
sets:
junction/1..92/;
server/1..20/;
link(junction,server):x,d;
endsets
data:
d=@ole('C:\Users\WCX\Desktop\distance.xls',distance);
enddata
min=@sum(link(i,j):x(i,j)*d(i,j));
@for(server(j):@sum(junction(i):x(i,j))=1);
@for(link(i,j):x(i,j)*d(i,j)<=30);
@for(link(i,j):@bin(x));
end
复制代码
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5