Text this: Practical genetic algorithms Randy L. Haupt and Sue Ellen Haupt