Theses
You are looking for a B.Sc. or M.Sc. Thesis topic in operations research or mathematical optimization? Below you will find useful information.
At a Glance
You are a student of mathematics, computer science, business and economics, or industrial engineering. You have a profound knowledge in operations research or mathematical optimization, e.g., from our courses or seminars. Typically, your implementation skills are good or better. You write your thesis in English or German, and of course using LaTeX.
Topics range from theoretical/structural analysis/improvement of optimization problems/algorithms and/or their modeling/implementation and/or their experimental evaluation. Should you be working on a practically motivated problem you often deal with the entire OR/analytics process. In that case you have participated in out course "practical optimization" and maybe also in an "OR lab."
In case you are specifically interested in branch-and-price, in particular in GCG, or you like the combination of optimization and machine learning, we will always find a challenging and interesting topic for you. If you have a concrete idea about your thesis already or look for something different than you find here, please contact Marco Lübbecke.
Open Thesis Topics
In this article
A Computational Investigation on the Strength of Dantzig-Wolfe Reformulations
we experimentally compute for "all" possible Dantzig-Wolfe reformulations of a (small) integer programthe strength of the resulting dual bound. To this end, we take all (exponentially many) subsets of constraints, perform the DW reformulation on the respective subset, and solve the root node to obtain the dual bound. One might expect to see many different value for the dual bound, but quite to the contrary, there are only very few different values. The reason is that many reformulations lead to the same dual bound, and the question is: why? In the conclusions of the above article we conjecture the existence of very few representatives of reformulations which together form a "hierarchy" of (stronger and stronger) relaxations, from the LP relaxtion to the integer hull.
In this thesis you will approach this conjecture theoretically and experimentally.
We develop the source-open solver GCG for structured integer programs (and when you want to embark on this topic, you will probably already have worked with it). GCG is based on the SCIP framework, for which there is (among others) a C/C++ API, and a Python API, which is called PySCIPOpt. In this thesis project, you will extend this Python interface to GCG. You need a solid knowledge in integer programming, Dantzig-Wolfe reformulation, column generation, branch-and-price. Yet, foremost, this is a topic of good software development and craftpersonship. The existing C/C++ API needs some love before the most important methods can be created in the (extension of the) PySCIPOpt Python API. As a documentation of the new API you develop an example branch-and-price project.
The Python API is the most wanted GCG feature, and the scientific community will be forever in your debt.
Integer programs are used as models in many publications about optimization problems in science and applications. We often see a different modeling approach that would lead to a column generation and branch-and-price approach, that has not been followed by the authors. In your thesis you take such an approach, formulate an alternative model, how to state the master and pricing problems, decide which algorithms to apply or design or adapt new ones, think about performance enhancements, implement everything in SCIP or ideally directly in GCG and compare your approach to the one in the literature. Theoretical components like thinking about computational complexity, exploiting combinatorial structure etc. are most welcome, too.
We develop the generic branch-and-price solver GCG. GCG implements several classic branching rules like branching on original variables, Ryan-Foster branching for set partitioning problems, and also Vanderbeck's generic branching. There are no general computational comparisons of branching rules in the literature concerning branch-and-price. You will do such an experimental study in this thesis. You design and implement rules from the literature like strong branching, run experiements to evaluate the performance of the rules and inverstigate e.g., the influence of the choice of row pairs in Ryan-Foster branching and how an intelligent choice can look like. You conclude with a major computational study of branching rules across several applications.
In their paper Combinatorial Attacks on Binarized Neural Networks the authors "attack" a binarized neural network (which is one with weights only 0 and 1). The "attacks" are small changes to the data such that the network misclassifies the input. To construct such attacks, the authors propose a mixed-integer program which, for larger inputs, does not solve in an acceptable amount of computing time. In this thesis project, you will conceive different way of modeling (as an integer program), implement (potentially) a branch-and-price approach, and experimentally compare against the literature. If successful, the results of this thesis can be turned into a scientific publication.
In this thesis we look for optimization models and algorithms that can be used for rectilinear picture compression for monochrome digital images. One can cover the pixels of an image with rectangles or more complicates shapes. Doing this with a minimum number of suitable shapes turns the task into an optimization problem. We can build on a preliminiary work here. Potentially, on has to dynamically build/select the shapes in a column generation approach which makes the problem also algorithmically interesting. It goes without saying that this topic is a rich playground for implementations and (graphically appealing) experiments.
We develop the source-open solver GCG for structured integer programs (and when you want to embark on this topic, you will probably already have worked with it). GCG is written in C/C++ and is based on the SCIP framework, for which a suite of example projects is available that document the use of the framework. In this thesis project, you will develop such example projects for GCG. These projects simultaneously serve as end-to-end (full stack) tests of certain components of the solver. You have a great expertise in software development (in particular in C/C++) and some understanding of end-to-end testing. If you want to apply this knowledge in a practice project (i.e., on GCG) this thesis is for you.
Dantzig-Wofe reformulations an Benders decomposition are standard techniques to strengthen the relaxation of a MIP. We develop the source-open solver GCG for structured integer programs which automatically employs these techniques. As part of its functioning, GCG has to "detect" model structure in the MIP coefficient matrix which allow a reformulation.
MIP presolve comprises techniques that are applied to a MIP before it is actually solved, in order to simplify or strengthen the model, eliminate redundant information, strengthen inequalities, restrict the domains of variables, etc. Often, a MIP becomes solvable in acceptable time only because presolve was applied. Yet, decomposable model structure can be "destroyed" or "masked" by presolve, which hinders GCG's detection of such structure. Sometimes, GCG detects "better" model structure on the presolved model.
In this thesis project, common presolve techniques should be evaluated theoretically and experimentally with regard for their impact on model structure and its detectability.
Faciliy location is a classical OR problem. From a set of potential capacitated locations one has to open a subset, and assign customers to opened locations in such a way that the capacity constraint is not exceed. In this thesis project we extend this problem in a temporal manner. Customers have a demand only in a (given) time window, need to be assigned to opened locations in such a way that the capacity constraints are not exceed at no point in time.
One motivation to study this problem comes from the location of charging stations for electric vehicles. The strategic locatin decision mixes with the operational demand for electricity. The literature knows a temporal extension of the knapsack problem, and also a temporal extension of the bin packing problem. Both are attacked using a branch-and-price approach which is a fruitful approach also for the temporal extension of the facility location problem. To design this approach, based on the literature, implement and experimentally test it is the subject of this thesis project.
Selection of Completed Theses
In this thesis, we investigate possible optimisations of the aeroplane boarding process. To accomplish this, we define and mathematically model the process, formulate it as a minimisation problem, and propose a solution procedure. We show that the problem is computationally hard in a theoretical sense and investigate the quality of heuristic approaches as well as some of its online properties.
The boarding process is of particular interest for airlines to improve profitability as well as customer satisfaction. Since boarding policy changes pose a lower implementation barrier than buying new planes or making changes to existing infrastructure, advances in aeroplane boarding research have the potential to positively impact customers and airlines relatively immediately.
This thesis aims to evaluate the boundaries of neural network training using
mixed-integer optimization. Neural networks are a powerful machine learn-
ing technique that is able to classify data non-linearly. This technique is
applied to a lot of different tasks. However, traditional approaches to neural
network training can get stuck in local minima, while algorithms exist that
solve a mixed-integer optimization problem optimally. The goal of this thesis
in the context of mixed-integer programming. We start by showing which
kind of activation functions can be expressed by a mixed-integer program
(MIP). After that variants of neural network training using mixed-integer
programming are presented and it is shown which activation functions can
be incorporated into these variants. Finally, we use a blackbox-solver to ap-
ply the resulting models to the parity function and evaluate the performance
of our approaches.
We introduce an optimization problem on graphs called Connected Vertex Clustering Problem (CVCP). The input consists of a finite graph, arbitrary linear constraints to restrict the set of feasible clusters and a linear objective function. The expected solution is a vertex clustering that optimizes the objective under the condition that each cluster induces a connected subgraph and satisfies the custom constraints. Besides partitional clustering, i.e., node partitioning, the solution may also be restricted to packings or coverings of nodes. We show that this highly configurable problem is NP-hard and propose a branch-and-price method as a solution approach. The suggested method is implemented as a framework which is capable of solving arbitrary CVCP instances. The framework can easily be extended with new features due to its plug-in architecture. This allows to exploit the characteristics of specific variants of the CVCP in order to enhance the efficiency of the solution process. We evaluate the developed framework on a districting problem for the German federal elections and on the Odd Cycle Packing Problem.
Dantzig-Wolfe (DW) reformulation is a well-known approach to produce strong dual bounds for Mixed-Integer Programs (MIPs). If a MIP has a special structure which can be exploited well by a DW reformulation the solver could be much faster on the reformulated model than on the original. Otherwise the solver may fail completely. Providing a strong DW reformulation typically requires enhanced knowledge about the underlying model structure of the MIP which makes an automatic reformulation without such knowledge difficult. Despite this problem there have been several approaches proposed which implement such an automatic DW reformulation process into a state-of the-art MIP solver, especially the Generic Column Generation (GCG) framework [1]. In such frameworks the detection of a decomposition that exploits the underlying model structure is one of the most important aspects. GCG for example uses different detectors that use heuristics and clustering algorithms to generate a set of possible decompositions. Recently supervised learning algorithms have been applied by Kruber et al. [2] to decide if a reformulation of the model should be solved (and also which if several have been detected) or if the original model should better be solved by a standard solver. These first promising results showed that machine learning could be a useful support in this decision process. Besides this single question there might be other decisions in the entire process that could also potentially benefit by the use of supervised machine learning.
The bachelor thesis deals with solving multi-commodity flow problems. These kinds of problems occur in different everyday situations. For example, the transport of goods in distribution networks or the movement of messages in communication networks. In addition to the considerable size of these flow problems, which often occurs, there can be further complicating constraints on nodes, edges, or goods. In the context of the work, an alternative solution approach for minimal-cost multi-commodity flow problems, which is based for the most part on the computation of k-shortest paths, is developed. Based on optimally solved single-sink single-source single-commodity flow sub-problems, whose accumulated solutions are usually an inadmissible solution of the multi-commodity flow, the developed solution approach tries to obtain a feasible solution by rerouting the flow of edges that are infeasible in the original problem. The developed approach will be evaluated in a feasibility study based on a real use case, which is a time-expanded distribution network of an automobile manufacturer with limitations on edges and goods.
In automotive industry long delivery periods and the Just-In-Time production yield to an inflexible production plan for several weeks. At the same time the exact prediction of incoming customer orders is nearly impossible due to mass customization. However, mass customization is a core concept of automotive industry. In combination with time consumption requirements these conditions generate a challenging problem in practice. This thesis is about presenting an algorithm, where mixed integer programming is used to reduce the average waiting period for an ordered car. Based on an existing production schedule the algorithm is able to determine an optimal rescheduling with respect to restrictions in warehousing and customer preferences to guarantee the earliest possible delivery date.
Further extensions to this model can include a differentiation by age and/or gender to obtain a more diverse/equal group set-up. Also the number of previously participated dinners might be taken into consideration.
The student will develop an integer program that solves the consecutive dinner problem as well as implement the program. Real life instances will be provided to test the IP. Therefore, the student must know how to develop a mathematical program as well as how to implement IPs in C/C++ or Java.
In this Master Thesis we consider the problem of covering rectilinear polygons by the
minimum number of axis-parallel rectangles. This problem finds applications in the
fabrication of DNA chip arrays [Hannenhalli et al. 2002], in VLSI design, where the
rectilinear polygon is a chip that has to be covered by a huge number of rectangular
transistors.
Other applications are data compression and in particular image compression, where
large rectangular areas with the same color can be compressed into one pixel.
This work evaluates whether optimization problems resulting from modelling the optimal synthesis, design and operation of a decentralized energy supply system have an embedded structure which can be exploited by decomposition methods in solution algorithms. The objective is to determine if the the accuracy and/or the problem size in terms of number of periods of time and number of units considered may be increased, as these are limited if the branch-and-bound method combined with the simplex method is used to solve the problems. A model of the problem is formulated as a mixed-integer linear program as proposed by Yokoyama et al. (2002) and Voll (2013). The model is analyzed and two embedded structures suitable for decomposition are identified.
The first structure emphasizes the independent operation and design of every component. The second structure emphasizes the design and operation of all components and focuses on the independence of every period of time considered. The model is reformulated using the Dantzig-Wolfe decomposition principle for both proposed embedded structures. A numerical study is conducted where the synthesis, design and operation of a fictional energy supply system is optimized by both the branch-and-bound method combined with the simplex method and by the branch-and-price method. A set of instances is created for different degrees of complexity in terms of the number of units and the number of periods of time considered.
The results show that the dual bounds obtained by solving the rootnode LP relaxation can be improved in comparison to the conventional solution approach, if the reformulation emphasizing independent components is utilized. The results provide no evidence on improvements on the considered test set for the reformulation emphasizing design and operation. For the case of an optimal solution computing times required to solve the considered instances of a test set are found to be reduced by utilizing the branch-and-price method and the reformulation emphasizing components, if identical components are considered in the energy supply system in comparison to the non-commercial solver SCIP.
The Steiner tree packing problem is a long studied problem in combinato-
rial optimization. In contrast to many other problems, where an enormous
progress has been made in the practical problem solving, the Steiner tree
packing problem remains very difficult. Most heuristics schemes are ineffec-
tive and even finding feasible solutions is already NP -hard. What makes this
problem special, is that in order to reach an overall optimal solution non-
optimal solutions to the underlying NP -hard Steiner tree problems must be
used. Any non-global approach to the Steiner tree packing problem is likely
to fail. Integer programming is currently the best approach for computing
optimal solutions.
The goal of this master thesis is to give a survey of models relating to the
Steiner tree packing problem from the literature. In addition, a closer look
at a model for the switchbox routing problem in VLSI-Design will be given.
When reformulating a given mixed integer program by the use of classical Dantzig-Wolfe decomposition, a subset of the constraints is partially convexified, which corresponds to implicitly adding all valid inequalities for the associated integer hull. Since these inequalities are not known, a solution of the original linear programming (LP) relaxation which is obtained by transferring an optimal basic solution of the reformulated LP relaxation is in general not basic. Hence, cutting planes which are separated using a basis like Gomory mixed integer cuts are usually not directly applicable when separating such a solution.
Nevertheless, we can use some crossover method in order to obtain a basic solution which is nearby the considered non-basic solution and generate cutting planes for the basic solution using its basis information. These cutting planes might also the solution we originally wanted to separate. So far, this problem was only considered extensively by Range, who proposed the previously described approach including a particular crossover method. We present a modified crossover method and extend this procedure by considering additional valid inequalities strengthening the original LP relaxation. Furthermore, we provide the first full implementation of a separator like this and tested it on instances of several problem classes.