{"id":15289173,"url":"https://github.com/vagmcs/optimus","last_synced_at":"2025-04-13T02:12:14.242Z","repository":{"id":24978343,"uuid":"28396753","full_name":"vagmcs/Optimus","owner":"vagmcs","description":"Optimus is a mathematical programming library for Scala.","archived":false,"fork":false,"pushed_at":"2024-12-02T16:41:19.000Z","size":518,"stargazers_count":142,"open_issues_count":1,"forks_count":28,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-04T04:11:10.517Z","etag":null,"topics":["algebra","integer-programming","linear-programming","optimization","quadratic-programming","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vagmcs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2014-12-23T12:23:36.000Z","updated_at":"2025-01-20T10:49:41.000Z","dependencies_parsed_at":"2024-06-19T02:51:52.260Z","dependency_job_id":"bda19bc4-00a2-4441-8ff5-3f76c0cbd27d","html_url":"https://github.com/vagmcs/Optimus","commit_stats":{"total_commits":247,"total_committers":9,"mean_commits":"27.444444444444443","dds":0.09311740890688258,"last_synced_commit":"c7515295018edf5a179b4791177f1433419fd2af"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vagmcs%2FOptimus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vagmcs%2FOptimus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vagmcs%2FOptimus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vagmcs%2FOptimus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vagmcs","download_url":"https://codeload.github.com/vagmcs/Optimus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654089,"owners_count":21140236,"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":["algebra","integer-programming","linear-programming","optimization","quadratic-programming","scala"],"created_at":"2024-09-30T15:59:29.493Z","updated_at":"2025-04-13T02:12:14.225Z","avatar_url":"https://github.com/vagmcs.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Optimus\n\n[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0)\n![Optimus workflow](https://github.com/vagmcs/Optimus/actions/workflows/ci.yaml/badge.svg)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.github.vagmcs/optimus_2.13/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.vagmcs/optimus_2.13)\n[![javadoc](https://javadoc.io/badge2/com.github.vagmcs/optimus_2.13/javadoc.svg)](https://javadoc.io/doc/com.github.vagmcs/optimus_2.13)\n![GitHub issues](https://img.shields.io/github/issues-raw/vagmcs/Optimus)\n[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)\n\nOptimus is a library for Linear and Quadratic mathematical optimization written in [Scala programming language](http://scala-lang.org).\n\n## License \n\nThis program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; See the [GNU Lesser General Public License v3 for more details](http://www.gnu.org/licenses/lgpl-3.0.en.html).\n\n## Features\n\n1. High level mathematical modeling in Scala using algebraic expressions\n  * Linear and quadratic objective and constraint expressions.\n  * Higher order expressions cannot be defined or handled by the solvers yet.\n  * Addition, subtraction and multiplication operations can be performed on expressions.\n  * Expression simplification produces the simpler form of the expression.\n2. Supports various optimization settings by using existing mathematical programming solvers\n  * Linear programming (LP)\n  * Quadratic programming (QP)\n  * Quadratic constraint quadratic programming (QCQP)\n  * Mixed integer programming (MIP)\n3. Available solvers:\n  * Open source [LpSolve](http://sourceforge.net/projects/lpsolve/) can be used for LP and MIP.\n  * Open source [oJSolver](http://ojalgo.org/) can be used for LP, QP and MIP.\n  * Proprietary solver [Gurobi 12](http://www.gurobi.com/) can be used for efficiently solving LP, QP, QCQP and MIP.\n  * Proprietary solver [Mosek 9](https://www.mosek.com/) can be used for efficiently solving LP, QP, QCQP and MIP.\n\n## How to get Optimus\n\nOptimus is published to Maven Central for Scala 2.12, 2.13 and 3.3.4! \n\nAdd the following dependencies to your SBT build file in order to get started:\n\n```scala\nlibraryDependencies ++= Seq(\n    \"com.github.vagmcs\" %% \"optimus\" % \"3.4.5\",\n    \"com.github.vagmcs\" %% \"optimus-solver-oj\" % \"3.4.5\",\n    \"com.github.vagmcs\" %% \"optimus-solver-lp\" % \"3.4.5\"\n)\n```\n\nOptionally, you can also add the following extra dependencies for proprietary solvers:\n\n```scala\n\"com.github.vagmcs\" %% \"optimus-solver-gurobi\" % \"3.4.5\"\n\"com.github.vagmcs\" %% \"optimus-solver-mosek\" % \"3.4.5\"\n```\n\nFor more information see [Building and Linking](docs/building_and_linking.md)\n\n## Documentation\n\n- [Linear Programming](docs/linear.md)\n- [Quadratic Programming](docs/quadratic.md)\n- [Mixed Integer Programming](docs/mixed_integer.md)\n- [Model Specification](docs/model_spec.md)\n\n## Contributions\n\nContributions are welcome, for details see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Reference for Scientific Publications\n\nPlease use the following BibTeX entry to cite Optimus in your papers:\n\n```\n@misc{Optimus,\n      author = {Evangelos Michelioudakis and Anastasios Skarlatidis},\n      title = {Optimus: an open-source mathematical optimization library},\n      url = {https://github.com/vagmcs/Optimus}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvagmcs%2Foptimus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvagmcs%2Foptimus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvagmcs%2Foptimus/lists"}