Skip to main content

Crate ommx

Crate ommx 

Source
Expand description

§Rust SDK for OMMX (Open Mathematics prograMming eXchange)

This crate provides native Rust types and operations for mathematical optimization problems. It offers type-safe, high-performance implementations with convenient macros for expression building.

See doc::tutorial for a guided walkthrough of the public API, and doc::migration_guide / doc::release_note for version-specific notes.

Re-exports§

pub use error::*;
pub use parse::*;

Modules§

annotation_keys
Flat annotation keys defined by OMMX.
artifact
OMMX Artifact storage and exchange.
dataset
Dataset for mathematical programming problems distributed as OMMX Artifact.
doc
Supplementary documentation bundled with the crate.
error
Crate-wide error type and diagnostics-emitting macros.
experiment
Experiment / Run session model.
mps
Parse MPS format
parse
qplib
Parser for the QPLIB format
random
Random generation and proptest support for OMMX domain types
v1
Module created from ommx.v1 proto files
v2
Module created from ommx.v2 proto files.

Macros§

assign
Creates an crate::AcyclicAssignments from assignment expressions.
bail
Emit a tracing::error! event and short-circuit the current function with an anyhow::Error built from the same format string.
coeff
Creates a crate::Coefficient from a floating-point expression.
ensure
Short-circuit if cond is false. Mirrors crate::bail! syntactically.
error
Emit a tracing::error! event and build an anyhow::Error inline (for use in .ok_or_else(|| ...) and similar).
linear
Creates a crate::LinearMonomial from a variable ID expression.
monomial
Creates a crate::MonomialDyn from variable ID expressions.
quadratic
Creates a crate::QuadraticMonomial from variable ID expressions.
variable_ids
Creates a crate::VariableIDSet from variable ID expressions.

Structs§

