[EMAIL PROTECTED] wrote:
Well, what is actually pretty much standard practice is to start a best search
solution (in which each iteration constrains the next found solution to be
strictly better) with a given time-limit. If search ends before that limit, you
have a proved optimal solution; if not, you abort search and either take (the
_possibly_ suboptimal) current solution or end up with no solution altogether
(none was found within the limit). The possibility of no solution is important
as in some cases search might take forever even to find one single solution.
One variation would be to state two limits: one (more relaxed) to find the
first solution and another to improve it. Stating a time limit to be obeyed
_between_ improvements might also yield an impredictably long total search time
in many cases. The point is: you are usually interested in computation that is
guaranteed to finish, even with a failure :o)
All these schemes are somewhat easily implemented in Oz, but takes some
knowledge of spaces and the workings of the standard search engines. One way
I've done it was to include in the Order procedure commands to register the
currently best solution so far, via some service/port. Making search really
respect the time limit might also be challenging
Just to mention that we had a discussion on this particular topic in
hackers. In that opportunity I suggested an approach for dealing with
this issue that is actually simple (but, as you say, one needs to have
some knowledge on spaces):
http://www.mozart-oz.org/pipermail/mozart-hackers/2006/002566.html
Cheers,
Luis
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users