Heuristics for the traveling salesman problem with pickup and delivery