Crates.io | slp-cli |
lib.rs | slp-cli |
version | 0.1.0 |
source | src |
created_at | 2019-11-22 13:01:32.457064 |
updated_at | 2019-11-22 13:01:32.457064 |
description | SolHOP Linear Programming Solver |
homepage | https://solhop.github.io/slp/ |
repository | https://github.com/solhop/slp-cli |
max_upload_size | |
id | 183480 |
size | 32,963 |
SolHOP Linear Programming Solver.
Currently, the simplex method is implemented. Soon ILP and MIP will be supported.
This projetct is still in development. The APIs can change a lot before the first stable release v1.0.0.
cargo install slp-cli
$ slp --help
slp 0.1.0
SolHOP Linear Programming Solver
USAGE:
slp [FLAGS] <file>
FLAGS:
-h, --help Prints help information
-p, --parallel Enable data parallelism
-r, --rat64 Use Rational64
-V, --version Prints version information
ARGS:
<file> Input file
slp input.txt
where input.txt
contains the LP instance to be solved.
If no file is provided then input is taken from stdin
.
To enable data parallelism use -p
flag.
slp input.txt -p
Input:
vars x1>=0, x2>=0
max 2x1 + 3x2
subject to 2x1 + x2 <= 18,
6x1 + 5x2 <= 60,
2x1 + 5x2 <= 40
Output:
OPTIMAL 28
SOLUTION 5 6
representing the objective value to be 28
and the solution as x1 = 5, x2 = 6
.
Input:
vars x1>=0, x2>=0
max 2x1 + 3x2
subject to 2x1 + x2 <= 18,
6x1 + 5x2 <= 60,
2x1 + 5x2 <= -40
Output:
INFEASIBLE
Input:
vars x>=0, y>=0
min 6x+3y subject to x+y>=1, 2x-y>=1, 3y<=2
Output when run using command slp input.txt
:
OPTIMAL -5
SOLUTION 0.6666666666666666 0.33333333333333337
To use Rational64 numbers, use -r
flag.
Output when run using command slp -r input.txt
:
OPTIMAL -5
SOLUTION 2/3 1/3