All Projects → decisionbrain → cplex-scala

decisionbrain / cplex-scala

Licence: Apache-2.0, Apache-2.0 licenses found Licenses found Apache-2.0 LICENSE Apache-2.0 LICENSE.TXT
A scala library for IBM ILOG CPLEX

Programming Languages

scala
5932 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to cplex-scala

biteopt
Derivative-Free Optimization Method for Global Optimization (C++)
Stars: ✭ 91 (+355%)
Mutual labels:  constraint-programming, mixed-integer-programming
codac
Codac is a library for constraint programming over reals, trajectories and sets.
Stars: ✭ 31 (+55%)
Mutual labels:  constraint-programming
HyperGraphLib
C++ Hypergraph modelling Library using Boost and OpenMP with some algorithms, including isomorphism using Gecode.
Stars: ✭ 19 (-5%)
Mutual labels:  constraint-programming
simsttab
Simple timetabling engine for schools
Stars: ✭ 21 (+5%)
Mutual labels:  constraint-programming
pymzn
A Python wrapper for the MiniZinc tool pipeline.
Stars: ✭ 54 (+170%)
Mutual labels:  constraint-programming
GHOST
General meta-Heuristic Optimization Solving Toolkit
Stars: ✭ 28 (+40%)
Mutual labels:  constraint-programming
gibbous
Convex optimization for java and scala, built on Apache Commons Math
Stars: ✭ 17 (-15%)
Mutual labels:  constraint-programming
LocalSearchSolvers.jl
A Julia package to manage Constraint-Based Local Search (CBLS) solvers.
Stars: ✭ 18 (-10%)
Mutual labels:  constraint-programming
facile
Python constraint programming library
Stars: ✭ 21 (+5%)
Mutual labels:  constraint-programming
Decider
An Open Source .Net Constraint Programming Solver
Stars: ✭ 112 (+460%)
Mutual labels:  constraint-programming
minizinc-python
Access to all MiniZinc functionality directly from Python
Stars: ✭ 92 (+360%)
Mutual labels:  constraint-programming
monadiccp
Monadic Constraint Programming framework
Stars: ✭ 25 (+25%)
Mutual labels:  constraint-programming
ConstraintTP
Constraint Type provider is a Type provider that provides constraints over F# Types.
Stars: ✭ 12 (-40%)
Mutual labels:  constraint-programming
ordered
Entropy-controlled contexts in Python
Stars: ✭ 36 (+80%)
Mutual labels:  constraint-programming
ConstraintSolver.jl
ConstraintSolver in Julia: Blog posts ->
Stars: ✭ 107 (+435%)
Mutual labels:  constraint-programming
conjure
Conjure: The Automated Constraint Modelling Tool
Stars: ✭ 84 (+320%)
Mutual labels:  constraint-programming
pycsp3
A Python Library for modeling combinatorial constrained problems
Stars: ✭ 39 (+95%)
Mutual labels:  constraint-programming
CNApy
An integrated visual environment for metabolic modeling with common methods such as FBA, FVA and Elementary Flux Modes, and advanced features such as thermodynamic methods, extended Minimal Cut Sets, OptKnock, RobustKnock, OptCouple and more!
Stars: ✭ 27 (+35%)
Mutual labels:  constraint-programming
Optaplanner
AI constraint solver in Java to optimize the vehicle routing problem, employee rostering, task assignment, maintenance scheduling, conference scheduling and other planning problems.
Stars: ✭ 2,454 (+12170%)
Mutual labels:  constraint-programming
clpz
Constraint Logic Programming over Integers
Stars: ✭ 131 (+555%)
Mutual labels:  constraint-programming

A scala library for IBM ILOG CPLEX.

This library combines functional programming, mathematical programming and constraint programming allowing to model optimization problems with a syntax that is close to the standard presentation of these problems in textbooks and scientific papers. For instance, a constraint such as:

can be written as:

    model.add(sum (for (i <- 1 to n) yield a(i) * x(i)) <= c(j))

To get up to speed, the easiest way to start with this library is to study the examples:

  • src/examples/mp: examples of optimization models based on mathematical programming
  • src/examples/cp: examples of optimization models based on constraint programming

This library has been tested using IBM ILOG CPLEX 12.10, Scala 2.12.10 and Java JDK 8 on Windows 10 64 bits. Port to 32 bits or Linux should be fairly easy, see file build.gradle. Last revision compatible with IBM ILOG Decision Optimization Center 3.9 is release 1.2.0 (Java 6, Scala 2.11.8)

If you want to play with this library and do not have a license of CPLEX, you can download the
Community Edition of IBM ILOG CPLEX Optimization Studio

To build this library use the Gradle wrapper provided or install Gradle 2.10 and set the environment variable CPLEX_STUDIO_HOME (e.g. on windows C:\IBM\ILOG\CPLEX_Studio129).

Then do:

$ ./gradlew build

This will create the scala library in directory build/libs.

To run the tests, do:

$ ./gradlew test

Reports are generated in directory build/reports/tests.

To generate the scala docs, do:

$ ./gradlew scaladoc

The scala documentation is generated in directory build/docs/scaladoc.

To clean and rebuild the library, do:

$ ./gradlew clean build

For a complete list of Gradle tasks, do:

$ ./gradlew tasks
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].