ATol
Absolute tolerance
AcyclicAssignments
Represents a set of assignment rules (VariableID -> Function) that has been validated to be free of any circular dependencies.
BinaryIdPair
ID pair for QUBO problems
BinaryIds
Bound
Bound of a decision variable
Coefficient
Coefficient of polynomial terms.
Constraint
A constraint parameterized by its lifecycle stage.
ConstraintCollection
A collection of active and removed constraints of the same type.
ConstraintContext
Constraint context outside the intrinsic mathematical constraint.
ConstraintContextStore
ID-keyed storage for constraint labels and transformation provenance.
ConstraintID
ID for constraint
ConstraintIDParameters
ConstraintStats
Statistics about constraints in an instance.
Created
The created stage, before evaluation.
CreatedData
Data carried by a regular constraint in the Created stage.
CreatedDecisionVariableColumns
Definition-stage sparse columns.
DecisionVariable
Row data for a decision variable table.
DecisionVariableStats
Statistics about decision variables in an instance.
DecisionVariableTable
Owner of decision-variable rows, modeling labels, and stage-specific columns.
DecisionVariableUsage
Reverse-usage view tied to the lifetime of an Instance.
DecisionVariableUsageEntry
Reverse-usage entry for one used decision variable.
Degree
DuplicatedSampleIDError
A sample ID already present in a collection or repeated in one append input.
Evaluated
The evaluated stage, after evaluation against a single state.
EvaluatedCollection
A collection of evaluated constraints of a single type.
EvaluatedData
Data carried by a constraint in the Evaluated stage.
EvaluatedDecisionVariable
Single evaluation result with data integrity guarantees
EvaluatedDecisionVariableColumns
Empty column set for evaluated decision-variable tables.
EvaluatedNamedFunction
ommx.v1.EvaluatedNamedFunction with validated, typed fields.
ExactIntegerSlackUnavailable
Signal returned when exact integer-slack conversion is structurally valid but cannot construct an exact finite encoding.
FormattedFunction
Result of context-aware function formatting.
FunctionFormatOptions
Options for formatting a Function with an instance-provided modeling context.
InconsistentDependentValue
Signal that a dependent-variable assertion conflicts with its evaluated value.
IndicatorConstraint
An indicator constraint: indicator_variable = 1 → f(x) <= 0 (or = 0).
IndicatorConstraintID
ID for indicator constraints, independent from regular ConstraintID.
IndicatorEvaluatedData
Data carried by an indicator constraint in the Evaluated stage.
IndicatorSampledData
Data carried by an indicator constraint in the Sampled stage.
Instance
Instance, represents a mathematical optimization problem.
InstanceBuilder
Builder for creating Instance with validation.
InstanceClass
A set of Instance values represented as a finite union of InstanceClassClause values.
InstanceClassClause
One conjunctive clause in an InstanceClass.
InstanceClassClauseReport
Membership result for one conjunctive clause.
InstanceClassMembershipReport
Side-effect-free InstanceClass membership report.
InstanceParameters
Parameters for Instance generation.
InstanceStats
Statistics about an optimization problem instance.
IntegerSlackPreparation
Preparation that introduces Integer slack variables into active regular inequalities.
InvalidDegreeError
InvalidPenaltyWeight
Signal returned when a fixed penalty weight is outside its numeric domain.
KindParameters
LinearParameters
MemoryProfile
Logical memory profile of a value.
MissingStateEntries
Signal that an evaluation state omits values required by the evaluated object.
ModelingLabel
Structured label that preserves the element’s original modeling context.
ModelingLabelStore
ID-keyed Struct-of-Arrays storage for ModelingLabel.
MonomialDyn
A sorted list of decision variable and parameter IDs
NamedFunction
A named function represents an arbitrary mathematical function with an associated modeling label.
NamedFunctionID
ID for named function
NamedFunctionIDParameters
NamedFunctionTable
Owner of named-function rows and their modeling labels.
OneHotConstraint
A one-hot constraint: exactly one variable in variables must be 1, the rest must be 0.
OneHotConstraintID
ID for one-hot constraints, independent from regular ConstraintID.
OneHotCreatedData
Data carried by a one-hot constraint in the Created stage.
OneHotEvaluatedData
Data carried by a one-hot constraint in the Evaluated stage.
OneHotSampledData
Data carried by a one-hot constraint in the Sampled stage.
ParameterIDCollision
Signal that a decision-variable ID is already owned by a parameter in a ParametricInstance.
ParameterTable
Owner of parameter IDs and their modeling labels.
ParametricInstance
Optimization problem instance with parameters
ParametricInstanceBuilder
Builder for creating ParametricInstance with validation.
PolynomialBase
Base struct for Linear and other polynomials
PolynomialParameters
PreparationPolicy
Optional Preparation phases interpreted by Instance::prepare.
PreparationTargetNotReached
Signal returned when configured Preparation phases are exhausted before the target InstanceClass contains the Instance.
QuadraticParameters
RemovedReason
Reason why a constraint was removed/relaxed.
SampleID
SampleSet
Multiple sample solution results with deduplication
SampleSetBuilder
Builder for creating SampleSet with validation.
Sampled
SampledCollection
A collection of sampled constraints of a single type.
SampledData
Data carried by a constraint in the Sampled stage.
SampledDecisionVariable
Multiple sample evaluation results with deduplication
SampledDecisionVariableColumns
Empty column set for sampled decision-variable tables.
SampledNamedFunction
Multiple sample evaluation results with deduplication.
SampledStage
The sampled stage, after evaluation against multiple samples.
Solution
Single solution result with data integrity guarantees
SolutionBuilder
Builder for creating Solution with validation.
Sos1Constraint
A SOS1 (Special Ordered Set type 1) constraint: at most one variable can be non-zero.
Sos1ConstraintID
ID for SOS1 constraints, independent from regular ConstraintID.
Sos1CreatedData
Data carried by a SOS1 constraint in the Created stage.
Sos1EvaluatedData
Data carried by a SOS1 constraint in the Evaluated stage.
Sos1SampledData
Data carried by a SOS1 constraint in the Sampled stage.
Term
UnknownStateEntries
Signal that an evaluation state contains variables outside the evaluated instance.
UnverifiableDependentAssertion
Signal that a dependent-variable assertion cannot yet be verified.
VariableID
ID for decision variable and parameter.
VariableIDPair
VariableStatsByKind
Statistics about decision variables categorized by kind.
VariableStatsByUsage
Statistics about decision variables categorized by usage.

