
你要是想排除错误的话就执行,就在后面添加@free(RECIPROCAL(5)),顾名思义,这个函数的意思就是使变量没有约束,这样你就能得到你想要的答案。
正确编程:岁漏手
model:
SETS:
NUMBERS/1..5/乎嫌:VALUE,B,RECIPROCAL
ENDSETS
DATA:
VALUE=1,2,3,4,10
B=1,2,3,4,5
ENDDATA
@FOR(NUMBERS(I):RECIPROCAL(I)=B(I)-VALUE(I))
@free(RECIPROCAL(5)
model:sets:
firehouse/1..3/:num
fire/1..7/:
link(firehouse,fire):distance,x
endsets
data:
num=3,2,2
enddata
min=@sum(link:distance*x)
@for(firehouse(i):@sum(fire(j):x(i,j))=num(i))
@for(fire(j):@sum(firehouse(i):x(i,j))=1)
@for(link:@gin(x))
end
结果
X( 1, 1)0.0000000.000000
X( 1, 2)1.0000000.000000
X( 1, 3)0.0000000.000000
X( 1, 4)0.0000000.000000
X( 1, 5)0.0000000.000000
X( 1, 6)1.0000000.000000
X( 1, 7)1.0000000.000000
X( 2, 1)0.0000000.000000
X( 2, 2)0.0000000.000000
X( 2, 3)1.0000000.000000
X( 2, 4)1.0000000.000000
X( 2, 5)0.0000000.000000
X( 2, 6)0.0000000.000000
X( 2, 7)0.0000000.000000
X( 3, 1)1.0000000.000000
X( 3, 2)0.0000000.000000
X( 3, 3)0.0000000.000000
X( 3, 4)0.0000000.000000
X( 3, 5)1.0000000.000000
X( 3, 6)0.0000000.000000
X( 3, 7)0.0000000.000000
就是说1号消防站派车到2 6 7
2号到3 4
3号到1 5
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)