Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a5c814be4d18e60c525d37c5b21e880b05b42e7c57b351aa3d20173521d513cf
sha512=2cf2936792c4429556fa7349069474056d5ae4ca0cf8ad3587880ebbc32cec39fad9b36df7c1ae18fa15f89fe4291bdb5a350b20d0cf84ce5ae651a77d0dd163
Description
A (fully) functional OCaml implementation of the simplex algorithm for solving systems of linear inequalities. The implementation is incremental and backtrackable. It is able to extract unsat-cores for unsatisfiable problems. Versions > 0.1 also support linear optimization.
README
Ocplib-simplex
Ocplib-simplex a is library implementing a simplex algorithm, in a functional style, for solving systems of linear inequalities and optimizing linear objective functions. The implementation is incremental and backtrackable. It is able to extract unsat-cores for unsatisfiable problems. Versions > 0.1 also support linear optimization.
Website
Ocplib-simplex's web is available at: https://ocamlpro.github.io/ocplib-simplex
Dependencies
ocplib-simplex requires 4.08.1 or higher and ocamlfind. You can use make opam-deps to install dependencies in the current switch.
Build and Install Instructions
The easiest way to install ocplib-simplex is to use OPAM:
$ opam install ocplib-simplexIf you want to install ocplib-simplex from sources, use the following instructions:
$ make opam-deps (if you are using OPAM and some deps are missing)
$ make
$ make installto compile and install ocplib-simplex on your system. You can uninstall the library with make uninstall.
Minimal Examples
Solving a system of linear inequalities: see the file tests/standalone_minimal.ml
Linear optimization: see the file tests/standalone_minimal_maximization.ml
Contributing
Don't hesitate to report encountered bugs on this Git repo's issues tracker. Please follow the [contribution guide][contributing].
TODO
- the code is not (well) documented,
- some parts of the code need factorization/simplification,
- some invariants (check unsat-core, linear optimization) are missing.
Licensing
ocplib-simplex is Copyright (C) --- OCamlPro. it is distributed under the terms of the GNU Lesser General Public License (LGPL) version 2.1 (see LICENSE file for more details).
Optional Dependencies
None
Used by (2)
-
alt-ergo-lib
>= "2.5.1" -
colibri2
>= "0.6"
Conflicts
None
Build status
Results of building ocplib-simplex with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.
Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.
| Version | OCaml 4.11 | OCaml 4.14 | OCaml 5.2 | OCaml 5.4 | OCaml 5.5 |
|---|---|---|---|---|---|
| 0.5.1 (this version) | good | good | good | good | good |
- good Package successfully built
- partial One of the dependencies failed to build
- bad Package failed to build
- n/a Package is not available in this environment
- internal Internal failure