Thesis topics

If not otherwise noted, the topics below can be handed out as either a Bachelor or Master/Diploma thesis
(with according modification to length and difficulty).
If you are interested in writing your thesis at our chair, please contact us
or come by our offices. Below is a list of current topics we deem suitable. However, other topics
probably are available at request.

Pickup and Delivery Algorithms

(Master thesis)

The Pickup and Delivery Problem consists of a graph and pairs
of nodes where goods have to be picked up and delivered. The goal
is to find a tour that minimizes the total time. It is a
generalization of TSP where you simply have to visit all nodes.

This problem has many practical applications such as moving patients
in a hospital or transporting supplies in a factory etc.

In this thesis you should implement several approaches to solve this
problem and compare them. Among them are a dynamic programming
approach, modelling it with a mixed integer linear program, and
heuristic approaches. Where appropriate the existing
approaches should also be improved both practically and with
respect to their mathematically proven worst-case running times.

Moreover, the generalization to multiple vehicles will be
considered, too.

This work will be carried out in cooperation with an industry
partner.

Requirements

Knowledge of C++ or Java

Interest in Efficient Algorithms

Sequoia vs. The World

(Bachelor thesis)

Our program Sequoia
solves EMSO-defineable problems on graphs of sufficiently small tree-width. Because
the 'programming' of the algorithm—providing an MSO-formula expressing the
problem at hand—is relatively easy, we would like to assess whether Sequoia
can be used in practice.

To that end, this thesis would pit Sequoia against well-established solvers, like
ILPs, SAT-solvers, Answer Set Programming or Pseudo-Boolean Optimization. These methods
have undergone intensive testing via open competitions and a range of solvers have emerged
as the current cutting edge. As a side-effect, a lot of test
instances are available online. In order to compete with each such solver, such tests
instance must be translated into a MSO-model checking problem over graphs. The collection
of instances and conversion into equivalent formulations for Sequoia are the essential first
step of the thesis—the second being the subsequent aggregation and evaluation of
the experimental results.

Requirements

Knowledge of C/C++

Familiarity with Linux and BASH (or another appropriate scripting language)

References

ImplementingPreprocessing Algorithms

(Bachelor thesis)

For a long time it has been known that there exist poly-time
preprocessing algorithms that, given an instance I of an ($NP$-hard)
problem, generate a smaller instance $I'$ that has a solution if and
only if $I$ has a solution. If we could find a function $f(n)$ that bounds
the size of $I'$ it would follow that $P = NP$, so if we want to say
something about the size of $I'$, we need to analyze the problem in a
different way.

In the world of fixed parameter algorithms problem instances are
broken up into a parameter $k$ and the usual input size $n$. Common
parameters are solution size, max-degree, tree-width, etc. Such a
problem is said to have a polynomial kernel if there exists a
preprocessing algorithm that given an instance $(I,k)$ generates—in
polynomial time—an instance $(I',k')$ such that both the size of $I'$ and
$k'$ are bounded by $poly(k)$.

Many such algorithms have been known for a long time, but few have
been implemented and tested. This thesis would consist of three steps:

Investigate which kernelization algorithms are most likely to work
in practice.

Implement these.

Evaluate them experimentally on synthetic and real world instances.

Requirements

Knowledge of C/C++

Familiarity with Linux and BASH (or another appropriate scripting
language)

Evaluation of randomized algorithms

Randomization is a powerful method to devise
exact algorithms for hard problems like Longest Path,
Longest Cycle
or Triangle Packing.
In particular, a technique called color coding
can be used in these instances. By the very nature
of this approach one can obtain intermediate, i.e.
non-optimal, solutions from the algorithm and thus
use it as a heuristic.

The scope of this thesis would be an experimental
evaluation and comparison of such algorithms against
well-established techniques like integer linear programming,
using both randomly generated and 'real' instances.
The primary measure would be how fast an algorithm converges
towards the optimal (or reasonably good) solution.

Heuristic distribution: using uniform distribution
for the randomization hardens the algorithms against
worst-case instances, but neglects structure present
in specific cases. How much performance can be gained
in such cases by using other distributions?

Survey of parameter-preserving reductions

In the world of fixed parameter algorithms
problem instances are broken up into a paramameter $k$
and the usual input size $n$. A problem is fixed parameter tractable
if it can be solved in time $O(f(k)\mathop{poly}(n))$ where $f$ is
some arbitrary function.

Analogous to polynomial time reductions in the case of
$NP$-hard problems, a type of reduction called
parameter preserving is used to establish relations
between problems in the class $FPT$. Such reductions can not
only be used to re-use algorithms but also establish an internal
hierarchy of running-times: informally, an increase
of the parameter during the reduction hints at the target
problem being 'harder' to solve than the source problem.

The goal of this thesis is to collect, categorize and
develop parameter-preserving reductions. Such a catalog would
constitute a valuable tool for researchers in the field.