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.
sh
cargo install slp
```sh $ slp --help slp 0.1.4 SolHOP Linear Programming Solver
USAGE:
slp [FLAGS]
FLAGS: -h, --help Prints help information -p, --parallel Enable data parallelism -V, --version Prints version information
ARGS:
sh
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.
sh
slp input.txt -p
The input is provided throught stdin
.
An example of LP instance is
txt
max 2x1 + 3x2
subject to 2x1 + x2 <= 18
6x1 + 5x2 <= 60
2x1 + 5x2 <= 40
x1 >= 0
x2 >= 0
The corresponding input format is
```txt 3 2 # 3 is number of constraints and 2 is number of variables 2 3 # coefficients of objective function to be maximized: 2x1 + 3x2 2 1 18 # Constraint 1: 2x1 + x2 <= 18 6 5 60 # Constraint 2: 6x1 + 5x2 <= 60 2 5 40 # Constraint 3: 2x1 + 5x2 <= 40
```
The output of the slp
solver is sent to stdout
and it can be one of the following:
txt
INFEASIBLE
or
txt
UNBOUNDED
or
txt
OPTIMAL 28
SOLUTION 5 6
representing the objective value to be 28
and the solution as x1 = 5, x2 = 6
.