Adapter packages and input contracts#
An Adapter connects an OMMX Instance to a solver or sampler and returns an
evaluated Solution or SampleSet. The return type
does not determine the search method or its optimality guarantees. See
SolverAdapter and SamplerAdapter
for the common contract.
The Adapter comparison example constructs one model, solves
it with HiGHS and SCIP, and compares the returned values in tables and a plot.
Inspect the concrete Adapter’s INPUT_CLASS for the exact input it accepts.
The recommended preparation policy is an editable starting point; constructing
it neither changes an Instance nor guarantees that a particular problem can be
prepared. The easy solve and sample paths prepare an isolated copy.
Constructors and *_without_preparation paths require an already applicable
input. The OMMXPySCIPOptAdapter Reference has a
complete example of selecting a policy, preparing a model, and solving it
without further preparation.
Packages developed in this repository#
Until the 3.0.0 stable release, this Reference and the Book both describe
main. Follow the installation guide to
choose the latest published prerelease or install the SDK and adapters from
the same main checkout. Use main for features not yet released.
Package |
Backend |
Input and execution contract |
|---|---|---|
SCIP / PySCIPOpt |
||
HiGHS |
||
OpenJij SA / SQA |
||
Python-MIP |
A backend name is not an input class. For example,
OMMXOpenJijSAAdapter accepts unconstrained binary
polynomial minimization of arbitrary polynomial degree; it is not restricted
to QUBO. Use its declared INPUT_CLASS and recommended policy rather than
assuming that every OpenJij model must first become quadratic.
Settings such as penalty weights, tolerances, and time or sample limits remain application choices. Diagnostic and initial-state support also differ by Adapter; consult the concrete package Reference.
Collecting diagnostics#
- class ommx.adapter.DiagnosticCollector#
A collector implementing
ommx.adapter.DiagnosticsSink. Pass it as an Adapter’sdiagnosticsargument to retain reports in emission order. Thediagnosticsproperty returns the collected reports.
Integrations maintained in separate repositories#
The following projects maintain their own SDK compatibility, execution environment, authentication or license requirements, and result contracts. Consult the selected project’s release documentation for those conditions.