Hexaly Optimizer 14.0

Modeling operators

Optional interval

Optional interval decision variable. Operator with two integer constant operands that represent the min start and the max end of the decision. Contrary to classical interval decision variables, optional intervals can be void: the value of an optional interval decision variable can either be absent (void) or included in [minStart, maxEnd). When present, start is inclusive and end is exclusive. When absent, start and end are undefined.

Presence

The presence of an interval (optional or not). This operator takes exactly one argument of type interval and returns a Boolean.

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. The CALL operator can now also be used to call a lambda function returning an array, such as f = (x, y) => array(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

Hexaly Modeler

Python

C++

C#

Java

  • Added HxOperator.OptionalInterval and HxOperator.Presence operators.

  • Added HxModel.optionalInterval and HxModel.presence to create optional interval and presence expressions respectively.

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

  • Added new method HxVersion.getLicenseMaxVersionCode to query the maximum version of Hexaly Optimizer supported by the current licence.

  • Added new method HxVersion.GetLicenseExpirationDate to query the expiration date of the current licence.

Exel module

The Hexaly Modeler has now a module to read and write Excel files. It lets you open Excel files ; create, read and write sheets ; and read or write cells individually or in batches.

For more details about the Excel module, please check out the documentation on Excel module in the standard library.