Great! Looking forward to read the draft. Best, Peter
On 19 Mar 2010, at 15:55, Christian Schulte wrote: > Peter, > > the changelog for the transitions from 1.* to 2.* and 2.* to 3.* actually > tells you what and how to change. > > Then, we are currently in the process of writing "Modeling and Programming > with Gecode". Please give me 30 minutes to send out an annoucement of a > draft. The draft has a chapter that addresses your problem! > > Christian > > -- > Christian Schulte, www.ict.kth.se/~cschulte/ > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf > Of Peter Vanhee > Sent: Friday, March 19, 2010 3:47 PM > To: [email protected] > Subject: [gecode-users] Iterating/filtering IntView in Gecode 3.x > > Hey all, > > I have more or less the same problem as mentioned here: > http://thread.gmane.org/gmane.comp.lib.gecode.user/919, > however the solution seems to be outdated for gecode 3.x: e.g. > GECODE_AUTOARRAY is not existing anymore etc. > > Within the binary propagator, and when one variable is assigned (x0), I need > to filter values in the other variable (x1). > What I do right now is: > > // loop over all values of x1 and push to remove if necessary > vector<int> remove; > for (IntVarValues i(*x1); i(); ++i) { > if (!predicate(home, x0->val(), i.val())) remove.push_back(i.val()); > } > > // remove values from domain > for(vector<int>::iterator i=remove.begin(); i!=remove.end(); ++i) { > GECODE_ME_CHECK(x1->nq(_home, r)); > } > > > This is not at all efficient: 90% of the time is spent in > Int::IntVarImp::nq_full, and 38% in Int::IntVarImp::RangeList::min(). > How can I change this? > > I have variables with big domains (into the millions of values) that have > few continuous ranges. > > Thanks, > Peter > > > _______________________________________________ > Gecode users mailing list > [email protected] > https://www.gecode.org/mailman/listinfo/gecode-users > _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
