2013-04-28 28 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