Solving a dock assignment problem with trailer transportation using beam search Lotte Berghman, Roel Leus ORSTAT, K.U.Leuven Naamsestraat 69, 3000 Leuven, Belgium {lotte.berghman;roel.leus}@econ.kuleuven.be Mots-clés : scheduling, dock assignment, beam search 1 The problem We examine a warehouse that is used for distribution purposes. Incoming trailers need to be un- loaded after they arrive, and outgoing trailers need to be loaded before they leave. The warehouse features several gates, and each gate can hold at most one trailer. Each gate can be used for loading as well as for unloading a trailer. The site also contains a parking lot where trailers are temporarily parked. All transportation activities of trailers between this parking lot and the gates are performed by terminal tractors, which are tractors designed for use in ports, terminals and heavy industry. Each in- coming trailer, for which the planned arrival time is known (a release date), is dropped off by a trucker at the parking lot and afterwards transported to a gate by a terminal tractor. Each outgoing trailer, for which a planned departure time is known (a deadline) is available at the parking lot, and also needs to be transported to a gate by a terminal tractor. After unloading or loading at the gate, the trailer is transported back to the parking lot by a terminal tractor, where it will be picked up by a trucker later on. The objective is to find a schedule that minimizes the total weighted completion time over all trailers, where the weight of a trailer represents the importance of early processing. Medium-sized instances for this problem were solved to optimality in [1] using integer (linear) programming. For each trailer, the activities carried out consist of three stages. The first and third operation are the transportation of the trailer by a terminal tractor from the parking lot to a gate and from a gate to the parking lot, respectively. The second operation is the loading or unloading task. Notice that the same set of identical machines (the terminal tractors) executes both the first and the third stage. The transportation times are assumed to be independent of the trailer and the gate, because the time to follow the safety instructions and to couple or decouple the trailer is large compared to the actual transportation time. Another set of identical machines executes the second stage. The corresponding processing times depend on the trailer. The gate assigned to a trailer is considered to be occupied also during the transportation stages, mainly for safety reasons. Similarly to most improvement heuristics for scheduling problems, we will not operate directly on a schedule but rather on some representation of a schedule that leads to an efficient and effective functioning of the algorithm ; we opt for an activity list or sequence. A schedule representation is transformed into a schedule by means of a schedule generation scheme (for details, see [2]). We opt for a so-called serial schedule generation scheme, which iteratively selects the next task in the list and schedules it as early as possible, taking ready times, precedence constraints and capacity constraints into account. There are two particularities to our setting that hamper a straightforward scan of the set of activity lists. The first is the difficulty of producing a feasible schedule. Verifying the existence of a feasible schedule for a set of tasks with deadlines on parallel machines is NP- complete. Consequently, finding a feasible schedule for the considered flexible flow-shop problem is also NP-hard. The second inconvenience is blocking : as long as the stage-three operation for a trailer