- Mail actions: [ respond to this message ] [ mail a new topic ]
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]

From: Vivek Balaraman <vivek.balaraman_at_...6...>

Date: Thu, 9 Aug 2007 14:10:01 +0530

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_...5...> 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_...2... > 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.3.0
: Wed Sep 25 2024 - 15:13:20 CEST
*