slp
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.
Install and Run
Install
Help
<file> Input
Usage
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.
Input format
The input is provided throught stdin.
An example of LP instance is
max 2x1 + 3x2
subject to 2x1 + x2 <= 18
6x1 + 5x2 <= 60
2x1 + 5x2 <= 40
x1 >= 0
x2 >= 0
The corresponding input format is
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
# x1 >= 0 and x2 >= 0 are always assumed
Output format
The output of the slp solver is sent to stdout and it can be one of the following:
INFEASIBLE
or
UNBOUNDED
or
OPTIMAL 28
SOLUTION 5 6
representing the objective value to be 28 and the solution as x1 = 5, x2 = 6.
Support for Rational LP Solver
To use Rational64 numbers, use -r flag.
Input:
3 2
-6 -3
-1 -1 -1
-2 1 -1
0 3 2
Output when run using command rsat input.txt:
OPTIMAL -5
SOLUTION 0.6666666666666666 0.33333333333333337
Output when run using command rsat -r input.txt:
OPTIMAL -5
SOLUTION 2/3 1/3