An open API service indexing awesome lists of open source software.

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

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).