https://github.com/raulmurillo/opt_ucm
Optimization course from Master in Computer Science at Complutense University of Madrid
https://github.com/raulmurillo/opt_ucm
combinatorial-optimization computational-complexity greedy-algorithm heuristic-algorithm steiner-tree-problem travelling-salesman-problem
Last synced: 28 days ago
JSON representation
Optimization course from Master in Computer Science at Complutense University of Madrid
- Host: GitHub
- URL: https://github.com/raulmurillo/opt_ucm
- Owner: RaulMurillo
- License: mit
- Created: 2020-10-01T15:19:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-21T16:20:07.000Z (over 4 years ago)
- Last Synced: 2025-02-10T13:43:57.279Z (3 months ago)
- Topics: combinatorial-optimization, computational-complexity, greedy-algorithm, heuristic-algorithm, steiner-tree-problem, travelling-salesman-problem
- Language: Jupyter Notebook
- Homepage:
- Size: 684 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OPT_UCM
Implementation of NP-hard problems and solvers from Optimization course. Master in Computer Science at Complutense University of Madrid. Course 2020-2021.### Problems & Algorithms
- [Knapsack problem](https://en.wikipedia.org/wiki/Knapsack_problem)
- [x] [Exhaustive search](https://en.wikipedia.org/wiki/Brute-force_search)
- [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Greedy_algorithm)
- [x] [Dynamic programming](https://en.wikipedia.org/wiki/Dynamic_programming)
- [x] [FPTAS](https://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme#Deterministic)
- [Set cover problem](https://en.wikipedia.org/wiki/Set_cover_problem)
- [x] [Exhaustive search](https://en.wikipedia.org/wiki/Brute-force_search)
- [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Greedy_algorithm)
- [x] [Genetic algorithm](https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3)
- [Vertex Cover](https://mathworld.wolfram.com/VertexCover.html)
- [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Vertex_cover#Approximate_evaluation)### [Final Project](final_project)
Solving the [Steiner tree](https://en.wikipedia.org/wiki/Steiner_tree_problem) and the [travelling salesman](https://en.wikipedia.org/wiki/Travelling_salesman_problem) problems using the [River Formation Dynamics](https://en.wikipedia.org/wiki/List_of_metaphor-based_metaheuristics#River_formation_dynamics_%28Rabanal%2C_Rodr%C3%ADguez_%26_Rubio%2C_2007%29) (RFD) algorithm.### References
- [Vazirani, V. V. (2013). Approximation algorithms. Springer Science & Business Media.
](http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformatica/ad/ad_17/vazirani_knapsack.pdf)
- P. Rabanal, I. Rodríguez, and F. Rubio, “Applying river formation dynamics to solve NP-complete problems,” Stud. Comput. Intell., vol. 193, pp. 333–368, 2009, doi: [10.1007/978-3-642-00267-0_12](https://doi.org/10.1007/978-3-642-00267-0_12).