OMMX Python SDK 2.5.x#

Static Badge Static Badge

See the GitHub Releases above for full details. The following summarizes the main changes.

New Features#

NamedFunction (2.5.0, #748)#

A new NamedFunction message and corresponding Python class have been introduced for tracking auxiliary functions (costs, penalties, KPIs, etc.) alongside optimization problems. Related types EvaluatedNamedFunction and SampledNamedFunction are also added.

Named functions can be attached to Instance, and are automatically evaluated when calling Instance.evaluate, with results stored in Solution. They integrate with the pandas DataFrame export via Solution.named_functions_df.

This feature is useful for:

  • Tracking multiple objective components (e.g. cost vs. penalty breakdowns)

  • Recording domain-specific metrics alongside solutions

  • Comparing auxiliary quantities across different solver runs

Bug Fixes#

extract_decision_variables ignores parameters (2.5.0, #745)#

extract_decision_variables now ignores parameters and uses only subscripts for variable identification. Previously, variables with the same subscripts but different parameters would cause extraction failures. This is a fix for practical use cases where parameters vary across problem instances but subscripts remain stable.

Dependent variable evaluation order (2.5.1, #753)#

Dependent variables were evaluated in ID order, which fails when a lower-ID variable depends on a higher-ID one. Fixed by evaluating in topological order.