lingo程序

lingo程序,第1张

你要注意上面RECIPROCAL(5)=-5,但是在LINGO中,各项数默认的是大于等于0的,所以在你运行时就会出搜局现错误

你要是想排除错误的话就执行,就在后面添加@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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12289462.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存