ommx_openjij_adapter#

Classes#

OMMXOpenJijSAAdapter

Sampling QUBO or HUBO with Simulated Annealing (SA) by openjij.SASampler

Functions#

decode_to_samples(→ ommx.v1.Samples)

Convert openjij.Response to Samples

response_to_samples(→ ommx.v1.Samples)

Deprecated: renamed to decode_to_samples()

sample_qubo_sa(→ ommx.v1.Samples)

Deprecated: Use OMMXOpenJijSAAdapter.sample() instead

Package Contents#

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, uniform_penalty_weight: float | None = None, penalty_weights: dict[int, float] = {}, inequality_integer_slack_max_range: int = 32)#

Sampling QUBO or HUBO with Simulated Annealing (SA) by openjij.SASampler

decode(data: openjij.Response) Solution#
decode_to_samples(data: openjij.Response) Samples#

Convert openjij.Response to Samples

There is a static method decode_to_samples() that does the same thing.

decode_to_sampleset(data: openjij.Response) SampleSet#
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, uniform_penalty_weight: float | None = None, penalty_weights: dict[int, float] = {}, inequality_integer_slack_max_range: int = 32) SampleSet#
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, uniform_penalty_weight: float | None = None, penalty_weights: dict[int, float] = {}, inequality_integer_slack_max_range: int = 32) Solution#
ADDITIONAL_CAPABILITIES: frozenset[AdditionalCapability]#
beta_max: float | None = None#

maximum value of inverse temperature

beta_min: float | None = None#

minimal value of inverse temperature

inequality_integer_slack_max_range: int = 32#

Max range for integer slack variables in inequality constraints, passed to Instance.to_qubo or Instance.to_hubo

initial_state: list | dict | None = None#

initial state (parameter only used if problem is QUBO)

num_reads: int | None = None#

number of reads

num_sweeps: int | None = None#

number of sweeps

ommx_instance: Instance#

ommx.v1.Instance representing a QUBO or HUBO problem

The input instance must be a QUBO (Quadratic Unconstrained Binary Optimization) or HUBO (Higher-order Unconstrained Binary Optimization) problem, i.e.

  • All decision variables are binary

  • No constraints

  • Objective function is quadratic (QUBO) or higher (HUBO).

  • Minimization problem

You can convert an instance to QUBO or HUBO via ommx.v1.Instance.penalty_method() or other corresponding method.

penalty_weights: dict[int, float]#

Penalty weights for each constraint, passed to Instance.to_qubo or Instance.to_hubo

reinitialize_state: bool | None = None#

if true reinitialize state for each run (parameter only used if problem is QUBO)

property sampler_input: dict[tuple[int, Ellipsis], float]#
schedule: list | None = None#

list of inverse temperature (parameter only used if problem is QUBO)

seed: int | None = None#

seed for Monte Carlo algorithm

property solver_input: dict[tuple[int, Ellipsis], float]#
sparse: bool | None = None#

use sparse matrix or not (parameter only used if problem is QUBO)

uniform_penalty_weight: float | None = None#

Weight for uniform penalty, passed to Instance.to_qubo or Instance.to_hubo

updater: str | None = None#

updater algorithm

decode_to_samples(response: openjij.Response) Samples#

Convert openjij.Response to Samples

response_to_samples(response: openjij.Response) Samples#

Deprecated: renamed to decode_to_samples()

sample_qubo_sa(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) Samples#

Deprecated: Use OMMXOpenJijSAAdapter.sample() instead