Hexaly Optimizer 13.5

Modeling operators

Intersection

Intersection operator can now be used on intervals. If the two intervals are disjoint, the empty interval is returned.

ConstArray

Constant array operator is a collection of double or integer constant elements. Unlike classical arrays, its elements are not contained in operands. Using constant arrays instead of classical arrays will reduce the number of operands in the model and improve memory usage when setting up the model.

Union

Union operator accepts n operands of type collection or integer array. The operator returns an unordered set composed of the values present in at least one of the operands.

API Changes

Hexaly Modeler

  • Added constArray() operator.

  • Added union() operator.

  • Changes the way external functions are called using the call operator. Previously each value passed to an external function corresponded to a declared argument of the function. From Hexaly 13.5, all values passed to an external function are exposed as a single argument, very similar to an array where values are indexed from 0 to n-1 and where n is the number of values passed to the external function. See hexaly.HxExternalArgumentValues for more information on how to retrieve arguments from an external function.

    It is also possible to restore the old behavior with a dedicated pragma altexternalfunction which should be placed in the first lines of any HXM file.

Python

  • Added HxOperator.CONST_ARRAY operator.

  • Added HxModel.create_const_array() to create constArray expressions.

  • Added HxOperator.UNION operator.

  • Added HxModel.union() to create union expressions.

  • Removed HxArray.isUndefined() and HxCollection.isUndefined(). These functions were introduced by mistake in Hexaly 13.0. To check whether an expression, regardless of its value type (array, collection, integer, double, interval…), is undefined, please use the existing functions HxSolution.isUndefined() or HxExpression.isUndefined() instead.

C++

C#

  • Added HxOperator.ConstArray operator.

  • Added HxModel.CreateIntConstArray to create integer constArray expressions.

  • Added HxModel.CreateDoubleConstArray to create double constArray expressions.

  • Added HxOperator.Union operator.

  • Added HxModel.Union to create union expressions.

  • Removed HxArray.isUndefined and HxCollection.isUndefined. These functions were introduced by mistake in Hexaly 13.0. To check whether an expression, regardless of its value type (array, collection, integer, double, interval…), is undefined, please use the existing functions HxSolution.isUndefined or HxExpression.isUndefined instead.

Java

  • Added HxOperator.ConstArray operator.

  • Added HxModel.createIntConstArray to create integer constArray expressions.

  • Added HxModel.createDoubleConstArray to create double constArray expressions.

  • Added HxOperator.Union operator.

  • Added HxModel.Union to create union expressions.

  • Removed HxArray.isUndefined and HxCollection.isUndefined. These functions were introduced by mistake in Hexaly 13.0. To check whether an expression, regardless of its value type (array, collection, integer, double, interval…), is undefined, please use the existing functions HxSolution.isUndefined or HxExpression.isUndefined instead.