Dominik Michael Krupke

PostDoc Researcher/Teacher/Consultant at TU Braunschweig, Algorithms Division.

profile-dispu.jpg

Theoretical Mind, Practical Solutions: Mastering NP-Hard Optimization Problems.

I am interested in most aspects of algorithms and data structures, but my expertise lies in optimizing difficult, i.e., NP-hard, combinatorial problems with various techniques. My dissertation showcases large parts of my toolkit, including Mixed Integer Programming (Gurobi and CPLEX), Constraint Programming (CP-SAT of Google’s ortools), SAT-solvers, Dynamic Programming, Graph Algorithms, Approximation Algorithms, Reinforcement Learning, Meta-Heuristics, etc. There is a large overlap with the fields of Operations Research and Mathematical Optimization, but I prefer the term Algorithm Engineering as I am really focused on the algorithms and have primarily been educated by theoretical computer scientists. Thus, I am not just interested in just applying and combining these tools but also to understand how and why they work so well (or don’t). Currently, I am especially fascinated by CP-SAT because it smartly combines a lot of techniques, some of which seem unwise on first sight but work surprisingly well.

My preferred programming languages are Python and C++ (if Python is too slow or if I want to play with low level stuff).

Outside the university, I like to test and expand my physical limits in weight lifting (currently at nearly 2.5x own body weight in DL) and Krav Maga. My preferred means of transport have two wheels (cyclocross bicycle and motorcycles).


Technical Skills

  • Combinatorial Optimization: Proficient in solving NP-hard problems to optimality using techniques like Mixed Integer Programming, Constraint Programming, custom branch-and-bound algorithms, SAT-solvers, and Second Order Cone Programming.
  • Approximation & Meta-heuristics: Skilled in finding near-optimal solutions via approximation algorithms, meta-heuristics, and LNS-variants.
  • Algorithmic Foundations: Strong background in theoretical computer science, with a comprehensive understanding of algorithmic concepts and their practical applications, such as complexity, approximation, and graph theory.
  • Programming & Performance: Adept in writing maintainable Python and C++ code for complex algorithms, with expertise in performance tuning and modularization. Check out my repositories for examples.
  • Data Analysis & Visualization: Capable of managing, evaluating, and quality-checking complex data, as well as visualizing data sets for insights and decision-making. Refer to my dissertation for exemplary empirical evaluations.
  • Machine Learning: Familiar with machine learning techniques and have applied them successfully in research projects. Eager to explore their potential to augment classical algorithms, although this is neither a primary focus nor an area of expertise.

Research Skills

  • Theory-Practice Bridge: Skillful in bridging the gap between theoretical computer science and practical implementation, highlighted by interdisciplinary collaborations and consultancy.
  • Interdisciplinary Collaboration: Extensive involvement in projects across diverse fields such as robotics, bioinformatics, automotive, and satellite management.
  • Creativity & Curiosity: Demonstrated curiosity and creativity in learning and combining new techniques, as evidenced by the diverse techniques used in my dissertation and the variety of projects undertaken.

Soft Skills

  • Teaching & Presentation: Proficient in teaching and presenting complex topics, as proven by the positive evaluation of my lecture on algorithm engineering and the popularity of my online material.
  • Project Management: Experienced in managing multiple projects and student teams concurrently, as evidenced by the number of successfully completed projects.

Selected Publications

  1. msc.png
    Minimum Scan Cover with Angular Transition Costs
    Sándor P. Fekete ,  Linda Kleist ,  and  Dominik Krupke
    SIAM J. Discret. Math., 2021
  2. robust_preview.png
    Robust disease module mining via enumeration of diverse prize-collecting Steiner trees
    Judith Bernett ,  Dominik Krupke ,  Sepideh Sadegh ,  Jan Baumbach ,  Sándor P. Fekete ,  Tim Kacprowski ,  Markus List ,  and  David B. Blumenthal
    Bioinformatics, Jan 2022
  3. pcpp_example.png
    Near-Optimal Coverage Path Planning with Turn Costs
    Dominik Krupke
    In 2024 Proceedings of the Symposium on Algorithm Engineering and Experiments (ALENEX) , Jan 2024