Skip to content

Releases: decisionbrain/cplex-scala

cplex-scala-1.7.0

27 Jan 14:14
Compare
Choose a tag to compare

Here are the main changes this release:

  • Port to CPLEX 12.10 and Scala 2.13
  • Port to Gradle 5.6.2
  • Method getObjectiveValue is now obsolete and replaced by method getObjValue
  • Add API for the CPLEX annotations, see methods newLongAnnotation, setAnnotation, getAnnotation...
  • Add example Benders that applies a Benders decomposition using the CPLEX annotations
  • Add functional programming API for piecewise linear functions.
  • Add example SailcoPW that uses of a piecewise linear function to create the objective.
  • Add example Transport.scala
  • Add optional parameter when creating a set of variables to specify a default value
  • Add API for MIP start, read and write solutions to file
  • Add API to redirect CPLEX info, warnings and errors to output stream
  • Add API for CPLEX aborter
  • Add API to get the MIP relative gap
  • Add functional programming API for MIP information callbacks

cplex-scala-1.6.0

30 Apr 17:04
Compare
Choose a tag to compare

Here are the changes in this release:

  • Add API for KPIs in class CpModel: see example PlantLocation.scala
  • Add methods quot in class CpModel for division and define operators '/' in class NumExpr
  • Move methods add from CpModel and MpModel to class Modeler
  • Add methods remove in class Modeler to remove object(s) from the optimization model
  • Add method square in class Modeler for quadratic programming.
  • Add methods to get the reduced cost(s), the dual(s) and the slack(s)
  • Add an first example of quadratic programming problem, see example IndefQPex1.scala

cplex-scala-1.5.2

25 Apr 10:56
Compare
Choose a tag to compare

This is a hotfix:

  • Update Gradle file build.gradle: set default values for environment variables for the Nexus.

The library is the same as in release 1.5.0.

cplex-scala-1.5.1

25 Apr 10:53
Compare
Choose a tag to compare

This is a hotfix:

  • Fix error in release notes for release 1.5.0
  • Upate file Jenkinsfile for continuous build

The library is the same as in release 1.5.0.

cplex-scala-1.5.0

18 Apr 16:36
Compare
Choose a tag to compare
  • Update Gradle wrapper to release 5.4
  • Add API for multi-objective in MpModel: see example DietMultiObj.scala
  • Define method apply in classes NumArray, IntArray and IntExprArray for element constraint: this allows to write constructs like cost = costs(supplier) where costs is an array of integer, supplier is an integer variable and cost is an integer expression that represents the cost of the supplier. See Facility.scala for a complete example.
  • Add operator * on classes NumArray, IntArray, NumVarArray and IntExprArrayfor scalar product.
  • Refactoring:
    • Add class Modeler to build optimization model: CpModel and MpModel now inherits from Modeler
    • Move many classes such as NumExpr, IntExpr, NumVar, IntVar, Objective from package com.decisoinbrain.cplex.mp and com.decisionbrain.cplex.cp to com.decisionbrain.cplex.
    • These entities are now shared and can be used to build either a mathematical programming model or a constraint
      programming model.
  • Update file build.gradle: replace dependency with oplall.jar by dependencies with cplex.jar and
    ILOG.CP.jar instead.

cplex-scala-1.4.0

05 Apr 11:47
Compare
Choose a tag to compare

README

  • Port to IBM CPLEX 12.9
  • Port to Scala 2.12.8

Constraint Programming

  • Add two new examples LearningCurve.scala and LearningCurve2.scala a scheduling problem on two alternative heterogeneous machines with sequence dependent setup times, forbidden transitions and a learning curve when changing of type. The second example is a variation where the learning curve depends not only on the current type and the previous type but also on the machine.
  • Fix bugs with the parameters timeLimit and solutionLimit of method solve of CpModel.

cplex-scala-1.3.0

29 Jun 16:46
Compare
Choose a tag to compare

README

  • Port to IBM CPLEX 12.8
  • Port to Scala 2.12.6

Constraint Programming

  • Add iterators on cumul function expression, state function, step function and piecewise linear function.
  • Add type IntSet, factory methods and iterator
  • Add API for inverse constraint and add example Talent.scala
  • Add new signature for alternative constraint with only two parameters
  • Add API on interval sequence variable: add methods getFirst, getLast, getNext and getPrev
  • Add class for IntervalSequenceVar that implements trait Iterable
  • Add example SchedState.scala : a scheduling problem on two alternative heterogeneous machines with sequence dependent setup times and forbidden transisions

cplex-scala v1.2.0

18 Mar 02:21
Compare
Choose a tag to compare

README

  • Add a link to IBM ILOG CPLEX Studio Community Edition download page in the README

Constraint Programming

  • Add state function
  • Add constraints alwaysIn, alwaysEqual, alwaysConstant and alwaysNoState on state functions
  • Add example SchedState.scala
  • Add missing precedence constraints in companion object of CpModel
  • Add constraints alwaysEqual on cumul functions
  • Add integer division on integer expression

cplex-scala v1.1.0

14 Mar 18:15
Compare
Choose a tag to compare

README

  • Use syntax highlighting for scala code blocks
  • Update README: specify version of Java JDK used for testing

Constraint Programming:

  • Add constraint forbidStart, forbidEnd, forbidExtent
  • Replace type NumToNumStepFunction with a class, define operators (+=, -=, *=, +, -...) and a proper toString method that prints the step function in a human readable format.
  • Add example SchedCalendar.

cplex-scala v1.0.1

13 Mar 18:03
Compare
Choose a tag to compare

Update README.md with new equation and support to IBM ILOG CPLEX 12.7. Update build.gradle to optionally configure maven repository.