Evolving algorithms and heuristics tested on classical optimization problems, especially combinatorial optimization, routing, scheduling, packing, and search