Hi folks,

I'm working through the constraint problems in Chapter 12 of CTM. Problem #2
involves finding the prices which, when summed equal $7.11, and when
multiplied also equal $7.11. I wrote the following solution:

proc {Grocery ?Sol}
   sol(Item1 Item2 Item3 Item4)=Sol
in
   Item1::1#711
   Item2::1#711
   Item3::1#711
   Item4::1#711
   Item1+Item2+Item3+Item4 =: 711
   Item1*Item2*Item3*Item4 =: 711000000
   Item1 =<: Item2
   Item2 =<: Item3
   Item3 =<: Item4
   {FD.distribute naive Sol}
end

{Browse {SolveAll Grocery}}

But I get an error I don't understand:

Mozart Engine 1.4.0 (20090523) playing Oz 3


%*************************** type error *************************
%**
%** Expected type: vector of integer in [~134 217 727,...,134 217 727]
%** At argument:   1
%** In statement:  {FDP.sumCN ~711000000#1
'#'(1)#(_{1#708}#_{1#708}#_{1#708}#_{1#708}) '=:' 0}
%**
%** Call Stack:
%** procedure 'FDSumCN' in file
"c:/cygwin/home/yjaradin/mozart/share/lib/compiler/RunTime.oz", line 314,
column 3, PC = 31934008
%**--------------------------------------------------------------

Well I didn't call FDP.sumCN directly, so I must have done something wrong
on the line multiplying the four items. I don't know what. Any ideas?

Thanks,
Lyle
_________________________________________________________________________________
mozart-users mailing list                               
mozart-users@mozart-oz.org
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to