Skip to content
View d-krupke's full-sized avatar

Organizations

@CG-SHOP @tubs-alg

Block or report d-krupke

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
d-krupke/README.md

Dr. Dominik Krupke

PostDoc Researcher & Freelance Algorithm Engineer

TU Braunschweig, Algorithms Group (Prof. Fekete)

I research, teach, and consult in algorithm engineering, specializing in NP-hard combinatorial optimization problems by leveraging Mixed Integer Programming, Constraint Programming, SAT solvers, graph algorithms, and meta-heuristics. My key strength is in my full-stack expertise, blending theoretical computer science, operations research, mathematical optimization, data science, and robust software engineering. In my roles at the university and as a freelance consultant, I have successfully applied my skills across diverse projects, and I am always open to further opportunities that let me deepen and broaden my skill set.

How my combined skills add value:

  • Theoretical Computer Science & Algorithm Engineering: My background enables me to abstract problems, identify their complexities, and recognize practical implications beyond worst-case analyses. I know when to trust O-notation, and when not.
  • Mathematical Optimization & Software Engineering: I efficiently translate problems into mathematical formulations and troubleshoot solver performance. I also employ Test-Driven Development and strong software engineering practices to ensure robust, maintainable code, minimizing hidden bugs and maximizing agility.
  • Operations Research & Practical Deployment: My consulting experience enables me to adapt theoretical algorithms effectively to real-world scenarios, smoothly transitioning between theoretical abstractions and practical deployments (e.g., Linux servers, CI/CD, Docker).
  • Generalist Insight: Familiarity with various optimization techniques allows me to choose the most suitable tools, avoid biases toward particular methods, and creatively misuse techniques to solve unconventional challenges effectively.
  • Cross-Disciplinary Agility: Working concurrently in research, teaching, and consulting, I rapidly adapt to diverse problems, bridging gaps between academic theory, textbook scenarios, and practical solutions.

Key Contributions:

Pinned Loading

  1. cpsat-primer cpsat-primer Public

    The CP-SAT Primer: Using and Understanding Google OR-Tools' CP-SAT Solver

    Jupyter Notebook 664 54

  2. tubs-alg/SampLNS tubs-alg/SampLNS Public

    An LNS-based algorithm with lower bound computation for pairwise configuration sampling.

    Jupyter Notebook 3

  3. CP-SAT-Log-Analyzer CP-SAT-Log-Analyzer Public

    A webapp that visualizes and annotates your ortools' CP-SAT logs. Partially inspired by gurobi-logtools.

    Python 54 4

  4. slurminade slurminade Public

    A decorator-based slurm runner.

    Python 15 4

  5. skbuild-conan skbuild-conan Public

    An extension for scikit-build to add C++-dependencies as easily as Python dependencies via conan.

    Python 7 5

  6. ALENEX24-partial-coverage-path-planning ALENEX24-partial-coverage-path-planning Public

    Code and Data for the Paper "Near-Optimal Coverage Path Planning with Turn Costs" ALENEX 2024

    Jupyter Notebook 28 2