Go to file
2019-08-10 17:31:30 +02:00
ext_lib Ci 2018-05-23 08:36:50 +02:00
gradle/wrapper Initial commit 2016-11-15 00:38:49 -05:00
src Improved performance for gurobi and sos1-based genereral cstr generator 2019-08-10 17:31:30 +02:00
.gitignore added solver zip 2017-10-27 10:54:56 -07:00
build.gradle Improved performance for gurobi and sos1-based genereral cstr generator 2019-08-10 17:31:30 +02:00
gradle.properties.sample v0.2.1 2018-10-14 21:32:53 +02:00
gradlew Major changes to API and backend implementation, refactoring of overall project structure 2019-07-25 11:02:13 +02:00
gradlew.bat Initial commit 2016-11-15 00:38:49 -05:00
LICENSE Major changes to API and backend implementation, refactoring of overall project structure 2019-07-25 11:02:13 +02:00
README.md Major changes to API and backend implementation, refactoring of overall project structure 2019-07-25 11:02:13 +02:00
settings.gradle Initial commit 2016-11-15 00:38:49 -05:00
shippable.yml ci 2019-08-09 10:22:38 +02:00

CardyGAn Integer Linear Programming (ILP) - Library

CardyGAn ILP provides a Java interface to integer linear programming solvers (ilp) with a rich API supporting propositional combination of (integer) linear arithmetic constraints.

Compiling the project

We use gradle for building the project (https://gradle.org). Take the following steps to build the project:

  1. Create a file gradle.properties in the project root.
  2. As content of gradle.properties add the following line and adapt the path according to your local setup:
cplexJarPath=/Users/users1/Applications/IBM/ILOG/CPLEX_Studio1263/cplex/lib/cplex.jar
gurobiJarPath=/Library/gurobi800/mac64/lib/gurobi.jar
  1. In the project root execute the command gradle jar from the command line to build the library.

CPLEX-specific Setup

To use cplex solver you can either pass the native library path using the constructor or via the environment variable CPLEX_LIB_PATH. Example for setting the environment variable in Unix:

export CPLEX_LIB_PATH=/Users/user1/Applications/IBM/ILOG/CPLEX_Studio1263/cplex/bin/x86-64_osx/

Additionally you need to put the solver specific JNI jar (cplex.jar) on the classpath.

Usage

See the class src/test/java/org/cardygan/ilp/org.cardygan.ilp.api.SampleApiUsage.java for sample usage.