Hexaly Optimizer 14.0

Modeling operators

Contains

The CONTAINS operator can now be used on constant arrays. It can also be applied between two intervals: contains(interval1, interval2) returns true if and only if the second interval is fully contained in the first. An interval I2 is considered fully contained in I1 if it starts at or after I1’s start and ends at or before I1’s end. It will then return False if the interval expr1 is void. If the interval expr2 is void this operator will return undefined.

Sort

The SORT operator can now be applied to any collection (list, set, union, distinct, intersection). The sort operator still guarantee that the order of elements having the same key is preserved, except when the object is a set. In that case, the order of elements having the same key will be determined by their ascending values.

Call

The LAMBDA_FUNCTION operator can now return either a scalar value (boolean, integer or double), a fixed-size array, or an interval. The CALL operator can now be used to call a lambda function returning an interval, such as f = (x, y) => x + y...x - y.

New parameters

HxParam.nbDisplayedObjectives

This parameter controls the maximum number of objectives displayed in the output. Its default value is 7.

HxParam.nbDisplayedViolatedConstraints

This parameter controls the maximum number of violated constraints displayed in the output. Its default value is 6.

HxParam.warningLevel

This parameter controls the warning computation behavior with three possible levels:

  • 0: Disable warning computation

  • 1: Automatic behavior (default) - warning computation is enabled by default but may be automatically disabled for very large instances

  • 2: Force warning computation on all instances, including large ones

API Changes

Python

C++

C#

Java

  • Added new method HxCollection.addAll to add multiple values at once to a collection.