Scheduling Tests on Vehicle Prototypes using Constraint Programming Kamol Limtanyakul , Uwe Schwiegelshohn Robotics Research Institute, Dortmund University, 44227 Dortmund, Germany, {kamol.limtanyakul, uwe.schwiegelshohn}@udo.edu In this paper, we address the problem of scheduling tests on vehicle prototypes using Constraint Programming. The problem originates in the automotive industry where a manufacturer must perform several hundreds of tests on prototypes before starting mass production of a vehicle. Each test must be allocated to an appropriate prototype with respect to hardware requirements. Further, it is necessary to observe various test dependencies. The manufacturer is interested in reducing the number of prototypes to save test costs and in minimizing the makespan in order to start the production as early as possible. We formulate the problem using Constraint Programming with the makespan being the primary objective. The number of prototypes is a parameter which must be specified before starting the optimization procedure. Using exemplary input data given from a car manufacturer, we solve this single objective optimization problem several times for different values of our parameter to determine the relation between the number of prototypes and the corresponding makespan. We are able to either find the optimal solution or at least a good feasible solution within a reasonable computational time even for our largest problem size comprising about five hundreds tests and more than one hundred prototypes. Keywords: Applications, Constraint Logic Programming, Machine Scheduling 1 Introduction In the automobile industry, a manufacturer must typically perform several hundred tests on vehi- cle prototypes before a vehicle series goes into production. These prototypes are handmade and expensive (between 0.5 to 1.5 Million Euro each). Most prototypes can be used for several tests if the tests are arranged in an appropriate order. For instance, any crash test must obviously be the last test on this prototype. This leads to a parallel machine scheduling problem with prototypes and tests being machines and jobs, respectively. Therefore, we must determine the allocation of tests to prototypes and the appropriate sequence for all tests allocated to a prototype. Ignoring cost differences between different versions of prototypes, the problem has two major objectives as we want to minimize the number of prototypes required to perform all tests and the makespan of the schedule in order to start the production as early as possible. Further, there are many additional constraints. For instance, each prototype is a combination of different kinds of components, like engine or gear box. Due to various incompatibilities between those components, this produces in practice up to 600 possible variants with different costs and production times. Of course, we can only allocate a test to a prototype if this prototype satisfies the component requirements of this test. For instance, while a prototype with a gasoline engine is not suited to execute a diesel engine test it does not matter which kind of engine is used to perform a brake system test. However note that we do not yet consider how to configure a proper prototype variant as this requires further technical information to match various components, for instance. The list of possible variants is previously determined by the manufacturer and can be 336 MISTA 2007