Quote:

> Without going into much detail, the aim of the program is to construct a

> solution of a larger problem via a fixpoint computation: This solution

> consists of small pieces which can be seen as solutions to constraint

> satisfaction problems over finite sets of objects. To find a solution

> to the

> global problem, the program incrementally constructs such CSPs until

> ``saturation''. Every solution to such a CSP is a piece of the global

> solution.

> Instead of labeling the solutions to these CSPs, I think of keeping the

> variables and constraints, such that each valid instantiation of the

> variables

> represents a piece of the global solution.

I've read this several times, but I don't understand what you mean.

Can you try to explain the declarative and the algorithmic aspects

separately?

Quote:

> Therefore, the fd_sets library of

> ECLiPSe seems the right environment to work with.

This choice seems unrelated to what you are discussing above.

You should use this library simply when you want to model your

problem in terms of sets and constraints over sets.

Quote:

> Is it possible copy a set of variables together with their imposed

> constraints? Is it advised to do so?

I would not recommend it because there is no easy way to

specify which subset of the constraints you want.

Instead, you should just run the constraint-setup-code twice

to get another instance of the constraint network with new

variables:

?- setup_constraints(Variables1),

setup_constraints(Variables2),

...

You could speed that up by taking advantage of the propagation

results that you got the first time: copy the first set of variables

(with their already reduced domains, but without the constraints),

and setup the second set of constraints on these copies:

?- setup_constraints(Variables1),

copy_term(Variables1, Variables2),

setup_constraints(Variables2),

...

--

Joachim Schimpf / phone: +44 20 7594 8187

London SW7 2AZ, UK / http://www.icparc.ic.ac.uk/eclipse