Stacker crane problem
In combinatorial optimization, the stacker crane problem is an optimization problem closely related to the traveling salesperson problem. Its input consists of a collection of ordered pairs of points in a metric space, and the goal is to connect these points into a cycle of minimum total length that includes all of the pairs, oriented consistently with each other. It models problems of scheduling the pickup and delivery of individual loads of cargo, by a stacker crane, construction crane or (in drayage) a truck, in a simplified form without constraints on the timing of these deliveries. It  was introduced by , with an equivalent formulation in terms of mixed graphs with directed edges modeling the input pairs and undirected edges modeling their distances. Frederickson et al. credit its formulation to a personal communication of Daniel J. Rosenkrantz. The stacker crane problem can be viewed as a generalization of the traveling salesperson problem in metric spaces: any instance of the traveling salesperson problem can be transformed into an instance of the stacker crane problem, having a pair formula_1 for each point in the travelling salesman instance. In the other direction, the stacker crane problem can be viewed as a  special case of the asymmetric traveling salesperson problem, where the points of the asymmetric traveling salesperson problem are the pairs of a stacker crane instance and the distance from one pair to another is taken as the distance from the delivery point of the first pair, through its pickup point, to the delivery point of the second pair. Because it generalizes the traveling salesperson problem, it inherits the same computational complexity: it is NP-hard, and at least as hard to approximate. An approximation algorithm based on the Christofides algorithm for the traveling salesperson problem can approximate the solution of  the stacker crane problem to within an approximation ratio of 9/5. The problem of designing the back side of an embroidery pattern to minimize the total amount of thread used is closely related to the stacker crane problem, but it allows each of its pairs of points (the ends of the visible stitches on the front side of the pattern) to be traversed in either direction, rather than requiring the traversal to go through all pairs in a consistent direction. It is NP-hard by the same transformation from the traveling salesperson problem, and can be approximated to within an  approximation ratio of 2. Another variation of the stacker crane problem, called the dial-a-ride problem, asks for the minimum route for a vehicle to perform a collection of pickups and deliveries while allowing it to hold some number of loads at any point along its route.