This is an algorithm for integer programming (also known as integer linear programming) built on the JaCoP Constraint Programming Solver (https://github.com/radsz/jacop). Read more about integer programming at https://en.wikipedia.org/wiki/Integer_programming. It's arguments are
- A String array of variable names
- An int vector c defining the cost of the returned solution via c^(T)x.
- An int array of lower bounds for the corresponding variables
- An int array of upper bounds for the corresponding variables
- An int matrix (int) that defines the matrix part of the linear constraints
- A String array denoting the nature of each constraint, either "<",">","<=", or ">=".
- An int array (int) defining the right hand side of the linear constraints.
Note that this implementation minimizes c^(T)x and uses branch-and-bound. To maximize, change the signs of the integers in c. For more information consult the JaCoP documentation at http://jacopguide.osolpro.com/guideJaCoP.html#x1-510006.