Re: [eclipse-users] Finite set of possibilities in an underconstrained equation

From: Vivek Balaraman <vivek.balaraman_at_gmail.com>
Date: Thu, 9 Aug 2007 14:10:01 +0530
Hi,
Want to tag on another question to my first, viz.,

i.e. given an equation with say 3 variables and 2 of the variables are not
ground then I need to generate all possible solutions and where one or more
variables may be real. At the same time I want to avoid an explosion of
solutions.

What should be my labeling or solution finding strategy to achieve this?

Thanks

Vivek Balaraman


On 8/8/07, Joachim Schimpf (Independent Contractor) <jschimpf_at_cisco.com>
wrote:
>
> Vivek Balaraman wrote:
> > Given an IC constraint
> >
> > A #= B * C
> > where
> > A #::[0..50],
> > B #::[0..5],
> > C#::[0..10]
> >
> > (var(A)->indomain(A);true),
> > (var(B)->indomain(B);true),
> > (var(C)->indomain(C);true).
>
> You don't need the var tests, and you can use labeling/1 instead of
> a sequence of indomains.
>
> >
> > When any two of A,B,C are grounded, then there is no problem. However,
> > there may be times when only one of these is grounded (say C has the
> > value 5. What we want is to be able to generate all possible solutions
> > by labeling the other two variables. However I get a type error when I
> > try to do so.
>
> What you describe just works:
>
> ?- A #:: [0..50], B #:: [0..5], C #:: [0..10], A #= B*C,
> labeling([A,B,C]).
> A = 0
> B = 0
> C = 0
> Yes (0.00s cpu, solution 1, maybe more)
>
> ...
>
> A = 50
> B = 5
> C = 10
> Yes (0.20s cpu, solution 66)
>
>
> If you still have a problem, show us your exact code.
>
>
> -- Joachim
>
> _______________________________________________
> ECLiPSe-Users mailing list
> ECLiPSe-Users_at_crosscoreop.com
> http://www.crosscoreop.com/mailman/options/eclipse-users
>
Received on Thu Aug 09 2007 - 09:40:09 CEST

This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET