Home

Awesome

Optimus

License: LGPL v3 Optimus workflow Maven Central javadoc GitHub issues Conventional Commits

Optimus is a library for Linear and Quadratic mathematical optimization written in Scala programming language.

License

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

Features

  1. High level mathematical modeling in Scala using algebraic expressions
  1. Supports various optimization settings by using existing mathematical programming solvers
  1. Available solvers:

How to get Optimus

Optimus is published to Maven Central for Scala 2.12, 2.13 and 3.3.4!

Add the following dependencies to your SBT build file in order to get started:

libraryDependencies ++= Seq(
    "com.github.vagmcs" %% "optimus" % "3.4.5",
    "com.github.vagmcs" %% "optimus-solver-oj" % "3.4.5",
    "com.github.vagmcs" %% "optimus-solver-lp" % "3.4.5"
)

Optionally, you can also add the following extra dependencies for proprietary solvers:

"com.github.vagmcs" %% "optimus-solver-gurobi" % "3.4.5"
"com.github.vagmcs" %% "optimus-solver-mosek" % "3.4.5"

For more information see Building and Linking

Documentation

Contributions

Contributions are welcome, for details see CONTRIBUTING.md.

Reference for Scientific Publications

Please use the following BibTeX entry to cite Optimus in your papers:

@misc{Optimus,
      author = {Evangelos Michelioudakis and Anastasios Skarlatidis},
      title = {Optimus: an open-source mathematical optimization library},
      url = {https://github.com/vagmcs/Optimus}
}