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