Plans and timetables can be found everywhere during our daily lives. Examples are the Dutch railway timetable, the schedule for the Dutch soccer league and the roster of nurses in hospitals or home care. Together with the increase in computing power, solution techniques for solving such real-world optimization problems improved. Currently, we are able to create excellent real-world timetables and plans. Our goal in this thesis is to solve real-world problems with sophisticated solution approaches based on mixed integer programming (MIP). For three practical planning problems we investigated whether MIP-based approaches are suitable, looking from a theoretical and practical point of view. The main question for these problems was: "Is it possible to find an optimal solution and also prove that it is optimal within an acceptable computation time using techniques for solving MIP problems". For each of the problems an exact or heuristic algorithm has been developed that provides a good or even optimal solution in a computation time that is short enough for practical use. Each of the algorithms is based on the MIP formulation of the problem. If solving it with the general purpose solver CPLEX becomes too time consuming, alternative approaches have been developed. The first two practical problems that we studied are post enrolment course timetabling problems that can arise at universities. Course timetabling is the weekly scheduling of a set of lectures for a set of university courses within a set of rooms and timeslots, minimizing the overlaps of lectures having common students. In a curriculum-based course timetabling problem conicts arise according to the curricula published by the university and not on the basis of enrolment data. In a post enrolment course timetabling problem students select the courses that they wish to attend. Section 1.3 discusses where to position these course timetabling problems in the research environment of educational timetabling. The third application that we studied is the problem of planning shunting movements at railway stations. Next to all the timetabled passenger and cargo trains, many shunting movements between platform tracks and shunting areas are carried out in and around the large stations in a railway network. Shunting movements have to provide passenger trains with the right composition of rolling stock. The rolling stock for trains that start their duty sometimes has to be picked from the shunt yard and the rolling stock of ending trains sometimes has to be brought to a shunt yard. During rush hours, passenger trains are usually operated at full capacity. However, outside rush hours an operator of passenger trains usually has a surplus of rolling stock. This surplus has to be parked at a shunting area in order to be able to fully exploit the main railway infrastructure. Section 1.4 describes the shunt planning process at Netherlands Railways and embarks the shunting problem that we consider in this thesis. Chapter 1 also provides a general introduction into combinatorial optimization and a more detailed introduction on mixed integer programming and machine scheduling. A post enrolment course timetabling problem was proposed in the second International Timetabling Competition (ITC2). A set of courses has to be assigned to a timeslot and to a room such that all students are able to attend their requested events while no two courses containing the same student have been assigned to the same timeslot and no two courses have been assigned to the same room. There are also soft constraints that make the timetable "nicer". For a detailed description of this post enrolment course timetabling problem we refer to Chapter 2. We formulated this post enrolment course timetabling problem as a MIP, but solving it with CPLEX took too much computation time. Therefore, we constructed a deterministic heuristic that assigns events to timeslots based on an LP-solution constructed with column generation. A column corresponds with a feasible assignment of events to timeslots. We get an integer solution by fixing columns one at a time. The generated solution is improved by selecting a set of events that are reassigned by solving a MIP. The comparison of the results of our heuristic with the results of the five finalists of the ITC2007, shows that our approach is competitive and even very successful in generating a feasible solution for the harder instances. A successful solution approach for a post enrolment course timetabling problem of the Department of Industrial Design at the TU Eindhoven is described in Chapter 3. Students of this department are allowed to design part of their curriculum by selecting courses from a huge course pool. They do this by handing in ordered preference lists with their favorite courses for the forthcoming time period. Based on this information and on many other constraints, the department then assigns courses to students. In Chapter 3 we explain all the constraints resulting from the situation in Eindhoven. The problem has been solved using lexicographical optimization with four subproblems. For all four subproblems, an elegant MIP formulation is given that easily can be solved with CPLEX. Chapter 4 presents two MIP formulations for the routing problem that is part of the shunt planning process. The MIP problems try to schedule the necessary shunting movements in between the passenger and cargo trains. Both models minimize the number of shunting movements that can not be planned because of lack of capacity of the infrastructure. In the first model the routes of all trains are fixed beforehand, the constructed MIP is easily solved by CPLEX. In the second model the routes of all trains at a railway station are determined by the model. The computation times for solving this last MIP model with CPLEX were too large for certain railway stations to be used in practice. Due to those large computation times we tried to get a better understanding of the routing problem by looking at a simplified model of the routing problem. This simplified model is the job shop problem with blocking and no-wait precedence constraints. The traditional job shop problem assumes that there are buffers with infinite capacity available to hold jobs between the finishing on one machine and the start of processing on the next machine. However, in many production processes and also in the routing problem these intermediate buffers are not available. The class of machine scheduling problems without intermediate buffers can be characterized by no-wait and/or blocking precedence constraints. In a no-wait environment an operation has to start immediately after its predecessor operation has been completed. So a job must be processed from start to completion without any interruption either on or between machines. Blocking occurs when a job, whose processing has been completed on a machine, remains on the machine until the successor machine becomes available for processing. This implies that the actual time an operation keeps its machine occupied is not known in advance. Several branch & bound algorithms have been developed that efficiently solve no-wait or blocking job shop problems. The algorithm selects one of the arcs for each pair of alternative arcs in the alternative graph. We show that spending time on a strong lower bound does not result in an improvement of the overall computation time. In Chapter 5 we introduce a job insertion heuristic that uses a MIP formulation of the problem and describe the branch & bound algorithms in detail. The computational results on benchmark instances of the traditional job shop are also presented. We are the fist that are able to solve medium sized benchmark instances for the no-wait job shop problem to optimality.
|Qualification||Doctor of Philosophy|
|Award date||10 Dec 2009|
|Place of Publication||Eindhoven|
|Publication status||Published - 2009|