Hi,

I've been trying for a couple of weeks to get to grips with a combination of FD's and FS's.
My problem can be demonstrated with the following script:

declare
proc {Script Root}
  A B C in
  Root=A#B#C
  A::1#2
  C::1#2
  B={FS.var.upperBound 1#2}
{FS.card B C} C=<:A
  {FD.distribute ff A#C}
  %{FS.distribute ff B}

end

{ExploreAll Script}


Now, as expected I get three solutions to this script. One correctly gives B as {1#2}#2. What I would like is for the other two solutions is to get {1}#1 and {2}#1 resp. but I get {1#2}#1 for both. I understand why I'm not getting this (there is nothing to constrain the FS value to 1 or 2) but what I don't understand is how I could rewrite this to get the desired results. I initially thought that this would simply be a case of distributing the FS variable separately (on the commented out line) but then I lose the successful solution and am left with two solutions that are suspended. I realise this is my lack of understanding so if anyone could suggest anything I'd be very grateful.

Regards
Mark

--
Mark Richardson
Research Assistant
University of Teesside, UK
[email protected] [email protected]
[email protected]

_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to