Hi Malcolm, Malcolm Ryan wrote: > > Is there any way to get more useful profiling information about the > constraint system? I don't mean to be rude, but being told that 50% > of my time is being used in the core propagator is like telling me > that 50% of the time in a C program is spent executing statements. > Which ones? > > Malcolm > > Since you have not had any other replies yet, I thought I will get the ball rolling by replying first, although I am not that familiar with the implementation of the IC library... I am not sure profiling information for constraints are particularly useful. On a practical front, there is often not a simple relationship between the implementation of the constraint and the constraint itself, i.e. a constraint is often not simply implemented as a goal. So it is difficult to relate what is actually implemented (e.g. the propagator, and the various delay goals) to the actual constraints. Secondly, even if you can accurately profile the constraints, it is not clear to me if this is that useful. The actual time spent on executing a constraint is not particularly interesting. What is interesting is how much of the search-space the constraint is able to reduce, i.e. how much computation you are able to avoid. For constraint satisfaction problems, it is probably more important choosing the algorithm/heuristic chosen to label the variables. It may help to look at how the propagation is performing to guide the improvememt of your program -- this can be done with visualisation tools. The IC library does provide facilities to gather statistics about the solver. This is described in the 'Obtaining Solver Statistics' section of the IC chapter of the Constraint Library Manual. Cheers, KishReceived on Tue Aug 28 2007 - 01:22:53 CEST
This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET