This page is for an old version of Hexaly Optimizer. We recommend that you update your version and read the documentation for the latest stable release.

LocalSolver 12.0

Release notes

  • Introduction of a new interval decision and its related operators start, end, length and contains.

  • Introduction in LSP of the geodata module for fast computation of distance and time matrices.

  • New exclusive range operator m...n in LSP to create ranges from m (inclusive) to n (exclusive).

  • New pragma modelingset statement in LSP to freeze the modeling operators to a particular version of LocalSolver.

  • LocalSolver extends its lexicographic multiobjective capability to external functions with surrogate modeling.

  • The Linux arm64 build is now available.

New modeling operators

Interval

Interval decision variable. Operator with two integer constant operands that represent the min start and the max end of the decision. Intervals greatly simplify the modeling of scheduling problems.

Start

The start of a non-void interval. This operator takes exactly one argument of type interval and returns an integer.

End

The end of a non-void interval. This operator takes exactly one argument of type interval and returns an integer.

Length

The length of a non-void interval. This operator takes exactly one argument of type interval and returns an integer. The length of an interval is equivalent to end(interval) - start(interval). It differs from the count on void intervals since the length of a void interval is undefined whereas the count of a void interval is 0.

API Changes

Python

C++

C#

Java

  • Added LSOperator.Interval, LSOperator.Start, LSOperator.End and LSOperator.Length operators.

  • Added LSModel.interval, LSModel.start, LSModel.end and LSModel.length to create interval, start, end and length expressions respectively.

  • Added a new class LSInterval that holds an interval value.

  • Added new methods LSSolution.getIntervalValue, LSExpression.getIntervalValue, LSExpression.setIntervalValue and LSSolution.setIntervalValue to retrieve or set the value of intervals and ranges in the current solution.

  • Added a new method LSExpression.isInterval to test if an expression is a range or an interval.