SteffenHaeussler/discrete_optimization

Solving the Coursera online course for combinatorial optimization

★ 3Forks 0Jupyter NotebookGitHub ↗Compare

README

discrete_optimization

This is a short collection of my solutions for the Coursera online course. By far, they are not perfect and with some code review and refactoring, much higher scores could be achieved, but this course is quite hard. I'm happy, that I accomplished it. :)

Each problem is divided in 6 subproblems, which determine the score.

Problem 1: Knapsack

Dynamic Programming

Points: 60/60

Branch and Bound with BFS

Points: 50/60

computational time: < 10 seconds

OR-Tools

Points: 60/60

computational time: < 10 seconds

Problem 2: Graph Coloring

mixture between or-tools and greedy approach

Points: 51/60

Problem 3: TSP

greedy approach with 2-opt and sequential iteration (hacky)

Points: 42/60

or-tools with tabu-search

Points: 45/60

mip with or-tools with tabu-search

Points: 54/60

MIP without timebound only first 4 problems solveable in reasonable amount of time

Problem 4: Capicated facility location

MIP with OR-Tools

Points: 44/80

but no possilbe solution for 3 tasks

MIP with PySCIPOp

Points: 64/80

Problem 5: Capicated vehicle routing

or-tools with guided local search

Points: 54/60

Contributors

SteffenHaeussler

Issues