Hi,

Thanks for your help. I've got so used to seeing errors that arise from complicated problems that I just assumed this was another.
I feel just a little bit stupid now :+)

My larger problem is solved now so thanks again.

Mark



Jorge Marques Pelizzoni wrote:
Well, it seems you overlooked the emulator error message being generated:

%******************* error in finite set system *****************
%**
%** unknown distribution strategy
%**
%** At argument:  1
%** In statement: {FS.distribute ff [{1 2}#2]}
%**
%** Call Stack:
%** procedure 'FSDistribute' in file
"c:/cygwin/home/yjaradin/mozart/share/lib/cp/FS.oz", line 372, column
6, PC = 19941200
%**--------------------------------------------------------------

That's why you have failure there. It turns out that 'ff' is not a
possible strategy for FS.distribute. Try 'naive' instead and
everything goes fine.

Cheers,

Jorge.

2009/7/8 mark richardson <[email protected]>:
Hi,

I see your point about a 'vector' rather than a single variable, but if I
try {FS.distribute ff [B]} I now get all nodes failing?
There's something very basic wrong here that I'm not seeing I think!

Regards

Mark

Jorge Marques Pelizzoni wrote:
Hi, Mark! I guess all you have to do is write

  {FS.distribute ff [B]}

or

  {FS.distribute ff o(B)}

instead of

 {FS.distribute ff B}

You see, you got suspended because FS.distribute will wait for its
second argument (which should always be a "vector" of FS variables,
not one single raw variable) to get determined in order to continue.

Cheers,

Jorge.

2009/7/8 mark richardson <[email protected]>:

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


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

--
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

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


--
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