2013-04-28 57 views
0

我有这样的约束:解决 - 日食的Clp Prolog的动态约束

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解决了这个问题。 感谢所有回复

回答

0

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

+0

现在我有这个约束(P和V的标量乘积必须小于B)与基数10和它的工作,但我想用N个元素动态地实现这个约束。 P是标记的,V没有标记,并且将在声明这个约束之后被标记。 – 2013-04-29 07:52:58