lumix.solvers.capabilities.LXSolverCapability¶
- class lumix.solvers.capabilities.LXSolverCapability(name, features, max_variables=2147483647, max_constraints=2147483647, supports_warmstart=False, supports_parallel=False, supports_callbacks=False)[source]¶
Describes a solver’s capabilities.
Used to: - Query what features a solver supports - Automatically select appropriate linearization methods - Provide meaningful errors when features are unavailable
- Parameters:
- __init__(name, features, max_variables=2147483647, max_constraints=2147483647, supports_warmstart=False, supports_parallel=False, supports_callbacks=False)¶
Methods
__init__(name, features[, max_variables, ...])Check if solver can handle integer variables.
Check if solver can handle quadratic objectives.
Check if solver has native indicator constraint support.
Check if solver has native SOS2 support.
Get human-readable capability description.
has_feature(feature)Check if solver has a specific feature.
Check if solver needs linearization for absolute value x.
Check if solver needs linearization for bilinear products (x * y).
Check if solver needs linearization for min/max functions.
Check if solver needs linearization for general nonlinear functions.
Attributes
-
features:
LXSolverFeature¶
- has_feature(feature)[source]¶
Check if solver has a specific feature.
- Parameters:
feature (
LXSolverFeature) – Feature to check- Return type:
- Returns:
True if solver supports the feature
- needs_linearization_for_bilinear()[source]¶
Check if solver needs linearization for bilinear products (x * y).
- Return type:
- Returns:
True if solver lacks native quadratic support
- needs_linearization_for_abs()[source]¶
Check if solver needs linearization for absolute value x.
- Return type:
- Returns:
True if solver lacks native piecewise-linear support
- needs_linearization_for_minmax()[source]¶
Check if solver needs linearization for min/max functions.
- Return type:
- Returns:
True if solver lacks native piecewise-linear support
- needs_linearization_for_nonlinear()[source]¶
Check if solver needs linearization for general nonlinear functions.
- Return type:
- Returns:
True if solver lacks native exponential cone or PWL support
- __init__(name, features, max_variables=2147483647, max_constraints=2147483647, supports_warmstart=False, supports_parallel=False, supports_callbacks=False)¶