Next: NP-Completeness
Up: Evaluating Heuristics
Previous: Computation Time
There are many other aspects that might be relevant when evaluating
heuristics. Here are a few:
- Ease of Understanding. Heuristics are particularly nice
when they can be explained to non-specialists. Remember that almost
every project must be ``sold'' to someone else. Complicated
heuristics may dazzle some people, but more likely annoy them by their
lack of clarity.
- Ease of Implementation. Heuristics eventually have to be
represented by computer code on some machine. A computer code that is
hard to code represents real production costs and is more likely to
contain programming errors that decrease the advantage of possibly
improved solutions.
- Error Bounds. Some heuristics, in addition to providing a
good solution, give an estimate of how far from optimal they are. For
instance, the minimum spanning tree heuristic can report the value of
the minimum spanning tree, and hence estimate its deviation from
optimality. Based on this bound, decisions can be made as to whether
to run more heuristics or do other work.
- Flexibility to change. Once a lot of work has been done
to find a heuristic value, it is disappointing to redo the work if
some of the numbers turn out to be wrong. The spacefilling curve
heuristic can be quickly resolved if some places are a bit off. Other
heuristics may require complete resolving.
Michael A. Trick
Tue Oct 8 08:16:54 EDT 1996