|
| 1 | +{ |
| 2 | + "title": "min-ratio-cycle: Fast minimum cost-to-time ratio cycle detection in directed graphs", |
| 3 | + "description": "A high-performance Python library for finding minimum cost-to-time ratio cycles in directed graphs. Features NumPy-accelerated algorithms with exact Stern-Brocot search for integer inputs, comprehensive validation, performance analytics, and visualization tools. Implements Lawler's parametric search with vectorized Bellman-Ford negative cycle detection for applications in finance, operations research, network engineering, and supply chain optimization.", |
| 4 | + "creators": [ |
| 5 | + { |
| 6 | + "name": "Ribeiro, Diogo de Bastos", |
| 7 | + "affiliation": "ESMAD – Instituto Politécnico do Porto", |
| 8 | + "orcid": "0009-0001-2022-7072" |
| 9 | + } |
| 10 | + ], |
| 11 | + "contributors": [], |
| 12 | + "keywords": [ |
| 13 | + "graph algorithms", |
| 14 | + "minimum ratio cycle", |
| 15 | + "parametric search", |
| 16 | + "Bellman-Ford algorithm", |
| 17 | + "Stern-Brocot tree", |
| 18 | + "operations research", |
| 19 | + "optimization", |
| 20 | + "Python", |
| 21 | + "NumPy", |
| 22 | + "directed graphs", |
| 23 | + "cycle detection", |
| 24 | + "computational geometry", |
| 25 | + "currency arbitrage", |
| 26 | + "resource scheduling", |
| 27 | + "network routing", |
| 28 | + "supply chain optimization" |
| 29 | + ], |
| 30 | + "access_right": "open", |
| 31 | + "license": { |
| 32 | + "id": "MIT" |
| 33 | + }, |
| 34 | + "upload_type": "software", |
| 35 | + "publication_date": "2025-01-17", |
| 36 | + "version": "0.1.0", |
| 37 | + "language": "eng", |
| 38 | + "subjects": [ |
| 39 | + { |
| 40 | + "term": "Computer Science", |
| 41 | + "identifier": "https://id.loc.gov/authorities/subjects/sh85029552.html", |
| 42 | + "scheme": "url" |
| 43 | + }, |
| 44 | + { |
| 45 | + "term": "Mathematics", |
| 46 | + "identifier": "https://id.loc.gov/authorities/subjects/sh85082139.html", |
| 47 | + "scheme": "url" |
| 48 | + }, |
| 49 | + { |
| 50 | + "term": "Operations Research", |
| 51 | + "identifier": "https://id.loc.gov/authorities/subjects/sh85094935.html", |
| 52 | + "scheme": "url" |
| 53 | + } |
| 54 | + ], |
| 55 | + "related_identifiers": [ |
| 56 | + { |
| 57 | + "relation": "isSupplementTo", |
| 58 | + "identifier": "https://doi.org/10.4230/LIPIcs.ICALP.2017.124", |
| 59 | + "resource_type": "publication-article" |
| 60 | + }, |
| 61 | + { |
| 62 | + "relation": "isDocumentedBy", |
| 63 | + "identifier": "https://min-ratio-cycle.readthedocs.io/", |
| 64 | + "resource_type": "other" |
| 65 | + }, |
| 66 | + { |
| 67 | + "relation": "isIdenticalTo", |
| 68 | + "identifier": "https://github.com/DiogoRibeiro7/min-ratio-cycle", |
| 69 | + "resource_type": "software" |
| 70 | + }, |
| 71 | + { |
| 72 | + "relation": "isVersionOf", |
| 73 | + "identifier": "https://pypi.org/project/min-ratio-cycle/", |
| 74 | + "resource_type": "software" |
| 75 | + } |
| 76 | + ], |
| 77 | + "references": [ |
| 78 | + "Bringmann, K., Hansen, T. D., & Krinninger, S. (2017). Improved Algorithms for Computing the Cycle of Minimum Cost-to-Time Ratio in Directed Graphs. In 44th International Colloquium on Automata, Languages, and Programming (ICALP 2017). https://doi.org/10.4230/LIPIcs.ICALP.2017.124", |
| 79 | + "Lawler, E. L. (1976). Minimum-mean-weight cycles and minimum ratio spanning trees. Combinatorial algorithms, 201-209. Academic Press.", |
| 80 | + "Graham, R. L., Knuth, D. E., & Patashnik, O. (1994). Concrete mathematics: a foundation for computer science (2nd ed.). Addison-Wesley.", |
| 81 | + "Harris, C. R., et al. (2020). Array programming with NumPy. Nature, 585(7825), 357-362. https://doi.org/10.1038/s41586-020-2649-2" |
| 82 | + ], |
| 83 | + "notes": "This software implements state-of-the-art algorithms for the minimum cost-to-time ratio cycle problem, providing both exact and approximate solutions with comprehensive validation and performance analytics. The library is designed for research and industrial applications in optimization, finance, and operations research.", |
| 84 | + "method": "The software implements Lawler's parametric search algorithm combined with vectorized Bellman-Ford negative cycle detection. For integer weights, exact solutions are computed using Stern-Brocot tree search to eliminate floating-point precision errors.", |
| 85 | + "funding": [], |
| 86 | + "grants": [], |
| 87 | + "thesis_supervisors": [], |
| 88 | + "thesis_university": "", |
| 89 | + "imprint_publisher": "", |
| 90 | + "imprint_isbn": "", |
| 91 | + "partof_title": "", |
| 92 | + "partof_pages": "", |
| 93 | + "journal_title": "", |
| 94 | + "journal_volume": "", |
| 95 | + "journal_issue": "", |
| 96 | + "journal_pages": "", |
| 97 | + "conference_title": "", |
| 98 | + "conference_acronym": "", |
| 99 | + "conference_dates": "", |
| 100 | + "conference_place": "", |
| 101 | + "conference_url": "", |
| 102 | + "conference_session": "", |
| 103 | + "conference_session_part": "", |
| 104 | + "communities": [ |
| 105 | + { |
| 106 | + "identifier": "zenodo" |
| 107 | + } |
| 108 | + ], |
| 109 | + "custom": { |
| 110 | + "programming_language": [ |
| 111 | + { |
| 112 | + "name": "Python", |
| 113 | + "version": ">=3.10" |
| 114 | + } |
| 115 | + ], |
| 116 | + "software_dependencies": [ |
| 117 | + "numpy>=1.25", |
| 118 | + "matplotlib>=3.7", |
| 119 | + "networkx>=3.2", |
| 120 | + "psutil>=7.0" |
| 121 | + ], |
| 122 | + "operating_systems": [ |
| 123 | + "Linux", |
| 124 | + "Windows", |
| 125 | + "macOS" |
| 126 | + ], |
| 127 | + "architectures": [ |
| 128 | + "x86_64", |
| 129 | + "ARM64", |
| 130 | + "Apple Silicon" |
| 131 | + ], |
| 132 | + "development_status": "Stable", |
| 133 | + "intended_audience": [ |
| 134 | + "Researchers", |
| 135 | + "Data Scientists", |
| 136 | + "Operations Research Practitioners", |
| 137 | + "Financial Analysts", |
| 138 | + "Network Engineers" |
| 139 | + ], |
| 140 | + "software_type": "Library", |
| 141 | + "repository_stats": { |
| 142 | + "lines_of_code": "~5000", |
| 143 | + "test_coverage": ">95%", |
| 144 | + "documentation_coverage": "100%" |
| 145 | + } |
| 146 | + } |
| 147 | +} |
0 commit comments