Enums§

AtolError
Error produced when constructing an ATol or updating its default.
BoundError
CoefficientError
ContentFactorError
Failures while finding a factor that makes polynomial coefficients integers.
DecisionVariableError
DecisionVariableRole
Role of a decision variable in an Instance.
DegreeBound
Cumulative polynomial-degree bound in an InstanceClassClause.
Equality
Constraint equality.
FixedPenaltyPreparation
Fixed-weight penalty preparation of active regular constraints.
Function
A real-valued function of decision variables used for objective and constraint functions.
InfeasibleDetected
Error type for when the instance is proofed to be infeasible
InstanceClassMismatch
One reason an Instance does not belong to an InstanceClassClause.
InstanceSpace
IntegerEncodingPreparation
Preparation of currently used Integer decision variables.
Kind
LinearMonomial
Linear function only contains monomial of degree 1 or constant
LogEncodingUnavailable
Reason that Instance::log_encode cannot construct an exact binary representation for an otherwise valid Integer encoding request.
OneHotConstraintError
Validation failures for one-hot constraints.
PropagateOutcome
Outcome of Propagate::propagate.
Provenance
One step in a constraint’s transformation history.
QuadraticMonomial
QuadraticParseError
SampleSetError
Error occurred during SampleSet validation
Sense
SensePreparation
Preparation of the optimization sense.
SolutionError
Error occurred during Solution validation
Sos1ConstraintError
Validation failures for SOS1 constraints.
SpecialConstraintKind
A special constraint family that can be explicitly lowered to regular constraints.
SpecialConstraintPreparation
Preparation of active special constraints.
SubstitutionError
Error types that can occur during substitution operations.

Constants§

CURRENT_FORMAT_VERSION
The format_version this SDK produces and the maximum it can read.

Traits§

ConstraintType
A type family for constraints, mapping each lifecycle stage to a concrete type.
DecisionVariableTableStage
Maps a lifecycle stage to DecisionVariableTable rows and sidecar columns.
Evaluate
Evaluate with a State
EvaluatedConstraintBehavior
Common behavior for an evaluated constraint (single state evaluation result).
FlatAnnotations
Domain-level view of OMMX flat annotations.
IDType
Marker trait for ID types used throughout the crate.
Message
A Protocol Buffers message.
Monomial
Monomial, without coefficient
Propagate
Unit propagation trait for constraint types.
SampledConstraintBehavior
Common behavior for a sampled constraint (multi-sample evaluation result).
Stage
Trait that defines the stage-specific data a constraint carries at each lifecycle phase.
Substitute
A trait for substituting decision variables with other functions in mathematical expressions.

Functions§

arbitrary_constraints
arbitrary_decision_variables
arbitrary_named_functions
arbitrary_unique_variable_ids
is_reserved_annotation_key
Return true when an annotation key is reserved for OMMX-defined metadata.
substitute
In-place version of Substitute::substitute.
substitute_acyclic
In-place version of Substitute::substitute_acyclic.
substitute_one
In-place version of Substitute::substitute_one.

Type Aliases§

Bounds
Bound for each decision variable
CoefficientArithmeticResult
Result of coefficient arithmetic.
DecisionVariableLabel
Modeling label for decision variables.
EvaluatedConstraint
Type alias for an evaluated constraint.
EvaluatedDecisionVariableTable
Evaluated-stage decision-variable table used by crate::Solution.
EvaluatedIndicatorConstraint
EvaluatedOneHotConstraint
EvaluatedSos1Constraint
Linear
NamedFunctionLabel
Modeling label for named functions.
NamedFunctionLabelStore
ParameterLabel
Modeling label for parametric-instance parameters.
ParameterLabelStore
Per-parameter modeling-label store.
Polynomial
Quadratic
SampleIDSet
SampledConstraint
Type alias for a sampled constraint.
SampledDecisionVariableTable
Sampled-stage decision-variable table used by crate::SampleSet.
SampledIndicatorConstraint
SampledOneHotConstraint
SampledSos1Constraint
SpecialConstraintKinds
A set of SpecialConstraintKind transformation selectors.
VariableIDSet
VariableLabelStore

Derive Macros§

Message