Technische Universität Braunschweig
  • Study & Teaching
    • Beginning your Studies
      • Prospective Students
      • Degree Programmes
      • Application
      • Fit4TU
      • Why Braunschweig?
    • During your Studies
      • Fresher's Hub
      • Term Dates
      • Courses
      • Practical Information
      • Beratungsnavi
      • Additional Qualifications
      • Financing and Costs
      • Special Circumstances
      • Health and Well-being
      • Campus life
    • At the End of your Studies
      • Discontinuation and Credentials Certification
      • After graduation
      • Alumni*ae
    • For Teaching Staff
      • Strategy, Offers and Information
      • Learning Management System Stud.IP
    • Contact
      • Study Service Centre
      • Academic Advice Service
      • Student Office
      • Career Service
  • Research
    • Research Profile
      • Core Research Areas
      • Clusters of Excellence at TU Braunschweig
      • Research Projects
      • Research Centres
      • Professors‘ Research Profiles
    • Early Career Researchers
      • Support in the early stages of an academic career
      • PhD-Students
      • Postdocs
      • Junior research group leaders
      • Junior Professorship and Tenure-Track
      • Habilitation
      • Service Offers for Scientists
    • Research Data & Transparency
      • Transparency in Research
      • Research Data
      • Open Access Strategy
      • Digital Research Announcement
    • Research Funding
      • Research Funding Network
      • Research funding
    • Contact
      • Research Services
      • Academy for Graduates
  • International
    • International Students
      • Why Braunschweig?
      • Degree seeking students
      • Exchange Studies
      • TU Braunschweig Summer School
      • Refugees
      • International Student Support
    • Going Abroad
      • Studying abroad
      • Internships abroad
      • Teaching and research abroad
      • Working abroad
    • International Researchers
      • Welcome Support
      • PhD Studies
      • Service for host institutes
    • Language and intercultural competence training
      • Learning German
      • Learning Foreign Languages
      • Intercultural Communication
    • International Profile
      • Internationalisation
      • International Cooperations
      • Strategic Partnerships
      • International networks
    • International House
      • About us
      • Contact & Office Hours
      • News and Events
      • International Days
      • 5th Student Conference: Internationalisation of Higher Education
      • Newsletter, Podcast & Videos
      • Job Advertisements
  • TU Braunschweig
    • Our Profile
      • Aims & Values
      • Regulations and Guidelines
      • Alliances & Partners
      • The University Development Initiative 2030
      • Foundation University
      • Facts & Figures
      • Our History
    • Career
      • Working at TU Braunschweig
      • Vacancies
    • Economy & Business
      • Entrepreneurship
      • Friends & Supporters
    • General Public
      • Check-in for Students
      • The Student House
      • Access to the University Library
    • Media Services
      • Communications and Press Service
      • Services for media
      • Film and photo permits
      • Advices for scientists
      • Topics and stories
    • Contact
      • General Contact
      • Getting here
  • Organisation
    • Presidency & Administration
      • Executive Board
      • Designated Offices
      • Administration
      • Committees
    • Faculties
      • Carl-Friedrich-Gauß-Fakultät
      • Faculty of Life Sciences
      • Faculty of Architecture, Civil Engineering and Environmental Sciences
      • Faculty of Mechanical Engineering
      • Faculty of Electrical Engineering, Information Technology, Physics
      • Faculty of Humanities and Education
    • Institutes
      • Institutes from A to Z
    • Facilities
      • University Library
      • Gauß-IT-Zentrum
      • Professional and Personnel Development
      • International House
      • The Project House of the TU Braunschweig
      • Transfer Service
      • University Sports Center
      • Facilities from A to Z
    • Equal Opportunity Office
      • Equal Opportunity Office
      • Family
      • Diversity for Students
  • Search
  • Quicklinks
    • People Search
    • Webmail
    • cloud.TU Braunschweig
    • Messenger
    • Cafeteria
    • Courses
    • Stud.IP
    • Library Catalogue
    • IT Services
    • Information Portal (employees)
    • Link Collection
    • DE
    • EN
    • IBR YouTube
    • Facebook
    • Instagram
    • YouTube
    • LinkedIn
    • Mastodon
Menu
  • Organisation
  • Faculties
  • Carl-Friedrich-Gauß-Fakultät
  • Institutes
  • Institute of Operating Systems and Computer Networks
  • Courses
  • Summer 2025
Logo IBR
IBR Login
  • Institute of Operating Systems and Computer Networks
    • News
    • About us
      • Whole Team
      • Directions
      • Floor Plan
      • Projects
      • Publications
      • Software
      • News Archive
    • Connected and Mobile Systems
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
      • Software
      • Datasets
    • Reliable System Software
      • Overview
      • Team
      • Teaching
      • Theses & Jobs
      • Research
      • Publications
    • Algorithms
      • Team
      • Courses
      • Theses
      • Projects
      • Publications
    • Microprocessor Lab
    • Education
      • Summer 2025
      • Winter 2024/2025
      • Theses
    • Services
      • Library
      • Mailinglists
      • Webmail
      • Knowledge Base
      • Wiki
      • Account Management
      • Services Status
    • Spin-Offs
      • Docoloc
      • bliq (formerly AIPARK)
      • Confidential Technologies
    • Research Cooperations
      • IST.hub

Algorithmik-Praktikum: Solving NP-hard Problems in Practice

