First of all, I would like to express my gratitude to my supervisor Tamás Kis. Tamás was my supervisor also in MSc thesis, and he invited me to work together at SZTAKI. I am grateful to him for his time, patience, advice and guidance in our work.I am thankful to my teachers at the university for treating me as a colleague from the beginning, to the Research Laboratory on Engineering & Management Intelligence for providing me with everything I need at a workplace, and to my colleagues for making workdays colorful.Last but not least, I cannot be grateful enough to my family and friends for all their help and support.My research was supported by the GINOP-2.3.2-15-2016-00002 grant on an "Industry 4.0 research and innovation center of excellence", and by the Young Researcher Scholarship of the Hungarian Academy of Sciences. v
Exact algorithms or heuristics?Facing a hard problem, we can use two types of solution approaches: exact algorithms and heuristics. Exact algorithms are guaranteed to find an optimal solution, however, it may require plenty of time. In contrast, heuristics does not guarantee optimality, however, finds a fair enough solution in a shorter execution time. So there is a trade-off between these approaches we need to deal with. Although everybody desires an optimal solution to their problem, since it minimizes the costs or maximizes the profit, we may not insist on such a solution within a reasonable running time due to the complexity of the problem. For example, in case of vehicle and crew scheduling problems the exact solution of an instance taken from a middle-sized city (e.g., there are 2763 timetabled trips on an average workday in Szeged, Hungary) is not possible ( Árgilán et al., 2010). Despite all the difficulties mentioned so far, for all the problems investigated in this thesis we provide exact algorithms. In addition, for one of these problems we also present an approximation algorithm, i.e., an algorithm which guarantees that its returned solution is within a multiplicative factor of the optimal solution. In all these exact algorithms, integer programming approaches play a key role.
Integer programming approachesA well-established technique to create an exact solution approach is to formulate the given problem as an integer linear program (ILP) and solve it with a branch-and-bound type algorithm. Such a formulation consists of integer variables (i.e., variables that should take integer values in the solution), linear constraints (or inequalities) and a linear objective function such that the feasible solutions of the formulation represent the feasible solutions of the problem. To solve an ILP problem one can adapt a branch-and-bound procedure which splits up the problem into smaller subproblems and discards those that are not promising an optimal solution for the original problem.Although several softwares have been developed to solve ILP problems, these are usually struggling on hard problems that we consider in this thesis. One of the main reasons for this is that these are general solve...