ommx_quantum_benchmarks.qoblib
==============================

.. py:module:: ommx_quantum_benchmarks.qoblib

.. autoapi-nested-parse::

   OMMX Quantum Benchmarks - QOBLIB dataset collection.



Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/ommx_quantum_benchmarks/qoblib/qoblib/index


Classes
-------

.. autoapisummary::

   ommx_quantum_benchmarks.qoblib.BaseDataset
   ommx_quantum_benchmarks.qoblib.Marketsplit
   ommx_quantum_benchmarks.qoblib.Labs
   ommx_quantum_benchmarks.qoblib.Birkhoff
   ommx_quantum_benchmarks.qoblib.Steiner
   ommx_quantum_benchmarks.qoblib.Sports
   ommx_quantum_benchmarks.qoblib.Portfolio
   ommx_quantum_benchmarks.qoblib.IndependentSet
   ommx_quantum_benchmarks.qoblib.Network
   ommx_quantum_benchmarks.qoblib.Routing
   ommx_quantum_benchmarks.qoblib.Topology


Package Contents
----------------

.. py:class:: BaseDataset

   Bases: :py:obj:`abc.ABC`


   Base class for datasets.


   .. py:attribute:: name
      :type:  str


   .. py:attribute:: description
      :type:  str


   .. py:attribute:: model_names
      :type:  list[str]
      :value: []



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


   .. py:method:: __post_init__() -> None

      Assert the member variables.



   .. py:method:: get_instance_url(model_name: str, instance_name: str) -> str

      Get the URL of the instance data specified by the given model and instance names.

      :param model_name: a model name.
      :type model_name: str
      :param instance_name: an instance name.
      :type instance_name: str

      :raises ValueError: if the given model name is not valid.

      :returns: the URL of the instance data.
      :rtype: str



   .. py:method:: get_experiment(model_name: str, instance_name: str) -> minto.Experiment

      Get OMMX data for a specific dataset from the Github Packages.

      :param model_name: The name of the model.
      :type model_name: str
      :param instance_name: The name of the instance.
      :type instance_name: str

      :returns: The Minto experiment containing OMMX data.
      :rtype: minto.Experiment



   .. py:method:: __call__(model_name: str, instance_name: str) -> tuple[ommx.v1.Instance, ommx.v1.Solution]

      Get the OMMX instance and solution for a specific Labs dataset.

      :param instance_name: The name of the instance.
      :type instance_name: str
      :param model: The model to use.
      :type model: str

      :returns: The OMMX instance and solution.
      :rtype: tuple[ommx.v1.Instance, ommx.v1.Solution]



.. py:class:: Marketsplit

   Bases: :py:obj:`BaseDataset`


   Class representing a market split dataset.


   .. py:attribute:: name
      :type:  str
      :value: '01_marketsplit'



   .. py:attribute:: description
      :type:  str
      :value: 'Marketsplit dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['binary_linear', 'binary_unconstrained']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: Labs

   Bases: :py:obj:`BaseDataset`


   Class representing a labs dataset.


   .. py:attribute:: name
      :type:  str
      :value: '02_labs'



   .. py:attribute:: description
      :type:  str
      :value: 'Labs dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['integer', 'quadratic_unconstrained']



   .. py:attribute:: available_instances
      :type:  Final[dict[str, list[str]]]


.. py:class:: Birkhoff

   Bases: :py:obj:`BaseDataset`


   Class representing a Birkhoff dataset.


   .. py:attribute:: name
      :type:  str
      :value: '03_birkhoff'



   .. py:attribute:: description
      :type:  str
      :value: 'Birkhoff dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['integer_linear']



   .. py:attribute:: available_instances
      :type:  Final[dict[str, list[str]]]


.. py:class:: Steiner

   Bases: :py:obj:`BaseDataset`


   Class representing a Steiner dataset.


   .. py:attribute:: name
      :type:  str
      :value: '04_steiner'



   .. py:attribute:: description
      :type:  str
      :value: 'Steiner dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['integer_linear']



   .. py:attribute:: available_instances
      :type:  Final[dict[str, list[str]]]


.. py:class:: Sports

   Bases: :py:obj:`BaseDataset`


   Class representing a Sports dataset.


   .. py:attribute:: name
      :type:  str
      :value: '05_sports'



   .. py:attribute:: description
      :type:  str
      :value: 'Sports dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['mixed_integer_linear']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: Portfolio

   Bases: :py:obj:`BaseDataset`


   Class representing a Portfolio dataset.


   .. py:attribute:: name
      :type:  str
      :value: '06_portfolio'



   .. py:attribute:: description
      :type:  str
      :value: 'Portfolio dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['binary_quadratic_programming', 'unconstrained_quadratic_optimization']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: IndependentSet

   Bases: :py:obj:`BaseDataset`


   Class representing an Independent Set dataset.


   .. py:attribute:: name
      :type:  str
      :value: '07_independentset'



   .. py:attribute:: description
      :type:  str
      :value: 'Independent Set dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['binary_linear', 'binary_unconstrained']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: Network

   Bases: :py:obj:`BaseDataset`


   Class representing a Network dataset.


   .. py:attribute:: name
      :type:  str
      :value: '08_network'



   .. py:attribute:: description
      :type:  str
      :value: 'Network dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['integer_lp']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: Routing

   Bases: :py:obj:`BaseDataset`


   Class representing a Routing dataset.


   .. py:attribute:: name
      :type:  str
      :value: '09_routing'



   .. py:attribute:: description
      :type:  str
      :value: 'Routing dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['integer_linear']



   .. py:attribute:: available_instances
      :type:  dict[str, list[str]]


.. py:class:: Topology

   Bases: :py:obj:`BaseDataset`


   Class representing a Topology dataset.


   .. py:attribute:: name
      :type:  str
      :value: '10_topology'



   .. py:attribute:: description
      :type:  str
      :value: 'Topology dataset in ommx format, originally provided by...



   .. py:attribute:: model_names
      :type:  list[str]
      :value: ['flow_mip', 'seidel_linear', 'seidel_quadratic']



   .. py:attribute:: available_instances
      :type:  Final[dict[str, list[str]]]


