芛__馜。 发表于 2014-8-10 19:21

新人求帮在线等~01规划约束中范围怎么写

本帖最后由 wujianjack2 于 2014-8-10 19:39 编辑

model:sets:point/1..92/:d,z;link(point,point):x;endsetsdata:z=1.72.12.21.72.12.52.42.42.11.62.62.42.22.52.12.62.51.91.81.91.41.42.41.11.61.20.81.31.42.11.61.51.41.71.41.10.11.21.41.71.41.41.71.11.41.21.61.41.21.10.80.61.40.910.50.81.10.90.70.61.21.40.80.70.80.80.91.10.91.10.80.91.10.81.10.80.80.80.81.41.10.911.21.41.10.91.40.90.90.8;
enddatas=@sum(point(i):z(i))/24;min=@sum(point(j):(@sum(point(i):x(i,j)*z(j))-s)^2*d(j));@for(point(j):@sum(point(i):x(i,j)*d(j))=1);@sum(point(j):d(j))=24;@for(point(j)|j#lt#21:d(j)=1);@for(point(j):@sum(point(j)|j#lt#23 #AND# j#gt#19:d(j))=1);@for(point(j):@sum(point(i)|j#lt#41 #AND# j#gt#37:d(i))=1);@for(point(j):@sum(point(i)|j#lt#30 #AND# j#gt#27:d(i))=1);@for(point(j):@sum(point(i)|j#lt#68 #AND# j#gt#65:d(i))=1);@for(point(j):@bin(d));@for(link:@bin(x));end
红字部分我想要范围内想加为1,但是结果要么是0,要么都是1,怎么回事?



wujianjack2 发表于 2014-8-10 19:49

   你的程序可能和你实际的约束条件并不一样,或者你的模型有待改进。
   你不妨贴上你的模型方便对比程序。
   另外,你的数据z不要一个一行,这样徒增程序长度,造成阅读不便。

芛__馜。 发表于 2014-8-10 20:12

模型:从集合{20,21,22},{28,29},{38,39,40},{66,67}中各挑选一个节点作为服务平台
        

芛__馜。 发表于 2014-8-10 20:17

图片里是我的模型。。数学建模2011年b题。。。

芛__馜。 发表于 2014-8-10 20:23

增设4个服务平台,集合{20,21,22},{28,29},{38,39,40},{66,67}中各挑选一个节点

GO雨林木风 发表于 2014-8-10 23:28

你在楼上的说一句,他能回来看到,这个我是不会啊

芛__馜。 发表于 2014-8-12 11:34

???????
页: [1]
查看完整版本: 新人求帮在线等~01规划约束中范围怎么写