2012-03-10 8 views
0

制約プログラミング言語ECLiPSe(http://www.eclipseclp.org/examples/)で可変合計をどのようにしますか?私はこの機能を取得しようとしてい変数の合計

:- lib(ic).   % include the standard interval constraint library 
:- lib(branch_and_bound). % include the branch and bound library for minimization 
:- lib(ic_edge_finder).  % include the cumulative constraint library needed for resource constraints 

    triangle(sums) :- 
     places = [a,b,c,d,e,f,g,h,i], 
     places :: 1..9, 
     sums = [sum1], 
     sums :: 10..30, 
     alldifferent(places), 
     sum1 #= a + b + c + d, 
     sum1 #= b + e + f + g, 
     sum1 #= d + g + h + i, 
     flatten([places,sums],allVars), 
     labeling(allVars). 

そして、私は取得していますエラーは次のとおりです。

[eclipse 13]: compile('2a.ecl').   
undefined arithmetic expression in _1187 is sum1 in module eclipse 
syntax error : in source transformation in triangle(sums) :- places = [a, b, c, d, e, f, g, h, i], places :: 1 .. 9, sums = [sum1], sums :: 10 .. 30, alldifferent(places), sum1 #= a + b + c + d, flatten([places, sums], allVars), labeling(allVars) 

答えて

1

Eclipseで、プロローグのように、変数名はで開始する必要があります大文字またはアンダースコア:

Places = [A,B,C,D,E,F,G,H,I], 

など

+0

* Facepalm *ありがとう – NickHalden