Semester
Summer 2025
Winter 2024/2025Summer 2024Winter 2023/2024Summer 2023Winter 2021/2022Summer 2021Winter 2020/2021
Module #INF-ALG-10
ProgrammesComputer Science Bachelor, Business Information Systems Bachelor
IBR GroupALG (Prof. Fekete)
TypeLab
Lecturer
Photo
Dr. Dominik Krupke
Wissenschaftlicher Mitarbeiter
krupke[[at]]ibr.cs.tu-bs.de
+49 531 3913112
Room 317
Credits5
Hours0+3
Time & Place

This lab is structured around intensive weekly exercises that you can complete at your own pace at home. We will hold regular support sessions where you can ask questions and present your solutions. The default session time is Tuesdays at 16:45 in IZ305, though additional slots may be offered if needed.

The lab runs for the first six to eight weeks of the semester, making it more time-intensive, with a workload of up to two days per week. It is followed by an optional team project. You can earn 5 credits for the lab and an additional 5 credits for the project. If multiple students choose to complete only the lab but not the team project, the schedule may be relaxed to allow for a more flexible timeframe.

StartKickoff: The Kickoff event will be on Monday, April 7th, 15:00-16:30 in IZ305.

(please let me know if you cannot make it to the kickoff, and we may be able to find a solution.)

Prerequisites

For a successful experience in this course and to effectively work on the projects, students are expected to meet the following prerequisites:

  1. Proficiency in Python: The course's programming components will be exclusively conducted in Python. It is essential that you have a solid grasp of Python, as there will not be sufficient time to learn the language during the course.
  2. Algorithmic Foundations:
    • Completion of Algorithms and Data Structures 1 is compulsory for foundational knowledge.
    • It is advisable to have also completed (or complete in parallel) Algorithms and Data Structures 2 to be better prepared for the more complex topics.
    • Additionally, it is beneficial to have attended Logic for Computer Scientist and Theoretical Computer Science I+II to be familiar with NP-hardness and propositional logic.
  3. Unix-Based Operating System:
    • Access to a Unix system, which could be in the form of a virtual machine, is required for the course. Students should possess a fundamental understanding of Unix command-line operations.
    • While most of the tools and software used in this course are compatible with Windows, support for Windows-specific issues cannot be guaranteed.
  4. Version Control with Git:
    • A basic familiarity with Git is needed for version control purposes. While Git skills can be acquired swiftly, students are expected to learn them independently prior to or during the initial phase of the course.

Please ensure you meet these requirements to engage fully in the course activities. If you have any questions or need clarification on the prerequisites, feel free to reach out to us.

Language German/English
CertificatesYou have to successfully complete and present all exercises.
Registration

To register for this module, write a mail to krupke@ibr.cs.tu-bs.de or sign up for the mailing list. You can cancel any time. At the beginning of the semester, you will get a mail with the details for kickoff meeting. You can also just show up at the kickoff meeting, but a registration on the mailing list is still recommendable to get all updates.

Content

Optimization challenges are pervasive across numerous real-world applications within computer science, ranging from route planning to job scheduling. Certain problems, like the shortest path, can be solved efficiently and optimally with a solid theoretical foundation. However, a significant number of these challenges are classified as NP-hard, indicating that, for these problems, there is no known algorithm capable of consistently solving every instance efficiently to proven optimality. In such instances, heuristic approaches, such as genetic algorithms, are frequently employed as practical solutions. Yet, the question arises: Is it possible to devise algorithms that yield optimal solutions within a feasible timeframe for reasonably sized instances? This laboratory course is dedicated to exploring three sophisticated techniques that hold the potential for computing optimal solutions for a vast array of problems within practical limits. These techniques include:

  • Constraint Programming with CP-SAT: This versatile methodology enables the definition of a problem’s constraints, upon which it employs a comprehensive suite of strategies, including the two techniques discussed below, to find optimal solutions.
  • SAT Solvers: Renowned for their ability to resolve extensive logical formulas, these tools can be ingeniously adapted to address optimization challenges by transforming them into logical propositions.
  • Mixed Integer Programming (MIP): This approach is adept at solving optimization problems characterized by integer and continuous variables under linear constraints.

For algorithm engineers and operations researchers, mastering these techniques opens the door to modeling and solving a wide spectrum of combinatorial optimization problems. By the end of this course, you will have acquired the skills to leverage these powerful methodologies, enabling you to approach NP-hard problems not only with theoretical insight but with practical, actionable solutions.

References
  • Discrete Optimization Course: For those who are want to dive really deep into the topic, I recommend doing this free course on Coursera in parallel. It is very intense but also very rewarding. Probably one of the best courses I have ever seen.
  • In Pursuit of the Traveling Salesman: This amazing book is not only a surprisingly good read, but also a great introduction to the field of optimization. It gives you a lot of the ideas that allow us to solve NP-hard problems in practice, while also gently introducing you to the way of thinking of an optimization expert.
  • The CP-SAT Primer: Supplementary material on constraint programming by us that became kind of a book.

last changed 2025-03-25, 16:33 by Dr. Dominik Krupke

For All Visitors

Vacancies of TU Braunschweig
Career Service' Job Exchange 
Merchandising

For Students

Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard

Internal Tools

Glossary (GER-EN)
Change your Personal Data

Contact

Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig

P. O. Box: 38092 Braunschweig
GERMANY

Phone: +49 (0) 531 391-0

Getting here

© Technische Universität Braunschweig
Imprint Privacy Accessibility