From: Joachim Schimpf <j.schimpf_at_icparc.ic.ac.uk>

Date: Fri 25 Apr 2003 05:45:28 PM GMT

Message-ID: <3EA97438.F11A788D@icparc.ic.ac.uk>

Date: Fri 25 Apr 2003 05:45:28 PM GMT

Message-ID: <3EA97438.F11A788D@icparc.ic.ac.uk>

Ulrich Scholz wrote: > > Sorry. > > Of course you are right in that set-disequality and set-disjointness are not > the same. > > I forgot to say that in my case, I solely consider interger sets with > cardinality one, thus all variables are variables of integer sets with > cardinality one, ie > > Y subset [1,2,3], #(Y,1). > > In this special case, set-disequality and set-disjointness are the same. But > of course you can generalize my question on general disjunctive constraints. Why do you use set variables if the cardinality is always 1? Can't you use a normal finite domain variable for the (single) set element? Then you can use fd's reified constraints to formulate the disjunction. > :- lib(fd_sets), (import (subset)/2 from fd_sets). > :- lib(notinstance), (import (~=)/2 from notinstance). > > test :- > X1 subset [1,2], #(X1,1), > Y1 subset [1,2], #(Y1,1), > X2 subset [1,2], #(X2,1), > Y2 subset [1,2], #(Y2,1), > [X1, Y1] ~= [X2, Y2], > X1 = X2. :- lib(fd). test :- [X1,X2,Y1,Y2]::1..2, #\=(X1,X2,Bool), #=(Y1,Y2,Bool), X1 = X2. The sets library unfortunately doesn't have a full set of reified constraints... -- Joachim Schimpf / phone: +44 20 7594 8187 IC-Parc / mailto:J.Schimpf@imperial.ac.uk Imperial College London / http://www.icparc.ic.ac.uk/eclipseReceived on Fri Apr 25 18:45:51 2003

*
This archive was generated by hypermail 2.1.8
: Wed 16 Nov 2005 06:07:23 PM GMT GMT
*