In the planning phases of automated manufacturing, generating efficient programs for robot stations is a crucial problem which needs to be solved.
One aspect of the programming is the optimization of task sequences, such as series of welds or measuring points, so that the cycle time is minimized.
This thesis considers the task sequencing problem separately from the other problems related to robot station programming such as motion planning and collision avoidance. The stations may have a single robot or an arbitrary (but predetermined) number of robots. The robots are heterogeneous with respect to their ability to perform the different tasks, and may have several movements and angles to choose from when performing a task.
Furthermore, some processes require that the tasks are performed within some partial order. This may cause delays when there are more than one robot at a station. The task sequencing problem is then modeled as the Precedence Constrained Generalized Multiple Traveling Salesman Problem.
A metaheuristic algorithm based on Ant Colony Optimization is considered in conjunction with several different local search heuristics. The local search neighborhoods are analyzed with respect to the notion of improvement and induced delays due to precedence constraints between robots. In the single robot case, the HACS algorithm is shown to find solutions at least within 10\% of the optimum on average, often within a couple of seconds. For stations with multiple robots, the results indicate that the local search procedure is good at improving solutions but that it becomes very computationally demanding when applied to instances with a large number of precedence constraints.
Additionally, an exact branch-and-bound based algorithm is presented for single robot stations. A novel branching method is developed, a pruning technique used for a related problem is generalized, and a new way of computing an assignment problem based bound is evaluated. The algorithm is able to solve some medium sized problem instances (around 50 tasks) within 24 hours. Many of the smaller problem instances are solved within seconds.