A scheduling system for choosing the most appropriate heuristic for
solving time-dependant scheduling problems. The invention includes a
means for selecting the most appropriate heuristic method for generating
a schedule from an enumerative ("brute force") method, a dynamic
programming method, and a genetic method. The invention further includes
a hashing function that is capable of detecting duplicate solutions
generated by the dynamic programming module and a height-balanced binary
tree for providing search insertion and deletion operations.