ommx_openjij_adapter#
Submodules#
Exceptions#
Raised when explicit OpenJij preparation cannot produce an input. |
Classes#
Sample an applicable Binary polynomial input with OpenJij simulated annealing. |
|
A separate Adapter input together with source-state reevaluation. |
|
User-selected settings for one OpenJij preparation operation. |
|
One failure discovered while materializing an accepted source. |
|
The Config used and four outcomes of one preparation attempt. |
|
Structural membership evidence for a preparation source. |
|
One OpenJij-specific operation recorded for preparation auditing. |
Functions#
|
Convert openjij.Response to |
Package Contents#
- exception OpenJijPreparationError(report: OpenJijPreparationReport)#
Raised when explicit OpenJij preparation cannot produce an input.
- report: OpenJijPreparationReport#
- class OMMXOpenJijSAAdapter(ommx_instance: Instance, *, beta_min: float | None = None, beta_max: float | None = None, num_sweeps: int | None = None, num_reads: int | None = None, schedule: list | None = None, initial_state: list | dict | None = None, updater: str | None = None, sparse: bool | None = None, reinitialize_state: bool | None = None, seed: int | None = None)#
Sample an applicable Binary polynomial input with OpenJij simulated annealing.
The direct Adapter input must use only Binary decision variables, have no active regular or special constraints, and be a minimization problem. Arbitrary polynomial objective degree is supported through OpenJij’s QUBO and Binary-HUBO paths.
Integer encoding, sense reversal, slack introduction, and finite constraint penalties are explicit preparation operations, not part of the declared input class. Pass
OpenJijPreparation.inputback to this Adapter as a separateommx.Instancevalue.- classmethod check_applicability(ommx_instance: Instance) AdapterApplicabilityReport#
Inspect applicability without mutating or preparing
ommx_instance.Adapter-specific preconditions run only after at least one complete input-class clause contains the instance. The hook receives an isolated copy so it cannot mutate the caller’s instance. Any explicitly transformed value is a different input and must be checked separately.
- classmethod check_preparation(ommx_instance: Instance, *, config: ommx_openjij_adapter._preparation.OpenJijPreparationConfig | None = None) ommx_openjij_adapter._preparation.OpenJijPreparationReport#
Dry-run the complete explicit preparation without mutating the input.
This is intentionally separate from
check_applicability(), which checks only the Binary, unconstrained minimization Adapter input. The 53-bit log-encoding limit describes availability of that preparation operation, not an OpenJij input-class condition and not anommx.v2.Feature. A model proven infeasible while preparing integer slack raisesInfeasibleDetected. Approximate integer slack is disabled unless the suppliedOpenJijPreparationConfigenables it.
- decode_to_samples(data: openjij.Response) Samples#
Convert openjij.Response to
SamplesThere is a static method
decode_to_samples()that does the same thing.
- classmethod prepare(ommx_instance: Instance, *, config: ommx_openjij_adapter._preparation.OpenJijPreparationConfig | None = None) ommx_openjij_adapter._preparation.OpenJijPreparation#
Produce a separate Adapter input and an auditable preparation report.
Raises
InfeasibleDetectedwhen variable bounds prove an inequality infeasible. Other preparation failures raiseOpenJijPreparationError. Approximate integer slack is used only when the suppliedOpenJijPreparationConfigenables it.
- classmethod require_applicable(ommx_instance: Instance) AdapterApplicabilityReport#
Return the report or raise
AdapterNotApplicableError.
- classmethod sample(ommx_instance: Instance, *, beta_min: float | None = None, beta_max: float | None = None, num_sweeps: int | None = None, num_reads: int | None = None, schedule: list | None = None, initial_state: list | dict | None = None, updater: str | None = None, sparse: bool | None = None, reinitialize_state: bool | None = None, seed: int | None = None, diagnostics: DiagnosticsSink | None = None) SampleSet#
Sample the exact applicable
ommx_instancepassed to the Adapter.
- classmethod solve(ommx_instance: Instance, *, beta_min: float | None = None, beta_max: float | None = None, num_sweeps: int | None = None, num_reads: int | None = None, schedule: list | None = None, initial_state: list | dict | None = None, updater: str | None = None, sparse: bool | None = None, reinitialize_state: bool | None = None, seed: int | None = None, diagnostics: DiagnosticsSink | None = None) Solution#
Return the best feasible sample from
sample().
- INPUT_CLASS: ClassVar[InstanceClass | None]#
- ommx_instance: Instance#
Isolated copy of the exact Adapter input used to evaluate returned samples.
- class OpenJijPreparation#
A separate Adapter input together with source-state reevaluation.
Values are created by
OMMXOpenJijSAAdapter.prepare(); callers cannot pair an arbitrary input with unrelated preparation evidence.- evaluate_source(sample_set: SampleSet) SampleSet#
Reevaluate input-side sample states against the source Instance.
sample_setmust have been evaluated against this preparation’sinput, which populates irrelevant and dependent source variables.
- report: OpenJijPreparationReport#
- class OpenJijPreparationConfig#
User-selected settings for one OpenJij preparation operation.
The two penalty modes are mutually exclusive. Every configured penalty weight must be finite and positive, every per-constraint key must be a valid unsigned 64-bit constraint ID, the integer slack range must fit a positive unsigned 64-bit integer, and the per-constraint mapping is snapshotted so that reports remain auditable after construction.
- class OpenJijPreparationFailure#
One failure discovered while materializing an accepted source.
- constraint_refs: frozenset[ConstraintRef]#
- expected: PreparationDiagnosticValue = None#
- observed: PreparationDiagnosticValue = None#
- class OpenJijPreparationReport#
The Config used and four outcomes of one preparation attempt.
configis the immutable settings audit. The outcome fields separately record the source check, applied steps, materialization failures, and produced-input applicability.- config: OpenJijPreparationConfig#
- input_applicability: AdapterApplicabilityReport | None = None#
- preparation_failures: tuple[OpenJijPreparationFailure, Ellipsis] = ()#
- source_check: OpenJijPreparationSourceCheck#
- steps: tuple[OpenJijPreparationStep, Ellipsis]#
- class OpenJijPreparationSourceCheck#
Structural membership evidence for a preparation source.
- source_membership: InstanceClassMembershipReport#
- class OpenJijPreparationStep#
One OpenJij-specific operation recorded for preparation auditing.
This record is not a composed mathematical guarantee. The common guarantee and policy contracts are tracked separately in OMMX issue #1111.
- constraint_refs: frozenset[ConstraintRef]#
- decode_to_samples(response: openjij.Response) Samples#
Convert openjij.Response to
Samples