ommx 3.0.0-alpha.1

Open Mathematical prograMming eXchange (OMMX)
Documentation
# Tutorial

A guided tour of the `ommx` crate's public API. Each submodule below
covers one piece of the API surface — start with
[`expressions`](crate::doc::tutorial::expressions) if this is your first
read, or jump straight into the topic you need.

## Building a problem

- [`expressions`]crate::doc::tutorial::expressions — polynomial
  expressions via [`Linear`]crate::Linear, [`Quadratic`]crate::Quadratic,
  [`Polynomial`]crate::Polynomial, and [`Function`]crate::Function.
- [`decision_variables`]crate::doc::tutorial::decision_variables  [`DecisionVariable`]crate::DecisionVariable with
  [`Kind`]crate::Kind and [`Bound`]crate::Bound.
- [`constraints`]crate::doc::tutorial::constraints  [`Constraint`]crate::Constraint and the stage-parameterized
  constraint type system.
- [`instance`]crate::doc::tutorial::instance — assembling a complete
  [`Instance`]crate::Instance.

## Working with a problem

- [`evaluate`]crate::doc::tutorial::evaluate — the
  [`Evaluate`]crate::Evaluate trait.
- [`solution`]crate::doc::tutorial::solution  [`Solution`]crate::Solution and [`SampleSet`]crate::SampleSet.
- [`substitute`]crate::doc::tutorial::substitute — the
  [`Substitute`]crate::Substitute trait.

## Infrastructure

- [`error_handling`]crate::doc::tutorial::error_handling  [`ommx::Result`]crate::Result, signal types, and the fail-site
  macros [`bail!`]crate::bail / [`error!`]crate::error! /
  [`ensure!`]crate::ensure.