{"id":23189637,"url":"https://github.com/raulmurillo/opt_ucm","last_synced_at":"2025-08-14T21:15:56.104Z","repository":{"id":134926003,"uuid":"300325289","full_name":"RaulMurillo/OPT_UCM","owner":"RaulMurillo","description":"Optimization course from Master in Computer Science at Complutense University of Madrid","archived":false,"fork":false,"pushed_at":"2021-01-21T16:20:07.000Z","size":700,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T13:43:57.279Z","etag":null,"topics":["combinatorial-optimization","computational-complexity","greedy-algorithm","heuristic-algorithm","steiner-tree-problem","travelling-salesman-problem"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RaulMurillo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-01T15:19:16.000Z","updated_at":"2021-01-21T16:20:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd3b02a0-11ec-42e5-a32d-bc051190c749","html_url":"https://github.com/RaulMurillo/OPT_UCM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaulMurillo%2FOPT_UCM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaulMurillo%2FOPT_UCM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaulMurillo%2FOPT_UCM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RaulMurillo%2FOPT_UCM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RaulMurillo","download_url":"https://codeload.github.com/RaulMurillo/OPT_UCM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294550,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["combinatorial-optimization","computational-complexity","greedy-algorithm","heuristic-algorithm","steiner-tree-problem","travelling-salesman-problem"],"created_at":"2024-12-18T11:20:57.066Z","updated_at":"2025-04-05T06:13:13.780Z","avatar_url":"https://github.com/RaulMurillo.png","language":"Jupyter Notebook","readme":"# OPT_UCM\nImplementation of NP-hard problems and solvers from Optimization course. Master in Computer Science at Complutense University of Madrid. Course 2020-2021.\n\n### Problems \u0026 Algorithms\n- [Knapsack problem](https://en.wikipedia.org/wiki/Knapsack_problem)\n  - [x] [Exhaustive search](https://en.wikipedia.org/wiki/Brute-force_search)\n  - [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Greedy_algorithm)\n  - [x] [Dynamic programming](https://en.wikipedia.org/wiki/Dynamic_programming)\n  - [x] [FPTAS](https://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme#Deterministic)\n- [Set cover problem](https://en.wikipedia.org/wiki/Set_cover_problem)\n  - [x] [Exhaustive search](https://en.wikipedia.org/wiki/Brute-force_search)\n  - [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Greedy_algorithm)\n  - [x] [Genetic algorithm](https://towardsdatascience.com/introduction-to-genetic-algorithms-including-example-code-e396e98d8bf3)\n- [Vertex Cover](https://mathworld.wolfram.com/VertexCover.html)\n  - [x] [Greedy algorithm](https://en.wikipedia.org/wiki/Vertex_cover#Approximate_evaluation)\n\u003c!---- [Minimum Vertex Cover](https://mathworld.wolfram.com/MinimumVertexCover.html) ---\u003e\n\n### [Final Project](final_project)\nSolving 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.\n\n### References\n- [Vazirani, V. V. (2013). Approximation algorithms. Springer Science \u0026 Business Media.\n](http://didawiki.cli.di.unipi.it/lib/exe/fetch.php/magistraleinformatica/ad/ad_17/vazirani_knapsack.pdf)\n- 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).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulmurillo%2Fopt_ucm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraulmurillo%2Fopt_ucm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulmurillo%2Fopt_ucm/lists"}