Clp ECLiPSe Prolog动态约束

时间:2013-04-28 16:46:17

标签: dynamic prolog eclipse-clp

我有这个约束:

B #> P1*V1 + P2*V2 + P3*V3+ P4*V4 + P5*V5 + P6*V6 +P7*V7 + P8*V8 + P9*V9 + P10*V10

P=[1,2,3,4,5,6,7,8,9,10] and V=[V1,V2,V3,....], V::0..1

我希望使用N元素以动态方式实现此约束(PV的基数将为N)。

如果我用一个循环实现它,我就会遇到实例化问题,因为V尚未在此代码点标记。


解决

我已经使用直接在CLP中实现的标量积B #> P*V解决了这个问题。

1 个答案:

答案 0 :(得分:0)

这是“scalar product”的一个实例,在ECLiPSe中,您可以在Eplex Instances中找到它。但是我不明白你的问题,当你指示系统做时,V会被贴上标签,这不是真的吗?然后你可以照常发布你的表达。

相关问题