LocalSolver logo
is now
Hexaly logo

We're excited to share that we are moving forward. We're leaving behind the LocalSolver brand and transitioning to our new identity: Hexaly. This represents a leap forward in our mission to enable every organization to make better decisions faster when faced with operational and strategic challenges.

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.

LSExternalContext Class

class localsolver.LSExternalContext

Context of an external function. External context can be used to query and set properties of the associated external function.

If you know the bounds of your external function or if you know it cannot return a NaN value, we recommend you to specify it as LocalSolver is then able to improve its search process. But beware! If the evaluation of the function returns an unexpected value (like a value outside of the bounds), an exception will be thrown during the search.

Since:9.5
See:LSExpression.get_external_context()

Summary

Attributes
lower_bound Lower bound of the external function.
upper_bound Upper bound of the external function.
nanable True if the function can return a NaN value, false otherwise.
Methods
get_lower_bound Gets the lower bound of the exernal function.
get_upper_bound Gets the upper bound of the external function.
set_lower_bound Sets the lower bound of the external function.
set_upper_bound Sets the upper bound of the external function.
is_nanable Returns true if the function can return a NaN value.
set_nanable Sets whether or not the function can return a NaN value.

Instance methods

LSExternalContext.get_lower_bound()

Gets the lower bound of the exernal function. By default, this property is set to a large integer number or math.inf.

Returns:Lower bound of the external function.
Return type:int or double
LSExternalContext.get_upper_bound()

Gets the upper bound of the external function. By default, this property is set to a large integer number or math.inf.

Returns:Upper bound of the external function.
LSExternalContext.set_lower_bound(lower_bound)

Sets the lower bound of the external function. Only allowed in state LSState.MODELING.

Parameters:lower_bound – Lower bound of the function.
LSExternalContext.set_upper_bound(upper_bound)

Sets the upper bound of the external function. Only allowed in state LSState.MODELING.

Parameters:upper_bound – Upper bound of the function.
LSExternalContext.is_nanable()

Returns true if the function can return a NaN value. Only allowed if the external function is a double function. By default, this property is set to true.

Returns:True if the function can return a NaN value.
LSExternalContext.set_nanable(nanable)

Sets whether or not the function can return a NaN value. Only allowed if the external function is a double function. Only allowed in state LSState.MODELING.

Parameters:nanable – True if the function can return a NaN value, false otherwise.

Instance attributes

All get/set methods have their attribute counterpart. You can use them as shortcuts to improve the readability of your models and codes.

LSExternalContext.lower_bound

Lower bound of the external function. It is a shortcut for get_lower_bound() and set_lower_bound().

LSExternalContext.upper_bound

Upper bound of the external function. It is a shortcut for get_upper_bound() and set_upper_bound().

LSExternalContext.nanable

True if the function can return a NaN value, false otherwise. It is a shortcut for is_nanable() and set_nanable().